@infernus/core 0.9.3 → 0.10.0-beta.10

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/bundle.js CHANGED
@@ -1 +1 @@
1
- "use strict";var De=require("iconv-lite"),yt=require("pino"),O=require("lodash"),o=require("@infernus/streamer"),c=require("@infernus/wrapper");const _=yt({transport:{target:"pino-pretty",options:{translateTime:"SYS:standard",ignore:"pid,hostname"}}});process.on("uncaughtException",e=>{_.error(e),process.exit(1)}),process.on("unhandledRejection",e=>{if(e instanceof Error){_.warn(e);return}_.warn(new Error(JSON.stringify(e)))});class I{constructor(t,n){this.defaultLocale=t,this.locales=n,this.defaultLocale=O.snakeCase(t),this.locales=I.snakeLocaleKeys(n)}addLocales=t=>{O.merge(this.locales,I.snakeLocaleKeys(t))};removeLocales=(...t)=>{this.locales=O.omit(this.locales,t)};$t=(t,n,r=this.defaultLocale)=>{const i=this.locales[O.snakeCase(r)],a=O.get(this.locales[this.defaultLocale],t),s=O.get(i,t,a);if(s===void 0)return _.warn(`[i18n]: cannot find ${r}["${t}"]`),"undefined";if(typeof s!="string")return JSON.stringify(s);let l=s;if(n&&n.length){const h=/%s/i;for(let u=0;u<n.length&&l.match(h)!==null;u++)l=l.replace(h,n[u])}return l};static isValidate(t){De.encodingExists(t)||(_.fatal(`[i18n]: unknown charset ${t}`),process.exit(1))}static encodeToBuf(t,n){return I.isValidate(n),[...De.encode(t,n),0]}static decodeFromBuf(t,n){I.isValidate(n);const r=t instanceof Buffer?t:Buffer.from(t);return De.decode(r,n)}static getValidStr(t){return t.slice(0,t.indexOf(0))}static snakeLocaleKeys(t){return O.mapKeys(t,(n,r)=>O.snakeCase(r))}}var Ge=(e=>(e[e.DOWNLOAD_REQUEST_EMPTY=0]="DOWNLOAD_REQUEST_EMPTY",e[e.DOWNLOAD_REQUEST_MODEL_FILE=1]="DOWNLOAD_REQUEST_MODEL_FILE",e[e.DOWNLOAD_REQUEST_TEXTURE_FILE=2]="DOWNLOAD_REQUEST_TEXTURE_FILE",e))(Ge||{}),Me=(e=>(e[e.SCOREBOARD=0]="SCOREBOARD",e))(Me||{}),Le=(e=>(e[e.MSGBOX=0]="MSGBOX",e[e.INPUT=1]="INPUT",e[e.LIST=2]="LIST",e[e.PASSWORD=3]="PASSWORD",e[e.TABLIST=4]="TABLIST",e[e.TABLIST_HEADERS=5]="TABLIST_HEADERS",e))(Le||{}),Fe=(e=>(e[e.CANCEL=0]="CANCEL",e[e.FINAL=1]="FINAL",e[e.UPDATE=2]="UPDATE",e))(Fe||{}),Ne=(e=>(e[e.NO_ACTION=0]="NO_ACTION",e[e.DISCONNECT_ASAP=1]="DISCONNECT_ASAP",e[e.DISCONNECT_ASAP_SILENTLY=2]="DISCONNECT_ASAP_SILENTLY",e[e.DISCONNECT_ON_NO_ACK=3]="DISCONNECT_ON_NO_ACK",e[e.REQUESTED_CONNECTION=4]="REQUESTED_CONNECTION",e[e.HANDLING_CONNECTION_REQUEST=5]="HANDLING_CONNECTION_REQUEST",e[e.UNVERIFIED_SENDER=6]="UNVERIFIED_SENDER",e[e.SET_ENCRYPTION_ON_MULTIPLE_16_BYTE_PACKET=7]="SET_ENCRYPTION_ON_MULTIPLE_16_BYTE_PACKET",e[e.CONNECTED=8]="CONNECTED",e))(Ne||{}),C=(e=>(e[e.NO_TEAM=255]="NO_TEAM",e[e.PLAYER_ID=65535]="PLAYER_ID",e[e.VEHICLE_ID=65535]="VEHICLE_ID",e[e.ACTOR_ID=65535]="ACTOR_ID",e[e.OBJECT_ID=65535]="OBJECT_ID",e[e.MENU=255]="MENU",e[e.TEXT_DRAW=65535]="TEXT_DRAW",e[e.PLAYER_TEXT_DRAW=65535]="PLAYER_TEXT_DRAW",e[e.GANG_ZONE=-1]="GANG_ZONE",e[e._3DTEXT_ID=65535]="_3DTEXT_ID",e[e.PLAYER_3DTEXT_ID=65535]="PLAYER_3DTEXT_ID",e))(C||{}),ve=(e=>(e[e.ACTION=1]="ACTION",e[e.CROUCH=2]="CROUCH",e[e.FIRE=4]="FIRE",e[e.SPRINT=8]="SPRINT",e[e.SECONDARY_ATTACK=16]="SECONDARY_ATTACK",e[e.JUMP=32]="JUMP",e[e.LOOK_RIGHT=64]="LOOK_RIGHT",e[e.HANDBRAKE=128]="HANDBRAKE",e[e.LOOK_LEFT=256]="LOOK_LEFT",e[e.SUBMISSION=512]="SUBMISSION",e[e.LOOK_BEHIND=512]="LOOK_BEHIND",e[e.WALK=1024]="WALK",e[e.ANALOG_UP=2048]="ANALOG_UP",e[e.ANALOG_DOWN=4096]="ANALOG_DOWN",e[e.ANALOG_LEFT=8192]="ANALOG_LEFT",e[e.ANALOG_RIGHT=16384]="ANALOG_RIGHT",e[e.YES=65536]="YES",e[e.NO=131072]="NO",e[e.CTRL_BACK=262144]="CTRL_BACK",e[e.KEY_UP=-128]="KEY_UP",e[e.KEY_DOWN=128]="KEY_DOWN",e[e.KEY_LEFT=-128]="KEY_LEFT",e[e.KEY_RIGHT=128]="KEY_RIGHT",e))(ve||{}),B=(e=>(e[e.MAX_PLAYER_NAME=24]="MAX_PLAYER_NAME",e[e.MAX_PLAYERS=1e3]="MAX_PLAYERS",e[e.MAX_VEHICLES=2e3]="MAX_VEHICLES",e[e.MAX_ACTORS=1e3]="MAX_ACTORS",e[e.MAX_OBJECTS=1e3]="MAX_OBJECTS",e[e.MAX_GANG_ZONES=1024]="MAX_GANG_ZONES",e[e.MAX_TEXT_DRAWS=2048]="MAX_TEXT_DRAWS",e[e.MAX_PLAYER_TEXT_DRAWS=256]="MAX_PLAYER_TEXT_DRAWS",e[e.MAX_MENUS=128]="MAX_MENUS",e[e.MAX_MENU_ROW=12]="MAX_MENU_ROW",e[e.MAX_MENU_COL=2]="MAX_MENU_COL",e[e.MAX_3DTEXT_GLOBAL=1024]="MAX_3DTEXT_GLOBAL",e[e.MAX_3DTEXT_PLAYER=1024]="MAX_3DTEXT_PLAYER",e[e.MAX_PICKUPS=4096]="MAX_PICKUPS",e[e.MAX_PLAYER_ATTACHED_OBJECTS=10]="MAX_PLAYER_ATTACHED_OBJECTS",e[e.MAX_CHATBUBBLE_LENGTH=144]="MAX_CHATBUBBLE_LENGTH",e))(B||{}),He=(e=>(e[e.OFF=0]="OFF",e[e.GLOBAL=1]="GLOBAL",e[e.STREAMED=2]="STREAMED",e))(He||{}),xe=(e=>(e[e.NONE=1]="NONE",e[e.DRIVER=2]="DRIVER",e[e.ONFOOT=3]="ONFOOT",e))(xe||{}),w=(e=>(e[e.none=0]="none",e[e.start=1]="start",e[e.pause=2]="pause",e))(w||{}),Ve=(e=>(e[e._32x32=10]="_32x32",e[e._64x32=20]="_64x32",e[e._64x64=30]="_64x64",e[e._128x32=40]="_128x32",e[e._128x64=50]="_128x64",e[e._128x128=60]="_128x128",e[e._256x32=70]="_256x32",e[e._256x64=80]="_256x64",e[e._256x128=90]="_256x128",e[e._256x256=100]="_256x256",e[e._512x64=110]="_512x64",e[e._512x128=120]="_512x128",e[e._512x256=130]="_512x256",e[e._512x512=140]="_512x512",e))(Ve||{}),Ue=(e=>(e[e.LEFT=0]="LEFT",e[e.CENTER=1]="CENTER",e[e.RIGHT=2]="RIGHT",e))(Ue||{}),We=(e=>(e[e.GLOBAL_OBJECT=1]="GLOBAL_OBJECT",e[e.PLAYER_OBJECT=2]="PLAYER_OBJECT",e))(We||{}),Ke=(e=>(e[e.NORMAL=0]="NORMAL",e[e.BOXING=1]="BOXING",e[e.KUNGFU=2]="KUNGFU",e[e.KNEEHEAD=3]="KNEEHEAD",e[e.GRABKICK=4]="GRABKICK",e[e.ELBOW=5]="ELBOW",e))(Ke||{}),je=(e=>(e[e.LOCAL=0]="LOCAL",e[e.GLOBAL=1]="GLOBAL",e[e.LOCAL_CHECKPOINT=2]="LOCAL_CHECKPOINT",e[e.GLOBAL_CHECKPOINT=3]="GLOBAL_CHECKPOINT",e))(je||{}),oe=(e=>(e[e.MOVE=1]="MOVE",e[e.CUT=2]="CUT",e))(oe||{}),Ze=(e=>(e[e.BEHINDCAR=3]="BEHINDCAR",e[e.FOLLOWPED=4]="FOLLOWPED",e[e.SNIPER=7]="SNIPER",e[e.ROCKETLAUNCHER=8]="ROCKETLAUNCHER",e[e.FIXED=15]="FIXED",e[e._1STPERSON=16]="_1STPERSON",e[e.CAM_ON_A_STRING=18]="CAM_ON_A_STRING",e[e.BEHINDBOAT=22]="BEHINDBOAT",e[e.CAMERA=46]="CAMERA",e[e.ROCKETLAUNCHER_HS=51]="ROCKETLAUNCHER_HS",e[e.AIMWEAPON=53]="AIMWEAPON",e[e.AIMWEAPON_FROMCAR=55]="AIMWEAPON_FROMCAR",e[e.DW_HELI_CHASE=56]="DW_HELI_CHASE",e[e.DW_CAM_MAN=57]="DW_CAM_MAN",e[e.DW_BIRDY=58]="DW_BIRDY",e[e.DW_PLANE_SPOTTER=59]="DW_PLANE_SPOTTER",e[e.DW_PLANECAM1=62]="DW_PLANECAM1",e[e.DW_PLANECAM2=63]="DW_PLANECAM2",e[e.DW_PLANECAM3=64]="DW_PLANECAM3",e))(Ze||{}),le=(e=>(e[e.NORMAL=1]="NORMAL",e[e.FIXED=2]="FIXED",e[e.SIDE=3]="SIDE",e))(le||{}),v=(e=>(e[e.NONE=0]="NONE",e[e.ONFOOT=1]="ONFOOT",e[e.DRIVER=2]="DRIVER",e[e.PASSENGER=3]="PASSENGER",e[e.EXIT_VEHICLE=4]="EXIT_VEHICLE",e[e.ENTER_VEHICLE_DRIVER=5]="ENTER_VEHICLE_DRIVER",e[e.ENTER_VEHICLE_PASSENGER=6]="ENTER_VEHICLE_PASSENGER",e[e.WASTED=7]="WASTED",e[e.SPAWNED=8]="SPAWNED",e[e.SPECTATING=9]="SPECTATING",e))(v||{}),ze=(e=>(e[e.TORSO=3]="TORSO",e[e.GROIN=4]="GROIN",e[e.LEFT_ARM=5]="LEFT_ARM",e[e.RIGHT_ARM=6]="RIGHT_ARM",e[e.LEFT_LEG=7]="LEFT_LEG",e[e.RIGHT_LEG=8]="RIGHT_LEG",e[e.HEAD=9]="HEAD",e))(ze||{}),Xe=(e=>(e[e.Spine=1]="Spine",e[e.Head=2]="Head",e[e.LeftUpperArm=3]="LeftUpperArm",e[e.RightUpperArm=4]="RightUpperArm",e[e.LeftHand=5]="LeftHand",e[e.RightHand=6]="RightHand",e[e.LeftThigh=7]="LeftThigh",e[e.RightThigh=8]="RightThigh",e[e.LeftFoot=9]="LeftFoot",e[e.RightFoot=10]="RightFoot",e[e.RightCalf=11]="RightCalf",e[e.LeftCalf=12]="LeftCalf",e[e.LeftForearm=13]="LeftForearm",e[e.RightForearm=14]="RightForearm",e[e.LeftClavicle=15]="LeftClavicle",e[e.RightClavicle=16]="RightClavicle",e[e.Neck=17]="Neck",e[e.Jaw=18]="Jaw",e))(Xe||{}),Re=(e=>(e[e.NONE=0]="NONE",e[e.DUCK=1]="DUCK",e[e.USEJETPACK=2]="USEJETPACK",e[e.ENTER_VEHICLE=3]="ENTER_VEHICLE",e[e.EXIT_VEHICLE=4]="EXIT_VEHICLE",e[e.DANCE1=5]="DANCE1",e[e.DANCE2=6]="DANCE2",e[e.DANCE3=7]="DANCE3",e[e.DANCE4=8]="DANCE4",e[e.HANDSUP=10]="HANDSUP",e[e.USECELLPHONE=11]="USECELLPHONE",e[e.SITTING=12]="SITTING",e[e.STOPUSECELLPHONE=13]="STOPUSECELLPHONE",e[e.DRINK_BEER=20]="DRINK_BEER",e[e.SMOKE_CIGGY=21]="SMOKE_CIGGY",e[e.DRINK_WINE=22]="DRINK_WINE",e[e.DRINK_SPRUNK=23]="DRINK_SPRUNK",e[e.CUFFED=24]="CUFFED",e[e.CARRY=25]="CARRY",e[e.PISSING=68]="PISSING",e))(Re||{}),z=(e=>(e[e.FONT_0=0]="FONT_0",e[e.FONT_1=1]="FONT_1",e[e.FONT_2=2]="FONT_2",e[e.FONT_3=3]="FONT_3",e[e.SPRITE_DRAW=4]="SPRITE_DRAW",e[e.MODEL_PREVIEW=5]="MODEL_PREVIEW",e[e.BANK=0]="BANK",e[e.STANDARD=1]="STANDARD",e[e.SPACEAGE=2]="SPACEAGE",e[e.HEADING=3]="HEADING",e[e.BECKETT_REGULAR=0]="BECKETT_REGULAR",e[e.AHARONI_BOLD=1]="AHARONI_BOLD",e[e.BANK_GOTHIC=2]="BANK_GOTHIC",e[e.PRICEDOWN=3]="PRICEDOWN",e[e.SPRITE=4]="SPRITE",e[e.PREVIEW=5]="PREVIEW",e))(z||{}),Ye=(e=>(e[e.LEFT=1]="LEFT",e[e.CENTER=2]="CENTER",e[e.RIGHT=3]="RIGHT",e))(Ye||{}),Je=(e=>(e[e.UNKNOWN_CARMODTYPE=-1]="UNKNOWN_CARMODTYPE",e[e.CARMODTYPE_NONE=-1]="CARMODTYPE_NONE",e[e.SPOILER=0]="SPOILER",e[e.HOOD=1]="HOOD",e[e.ROOF=2]="ROOF",e[e.SIDESKIRT=3]="SIDESKIRT",e[e.LAMPS=4]="LAMPS",e[e.NITRO=5]="NITRO",e[e.EXHAUST=6]="EXHAUST",e[e.WHEELS=7]="WHEELS",e[e.STEREO=8]="STEREO",e[e.HYDRAULICS=9]="HYDRAULICS",e[e.FRONT_BUMPER=10]="FRONT_BUMPER",e[e.REAR_BUMPER=11]="REAR_BUMPER",e[e.VENT_RIGHT=12]="VENT_RIGHT",e[e.VENT_LEFT=13]="VENT_LEFT",e))(Je||{}),Qe=(e=>(e[e.UNSET=0]="UNSET",e[e.OFF=1]="OFF",e[e.ON=2]="ON",e))(Qe||{}),qe=(e=>(e[e.SIZE=1]="SIZE",e[e.FRONTSEAT=2]="FRONTSEAT",e[e.REARSEAT=3]="REARSEAT",e[e.PETROLCAP=4]="PETROLCAP",e[e.WHEELSFRONT=5]="WHEELSFRONT",e[e.WHEELSREAR=6]="WHEELSREAR",e[e.WHEELSMID=7]="WHEELSMID",e[e.FRONT_BUMPER_Z=8]="FRONT_BUMPER_Z",e[e.REAR_BUMPER_Z=9]="REAR_BUMPER_Z",e))(qe||{}),$e=(e=>(e[e.BRASSKNUCKLE=1]="BRASSKNUCKLE",e[e.GOLFCLUB=2]="GOLFCLUB",e[e.NITESTICK=3]="NITESTICK",e[e.KNIFE=4]="KNIFE",e[e.BAT=5]="BAT",e[e.SHOVEL=6]="SHOVEL",e[e.POOLSTICK=7]="POOLSTICK",e[e.KATANA=8]="KATANA",e[e.CHAINSAW=9]="CHAINSAW",e[e.DILDO=10]="DILDO",e[e.DILDO2=11]="DILDO2",e[e.VIBRATOR=12]="VIBRATOR",e[e.VIBRATOR2=13]="VIBRATOR2",e[e.FLOWER=14]="FLOWER",e[e.CANE=15]="CANE",e[e.GRENADE=16]="GRENADE",e[e.TEARGAS=17]="TEARGAS",e[e.MOLTOV=18]="MOLTOV",e[e.COLT45=22]="COLT45",e[e.SILENCED=23]="SILENCED",e[e.DEAGLE=24]="DEAGLE",e[e.SHOTGUN=25]="SHOTGUN",e[e.SAWEDOFF=26]="SAWEDOFF",e[e.SHOTGSPA=27]="SHOTGSPA",e[e.UZI=28]="UZI",e[e.MP5=29]="MP5",e[e.AK47=30]="AK47",e[e.M4=31]="M4",e[e.TEC9=32]="TEC9",e[e.RIFLE=33]="RIFLE",e[e.SNIPER=34]="SNIPER",e[e.ROCKETLAUNCHER=35]="ROCKETLAUNCHER",e[e.HEATSEEKER=36]="HEATSEEKER",e[e.FLAMETHROWER=37]="FLAMETHROWER",e[e.MINIGUN=38]="MINIGUN",e[e.SATCHEL=39]="SATCHEL",e[e.BOMB=40]="BOMB",e[e.SPRAYCAN=41]="SPRAYCAN",e[e.FIREEXTINGUISHER=42]="FIREEXTINGUISHER",e[e.CAMERA=43]="CAMERA",e[e.PARACHUTE=46]="PARACHUTE",e))($e||{}),et=(e=>(e[e.PISTOL=0]="PISTOL",e[e.PISTOL_SILENCED=1]="PISTOL_SILENCED",e[e.DESERT_EAGLE=2]="DESERT_EAGLE",e[e.SHOTGUN=3]="SHOTGUN",e[e.SAWNOFF_SHOTGUN=4]="SAWNOFF_SHOTGUN",e[e.SPAS12_SHOTGUN=5]="SPAS12_SHOTGUN",e[e.MICRO_UZI=6]="MICRO_UZI",e[e.MP5=7]="MP5",e[e.AK47=8]="AK47",e[e.M4=9]="M4",e[e.SNIPERRIFLE=10]="SNIPERRIFLE",e))(et||{}),tt=(e=>(e[e.NONE=0]="NONE",e[e.PLAYER=1]="PLAYER",e[e.VEHICLE=2]="VEHICLE",e[e.OBJECT=3]="OBJECT",e[e.PLAYER_OBJECT=4]="PLAYER_OBJECT",e))(tt||{}),nt=(e=>(e[e.UNKNOWN=-1]="UNKNOWN",e[e.NO_BULLETS=0]="NO_BULLETS",e[e.LAST_BULLET=1]="LAST_BULLET",e[e.MORE_BULLETS=2]="MORE_BULLETS",e[e.RELOADING=3]="RELOADING",e))(nt||{}),be=(e=>(e[e.VEHICLE=49]="VEHICLE",e[e.HELICOPTERBLADES=50]="HELICOPTERBLADES",e[e.EXPLOSION=51]="EXPLOSION",e[e.DROWN=53]="DROWN",e[e.COLLISION=54]="COLLISION",e[e.CONNECT=200]="CONNECT",e[e.DISCONNECT=201]="DISCONNECT",e[e.SUICIDE=255]="SUICIDE",e))(be||{}),rt=(e=>(e[e.NONE=0]="NONE",e[e.DRIVER=1]="DRIVER",e[e.ONFOOT=2]="ONFOOT",e))(rt||{});const p=e=>{if(typeof e=="number")return e;if(typeof+e=="number"&&!isNaN(+e))return+e;if(e.charAt(0)==="#")return e.length===4?parseInt(e.charAt(1)+e.charAt(1)+e.charAt(2)+e.charAt(2)+e.charAt(3)+e.charAt(3)+"FF",16):e.length===7?parseInt(e.slice(1,e.length)+"FF",16):e.length===9?parseInt(e.slice(1,e.length),16):255;const t=(e.match(/([0-9])+/g)||[]).map(r=>parseInt(r,10));if(t.length!==4&&t.length!==3)return 255;t.length===3?t.push(255):t[3]=t[3]<1?Math.floor(t[3]*255):255;let n=0;return t.reverse().forEach((r,i)=>{r!==0&&(n+=Math.pow(16,i*2)*r)}),n},R="utf8",St="en_US",W=(e,t)=>{const n=t.replace("-","")==="utf8"?e:I.encodeToBuf(e,t);return[n instanceof Array?"a":"s",n]},it=(e,t,n)=>{const r=W(n,e.charset);return d("SendClientMessage",`ii${r[0]}`,e.id,p(t),r[1])},gt=(e,t,n)=>(e.forEach(r=>it(r,t,n)),1),at=(e,t,n)=>{const r=W(n,e.charset);return d("SendPlayerMessageToPlayer",`ii${r[0]}`,e.id,t,r[1])},Pt=(e,t,n)=>(e.forEach(r=>at(r,t,n)),1),pt=(e,t,n)=>{const{charset:r}=e,{style:i,caption:a,info:s,button1:l,button2:h}=n,[u,y]=W(a||"",r),[,S]=W(s||"",r),[,P]=W(l||"",r),[,f]=W(h||"",r);return d("ShowPlayerDialog",`iii${u.repeat(4)}`,e.id,t,i,y,S,P,f)};samp.registerEvent("OnPlayerTextI18n","iai");const At=e=>{samp.addEventListener("OnPlayerTextI18n",e)};samp.registerEvent("OnPlayerCommandTextI18n","iai");const It=e=>{samp.addEventListener("OnPlayerCommandTextI18n",e)};samp.registerEvent("OnDialogResponseI18n","iiiiai");const ft=e=>{samp.addEventListener("OnDialogResponseI18n",e)};samp.registerEvent("OnClientMessageI18n","iai");const Ct=(e,t=R)=>{samp.addEventListener("OnClientMessageI18n",(n,r)=>e(n,I.decodeFromBuf(r,t)))};samp.registerEvent("OnRconCommandI18n","ai");const Et=(e,t=R)=>{samp.addEventListener("OnRconCommandI18n",n=>e(I.decodeFromBuf(n,t)))};samp.registerEvent("OnRconLoginAttemptI18n","aiaii");const Tt=(e,t=R)=>{samp.addEventListener("OnRconLoginAttemptI18n",(n,r,i)=>e(I.decodeFromBuf(n,t),I.decodeFromBuf(r,t),Boolean(i)))},Dt=e=>{const t=d("GetPlayerName","iAi",e.id,B.MAX_PLAYER_NAME);return I.decodeFromBuf(I.getValidStr(t),e.charset)},Lt=(e,t)=>d("SetPlayerName","ia",e.id,I.encodeToBuf(t,e.charset)),Rt=(e,t,n)=>{const r=I.encodeToBuf(t,n);return d("BanEx","ia",e,r)},bt=(e,t,n,r,i,a,s,l,h,u,y,S,P,f,E,b)=>{const U=I.encodeToBuf(t,e);return d("CreateDynamic3DTextLabel","aiffffiiiiiifii",U,n,r,i,a,s,l,h,u,y,S,P,f,E,b)},Ot=(e,t,n,r,i,a,s,l,h,u,y,S,P,f,E,b)=>{const U=I.encodeToBuf(e,b);return d("CreateDynamic3DTextLabelEx","aiffffiiifaaaaiiiii",U,t,n,r,i,a,s,l,h,u,y,S,P,f,E,y.length,S.length,P.length,f.length)},Bt=(e,t,n,r)=>{const i=I.encodeToBuf(n,r);return d("UpdateDynamic3DTextLabelText","iia",e,t,i)},wt=(e,t)=>{const n=d("GetDynamic3DTextLabelText","iAi",e,1024);return I.decodeFromBuf(I.getValidStr(n),t)},kt=(e,t,n,r,i,a,s,l,h,u,y)=>{const S=I.encodeToBuf(r,e),P=I.encodeToBuf(a,e);return d("SetDynamicObjectMaterialText","iiaiaiiiii",t,n,S,i,P,s,l,h,u,y)},Gt=(e,t,n)=>{const[r,i,a,s,l,h,u]=d("GetDynamicObjectMaterialText","iiAIAIIIIIii",e,t,2048,32),y=I.decodeFromBuf(r,n),S=I.decodeFromBuf(a,n);return{text:y,materialsize:i,fontface:S,bold:s,fontcolour:l,backcolour:h,textalignment:u}},m=(e,t,n=1)=>(...r)=>{if(!e[t])return n;const i=e[t](...r);return i instanceof Promise||i===void 0?n:Number(i)},st=(e=0)=>m({NOOP:()=>e},"NOOP"),{callNative:d,callNativeFloat:H}=samp;ft((e,t,n,r,i)=>{const a=T.waitingQueue.get(e);return a?(setTimeout(()=>a.resolve({response:n,listitem:r,inputbuf:i})),1):0});class T{id=-1;static showingIds=[];static max_dialogId=32767;dialog;static waitingQueue=new Map;constructor(t={style:Le.MSGBOX,caption:"",info:"",button1:"",button2:""}){this.dialog=t}get style(){return this.dialog.style}set style(t){this.dialog.style=t}get caption(){return this.dialog.caption}set caption(t){this.dialog.caption=t}get info(){return this.dialog.info}set info(t){this.dialog.info=t}get button1(){return this.dialog.button1}set button1(t){this.dialog.button1=t}get button2(){return this.dialog.button2}set button2(t){this.dialog.button2=t}static delDialogTask(t,n=!1){const r=T.waitingQueue.get(t.id);if(!r)return!1;n&&r.reject("[Dialog]: player timeout does not respond or second request show dialog"),T.waitingQueue.delete(t.id);const i=T.showingIds.indexOf(r.showId);return i>-1&&T.showingIds.splice(i,1),!0}show(t){return new Promise((n,r)=>{for(T.close(t);(this.id===-1||T.showingIds.includes(this.id))&&T.showingIds.length!==T.max_dialogId;)this.id=Math.floor(Math.random()*(T.max_dialogId+1));if(this.id===-1){r("[Dialog]: The maximum number of dialogs is reached");return}T.showingIds.push(this.id),T.waitingQueue.set(t.id,{resolve:n,reject:r,showId:this.id}),pt(t,this.id,this.dialog)}).then(n=>{const{response:r,listitem:i}=n,a=I.decodeFromBuf(n.inputbuf,t.charset);return Promise.resolve({response:r,listitem:i,inputtext:a})}).catch(n=>Promise.reject(n)).finally(()=>T.delDialogTask(t))}static close(t){T.delDialogTask(t,!0),c.HidePlayerDialog(t.id)}}const dt=e=>{samp.addEventListener("OnGameModeInit",e)},D=e=>{samp.addEventListener("OnGameModeExit",e)},ot=e=>{samp.addEventListener("OnPlayerConnect",e)},lt=e=>{samp.addEventListener("OnPlayerDisconnect",e)},Mt=e=>{samp.addEventListener("OnPlayerSpawn",e)},Ft=e=>{samp.addEventListener("OnPlayerDeath",e)},Nt=e=>{samp.addEventListener("OnVehicleSpawn",e)},vt=e=>{samp.addEventListener("OnVehicleDeath",e)},Ht=e=>{samp.addEventListener("OnPlayerRequestClass",e)},xt=e=>{samp.addEventListener("OnPlayerEnterVehicle",e)},Vt=e=>{samp.addEventListener("OnPlayerExitVehicle",e)},Ut=e=>{samp.addEventListener("OnPlayerStateChange",e)},Wt=e=>{samp.addEventListener("OnPlayerRequestSpawn",e)},Kt=e=>{samp.addEventListener("OnVehicleMod",e)},jt=e=>{samp.addEventListener("OnEnterExitModShop",e)},Zt=e=>{samp.addEventListener("OnVehiclePaintjob",e)},zt=e=>{samp.addEventListener("OnVehicleRespray",e)},Xt=e=>{samp.addEventListener("OnVehicleDamageStatusUpdate",e)},Yt=e=>{samp.addEventListener("OnPlayerSelectedMenuRow",e)},Jt=e=>{samp.addEventListener("OnPlayerExitedMenu",e)},Qt=e=>{samp.addEventListener("OnPlayerInteriorChange",e)},qt=e=>{samp.addEventListener("OnPlayerKeyStateChange",e)},$t=e=>{samp.addEventListener("OnPlayerUpdate",e)},en=e=>{samp.addEventListener("OnPlayerStreamIn",e)},tn=e=>{samp.addEventListener("OnPlayerStreamOut",e)},nn=e=>{samp.addEventListener("OnVehicleStreamIn",e)},rn=e=>{samp.addEventListener("OnVehicleStreamOut",e)},an=e=>{samp.addEventListener("OnPlayerTakeDamage",e)},sn=e=>{samp.addEventListener("OnPlayerGiveDamage",e)},dn=e=>{samp.addEventListener("OnPlayerClickMap",e)},on=e=>{samp.addEventListener("OnPlayerClickTextDraw",e)},ln=e=>{samp.addEventListener("OnPlayerClickPlayerTextDraw",e)},_n=e=>{samp.addEventListener("OnIncomingConnection",e)},cn=e=>{samp.addEventListener("OnTrailerUpdate",e)},hn=e=>{samp.addEventListener("OnVehicleSirenStateChange",e)},un=e=>{samp.addEventListener("OnPlayerFinishedDownloading",e)},mn=e=>{samp.addEventListener("OnPlayerRequestDownload",e)},yn=e=>{samp.addEventListener("OnPlayerClickPlayer",e)},Sn=e=>{samp.addEventListener("OnClientCheckResponse",e)},gn=e=>{samp.addEventListener("OnNPCEnterVehicle",e)},Pn=e=>{samp.addEventListener("OnNPCExitVehicle",e)},pn=e=>{samp.addEventListener("OnNpcConnect",e)},An=e=>{samp.addEventListener("OnNpcDisconnect",e)},In=e=>{samp.addEventListener("OnNPCModeInit",e)},fn=e=>{samp.addEventListener("OnNPCModeExit",e)},Cn=e=>{samp.addEventListener("OnNPCSpawn",e)};class En{constructor(){pn(m(this,"onConnect")),An(m(this,"onDisconnect")),In(m(this,"onModeInit")),fn(m(this,"onModeExit")),Cn(m(this,"onSpawn")),Ct(m(this,"onClientMessage"))}}const Tn=(e,t,n)=>d("SendDeathMessage","iii",e,t,n),Dn=(e,t,n,r)=>d("SendDeathMessageToPlayer","iiii",e,t,n,r),Ln=(e,t,n)=>d("GameTextForAll","sii",e,t,n),Rn=e=>{d("HideGameTextForAll","i",e)},bn=(e,t,n,r)=>Boolean(d("GameTextForPlayer","isii",e,t,n,r)),On=(e,t)=>Boolean(d("HasGameText","ii",e,t)),Bn=(e,t)=>Boolean(d("HideGameTextForPlayer","ii",e,t)),wn=()=>d("GetMaxPlayers",""),kn=(e,t,n,r,i,a)=>H("VectorSize","ffffff",e,t,n,r,i,a),Gn=()=>d("GetPlayerPoolSize",""),Mn=()=>d("GetVehiclePoolSize",""),Fn=e=>d("SetGameModeText","s",e),Nn=e=>d("SetTeamCount","i",e),vn=(e,t,n,r,i,a,s,l,h,u,y)=>d("AddPlayerClass","iffffiiiiii",e,t,n,r,i,a,s,l,h,u,y),Hn=(e,t,n,r,i,a,s,l,h,u,y,S)=>d("AddPlayerClassEx","iiffffiiiiii",e,t,n,r,i,a,s,l,h,u,y,S),xn=(e,t,n,r,i,a,s)=>d("AddStaticVehicle","iffffii",e,t,n,r,i,a,s),Vn=(e,t,n,r,i,a,s,l,h)=>d("AddStaticVehicleEx","iffffiiii",e,t,n,r,i,a,s,l,h),Un=e=>d("ShowNameTags","i",e),Wn=e=>d("ShowPlayerMarkers","i",e),Kn=()=>d("GameModeExit",""),jn=e=>d("SetWorldTime","i",e),Zn=()=>d("EnableVehicleFriendlyFire",""),zn=e=>d("SetWeather","i",e),Xn=()=>H("GetGravity",""),Yn=e=>d("SetGravity","f",e),Jn=(e,t,n,r,i)=>d("CreateExplosion","fffif",e,t,n,r,i),Qn=e=>d("EnableZoneNames","i",e),qn=()=>d("UsePlayerPedAnims",""),$n=()=>d("DisableInteriorEnterExits",""),er=e=>d("SetNameTagDrawDistance","f",e),tr=()=>d("DisableNameTagLOS",""),nr=e=>d("LimitGlobalChatRadius","f",e),rr=e=>d("LimitPlayerMarkerRadius","f",e),ir=(e,t)=>d("ConnectNPC","ss",e,t),ar=e=>Boolean(d("IsPlayerNPC","i",e)),sr=e=>Boolean(d("IsPlayerAdmin","i",e)),dr=e=>d("Kick","i",e),or=e=>d("Ban","i",e),lr=e=>d("SendRconCommand","s",e),_r=e=>d("GetPlayerNetworkStats","iSi",e,1024),cr=()=>d("GetNetworkStats","Si",1024),hr=(e,t)=>d("BlockIpAddress","si",e,t),ur=e=>d("UnBlockIpAddress","s",e),mr=()=>d("GetServerTickRate",""),yr=e=>d("NetStats_GetConnectedTime","i",e),Sr=e=>d("NetStats_MessagesReceived","i",e),gr=e=>d("NetStats_BytesReceived","i",e),Pr=e=>d("NetStats_MessagesSent","i",e),pr=e=>d("NetStats_BytesSent","i",e),Ar=e=>d("NetStats_MessagesRecvPerSecond","i",e),Ir=e=>H("NetStats_PacketLossPercent","i",e),fr=e=>d("NetStats_ConnectionStatus","i",e),Cr=(e,t,n,r,i,a)=>d("CreateMenu","siffff",e,t,n,r,i,a),Er=e=>d("DestroyMenu","i",e),Tr=(e,t,n)=>d("AddMenuItem","iis",e,t,n),Dr=(e,t,n)=>d("SetMenuColumnHeader","iis",e,t,n),Lr=(e,t)=>d("ShowMenuForPlayer","ii",e,t),Rr=(e,t)=>d("HideMenuForPlayer","ii",e,t),br=e=>Boolean(d("IsValidMenu","i",e)),Or=e=>d("DisableMenu","i",e),Br=(e,t)=>d("DisableMenuRow","ii",e,t),Oe=e=>d("GetPlayerMenu","i",e),wr=(e,t,n)=>d("TextDrawCreate","ffs",e,t,n),kr=e=>d("TextDrawDestroy","i",e),Gr=(e,t,n)=>d("TextDrawLetterSize","iff",e,t,n),Mr=(e,t,n)=>d("TextDrawTextSize","iff",e,t,n),Fr=(e,t)=>d("TextDrawAlignment","ii",e,t),Nr=(e,t)=>Boolean(d("TextDrawColor","ii",e,p(t))),vr=(e,t)=>d("TextDrawUseBox","ii",e,t),Hr=(e,t)=>Boolean(d("TextDrawBoxColor","ii",e,p(t))),xr=(e,t)=>d("TextDrawSetShadow","ii",e,t),Vr=(e,t)=>d("TextDrawSetOutline","ii",e,t),Ur=(e,t)=>Boolean(d("TextDrawBackgroundColor","ii",e,p(t))),Wr=(e,t)=>d("TextDrawFont","ii",e,t),Kr=(e,t)=>d("TextDrawSetProportional","ii",e,t),jr=(e,t)=>d("TextDrawSetSelectable","ii",e,t),Zr=(e,t)=>d("TextDrawShowForPlayer","ii",e,t),zr=(e,t)=>d("TextDrawHideForPlayer","ii",e,t),Xr=e=>d("TextDrawShowForAll","i",e),Yr=e=>d("TextDrawHideForAll","i",e),Jr=(e,t)=>d("TextDrawSetString","is",e,t),Qr=(e,t)=>d("TextDrawSetPreviewModel","ii",e,t),qr=(e,t,n,r,i=1)=>{d("TextDrawSetPreviewRot","iffff",e,t,n,r,i)},$r=(e,t,n)=>Boolean(d("TextDrawSetPreviewVehCol","iii",e,p(t),p(n))),ei=(e,t,n,r)=>d("GangZoneCreate","ffff",e,t,n,r),ti=e=>d("GangZoneDestroy","i",e),ni=(e,t,n)=>d("GangZoneShowForPlayer","iii",e,t,p(n)),ri=(e,t)=>d("GangZoneShowForAll","ii",e,p(t)),ii=(e,t)=>d("GangZoneHideForPlayer","ii",e,t),ai=e=>d("GangZoneHideForAll","i",e),si=(e,t,n)=>d("GangZoneFlashForPlayer","iii",e,t,p(n)),di=(e,t)=>d("GangZoneFlashForAll","ii",e,p(t)),oi=(e,t)=>d("GangZoneStopFlashForPlayer","ii",e,t),li=e=>d("GangZoneStopFlashForAll","i",e),_i=(e,t=R)=>I.decodeFromBuf(I.getValidStr(d("gpci","iAi",e,41)),t),ci=e=>Boolean(d("BeginObjectSelecting","i",e)),hi=e=>Boolean(d("EndObjectEditing","i",e)),ui=e=>Boolean(d("SetObjectsDefaultCameraCol","i",e)),mi=(e,t,n,r,i,a,s,l,h,u,y,S,P)=>d("SetSpawnInfo","iiiffffiiiiii",e,t,n,r,i,a,s,l,h,u,y,S,P),yi=e=>d("SpawnPlayer","i",e),_t=(e,t,n,r)=>d("SetPlayerPos","ifff",e,t,n,r),Si=(e,t,n,r)=>d("SetPlayerPosFindZ","ifff",e,t,n,r),gi=e=>d("GetPlayerPos","iFFF",e),Pi=(e,t)=>d("SetPlayerFacingAngle","if",e,t),pi=e=>d("GetPlayerFacingAngle","iF",e),Ai=(e,t,n,r,i)=>Boolean(d("IsPlayerInRangeOfPoint","iffff",e,t,n,r,i)),Ii=(e,t,n,r)=>H("GetPlayerDistanceFromPoint","ifff",e,t,n,r),fi=(e,t)=>Boolean(d("IsPlayerStreamedIn","ii",e,t)),Ci=(e,t)=>d("SetPlayerInterior","ii",e,t),Ei=e=>d("GetPlayerInterior","i",e),Ti=(e,t)=>d("SetPlayerHealth","if",e,t),Di=e=>d("GetPlayerHealth","iF",e),Li=(e,t)=>d("SetPlayerArmour","if",e,t),Ri=e=>d("GetPlayerArmour","iF",e),bi=(e,t,n)=>d("SetPlayerAmmo","iii",e,t,n),Oi=e=>d("GetPlayerAmmo","i",e),Bi=e=>d("GetPlayerWeaponState","i",e),wi=e=>d("GetPlayerTargetPlayer","i",e),ki=(e,t)=>{d("SetPlayerTeam","ii",e,t)},Gi=e=>d("GetPlayerTeam","i",e),Mi=(e,t)=>d("SetPlayerScore","ii",e,t),Fi=e=>d("GetPlayerScore","i",e),Ni=e=>d("GetPlayerDrunkLevel","i",e),vi=(e,t)=>d("SetPlayerDrunkLevel","ii",e,t),Hi=(e,t)=>d("SetPlayerColor","ii",e,p(t)),xi=e=>d("GetPlayerColor","i",e),Vi=(e,t)=>d("SetPlayerSkin","ii",e,t),Ui=e=>d("GetPlayerSkin","i",e),Wi=(e,t,n)=>d("GivePlayerWeapon","iii",e,t,n),Ki=e=>d("ResetPlayerWeapons","i",e),ji=(e,t)=>d("SetPlayerArmedWeapon","ii",e,t),Zi=(e,t)=>d("GetPlayerWeaponData","iiII",e,t),zi=(e,t)=>d("GivePlayerMoney","ii",e,t),Xi=e=>d("ResetPlayerMoney","i",e),Yi=e=>d("GetPlayerMoney","i",e),Ji=e=>d("GetPlayerState","i",e),Qi=e=>d("GetPlayerPing","i",e),qi=e=>d("GetPlayerWeapon","i",e),$i=e=>d("GetPlayerKeys","iIII",e),ea=(e,t,n)=>d("SetPlayerTime","iii",e,t,n),ta=e=>d("GetPlayerTime","iII",e),na=(e,t)=>d("TogglePlayerClock","ii",e,t),ra=(e,t)=>d("SetPlayerWeather","ii",e,t),ia=e=>d("ForceClassSelection","i",e),aa=(e,t)=>d("SetPlayerWantedLevel","ii",e,t),sa=e=>d("GetPlayerWantedLevel","i",e),da=(e,t)=>d("SetPlayerFightingStyle","ii",e,t),oa=e=>d("GetPlayerFightingStyle","i",e),la=(e,t,n,r)=>d("SetPlayerVelocity","ifff",e,t,n,r),_a=e=>d("GetPlayerVelocity","iFFF",e),ca=(e,t,n)=>d("PlayCrimeReportForPlayer","iii",e,t,n),ha=(e,t,n,r,i,a,s=!1)=>d("PlayAudioStreamForPlayer","isffffi",e,t,n,r,i,a,s),ua=e=>d("StopAudioStreamForPlayer","i",e),ma=(e,t)=>d("SetPlayerShopName","is",e,t),ya=(e,t,n)=>d("SetPlayerSkillLevel","iii",e,t,n),Sa=e=>d("GetPlayerSurfingVehicleID","i",e),ga=e=>d("GetPlayerSurfingObjectID","i",e),Pa=(e,t,n,r,i,a)=>d("RemoveBuildingForPlayer","iiffff",e,t,n,r,i,a),pa=e=>d("GetPlayerLastShotVectors","iFFFFFF",e),Aa=(e,t,n,r,i,a,s,l,h,u,y,S,P,f,E)=>d("SetPlayerAttachedObject","iiiifffffffffii",e,t,n,r,i,a,s,l,h,u,y,S,P,p(f),p(E)),Ia=(e,t)=>d("RemovePlayerAttachedObject","ii",e,t),fa=(e,t)=>Boolean(d("IsPlayerAttachedObjectSlotUsed","ii",e,t)),Ca=(e,t,n,r)=>d("CreatePlayerTextDraw","iffs",e,t,n,r),Ea=(e,t)=>{d("PlayerTextDrawDestroy","ii",e,t)},Ta=(e,t,n,r)=>d("PlayerTextDrawLetterSize","iiff",e,t,n,r),Da=(e,t,n)=>d("PlayerTextDrawAlignment","iii",e,t,n),La=(e,t,n)=>Boolean(d("PlayerTextDrawColor","iii",e,t,p(n))),Ra=(e,t,n)=>d("PlayerTextDrawUseBox","iii",e,t,n),ba=(e,t,n)=>Boolean(d("PlayerTextDrawBoxColor","iii",e,t,p(n))),Oa=(e,t,n)=>d("PlayerTextDrawSetShadow","iii",e,t,n),Ba=(e,t,n)=>d("PlayerTextDrawSetOutline","iii",e,t,n),wa=(e,t,n)=>Boolean(d("PlayerTextDrawBackgroundColour","iii",e,t,p(n))),ka=(e,t,n)=>d("PlayerTextDrawFont","iii",e,t,n),Ga=(e,t,n)=>d("PlayerTextDrawSetProportional","iii",e,t,n),Ma=(e,t,n)=>d("PlayerTextDrawSetSelectable","iii",e,t,n),Fa=(e,t)=>d("PlayerTextDrawShow","ii",e,t),Na=(e,t)=>d("PlayerTextDrawHide","ii",e,t),va=(e,t,n)=>d("PlayerTextDrawSetString","iis",e,t,n),Ha=(e,t,n)=>d("PlayerTextDrawSetPreviewModel","iii",e,t,n),xa=(e,t,n,r,i,a)=>d("PlayerTextDrawSetPreviewRot","iiffff",e,t,n,r,i,a),Va=(e,t,n,r)=>Boolean(d("PlayerTextDrawSetPreviewVehCol","iiii",e,t,n,r)),Ua=(e,t,n,r,i)=>d("SetPlayerChatBubble","isifi",e,t,p(n),r,i),Wa=(e,t,n)=>d("PutPlayerInVehicle","iii",e,t,n),Ka=e=>d("GetPlayerVehicleID","i",e),ja=e=>d("GetPlayerVehicleSeat","i",e),Za=e=>d("RemovePlayerFromVehicle","i",e),za=(e,t)=>d("TogglePlayerControllable","ii",e,t),Xa=(e,t,n,r,i)=>d("PlayerPlaySound","iifff",e,t,n,r,i),Ya=(e,t,n,r,i,a,s,l,h,u)=>d("ApplyAnimation","issfiiiiii",e,t,n,r,i,a,s,l,h,u),Ja=(e,t)=>d("ClearAnimations","ii",e,t),Qa=e=>d("GetPlayerAnimationIndex","i",e),qa=e=>d("GetPlayerSpecialAction","i",e),$a=(e,t)=>d("SetPlayerSpecialAction","ii",e,t),es=(e,t)=>d("DisableRemoteVehicleCollisions","ii",e,t),ts=(e,t,n,r,i)=>d("SetPlayerWorldBounds","iffff",e,t,n,r,i),ns=(e,t,n)=>d("SetPlayerMarkerForPlayer","iii",e,t,p(n)),rs=(e,t,n)=>d("ShowPlayerNameTagForPlayer","iii",e,t,n),is=(e,t,n,r)=>d("SetPlayerCameraPos","ifff",e,t,n,r),as=(e,t,n,r,i)=>d("SetPlayerCameraLookAt","ifffi",e,t,n,r,i),ss=e=>d("SetCameraBehindPlayer","i",e),ds=e=>d("GetPlayerCameraPos","iFFF",e),os=e=>d("GetPlayerCameraFrontVector","iFFF",e),ls=e=>d("GetPlayerCameraMode","i",e),_s=(e,t)=>d("EnablePlayerCameraTarget","ii",e,t),cs=e=>d("GetPlayerCameraTargetVehicle","i",e),hs=e=>d("GetPlayerCameraTargetPlayer","i",e),us=e=>H("GetPlayerCameraAspectRatio","i",e),ms=e=>H("GetPlayerCameraZoom","i",e),ys=(e,t,n,r,i,a,s,l,h)=>d("InterpolateCameraPos","iffffffii",e,t,n,r,i,a,s,l,h),Ss=(e,t,n,r,i,a,s,l,h)=>d("InterpolateCameraLookAt","iffffffii",e,t,n,r,i,a,s,l,h),ct=e=>Boolean(d("IsPlayerConnected","i",e)),gs=(e,t)=>Boolean(d("IsPlayerInVehicle","ii",e,t)),Ps=e=>Boolean(d("IsPlayerInAnyVehicle","i",e)),ps=(e,t)=>d("SetPlayerVirtualWorld","ii",e,t),As=e=>d("GetPlayerVirtualWorld","i",e),Is=(e,t)=>d("EnableStuntBonusForPlayer","ii",e,t),fs=e=>d("EnableStuntBonusForAll","i",e),Cs=(e,t)=>d("TogglePlayerSpectating","ii",e,t),Es=(e,t,n)=>d("PlayerSpectatePlayer","iii",e,t,n),Ts=(e,t,n)=>d("PlayerSpectateVehicle","iii",e,t,n),Ds=(e,t,n)=>d("StartRecordingPlayerData","iis",e,t,n),Ls=e=>d("StopRecordingPlayerData","i",e),Rs=(e,t)=>{d("SelectTextDraw","ii",e,p(t))},bs=e=>{d("CancelSelectTextDraw","i",e)},Os=(e,t,n,r,i,a)=>d("CreateExplosionForPlayer","ifffif",e,t,n,r,i,a),Bs=(e,t,n,r,i)=>d("SendClientCheck","iiiii",e,t,n,r,i),ws=(e,t,n,r,i,a,s,l,h)=>d("CreateVehicle","iffffiiii",e,t,n,r,i,p(a),p(s),l,h),ks=e=>d("DestroyVehicle","i",e),Gs=(e,t)=>Boolean(d("IsVehicleStreamedIn","ii",e,t)),Ms=e=>{const t=d("GetVehiclePos","iFFF",e);if(t.length<3)throw new Error("VehicleID "+e+" not found");return{x:t[0],y:t[1],z:t[2]}},Fs=(e,t,n,r)=>d("SetVehiclePos","ifff",e,t,n,r),Ns=e=>d("GetVehicleZAngle","iF",e),vs=e=>d("GetVehicleRotationQuat","iFFFF",e),Hs=(e,t,n,r)=>H("GetVehicleDistanceFromPoint","ifff",e,t,n,r),xs=(e,t)=>d("SetVehicleZAngle","if",e,t),Vs=(e,t,n,r)=>d("SetVehicleParamsForPlayer","iiii",e,t,n,r),Us=()=>d("ManualVehicleEngineAndLights",""),Ws=(e,t,n,r,i,a,s,l)=>d("SetVehicleParamsEx","iiiiiiii",e,t,n,r,i,a,s,l),Ks=e=>d("GetVehicleParamsEx","iIIIIIII",e),js=e=>d("GetVehicleParamsSirenState","i",e),Zs=(e,t,n,r,i)=>d("SetVehicleParamsCarDoors","iiiii",e,t,n,r,i),zs=e=>{const t=d("GetVehicleParamsCarDoors","iIIII",e);return{driver:t[0],passenger:t[1],backleft:t[2],backright:t[3]}},Xs=(e,t,n,r,i)=>d("SetVehicleParamsCarWindows","iiiii",e,t,n,r,i),Ys=e=>{const t=d("GetVehicleParamsCarWindows","iIIII",e);return{driver:t[0],passenger:t[1],backleft:t[2],backright:t[3]}},Js=e=>d("SetVehicleToRespawn","i",e),Qs=(e,t)=>d("LinkVehicleToInterior","ii",e,t),qs=(e,t)=>d("AddVehicleComponent","ii",e,t),$s=(e,t)=>d("RemoveVehicleComponent","ii",e,t),ed=(e,t,n)=>d("ChangeVehicleColor","iii",e,p(t),p(n)),td=(e,t)=>d("ChangeVehiclePaintjob","ii",e,t),nd=(e,t)=>d("SetVehicleHealth","if",e,t),rd=e=>d("GetVehicleHealth","iF",e),id=(e,t)=>d("AttachTrailerToVehicle","ii",e,t),ad=e=>d("DetachTrailerFromVehicle","i",e),sd=e=>Boolean(d("IsTrailerAttachedToVehicle","i",e)),dd=e=>d("GetVehicleTrailer","i",e),od=(e,t)=>d("SetVehicleNumberPlate","is",e,t),ld=e=>d("GetVehicleModel","i",e),_d=(e,t)=>d("GetVehicleComponentInSlot","ii",e,t),cd=e=>d("GetVehicleComponentType","i",e),hd=e=>d("RepairVehicle","i",e),ud=e=>d("GetVehicleVelocity","iFFF",e),md=(e,t,n,r)=>d("SetVehicleVelocity","ifff",e,t,n,r),yd=(e,t,n,r)=>d("SetVehicleAngularVelocity","ifff",e,t,n,r),Sd=e=>{const t=d("GetVehicleDamageStatus","iIIII",e);if(t.length<4)throw new Error("VehicleID "+e+" not found");return{panels:t[0],doors:t[1],lights:t[2],tires:t[3]}},gd=(e,t,n,r,i)=>d("UpdateVehicleDamageStatus","iiiii",e,t,n,r,i),Pd=(e,t)=>{const n=d("GetVehicleModelInfo","iiFFF",e,t);if(n.length<3)throw new Error("ModelID "+e+" not found");return{x:n[0],y:n[1],z:n[2]}},pd=(e,t)=>d("SetVehicleVirtualWorld","ii",e,t),Ad=e=>d("GetVehicleVirtualWorld","i",e),ht=e=>Boolean(d("IsValidVehicle","i",e)),Id=(e,t)=>d("StartRecordingPlayback","is",e,t),fd=()=>d("StopRecordingPlayback",""),Cd=()=>d("PauseRecordingPlayback",""),Ed=()=>d("ResumeRecordingPlayback",""),Td=e=>d("GetPlayerCustomSkin","i",e),Dd=(e,t)=>d("RedirectDownload","is",e,t),Ld=(e,t,n,r,i)=>d("AddSimpleModel","iiiss",e,t,n,r,i),Rd=(e,t,n,r,i,a,s)=>d("AddSimpleModelTimed","iiissii",e,t,n,r,i,a,s),bd=e=>d("GetWeaponName","iSi",e,32),Od=e=>d("NetStats_GetIpPort","iSi",e,128+6),Bd=e=>d("GetPlayerIp","iSi",e,128),wd=e=>d("GetAnimationName","iSiSi",e,32,32),kd=e=>d("GetPlayerVersion","iSi",e,24),Gd=e=>d("FindModelFileNameFromCRC","iSi",e,255),Md=e=>d("FindTextureFileNameFromCRC","iSi",e,255);class G{constructor(){}static recordStatus;static connectNPC=ir;static startRecordingPlayerData(t,n,r){if(t.isRecording)return _.warn("[NpcFunc]: It should be stopped before recording");Ds(t.id,n,r),t.isRecording=!0}static stopRecordingPlayerData(t){if(!t.isRecording)return _.warn("[NpcFunc]: It should be started before stop");Ls(t.id),t.isRecording=!1}static startRecordingPlayback(t,n){if(G.recordStatus>=w.start)return _.warn("[NpcFunc]: The current status cannot be replayed");Id(t,n),G.recordStatus=w.start}static stopRecordingPlayback(){if(G.recordStatus<w.start)return _.warn("[NpcFunc]: The current status cannot be stopped");fd(),G.recordStatus=w.none}static pauseRecordingPlayback(){if(G.recordStatus!==w.start)return _.warn("[NpcFunc]: The current status cannot be paused");Cd(),G.recordStatus=w.pause}static resumeRecordingPlayback(){if(G.recordStatus!==w.pause)return _.warn("[NpcFunc]: The current status cannot be paused");Ed(),G.recordStatus=w.start}}const Fd=new Map([["AIRPORT",[{n:"thrw_barl_thrw",d:2}]],["Attractors",[{n:"Stepsit_in",d:1.67},{n:"Stepsit_loop",d:3.33},{n:"Stepsit_out",d:1.67}]],["BAR",[{n:"Barcustom_get",d:3},{n:"Barcustom_loop",d:2},{n:"Barcustom_order",d:3.67},{n:"BARman_idle",d:8.33},{n:"Barserve_bottle",d:3},{n:"Barserve_give",d:2.33},{n:"Barserve_glass",d:3.67},{n:"Barserve_in",d:1.67},{n:"Barserve_loop",d:2.33},{n:"Barserve_order",d:3.67},{n:"dnk_stndF_loop",d:2.33},{n:"dnk_stndM_loop",d:2.33}]],["BASEBALL",[{n:"Bat_1",d:.9},{n:"Bat_2",d:1.13},{n:"Bat_3",d:1.2},{n:"Bat_4",d:1},{n:"Bat_block",d:.47},{n:"Bat_Hit_1",d:.83},{n:"Bat_Hit_2",d:1.07},{n:"Bat_Hit_3",d:1.13},{n:"Bat_IDLE",d:.93},{n:"Bat_M",d:.53},{n:"BAT_PART",d:.53}]],["BD_FIRE",[{n:"BD_Fire1",d:1.83},{n:"BD_Fire2",d:1.67},{n:"BD_Fire3",d:1.83},{n:"BD_GF_Wave",d:5.07},{n:"BD_Panic_01",d:3.33},{n:"BD_Panic_02",d:3.33},{n:"BD_Panic_03",d:3.33},{n:"BD_Panic_04",d:3.33},{n:"BD_Panic_Loop",d:3.33},{n:"Grlfrd_Kiss_03",d:7},{n:"M_smklean_loop",d:5},{n:"Playa_Kiss_03",d:7},{n:"wash_up",d:3}]],["BEACH",[{n:"bather",d:4.2},{n:"Lay_Bac_Loop",d:2.67},{n:"ParkSit_M_loop",d:3.67},{n:"ParkSit_W_loop",d:3.33},{n:"SitnWait_loop_W",d:1.33}]],["benchpress",[{n:"gym_bp_celebrate",d:5},{n:"gym_bp_down",d:1},{n:"gym_bp_getoff",d:8.67},{n:"gym_bp_geton",d:5.33},{n:"gym_bp_up_A",d:2.33},{n:"gym_bp_up_B",d:2.67},{n:"gym_bp_up_smooth",d:1.33}]],["BF_injection",[{n:"BF_getin_LHS",d:1},{n:"BF_getin_RHS",d:1},{n:"BF_getout_LHS",d:1.13},{n:"BF_getout_RHS",d:1.13}]],["BIKED",[{n:"BIKEd_Back",d:.1},{n:"BIKEd_drivebyFT",d:.2},{n:"BIKEd_drivebyLHS",d:.2},{n:"BIKEd_drivebyRHS",d:.2},{n:"BIKEd_Fwd",d:.2},{n:"BIKEd_getoffBACK",d:1.47},{n:"BIKEd_getoffLHS",d:1},{n:"BIKEd_getoffRHS",d:1},{n:"BIKEd_hit",d:.03},{n:"BIKEd_jumponL",d:.97},{n:"BIKEd_jumponR",d:.97},{n:"BIKEd_kick",d:1.07},{n:"BIKEd_Left",d:.1},{n:"BIKEd_passenger",d:.03},{n:"BIKEd_pushes",d:.8},{n:"BIKEd_Ride",d:.03},{n:"BIKEd_Right",d:.1},{n:"BIKEd_shuffle",d:.43},{n:"BIKEd_Still",d:.03}]],["BIKEH",[{n:"BIKEh_Back",d:.1},{n:"BIKEh_drivebyFT",d:.2},{n:"BIKEh_drivebyLHS",d:.2},{n:"BIKEh_drivebyRHS",d:.2},{n:"BIKEh_Fwd",d:.2},{n:"BIKEh_getoffBACK",d:1.7},{n:"BIKEh_getoffLHS",d:.77},{n:"BIKEh_getoffRHS",d:.73},{n:"BIKEh_hit",d:.03},{n:"BIKEh_jumponL",d:1.47},{n:"BIKEh_jumponR",d:1.5},{n:"BIKEh_kick",d:1.07},{n:"BIKEh_Left",d:.13},{n:"BIKEh_passenger",d:.03},{n:"BIKEh_pushes",d:.97},{n:"BIKEh_Ride",d:.03},{n:"BIKEh_Right",d:.13},{n:"BIKEh_Still",d:.03}]],["BIKELEAP",[{n:"bk_blnce_in",d:1.9},{n:"bk_blnce_out",d:1},{n:"bk_jmp",d:.4},{n:"bk_rdy_in",d:.5},{n:"bk_rdy_out",d:.4},{n:"struggle_cesar",d:.47},{n:"struggle_driver",d:.47},{n:"truck_driver",d:.73},{n:"truck_getin",d:2.5}]],["BIKES",[{n:"BIKEs_Back",d:.1},{n:"BIKEs_drivebyFT",d:.2},{n:"BIKEs_drivebyLHS",d:.2},{n:"BIKEs_drivebyRHS",d:.2},{n:"BIKEs_Fwd",d:.2},{n:"BIKEs_getoffBACK",d:2.43},{n:"BIKEs_getoffLHS",d:1.1},{n:"BIKEs_getoffRHS",d:1.1},{n:"BIKEs_hit",d:.03},{n:"BIKEs_jumponL",d:.9},{n:"BIKEs_jumponR",d:.9},{n:"BIKEs_kick",d:1},{n:"BIKEs_Left",d:.1},{n:"BIKEs_passenger",d:.03},{n:"BIKEs_pushes",d:.73},{n:"BIKEs_Ride",d:.03},{n:"BIKEs_Right",d:.1},{n:"BIKEs_Snatch_L",d:.43},{n:"BIKEs_Snatch_R",d:.43},{n:"BIKEs_Still",d:.03}]],["BIKEV",[{n:"BIKEv_Back",d:.17},{n:"BIKEv_drivebyFT",d:.17},{n:"BIKEv_drivebyLHS",d:.23},{n:"BIKEv_drivebyRHS",d:.2},{n:"BIKEv_Fwd",d:.2},{n:"BIKEv_getoffBACK",d:1.7},{n:"BIKEv_getoffLHS",d:.67},{n:"BIKEv_getoffRHS",d:.67},{n:"BIKEv_hit",d:.03},{n:"BIKEv_jumponL",d:.67},{n:"BIKEv_jumponR",d:.67},{n:"BIKEv_kick",d:1},{n:"BIKEv_Left",d:.1},{n:"BIKEv_passenger",d:.03},{n:"BIKEv_pushes",d:.73},{n:"BIKEv_Ride",d:.03},{n:"BIKEv_Right",d:.1},{n:"BIKEv_Still",d:.03}]],["BIKE_DBZ",[{n:"Pass_Driveby_BWD",d:.83},{n:"Pass_Driveby_FWD",d:.83},{n:"Pass_Driveby_LHS",d:.83},{n:"Pass_Driveby_RHS",d:.83}]],["BLOWJOBZ",[{n:"BJ_Car_End_P",d:4.13},{n:"BJ_Car_End_W",d:3.67},{n:"BJ_Car_Loop_P",d:.67},{n:"BJ_Car_Loop_W",d:.67},{n:"BJ_Car_Start_P",d:2.33},{n:"BJ_Car_Start_W",d:2.33},{n:"BJ_Couch_End_P",d:7.67},{n:"BJ_Couch_End_W",d:7.67},{n:"BJ_Couch_Loop_P",d:2},{n:"BJ_Couch_Loop_W",d:2},{n:"BJ_Couch_Start_P",d:5.33},{n:"BJ_Couch_Start_W",d:5.33},{n:"BJ_Stand_End_P",d:4.87},{n:"BJ_Stand_End_W",d:5.33},{n:"BJ_Stand_Loop_P",d:.67},{n:"BJ_Stand_Loop_W",d:.67},{n:"BJ_Stand_Start_P",d:2},{n:"BJ_Stand_Start_W",d:2}]],["BMX",[{n:"BMX_back",d:.1},{n:"BMX_bunnyhop",d:.33},{n:"BMX_drivebyFT",d:.2},{n:"BMX_driveby_LHS",d:.2},{n:"BMX_driveby_RHS",d:.2},{n:"BMX_fwd",d:.13},{n:"BMX_getoffBACK",d:1.37},{n:"BMX_getoffLHS",d:.73},{n:"BMX_getoffRHS",d:.63},{n:"BMX_jumponL",d:.9},{n:"BMX_jumponR",d:.9},{n:"BMX_Left",d:.13},{n:"BMX_pedal",d:.73},{n:"BMX_pushes",d:.8},{n:"BMX_Ride",d:.03},{n:"BMX_Right",d:.13},{n:"BMX_sprint",d:.67},{n:"BMX_still",d:.03}]],["BOMBER",[{n:"BOM_Plant",d:2.67},{n:"BOM_Plant_2Idle",d:1},{n:"BOM_Plant_Crouch_In",d:.8},{n:"BOM_Plant_Crouch_Out",d:.8},{n:"BOM_Plant_In",d:.87},{n:"BOM_Plant_Loop",d:.8}]],["BOX",[{n:"boxhipin",d:6.53},{n:"boxhipup",d:5},{n:"boxshdwn",d:6.1},{n:"boxshup",d:5.2},{n:"bxhipwlk",d:1.5},{n:"bxhwlki",d:.97},{n:"bxshwlk",d:2.5},{n:"bxshwlki",d:.97},{n:"bxwlko",d:.53},{n:"catch_box",d:1.5}]],["BSKTBALL",[{n:"BBALL_def_jump_shot",d:1.17},{n:"BBALL_def_loop",d:1},{n:"BBALL_def_stepL",d:.6},{n:"BBALL_def_stepR",d:.6},{n:"BBALL_Dnk",d:1.4},{n:"BBALL_Dnk_Gli",d:.37},{n:"BBALL_Dnk_Gli_O",d:.37},{n:"BBALL_Dnk_Lnch",d:.2},{n:"BBALL_Dnk_Lnch_O",d:.2},{n:"BBALL_Dnk_Lnd",d:.93},{n:"BBALL_Dnk_O",d:.1},{n:"BBALL_idle",d:2.43},{n:"BBALL_idle2",d:2.67},{n:"BBALL_idle2_O",d:2.67},{n:"BBALL_idleloop",d:.67},{n:"BBALL_idleloop_O",d:.67},{n:"BBALL_idle_O",d:2.43},{n:"BBALL_Jump_Cancel",d:1.07},{n:"BBALL_Jump_Cancel_O",d:1.07},{n:"BBALL_Jump_End",d:.93},{n:"BBALL_Jump_Shot",d:1.67},{n:"BBALL_Jump_Shot_O",d:.67},{n:"BBALL_Net_Dnk_O",d:1.83},{n:"BBALL_pickup",d:1.83},{n:"BBALL_pickup_O",d:1.83},{n:"BBALL_react_miss",d:.8},{n:"BBALL_react_score",d:1.1},{n:"BBALL_run",d:.9},{n:"BBALL_run_O",d:.9},{n:"BBALL_SkidStop_L",d:.5},{n:"BBALL_SkidStop_L_O",d:.5},{n:"BBALL_SkidStop_R",d:.5},{n:"BBALL_SkidStop_R_O",d:.5},{n:"BBALL_walk",d:1.07},{n:"BBALL_WalkStop_L",d:.5},{n:"BBALL_WalkStop_L_O",d:.5},{n:"BBALL_WalkStop_R",d:.5},{n:"BBALL_WalkStop_R_O",d:.5},{n:"BBALL_walk_O",d:1.07},{n:"BBALL_walk_start",d:.2},{n:"BBALL_walk_start_O",d:.2}]],["BUDDY",[{n:"buddy_crouchfire",d:.87},{n:"buddy_crouchreload",d:1.1},{n:"buddy_fire",d:.8},{n:"buddy_fire_poor",d:1.33},{n:"buddy_reload",d:1.3}]],["BUS",[{n:"BUS_close",d:.4},{n:"BUS_getin_LHS",d:.33},{n:"BUS_getin_RHS",d:2.17},{n:"BUS_getout_LHS",d:.8},{n:"BUS_getout_RHS",d:1.87},{n:"BUS_jacked_LHS",d:1.13},{n:"BUS_open",d:1.47},{n:"BUS_open_RHS",d:1.2},{n:"BUS_pullout_LHS",d:.8}]],["CAMERA",[{n:"camcrch_cmon",d:2.33},{n:"camcrch_idleloop",d:2},{n:"camcrch_stay",d:2},{n:"camcrch_to_camstnd",d:1.33},{n:"camstnd_cmon",d:3},{n:"camstnd_idleloop",d:2},{n:"camstnd_lkabt",d:4.33},{n:"camstnd_to_camcrch",d:1},{n:"piccrch_in",d:1.33},{n:"piccrch_out",d:2},{n:"piccrch_take",d:1},{n:"picstnd_in",d:1},{n:"picstnd_out",d:.67},{n:"picstnd_take",d:1}]],["CAR",[{n:"Fixn_Car_Loop",d:5},{n:"Fixn_Car_Out",d:2.33},{n:"flag_drop",d:4.5},{n:"Sit_relaxed",d:.03},{n:"Tap_hand",d:.33},{n:"Tyd2car_bump",d:.83},{n:"Tyd2car_high",d:8},{n:"Tyd2car_low",d:6.67},{n:"Tyd2car_med",d:6.67},{n:"Tyd2car_TurnL",d:1},{n:"Tyd2car_TurnR",d:1}]],["CARRY",[{n:"crry_prtial",d:.03},{n:"liftup",d:1.53},{n:"liftup05",d:.63},{n:"liftup105",d:.67},{n:"putdwn",d:1.13},{n:"putdwn05",d:.67},{n:"putdwn105",d:.53}]],["CAR_CHAT",[{n:"carfone_in",d:6},{n:"carfone_loopA",d:4},{n:"carfone_loopA_to_B",d:1},{n:"carfone_loopB",d:5},{n:"carfone_loopB_to_A",d:.67},{n:"carfone_out",d:3},{n:"CAR_Sc1_BL",d:11.67},{n:"CAR_Sc1_BR",d:11.67},{n:"CAR_Sc1_FL",d:11.67},{n:"CAR_Sc1_FR",d:11.67},{n:"CAR_Sc2_FL",d:5},{n:"CAR_Sc3_BR",d:10.83},{n:"CAR_Sc3_FL",d:10.83},{n:"CAR_Sc3_FR",d:10.83},{n:"CAR_Sc4_BL",d:4.4},{n:"CAR_Sc4_BR",d:6.53},{n:"CAR_Sc4_FL",d:10},{n:"CAR_Sc4_FR",d:10},{n:"car_talkm_in",d:1.67},{n:"car_talkm_loop",d:4.33},{n:"car_talkm_out",d:7.33}]],["CASINO",[{n:"cards_in",d:.67},{n:"cards_loop",d:3.33},{n:"cards_lose",d:3.33},{n:"cards_out",d:.67},{n:"cards_pick_01",d:4.67},{n:"cards_pick_02",d:5.33},{n:"cards_raise",d:1.67},{n:"cards_win",d:3},{n:"dealone",d:.8},{n:"manwinb",d:1.5},{n:"manwind",d:1.67},{n:"Roulette_bet",d:2.33},{n:"Roulette_in",d:.67},{n:"Roulette_loop",d:3.67},{n:"Roulette_lose",d:2.67},{n:"Roulette_out",d:.67},{n:"Roulette_win",d:2.33},{n:"Slot_bet_01",d:4.67},{n:"Slot_bet_02",d:2},{n:"Slot_in",d:3.67},{n:"Slot_lose_out",d:4},{n:"Slot_Plyr",d:1.33},{n:"Slot_wait",d:3.67},{n:"Slot_win_out",d:9.33},{n:"wof",d:1.47}]],["CHAINSAW",[{n:"CSAW_1",d:1},{n:"CSAW_2",d:1.03},{n:"CSAW_3",d:.87},{n:"CSAW_G",d:1.17},{n:"CSAW_Hit_1",d:.83},{n:"CSAW_Hit_2",d:1.07},{n:"CSAW_Hit_3",d:1.13},{n:"csaw_part",d:.13},{n:"IDLE_csaw",d:1.5},{n:"WEAPON_csaw",d:1.33},{n:"WEAPON_csawlo",d:1.9}]],["CHOPPA",[{n:"CHOPPA_back",d:.1},{n:"CHOPPA_bunnyhop",d:.33},{n:"CHOPPA_drivebyFT",d:.2},{n:"CHOPPA_driveby_LHS",d:.2},{n:"CHOPPA_driveby_RHS",d:.2},{n:"CHOPPA_fwd",d:.2},{n:"CHOPPA_getoffBACK",d:1.27},{n:"CHOPPA_getoffLHS",d:.73},{n:"CHOPPA_getoffRHS",d:.63},{n:"CHOPPA_jumponL",d:.7},{n:"CHOPPA_jumponR",d:.8},{n:"CHOPPA_Left",d:.13},{n:"CHOPPA_pedal",d:.73},{n:"CHOPPA_Pushes",d:.8},{n:"CHOPPA_ride",d:.03},{n:"CHOPPA_Right",d:.13},{n:"CHOPPA_sprint",d:.67},{n:"CHOPPA_Still",d:.03}]],["CLOTHES",[{n:"CLO_Buy",d:2.07},{n:"CLO_In",d:4},{n:"CLO_Out",d:2.67},{n:"CLO_Pose_Hat",d:3.33},{n:"CLO_Pose_In",d:3.13},{n:"CLO_Pose_In_O",d:4},{n:"CLO_Pose_Legs",d:3.33},{n:"CLO_Pose_Loop",d:6},{n:"CLO_Pose_Out",d:4},{n:"CLO_Pose_Out_O",d:4},{n:"CLO_Pose_Shoes",d:3.33},{n:"CLO_Pose_Torso",d:3.33},{n:"CLO_Pose_Watch",d:3.33}]],["COACH",[{n:"COACH_inL",d:2.17},{n:"COACH_inR",d:2.2},{n:"COACH_opnL",d:1.2},{n:"COACH_opnR",d:1.2},{n:"COACH_outL",d:1.73},{n:"COACH_outR",d:1.83}]],["COLT45",[{n:"2guns_crouchfire",d:.8},{n:"colt45_crouchfire",d:.8},{n:"colt45_crouchreload",d:1},{n:"colt45_fire",d:.73},{n:"colt45_fire_2hands",d:.87},{n:"colt45_reload",d:.93},{n:"sawnoff_reload",d:.93}]],["COP_AMBIENT",[{n:"Copbrowse_in",d:5},{n:"Copbrowse_loop",d:2.33},{n:"Copbrowse_nod",d:4},{n:"Copbrowse_out",d:2.67},{n:"Copbrowse_shake",d:1.83},{n:"Coplook_in",d:1.33},{n:"Coplook_loop",d:2.67},{n:"Coplook_nod",d:5.33},{n:"Coplook_out",d:.67},{n:"Coplook_shake",d:4},{n:"Coplook_think",d:3.33},{n:"Coplook_watch",d:2}]],["COP_DVBYZ",[{n:"COP_Dvby_B",d:.83},{n:"COP_Dvby_FT",d:.83},{n:"COP_Dvby_L",d:.83},{n:"COP_Dvby_R",d:.83}]],["CRACK",[{n:"Bbalbat_Idle_01",d:6.67},{n:"Bbalbat_Idle_02",d:10},{n:"crckdeth1",d:2.17},{n:"crckdeth2",d:3},{n:"crckdeth3",d:2.17},{n:"crckdeth4",d:1.67},{n:"crckidle1",d:3.5},{n:"crckidle2",d:3.33},{n:"crckidle3",d:3.33},{n:"crckidle4",d:2.67}]],["CRIB",[{n:"CRIB_Console_Loop",d:3},{n:"CRIB_Use_Switch",d:1.17},{n:"PED_Console_Loop",d:3},{n:"PED_Console_Loose",d:3.5},{n:"PED_Console_Win",d:3.5}]],["DAM_JUMP",[{n:"DAM_Dive_Loop",d:1.33},{n:"DAM_Land",d:2.6},{n:"DAM_Launch",d:2.4},{n:"Jump_Roll",d:3.17},{n:"SF_JumpWall",d:3}]],["DANCING",[{n:"bd_clap",d:3.2},{n:"bd_clap1",d:2.63},{n:"dance_loop",d:1.17},{n:"DAN_Down_A",d:1},{n:"DAN_Left_A",d:1},{n:"DAN_Loop_A",d:2},{n:"DAN_Right_A",d:1},{n:"DAN_Up_A",d:1},{n:"dnce_M_a",d:2.13},{n:"dnce_M_b",d:1.93},{n:"dnce_M_c",d:1.93},{n:"dnce_M_d",d:2.43},{n:"dnce_M_e",d:.9}]],["DEALER",[{n:"DEALER_DEAL",d:3.17},{n:"DEALER_IDLE",d:6.67},{n:"DEALER_IDLE_01",d:5},{n:"DEALER_IDLE_02",d:4},{n:"DEALER_IDLE_03",d:4.67},{n:"DRUGS_BUY",d:3.17},{n:"shop_pay",d:4.67}]],["DILDO",[{n:"DILDO_1",d:.97},{n:"DILDO_2",d:1.1},{n:"DILDO_3",d:1.17},{n:"DILDO_block",d:.47},{n:"DILDO_G",d:1.47},{n:"DILDO_Hit_1",d:.77},{n:"DILDO_Hit_2",d:1.03},{n:"DILDO_Hit_3",d:.9},{n:"DILDO_IDLE",d:.87}]],["DODGE",[{n:"Cover_Dive_01",d:6},{n:"Cover_Dive_02",d:6},{n:"Crushed",d:.93},{n:"Crush_Jump",d:3.17}]],["DOZER",[{n:"DOZER_Align_LHS",d:.97},{n:"DOZER_Align_RHS",d:.93},{n:"DOZER_getin_LHS",d:.43},{n:"DOZER_getin_RHS",d:.43},{n:"DOZER_getout_LHS",d:1.07},{n:"DOZER_getout_RHS",d:.77},{n:"DOZER_Jacked_LHS",d:1.27},{n:"DOZER_Jacked_RHS",d:1.07},{n:"DOZER_pullout_LHS",d:.73},{n:"DOZER_pullout_RHS",d:.7}]],["DRIVEBYS",[{n:"Gang_DrivebyLHS",d:.83},{n:"Gang_DrivebyLHS_Bwd",d:.83},{n:"Gang_DrivebyLHS_Fwd",d:.83},{n:"Gang_DrivebyRHS",d:.83},{n:"Gang_DrivebyRHS_Bwd",d:.83},{n:"Gang_DrivebyRHS_Fwd",d:.83},{n:"Gang_DrivebyTop_LHS",d:.83},{n:"Gang_DrivebyTop_RHS",d:.83}]],["FAT",[{n:"FatIdle",d:1.5},{n:"FatIdle_armed",d:1.53},{n:"FatIdle_Csaw",d:1.5},{n:"FatIdle_Rocket",d:1.6},{n:"FatRun",d:.77},{n:"FatRun_armed",d:.77},{n:"FatRun_Csaw",d:.77},{n:"FatRun_Rocket",d:.77},{n:"FatSprint",d:.6},{n:"FatWalk",d:1.17},{n:"FatWalkstart",d:.2},{n:"FatWalkstart_Csaw",d:.2},{n:"FatWalkSt_armed",d:.2},{n:"FatWalkSt_Rocket",d:.2},{n:"FatWalk_armed",d:1.17},{n:"FatWalk_Csaw",d:1.17},{n:"FatWalk_Rocket",d:1.17},{n:"IDLE_tired",d:1.07}]],["FIGHT_B",[{n:"FightB_1",d:.73},{n:"FightB_2",d:1.1},{n:"FightB_3",d:1.2},{n:"FightB_block",d:.47},{n:"FightB_G",d:1.07},{n:"FightB_IDLE",d:.8},{n:"FightB_M",d:.5},{n:"HitB_1",d:.73},{n:"HitB_2",d:.83},{n:"HitB_3",d:1.43}]],["FIGHT_C",[{n:"FightC_1",d:.83},{n:"FightC_2",d:1.03},{n:"FightC_3",d:1},{n:"FightC_block",d:.47},{n:"FightC_blocking",d:3.2},{n:"FightC_G",d:.77},{n:"FightC_IDLE",d:1},{n:"FightC_M",d:.9},{n:"FightC_Spar",d:3.2},{n:"HitC_1",d:.3},{n:"HitC_2",d:.67},{n:"HitC_3",d:.83}]],["FIGHT_D",[{n:"FightD_1",d:.93},{n:"FightD_2",d:1.87},{n:"FightD_3",d:.9},{n:"FightD_block",d:.47},{n:"FightD_G",d:.83},{n:"FightD_IDLE",d:1.53},{n:"FightD_M",d:1.07},{n:"HitD_1",d:.67},{n:"HitD_2",d:1.83},{n:"HitD_3",d:.97}]],["FIGHT_E",[{n:"FightKick",d:.77},{n:"FightKick_B",d:1.03},{n:"Hit_fightkick",d:.5},{n:"Hit_fightkick_B",d:1.13}]],["FINALE",[{n:"FIN_Climb_In",d:2.9},{n:"FIN_Cop1_ClimbOut2",d:6},{n:"FIN_Cop1_Loop",d:2},{n:"FIN_Cop1_Stomp",d:1},{n:"FIN_Hang_L",d:.57},{n:"FIN_Hang_Loop",d:4},{n:"FIN_Hang_R",d:.57},{n:"FIN_Hang_Slip",d:3.33},{n:"FIN_Jump_On",d:5.6},{n:"FIN_Land_Car",d:.67},{n:"FIN_Land_Die",d:2.37},{n:"FIN_LegsUp",d:1},{n:"FIN_LegsUp_L",d:.5},{n:"FIN_LegsUp_Loop",d:1.33},{n:"FIN_LegsUp_R",d:.5},{n:"FIN_Let_Go",d:.17}]],["FINALE2",[{n:"FIN_Cop1_ClimbOut",d:4},{n:"FIN_Cop1_Fall",d:.43},{n:"FIN_Cop1_Loop",d:2},{n:"FIN_Cop1_Shot",d:2.07},{n:"FIN_Cop1_Swing",d:1.17},{n:"FIN_Cop2_ClimbOut",d:5.33},{n:"FIN_Switch_P",d:3.97},{n:"FIN_Switch_S",d:2.17}]],["FLAME",[{n:"FLAME_fire",d:.8}]],["Flowers",[{n:"Flower_attack",d:.8},{n:"Flower_attack_M",d:1.23},{n:"Flower_Hit",d:.83}]],["FOOD",[{n:"EAT_Burger",d:5},{n:"EAT_Chicken",d:5},{n:"EAT_Pizza",d:5},{n:"EAT_Vomit_P",d:8},{n:"EAT_Vomit_SK",d:8},{n:"FF_Dam_Bkw",d:.67},{n:"FF_Dam_Fwd",d:.67},{n:"FF_Dam_Left",d:.67},{n:"FF_Dam_Right",d:.67},{n:"FF_Die_Bkw",d:.67},{n:"FF_Die_Fwd",d:.67},{n:"FF_Die_Left",d:.67},{n:"FF_Die_Right",d:.67},{n:"FF_Sit_Eat1",d:2.83},{n:"FF_Sit_Eat2",d:2.67},{n:"FF_Sit_Eat3",d:2.67},{n:"FF_Sit_In",d:3},{n:"FF_Sit_In_L",d:2},{n:"FF_Sit_In_R",d:2},{n:"FF_Sit_Look",d:8},{n:"FF_Sit_Loop",d:2.67},{n:"FF_Sit_Out_180",d:2.83},{n:"FF_Sit_Out_L_180",d:1.33},{n:"FF_Sit_Out_R_180",d:1.33},{n:"SHP_Thank",d:1.17},{n:"SHP_Tray_In",d:.67},{n:"SHP_Tray_Lift",d:1.67},{n:"SHP_Tray_Lift_In",d:.5},{n:"SHP_Tray_Lift_Loop",d:8},{n:"SHP_Tray_Lift_Out",d:.5},{n:"SHP_Tray_Out",d:.67},{n:"SHP_Tray_Pose",d:.67},{n:"SHP_Tray_Return",d:1.33}]],["Freeweights",[{n:"gym_barbell",d:2.37},{n:"gym_free_A",d:1.93},{n:"gym_free_B",d:2.33},{n:"gym_free_celebrate",d:3.33},{n:"gym_free_down",d:.57},{n:"gym_free_loop",d:.67},{n:"gym_free_pickup",d:3.17},{n:"gym_free_putdown",d:3.17},{n:"gym_free_up_smooth",d:1}]],["GANGS",[{n:"DEALER_DEAL",d:1.17},{n:"DEALER_IDLE",d:2},{n:"drnkbr_prtl",d:2.67},{n:"drnkbr_prtl_F",d:2.67},{n:"DRUGS_BUY",d:1.17},{n:"hndshkaa",d:4},{n:"hndshkba",d:2.33},{n:"hndshkca",d:3.33},{n:"hndshkcb",d:3.33},{n:"hndshkda",d:2},{n:"hndshkea",d:1},{n:"hndshkfa",d:4.17},{n:"hndshkfa_swt",d:4.17},{n:"Invite_No",d:3.33},{n:"Invite_Yes",d:4.33},{n:"leanIDLE",d:1},{n:"leanIN",d:1},{n:"leanOUT",d:1},{n:"prtial_gngtlkA",d:4},{n:"prtial_gngtlkB",d:6.17},{n:"prtial_gngtlkC",d:7.33},{n:"prtial_gngtlkD",d:3},{n:"prtial_gngtlkE",d:2.83},{n:"prtial_gngtlkF",d:5.17},{n:"prtial_gngtlkG",d:7},{n:"prtial_gngtlkH",d:6},{n:"prtial_hndshk_01",d:1.67},{n:"prtial_hndshk_biz_01",d:2.33},{n:"shake_cara",d:1.67},{n:"shake_carK",d:1.27},{n:"shake_carSH",d:1.5},{n:"smkcig_prtl",d:7.5},{n:"smkcig_prtl_F",d:7.5}]],["GFUNK",[{n:"Dance_B1",d:1.27},{n:"Dance_B2",d:1.27},{n:"Dance_B3",d:1.27},{n:"Dance_B4",d:1.27},{n:"Dance_B5",d:1.27},{n:"Dance_B6",d:1.27},{n:"Dance_B7",d:1.27},{n:"Dance_B8",d:1.27},{n:"Dance_B9",d:1.27},{n:"Dance_B10",d:1.27},{n:"Dance_B11",d:1.27},{n:"Dance_B12",d:1.27},{n:"Dance_B13",d:1.27},{n:"Dance_B14",d:1.27},{n:"Dance_B15",d:1.27},{n:"Dance_B16",d:1.27},{n:"Dance_G1",d:1.27},{n:"Dance_G2",d:1.27},{n:"Dance_G3",d:1.27},{n:"Dance_G4",d:1.27},{n:"Dance_G5",d:1.27},{n:"Dance_G6",d:1.27},{n:"Dance_G7",d:1.27},{n:"Dance_G8",d:1.27},{n:"Dance_G9",d:1.27},{n:"Dance_G10",d:1.27},{n:"Dance_G11",d:1.27},{n:"Dance_G12",d:1.27},{n:"Dance_G13",d:1.27},{n:"Dance_G14",d:1.27},{n:"Dance_G15",d:1.27},{n:"Dance_G16",d:1.27},{n:"dance_loop",d:1.17}]],["GHANDS",[{n:"gsign1",d:4.77},{n:"gsign1LH",d:2.73},{n:"gsign2",d:2.13},{n:"gsign2LH",d:2.33},{n:"gsign3",d:4.67},{n:"gsign3LH",d:2},{n:"gsign4",d:4.17},{n:"gsign4LH",d:4.67},{n:"gsign5",d:6.2},{n:"gsign5LH",d:2},{n:"LHGsign1",d:2},{n:"LHGsign2",d:2},{n:"LHGsign3",d:2},{n:"LHGsign4",d:2},{n:"LHGsign5",d:2},{n:"RHGsign1",d:2},{n:"RHGsign2",d:2},{n:"RHGsign3",d:2},{n:"RHGsign4",d:2},{n:"RHGsign5",d:2}]],["GHETTO_DB",[{n:"GDB_Car2_PLY",d:9.5},{n:"GDB_Car2_SMO",d:9.5},{n:"GDB_Car2_SWE",d:9.5},{n:"GDB_Car_PLY",d:13.33},{n:"GDB_Car_RYD",d:13.33},{n:"GDB_Car_SMO",d:13.33},{n:"GDB_Car_SWE",d:13.33}]],["goggles",[{n:"goggles_put_on",d:.8}]],["GRAFFITI",[{n:"graffiti_Chkout",d:4.67},{n:"spraycan_fire",d:2.33}]],["GRAVEYARD",[{n:"mrnF_loop",d:4.67},{n:"mrnM_loop",d:2.67},{n:"prst_loopa",d:4}]],["GRENADE",[{n:"WEAPON_start_throw",d:.2},{n:"WEAPON_throw",d:.87},{n:"WEAPON_throwu",d:.67}]],["GYMNASIUM",[{n:"GYMshadowbox",d:5.1},{n:"gym_bike_celebrate",d:1.93},{n:"gym_bike_fast",d:.4},{n:"gym_bike_faster",d:.4},{n:"gym_bike_getoff",d:1.67},{n:"gym_bike_geton",d:1.67},{n:"gym_bike_pedal",d:.4},{n:"gym_bike_slow",d:.43},{n:"gym_bike_still",d:1.67},{n:"gym_jog_falloff",d:2.17},{n:"gym_shadowbox",d:5.1},{n:"gym_tread_celebrate",d:2.5},{n:"gym_tread_falloff",d:2},{n:"gym_tread_getoff",d:3.33},{n:"gym_tread_geton",d:2.5},{n:"gym_tread_jog",d:.77},{n:"gym_tread_sprint",d:.67},{n:"gym_tread_tired",d:1.33},{n:"gym_tread_walk",d:1.07},{n:"gym_walk_falloff",d:3.33},{n:"Pedals_fast",d:.4},{n:"Pedals_med",d:.4},{n:"Pedals_slow",d:.43},{n:"Pedals_still",d:.43}]],["HAIRCUTS",[{n:"BRB_Beard_01",d:4.5},{n:"BRB_Buy",d:4.17},{n:"BRB_Cut",d:1.7},{n:"BRB_Cut_In",d:.83},{n:"BRB_Cut_Out",d:1.33},{n:"BRB_Hair_01",d:3.83},{n:"BRB_Hair_02",d:4.5},{n:"BRB_In",d:1.33},{n:"BRB_Loop",d:2.67},{n:"BRB_Out",d:.67},{n:"BRB_Sit_In",d:2.07},{n:"BRB_Sit_Loop",d:7},{n:"BRB_Sit_Out",d:3}]],["HEIST9",[{n:"CAS_G2_GasKO",d:3.33},{n:"swt_wllpk_L",d:2.67},{n:"swt_wllpk_L_back",d:.5},{n:"swt_wllpk_R",d:3.67},{n:"swt_wllpk_R_back",d:.43},{n:"swt_wllshoot_in_L",d:1},{n:"swt_wllshoot_in_R",d:1.3},{n:"swt_wllshoot_out_L",d:2},{n:"swt_wllshoot_out_R",d:1.43},{n:"Use_SwipeCard",d:1.17}]],["INT_HOUSE",[{n:"BED_In_L",d:3.33},{n:"BED_In_R",d:3.33},{n:"BED_Loop_L",d:3.33},{n:"BED_Loop_R",d:3.33},{n:"BED_Out_L",d:3.33},{n:"BED_Out_R",d:3.33},{n:"LOU_In",d:1.83},{n:"LOU_Loop",d:3.33},{n:"LOU_Out",d:2},{n:"wash_up",d:3}]],["INT_OFFICE",[{n:"FF_Dam_Fwd",d:.67},{n:"OFF_Sit_2Idle_180",d:2.83},{n:"OFF_Sit_Bored_Loop",d:2.83},{n:"OFF_Sit_Crash",d:3.33},{n:"OFF_Sit_Drink",d:4.17},{n:"OFF_Sit_Idle_Loop",d:2.07},{n:"OFF_Sit_In",d:2.77},{n:"OFF_Sit_Read",d:3.33},{n:"OFF_Sit_Type_Loop",d:3.33},{n:"OFF_Sit_Watch",d:2}]],["INT_SHOP",[{n:"shop_cashier",d:6.67},{n:"shop_in",d:1},{n:"shop_lookA",d:2},{n:"shop_lookB",d:3},{n:"shop_loop",d:2},{n:"shop_out",d:1.33},{n:"shop_pay",d:6.67},{n:"shop_shelf",d:2.33}]],["JST_BUISNESS",[{n:"girl_01",d:3.33},{n:"girl_02",d:11.33},{n:"player_01",d:24.83},{n:"smoke_01",d:25}]],["KART",[{n:"KART_getin_LHS",d:.83},{n:"KART_getin_RHS",d:.83},{n:"KART_getout_LHS",d:.83},{n:"KART_getout_RHS",d:.83}]],["KISSING",[{n:"BD_GF_Wave",d:5.07},{n:"gfwave2",d:2.67},{n:"GF_CarArgue_01",d:5},{n:"GF_CarArgue_02",d:5},{n:"GF_CarSpot",d:5},{n:"GF_StreetArgue_01",d:5},{n:"GF_StreetArgue_02",d:5},{n:"gift_get",d:5.33},{n:"gift_give",d:5.33},{n:"Grlfrd_Kiss_01",d:4.17},{n:"Grlfrd_Kiss_02",d:5.77},{n:"Grlfrd_Kiss_03",d:7},{n:"Playa_Kiss_01",d:5},{n:"Playa_Kiss_02",d:5.77},{n:"Playa_Kiss_03",d:7}]],["KNIFE",[{n:"KILL_Knife_Ped_Damage",d:2.23},{n:"KILL_Knife_Ped_Die",d:1.93},{n:"KILL_Knife_Player",d:2.67},{n:"KILL_Partial",d:.03},{n:"knife_1",d:1},{n:"knife_2",d:.93},{n:"knife_3",d:.87},{n:"Knife_4",d:.9},{n:"knife_block",d:.47},{n:"Knife_G",d:.9},{n:"knife_hit_1",d:.57},{n:"knife_hit_2",d:.63},{n:"knife_hit_3",d:1.6},{n:"knife_IDLE",d:1.3},{n:"knife_part",d:.53},{n:"WEAPON_knifeidle",d:1.3}]],["LAPDAN1",[{n:"LAPDAN_D",d:37.73},{n:"LAPDAN_P",d:37.73}]],["LAPDAN2",[{n:"LAPDAN_D",d:46.83},{n:"LAPDAN_P",d:46.83}]],["LAPDAN3",[{n:"LAPDAN_D",d:51.47},{n:"LAPDAN_P",d:51.47}]],["LOWRIDER",[{n:"F_smklean_loop",d:4},{n:"lrgirl_bdbnce",d:2.67},{n:"lrgirl_hair",d:2.33},{n:"lrgirl_hurry",d:2.83},{n:"lrgirl_idleloop",d:2.17},{n:"lrgirl_idle_to_l0",d:2.17},{n:"lrgirl_l0_bnce",d:.67},{n:"lrgirl_l0_loop",d:2},{n:"lrgirl_l0_to_l1",d:3.67},{n:"lrgirl_l12_to_l0",d:2},{n:"lrgirl_l1_bnce",d:.67},{n:"lrgirl_l1_loop",d:2},{n:"lrgirl_l1_to_l2",d:1.33},{n:"lrgirl_l2_bnce",d:.67},{n:"lrgirl_l2_loop",d:1.5},{n:"lrgirl_l2_to_l3",d:1.5},{n:"lrgirl_l345_to_l1",d:1},{n:"lrgirl_l3_bnce",d:.67},{n:"lrgirl_l3_loop",d:2},{n:"lrgirl_l3_to_l4",d:.67},{n:"lrgirl_l4_bnce",d:.67},{n:"lrgirl_l4_loop",d:2.33},{n:"lrgirl_l4_to_l5",d:1},{n:"lrgirl_l5_bnce",d:.83},{n:"lrgirl_l5_loop",d:1.67},{n:"M_smklean_loop",d:5},{n:"M_smkstnd_loop",d:5.33},{n:"prtial_gngtlkB",d:1.47},{n:"prtial_gngtlkC",d:1.5},{n:"prtial_gngtlkD",d:2.47},{n:"prtial_gngtlkE",d:3},{n:"prtial_gngtlkF",d:2.67},{n:"prtial_gngtlkG",d:2.67},{n:"prtial_gngtlkH",d:3.33},{n:"RAP_A_Loop",d:2.67},{n:"RAP_B_Loop",d:2.67},{n:"RAP_C_Loop",d:3},{n:"Sit_relaxed",d:.03},{n:"Tap_hand",d:.33}]],["MD_CHASE",[{n:"Carhit_Hangon",d:1.53},{n:"Carhit_Tumble",d:2.03},{n:"donutdrop",d:1.5},{n:"Fen_Choppa_L1",d:1.43},{n:"Fen_Choppa_L2",d:1.3},{n:"Fen_Choppa_L3",d:1.3},{n:"Fen_Choppa_R1",d:1.3},{n:"Fen_Choppa_R2",d:1.3},{n:"Fen_Choppa_R3",d:1.3},{n:"Hangon_Stun_loop",d:4.67},{n:"Hangon_Stun_Turn",d:4},{n:"MD_BIKE_2_HANG",d:1.37},{n:"MD_BIKE_Jmp_BL",d:1.1},{n:"MD_BIKE_Jmp_F",d:1},{n:"MD_BIKE_Lnd_BL",d:.9},{n:"MD_BIKE_Lnd_Die_BL",d:1.53},{n:"MD_BIKE_Lnd_Die_F",d:.8},{n:"MD_BIKE_Lnd_F",d:1.17},{n:"MD_BIKE_Lnd_Roll",d:2.7},{n:"MD_BIKE_Lnd_Roll_F",d:1.03},{n:"MD_BIKE_Punch",d:1.83},{n:"MD_BIKE_Punch_F",d:1.83},{n:"MD_BIKE_Shot_F",d:1.33},{n:"MD_HANG_Lnd_Roll",d:2.7},{n:"MD_HANG_Loop",d:1}]],["MD_END",[{n:"END_SC1_PLY",d:5},{n:"END_SC1_RYD",d:5},{n:"END_SC1_SMO",d:5},{n:"END_SC1_SWE",d:5},{n:"END_SC2_PLY",d:9},{n:"END_SC2_RYD",d:9},{n:"END_SC2_SMO",d:9},{n:"END_SC2_SWE",d:9}]],["MEDIC",[{n:"CPR",d:8.33}]],["MISC",[{n:"bitchslap",d:1.17},{n:"BMX_celebrate",d:1.57},{n:"BMX_comeon",d:.77},{n:"bmx_idleloop_01",d:3.33},{n:"bmx_idleloop_02",d:6.67},{n:"bmx_talkleft_in",d:.67},{n:"bmx_talkleft_loop",d:6.67},{n:"bmx_talkleft_out",d:.67},{n:"bmx_talkright_in",d:.67},{n:"bmx_talkright_loop",d:7.33},{n:"bmx_talkright_out",d:.67},{n:"bng_wndw",d:7.33},{n:"bng_wndw_02",d:7.33},{n:"Case_pickup",d:1},{n:"door_jet",d:5.33},{n:"GRAB_L",d:.4},{n:"GRAB_R",d:.4},{n:"Hiker_Pose",d:.33},{n:"Hiker_Pose_L",d:.33},{n:"Idle_Chat_02",d:7.23},{n:"KAT_Throw_K",d:3.33},{n:"KAT_Throw_O",d:3.33},{n:"KAT_Throw_P",d:3.33},{n:"PASS_Rifle_O",d:1.33},{n:"PASS_Rifle_Ped",d:1.33},{n:"PASS_Rifle_Ply",d:1.33},{n:"pickup_box",d:.4},{n:"Plane_door",d:5.33},{n:"Plane_exit",d:5.33},{n:"Plane_hijack",d:5.33},{n:"Plunger_01",d:3.33},{n:"Plyrlean_loop",d:2.67},{n:"plyr_shkhead",d:1.67},{n:"Run_Dive",d:8.27},{n:"Scratchballs_01",d:8.33},{n:"SEAT_LR",d:3.67},{n:"Seat_talk_01",d:3.67},{n:"Seat_talk_02",d:3.33},{n:"SEAT_watch",d:2.33},{n:"smalplane_door",d:6.33},{n:"smlplane_door",d:5.33},{n:"MTB_back",d:.1},{n:"MTB_bunnyhop",d:.33},{n:"MTB_drivebyFT",d:.2},{n:"MTB_driveby_LHS",d:.2},{n:"MTB_driveby_RHS",d:.2},{n:"MTB_fwd",d:.2},{n:"MTB_getoffBACK",d:1.53},{n:"MTB_getoffLHS",d:.73},{n:"MTB_getoffRHS",d:.73},{n:"MTB_jumponL",d:.8},{n:"MTB_jumponR",d:.83},{n:"MTB_Left",d:.13},{n:"MTB_pedal",d:.67},{n:"MTB_pushes",d:.8},{n:"MTB_Ride",d:.03},{n:"MTB_Right",d:.13},{n:"MTB_sprint",d:.8},{n:"MTB_still",d:.03},{n:"MscleWalkst_armed",d:.2},{n:"MscleWalkst_Csaw",d:.2},{n:"Mscle_rckt_run",d:.8},{n:"Mscle_rckt_walkst",d:.2},{n:"Mscle_run_Csaw",d:.8},{n:"MuscleIdle",d:1.5},{n:"MuscleIdle_armed",d:1.5},{n:"MuscleIdle_Csaw",d:1.5},{n:"MuscleIdle_rocket",d:1.5},{n:"MuscleRun",d:.8},{n:"MuscleRun_armed",d:.8},{n:"MuscleSprint",d:.57},{n:"MuscleWalk",d:1.07},{n:"MuscleWalkstart",d:.27},{n:"MuscleWalk_armed",d:1.07},{n:"Musclewalk_Csaw",d:1.07},{n:"Musclewalk_rocket",d:1.07}]],["NEVADA",[{n:"NEVADA_getin",d:1.87},{n:"NEVADA_getout",d:.93}]],["ON_LOOKERS",[{n:"lkaround_in",d:.33},{n:"lkaround_loop",d:7},{n:"lkaround_out",d:.33},{n:"lkup_in",d:1.67},{n:"lkup_loop",d:5.33},{n:"lkup_out",d:1},{n:"lkup_point",d:3.33},{n:"panic_cower",d:6.67},{n:"panic_hide",d:6.33},{n:"panic_in",d:.83},{n:"panic_loop",d:1.67},{n:"panic_out",d:.67},{n:"panic_point",d:6},{n:"panic_shout",d:8.67},{n:"Pointup_in",d:1},{n:"Pointup_loop",d:2.67},{n:"Pointup_out",d:1},{n:"Pointup_shout",d:3},{n:"point_in",d:.5},{n:"point_loop",d:3},{n:"point_out",d:.33},{n:"shout_01",d:2.67},{n:"shout_02",d:4},{n:"shout_in",d:1.67},{n:"shout_loop",d:2},{n:"shout_out",d:.33},{n:"wave_in",d:.83},{n:"wave_loop",d:1.5},{n:"wave_out",d:.83}]],["OTB",[{n:"betslp_in",d:1.33},{n:"betslp_lkabt",d:2.67},{n:"betslp_loop",d:2.67},{n:"betslp_out",d:1},{n:"betslp_tnk",d:5.6},{n:"wtchrace_cmon",d:5},{n:"wtchrace_in",d:1.67},{n:"wtchrace_loop",d:2.67},{n:"wtchrace_lose",d:4},{n:"wtchrace_out",d:1},{n:"wtchrace_win",d:4.33}]],["PARACHUTE",[{n:"FALL_skyDive",d:1.33},{n:"FALL_SkyDive_Accel",d:1.33},{n:"FALL_skyDive_DIE",d:1},{n:"FALL_SkyDive_L",d:1.33},{n:"FALL_SkyDive_R",d:1.33},{n:"PARA_decel",d:2},{n:"PARA_decel_O",d:2},{n:"PARA_float",d:2},{n:"PARA_float_O",d:2},{n:"PARA_Land",d:1.67},{n:"PARA_Land_O",d:2.17},{n:"PARA_Land_Water",d:2.33},{n:"PARA_Land_Water_O",d:2.17},{n:"PARA_open",d:2.83},{n:"PARA_open_O",d:2.33},{n:"PARA_Rip_Land_O",d:.9},{n:"PARA_Rip_Loop_O",d:1},{n:"PARA_Rip_O",d:.23},{n:"PARA_steerL",d:2},{n:"PARA_steerL_O",d:2},{n:"PARA_steerR",d:2},{n:"PARA_steerR_O",d:2}]],["PARK",[{n:"Tai_Chi_in",d:2.17},{n:"Tai_Chi_Loop",d:12},{n:"Tai_Chi_Out",d:.83}]],["PAULNMAC",[{n:"Piss_in",d:9},{n:"Piss_loop",d:6.67},{n:"Piss_out",d:11},{n:"PnM_Argue1_A",d:4.33},{n:"PnM_Argue1_B",d:4.33},{n:"PnM_Argue2_A",d:4.33},{n:"PnM_Argue2_B",d:4.33},{n:"PnM_Loop_A",d:5.33},{n:"PnM_Loop_B",d:5.33},{n:"wank_in",d:7.33},{n:"wank_loop",d:2.67},{n:"wank_out",d:11.67}]],["ped",[{n:"abseil",d:.03},{n:"ARRESTgun",d:.67},{n:"ATM",d:12.17},{n:"BIKE_elbowL",d:.97},{n:"BIKE_elbowR",d:.97},{n:"BIKE_fallR",d:1.63},{n:"BIKE_fall_off",d:1.07},{n:"BIKE_pickupL",d:1.07},{n:"BIKE_pickupR",d:1.07},{n:"BIKE_pullupL",d:1},{n:"BIKE_pullupR",d:1},{n:"bomber",d:.6},{n:"CAR_alignHI_LHS",d:.73},{n:"CAR_alignHI_RHS",d:.73},{n:"CAR_align_LHS",d:.13},{n:"CAR_align_RHS",d:.13},{n:"CAR_closedoorL_LHS",d:.6},{n:"CAR_closedoorL_RHS",d:.4},{n:"CAR_closedoor_LHS",d:.6},{n:"CAR_closedoor_RHS",d:.4},{n:"CAR_close_LHS",d:.73},{n:"CAR_close_RHS",d:.73},{n:"CAR_crawloutRHS",d:2.17},{n:"CAR_dead_LHS",d:.03},{n:"CAR_dead_RHS",d:.03},{n:"CAR_doorlocked_LHS",d:1.33},{n:"CAR_doorlocked_RHS",d:1.27},{n:"CAR_fallout_LHS",d:.57},{n:"CAR_fallout_RHS",d:.57},{n:"CAR_getinL_LHS",d:1},{n:"CAR_getinL_RHS",d:1},{n:"CAR_getin_LHS",d:1},{n:"CAR_getin_RHS",d:1},{n:"CAR_getoutL_LHS",d:.93},{n:"CAR_getoutL_RHS",d:1},{n:"CAR_getout_LHS",d:1.13},{n:"CAR_getout_RHS",d:.8},{n:"car_hookertalk",d:4.3},{n:"CAR_jackedLHS",d:2.9},{n:"CAR_jackedRHS",d:3.43},{n:"CAR_jumpin_LHS",d:1},{n:"CAR_LB",d:.23},{n:"CAR_LB_pro",d:.1},{n:"CAR_LB_weak",d:.23},{n:"CAR_LjackedLHS",d:3.57},{n:"CAR_LjackedRHS",d:3.47},{n:"CAR_Lshuffle_RHS",d:.4},{n:"CAR_Lsit",d:.03},{n:"CAR_open_LHS",d:1.1},{n:"CAR_open_RHS",d:1.1},{n:"CAR_pulloutL_LHS",d:2.93},{n:"CAR_pulloutL_RHS",d:2.93},{n:"CAR_pullout_LHS",d:2.3},{n:"CAR_pullout_RHS",d:2.8},{n:"CAR_Qjacked",d:3.3},{n:"CAR_rolldoor",d:.6},{n:"CAR_rolldoorLO",d:.6},{n:"CAR_rollout_LHS",d:1.63},{n:"CAR_rollout_RHS",d:1.27},{n:"CAR_shuffle_RHS",d:.4},{n:"CAR_sit",d:.03},{n:"CAR_sitp",d:.03},{n:"CAR_sitpLO",d:.03},{n:"CAR_sit_pro",d:.03},{n:"CAR_sit_weak",d:.03},{n:"CAR_tune_radio",d:.63},{n:"CLIMB_idle",d:.8},{n:"CLIMB_jump",d:.57},{n:"CLIMB_jump2fall",d:.03},{n:"CLIMB_jump_B",d:.97},{n:"CLIMB_Pull",d:.87},{n:"CLIMB_Stand",d:.8},{n:"CLIMB_Stand_finish",d:.2},{n:"cower",d:.8},{n:"Crouch_Roll_L",d:.93},{n:"Crouch_Roll_R",d:.93},{n:"DAM_armL_frmBK",d:.83},{n:"DAM_armL_frmFT",d:.83},{n:"DAM_armL_frmLT",d:.67},{n:"DAM_armR_frmBK",d:.83},{n:"DAM_armR_frmFT",d:.5},{n:"DAM_armR_frmRT",d:.27},{n:"DAM_LegL_frmBK",d:.83},{n:"DAM_LegL_frmFT",d:.83},{n:"DAM_LegL_frmLT",d:.83},{n:"DAM_LegR_frmBK",d:.83},{n:"DAM_LegR_frmFT",d:.83},{n:"DAM_LegR_frmRT",d:.83},{n:"DAM_stomach_frmBK",d:.83},{n:"DAM_stomach_frmFT",d:.83},{n:"DAM_stomach_frmLT",d:.83},{n:"DAM_stomach_frmRT",d:.83},{n:"DOOR_LHinge_O",d:1.07},{n:"DOOR_RHinge_O",d:1.07},{n:"DrivebyL_L",d:.2},{n:"DrivebyL_R",d:.2},{n:"Driveby_L",d:.2},{n:"Driveby_R",d:.2},{n:"DRIVE_BOAT",d:.03},{n:"DRIVE_BOAT_back",d:.1},{n:"DRIVE_BOAT_L",d:.1},{n:"DRIVE_BOAT_R",d:.1},{n:"Drive_L",d:.13},{n:"Drive_LO_l",d:.13},{n:"Drive_LO_R",d:.13},{n:"Drive_L_pro",d:.13},{n:"Drive_L_pro_slow",d:.13},{n:"Drive_L_slow",d:.13},{n:"Drive_L_weak",d:.13},{n:"Drive_L_weak_slow",d:.13},{n:"Drive_R",d:.13},{n:"Drive_R_pro",d:.13},{n:"Drive_R_pro_slow",d:.13},{n:"Drive_R_slow",d:.13},{n:"Drive_R_weak",d:.13},{n:"Drive_R_weak_slow",d:.13},{n:"Drive_truck",d:.03},{n:"DRIVE_truck_back",d:.1},{n:"DRIVE_truck_L",d:.13},{n:"DRIVE_truck_R",d:.13},{n:"Drown",d:2.5},{n:"DUCK_cower",d:.8},{n:"endchat_01",d:2},{n:"endchat_02",d:2},{n:"endchat_03",d:2.33},{n:"EV_dive",d:2.33},{n:"EV_step",d:1.07},{n:"facanger",d:.13},{n:"facgum",d:1.03},{n:"facsurp",d:.13},{n:"facsurpm",d:.13},{n:"factalk",d:2.33},{n:"facurios",d:.13},{n:"FALL_back",d:.73},{n:"FALL_collapse",d:1},{n:"FALL_fall",d:.73},{n:"FALL_front",d:.73},{n:"FALL_glide",d:.8},{n:"FALL_land",d:.47},{n:"FALL_skyDive",d:1.33},{n:"Fight2Idle",d:.33},{n:"FightA_1",d:.43},{n:"FightA_2",d:.77},{n:"FightA_3",d:.87},{n:"FightA_block",d:.47},{n:"FightA_G",d:.93},{n:"FightA_M",d:.4},{n:"FIGHTIDLE",d:1.3},{n:"FightShB",d:.47},{n:"FightShF",d:.53},{n:"FightSh_BWD",d:.67},{n:"FightSh_FWD",d:.67},{n:"FightSh_Left",d:.67},{n:"FightSh_Right",d:.67},{n:"flee_lkaround_01",d:2},{n:"FLOOR_hit",d:.37},{n:"FLOOR_hit_f",d:.4},{n:"fucku",d:1.33},{n:"gang_gunstand",d:.03},{n:"gas_cwr",d:1},{n:"getup",d:1.37},{n:"getup_front",d:1.37},{n:"gum_eat",d:5.33},{n:"GunCrouchBwd",d:1},{n:"GunCrouchFwd",d:.73},{n:"GunMove_BWD",d:1.03},{n:"GunMove_FWD",d:1},{n:"GunMove_L",d:1},{n:"GunMove_R",d:1},{n:"Gun_2_IDLE",d:.27},{n:"GUN_BUTT",d:.43},{n:"GUN_BUTT_crouch",d:.43},{n:"Gun_stand",d:.03},{n:"handscower",d:1.93},{n:"handsup",d:.6},{n:"HitA_1",d:.3},{n:"HitA_2",d:.53},{n:"HitA_3",d:.57},{n:"HIT_back",d:.5},{n:"HIT_behind",d:.67},{n:"HIT_front",d:.6},{n:"HIT_GUN_BUTT",d:.5},{n:"HIT_L",d:.7},{n:"HIT_R",d:.6},{n:"HIT_walk",d:.33},{n:"HIT_wall",d:.7},{n:"Idlestance_fat",d:1.67},{n:"idlestance_old",d:2},{n:"IDLE_armed",d:1.47},{n:"IDLE_chat",d:6.67},{n:"IDLE_csaw",d:1.53},{n:"Idle_Gang1",d:1.67},{n:"IDLE_HBHB",d:2.67},{n:"IDLE_ROCKET",d:1.57},{n:"IDLE_stance",d:1.5},{n:"IDLE_taxi",d:.87},{n:"IDLE_tired",d:1},{n:"Jetpack_Idle",d:.03},{n:"JOG_femaleA",d:.77},{n:"JOG_maleA",d:.77},{n:"JUMP_glide",d:.5},{n:"JUMP_land",d:.23},{n:"JUMP_launch",d:.2},{n:"JUMP_launch_R",d:.2},{n:"KART_drive",d:.03},{n:"KART_L",d:.13},{n:"KART_LB",d:.03},{n:"KART_R",d:.13},{n:"KD_left",d:.9},{n:"KD_right",d:.9},{n:"KO_shot_face",d:2.1},{n:"KO_shot_front",d:.57},{n:"KO_shot_stom",d:3.17},{n:"KO_skid_back",d:.97},{n:"KO_skid_front",d:1.13},{n:"KO_spin_L",d:.87},{n:"KO_spin_R",d:.93},{n:"pass_Smoke_in_car",d:1.73},{n:"phone_in",d:2.33},{n:"phone_out",d:2},{n:"phone_talk",d:2},{n:"Player_Sneak",d:1.33},{n:"Player_Sneak_walkstart",d:.3},{n:"roadcross",d:2},{n:"roadcross_female",d:4},{n:"roadcross_gang",d:2},{n:"roadcross_old",d:4},{n:"run_1armed",d:.77},{n:"run_armed",d:.7},{n:"run_civi",d:.73},{n:"run_csaw",d:.7},{n:"run_fat",d:.8},{n:"run_fatold",d:.8},{n:"run_gang1",d:.83},{n:"run_left",d:.67},{n:"run_old",d:.8},{n:"run_player",d:.73},{n:"run_right",d:.67},{n:"run_rocket",d:.77},{n:"Run_stop",d:.87},{n:"Run_stopR",d:.8},{n:"Run_Wuzi",d:.77},{n:"SEAT_down",d:1.5},{n:"SEAT_idle",d:2},{n:"SEAT_up",d:1.17},{n:"SHOT_leftP",d:.3},{n:"SHOT_partial",d:.37},{n:"SHOT_partial_B",d:.33},{n:"SHOT_rightP",d:.33},{n:"Shove_Partial",d:.53},{n:"Smoke_in_car",d:1.73},{n:"sprint_civi",d:.53},{n:"sprint_panic",d:.6},{n:"Sprint_Wuzi",d:.67},{n:"swat_run",d:.67},{n:"Swim_Tread",d:1.3},{n:"Tap_hand",d:.03},{n:"Tap_handP",d:.03},{n:"turn_180",d:.63},{n:"Turn_L",d:.8},{n:"Turn_R",d:.8},{n:"WALK_armed",d:1.07},{n:"WALK_civi",d:1.13},{n:"WALK_csaw",d:1.07},{n:"Walk_DoorPartial",d:.8},{n:"WALK_drunk",d:3.93},{n:"WALK_fat",d:1.33},{n:"WALK_fatold",d:1.17},{n:"WALK_gang1",d:1.4},{n:"WALK_gang2",d:1.4},{n:"WALK_old",d:1.4},{n:"WALK_player",d:1.2},{n:"WALK_rocket",d:1.07},{n:"WALK_shuffle",d:1.2},{n:"WALK_start",d:.27},{n:"WALK_start_armed",d:.2},{n:"WALK_start_csaw",d:.2},{n:"WALK_start_rocket",d:.2},{n:"Walk_Wuzi",d:1.17},{n:"WEAPON_crouch",d:.8},{n:"woman_idlestance",d:5.33},{n:"woman_run",d:.77},{n:"WOMAN_runbusy",d:.67},{n:"WOMAN_runfatold",d:1.2},{n:"woman_runpanic",d:.6},{n:"WOMAN_runsexy",d:.7},{n:"WOMAN_walkbusy",d:1},{n:"WOMAN_walkfatold",d:1.2},{n:"WOMAN_walknorm",d:1.13},{n:"WOMAN_walkold",d:1.2},{n:"WOMAN_walkpro",d:1.33},{n:"WOMAN_walksexy",d:1.17},{n:"WOMAN_walkshop",d:.97},{n:"XPRESSscratch",d:3.97}]],["PLAYER_DVBYS",[{n:"Plyr_DrivebyBwd",d:.83},{n:"Plyr_DrivebyFwd",d:.83},{n:"Plyr_DrivebyLHS",d:.83},{n:"Plyr_DrivebyRHS",d:.83}]],["PLAYIDLES",[{n:"shift",d:3.6},{n:"shldr",d:2.17},{n:"stretch",d:4.6},{n:"strleg",d:3.67},{n:"time",d:5.2}]],["POLICE",[{n:"CopTraf_Away",d:1.47},{n:"CopTraf_Come",d:2.87},{n:"CopTraf_Left",d:2},{n:"CopTraf_Stop",d:2},{n:"COP_getoutcar_LHS",d:.83},{n:"Cop_move_FWD",d:1},{n:"crm_drgbst_01",d:18.57},{n:"Door_Kick",d:1.33},{n:"plc_drgbst_01",d:20.6},{n:"plc_drgbst_02",d:7.57}]],["POOL",[{n:"POOL_ChalkCue",d:4.83},{n:"POOL_Idle_Stance",d:2},{n:"POOL_Long_Shot",d:1.67},{n:"POOL_Long_Shot_O",d:1.67},{n:"POOL_Long_Start",d:.67},{n:"POOL_Long_Start_O",d:.67},{n:"POOL_Med_Shot",d:1.67},{n:"POOL_Med_Shot_O",d:1.67},{n:"POOL_Med_Start",d:.67},{n:"POOL_Med_Start_O",d:.67},{n:"POOL_Place_White",d:2.5},{n:"POOL_Short_Shot",d:1.67},{n:"POOL_Short_Shot_O",d:1.67},{n:"POOL_Short_Start",d:.67},{n:"POOL_Short_Start_O",d:.67},{n:"POOL_Walk",d:1.27},{n:"POOL_Walk_Start",d:.2},{n:"POOL_XLong_Shot",d:1.67},{n:"POOL_XLong_Shot_O",d:1.67},{n:"POOL_XLong_Start",d:.67},{n:"POOL_XLong_Start_O",d:.67}]],["POOR",[{n:"WINWASH_Start",d:.43},{n:"WINWASH_Wash2Beg",d:2.13}]],["PYTHON",[{n:"python_crouchfire",d:1.2},{n:"python_crouchreload",d:1},{n:"python_fire",d:1.17},{n:"python_fire_poor",d:1.47},{n:"python_reload",d:.93}]],["QUAD",[{n:"QUAD_back",d:.1},{n:"QUAD_driveby_FT",d:.2},{n:"QUAD_driveby_LHS",d:.2},{n:"QUAD_driveby_RHS",d:.2},{n:"QUAD_FWD",d:.2},{n:"QUAD_getoff_B",d:1.63},{n:"QUAD_getoff_LHS",d:.67},{n:"QUAD_getoff_RHS",d:.7},{n:"QUAD_geton_LHS",d:.73},{n:"QUAD_geton_RHS",d:.73},{n:"QUAD_hit",d:.03},{n:"QUAD_kick",d:1.13},{n:"QUAD_Left",d:.13},{n:"QUAD_passenger",d:.03},{n:"QUAD_reverse",d:.17},{n:"QUAD_ride",d:.03},{n:"QUAD_Right",d:.13}]],["QUAD_DBZ",[{n:"Pass_Driveby_BWD",d:.83},{n:"Pass_Driveby_FWD",d:.83},{n:"Pass_Driveby_LHS",d:.83},{n:"Pass_Driveby_RHS",d:.83}]],["RAPPING",[{n:"Laugh_01",d:5.33},{n:"RAP_A_IN",d:.83},{n:"RAP_A_Loop",d:2.67},{n:"RAP_A_OUT",d:.33},{n:"RAP_B_IN",d:1},{n:"RAP_B_Loop",d:2.67},{n:"RAP_B_OUT",d:.87},{n:"RAP_C_Loop",d:3}]],["RIFLE",[{n:"RIFLE_crouchfire",d:.87},{n:"RIFLE_crouchload",d:1.27},{n:"RIFLE_fire",d:.8},{n:"RIFLE_fire_poor",d:.8},{n:"RIFLE_load",d:1.4}]],["RIOT",[{n:"RIOT_ANGRY",d:5},{n:"RIOT_ANGRY_B",d:.63},{n:"RIOT_challenge",d:3.23},{n:"RIOT_CHANT",d:1.73},{n:"RIOT_FUKU",d:.67},{n:"RIOT_PUNCHES",d:.67},{n:"RIOT_shout",d:1}]],["ROB_BANK",[{n:"CAT_Safe_End",d:.5},{n:"CAT_Safe_Open",d:3.33},{n:"CAT_Safe_Open_O",d:3.33},{n:"CAT_Safe_Rob",d:1.83},{n:"SHP_HandsUp_Scr",d:.67}]],["ROCKET",[{n:"idle_rocket",d:1.6},{n:"RocketFire",d:.97},{n:"run_rocket",d:.77},{n:"walk_rocket",d:1.07},{n:"WALK_start_rocket",d:.2}]],["RUNNINGMAN",[{n:"Dance_B1",d:.53},{n:"Dance_B2",d:.57},{n:"Dance_B3",d:.53},{n:"Dance_B4",d:.57},{n:"Dance_B5",d:.53},{n:"Dance_B6",d:.57},{n:"Dance_B7",d:.53},{n:"Dance_B8",d:.57},{n:"Dance_B9",d:.53},{n:"Dance_B10",d:.57},{n:"Dance_B11",d:.53},{n:"Dance_B12",d:.57},{n:"Dance_B13",d:.53},{n:"Dance_B14",d:.57},{n:"Dance_B15",d:.53},{n:"Dance_B16",d:.57},{n:"Dance_G1",d:.53},{n:"Dance_G2",d:.57},{n:"Dance_G3",d:.53},{n:"Dance_G4",d:.57},{n:"Dance_G5",d:.53},{n:"Dance_G6",d:.57},{n:"Dance_G7",d:.53},{n:"Dance_G8",d:.57},{n:"Dance_G9",d:.53},{n:"Dance_G10",d:.57},{n:"Dance_G11",d:.53},{n:"Dance_G12",d:.57},{n:"Dance_G13",d:.53},{n:"Dance_G14",d:.57},{n:"Dance_G15",d:.53},{n:"Dance_G16",d:.57},{n:"dance_loop",d:1.17}]],["RUSTLER",[{n:"Plane_align_LHS",d:.73},{n:"Plane_close",d:.4},{n:"Plane_getin",d:.8},{n:"Plane_getout",d:1.57},{n:"Plane_open",d:.7}]],["RYDER",[{n:"RYD_Beckon_01",d:1.23},{n:"RYD_Beckon_02",d:1},{n:"RYD_Beckon_03",d:1.07},{n:"RYD_Die_PT1",d:4},{n:"RYD_Die_PT2",d:7.93},{n:"Van_Crate_L",d:.67},{n:"Van_Crate_R",d:.67},{n:"Van_Fall_L",d:.47},{n:"Van_Fall_R",d:.93},{n:"Van_Lean_L",d:.67},{n:"Van_Lean_R",d:.67},{n:"VAN_PickUp_E",d:1.83},{n:"VAN_PickUp_S",d:1.5},{n:"Van_Stand",d:.67},{n:"Van_Stand_Crate",d:.67},{n:"Van_Throw",d:1.37}]],["SAMP",[{n:"FishingIdle",d:1}]],["SCRATCHING",[{n:"scdldlp",d:.67},{n:"scdlulp",d:.67},{n:"scdrdlp",d:.67},{n:"scdrulp",d:.67},{n:"sclng_l",d:1},{n:"sclng_r",d:1},{n:"scmid_l",d:.47},{n:"scmid_r",d:.47},{n:"scshrtl",d:.2},{n:"scshrtr",d:.2},{n:"sc_ltor",d:.67},{n:"sc_rtol",d:.67}]],["SHAMAL",[{n:"SHAMAL_align",d:.2},{n:"SHAMAL_getin_LHS",d:1.4},{n:"SHAMAL_getout_LHS",d:1.37},{n:"SHAMAL_open",d:.6}]],["SHOP",[{n:"ROB_2Idle",d:1.17},{n:"ROB_Loop",d:2.67},{n:"ROB_Loop_Threat",d:2},{n:"ROB_Shifty",d:5.67},{n:"ROB_StickUp_In",d:.53},{n:"SHP_Duck",d:.67},{n:"SHP_Duck_Aim",d:.33},{n:"SHP_Duck_Fire",d:.83},{n:"SHP_Gun_Aim",d:.63},{n:"SHP_Gun_Duck",d:.5},{n:"SHP_Gun_Fire",d:.87},{n:"SHP_Gun_Grab",d:.87},{n:"SHP_Gun_Threat",d:.83},{n:"SHP_HandsUp_Scr",d:.67},{n:"SHP_Jump_Glide",d:.33},{n:"SHP_Jump_Land",d:.7},{n:"SHP_Jump_Launch",d:.57},{n:"SHP_Rob_GiveCash",d:3.83},{n:"SHP_Rob_HandsUp",d:2.67},{n:"SHP_Rob_React",d:2.67},{n:"SHP_Serve_End",d:5.5},{n:"SHP_Serve_Idle",d:5},{n:"SHP_Serve_Loop",d:4.17},{n:"SHP_Serve_Start",d:1.33},{n:"Smoke_RYD",d:6.67}]],["SHOTGUN",[{n:"shotgun_crouchfire",d:1.47},{n:"shotgun_fire",d:1.47},{n:"shotgun_fire_poor",d:1.5}]],["SILENCED",[{n:"CrouchReload",d:1},{n:"SilenceCrouchfire",d:.93},{n:"Silence_fire",d:.87},{n:"Silence_reload",d:.93}]],["SKATE",[{n:"skate_idle",d:1},{n:"skate_run",d:.83},{n:"skate_sprint",d:.67}]],["SMOKING",[{n:"F_smklean_loop",d:4},{n:"M_smklean_loop",d:5},{n:"M_smkstnd_loop",d:5.33},{n:"M_smk_drag",d:3.67},{n:"M_smk_in",d:6.67},{n:"M_smk_loop",d:3.33},{n:"M_smk_out",d:3},{n:"M_smk_tap",d:3}]],["SNIPER",[{n:"WEAPON_sniper",d:1.47}]],["SnM",[{n:"SnM_Caned_Idle_P",d:2},{n:"SnM_Caned_Idle_W",d:2},{n:"SnM_Caned_P",d:1.33},{n:"SnM_Caned_W",d:1.33},{n:"SnM_Cane_Idle_P",d:2},{n:"SnM_Cane_Idle_W",d:2},{n:"SnM_Cane_P",d:1.33},{n:"SnM_Cane_W",d:1.33},{n:"SpankedP",d:1.33},{n:"SpankedW",d:1.33},{n:"Spanked_IdleP",d:1.33},{n:"Spanked_IdleW",d:1.33},{n:"SpankingP",d:1.33},{n:"SpankingW",d:1.33},{n:"Spanking_endP",d:6.67},{n:"Spanking_endW",d:6.67},{n:"Spanking_IdleP",d:1.33},{n:"Spanking_IdleW",d:1.33},{n:"Spanking_SittingIdleP",d:1.33},{n:"Spanking_SittingIdleW",d:1.33},{n:"Spanking_SittingP",d:1},{n:"Spanking_SittingW",d:1}]],["SPRAYCAN",[{n:"spraycan_fire",d:2.33},{n:"spraycan_full",d:4.5}]],["STRIP",[{n:"PLY_CASH",d:1.67},{n:"PUN_CASH",d:3.33},{n:"PUN_HOLLER",d:5},{n:"PUN_LOOP",d:1.93},{n:"strip_A",d:2.07},{n:"strip_B",d:1},{n:"strip_C",d:.97},{n:"strip_D",d:1.9},{n:"strip_E",d:3.33},{n:"strip_F",d:1.03},{n:"strip_G",d:2.27},{n:"STR_A2B",d:4},{n:"STR_B2A",d:.5},{n:"STR_B2C",d:5},{n:"STR_C1",d:6},{n:"STR_C2",d:6},{n:"STR_C2B",d:1},{n:"STR_Loop_A",d:1},{n:"STR_Loop_B",d:2},{n:"STR_Loop_C",d:3}]],["SUNBATHE",[{n:"batherdown",d:3.93},{n:"batherup",d:12.3},{n:"Lay_Bac_in",d:2.33},{n:"Lay_Bac_out",d:3},{n:"ParkSit_M_IdleA",d:3.33},{n:"ParkSit_M_IdleB",d:2.67},{n:"ParkSit_M_IdleC",d:4.33},{n:"ParkSit_M_in",d:2.33},{n:"ParkSit_M_out",d:2},{n:"ParkSit_W_idleA",d:3.33},{n:"ParkSit_W_idleB",d:5},{n:"ParkSit_W_idleC",d:3},{n:"ParkSit_W_in",d:4},{n:"ParkSit_W_out",d:2.67},{n:"SBATHE_F_LieB2Sit",d:1.67},{n:"SBATHE_F_Out",d:2},{n:"SitnWait_in_W",d:4.67},{n:"SitnWait_out_W",d:2.67}]],["SWAT",[{n:"gnstwall_injurd",d:2},{n:"JMP_Wall1m_180",d:1.17},{n:"Rail_fall",d:3},{n:"Rail_fall_crawl",d:5.67},{n:"swt_breach_01",d:5.47},{n:"swt_breach_02",d:5.33},{n:"swt_breach_03",d:4.3},{n:"swt_go",d:1.67},{n:"swt_lkt",d:3},{n:"swt_sty",d:1.17},{n:"swt_vent_01",d:4.73},{n:"swt_vent_02",d:4.43},{n:"swt_vnt_sht_die",d:.67},{n:"swt_vnt_sht_in",d:1.6},{n:"swt_vnt_sht_loop",d:.27},{n:"swt_wllpk_L",d:2.67},{n:"swt_wllpk_L_back",d:.5},{n:"swt_wllpk_R",d:3.67},{n:"swt_wllpk_R_back",d:.43},{n:"swt_wllshoot_in_L",d:1},{n:"swt_wllshoot_in_R",d:1.3},{n:"swt_wllshoot_out_L",d:2},{n:"swt_wllshoot_out_R",d:1.43}]],["SWEET",[{n:"ho_ass_slapped",d:2},{n:"LaFin_Player",d:26.67},{n:"LaFin_Sweet",d:26.67},{n:"plyr_hndshldr_01",d:4},{n:"sweet_ass_slap",d:2},{n:"sweet_hndshldr_01",d:4},{n:"Sweet_injuredloop",d:2}]],["SWIM",[{n:"Swim_Breast",d:1.3},{n:"SWIM_crawl",d:.9},{n:"Swim_Dive_Under",d:1.07},{n:"Swim_Glide",d:1.47},{n:"Swim_jumpout",d:.33},{n:"Swim_Tread",d:1.3},{n:"Swim_Under",d:1.5}]],["SWORD",[{n:"sword_1",d:.87},{n:"sword_2",d:1.07},{n:"sword_3",d:.8},{n:"sword_4",d:1.1},{n:"sword_block",d:.47},{n:"Sword_Hit_1",d:.83},{n:"Sword_Hit_2",d:1.03},{n:"Sword_Hit_3",d:.87},{n:"sword_IDLE",d:1},{n:"sword_part",d:.67}]],["TANK",[{n:"TANK_align_LHS",d:1.43},{n:"TANK_close_LHS",d:.33},{n:"TANK_doorlocked",d:.53},{n:"TANK_getin_LHS",d:.43},{n:"TANK_getout_LHS",d:1.97},{n:"TANK_open_LHS",d:.3}]],["TATTOOS",[{n:"TAT_ArmL_In_O",d:.83},{n:"TAT_ArmL_In_P",d:.83},{n:"TAT_ArmL_In_T",d:.83},{n:"TAT_ArmL_Out_O",d:.93},{n:"TAT_ArmL_Out_P",d:2.5},{n:"TAT_ArmL_Out_T",d:.93},{n:"TAT_ArmL_Pose_O",d:.83},{n:"TAT_ArmL_Pose_P",d:.83},{n:"TAT_ArmL_Pose_T",d:.83},{n:"TAT_ArmR_In_O",d:.83},{n:"TAT_ArmR_In_P",d:.83},{n:"TAT_ArmR_In_T",d:.83},{n:"TAT_ArmR_Out_O",d:1},{n:"TAT_ArmR_Out_P",d:2.5},{n:"TAT_ArmR_Out_T",d:1},{n:"TAT_ArmR_Pose_O",d:.83},{n:"TAT_ArmR_Pose_P",d:.83},{n:"TAT_ArmR_Pose_T",d:.83},{n:"TAT_Back_In_O",d:.83},{n:"TAT_Back_In_P",d:.83},{n:"TAT_Back_In_T",d:.83},{n:"TAT_Back_Out_O",d:.93},{n:"TAT_Back_Out_P",d:2.5},{n:"TAT_Back_Out_T",d:.93},{n:"TAT_Back_Pose_O",d:.83},{n:"TAT_Back_Pose_P",d:.83},{n:"TAT_Back_Pose_T",d:.83},{n:"TAT_Back_Sit_In_P",d:.83},{n:"TAT_Back_Sit_Loop_P",d:2.67},{n:"TAT_Back_Sit_Out_P",d:.83},{n:"TAT_Bel_In_O",d:.83},{n:"TAT_Bel_In_T",d:.83},{n:"TAT_Bel_Out_O",d:.97},{n:"TAT_Bel_Out_T",d:.97},{n:"TAT_Bel_Pose_O",d:.83},{n:"TAT_Bel_Pose_T",d:.83},{n:"TAT_Che_In_O",d:.83},{n:"TAT_Che_In_P",d:.83},{n:"TAT_Che_In_T",d:.83},{n:"TAT_Che_Out_O",d:.93},{n:"TAT_Che_Out_P",d:2.5},{n:"TAT_Che_Out_T",d:.93},{n:"TAT_Che_Pose_O",d:.83},{n:"TAT_Che_Pose_P",d:.83},{n:"TAT_Che_Pose_T",d:.83},{n:"TAT_Drop_O",d:.5},{n:"TAT_Idle_Loop_O",d:2.67},{n:"TAT_Idle_Loop_T",d:2.67},{n:"TAT_Sit_In_O",d:2.33},{n:"TAT_Sit_In_P",d:2.33},{n:"TAT_Sit_In_T",d:2.33},{n:"TAT_Sit_Loop_O",d:2.67},{n:"TAT_Sit_Loop_P",d:2.67},{n:"TAT_Sit_Loop_T",d:2.67},{n:"TAT_Sit_Out_O",d:2.83},{n:"TAT_Sit_Out_P",d:2.17},{n:"TAT_Sit_Out_T",d:2.83}]],["TEC",[{n:"TEC_crouchfire",d:.97},{n:"TEC_crouchreload",d:1.33},{n:"TEC_fire",d:1.1},{n:"TEC_reload",d:1.5}]],["TRAIN",[{n:"tran_gtup",d:3.17},{n:"tran_hng",d:2.33},{n:"tran_ouch",d:1.17},{n:"tran_stmb",d:2.33}]],["TRUCK",[{n:"TRUCK_ALIGN_LHS",d:.57},{n:"TRUCK_ALIGN_RHS",d:.57},{n:"TRUCK_closedoor_LHS",d:.4},{n:"TRUCK_closedoor_RHS",d:.4},{n:"TRUCK_close_LHS",d:.73},{n:"TRUCK_close_RHS",d:.73},{n:"TRUCK_getin_LHS",d:.6},{n:"TRUCK_getin_RHS",d:.6},{n:"TRUCK_getout_LHS",d:.8},{n:"TRUCK_getout_RHS",d:.8},{n:"TRUCK_jackedLHS",d:1.73},{n:"TRUCK_jackedRHS",d:1.5},{n:"TRUCK_open_LHS",d:.53},{n:"TRUCK_open_RHS",d:.53},{n:"TRUCK_pullout_LHS",d:.9},{n:"TRUCK_pullout_RHS",d:.9},{n:"TRUCK_Shuffle",d:.4}]],["UZI",[{n:"UZI_crouchfire",d:.63},{n:"UZI_crouchreload",d:1.37},{n:"UZI_fire",d:.57},{n:"UZI_fire_poor",d:.53},{n:"UZI_reload",d:1.4}]],["VAN",[{n:"VAN_close_back_LHS",d:.33},{n:"VAN_close_back_RHS",d:.33},{n:"VAN_getin_Back_LHS",d:.6},{n:"VAN_getin_Back_RHS",d:.6},{n:"VAN_getout_back_LHS",d:.63},{n:"VAN_getout_back_RHS",d:.63},{n:"VAN_open_back_LHS",d:.97},{n:"VAN_open_back_RHS",d:.97}]],["VENDING",[{n:"VEND_Drink2_P",d:3.33},{n:"VEND_Drink_P",d:1.33},{n:"vend_eat1_P",d:4.33},{n:"VEND_Eat_P",d:1.67},{n:"VEND_Use",d:2.6},{n:"VEND_Use_pt2",d:.4}]],["VORTEX",[{n:"CAR_jumpin_LHS",d:1},{n:"CAR_jumpin_RHS",d:.93},{n:"vortex_getout_LHS",d:1},{n:"vortex_getout_RHS",d:1}]],["WAYFARER",[{n:"WF_Back",d:.1},{n:"WF_drivebyFT",d:.2},{n:"WF_drivebyLHS",d:.2},{n:"WF_drivebyRHS",d:.2},{n:"WF_Fwd",d:.2},{n:"WF_getoffBACK",d:1.73},{n:"WF_getoffLHS",d:.9},{n:"WF_getoffRHS",d:.9},{n:"WF_hit",d:.03},{n:"WF_jumponL",d:.9},{n:"WF_jumponR",d:.9},{n:"WF_kick",d:1.03},{n:"WF_Left",d:.13},{n:"WF_passenger",d:.03},{n:"WF_pushes",d:.97},{n:"WF_Ride",d:.03},{n:"WF_Right",d:.13},{n:"WF_Still",d:.03}]],["WEAPONS",[{n:"SHP_1H_Lift",d:1},{n:"SHP_1H_Lift_End",d:.33},{n:"SHP_1H_Ret",d:.83},{n:"SHP_1H_Ret_S",d:.33},{n:"SHP_2H_Lift",d:.93},{n:"SHP_2H_Lift_End",d:.33},{n:"SHP_2H_Ret",d:.9},{n:"SHP_2H_Ret_S",d:.33},{n:"SHP_Ar_Lift",d:1},{n:"SHP_Ar_Lift_End",d:.33},{n:"SHP_Ar_Ret",d:1.17},{n:"SHP_Ar_Ret_S",d:.33},{n:"SHP_G_Lift_In",d:.67},{n:"SHP_G_Lift_Out",d:.67},{n:"SHP_Tray_In",d:.67},{n:"SHP_Tray_Out",d:.67},{n:"SHP_Tray_Pose",d:2.67}]],["WOP",[{n:"Dance_B1",d:1.13},{n:"Dance_B2",d:1.17},{n:"Dance_B3",d:1.13},{n:"Dance_B4",d:1.17},{n:"Dance_B5",d:1.13},{n:"Dance_B6",d:1.17},{n:"Dance_B7",d:1.13},{n:"Dance_B8",d:1.17},{n:"Dance_B9",d:1.13},{n:"Dance_B10",d:1.17},{n:"Dance_B11",d:1.13},{n:"Dance_B12",d:1.17},{n:"Dance_B13",d:1.13},{n:"Dance_B14",d:1.17},{n:"Dance_B15",d:1.13},{n:"Dance_B16",d:1.17},{n:"Dance_G1",d:1.13},{n:"Dance_G2",d:1.17},{n:"Dance_G3",d:1.13},{n:"Dance_G4",d:1.17},{n:"Dance_G5",d:1.13},{n:"Dance_G6",d:1.17},{n:"Dance_G7",d:1.13},{n:"Dance_G8",d:1.17},{n:"Dance_G9",d:1.13},{n:"Dance_G10",d:1.17},{n:"Dance_G11",d:1.13},{n:"Dance_G12",d:1.17},{n:"Dance_G13",d:1.13},{n:"Dance_G14",d:1.17},{n:"Dance_G15",d:1.13},{n:"Dance_G16",d:1.17},{n:"dance_loop",d:1.17}]],["WUZI",[{n:"CS_Dead_Guy",d:5.07},{n:"CS_Plyr_pt1",d:3.77},{n:"CS_Plyr_pt2",d:9.67},{n:"CS_Wuzi_pt1",d:3.77},{n:"CS_Wuzi_pt2",d:9.67},{n:"Walkstart_Idle_01",d:3.17},{n:"Wuzi_follow",d:3},{n:"Wuzi_Greet_Plyr",d:4},{n:"Wuzi_Greet_Wuzi",d:4},{n:"Wuzi_grnd_chk",d:4},{n:"Wuzi_stand_loop",d:2.67},{n:"Wuzi_Walk",d:1.17}]]]),Nd=e=>{const t=Fd.get(e);return t===void 0?!1:t},ut=(e,t)=>{const n=Nd(e);if(n)return n.find(r=>r.n===t)?.d},_e=new Map,ce=(e,t=!1)=>{const n=_e.get(e);return n?(t&&n.reject("[Player]: An attempt to check the player client response timed out"),clearTimeout(n.timeout),_e.delete(e),!0):!1};Sn((e,t,n,r)=>{const i=_e.get(e);return i?(clearTimeout(i.timeout),setTimeout(()=>i.resolve({actionid:t,memaddr:n,retndata:r})),1):0});class L{map=new Map;on(t,n){let r=this.map.get(t);r||(r=new Set,this.map.set(t,r)),r.add(n)}emit(t,n){const r=this.map.get(t);!r||[...r].forEach(i=>i(n))}off(t,n){if(!t){this.map.clear();return}if(!n){this.map.delete(t);return}const r=this.map.get(t);!r||r.delete(n)}}var M=(e=>(e.pause="OnPlayerPause",e.create="OnPlayerEventCreate",e.setCommonProp="OnPlayerSetCommonProp",e))(M||{});const F=new L;class k{_id;_isNpc;_locale=St;_charset=R;_isRecording=!1;lastDrunkLevel=0;lastFps=0;isPaused=!1;lastUpdateTick=0;get id(){return this._id}get locale(){return this._locale}set locale(t){F.emit(M.setCommonProp,{player:this,prop:"_locale",value:t})}get charset(){return this._charset}set charset(t){F.emit(M.setCommonProp,{player:this,prop:"_charset",value:t})}get isRecording(){return this._isRecording}set isRecording(t){F.emit(M.setCommonProp,{player:this,prop:"_isRecording",value:t})}constructor(t){this._id=t,this._isNpc=ar(this.id)}sendClientMessage(t,n){return it(this,t,n)}static sendClientMessageToAll(t,n,r){gt(t,n,r)}sendPlayerMessage(t,n){return at(t,this.id,n)}sendPlayerMessageToAll(t,n){return Pt(t,this.id,n)}isNpc(){return this._isNpc}getFps(){return this.lastFps}getDrunkLevel(){return Ni(this.id)}setDrunkLevel(t){if(t<0||t>5e4)return _.error(new Error("[Player]: player's drunk level ranges from 0 to 50000"));vi(this.id,t)}allowTeleport(t){c.AllowPlayerTeleport(this.id,t)}isTeleportAllowed(){return c.IsPlayerTeleportAllowed(this.id)}enableCameraTarget(t){_s(this.id,t)}enableStuntBonus(t){Is(this.id,t)}getInterior(){return Ei(this.id)}setInterior(t){return Ci(this.id,t)}showPlayerNameTag(t,n){rs(this.id,t.id,n)}setColor(t){Hi(this.id,t)}getColor(){return xi(this.id)}setPlayerMarker(t,n){ns(this.id,t.id,n)}resetMoney(){return Xi(this.id)}getMoney(){return Yi(this.id)}giveMoney(t){return zi(this.id,t)}resetWeapons(){return Ki(this.id)}spawn(){return this.isSpectating()?(this.toggleSpectating(!1),1):yi(this.id)}setHealth(t){return Ti(this.id,t)}getHealth(){return Di(this.id)}toggleClock(t){return na(this.id,t)}toggleControllable(t){return za(this.id,t)}toggleSpectating(t){return Cs(this.id,t)}spectatePlayer(t,n=le.NORMAL){return Es(this.id,t.id,n)}spectateVehicle(t,n=le.NORMAL){return Ts(this.id,t.id,n)}forceClassSelection(){ia(this.id)}kick(){dr(this.id)}ban(){or(this.id)}banEx(t,n){Rt(this.id,t,n)}isAdmin(){return sr(this.id)}isInRangeOfPoint(t,n,r,i){return Ai(this.id,t,n,r,i)}isStreamedIn(t){return fi(this.id,t.id)}setSkin(t,n=!1){return!n&&(t<0||t>311||t==74)||this.getHealth()<=0||this.isInAnyVehicle()||this.getSpecialAction()===Re.DUCK?0:Vi(this.id,t)}getSkin(){return Ui(this.id)}isInAnyVehicle(){return Ps(this.id)}getSpecialAction(){return qa(this.id)}setSpecialAction(t){return $a(this.id,t)}setScore(t){return Mi(this.id,t)}getScore(){return Fi(this.id)}getPing(){return Qi(this.id)||0}setPos(t,n,r){return _t(this.id,t,n,r)}getPos(){if(this.isSpectating()||this.isWasted()||this.getState()===v.NONE)return;const[t,n,r]=gi(this.id);return{x:t,y:n,z:r}}isSpectating(){return this.getState()===v.SPECTATING}isWasted(){return this.getState()===v.WASTED}getState(){return Ji(this.id)}getVersion(){return this.isNpc()?"":kd(this.id)}setVirtualWorld(t){return ps(this.id,t)}getVirtualWorld(){return As(this.id)}removeFromVehicle(){return Za(this.id)}setWantedLevel(t){return t<0||t>6?(_.error("[Player]: player's wanted level ranges from 0 to 6"),0):aa(this.id,t)}getWantedLevel(){return sa(this.id)}setFacingAngle(t){return Pi(this.id,t)}getFacingAngle(){return pi(this.id)}setWeather(t){if(t<0||t>255){_.warn("[Player]: The valid weather value is only 0 to 255");return}ra(this.id,t)}getWeather(){return c.GetPlayerWeather(this.id)}setTime(t,n){if(t<0||t>23){_.warn("[Player]: The valid hour value is only 0 to 23");return}if(n<0||n>59){_.warn("[Player]: The valid minute value is only 0 to 59");return}return ea(this.id,t,n)}getTime(){const[t,n]=ta(this.id);return{hour:t,minute:n}}removeBuilding(t,n,r,i,a){Pa(this.id,t,n,r,i,a)}setTeam(t){t<0||t>C.NO_TEAM||ki(this.id,t)}getTeam(){return Gi(this.id)}setSkillLevel(t,n){if(n<0||n>999){_.warn("[Player]: The valid skill level is only 0 to 999");return}ya(this.id,t,n)}getName(){return Dt(this)}setName(t){return Lt(this,t)}setVelocity(t,n,r){return la(this.id,t,n,r)}getVelocity(){const[t,n,r]=_a(this.id);return{x:t,y:n,z:r}}getKeys(){const[t,n,r]=$i(this.id);return{keys:t,updown:n,leftright:r}}getIp(){return Bd(this.id)}getFightingStyle(){return oa(this.id)}setFightingStyle(t){da(this.id,t)}setArmour(t){return Li(this.id,t)}getArmour(){return Ri(this.id)}setCameraBehind(){return ss(this.id)}setCameraPos(t,n,r){return is(this.id,t,n,r)}setCameraLookAt(t,n,r,i){return as(this.id,t,n,r,i)}getCameraAspectRatio(){return us(this.id)}getCameraFrontVector(){const[t,n,r]=os(this.id);return{x:t,y:n,z:r}}getCameraMode(){return ls(this.id)}getCameraPos(){const[t,n,r]=ds(this.id);return{x:t,y:n,z:r}}getCameraTargetPlayer(t){const n=hs(this.id);return t.find(r=>r.id===n)}getCameraTargetVehicle(t){const n=cs(this.id);return t.find(r=>r.id===n)}getCameraZoom(){return ms(this.id)}playAudioStream(t,n=0,r=0,i=0,a=5){let s=!1;return(n!==0||r!==0||i!==0)&&(s=!0),ha(this.id,t,n,r,i,a,s)}stopAudioStream(){ua(this.id)}playSound(t,n=0,r=0,i=0){return Xa(this.id,t,n,r,i)}static getPoolSize(){return Gn()}static getMaxPlayers(){return wn()}playCrimeReport(t,n){return n<3||n>22?(_.warn("[Player]: Available crime ids range from 3 to 22"),0):ca(this.id,t.id,n)}interpolateCameraPos(t,n,r,i,a,s,l,h=oe.CUT){ys(this.id,t,n,r,i,a,s,l,h)}interpolateCameraLookAt(t,n,r,i,a,s,l,h=oe.CUT){Ss(this.id,t,n,r,i,a,s,l,h)}createExplosion(t,n,r,i,a){return i<0||i>13?(_.error("[Player]: The valid explosion type value is only 0 to 13"),0):Os(this.id,t,n,r,i,a)}static isConnected(t){return ct(t)}isConnected(){return ct(this.id)}disableRemoteVehicleCollisions(t){return es(this.id,t)}getVehicle(t){if(!this.isInAnyVehicle())return;const n=Ka(this.id);return t.find(r=>r.id===n)}getVehicleSeat(){return ja(this.id)}getSurfingVehicle(t){const n=Sa(this.id);if(n!==C.VEHICLE_ID)return t.find(r=>r.id===n)}applyAnimation(t,n,r=!1,i=!0,a=!0,s=!1,l=!1){const h=ut(t,n);if(h===void 0)return _.error("[Player]: Invalid anim library or name");Ya(this.id,t,n,4.1,r,i,a,s,r?0:h,l)}clearAnimations(t=!1){Ja(this.id,t)}getAnimationIndex(){return Qa(this.id)}getAnimationName(){const[t,n]=wd(this.getAnimationIndex());return{animLib:t,animName:n}}setShopName(t){ma(this.id,t)}setPosFindZ(t,n,r=150){return new Promise(i=>{_t(this.id,t,n,r),setTimeout(()=>i(Si(this.id,t,n,r)))})}setWorldBounds(t,n,r,i){ts(this.id,t,n,r,i)}setChatBubble(t,n,r,i){Ua(this.id,t,n,r,i)}getDistanceFromPoint(t,n,r){return Ii(this.id,t,n,r)}getCustomSkin(){return Td(this.id)}getTargetPlayer(t){const n=wi(this.id);if(n!==C.PLAYER_ID)return t.find(r=>r.id===n)}getLastShotVectors(){const[t,n,r,i,a,s]=pa(this.id);return{fOriginX:t,fOriginY:n,fOriginZ:r,fHitPosX:i,fHitPosY:a,fHitPosZ:s}}getWeapon(){return qi(this.id)}getWeaponData(t){if(t<0||t>12){_.error("[Player]: weapon slots range from 0 to 12");return}const[n,r]=Zi(this.id,t);return{weapons:n,ammo:r}}getWeaponState(){return Bi(this.id)}giveWeapon(t,n){return Wi(this.id,t,n)}setAmmo(t,n){return bi(this.id,t,n)}getAmmo(){return Oi(this.id)}setArmedWeapon(t){return ji(this.id,t)}clearDeathMessage(){for(let t=0;t<5;t++)this.sendDeathMessageToPlayer(C.PLAYER_ID,C.PLAYER_ID,be.CONNECT)}sendDeathMessage(t,n){Tn(t===C.PLAYER_ID?t:t.id,this.id,n)}sendDeathMessageToPlayer(t,n,r){Dn(this.id,t===C.PLAYER_ID?t:t.id,n===C.PLAYER_ID?n:n.id,r)}setSpawnInfo(t,n,r,i,a,s,l,h,u,y,S,P){t<0||t>C.NO_TEAM||n<0||n>311||n==74||h<0||y<0||P<0||mi(this.id,t,n,r,i,a,s,l,h,u,y,S,P)}redirectDownload(t){return Dd(this.id,t)}sendClientCheck(t,n,r,i){const a=[2,5,69,70,71,72];return a.includes(t)?new Promise((s,l)=>{if(ce(this.id,!0),this.isPaused)return l("[Player]: An attempt to check the player client response, but the player paused the game");const h=new Promise((u,y)=>{const S=this.getPing(),P=(S>=200?0:S)+200;_e.set(this.id,{resolve:u,reject:y,timeout:setTimeout(()=>ce(this.id,!0),P)}),Bs(this.id,t,n,r,i)});h.then(s,l),h.finally(()=>ce(this.id))}):_.error(`[Player]: sendClientCheck valid types are ${a.toString()}`)}selectTextDraw(t){Rs(this.id,t)}cancelSelectTextDraw(){bs(this.id)}beginObjectSelecting(){ci(this.id)}endObjectEditing(){hi(this.id)}getSurfingObject(t){const n=ga(this.id);if(n!==C.OBJECT_ID)return t.get(n)}isAttachedObjectSlotUsed(t){return fa(this.id,t)}setAttachedObject(t,n,r,i,a,s,l,h,u,y,S,P,f,E){return this.isAttachedObjectSlotUsed(t)?0:Aa(this.id,t,n,r,i,a,s,l,h,u,y,S,P,f,E)}removeAttachedObject(t){return this.isAttachedObjectSlotUsed(t)?Ia(this.id,t):0}toggleWidescreen(t){return c.TogglePlayerWidescreen(this.id,t)}isPlayerWidescreenToggled(){return c.IsPlayerWidescreenToggled(this.id)}getSpawnInfo(){return c.GetSpawnInfo(this.id)}getSkillLevel(t){return c.GetPlayerSkillLevel(this.id,t)}isCheckpointActive(){return c.IsPlayerCheckpointActive(this.id)}getCheckpoint(){return c.GetPlayerCheckpoint(this.id)}isRaceCheckpointActive(){return c.IsPlayerRaceCheckpointActive(this.id)}getRaceCheckpoint(){return c.GetPlayerRaceCheckpoint(this.id)}getWorldBounds(){c.GetPlayerWorldBounds(this.id)}isInModShop(){return c.IsPlayerInModShop(this.id)}getSirenState(){return c.GetPlayerSirenState(this.id)}getLandingGearState(){return c.GetPlayerLandingGearState(this.id)}getHydraReactorAngle(){return c.GetPlayerHydraReactorAngle(this.id)}getTrainSpeed(){return c.GetPlayerTrainSpeed(this.id)}getZAim(){return c.GetPlayerZAim(this.id)}getSurfingOffsets(){return c.GetPlayerSurfingOffsets(this.id)}getRotationQuat(){return c.GetPlayerRotationQuat(this.id)}getDialogID(){return c.GetPlayerDialogID(this.id)}getSpectateID(){return c.GetPlayerSpectateID(this.id)}getSpectateType(){return c.GetPlayerSpectateType(this.id)}getRawIp(){return c.GetPlayerRawIp(this.id)}setGravity(t){return c.SetPlayerGravity(this.id,t)}getGravity(){return c.GetPlayerGravity(this.id)}setAdmin(t){return c.SetPlayerAdmin(this.id,t)}isSpawned(){return c.IsPlayerSpawned(this.id)}isControllable(){return c.IsPlayerControllable(this.id)}isCameraTargetEnabled(){return c.IsPlayerCameraTargetEnabled(this.id)}toggleGhostMode(t){return c.TogglePlayerGhostMode(this.id,t)}getGhostMode(){return c.GetPlayerGhostMode(this.id)}getBuildingsRemoved(){return c.GetPlayerBuildingsRemoved(this.id)}getAttachedObject(t){return c.GetPlayerAttachedObject(this.id,t)}removeWeapon(t){return c.RemovePlayerWeapon(this.id,t)}isUsingOfficialClient(){return c.IsPlayerUsingOfficialClient(this.id)}allowWeapons(t){return c.AllowPlayerWeapons(this.id,t)}areWeaponsAllowed(){return c.ArePlayerWeaponsAllowed(this.id)}gpci(t){return _i(this.id,t)}}let he=null,ue=null;F.on(M.create,e=>{ue===null&&(ue=e)}),ot(()=>(!he&&ue&&k.getPoolSize()>-1&&(he=setInterval(()=>{for(const e of ue){const t=e[1];!t.isNpc()&&!t.isPaused&&t.getState()!==v.NONE&&Date.now()-t.lastUpdateTick>1e3&&F.emit(M.pause,t)}},500)),1)),lt(()=>(he&&k.getPoolSize()<=0&&clearInterval(he),1));class vd{eventMap=new Map;on=(t,n,r)=>(n instanceof Array||(n=[n]),n.forEach(i=>{const a=this.eventMap.get(i);if(!a)this.eventMap.set(i,new Map().set(t,r instanceof Array?r:[r]));else{const s=a.get(t);s?(r instanceof Array?r:[r]).forEach(l=>s.push(l)):a.set(t,r instanceof Array?r:[r])}}),()=>this.off(t,n,r));off=(t,n,r)=>{n instanceof Array||(n=[n]),n.forEach(i=>{const a=this.eventMap.get(i);if(!a)return;const s=a.get(t);if(s){r instanceof Array||(r=[r]);for(let l=0;l<s.length;l++){const h=s[l];!r.includes(h)||(s.splice(l,1),l--)}}})}}const Be={format:{code:0,msg:"failed to recognize command (almost never)"},notExist:{code:1,msg:"command does not exist"},rejected:{code:2,msg:"rejected because true/1 was not returned"}};class Z{players=new Map;static cmdBus=new vd;constructor(t){ot(n=>{const r=t(n);return this.players.set(n,r),m(this,"onConnect")(r)}),lt((n,r)=>{const i=this.findPlayerById(n);if(!i)return 0;T.close(i),ce(n,!0);const a=m(this,"onDisconnect")(i,r);return this.players.delete(n),a}),At((n,r)=>{const i=this.findPlayerById(n);return i?m(this,"onText",0)(i,I.decodeFromBuf(r,i.charset)):1}),It((n,r)=>{const i=this.findPlayerById(n);if(!i)return 0;const a=I.decodeFromBuf(r,i.charset),s=a.match(/[^/\s]+/gi);return s===null||s.length===0?(this.onCommandError&&this.onCommandError(i,a,Be.format),0):(this.promiseCommand(i,s),1)}),jt((n,r,i)=>{const a=this.findPlayerById(n);return a?m(this,"onEnterExitModShop")(a,r,i):0}),dn((n,r,i,a)=>{const s=this.findPlayerById(n);return s?m(this,"onClickMap")(s,r,i,a):0}),yn((n,r,i)=>{const a=this.findPlayerById(n);if(!a)return 0;const s=this.findPlayerById(r);return s?m(this,"onClickPlayer")(a,s,i):0}),Ft((n,r,i)=>{const a=m(this,"onDeath"),s=this.findPlayerById(n);if(!s)return 0;if(r===C.PLAYER_ID)return a(s,r,i);const l=this.findPlayerById(r);return l?a(s,l,i):0}),sn((n,r,i,a,s)=>{const l=this.findPlayerById(n);if(!l)return 0;const h=this.findPlayerById(r);return h?m(this,"onGiveDamage")(l,h,i,a,s):0}),qt((n,r,i)=>{const a=this.findPlayerById(n);return a?m(this,"onKeyStateChange")(a,r,i):0}),Ht((n,r)=>{const i=this.findPlayerById(n);return i?m(this,"onRequestClass")(i,r):0}),Wt(n=>{const r=this.findPlayerById(n);return r?m(this,"onRequestSpawn")(r):0}),Mt(n=>{const r=this.findPlayerById(n);return r?m(this,"onSpawn")(r):0}),Ut((n,r,i)=>{const a=this.findPlayerById(n);return a?(i===v.NONE&&(a.lastUpdateTick=Date.now()),m(this,"onStateChange")(a,r,i)):0}),en((n,r)=>{const i=this.findPlayerById(n);if(!i)return 0;const a=this.findPlayerById(r);return a?m(this,"onStreamIn")(i,a):0}),tn((n,r)=>{const i=this.findPlayerById(n);if(!i)return 0;const a=this.findPlayerById(r);return a?m(this,"onStreamOut")(i,a):0}),an((n,r,i,a,s)=>{const l=this.findPlayerById(n);if(!l)return 0;if(r===C.PLAYER_ID)return m(this,"onTakeDamage")(l,r,i,a,s);const h=this.findPlayerById(r);return h?m(this,"onTakeDamage")(l,h,i,a,s):0}),$t(n=>{const r=this.findPlayerById(n);if(!r)return 0;if(!r.isNpc()){const a=Date.now();r.isPaused&&(r.isPaused=!1,this.onResume&&this.onResume(r,a-r.lastUpdateTick)),r.lastUpdateTick=a,Z.fpsHeartbeat(r)}const i=m(this,"throttleUpdate")(r);return i===void 0?0:i}),Qt((n,r,i)=>{const a=this.findPlayerById(n);return a?m(this,"onInteriorChange")(a,r,i):0}),mn((n,r,i)=>{const a=this.findPlayerById(n);return a?m(this,"onRequestDownload")(a,r,i):0}),un((n,r)=>{const i=this.findPlayerById(n);return i?m(this,"onFinishedDownloading")(i,r):0}),F.emit(M.create,this.players),F.on(M.pause,n=>{n.isPaused=!0,this.onPause&&this.onPause(n,n.lastUpdateTick)}),F.on(M.setCommonProp,({player:n,prop:r,value:i})=>{Reflect.set(n,r,i),this.players.set(n.id,n)})}findPlayerById(t){return this.players.get(t)}getPlayersArr(){return[...this.players.values()]}getPlayersMap(){return this.players}throttleUpdate=O.throttle(t=>this.onUpdate&&this.onUpdate(t),60);static fpsHeartbeat=O.throttle(t=>{if(!k.isConnected(t.id))return;const n=t.getDrunkLevel();if(n<100){t.setDrunkLevel(2e3),t.lastDrunkLevel=2e3,t.lastFps=0;return}t.lastFps=t.lastDrunkLevel-n-1,t.lastDrunkLevel=n},1e3);onCommandText=(t,n)=>Z.cmdBus.on(this,t,n);offCommandText=(t,n)=>{Z.cmdBus.off(this,t,n)};promiseCommand=async(t,n)=>{const r=n.join(" "),i=n[0],a=Z.cmdBus.eventMap.get(i);if(!a&&this.onCommandError){this.onCommandError(t,r,Be.notExist);return}const s=a?.get(this);if(!s)return;let l=this.onCommandReceived&&this.onCommandReceived(t,r);if(l!==void 0&&(l instanceof Promise&&(l=await l),!l))return st();s.forEach(async h=>{let u=h.call(this,t,...n.slice(1));if(u instanceof Promise&&(u=await u),u==null&&(u=!1),u){let y=this.onCommandPerformed&&this.onCommandPerformed(t,r);return y instanceof Promise&&(y=await y),y?void 0:st()}m(this,"onCommandError")(t,r,Be.rejected)})}}const Hd=[8,9,10,25,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,96,97,98],xd=[[13,18,19,20,21,24],[1,3,4,5,6,7,13,17,19,20,142,143,144,145],[],[],[0,2,7,13,16,17,19,20,21],[0,1,14,18,19,20,21,23],[],[],[],[],[1,3,7,13,17,19,20,21,23,24],[],[],[],[],[1,3,7,17,18,19,23],[],[],[2,6,16,20,21],[],[1,3,4,5,19,21],[0,14,16,18,19,20,21,23],[7,13,17,19,20,21],[],[],[],[1,3,4,5,6,19,21],[],[],[],null,[],[],[],[],[],[1,3,6,7,13,17,19,20,21,22],[],[],[1,3,7,13,17,23,142,143,144,145],[],[],[],[],[],[],null,[],null,null,[],[],null,null,null,[],[],[],[],[],[],null,null,null,[],[],[],[],null,[],[],[],null,null,[],[],[],[6,7,17,18,19,20,21],[4,5,12,13,20,21,22,24],[],[],null,[],[],null,[],[],[],[],[0,2,4,5,6,13,16,18,19,20,24],[],[3,7,14,17,18,19,20,21,23,142,143,144,145],[0,4,5,6,16],null,[],[],[1,2,3,6,7,11,17,19,20,23,142,143],[],[],[],[13,19,20,21,24],[],[],[],[],[],[],[],[],null,null,[],[],[],[],[],[0,2,4,7,15,16,17,18,19,20,21],[2,3,7,16,17,18,19,20,23,142,143,144,145],[1,3,5,6,7,13,17,18,20,23,142,143,144,145],[],[],null,null,null,[],[],[],[1,7,14,15,17,18,20,21],[],[1,3,6,7,11,12,17,18,19,20,23],[],[],[],[],[100,101,106,122,123,124,125,126,127,178,179,180,185],[109,110,113,114,115,116,117,118,119,120,121],[103,104,105,107,108,128,181,182,183,184],null,null,[],[1,4,6,7,17,18,19,20,23,24,142,143,144,145],[],[14,15,18,19,20,21,144,145],[],[],[],[1,2,4,6,7,17,18,19,23,24,142,143,144,145],[0,3,16,18,19,20,21,142,143],[],[1,3,7,11,12,17,18,19,20,23,142,143,144,145],[1,3,4,5,6,18,19,20,23,142,143,144,145],[2,3,5,6,16,18,19,20,21,23],[],[],[],[],[],[],[88,89,90,91,92,93,94,95,163,164,165,166,167,168],[65,66,67,68,69,70,71,72,158,159,160,161,162,173],[26,27,28,29,30,31,32,33,138,139,140,141,169,170],[55,56,57,58,59,60,61,62,63,64,154,155,156,157],[34,35,36,37,38,39,40,41,146,147,148,149,171,172],[],[],[45,46,47,48,49,50,51,52,53,54,150,151,152,153],[],[102,129,130,131,132,133,186,187,188,189],[],null,null,[],[],[],[],[42,43,44,99,174,175,176,177],[134,135,136,137,190,191,192,193],[],[],[],[1,6,7,17,18,20,23],null,[],[],[],[0,1,2,3,6,7,13,14,15,16,17,18,19,20,21,22,23,24,142,143,144,145],null,[],[],[0,4,5,6,7,13,16,17,18,20,24,144,145],null,[],[],[],[],null,[],[],[],[],[4,5,6,7,13,17,18,20,22],[],[],[1,6,7,17,18,19,20,23,24,142,143,144,145],[],[],[],[],[],[],[],[]],Vd=(e,t)=>{if(!Ud(e))return _.error("[vehicleUtils]: Invalid model id"),!1;const n=xd[e-400];if(n===null)return!1;const r=t-1e3;return Hd.includes(r)||n.includes(r)},Ud=e=>e>=400&&e<=611,Wd=(e,t)=>{if(t<0||t>2)return!1;const n=new Map([[483,0],[534,2],[535,2],[536,2],[558,2],[559,2],[560,2],[561,2],[562,2],[565,2],[567,2],[575,1],[576,2]]).get(e);return n===void 0?!1:t<=n};var X=(e=>(e.created="OnVehicleCreate",e.destroyed="OnVehicleDestroy",e))(X||{});const me=new L;class V{_id=-1;static createdCount=0;sourceInfo;isStatic;get id(){return this._id}constructor(t,n=!1){this.sourceInfo=t,this.isStatic=n}create(t=!1){if(this.id!==-1)return _.warn("[Vehicle]: Unable to create the vehicle again");if(V.createdCount===B.MAX_VEHICLES)return _.warn("[Vehicle]: Unable to continue to create vehicle, maximum allowable quantity has been reached");const{modelid:n,x:r,y:i,z:a,z_angle:s,colour1:l,colour2:h,respawn_delay:u,addsiren:y}=this.sourceInfo;if(!(!t&&(n<400||n>611))){if(this.isStatic){if(u===void 0){this._id=xn(n,r,i,a,s,l,h);return}this._id=Vn(n,r,i,a,s,l,h,u||-1,y||!1)}else this._id=ws(n,r,i,a,s,l,h,u||-1,y||!1);V.createdCount++,me.emit(X.created,this)}}destroy(){if(this.id===-1)return _.warn("[Vehicle]: Unable to destroy the vehicle before create");ks(this.id),V.createdCount--,me.emit(X.destroyed,this),this._id=-1}addComponent(t){return this.id===-1?0:Vd(this.getModel(),t)?qs(this.id,t):(_.warn(`[Vehicle]: Invalid component id ${t} attempted to attach to the vehicle ${this}`),0)}removeComponent(t){return this.getComponentInSlot(V.getComponentType(t))===0?(_.warn(`[Vehicle]: component id ${t} does not exist on this vehicle`),0):$s(this.id,t)}getComponentInSlot(t){return _d(this.id,t)}static getComponentType(t){return cd(t)}linkToInterior(t){return this.id===-1?0:Qs(this.id,t)}setVirtualWorld(t){return this.id===-1?0:pd(this.id,t)}getVirtualWorld(){return this.id===-1?0:Ad(this.id)}repair(){return this.id===-1?0:hd(this.id)}setPos(t,n,r){return this.id===-1?0:Fs(this.id,t,n,r)}getPos(){if(this.id!==-1)return Ms(this.id)}getHealth(){return this.id===-1?0:rd(this.id)}setHealth(t){return this.id===-1?0:nd(this.id,t)}isPlayerIn(t){return this.id===-1?!1:gs(t.id,this.id)}putPlayerIn(t,n){return this.id===-1||n<0?0:(n>4&&_.warn("[Vehicle]: If the seat is invalid or is taken, will cause a crash when they EXIT the vehicle."),Wa(t.id,this.id,n))}getZAngle(){return this.id===-1?0:Ns(this.id)}setZAngle(t){return this.id===-1?0:xs(this.id,t)}setNumberPlate(t){return this.id===-1?0:t.length<1||t.length>32?(_.error("[Vehicle]: The length of the number plate ranges from 32 characters"),0):/^[a-zA-Z0-9]+$/.test(t)?od(this.id,t):(_.error("[Vehicle]: number plates only allow letters and numbers"),0)}static getPoolSize(){return Mn()}changeColours(t,n){return this.id===-1?0:ed(this.id,t,n)}setVelocity(t,n,r){return this.id===-1?0:md(this.id,t,n,r)}getVelocity(){if(this.id===-1)return;const[t,n,r]=ud(this.id);return{x:t,y:n,z:r}}setAngularVelocity(t,n,r){return this.id===-1?0:yd(this.id,t,n,r)}getDamageStatus(){if(this.id!==-1)return Sd(this.id)}updateDamageStatus(t,n,r,i){this.id!==-1&&gd(this.id,t,n,r,i)}getDistanceFromPoint(t,n,r){return Hs(this.id,t,n,r)}getModel(){return ld(this.id)}static getModelInfo(t,n){return Pd(t,n)}getModelInfo(t){if(this.id!==-1)return V.getModelInfo(this.getModel(),t)}getRotationQuat(){if(this.id===-1)return;const[t,n,r,i]=vs(this.id);return{w:t,x:n,y:r,z:i}}setRespawn(){return this.id===-1?0:Js(this.id)}isStreamedIn(t){return this.id===-1?!1:Gs(this.id,t.id)}setParamsCarDoors(t,n,r,i){return this.id===-1?0:Zs(this.id,t,n,r,i)}setParamsCarWindows(t,n,r,i){return this.id===-1?0:Xs(this.id,t,n,r,i)}getParamsCarDoors(){if(this.id!==-1)return zs(this.id)}getParamsCarWindows(){if(this.id!==-1)return Ys(this.id)}setParamsEx(t,n,r,i,a,s,l){return this.id===-1?0:Ws(this.id,t,n,r,i,a,s,l)}getParamsEx(){if(this.id===-1)return;const[t,n,r,i,a,s,l]=Ks(this.id);return{engine:t,lights:n,alarm:r,doors:i,bonnet:a,boot:s,objective:l}}getParamsSirenState(){return this.id===-1?-2:js(this.id)}setParamsForPlayer(t,n,r){return this.id===-1?0:Vs(this.id,t.id,n,r)}isTrailerAttached(){return this.id===-1?!1:sd(this.id)}changePaintjob(t){return this.id===-1||!Wd(this.getModel(),t)?0:(this.changeColours("#fff","#fff"),td(this.id,t),1)}attachTrailer(t){return this.id===-1?0:id(t.id,this.id)}detachTrailer(){this.id!==-1&&this.isTrailerAttached()&&ad(this.id)}getTrailer(t){if(this.id!==-1)return t.find(n=>n.id===dd(this.id))}isValid(){return ht(this.id)}static isValid(t){return ht(t)}getMatrix(){if(this.id!==-1)return c.GetVehicleMatrix(this.id)}getTrainSpeed(){return this.id===-1?0:c.GetVehicleTrainSpeed(this.id)}getHydraReactorAngle(){return this.id===-1?0:c.GetVehicleHydraReactorAngle(this.id)}getLandingGearState(){return this.id===-1?0:c.GetVehicleLandingGearState(this.id)}getSirenState(){return this.id===-1?0:c.GetVehicleSirenState(this.id)}static getModelsUsed=c.GetVehicleModelsUsed;getDriver(t){if(this.id!==-1)return t.get(c.GetVehicleDriver(this.id))}getLastDriver(t){if(this.id!==-1)return t.get(c.GetVehicleLastDriver(this.id))}static getModelCount=c.GetVehicleModelCount;isSirenEnabled(){return c.IsVehicleSirenEnabled(this.id)}toggleSirenEnabled(t){return this.id===-1?0:c.ToggleVehicleSirenEnabled(this.id,t)}isDead(){return this.id===-1?!0:c.IsVehicleDead(this.id)}getRespawnTick(){return this.id===-1?0:c.GetVehicleRespawnTick(this.id)}isOccupied(){return this.id===-1?!1:c.IsVehicleOccupied(this.id)}hasBeenOccupied(){return this.id===-1?!1:c.HasVehicleBeenOccupied(this.id)}getOccupiedTick(){return this.id===-1?0:c.GetVehicleOccupiedTick(this.id)}getCab(){return this.id===-1?0:c.GetVehicleCab(this.id)}getRespawnDelay(){return this.id===-1?0:c.GetVehicleRespawnDelay(this.id)}setRespawnDelay(t){return this.id===-1?0:c.SetVehicleRespawnDelay(this.id,t)}getNumberPlate(){return this.id===-1?"":c.GetVehicleNumberPlate(this.id)}getInterior(){return this.id===-1?0:c.GetVehicleInterior(this.id)}getPaintjob(){return this.id===-1?-1:c.GetVehiclePaintjob(this.id)}getColours(){if(this.id!==-1)return c.GetVehicleColours(this.id)}setSpawnInfo(t,n,r,i,a,s,l,h=-2,u=-2,y=!1){return this.id===-1||!y&&(t<400||t>611)?0:c.SetVehicleSpawnInfo(this.id,t,n,r,i,a,p(s),p(l),h,u)}getSpawnInfo(){if(this.id!==-1)return c.GetVehicleSpawnInfo(this.id)}}class Kd{vehicles=new Map;players;constructor(t,n=!0){this.players=t,me.on(X.created,r=>{this.vehicles.set(r.id,r)}),me.on(X.destroyed,r=>{this.vehicles.delete(r.id)}),n&&D(()=>{this.vehicles.forEach(r=>r.destroy()),this.vehicles.clear()}),Xt((r,i)=>{const a=this.findVehicleById(r);if(!a)return 0;const s=this.findPlayerById(i);return s?m(this,"onDamageStatusUpdate")(a,s):0}),vt((r,i)=>{const a=this.findVehicleById(r);if(!a)return 0;const s=this.findPlayerById(i);return s?m(this,"onDeath")(a,s):0}),Kt((r,i,a)=>{const s=this.findPlayerById(r);if(!s)return 1;const l=this.findVehicleById(i);return l?m(this,"onMod")(s,l,a):1}),Zt((r,i,a)=>{const s=this.findPlayerById(r);if(!s)return 1;const l=this.findVehicleById(i);return l?m(this,"onPaintjob")(s,l,a):1}),zt((r,i,a,s)=>{const l=this.findPlayerById(r);if(!l)return 1;const h=this.findVehicleById(i);return h?m(this,"onRespray")(l,h,a,s):1}),hn((r,i,a)=>{const s=this.findPlayerById(r);if(!s)return 0;const l=this.findVehicleById(i);return l?m(this,"onSirenStateChange")(s,l,Boolean(a)):0}),Nt(r=>{const i=this.findVehicleById(r);return i?m(this,"onSpawn")(i):1}),nn((r,i)=>{const a=this.findVehicleById(r);if(!a)return 0;const s=this.findPlayerById(i);return s?m(this,"onStreamIn")(a,s):0}),rn((r,i)=>{const a=this.findVehicleById(r);if(!a)return 0;const s=this.findPlayerById(i);return s?m(this,"onStreamOut")(a,s):0}),xt((r,i,a)=>{const s=this.findPlayerById(r);if(!s)return 0;const l=this.findVehicleById(i);return l?m(this,"onPlayerEnter")(s,l,Boolean(a)):0}),Vt((r,i)=>{const a=this.findPlayerById(r);if(!a)return 0;const s=this.findVehicleById(i);return s?m(this,"onPlayerExit")(a,s):0}),gn((r,i)=>{const a=this.findVehicleById(r);return a?m(this,"onNpcEnter")(a,i):0}),Pn(m(this,"onNpcExit")),cn((r,i)=>{const a=this.findPlayerById(r);if(!a)return 0;const s=this.findVehicleById(i);return s?m(this,"onTrailerUpdate")(a,s):0})}findVehicleById(t){return this.vehicles.get(t)}findPlayerById(t){return this.players.get(t)}getVehiclesArr(){return[...this.vehicles.values()]}getVehiclesMap(){return this.vehicles}}const x=[],K=[],we=e=>{setTimeout(async()=>{try{const t=x.findIndex(r=>r.name===e);if(t===-1)return;const n=x[t];await n.load(),x.splice(t,1),K.push(n)}catch(t){_.error(`[GameMode]: script ${e} load fail`),_.warn(new Error(JSON.stringify(t)))}})},ke=e=>{setTimeout(async()=>{try{const t=K.findIndex(r=>r.name===e);if(t===-1)return;const n=K[t];await n.unload(),K.splice(t,1),x.push(n)}catch(t){_.error(`[GameMode]: script ${e} unload fail`),_.warn(new Error(JSON.stringify(t)))}})},jd=e=>{ke(e),we(e)};dt(()=>{x.forEach(e=>we(e.name))}),D(()=>{K.forEach(e=>ke(e.name))});const Zd=function(e,...t){if(x.some(n=>n===e)||K.some(n=>n===e)){_.warn("[GameMode]: script has already been applied");return}e.load=e.load.bind(e,...t),x.push(e)};class se{static charset=R;initialized=!1;constructor(){dt(()=>{if(this.initialized)return _.error("[GameMode]: Cannot be initialized more than once");se.supportAllNickname(),this.initialized=!0,this.onInit&&this.onInit()}),D(()=>{if(!this.initialized)return _.error("[GameMode]: Cannot unload more than once");this.initialized=!1,this.onExit&&this.onExit()}),_n(m(this,"onIncomingConnection")),Et(m(this,"onRconCommand")),Tt(m(this,"onRconLoginAttempt"))}isInitialized(){return this.initialized}static exit(){Kn()}static use=(t,...n)=>(Zd(t,...n),this);static loadScript=we;static unloadScript=ke;static reloadScript=jd;static supportAllNickname(){for(let t=0;t<=255;t++)se.isNickNameCharacterAllowed(t)||se.allowNickNameCharacter(t,!0)}static allowAdminTeleport=c.AllowAdminTeleport;static isAdminTeleportAllowed=c.IsAdminTeleportAllowed;static allowInteriorWeapons=c.AllowInteriorWeapons;static areInteriorWeaponsAllowed=c.AreInteriorWeaponsAllowed;static areAllAnimationsEnabled=c.AreAllAnimationsEnabled;static enableAllAnimations=c.EnableAllAnimations;static enableStuntBonusForAll=fs;static enableVehicleFriendlyFire=Zn;static enableZoneNames=Qn;static disableInteriorEnterExits=$n;static setGameModeText=Fn;static getGravity=Xn;static setGravity=Yn;static showNameTags=Un;static disableNameTagLOS=tr;static usePlayerPedAnims=qn;static showPlayerMarkers=Wn;static limitPlayerMarkerRadius=rr;static limitGlobalChatRadius=nr;static setNameTagDrawDistance=er;static setWeather(t){return t<0||t>255?(_.error("[GameMode]: The valid weather value is only 0 to 255"),0):zn(t)}static setWorldTime(t){return t<0||t>23?(_.error("[GameMode]: The valid hour value is only 0 to 23"),0):jn(t)}static setTeamCount=Nn;static sendRconCommand=lr;static addPlayerClass=vn;static addPlayerClassEx=Hn;static createExplosion(t,n,r,i,a){return i<0||i>13?(_.error("[GameMode]: The valid explosion type value is only 0 to 13"),0):Jn(t,n,r,i,a)}static manualVehicleEngineAndLights=Us;static blockIpAddress=hr;static unBlockIpAddress=ur;static getServerTickRate=mr;static addSimpleModel(t,n,r,i,a){return this.checkSimpleModel(t,n,r,i,a)?Ld(t,n,r,i,a):0}static addSimpleModelTimed(t,n,r,i,a,s,l){return this.checkSimpleModel(t,n,r,i,a,s,l)?Rd(t,n,r,i,a,s,l):0}static checkSimpleModel(t,n,r,i,a,s,l){return t<-1?(_.error("[GameMode]: AddSimpleModel - Error virtual world"),0):n<0?(_.error("[GameMode]: AddSimpleModel - Error baseid"),0):r>-1e3||r<-3e4?(_.error("[GameMode]: AddSimpleModel - Error newid range"),0):i.trim().length<0?(_.error("[GameMode]: AddSimpleModel - Empty dffname"),0):a.trim().length<0?(_.error("[GameMode]: AddSimpleModel - Empty txdname"),0):s!==void 0&&(s<0||s>23)?(_.error("[GameMode]: AddSimpleModel - Error time on range"),0):l!==void 0&&(l<0||l>23)?(_.error("[GameMode]: AddSimpleModel - Error time off range"),0):1}static findModelFileNameFromCRC=Gd;static findTextureFileNameFromCRC=Md;static getWeaponName=bd;static setObjectsDefaultCameraCollision=ui;static vectorSize=kn;static clearBanList=c.ClearBanList;static isBanned=c.IsBanned;static isValidNickName=c.IsValidNickName;static allowNickNameCharacter=c.AllowNickNameCharacter;static isNickNameCharacterAllowed=c.IsNickNameCharacterAllowed;static addServerRule=c.AddServerRule;static setServerRule=c.SetServerRule;static isValidServerRule=c.IsValidServerRule;static removeServerRule=c.RemoveServerRule;static getWeaponSlot=c.GetWeaponSlot;static getAvailableClasses=c.GetAvailableClasses;static getPlayerClass=c.GetPlayerClass;static editPlayerClass=c.EditPlayerClass;static toggleChatTextReplacement=c.ToggleChatTextReplacement;static chatTextReplacementToggled=c.ChatTextReplacementToggled}class zd{constructor(){}static getNetworkStats(){return cr()}static getPlayerNetworkStats(t){return _r(t.id)}static getBytesReceived(t){return gr(t.id)}static getBytesSent(t){return pr(t.id)}static getConnectionStatus(t){return fr(t.id)}static getConnectedTime(t){return yr(t.id)}static getIpPort(t){return Od(t.id)}static getMessagesReceived(t){return Sr(t.id)}static getMessagesRecvPerSecond(t){return Ar(t.id)}static getMessagesSent(t){return Pr(t.id)}static getPacketLossPercent(t){return Ir(t.id)}}class Xd{_text;_time;_style;get text(){return this._text}set text(t){this._text=t}get time(){return this._time}set time(t){this._time=t}get style(){return this._style}set style(t){this._style=t}constructor(t,n,r){this._text=t,this._time=n,this._style=r}static hideForAll(t){Rn(t)}static has(t,n){return On(t.id,n)}forAll(){Ln(this.text,this.time,this.style)}forPlayer(t){bn(t.id,this.text,this.time,this.style)}hideForPlayer(t){return Bn(t.id,this.style)}}var Y=(e=>(e.created="OnMenuCreate",e.destroyed="OnMenuDestroy",e))(Y||{});const ye=new L;class Te{static menuCount=0;_id=-1;_itemCount=0;get itemCount(){return this._itemCount}get id(){return this._id}_title;get title(){return this._title}set title(t){this._title=t}_columns=1;get columns(){return this._columns}set columns(t){if(t!==1&&t!==2){_.error("[Menu]: The menu column number interval is between 1 and 2");return}this._columns=t}_x;get x(){return this._x}set x(t){this._x=t}_y;get y(){return this._y}set y(t){this._y=t}_col1width;get col1width(){return this._col1width}set col1width(t){this._col1width=t}_col2width;get col2width(){return this._col2width}set col2width(t){this._col2width=t}constructor(t,n,r,i,a,s){this._title=t,this.columns=n,this._x=r,this._y=i,this._col1width=a,this._col2width=s}create(){return this._id!==-1?_.error("[Menu]: Cannot be created twice"):Te.menuCount===B.MAX_MENUS?_.error("[Menu]: The maximum number of menus allowed to be created has been reached 128"):(this._id=Cr(this.title,this.columns,this.x,this.y,this.col1width,this.col2width),ye.emit(Y.created,this),Te.menuCount++,this)}destroy(){return this._id===-1?_.error("[Menu]: Cannot destroy before create"):(Er(this.id),ye.emit(Y.destroyed,this),this)}addItem(t,n){return this._id===-1?_.error("[Menu]: Cannot addItem before create"):this._itemCount===B.MAX_MENU_ROW?_.error("[Menu]: The maximum number of items allowed to be added has been reached 12"):t!==0&&t!==1?_.error("[Menu]: Wrong number of columns"):(Tr(this.id,t,n),this._itemCount++,this)}setColumnHeader(t,n){return this._id===-1?_.error("[Menu]: Cannot setColumnHeader before create"):t!==0&&t!==1?_.error("[Menu]: Wrong number of columns"):(Dr(this.id,t,n),this)}disable(){return this._id===-1?_.error("[Menu]: Cannot disable menu before create"):(Or(this.id),this)}disableRow(t){if(this._id===-1)return _.error("[Menu]: Cannot disable row before create");if(t<0||t>this.itemCount-1)return _.error("[Menu]: Wrong number of rows");Br(this.id,t)}isValid(){return br(this.id)}showForPlayer(t){return this._id===-1?_.error("[Menu]: Cannot show menu before create"):Lr(this.id,t.id)}hideForPlayer(t){return this._id===-1?_.error("[Menu]: Cannot hide menu before create"):Rr(this.id,t.id)}static getMenu(t,n){return n.find(r=>r.id===Oe(t.id))}isDisabled(){return this._id===-1?!1:c.IsMenuDisabled(this.id)}isRowDisabled(t){return this._id===-1||t<0||t>this._itemCount?!1:c.IsMenuRowDisabled(this.id,t)}getItems(t){return this._id===-1?0:c.GetMenuItems(this.id,t)}getPos(){return this._id===-1?{fX:this.x,fY:this.y}:c.GetMenuPos(this.id)}getColumnWidth(){return this.id===-1?{fColumn1:this.col1width,fColumn2:this.col2width}:c.GetMenuColumnWidth(this.id)}getColumnHeader(t){return this._id===-1?_.error("[Menu]: Cannot get column header before create"):c.GetMenuColumnHeader(this.id,t)}getItem(t,n){if(this._id===-1)return _.error("[Menu]: Cannot get item before create");if(!(n<0||n>this.getItems(t)-1))return c.GetMenuItem(this.id,t,n)}}class Yd{menus=new Map;players;constructor(t,n=!0){this.players=t,ye.on(Y.created,r=>{this.menus.set(r.id,r)}),ye.on(Y.destroyed,r=>{this.menus.delete(r.id)}),n&&D(()=>{this.menus.forEach(r=>r.destroy()),this.menus.clear()}),Jt(r=>{const i=this.findMenuById(Oe(r));if(!i)return 0;const a=this.findPlayerById(r);return a?m(this,"onPlayerExited")(a,i):0}),Yt((r,i)=>{const a=this.findMenuById(Oe(r));if(!a)return 0;const s=this.findPlayerById(r);return s?m(this,"onPlayerSelectedRow")(s,a,i):0})}findPlayerById(t){return this.players.get(t)}findMenuById(t){if(t!==C.MENU)return this.menus.get(t)}getMenusArr(){return[...this.menus.values()]}getMenusMap(){return this.menus}}var J=(e=>(e.created="OnGangZoneCreate",e.destroyed="OnGangZoneDestroy",e))(J||{});const Se=new L;class N{_id=-1;static createdGlobalCount=0;static createdPlayerCount=0;sourceInfo;constructor(t){this.sourceInfo=t}get id(){return this._id}create(){if(this.id!==-1)return _.warn("[GangZone]: Unable to create the gangzone again");const{player:t}=this.sourceInfo;if(t){if(N.createdPlayerCount===B.MAX_GANG_ZONES)return _.warn("[GangZone]: Unable to continue to create gangzone, maximum allowable quantity has been reached");const{minx:n,miny:r,maxx:i,maxy:a}=this.sourceInfo;this._id=c.CreatePlayerGangZone(t.id,n,r,i,a),N.createdPlayerCount++,samp.addEventListener("OnPlayerDisconnect",this.unregisterEvent)}else{if(N.createdGlobalCount===B.MAX_GANG_ZONES)return _.warn("[GangZone]: Unable to continue to create gangzone, maximum allowable quantity has been reached");const{minx:n,miny:r,maxx:i,maxy:a}=this.sourceInfo;this._id=ei(n,r,i,a),N.createdGlobalCount++}Se.emit(J.created,{key:{id:this.id,global:t===void 0},value:this})}destroy(){if(this.id===-1)return _.warn("[GangZone]: Unable to destroy the gangzone before create");const{player:t}=this.sourceInfo;t?(c.PlayerGangZoneDestroy(t.id,this.id),N.createdPlayerCount--):(ti(this.id),N.createdGlobalCount--),Se.emit(J.destroyed,{id:this.id,global:t===void 0}),this._id=-1}showForAll(t){return this.id===-1?_.warn("[GangZone]: Unable to show the gangzone before create"):this.sourceInfo.player?_.warn("[GangZone]: player's gangzone should not be show for all."):(ri(this.id,t),this)}showForPlayer(t,n){if(this.id===-1)return _.warn("[GangZone]: Unable to show the gangzone before create");const r=this.sourceInfo.player;if(r)c.PlayerGangZoneShow(r.id,this.id,p(t));else if(n)ni(n.id,this.id,t);else return _.warn("[GangZone]: invalid player for show");return this}hideForAll(){return this.id===-1?_.warn("[GangZone]: Unable to hide the gangzone before create"):this.sourceInfo.player?_.warn("[GangZone]: player's gangzone should not be hide for all."):(ai(this.id),this)}hideForPlayer(t){if(this.id===-1)return _.warn("[GangZone]: Unable to hide the gangzone before create");const n=this.sourceInfo.player;if(n)c.PlayerGangZoneHide(n.id,this.id);else if(t)ii(t.id,this.id);else return _.warn("[GangZone]: invalid player for hide");return this}flashForAll(t){return this.id===-1?_.warn("[GangZone]: Unable to flash the gangzone before create"):this.sourceInfo.player?_.warn("[GangZone]: player's gangzone should not be flash for all."):(di(this.id,t),this)}flashForPlayer(t,n){if(this.id===-1)return _.warn("[GangZone]: Unable to flash the gangzone before create");const r=this.sourceInfo.player;if(r)c.PlayerGangZoneFlash(r.id,this.id,p(n));else if(t)si(t.id,this.id,n);else return _.warn("[GangZone]: invalid player for flash");return this}StopFlashForAll(){return this.id===-1?_.warn("[GangZone]: Unable to stop flash the gangzone before create"):this.sourceInfo.player?_.warn("[GangZone]: player's gangzone should not be stop flash for all."):(li(this.id),this)}StopFlashForPlayer(t){if(this.id===-1)return _.warn("[GangZone]: Unable to stop flash the gangzone before create");const n=this.sourceInfo.player;if(n)c.PlayerGangZoneStopFlash(n.id,this.id);else if(t)oi(t.id,this.id);else return _.warn("[GangZone]: invalid player for flash");return this}isValid(){if(this.id===-1)return!1;const t=this.sourceInfo.player;return t?c.IsValidPlayerGangZone(t.id,this.id):c.IsValidGangZone(this.id)}isPlayerIn(t){if(this.id===-1)return!1;const n=this.sourceInfo.player;return n?c.IsPlayerInPlayerGangZone(n.id,this.id):c.IsPlayerInGangZone(t.id,this.id)}isVisibleForPlayer(t){if(this.id===-1)return!1;const n=this.sourceInfo.player;return n?c.IsPlayerGangZoneVisible(n.id,this.id):c.IsGangZoneVisibleForPlayer(t.id,this.id)}getColourForPlayer(t){if(this.id===-1)return _.warn("[GangZone]: Unable to get colour before create");const n=this.sourceInfo.player;return n?c.PlayerGangZoneGetColour(n.id,this.id):c.GangZoneGetColourForPlayer(t.id,this.id)}getFlashColourForPlayer(t){if(this.id===-1)return _.warn("[GangZone]: Unable to get flash colour before create");const n=this.sourceInfo.player;return n?c.PlayerGangZoneGetFlashColour(n.id,this.id):c.GangZoneGetFlashColourForPlayer(t.id,this.id)}isFlashingForPlayer(t){if(this.id===-1)return!1;const n=this.sourceInfo.player;return n?c.IsPlayerGangZoneFlashing(n.id,this.id):c.IsGangZoneFlashingForPlayer(t.id,this.id)}getPos(){if(this.id===-1)return _.warn("[GangZone]: Unable to get position before create");const t=this.sourceInfo.player;return t?c.PlayerGangZoneGetPos(t.id,this.id):c.GangZoneGetPos(this.id)}useCheck(t){if(this.id===-1)return _.warn("[GangZone]: Unable to use check before create");const n=this.sourceInfo.player;return n?c.UsePlayerGangZoneCheck(n.id,this.id,t):c.UseGangZoneCheck(this.id,t),this}unregisterEvent(){return this.destroy(),samp.removeEventListener("OnPlayerDisconnect",this.unregisterEvent),1}}class Jd{gangZones=new Map;players;constructor(t,n=!0){this.players=t,Se.on(J.created,r=>{this.gangZones.set(r.key,r.value)}),Se.on(J.destroyed,r=>{this.gangZones.has(r)&&this.gangZones.delete(r)}),n&&D(()=>{this.gangZones.forEach(r=>r.destroy()),this.gangZones.clear()}),c.OnPlayerEnterGangZone((r,i)=>{const a=this.players.get(r);if(!a)return 0;const s=this.gangZones.get({id:i,global:!0});return s?m(this,"onPlayerEnter")(a,s):0}),c.OnPlayerEnterPlayerGangZone((r,i)=>{const a=this.players.get(r);if(!a)return 0;const s=this.gangZones.get({id:i,global:!1});return s?m(this,"onPlayerEnter")(a,s):0}),c.OnPlayerLeaveGangZone((r,i)=>{const a=this.players.get(r);if(!a)return 0;const s=this.gangZones.get({id:i,global:!0});return s?m(this,"onPlayerLeave")(a,s):0}),c.OnPlayerLeavePlayerGangZone((r,i)=>{const a=this.players.get(r);if(!a)return 0;const s=this.gangZones.get({id:i,global:!1});return s?m(this,"onPlayerLeave")(a,s):0})}}class A{constructor(){}static getTickRate=o.Streamer_GetTickRate;static setTickRate=o.Streamer_SetTickRate;static getPlayerTickRate(t){return o.Streamer_GetPlayerTickRate(t.id)}static setPlayerTickRate(t,n=50){return o.Streamer_SetPlayerTickRate(t.id,n)}static toggleChunkStream=o.Streamer_ToggleChunkStream;static isToggleChunkStream=o.Streamer_IsToggleChunkStream;static getChunkTickRate(t,n=-1){return n instanceof k?o.Streamer_GetChunkTickRate(t,n.id):o.Streamer_GetChunkTickRate(t,n)}static setChunkTickRate(t,n,r=-1){return r instanceof k?o.Streamer_SetChunkTickRate(t,n,r.id):o.Streamer_SetChunkTickRate(t,n,r)}static getChunkSize=o.Streamer_GetChunkSize;static setChunkSize=o.Streamer_SetChunkSize;static getMaxItems=o.Streamer_GetMaxItems;static setMaxItems=o.Streamer_SetMaxItems;static getVisibleItems(t,n=-1){return n instanceof k?o.Streamer_GetVisibleItems(t,n.id):o.Streamer_GetVisibleItems(t,n)}static setVisibleItems(t,n,r=-1){return r instanceof k?o.Streamer_SetVisibleItems(t,n,r.id):o.Streamer_SetVisibleItems(t,n,r)}static getRadiusMultiplier(t,n=-1){return n instanceof k?o.Streamer_GetRadiusMultiplier(t,n.id):o.Streamer_GetRadiusMultiplier(t,n)}static setRadiusMultiplier(t,n,r=-1){return r instanceof k?o.Streamer_SetRadiusMultiplier(t,r.id):o.Streamer_SetRadiusMultiplier(t,n,r)}static getTypePriority=o.Streamer_GetTypePriority;static setTypePriority=o.Streamer_SetTypePriority;static getCellDistance=o.Streamer_GetCellDistance;static setCellDistance=o.Streamer_SetCellDistance;static getCellSize=o.Streamer_GetCellSize;static setCellSize=o.Streamer_SetCellSize;static toggleItemStatic=o.Streamer_ToggleItemStatic;static isToggleItemStatic=o.Streamer_IsToggleItemStatic;static toggleItemInvAreas=o.Streamer_ToggleItemInvAreas;static isToggleItemInvAreas=o.Streamer_IsToggleItemInvAreas;static toggleItemCallbacks=o.Streamer_ToggleItemCallbacks;static isToggleItemCallbacks=o.Streamer_IsToggleItemCallbacks;static toggleErrorCallback=o.Streamer_ToggleErrorCallback;static isToggleErrorCallback=o.Streamer_IsToggleErrorCallback;static amxUnloadDestroyItems=o.Streamer_AmxUnloadDestroyItems;static processActiveItems=o.Streamer_ProcessActiveItems;static toggleIdleUpdate(t,n){return o.Streamer_ToggleIdleUpdate(t.id,n)}static isToggleIdleUpdate(t){return o.Streamer_IsToggleIdleUpdate(t.id)}static toggleCameraUpdate(t,n){return o.Streamer_ToggleCameraUpdate(t.id,n)}static isToggleCameraUpdate(t){return o.Streamer_IsToggleCameraUpdate(t.id)}static toggleItemUpdate(t,n,r){return o.Streamer_ToggleItemUpdate(t.id,n,r)}static isToggleItemUpdate(t,n){return o.Streamer_IsToggleItemUpdate(t.id,n)}static getLastUpdateTime(){return o.Streamer_GetLastUpdateTime()}static update(t,n=-1){return o.Streamer_Update(t.id,n)}static updateEx(t,n,r,i,a,s,l,h,u){return o.Streamer_UpdateEx(t.id,n,r,i,a,s,l,h,u)}static getDistanceToItem=o.Streamer_GetDistanceToItem;static toggleItem(t,n,r,i){return o.Streamer_ToggleItem(t.id,n,r,i)}static isToggleItem(t,n,r){return o.Streamer_IsToggleItem(t.id,n,r)}static toggleAllItems(t,n,r,i=[-1]){return o.Streamer_ToggleAllItems(t.id,n,r,i)}static getItemInternalID(t,n,r){return o.Streamer_GetItemInternalID(t.id,n,r)}static getItemStreamerID(t,n,r){return o.Streamer_GetItemStreamerID(t.id,n,r)}static isItemVisible(t,n,r){return o.Streamer_IsItemVisible(t.id,n,r)}static destroyAllVisibleItems(t,n,r=1){return o.Streamer_DestroyAllVisibleItems(t.id,n,r)}static countVisibleItems(t,n,r=1){return o.Streamer_CountVisibleItems(t.id,n,r)}static destroyAllItems=o.Streamer_DestroyAllItems;static countItems=o.Streamer_CountItems;static getNearbyItems=o.Streamer_GetNearbyItems;static getAllVisibleItems(t,n,r){o.Streamer_GetAllVisibleItems(t.id,n,r)}static getItemPos=o.Streamer_GetItemPos;static setItemPos=o.Streamer_SetItemPos;static getItemOffset=o.Streamer_GetItemOffset;static setItemOffset=o.Streamer_SetItemOffset;static getFloatData=o.Streamer_GetFloatData;static setFloatData=o.Streamer_SetFloatData;static getIntData=o.Streamer_GetIntData;static setIntData=o.Streamer_SetIntData;static getArrayData=o.Streamer_GetArrayData;static setArrayData=o.Streamer_SetArrayData;static isInArrayData=o.Streamer_IsInArrayData;static appendArrayData=o.Streamer_AppendArrayData;static removeArrayData=o.Streamer_RemoveArrayData;static getArrayDataLength=o.Streamer_GetArrayDataLength;static getUpperBound=o.Streamer_GetUpperBound;static onItemStreamIn=o.Streamer_OnItemStreamIn;static onItemStreamOut=o.Streamer_OnItemStreamOut;static onPluginError=o.Streamer_OnPluginError}var j=(e=>(e.created="OnMapIconCreate",e.destroyed="OnMapIconDestroy",e))(j||{});const Q=new L;class Qd{sourceInfo;_id=-1;get id(){return this._id}constructor(t){this.sourceInfo=t}create(){if(this.id!==-1)return _.warn("[StreamerMapIcon]: Unable to create map icon again");let{style:t,streamdistance:n,worldid:r,interiorid:i,playerid:a,areaid:s,priority:l}=this.sourceInfo;const{x:h,y:u,z:y,type:S,colour:P,extended:f}=this.sourceInfo;return S<0||S>63?_.error("[StreamerMapIcon]: Invalid map icon type"):(t??=o.MapIconStyles.LOCAL,n??=o.StreamerDistances.MAP_ICON_SD,l??=0,f?(typeof r=="number"?r=[-1]:r??=[-1],typeof i=="number"?i=[-1]:i??=[-1],typeof a=="number"?a=[-1]:a??=[-1],typeof s=="number"?s=[-1]:s??=[-1],this._id=o.CreateDynamicMapIconEx(h,u,y,S,p(P),t,n,r,i,a,s,l),Q.emit(j.created,this),this):(Array.isArray(r)?r=-1:r??=-1,Array.isArray(i)?i=-1:i??=-1,Array.isArray(a)?a=-1:a??=-1,Array.isArray(s)?s=-1:s??=-1,this._id=o.CreateDynamicMapIcon(h,u,y,S,p(P),r,i,a,n,t,s,l),Q.emit(j.created,this),this))}destroy(){return this.id===-1?_.warn("[StreamerMapIcon]: Unable to destroy the map icon before create"):(o.DestroyDynamicMapIcon(this.id),Q.emit(j.destroyed,this),this)}isValid(){return o.IsValidDynamicMapIcon(this.id)}toggleCallbacks(t=!0){return this.id===-1?_.warn("[StreamerMapIcon]: Unable to toggle callbacks before create"):A.toggleItemCallbacks(o.StreamerItemTypes.MAP_ICON,this.id,t)}isToggleCallbacks(){return this.id,A.isToggleItemCallbacks(o.StreamerItemTypes.MAP_ICON,this.id)}}class qd{mapIcons=new Map;players;constructor(t,n=!0){this.players=t,Q.on(j.created,r=>{this.mapIcons.set(r.id,r)}),Q.on(j.destroyed,r=>{this.mapIcons.delete(r.id)}),n&&D(()=>{this.mapIcons.forEach(r=>r.destroy()),this.mapIcons.clear()}),A.onItemStreamIn((r,i,a)=>{if(r===o.StreamerItemTypes.MAP_ICON){const s=this.mapIcons.get(i),l=this.players.get(a);if(s&&l)return m(this,"onStreamIn")(s,l)}return 1}),A.onItemStreamOut((r,i,a)=>{if(r===o.StreamerItemTypes.MAP_ICON){const s=this.mapIcons.get(i),l=this.players.get(a);if(s&&l)return m(this,"onStreamOut")(s,l)}return 1})}getMapIconsArr(){return[...this.mapIcons.values()]}getMapIconsMap(){return this.mapIcons}}var q=(e=>(e.created="OnPickupCreate",e.destroyed="OnPickupDestroy",e))(q||{});const ge=new L;class $d{sourceInfo;_id=-1;get id(){return this._id}constructor(t){this.sourceInfo=t}create(){if(this.id!==-1)return _.warn("[StreamerPickup]: Unable to create pickup again");let{streamdistance:t,worldid:n,interiorid:r,playerid:i,areaid:a,priority:s}=this.sourceInfo;const{type:l,modelid:h,x:u,y,z:S,extended:P}=this.sourceInfo;return l<0||l>22?_.error("[StreamerPickup]: Invalid pickup type"):(t??=o.StreamerDistances.PICKUP_SD,s??=0,P?(typeof n=="number"?n=[-1]:n??=[-1],typeof r=="number"?r=[-1]:r??=[-1],typeof i=="number"?i=[-1]:i??=[-1],typeof a=="number"?a=[-1]:a??=[-1],this._id=o.CreateDynamicPickupEx(h,l,u,y,S,t,n,r,i,a,s)):(Array.isArray(n)?n=-1:n??=-1,Array.isArray(r)?r=-1:r??=-1,Array.isArray(i)?i=-1:i??=-1,Array.isArray(a)?a=-1:a??=-1,this._id=o.CreateDynamicPickup(h,l,u,y,S,n,r,i,t,a,s)),ge.emit(q.created,this),this)}destroy(){return this.id===-1?_.warn("[StreamerPickup]: Unable to destroy the pickup before create"):(o.DestroyDynamicPickup(this.id),ge.emit(q.destroyed,this),this)}isValid(){return o.IsValidDynamicPickup(this.id)}toggleCallbacks(t=!0){return this.id===-1?_.warn("[StreamerPickup]: Unable to toggle callbacks before create"):A.toggleItemCallbacks(o.StreamerItemTypes.PICKUP,this.id,t)}isToggleCallbacks(){return this.id,A.isToggleItemCallbacks(o.StreamerItemTypes.PICKUP,this.id)}}class eo{pickups=new Map;players;constructor(t,n=!0){this.players=t,ge.on(q.created,r=>{this.pickups.set(r.id,r)}),ge.on(q.destroyed,r=>{this.pickups.delete(r.id)}),n&&D(()=>{this.pickups.forEach(r=>r.destroy()),this.pickups.clear()}),o.OnPlayerPickUpDynamicPickup((r,i)=>{const a=this.pickups.get(i);if(!a)return 0;const s=this.players.get(r);return s?m(this,"onPlayerPickUp")(s,a):0}),A.onItemStreamIn((r,i,a)=>{if(r===o.StreamerItemTypes.PICKUP){const s=this.pickups.get(i),l=this.players.get(a);if(s&&l)return m(this,"onStreamIn")(s,l)}return 1}),A.onItemStreamOut((r,i,a)=>{if(r===o.StreamerItemTypes.PICKUP){const s=this.pickups.get(i),l=this.players.get(a);if(s&&l)return m(this,"onStreamOut")(s,l)}return 1})}getPickupsArr(){return[...this.pickups.values()]}getPickupsMap(){return this.pickups}}var $=(e=>(e.created="OnCheckPointCreate",e.destroyed="OnCheckPointDestroy",e))($||{});const Pe=new L;class to{sourceInfo;_id=-1;get id(){return this._id}constructor(t){this.sourceInfo=t}create(){if(this.id!==-1)return _.warn("[StreamerCheckpoint]: Unable to create checkpoint again");let{streamdistance:t,worldid:n,interiorid:r,playerid:i,areaid:a,priority:s}=this.sourceInfo;const{size:l,x:h,y:u,z:y,extended:S}=this.sourceInfo;return l<0?_.error("[StreamerCheckpoint]: Invalid checkpoint size"):(t??=o.StreamerDistances.CP_SD,s??=0,S?(typeof n=="number"?n=[-1]:n??=[-1],typeof r=="number"?r=[-1]:r??=[-1],typeof i=="number"?i=[-1]:i??=[-1],typeof a=="number"?a=[-1]:a??=[-1],this._id=o.CreateDynamicCPEx(h,u,y,l,t,n,r,i,a,s)):(Array.isArray(n)?n=-1:n??=-1,Array.isArray(r)?r=-1:r??=-1,Array.isArray(i)?i=-1:i??=-1,Array.isArray(a)?a=-1:a??=-1,this._id=o.CreateDynamicCP(h,u,y,l,n,r,i,t,a,s)),Pe.emit($.created,this),this)}destroy(){return this.id===-1?_.warn("[StreamerCheckpoint]: Unable to destroy the checkpoint before create"):(o.DestroyDynamicCP(this.id),Pe.emit($.destroyed,this),this)}isValid(){return o.IsValidDynamicCP(this.id)}togglePlayer(t,n){return this.id===-1?_.warn("[StreamerCheckpoint]: Unable to toggle the player before create"):(o.TogglePlayerDynamicCP(t.id,this.id,n),this)}static togglePlayerAll(t,n){return o.TogglePlayerAllDynamicCPs(t.id,n)}isPlayerIn(t){return this.id===-1?!1:o.IsPlayerInDynamicCP(t.id,this.id)}static getPlayerVisible(t,n){return n.get(o.GetPlayerVisibleDynamicCP(t.id))}toggleCallbacks(t=!0){return this.id===-1?_.warn("[StreamerCheckpoint]: Unable to toggle callbacks before create"):A.toggleItemCallbacks(o.StreamerItemTypes.CP,this.id,t)}isToggleCallbacks(){return this.id,A.isToggleItemCallbacks(o.StreamerItemTypes.CP,this.id)}}class no{checkpoints=new Map;players;constructor(t,n=!0){this.players=t,Pe.on($.created,r=>{this.checkpoints.set(r.id,r)}),Pe.on($.destroyed,r=>{this.checkpoints.delete(r.id)}),n&&D(()=>{this.checkpoints.forEach(r=>r.destroy()),this.checkpoints.clear()}),o.OnPlayerEnterDynamicCP((r,i)=>{const a=this.checkpoints.get(i);if(!a)return 0;const s=this.players.get(r);return s?m(this,"onPlayerEnter")(s,a):0}),o.OnPlayerLeaveDynamicCP((r,i)=>{const a=this.checkpoints.get(i);if(!a)return 0;const s=this.players.get(r);return s?m(this,"onPlayerLeave")(s,a):0}),A.onItemStreamIn((r,i,a)=>{if(r===o.StreamerItemTypes.CP){const s=this.checkpoints.get(i),l=this.players.get(a);if(s&&l)return m(this,"onStreamIn")(s,l)}return 1}),A.onItemStreamOut((r,i,a)=>{if(r===o.StreamerItemTypes.CP){const s=this.checkpoints.get(i),l=this.players.get(a);if(s&&l)return m(this,"onStreamOut")(s,l)}return 1})}getCheckPointsArr(){return[...this.checkpoints.values()]}getCheckPointsMap(){return this.checkpoints}}var ee=(e=>(e.created="OnRaceCPCreate",e.destroyed="OnRaceCPDestroy",e))(ee||{});const pe=new L;class ro{sourceInfo;_id=-1;get id(){return this._id}constructor(t){this.sourceInfo=t}create(){if(this.id!==-1)return _.warn("[StreamerRaceCP]: Unable to create checkpoint again");let{streamdistance:t,worldid:n,interiorid:r,playerid:i,areaid:a,priority:s}=this.sourceInfo;const{type:l,size:h,x:u,y,z:S,nextx:P,nexty:f,nextz:E,extended:b}=this.sourceInfo;return l<0||l>8?_.error("[StreamerRaceCP]: Invalid type"):h<0?_.error("[StreamerRaceCP]: Invalid size"):(t??=o.StreamerDistances.RACE_CP_SD,s??=0,b?(typeof n=="number"?n=[-1]:n??=[-1],typeof r=="number"?r=[-1]:r??=[-1],typeof i=="number"?i=[-1]:i??=[-1],typeof a=="number"?a=[-1]:a??=[-1],this._id=o.CreateDynamicRaceCPEx(l,u,y,S,P,f,E,h,t,n,r,i,a,s)):(Array.isArray(n)?n=-1:n??=-1,Array.isArray(r)?r=-1:r??=-1,Array.isArray(i)?i=-1:i??=-1,Array.isArray(a)?a=-1:a??=-1,this._id=o.CreateDynamicRaceCP(l,u,y,S,P,f,E,h,n,r,i,t,a,s)),pe.emit(ee.created,this),this)}destroy(){return this.id===-1?_.warn("[StreamerRaceCP]: Unable to destroy the checkpoint before create"):(o.DestroyDynamicCP(this.id),pe.emit(ee.destroyed,this),this)}isValid(){return o.IsValidDynamicCP(this.id)}togglePlayer(t,n){return this.id===-1?_.warn("[StreamerRaceCP]: Unable to toggle the player before create"):(o.TogglePlayerDynamicRaceCP(t.id,this.id,n),this)}static togglePlayerAll(t,n){return o.TogglePlayerAllDynamicRaceCPs(t.id,n)}isPlayerIn(t){return this.id===-1?!1:o.IsPlayerInDynamicRaceCP(t.id,this.id)}static getPlayerVisible(t,n){return n.get(o.GetPlayerVisibleDynamicRaceCP(t.id))}toggleCallbacks(t=!0){return this.id===-1?_.warn("[StreamerRaceCP]: Unable to toggle callbacks before create"):A.toggleItemCallbacks(o.StreamerItemTypes.RACE_CP,this.id,t)}isToggleCallbacks(){return this.id,A.isToggleItemCallbacks(o.StreamerItemTypes.RACE_CP,this.id)}}class io{raceCPs=new Map;players;constructor(t,n=!0){this.players=t,pe.on(ee.created,r=>{this.raceCPs.set(r.id,r)}),pe.on(ee.destroyed,r=>{this.raceCPs.delete(r.id)}),n&&D(()=>{this.raceCPs.forEach(r=>r.destroy()),this.raceCPs.clear()}),o.OnPlayerEnterDynamicRaceCP((r,i)=>{const a=this.raceCPs.get(i);if(!a)return 0;const s=this.players.get(r);return s?m(this,"onPlayerEnter")(s,a):0}),o.OnPlayerLeaveDynamicRaceCP((r,i)=>{const a=this.raceCPs.get(i);if(!a)return 0;const s=this.players.get(r);return s?m(this,"onPlayerLeave")(s,a):0}),A.onItemStreamIn((r,i,a)=>{if(r===o.StreamerItemTypes.RACE_CP){const s=this.raceCPs.get(i),l=this.players.get(a);if(s&&l)return m(this,"onStreamIn")(s,l)}return 1}),A.onItemStreamOut((r,i,a)=>{if(r===o.StreamerItemTypes.RACE_CP){const s=this.raceCPs.get(i),l=this.players.get(a);if(s&&l)return m(this,"onStreamOut")(s,l)}return 1})}getRaceCPsArr(){return[...this.raceCPs.values()]}getRaceCPsMap(){return this.raceCPs}}var te=(e=>(e.created="OnActorCreate",e.destroyed="OnActorDestroy",e))(te||{});const Ae=new L;class ao{sourceInfo;_id=-1;get id(){return this._id}constructor(t){this.sourceInfo=t}create(){if(this.id!==-1)return _.warn("[StreamerActor]: Unable to create actor again");let{streamdistance:t,worldid:n,interiorid:r,playerid:i,areaid:a,priority:s}=this.sourceInfo;const{modelid:l,x:h,y:u,z:y,r:S,invulnerable:P,health:f,extended:E}=this.sourceInfo;return t??=o.StreamerDistances.ACTOR_SD,s??=0,E?(typeof n=="number"?n=[0]:n??=[0],typeof r=="number"?r=[-1]:r??=[-1],typeof i=="number"?i=[-1]:i??=[-1],typeof a=="number"?a=[-1]:a??=[-1],this._id=o.CreateDynamicActorEx(l,h,u,y,S,P,f,t,n,r,i,a,s)):(Array.isArray(n)?n=0:n??=0,Array.isArray(r)?r=-1:r??=-1,Array.isArray(i)?i=-1:i??=-1,Array.isArray(a)?a=-1:a??=-1,this._id=o.CreateDynamicActor(l,h,u,y,S,P,f,n,r,i,t,a,s)),Ae.emit(te.created,this),this}destroy(){return this.id===-1?_.warn("[StreamerActor]: Unable to destroy the actor before create"):(o.DestroyDynamicActor(this.id),Ae.emit(te.destroyed,this),this)}isValid(){return o.IsValidDynamicActor(this.id)}isStreamedIn(t){return this.id===-1?!1:o.IsDynamicActorStreamedIn(this.id,t.id)}getVirtualWorld(){return this.id===-1?_.warn("[StreamerActor]: Unable to get virtual world before create"):o.GetDynamicActorVirtualWorld(this.id)}setVirtualWorld(t){return this.id===-1?_.warn("[StreamerActor]: Unable to set virtual world before create"):o.SetDynamicActorVirtualWorld(this.id,t)}applyAnimation(t,n,r=!1,i=!0,a=!0,s=!1){if(this.id===-1)return _.warn("[StreamerActor]: Unable to apply animation before create");const l=ut(t,n);return l===void 0?_.error("[StreamerActor]: Invalid anim library or name"):o.ApplyDynamicActorAnimation(this.id,t,n,4.1,r,i,a,s,r?0:l)}clearAnimations(){return this.id===-1?_.warn("[StreamerActor]: Unable to clear animation before create"):o.ClearDynamicActorAnimations(this.id)}getFacingAngle(){return this.id===-1?_.warn("[StreamerActor]: Unable to get facing angle before create"):o.GetDynamicActorFacingAngle(this.id)}setFacingAngle(t){return this.id===-1?_.warn("[StreamerActor]: Unable to set facing angle before create"):o.SetDynamicActorFacingAngle(this.id,t)}getPos(){return this.id===-1?_.warn("[StreamerActor]: Unable to get pos before create"):o.GetDynamicActorPos(this.id)}setPos(t,n,r){return this.id===-1?_.warn("[StreamerActor]: Unable to set pos before create"):o.SetDynamicActorPos(this.id,t,n,r)}getHealth(){return this.id===-1?_.warn("[StreamerActor]: Unable to get health before create"):o.GetDynamicActorHealth(this.id)}setHealth(t){return this.id===-1?_.warn("[StreamerActor]: Unable to set health before create"):o.SetDynamicActorHealth(this.id,t)}isInvulnerable(){return this.id===-1?!1:o.IsDynamicActorInvulnerable(this.id)}setInvulnerable(t=!0){return this.id===-1?_.warn("[StreamerActor]: Unable to set invulnerable before create"):o.SetDynamicActorInvulnerable(this.id,t)}getPlayerTarget(t,n){if(this.id===-1)return;const r=o.GetPlayerTargetDynamicActor(t.id);return n.get(r)}getPlayerCameraTarget(t,n){if(this.id===-1)return;const r=o.GetPlayerCameraTargetDynActor(t.id);return n.get(r)}getSkin(){return this.id===-1?_.warn("[StreamerActor]: Unable to get skin before create"):c.GetActorSkin(this.id)}setSkin(t,n=!1){return this.id===-1?_.warn("[StreamerActor]: Unable to set skin before create"):!n&&(t<0||t>311||t==74)?0:c.SetActorSkin(this.id,t)}getSpawnInfo(){return this.id===-1?_.warn("[StreamerActor]: Unable to get spawn info before create"):c.GetActorSpawnInfo(this.id)}getAnimation(){return this.id===-1?_.warn("[StreamerActor]: Unable to get animation before create"):c.GetActorAnimation(this.id)}toggleCallbacks(t=!0){return this.id===-1?_.warn("[StreamerActor]: Unable to toggle callbacks before create"):A.toggleItemCallbacks(o.StreamerItemTypes.ACTOR,this.id,t)}isToggleCallbacks(){return this.id,A.isToggleItemCallbacks(o.StreamerItemTypes.ACTOR,this.id)}}class so{actors=new Map;players;constructor(t,n=!0){this.players=t,Ae.on(te.created,r=>{this.actors.set(r.id,r)}),Ae.on(te.destroyed,r=>{this.actors.delete(r.id)}),n&&D(()=>{this.actors.forEach(r=>r.destroy()),this.actors.clear()}),o.OnDynamicActorStreamIn((r,i)=>{const a=this.actors.get(r);if(!a)return 0;const s=this.players.get(i);return s?m(this,"onStreamIn")(a,s):0}),o.OnDynamicActorStreamOut((r,i)=>{const a=this.actors.get(r);if(!a)return 0;const s=this.players.get(i);return s?m(this,"onStreamOut")(a,s):0}),o.OnPlayerGiveDamageDynamicActor((r,i,a,s,l)=>{const h=this.actors.get(i);if(!h)return 0;const u=this.players.get(r);return u?m(this,"onPlayerGiveDamage")(u,h,a,s,l):0})}getActorsArr(){return[...this.actors.values()]}getActorsMap(){return this.actors}}var ne=(e=>(e.created="On3dTextCreate",e.destroyed="On3dTextDestroy",e))(ne||{});const Ie=new L;class oo{sourceInfo;_id=-1;get id(){return this._id}constructor(t){this.sourceInfo=t}create(){if(this.id!==-1)return _.warn("[Streamer3DTextLabel]: Unable to create again");let{attachedplayer:t,attachedvehicle:n,testlos:r,streamdistance:i,worldid:a,interiorid:s,playerid:l,areaid:h,priority:u}=this.sourceInfo;const{charset:y,text:S,colour:P,drawdistance:f,x:E,y:b,z:U,extended:mt}=this.sourceInfo;return t??=C.PLAYER_ID,n??=C.VEHICLE_ID,i??=o.StreamerDistances.TEXT_3D_LABEL_SD,r??=!1,u??=0,mt?(typeof a=="number"?a=[-1]:a??=[-1],typeof s=="number"?s=[-1]:s??=[-1],typeof l=="number"?l=[-1]:l??=[-1],typeof h=="number"?h=[-1]:h??=[-1],this._id=Ot(S,p(P),E,b,U,f,t,n,r,i,a,s,l,h,u,y||R)):(Array.isArray(a)?a=-1:a??=-1,Array.isArray(s)?s=-1:s??=-1,Array.isArray(l)?l=-1:l??=-1,Array.isArray(h)?h=-1:h??=-1,this._id=bt(y||R,S,p(P),E,b,U,f,t,n,r,a,s,l,i,h,u)),Ie.emit(ne.created,this),this}destroy(){return this.id===-1?_.warn("[Streamer3DTextLabel]: Unable to destroy before create"):(o.DestroyDynamic3DTextLabel(this.id),Ie.emit(ne.destroyed,this),this)}isValid(){return o.IsValidDynamic3DTextLabel(this.id)}getColour(){return this.id===-1?_.warn("[Streamer3DTextLabel]: Unable to get colour before create"):this.sourceInfo.colour}getCharset(){return this.id===-1?_.warn("[Streamer3DTextLabel]: Unable to get charset before create"):this.sourceInfo.charset}getText(){return this.id===-1?_.warn("[Streamer3DTextLabel]: Unable to get text before create"):wt(this.id,this.sourceInfo.charset||R)}updateText(t,n,r=this.sourceInfo.charset){return this.id===-1?_.warn("[Streamer3DTextLabel]: Unable to update text before create"):(this.sourceInfo.charset=r,Bt(this.id,p(t),n,r||R))}toggleCallbacks(t=!0){return this.id===-1?_.warn("[Streamer3DTextLabel]: Unable to toggle callbacks before create"):A.toggleItemCallbacks(o.StreamerItemTypes.TEXT_3D_LABEL,this.id,t)}isToggleCallbacks(){return this.id,A.isToggleItemCallbacks(o.StreamerItemTypes.TEXT_3D_LABEL,this.id)}}class lo{_3dTexts=new Map;players;constructor(t,n=!0){this.players=t,Ie.on(ne.created,r=>{this._3dTexts.set(r.id,r)}),Ie.on(ne.destroyed,r=>{this._3dTexts.delete(r.id)}),n&&D(()=>{this._3dTexts.forEach(r=>r.destroy()),this._3dTexts.clear()}),A.onItemStreamIn((r,i,a)=>{if(r===o.StreamerItemTypes.TEXT_3D_LABEL){const s=this._3dTexts.get(i),l=this.players.get(a);if(s&&l)return m(this,"onStreamIn")(s,l)}return 1}),A.onItemStreamOut((r,i,a)=>{if(r===o.StreamerItemTypes.TEXT_3D_LABEL){const s=this._3dTexts.get(i),l=this.players.get(a);if(s&&l)return m(this,"onStreamOut")(s,l)}return 1})}get3dTextLabelsArr(){return[...this._3dTexts.values()]}get3dTextLabelsMap(){return this._3dTexts}}var re=(e=>(e.created="OnObjectCreate",e.destroyed="OnObjectDestroy",e))(re||{});const fe=new L;class _o{sourceInfo;_id=-1;get id(){return this._id}constructor(t){this.sourceInfo=t}create(){if(this.id!==-1)return _.warn("[StreamerObject]: Unable to create object again");let{streamdistance:t,drawdistance:n,worldid:r,interiorid:i,playerid:a,areaid:s,priority:l}=this.sourceInfo;const{modelid:h,x:u,y,z:S,rx:P,ry:f,rz:E,extended:b}=this.sourceInfo;return t??=o.StreamerDistances.OBJECT_SD,n??=o.StreamerDistances.OBJECT_DD,l??=0,b?(typeof r=="number"?r=[-1]:r??=[-1],typeof i=="number"?i=[-1]:i??=[-1],typeof a=="number"?a=[-1]:a??=[-1],typeof s=="number"?s=[-1]:s??=[-1],this._id=o.CreateDynamicObjectEx(h,u,y,S,P,f,E,t,n,r,i,a,s,l)):(Array.isArray(r)?r=-1:r??=-1,Array.isArray(i)?i=-1:i??=-1,Array.isArray(a)?a=-1:a??=-1,Array.isArray(s)?s=-1:s??=-1,this._id=o.CreateDynamicObject(h,u,y,S,P,f,E,r,i,a,t,n,s,l)),fe.emit(re.created,this),this}destroy(){return this.id===-1?_.warn("[StreamerObject]: Unable to destroy the object before create"):(o.DestroyDynamicObject(this.id),fe.emit(re.destroyed,this),this)}isValid(){return o.IsValidDynamicObject(this.id)}getPos(){return this.id===-1?_.warn("[StreamerObject]: Cannot get position before create"):o.GetDynamicObjectPos(this.id)}setPos(t,n,r){return this.id===-1?_.warn("[StreamerObject]: Cannot set position before create"):o.SetDynamicObjectPos(this.id,t,n,r)}getRot(){return this.id===-1?_.warn("[StreamerObject]: Cannot get rotation before create"):o.GetDynamicObjectRot(this.id)}setRot(t,n,r){return this.id===-1?_.warn("[StreamerObject]: Cannot set rotation before create"):o.SetDynamicObjectRot(this.id,t,n,r)}move(t,n,r,i,a=-1e3,s=-1e3,l=-1e3){return this.id===-1?_.warn("[StreamerObject]: Cannot start moving before create"):i<0?_.warn("[StreamerObject]: speed must not be less than 0"):(i>120*1e3&&_.warn("[StreamerObject]: speed more than 120 seconds, warn if it's not intentional"),this.isMoving()&&this.stop(),o.MoveDynamicObject(this.id,t,n,r,i,a,s,l))}stop(){return this.id===-1?_.warn("[StreamerObject]: Cannot stop moving before create"):o.StopDynamicObject(this.id)}isMoving(){return this.id===-1?!1:o.IsDynamicObjectMoving(this.id)}attachCamera(t){return this.id===-1||t.id===-1?_.warn("[StreamerObject]: Cannot attachCamera before both are created"):o.AttachCameraToDynamicObject(t.id,this.id)}attachToObject(t,n,r,i,a,s,l,h=!0){return this.id===-1||t.id===-1?_.warn("[StreamerObject]: Cannot attachToObject before both are created"):o.AttachDynamicObjectToObject(this.id,t.id,n,r,i,a,s,l,h)}attachToPlayer(t,n,r,i,a,s,l){return this.id===-1||t.id===-1?_.warn("[StreamerObject]: Cannot attachToVehicle before both are created"):o.AttachDynamicObjectToPlayer(this.id,t.id,n,r,i,a,s,l)}attachToVehicle(t,n,r,i,a,s,l){return this.id===-1||t.id===-1?_.warn("[StreamerObject]: Cannot attachToVehicle before both are created"):o.AttachDynamicObjectToVehicle(this.id,t.id,n,r,i,a,s,l)}edit(t){return this.id===-1?_.warn("[StreamerObject]: Unable to edit before create"):(t.endObjectEditing(),o.EditDynamicObject(t.id,this.id))}isMaterialUsed(t){return this.id===-1?!1:o.IsDynamicObjectMaterialUsed(this.id,t)}removeMaterial(t){return this.id===-1||!this.isMaterialUsed(t)?0:o.RemoveDynamicObjectMaterial(this.id,t)}getMaterial(t,n,r){return this.id===-1?_.warn("[StreamerObject]: Unable to get material before create"):o.GetDynamicObjectMaterial(this.id,t,n,r)}setMaterial(t,n,r,i,a="#000"){return this.id===-1?_.warn("[StreamerObject]: Unable to set material before create"):o.SetDynamicObjectMaterial(this.id,t,n,r,i,p(a))}isMaterialTextUsed(t){return this.id===-1?!1:o.IsDynamicObjectMaterialTextUsed(this.id,t)}removeMaterialText(t){return this.isMaterialTextUsed(t)?o.RemoveDynamicObjectMaterialText(this.id,t):0}getMaterialText(t){return this.id===-1?_.warn("[StreamerObject]: Unable to get material text before create"):Gt(this.id,t,this.sourceInfo.charset||R)}setMaterialText(t=this.sourceInfo.charset,n,r,i=o.MaterialTextSizes.SIZE_256x128,a="Arial",s=24,l=1,h="#fff",u="#000",y=0){return this.id===-1?_.warn("[StreamerObject]: Unable to set material text before create"):(this.sourceInfo.charset=t,kt(t||R,this.id,n,r,i,a,s,l,p(h),p(u),y))}getPlayerCameraTarget(t,n){const r=o.GetPlayerCameraTargetDynObject(t.id);if(r!==C.OBJECT_ID)return n.get(r)}toggleCallbacks(t=!0){return this.id===-1?_.warn("[StreamerObject]: Unable to toggle callbacks before create"):A.toggleItemCallbacks(o.StreamerItemTypes.OBJECT,this.id,t)}isToggleCallbacks(){return this.id,A.isToggleItemCallbacks(o.StreamerItemTypes.OBJECT,this.id)}}class co{objects=new Map;players;constructor(t,n=!0){this.players=t,fe.on(re.created,r=>{this.objects.set(r.id,r)}),fe.on(re.destroyed,r=>{this.objects.delete(r.id)}),n&&D(()=>{this.objects.forEach(r=>r.destroy()),this.objects.clear()}),o.OnDynamicObjectMoved(r=>{const i=this.objects.get(r);return i?m(this,"onMoved")(i):0}),o.OnPlayerEditDynamicObject((r,i,a,s,l,h,u,y,S)=>{const P=this.objects.get(i);if(!P)return 0;const f=this.players.get(r);return f?m(this,"onPlayerEdit")(f,P,a,s,l,h,u,y,S):0}),o.OnPlayerSelectDynamicObject((r,i,a,s,l,h)=>{const u=this.players.get(r);if(!u)return 0;const y=this.objects.get(i);return y?m(this,"onPlayerSelect")(u,y,a,s,l,h):0}),o.OnPlayerShootDynamicObject((r,i,a,s,l,h)=>{const u=this.players.get(r);if(!u)return 0;const y=this.objects.get(a);return y?m(this,"onPlayerShoot")(u,i,y,s,l,h):0}),A.onItemStreamIn((r,i,a)=>{if(r===o.StreamerItemTypes.OBJECT){const s=this.objects.get(i),l=this.players.get(a);if(s&&l)return m(this,"onStreamIn")(s,l)}return 1}),A.onItemStreamOut((r,i,a)=>{if(r===o.StreamerItemTypes.OBJECT){const s=this.objects.get(i),l=this.players.get(a);if(s&&l)return m(this,"onStreamOut")(s,l)}return 1})}getObjectsArr(){return[...this.objects.values()]}getObjectsMap(){return this.objects}}var ie=(e=>(e.created="OnAreaCreate",e.destroyed="OnAreaDestroy",e))(ie||{});const Ce=new L;class de{sourceInfo;_id=-1;get type(){return this.sourceInfo.type}get id(){return this._id}constructor(t){this.sourceInfo=t}create(){if(this.id!==-1)return _.warn("[StreamerArea]: Unable to create area again");let{worldid:t,interiorid:n,playerid:r}=this.sourceInfo;const{type:i,extended:a}=this.sourceInfo;if(a)if(typeof t=="number"?t=[-1]:t??=[-1],typeof n=="number"?n=[-1]:n??=[-1],typeof r=="number"?r=[-1]:r??=[-1],i==="circle"){const{x:s,y:l,size:h}=this.sourceInfo;if(h<0)return _.error("[StreamerArea]: Invalid circle extend size");this._id=o.CreateDynamicCircleEx(s,l,h,t,n,r)}else if(i==="cuboid"){const{minx:s,miny:l,minz:h,maxx:u,maxy:y,maxz:S}=this.sourceInfo;this._id=o.CreateDynamicCuboidEx(s,l,h,u,y,S,t,n,r)}else if(i==="cylinder"){const{x:s,y:l,minz:h,maxz:u,size:y}=this.sourceInfo;if(y<0)return _.error("[StreamerArea]: Invalid cylinder extend size");this._id=o.CreateDynamicCylinderEx(s,l,h,u,y,t,n,r)}else if(i==="polygon"){const{points:s,minz:l,maxz:h}=this.sourceInfo;if(s.length%2!==0)return _.warn("[StreamerArea]: Unable to create polygon extended with asymmetrical points");this._id=o.CreateDynamicPolygonEx(s,l,h,t,n,r)}else if(i==="rectangle"){const{minx:s,miny:l,maxx:h,maxy:u}=this.sourceInfo;this._id=o.CreateDynamicRectangleEx(s,l,h,u,t,n,r)}else{const{x:s,y:l,z:h,size:u}=this.sourceInfo;if(u<0)return _.error("[StreamerArea]: Invalid sphere extended size");this._id=o.CreateDynamicSphereEx(s,l,h,u,t,n,r)}else if(Array.isArray(t)?t=-1:t??=-1,Array.isArray(n)?n=-1:n??=-1,Array.isArray(r)?r=-1:r??=-1,i==="circle"){const{x:s,y:l,size:h}=this.sourceInfo;if(h<0)return _.error("[StreamerArea]: Invalid circle size");this._id=o.CreateDynamicCircle(s,l,h,t,n,r)}else if(i==="cuboid"){const{minx:s,miny:l,minz:h,maxx:u,maxy:y,maxz:S}=this.sourceInfo;this._id=o.CreateDynamicCuboid(s,l,h,u,y,S,t,n,r)}else if(i==="cylinder"){const{x:s,y:l,minz:h,maxz:u,size:y}=this.sourceInfo;if(y<0)return _.error("[StreamerArea]: Invalid cylinder size");this._id=o.CreateDynamicCylinder(s,l,h,u,y,t,n,r)}else if(i==="polygon"){const{points:s,minz:l,maxz:h}=this.sourceInfo;if(s.length%2!==0)return _.warn("[StreamerArea]: Unable to create polygon with asymmetrical points");this._id=o.CreateDynamicPolygon(s,l,h,t,n,r)}else if(i==="rectangle"){const{minx:s,miny:l,maxx:h,maxy:u}=this.sourceInfo;this._id=o.CreateDynamicRectangle(s,l,h,u,t,n,r)}else{const{x:s,y:l,z:h,size:u}=this.sourceInfo;if(u<0)return _.error("[StreamerArea]: Invalid sphere size");this._id=o.CreateDynamicSphere(s,l,h,u,t,n,r)}return Ce.emit(ie.created,this),this}destroy(){return this.id===-1?_.warn("[StreamerArea]: Unable to destroy the area before create"):(o.DestroyDynamicArea(this.id),Ce.emit(ie.destroyed,this),this)}isValid(){return this.id===-1?!1:o.IsValidDynamicArea(this.id)}getType(){return this.id!==-1?_.warn("[StreamerArea]: Unable to get type before create"):o.GetDynamicAreaType(this.id)}getPolygonPoints(){if(this.id!==-1)return _.warn("[StreamerArea]: Unable to get polygon points before create");if(this.type==="polygon")return o.GetDynamicPolygonPoints(this.id)}getPolygonNumberPoints(){if(this.id!==-1)return _.warn("[StreamerArea]: Unable to get polygon points number before create");if(this.type==="polygon")return o.GetDynamicPolygonNumberPoints(this.id)}isPlayerIn(t,n=!1){return this.id===-1?!1:o.IsPlayerInDynamicArea(t.id,this.id,n)}static isPlayerInAny(t,n=!1){return o.IsPlayerInAnyDynamicArea(t.id,n)}isAnyPlayerIn(t=!1){return this.id===-1?!1:o.IsAnyPlayerInDynamicArea(this.id,t)}static isAnyPlayerInAny(t=!1){return o.IsAnyPlayerInAnyDynamicArea(t)}static getPlayerAreas(t,n){return de.getPlayerAreasNumber(t)?o.GetPlayerDynamicAreas(t.id).map(r=>n.get(r)):[]}static getPlayerAreasNumber(t){return o.GetPlayerNumberDynamicAreas(t.id)}isPointIn(t,n,r){return this.id===-1?!1:o.IsPointInDynamicArea(this.id,t,n,r)}static isPointInAny(t,n,r){return o.IsPointInAnyDynamicArea(t,n,r)}isLineIn(t,n,r,i,a,s){return this.id===-1?!1:o.IsLineInDynamicArea(this.id,t,n,r,i,a,s)}static isLineInAny(t,n,r,i,a,s){return o.IsLineInAnyDynamicArea(t,n,r,i,a,s)}static getForPoint(t,n,r,i){return de.getNumberForPoint(t,n,r)?o.GetDynamicAreasForPoint(t,n,r).map(a=>i.get(a)):[]}static getNumberForPoint(t,n,r){return o.GetNumberDynamicAreasForPoint(t,n,r)}static getForLine(t,n,r,i,a,s,l){return de.getNumberForLine(t,n,r,i,a,s)?o.GetDynamicAreasForLine(t,n,r,i,a,s).map(h=>l.get(h)):[]}static getNumberForLine(t,n,r,i,a,s){return o.GetNumberDynamicAreasForLine(t,n,r,i,a,s)}attachToObject(t,n=0,r=0,i=0){return this.id===-1||t.id===-1?_.warn("[StreamerArea]: Unable to toggle attach to object before create"):o.AttachDynamicAreaToObject(this.id,t.id,o.StreamerObjectTypes.DYNAMIC,C.PLAYER_ID,n,r,i)}attachToPlayer(t,n=0,r=0,i=0){return this.id===-1||t.id===-1?_.warn("[StreamerArea]: Unable to toggle attach to player before create"):o.AttachDynamicAreaToPlayer(this.id,t.id,n,r,i)}attachToVehicle(t,n=0,r=0,i=0){return this.id===-1||t.id===-1?_.warn("[StreamerArea]: Unable to toggle attach to vehicle before create"):o.AttachDynamicAreaToVehicle(this.id,t.id,n,r,i)}toggleSpectateMode(t){return this.id===-1?_.warn("[StreamerArea]: Unable to toggle specate mode before create"):o.ToggleDynAreaSpectateMode(this.id,t)}isToggleSpectateMode(){return this.id===-1?!1:o.IsToggleDynAreaSpectateMode(this.id)}toggleCallbacks(t=!0){return this.id===-1?_.warn("[StreamerArea]: Unable to toggle callbacks before create"):A.toggleItemCallbacks(o.StreamerItemTypes.AREA,this.id,t)}isToggleCallbacks(){return this.id,A.isToggleItemCallbacks(o.StreamerItemTypes.AREA,this.id)}}class ho{areas=new Map;players;constructor(t,n=!0){this.players=t,Ce.on(ie.created,r=>{this.areas.set(r.id,r)}),Ce.on(ie.destroyed,r=>{this.areas.has(r.id)&&this.areas.delete(r.id)}),n&&D(()=>{this.areas.forEach(r=>r.destroy()),this.areas.clear()}),o.OnPlayerEnterDynamicArea((r,i)=>{const a=this.players.get(r);if(!a)return 0;const s=this.areas.get(i);return s?m(this,"onPlayerEnter")(a,s):0}),o.OnPlayerLeaveDynamicArea((r,i)=>{const a=this.players.get(r);if(!a)return 0;const s=this.areas.get(i);return s?m(this,"onPlayerLeave")(a,s):0}),A.onItemStreamIn((r,i,a)=>{if(r===o.StreamerItemTypes.AREA){const s=this.areas.get(i),l=this.players.get(a);if(s&&l)return m(this,"onStreamIn")(s,l)}return 1}),A.onItemStreamOut((r,i,a)=>{if(r===o.StreamerItemTypes.AREA){const s=this.areas.get(i),l=this.players.get(a);if(s&&l)return m(this,"onStreamOut")(s,l)}return 1})}getAreasArr(){return[...this.areas.values()]}getAreasMap(){return this.areas}}var ae=(e=>(e.created="OnTextDrawCreate",e.destroyed="OnTextDrawDestroy",e))(ae||{});const Ee=new L;class g{static createdGlobalCount=0;static createdPlayerCount=0;sourceInfo;_id=-1;get id(){return this._id}constructor(t){this.sourceInfo=t}create(){if(this.id!==-1)return _.warn("[TextDraw]: Unable to create the textdraw again");const{x:t,y:n,text:r,player:i}=this.sourceInfo;if(i){if(g.createdPlayerCount===B.MAX_TEXT_DRAWS)return _.warn("[TextDraw]: Unable to continue to create textdraw, maximum allowable quantity has been reached");this._id=Ca(i.id,t,n,r),g.createdPlayerCount++,samp.addEventListener("OnPlayerDisconnect",this.unregisterEvent)}else{if(g.createdGlobalCount===B.MAX_TEXT_DRAWS)return _.warn("[TextDraw]: Unable to continue to create textdraw, maximum allowable quantity has been reached");this._id=wr(t,n,r),g.createdGlobalCount++}return Ee.emit(ae.created,{key:{id:this.id,global:i===void 0},value:this}),this}destroy(){if(this.id===-1)return g.beforeCreateWarn("destroy the textdraw");const{player:t}=this.sourceInfo;return t?(Ea(t.id,this.id),g.createdPlayerCount--):(kr(this.id),g.createdGlobalCount--),Ee.emit(ae.destroyed,{id:this.id,global:t===void 0}),this._id=-1,this}setFont(t){if(this.id===-1)return g.beforeCreateWarn("set font");const{player:n}=this.sourceInfo;return n?ka(n.id,this.id,t):Wr(this.id,t),this}setColour(t){if(this.id===-1)return g.beforeCreateWarn("set Colour");const{player:n}=this.sourceInfo;return n?La(n.id,this.id,t):Nr(this.id,t),this}setBoxColours(t){if(this.id===-1)return g.beforeCreateWarn("set box Colour");const{player:n}=this.sourceInfo;return n?ba(n.id,this.id,t):Hr(this.id,t),this}setBackgroundColours(t){if(this.id===-1)return g.beforeCreateWarn("set background Colour");const{player:n}=this.sourceInfo;return n?wa(n.id,this.id,t):Ur(this.id,t),this}setAlignment(t){if(this.id===-1)return g.beforeCreateWarn("set alignment");const{player:n}=this.sourceInfo;return n?Da(n.id,this.id,t):Fr(this.id,t),this}setLetterSize(t,n){if(this.id===-1)return g.beforeCreateWarn("set letter size");const{player:r}=this.sourceInfo;return r?Ta(r.id,this.id,t,n):Gr(this.id,t,n),this}setOutline(t){if(this.id===-1)return g.beforeCreateWarn("set outline model");if(t<0)return _.warn("[TextDraw]: Invalid outline value");const{player:n}=this.sourceInfo;return n?Ba(n.id,this.id,t):Vr(this.id,t),this}setPreviewModel(t){if(this.id===-1)return g.beforeCreateWarn("set preview model");this.setFont(z.MODEL_PREVIEW);const{player:n}=this.sourceInfo;return n?Ha(n.id,this.id,t):Qr(this.id,t),this}setPreviewRot(t,n,r,i=1){if(this.id===-1)return g.beforeCreateWarn("set preview rot");this.setFont(z.MODEL_PREVIEW);const{player:a}=this.sourceInfo;return a?xa(a.id,this.id,t,n,r,i):qr(this.id,t,n,r,i),this}setPreviewVehColours(t,n){if(this.id===-1)return g.beforeCreateWarn("set preview veh col");this.setFont(z.MODEL_PREVIEW);const{player:r}=this.sourceInfo;return r?Va(r.id,this.id,t,n):$r(this.id,t,n),this}setProportional(t=!0){if(this.id===-1)return g.beforeCreateWarn("set Proportional");const{player:n}=this.sourceInfo;return n?Ga(n.id,this.id,t):Kr(this.id,t),this}setSelectable(t){if(this.id===-1)return g.beforeCreateWarn("set Selectable");const{player:n}=this.sourceInfo;return n?Ma(n.id,this.id,t):jr(this.id,t),this}setShadow(t){if(this.id===-1)return g.beforeCreateWarn("set shadow");if(t<0)return _.warn("[TextDraw]: Invalid shadow value");const{player:n}=this.sourceInfo;return n?Oa(n.id,this.id,t):xr(this.id,t),this}setString(t){if(this.id===-1)return g.beforeCreateWarn("set string");if(t.length===0||t.length>1024)return _.warn("[TextDraw]: Invalid text length");const{player:n}=this.sourceInfo;return n?va(n.id,this.id,t):Jr(this.id,t),this}setTextSize(t,n){return this.id===-1?g.beforeCreateWarn("set TextSize"):(Mr(this.id,t,n),this)}useBox(t){if(this.id===-1)return g.beforeCreateWarn("set TextSize");const{player:n}=this.sourceInfo;return n?Ra(n.id,this.id,t):vr(this.id,t),this}static beforeCreateWarn(t){_.warn(`[TextDraw]: Unable to ${t} before create`)}unregisterEvent(){return this.destroy(),samp.removeEventListener("OnPlayerDisconnect",this.unregisterEvent),1}show(t){if(this.id===-1)return g.beforeCreateWarn("show");const n=this.sourceInfo.player;if(n)Fa(n.id,this.id);else if(t)Zr(t.id,this.id);else return _.warn("[TextDraw]: invalid player for show");return this}hide(t){if(this.id===-1)return g.beforeCreateWarn("hide");const n=this.sourceInfo.player;if(n)Na(n.id,this.id);else if(t)zr(t.id,this.id);else return _.warn("[TextDraw]: invalid player for hide");return this}showAll(){return this.id===-1?g.beforeCreateWarn("show"):this.sourceInfo.player?_.warn("[TextDraw]: player's textdraw should not be show for all."):(Xr(this.id),this)}hideAll(){return this.id===-1?g.beforeCreateWarn("hideAll"):this.sourceInfo.player?_.warn("[TextDraw]: player's textdraw should not be hide for all."):(Yr(this.id),this)}isValid(){const t=this.sourceInfo.player;return t?c.IsValidPlayer3DTextLabel(t.id,this.id):c.IsValidTextDraw(this.id)}isVisibleForPlayer(t){return this.id===-1?!1:c.IsTextDrawVisibleForPlayer(t.id,this.id)}getString(){if(this.id===-1)return this.sourceInfo.text;const t=this.sourceInfo.player;return t?c.PlayerTextDrawGetString(t.id,this.id):c.TextDrawGetString(this.id)}setPos(t,n){if(this.id===-1)return g.beforeCreateWarn("set position");const r=this.sourceInfo.player;return r?c.PlayerTextDrawSetPos(r.id,this.id,t,n):c.TextDrawSetPos(this.id,t,n),this}getLetterSize(){if(this.id===-1)return g.beforeCreateWarn("get letter size");const t=this.sourceInfo.player;return t?c.PlayerTextDrawGetLetterSize(t.id,this.id):c.TextDrawGetLetterSize(this.id)}getTextSize(){if(this.id===-1)return g.beforeCreateWarn("get text size");const t=this.sourceInfo.player;return t?c.PlayerTextDrawGetTextSize(t.id,this.id):c.TextDrawGetTextSize(this.id)}getPos(){if(this.id===-1)return g.beforeCreateWarn("get position");const t=this.sourceInfo.player;return t?c.PlayerTextDrawGetPos(t.id,this.id):c.TextDrawGetPos(this.id)}getColour(){if(this.id===-1)return g.beforeCreateWarn("get Colour");const t=this.sourceInfo.player;return t?c.PlayerTextDrawGetColour(t.id,this.id):c.TextDrawGetColour(this.id)}getBoxColour(){if(this.id===-1)return g.beforeCreateWarn("get box Colour");const t=this.sourceInfo.player;return t?c.PlayerTextDrawGetBoxColour(t.id,this.id):c.TextDrawGetBoxColour(this.id)}getBackgroundColour(){if(this.id===-1)return g.beforeCreateWarn("get bg Colour");const t=this.sourceInfo.player;return t?c.PlayerTextDrawGetBackgroundColour(t.id,this.id):c.TextDrawGetBackgroundColour(this.id)}getShadow(){if(this.id===-1)return g.beforeCreateWarn("get shadow");const t=this.sourceInfo.player;return t?c.PlayerTextDrawGetShadow(t.id,this.id):c.TextDrawGetShadow(this.id)}getOutline(){if(this.id===-1)return g.beforeCreateWarn("get outline");const t=this.sourceInfo.player;return t?c.PlayerTextDrawGetOutline(t.id,this.id):c.TextDrawGetOutline(this.id)}getFont(){if(this.id===-1)return g.beforeCreateWarn("get font");const t=this.sourceInfo.player;return t?c.PlayerTextDrawGetFont(t.id,this.id):c.TextDrawGetFont(this.id)}isBox(){if(this.id===-1)return!1;const t=this.sourceInfo.player;return t?c.PlayerTextDrawIsBox(t.id,this.id):c.TextDrawIsBox(this.id)}isProportional(){if(this.id===-1)return!1;const t=this.sourceInfo.player;return t?c.PlayerTextDrawIsProportional(t.id,this.id):c.TextDrawIsProportional(this.id)}isSelectable(){if(this.id===-1)return!1;const t=this.sourceInfo.player;return t?c.PlayerTextDrawIsSelectable(t.id,this.id):c.TextDrawIsSelectable(this.id)}getAlignment(){if(this.id===-1)return g.beforeCreateWarn("get alignment");const t=this.sourceInfo.player;return t?c.PlayerTextDrawGetAlignment(t.id,this.id):c.TextDrawGetAlignment(this.id)}getPreviewModel(){if(this.id===-1)return g.beforeCreateWarn("get preview model");const t=this.sourceInfo.player;return t?c.PlayerTextDrawGetPreviewModel(t.id,this.id):c.TextDrawGetPreviewModel(this.id)}getPreviewRot(){if(this.id===-1)return g.beforeCreateWarn("get preview rotation");const t=this.sourceInfo.player;return t?c.PlayerTextDrawGetPreviewRot(t.id,this.id):c.TextDrawGetPreviewRot(this.id)}getPreviewVehColours(){if(this.id===-1)return g.beforeCreateWarn("get preview vel Colours");const t=this.sourceInfo.player;return t?c.PlayerTextDrawGetPreviewVehicleColours(t.id,this.id):c.TextDrawGetPreviewVehicleColours(this.id)}}class uo{textDraws=new Map;players;constructor(t,n=!0){this.players=t,Ee.on(ae.created,r=>{this.textDraws.set(r.key,r.value)}),Ee.on(ae.destroyed,r=>{this.textDraws.has(r)&&this.textDraws.delete(r)}),n&&D(()=>{this.textDraws.forEach(r=>r.destroy()),this.textDraws.clear()}),on((r,i)=>{const a=this.players.get(r);if(!a)return 0;const s=this.textDraws.get({id:i,global:!0});return m(this,"onPlayerClick")(a,s||C.TEXT_DRAW)}),ln((r,i)=>{const a=this.players.get(r);if(!a)return 0;const s=this.textDraws.get({id:i,global:!1});return m(this,"onPlayerClick")(a,s||C.TEXT_DRAW)})}}Object.defineProperty(exports,"E_STREAMER",{enumerable:!0,get:function(){return o.E_STREAMER}}),Object.defineProperty(exports,"MapIconStyles",{enumerable:!0,get:function(){return o.MapIconStyles}}),Object.defineProperty(exports,"MaterialTextSizes",{enumerable:!0,get:function(){return o.MaterialTextSizes}}),Object.defineProperty(exports,"StreamerAreaTypes",{enumerable:!0,get:function(){return o.StreamerAreaTypes}}),Object.defineProperty(exports,"StreamerDistances",{enumerable:!0,get:function(){return o.StreamerDistances}}),Object.defineProperty(exports,"StreamerItemTypes",{enumerable:!0,get:function(){return o.StreamerItemTypes}}),Object.defineProperty(exports,"StreamerMiscellaneous",{enumerable:!0,get:function(){return o.StreamerMiscellaneous}}),Object.defineProperty(exports,"StreamerObjectTypes",{enumerable:!0,get:function(){return o.StreamerObjectTypes}}),Object.defineProperty(exports,"GangZonePos",{enumerable:!0,get:function(){return c.GangZonePos}}),Object.defineProperty(exports,"IActorAnimation",{enumerable:!0,get:function(){return c.IActorAnimation}}),Object.defineProperty(exports,"IActorSpawn",{enumerable:!0,get:function(){return c.IActorSpawn}}),Object.defineProperty(exports,"IAttachedData",{enumerable:!0,get:function(){return c.IAttachedData}}),Object.defineProperty(exports,"IAttachedObject",{enumerable:!0,get:function(){return c.IAttachedObject}}),Object.defineProperty(exports,"IBounds",{enumerable:!0,get:function(){return c.IBounds}}),Object.defineProperty(exports,"ICheckPoint",{enumerable:!0,get:function(){return c.ICheckPoint}}),Object.defineProperty(exports,"IMaterial",{enumerable:!0,get:function(){return c.IMaterial}}),Object.defineProperty(exports,"IMaterialText",{enumerable:!0,get:function(){return c.IMaterialText}}),Object.defineProperty(exports,"IObjectPos",{enumerable:!0,get:function(){return c.IObjectPos}}),Object.defineProperty(exports,"IObjectRotPos",{enumerable:!0,get:function(){return c.IObjectRotPos}}),Object.defineProperty(exports,"IOffsets",{enumerable:!0,get:function(){return c.IOffsets}}),Object.defineProperty(exports,"IPlayerClass",{enumerable:!0,get:function(){return c.IPlayerClass}}),Object.defineProperty(exports,"IQuat",{enumerable:!0,get:function(){return c.IQuat}}),Object.defineProperty(exports,"IRaceCheckPoint",{enumerable:!0,get:function(){return c.IRaceCheckPoint}}),Object.defineProperty(exports,"ITextDrawCommonSize",{enumerable:!0,get:function(){return c.ITextDrawCommonSize}}),Object.defineProperty(exports,"ITextDrawRot",{enumerable:!0,get:function(){return c.ITextDrawRot}}),Object.defineProperty(exports,"IVehColor",{enumerable:!0,get:function(){return c.IVehColor}}),Object.defineProperty(exports,"IVehMatrix",{enumerable:!0,get:function(){return c.IVehMatrix}}),Object.defineProperty(exports,"IVehSpawnInfo",{enumerable:!0,get:function(){return c.IVehSpawnInfo}}),exports.ArtworkEnum=Ge,exports.BodyPartsEnum=ze,exports.BoneIdsEnum=Xe,exports.BulletHitTypesEnum=tt,exports.CameraCutStylesEnum=oe,exports.CameraModesEnum=Ze,exports.CarModTypeEnum=Je,exports.ClickSourcesEnum=Me,exports.ConnectionStatusEnum=Ne,exports.DamageDeathReasonEnum=be,exports.Dialog=T,exports.DialogStylesEnum=Le,exports.Dynamic3DTextLabel=oo,exports.Dynamic3dTextLabelEvent=lo,exports.DynamicActor=ao,exports.DynamicActorEvent=so,exports.DynamicArea=de,exports.DynamicAreaEvent=ho,exports.DynamicCheckPointEvent=no,exports.DynamicCheckpoint=to,exports.DynamicMapIcon=Qd,exports.DynamicMapIconEvent=qd,exports.DynamicObject=_o,exports.DynamicObjectEvent=co,exports.DynamicPickup=$d,exports.DynamicPickupEvent=eo,exports.DynamicRaceCP=ro,exports.DynamicRaceCPEvent=io,exports.ERecordStatus=w,exports.EditResponseTypesEnum=Fe,exports.FightingStylesEnum=Ke,exports.GameMode=se,exports.GameText=Xd,exports.GangZone=N,exports.GangZoneEvent=Jd,exports.I18n=I,exports.InvalidEnum=C,exports.KeysEnum=ve,exports.LimitsEnum=B,exports.MapIconStylesEnum=je,exports.MarkerModesEnum=He,exports.Menu=Te,exports.MenuEvent=Yd,exports.NPCPlaybackEnum=xe,exports.NetStats=zd,exports.NpcEvent=En,exports.NpcFunc=G,exports.ObjectMaterialAlignmmentEnum=Ue,exports.ObjectMaterialTextSizeEnum=Ve,exports.Player=k,exports.PlayerEvent=Z,exports.PlayerStateEnum=v,exports.RecordTypesEnum=rt,exports.SelectObjectTypesEnum=We,exports.SpecialActionsEnum=Re,exports.SpectateModesEnum=le,exports.Streamer=A,exports.TextDraw=g,exports.TextDrawAlignEnum=Ye,exports.TextDrawEvent=uo,exports.TextDrawFontsEnum=z,exports.Vehicle=V,exports.VehicleEvent=Kd,exports.VehicleModelInfoEnum=qe,exports.VehicleParamsEnum=Qe,exports.WeaponEnum=$e,exports.WeaponSkillsEnum=et,exports.WeaponStatesEnum=nt,exports.rgba=p;
1
+ "use strict";var ne=require("iconv-lite"),tt=require("pino"),x=require("lodash-unified"),c=require("@infernus/streamer");function at(e){var t=Object.create(null);return e&&Object.keys(e).forEach(function(a){if(a!=="default"){var n=Object.getOwnPropertyDescriptor(e,a);Object.defineProperty(t,a,n.get?n:{enumerable:!0,get:function(){return e[a]}})}}),t.default=e,Object.freeze(t)}var h=at(c);const l=tt({transport:{target:"pino-pretty",options:{translateTime:"SYS:standard",ignore:"pid,hostname"}}});process.on("uncaughtException",e=>{l.error(e),process.exit(1)}),process.on("unhandledRejection",e=>{if(e instanceof Error){l.warn(e);return}l.warn(new Error(JSON.stringify(e)))});class f{constructor(t,a){this.defaultLocale=t,this.locales=a,this.defaultLocale=x.snakeCase(t),this.locales=f.snakeLocaleKeys(a)}addLocales=t=>{x.merge(this.locales,f.snakeLocaleKeys(t))};removeLocales=(...t)=>{this.locales=x.omit(this.locales,t)};$t=(t,a,n=this.defaultLocale)=>{const i=this.locales[x.snakeCase(n)],r=x.get(this.locales[this.defaultLocale],t),s=x.get(i,t,r);if(s===void 0)return l.warn(`[i18n]: cannot find ${n}["${t}"]`),"undefined";if(typeof s!="string")return JSON.stringify(s);let o=s;if(a&&a.length){const d=/%s/i;for(let _=0;_<a.length&&o.match(d)!==null;_++)o=o.replace(d,a[_])}return o};static isValidate(t){ne.encodingExists(t)||(l.fatal(`[i18n]: unknown charset ${t}`),process.exit(1))}static encodeToBuf(t,a){return f.isValidate(a),[...ne.encode(t,a),0]}static decodeFromBuf(t,a="utf8"){f.isValidate(a);const n=t instanceof Buffer?t:Buffer.from(t);return ne.decode(n,a)}static getValidStr(t){return t.indexOf(0)===-1?t:t.slice(0,t.indexOf(0))}static snakeLocaleKeys(t){return x.mapKeys(t,(a,n)=>x.snakeCase(n))}}const $=new Map;function he(e){$.set(e,[])}function nt(e,t){return typeof e=="boolean"?+e:typeof e=="number"&&!isNaN(e)?e:+t}function it(e,...t){const{defaultValue:a=!0,name:n,beforeEach:i,afterEach:r}=e,s=$.get(n);if(!s||!s.length)return+a;const o=i?i(...t):{},d=[];let _=-1;const p=()=>{if(_++,_<s.length){try{const S=s[_]({next:p,...o});return S instanceof Promise&&d.push(S),S}catch(S){const g=JSON.stringify(S),P=`executing event [name:${n},index:${_}] error: ${g}.`;l.error(P)}return a}return r&&(d.length?Promise.allSettled(d).then(()=>r(o)):r(o)),a};return nt(p(),a)}function m(e){const{name:t,identifier:a,isNative:n=!0}=e;if($.has(t)){const o=`event [name:${t}] error: already defined.`;throw l.error(o),new Error(o)}he(t);function i(...o){return it(e,...o)}function r(o){const d=$.get(t).push(o)-1;return()=>{const _=$.get(t)||[],p=_.length-1,S=p<d?p:d;for(let g=S;g>=0;g--)if(_[g]===o){_.splice(g,1);break}}}const s=[r,i];return n&&(a&&samp.registerEvent(t,a),samp.on(t,i)),s}const[rt]=m({name:"OnNpcConnect",beforeEach(e){return{myPlayerId:e}}}),[st]=m({name:"OnNpcDisconnect",beforeEach(e){return{reason:e}}}),[lt]=m({name:"OnNpcModeInit"}),[ot]=m({name:"OnNpcModeExit"}),[dt]=m({name:"OnNpcSpawn"}),[ct]=m({name:"OnClientMessageI18n",identifier:"iai",beforeEach(e,t){return{color:e,buffer:t,string:f.decodeFromBuf(t)}}}),_t=Object.freeze({onConnect:rt,onDisconnect:st,onModeInit:lt,onModeExit:ot,onSpawn:dt,onClientMessage:ct}),ht=e=>Boolean(samp.callNative("IsValidNickName","s",e)),mt=(e,t)=>{samp.callNative("AllowNickNameCharacter","ii",e,t)},ut=e=>Boolean(samp.callNative("IsNickNameCharacterAllowed","i",e)),pt=(e,t)=>Boolean(samp.callNative("AddServerRule","ss",e,t)),St=(e,t)=>Boolean(samp.callNative("SetServerRule","ss",e,t)),gt=e=>Boolean(samp.callNative("IsValidServerRule","s",e)),yt=e=>Boolean(samp.callNative("RemoveServerRule","s",e)),It=e=>{samp.callNative("AllowAdminTeleport","i",e)},Pt=()=>Boolean(samp.callNative("IsAdminTeleportAllowed","")),ft=e=>{samp.callNative("AllowInteriorWeapons","i",e)},At=()=>Boolean(samp.callNative("AreInteriorWeaponsAllowed","")),Et=()=>Boolean(samp.callNative("AreAllAnimationsEnabled","")),Tt=e=>{samp.callNative("EnableAllAnimations","i",e)},Ct=e=>samp.callNative("GetConsoleVarAsString","sAi",e,64),Dt=e=>samp.callNative("GetConsoleVarAsInt","s",e),Nt=e=>Boolean(samp.callNative("GetConsoleVarAsBool","s",e)),Rt=()=>samp.callNative("GetWeather",""),bt=e=>samp.callNative("GetServerRuleFlags","s",e),Lt=(e,t)=>Boolean(samp.callNative("SetServerRuleFlags","si",e,t)),vt=e=>Boolean(samp.callNative("SetModeRestartTime","f",e)),Bt=()=>samp.callNativeFloat("GetModeRestartTime",""),wt=(e,t,a)=>samp.callNative("GameTextForAll","sii",e,t,a),Ot=e=>{samp.callNative("HideGameTextForAll","i",e)},Gt=(e,t,a)=>samp.callNative("SendDeathMessage","iii",e,t,a),Ft=()=>samp.callNative("GetMaxPlayers",""),kt=(e,t,a,n,i,r)=>samp.callNativeFloat("VectorSize","ffffff",e,t,a,n,i,r),Mt=e=>samp.callNative("SetGameModeText","s",e),xt=e=>samp.callNative("ShowNameTags","i",e),Ht=e=>samp.callNative("ShowPlayerMarkers","i",e),Vt=e=>samp.callNative("SetWorldTime","i",e),Wt=()=>samp.callNative("GetWorldTime",""),Ut=()=>samp.callNative("EnableVehicleFriendlyFire",""),Kt=e=>samp.callNative("SetWeather","i",e),Zt=()=>samp.callNativeFloat("GetGravity",""),jt=e=>samp.callNative("SetGravity","f",e),Xt=(e,t,a,n,i)=>samp.callNative("CreateExplosion","fffif",e,t,a,n,i),Yt=e=>samp.callNative("EnableZoneNames","i",e),zt=()=>samp.callNative("UsePlayerPedAnims",""),Jt=()=>samp.callNative("DisableInteriorEnterExits",""),$t=e=>samp.callNative("SetNameTagDrawDistance","f",e),Qt=()=>samp.callNative("DisableNameTagLOS",""),qt=e=>samp.callNative("LimitGlobalChatRadius","f",e),ea=e=>samp.callNative("LimitPlayerMarkerRadius","f",e),ta=(e,t)=>samp.callNative("ConnectNPC","ss",e,t),aa=()=>samp.callNative("GetServerTickRate",""),na=e=>samp.callNative("GetAnimationName","iSiSi",e,32,32),ia=e=>samp.callNative("EnableStuntBonusForAll","i",e),ra=e=>{samp.callNative("ToggleChatTextReplacement","i",e)},sa=()=>Boolean(samp.callNative("ChatTextReplacementToggled","")),la=e=>samp.callNative("GetWeaponSlot","i",e),oa=e=>samp.callNative("GetWeaponName","iSi",e,32),me=()=>samp.callNative("GetAvailableClasses",""),da=e=>{if(e<me()||e>319)return!1;const t=samp.callNative("GetPlayerClass","iIIFFFFIIIIII",e),[a,n=0,i=0,r=0,s=0,o=0,d=0,_=0,p=0,S=0,g=0,P=0]=t;return{teamId:a,modelId:n,spawn_x:i,spawn_y:r,spawn_z:s,z_angle:o,weapon1:d,weapon1_ammo:_,weapon2:p,weapon2_ammo:S,weapon3:g,weapon3_ammo:P}},ca=(e,t,a,n,i,r,s,o,d,_,p,S,g)=>Boolean(samp.callNative("EditPlayerClass","iiiffffiiiiii",e,t,a,n,i,r,s,o,d,_,p,S,g)),_a=e=>samp.callNative("SetTeamCount","i",e),ha=(e,t,a,n,i,r,s,o,d,_,p)=>samp.callNative("AddPlayerClass","iffffiiiiii",e,t,a,n,i,r,s,o,d,_,p),ma=(e,t,a,n,i,r,s,o,d,_,p,S)=>samp.callNative("AddPlayerClassEx","iiffffiiiiii",e,t,a,n,i,r,s,o,d,_,p,S),ua=(e,t,a,n,i,r,s,o,d,_,p,S,g)=>samp.callNative("SetSpawnInfo","iiiffffiiiiii",e,t,a,n,i,r,s,o,d,_,p,S,g),pa=e=>samp.callNative("SpawnPlayer","i",e),Sa=e=>samp.callNative("NetStats_GetConnectedTime","i",e),ga=e=>samp.callNative("NetStats_MessagesReceived","i",e),ya=e=>samp.callNative("NetStats_BytesReceived","i",e),Ia=e=>samp.callNative("NetStats_MessagesSent","i",e),Pa=e=>samp.callNative("NetStats_BytesSent","i",e),fa=e=>samp.callNative("NetStats_MessagesRecvPerSecond","i",e),Aa=e=>samp.callNativeFloat("NetStats_PacketLossPercent","i",e),Ea=e=>samp.callNative("NetStats_ConnectionStatus","i",e),Ta=e=>samp.callNative("NetStats_GetIpPort","iSi",e,128+6),Ca=e=>Boolean(samp.callNative("IsPlayerAdmin","i",e)),Da=e=>samp.callNative("Kick","i",e),Na=e=>samp.callNative("Ban","i",e),Ra=e=>samp.callNative("GetPlayerNetworkStats","iSi",e,1024),ba=()=>samp.callNative("GetNetworkStats","Si",1024),La=(e,t)=>samp.callNative("BlockIpAddress","si",e,t),va=e=>samp.callNative("UnBlockIpAddress","s",e),Ba=e=>samp.callNative("SendRconCommand","s",e),wa=(e,t)=>f.decodeFromBuf(f.getValidStr(samp.callNative("gpci","iAi",e,41)),t),Oa=(e,t,a,n,i)=>samp.callNative("SendClientCheck","iiiii",e,t,a,n,i),Ga=()=>{samp.callNative("ClearBanList","")},Fa=e=>Boolean(samp.callNative("IsBanned","s",e)),I=e=>{if(typeof e=="number")return e;if(typeof+e=="number"&&!isNaN(+e))return+e;if(e.charAt(0)==="#")return e.length===4?parseInt(e.charAt(1)+e.charAt(1)+e.charAt(2)+e.charAt(2)+e.charAt(3)+e.charAt(3)+"FF",16):e.length===7?parseInt(e.slice(1,e.length)+"FF",16):e.length===9?parseInt(e.slice(1,e.length),16):255;const t=(e.match(/([0-9])+/g)||[]).map(n=>parseInt(n,10));if(t.length!==4&&t.length!==3)return 255;t.length===3?t.push(255):t[3]=t[3]<1?Math.floor(t[3]*255):255;let a=0;return t.reverse().forEach((n,i)=>{n!==0&&(a+=Math.pow(16,i*2)*n)}),a},ka=(e,t)=>samp.callNative("TogglePlayerWidescreen","ii",e,t),Ma=e=>Boolean(samp.callNative("IsPlayerWidescreenToggled","i",e)),xa=e=>{const[t,a=0,n=0,i=0,r=0,s=0,o=0,d=0,_=0,p=0,S=0,g=0]=samp.callNative("GetSpawnInfo","iIIFFFFIIIIII",e);return{teamId:t,modelId:a,spawn_x:n,spawn_y:i,spawn_z:r,z_angle:s,weapon1:o,weapon1_ammo:d,weapon2:_,weapon2_ammo:p,weapon3:S,weapon3_ammo:g}},Ha=(e,t)=>samp.callNative("GetPlayerSkillLevel","ii",e,t),Va=e=>samp.callNative("GetPlayerWeather","i",e),Wa=e=>Boolean(samp.callNative("IsPlayerCheckpointActive","i",e)),Ua=e=>{const[t=0,a=0,n=0,i=0]=samp.callNative("GetPlayerCheckpoint","iFFFF",e);return{fX:t,fY:a,fZ:n,fSize:i}},Ka=e=>Boolean(samp.callNative("IsPlayerRaceCheckpointActive","i",e)),Za=e=>{const[t=0,a=0,n=0,i=0,r=0,s=0,o=0]=samp.callNative("GetPlayerRaceCheckpoint","iFFFFFFF",e);return{fX:t,fY:a,fZ:n,fNextX:i,fNextY:r,fNextZ:s,fSize:o}},ja=e=>{const[t=0,a=0,n=0,i=0]=samp.callNative("GetPlayerWorldBounds","iFFFF",e);return{x_max:t,x_min:a,y_max:n,y_min:i}},Xa=e=>Boolean(samp.callNative("IsPlayerInModShop","i",e)),Ya=e=>samp.callNative("GetPlayerSirenState","i",e),za=e=>samp.callNative("GetPlayerLandingGearState","i",e),Ja=e=>samp.callNative("GetPlayerHydraReactorAngle","i",e),$a=e=>samp.callNativeFloat("GetPlayerTrainSpeed","i",e),Qa=e=>samp.callNativeFloat("GetPlayerZAim","i",e),qa=e=>{const[t=0,a=0,n=0]=samp.callNative("GetPlayerSurfingOffsets","iFFF",e);return{fOffsetX:t,fOffsetY:a,fOffsetZ:n}},en=e=>{const[t=0,a=0,n=0,i=0]=samp.callNative("GetPlayerRotationQuat","iFFFF",e);return{w:t,x:a,y:n,z:i}},tn=e=>samp.callNative("GetPlayerDialogID","i",e),an=e=>samp.callNative("GetPlayerSpectateID","i",e),nn=e=>samp.callNative("GetPlayerSpectateType","i",e),rn=e=>samp.callNative("GetPlayerRawIp","i",e),sn=(e,t)=>samp.callNative("SetPlayerGravity","if",e,t),ln=e=>samp.callNativeFloat("GetPlayerGravity","i",e),on=(e,t)=>samp.callNative("SetPlayerAdmin","ii",e,t),dn=e=>Boolean(samp.callNative("IsPlayerSpawned","i",e)),cn=e=>Boolean(samp.callNative("IsPlayerControllable","i",e)),_n=e=>Boolean(samp.callNative("IsPlayerCameraTargetEnabled","i",e)),hn=(e,t)=>samp.callNative("TogglePlayerGhostMode","ii",e,t),mn=e=>Boolean(samp.callNative("GetPlayerGhostMode","i",e)),un=e=>samp.callNative("GetPlayerBuildingsRemoved","i",e),pn=(e,t)=>{const[a=0,n=0,i=0,r=0,s=0,o=0,d=0,_=0,p=0,S=0,g=0,P=0,E=0]=samp.callNative("GetPlayerAttachedObject","iiIIFFFFFFFFFII",e,t);return{modelId:a,bone:n,fX:i,fY:r,fZ:s,fRotX:o,fRotY:d,fRotZ:_,fScaleX:p,fScaleY:S,fScaleZ:g,materialColor1:P,materialColor2:E}},Sn=(e,t)=>samp.callNative("RemovePlayerWeapon","ii",e,t),gn=e=>samp.callNative("HidePlayerDialog","i",e),yn=e=>Boolean(samp.callNative("IsPlayerUsingOfficialClient","i",e)),In=(e,t)=>Boolean(samp.callNative("AllowPlayerTeleport","ii",e,t)),Pn=e=>Boolean(samp.callNative("IsPlayerTeleportAllowed","i",e)),fn=(e,t)=>Boolean(samp.callNative("AllowPlayerWeapons","i",e,t)),An=e=>Boolean(samp.callNative("ArePlayerWeaponsAllowed","i",e)),En=e=>samp.callNative("GetPlayerIp","iSi",e,128),Tn=e=>samp.callNative("GetPlayerVersion","iSi",e,24),Cn=(e,t,a,n)=>Boolean(samp.callNative("GameTextForPlayer","isii",e,t,a,n)),Dn=(e,t)=>Boolean(samp.callNative("HasGameText","ii",e,t)),Nn=(e,t,a,n)=>samp.callNative("SendDeathMessageToPlayer","iiii",e,t,a,n),Rn=(e,t)=>Boolean(samp.callNative("HideGameTextForPlayer","ii",e,t)),bn=e=>Boolean(samp.callNative("IsPlayerNPC","i",e)),ue=(e,t,a,n)=>samp.callNative("SetPlayerPos","ifff",e,t,a,n),Ln=(e,t,a,n)=>samp.callNative("SetPlayerPosFindZ","ifff",e,t,a,n),vn=e=>samp.callNative("GetPlayerPos","iFFF",e),Bn=(e,t)=>samp.callNative("SetPlayerFacingAngle","if",e,t),wn=e=>samp.callNative("GetPlayerFacingAngle","iF",e),On=(e,t,a,n,i)=>Boolean(samp.callNative("IsPlayerInRangeOfPoint","iffff",e,t,a,n,i)),Gn=(e,t,a,n)=>samp.callNativeFloat("GetPlayerDistanceFromPoint","ifff",e,t,a,n),Fn=(e,t)=>Boolean(samp.callNative("IsPlayerStreamedIn","ii",e,t)),kn=(e,t)=>samp.callNative("SetPlayerInterior","ii",e,t),Mn=e=>samp.callNative("GetPlayerInterior","i",e),xn=(e,t)=>samp.callNative("SetPlayerHealth","if",e,t),Hn=e=>samp.callNative("GetPlayerHealth","iF",e),Vn=(e,t)=>samp.callNative("SetPlayerArmour","if",e,t),Wn=e=>samp.callNative("GetPlayerArmour","iF",e),Un=(e,t,a)=>samp.callNative("SetPlayerAmmo","iii",e,t,a),Kn=e=>samp.callNative("GetPlayerAmmo","i",e),Zn=e=>samp.callNative("GetPlayerWeaponState","i",e),jn=e=>samp.callNative("GetPlayerTargetPlayer","i",e),Xn=(e,t)=>{samp.callNative("SetPlayerTeam","ii",e,t)},Yn=e=>samp.callNative("GetPlayerTeam","i",e),zn=(e,t)=>samp.callNative("SetPlayerScore","ii",e,t),Jn=e=>samp.callNative("GetPlayerScore","i",e),$n=e=>samp.callNative("GetPlayerDrunkLevel","i",e),Qn=(e,t)=>samp.callNative("SetPlayerDrunkLevel","ii",e,t),qn=(e,t)=>samp.callNative("SetPlayerColor","ii",e,I(t)),ei=e=>samp.callNative("GetPlayerColor","i",e),ti=(e,t)=>samp.callNative("SetPlayerSkin","ii",e,t),ai=e=>samp.callNative("GetPlayerSkin","i",e),ni=(e,t,a)=>samp.callNative("GivePlayerWeapon","iii",e,t,a),ii=e=>samp.callNative("ResetPlayerWeapons","i",e),ri=(e,t)=>samp.callNative("SetPlayerArmedWeapon","ii",e,t),si=(e,t)=>samp.callNative("GetPlayerWeaponData","iiII",e,t),li=(e,t)=>samp.callNative("GivePlayerMoney","ii",e,t),oi=e=>samp.callNative("ResetPlayerMoney","i",e),di=e=>samp.callNative("GetPlayerMoney","i",e),ci=e=>samp.callNative("GetPlayerState","i",e),_i=e=>samp.callNative("GetPlayerPing","i",e),hi=e=>samp.callNative("GetPlayerWeapon","i",e),mi=e=>samp.callNative("GetPlayerKeys","iIII",e),ui=(e,t,a)=>samp.callNative("SetPlayerTime","iii",e,t,a),pi=e=>samp.callNative("GetPlayerTime","iII",e),Si=(e,t)=>samp.callNative("TogglePlayerClock","ii",e,t),gi=(e,t)=>samp.callNative("SetPlayerWeather","ii",e,t),yi=e=>samp.callNative("ForceClassSelection","i",e),Ii=(e,t)=>samp.callNative("SetPlayerWantedLevel","ii",e,t),Pi=e=>samp.callNative("GetPlayerWantedLevel","i",e),fi=(e,t)=>samp.callNative("SetPlayerFightingStyle","ii",e,t),Ai=e=>samp.callNative("GetPlayerFightingStyle","i",e),Ei=(e,t,a,n)=>samp.callNative("SetPlayerVelocity","ifff",e,t,a,n),Ti=e=>samp.callNative("GetPlayerVelocity","iFFF",e),Ci=(e,t,a)=>samp.callNative("PlayCrimeReportForPlayer","iii",e,t,a),Di=(e,t,a,n,i,r,s=!1)=>samp.callNative("PlayAudioStreamForPlayer","isffffi",e,t,a,n,i,r,s),Ni=e=>samp.callNative("StopAudioStreamForPlayer","i",e),Ri=(e,t)=>samp.callNative("SetPlayerShopName","is",e,t),bi=(e,t,a)=>samp.callNative("SetPlayerSkillLevel","iii",e,t,a),Li=e=>samp.callNative("GetPlayerSurfingVehicleID","i",e),vi=e=>samp.callNative("GetPlayerSurfingObjectID","i",e),Bi=e=>samp.callNative("GetPlayerSurfingPlayerObjectID","i",e),wi=(e,t,a,n,i,r)=>samp.callNative("RemoveBuildingForPlayer","iiffff",e,t,a,n,i,r),Oi=e=>samp.callNative("GetPlayerLastShotVectors","iFFFFFF",e),Gi=(e,t,a,n,i,r,s,o,d,_,p,S,g,P,E)=>samp.callNative("SetPlayerAttachedObject","iiiifffffffffii",e,t,a,n,i,r,s,o,d,_,p,S,g,I(P),I(E)),Fi=(e,t)=>samp.callNative("RemovePlayerAttachedObject","ii",e,t),ki=(e,t)=>Boolean(samp.callNative("IsPlayerAttachedObjectSlotUsed","ii",e,t)),Mi=(e,t,a,n,i)=>samp.callNative("SetPlayerChatBubble","isifi",e,t,I(a),n,i),xi=(e,t,a)=>samp.callNative("PutPlayerInVehicle","iii",e,t,a),Hi=e=>samp.callNative("GetPlayerVehicleID","i",e),Vi=e=>samp.callNative("GetPlayerVehicleSeat","i",e),Wi=e=>samp.callNative("RemovePlayerFromVehicle","i",e),Ui=(e,t)=>samp.callNative("TogglePlayerControllable","ii",e,t),Ki=(e,t,a,n,i)=>samp.callNative("PlayerPlaySound","iifff",e,t,a,n,i),Zi=(e,t,a,n,i,r,s,o,d,_)=>samp.callNative("ApplyAnimation","issfiiiiii",e,t,a,n,i,r,s,o,d,_),ji=(e,t)=>samp.callNative("ClearAnimations","ii",e,t),Xi=e=>samp.callNative("GetPlayerAnimationIndex","i",e),Yi=e=>samp.callNative("GetPlayerSpecialAction","i",e),zi=(e,t)=>samp.callNative("SetPlayerSpecialAction","ii",e,t),Ji=(e,t)=>samp.callNative("DisableRemoteVehicleCollisions","ii",e,t),$i=(e,t)=>samp.callNative("SetPlayerVirtualWorld","ii",e,t),Qi=e=>samp.callNative("GetPlayerVirtualWorld","i",e),qi=(e,t)=>samp.callNative("EnableStuntBonusForPlayer","ii",e,t),er=e=>samp.callNative("GetPlayerCustomSkin","i",e),tr=(e,t,a,n,i,r)=>samp.callNative("CreateExplosionForPlayer","ifffif",e,t,a,n,i,r),ar=(e,t,a)=>samp.callNative("StartRecordingPlayerData","iis",e,t,a),nr=e=>samp.callNative("StopRecordingPlayerData","i",e),ir=(e,t)=>samp.callNative("TogglePlayerSpectating","ii",e,t),rr=(e,t,a)=>samp.callNative("PlayerSpectatePlayer","iii",e,t,a),sr=(e,t,a)=>samp.callNative("PlayerSpectateVehicle","iii",e,t,a),pe=e=>Boolean(samp.callNative("IsPlayerConnected","i",e)),lr=(e,t)=>Boolean(samp.callNative("IsPlayerInVehicle","ii",e,t)),or=e=>Boolean(samp.callNative("IsPlayerInAnyVehicle","i",e)),dr=(e,t,a,n,i)=>samp.callNative("SetPlayerWorldBounds","iffff",e,t,a,n,i),cr=e=>Boolean(samp.callNative("ClearPlayerWorldBounds","i",e)),_r=(e,t,a)=>samp.callNative("SetPlayerMarkerForPlayer","iii",e,t,I(a));function hr(e,t){return samp.callNative("GetPlayerMarkerForPlayer","ii",t)}const mr=(e,t,a)=>samp.callNative("ShowPlayerNameTagForPlayer","iii",e,t,a),ur=(e,t,a,n)=>samp.callNative("SetPlayerCameraPos","ifff",e,t,a,n),pr=(e,t,a,n,i)=>samp.callNative("SetPlayerCameraLookAt","ifffi",e,t,a,n,i),Sr=e=>samp.callNative("SetCameraBehindPlayer","i",e),gr=e=>samp.callNative("GetPlayerCameraPos","iFFF",e),yr=e=>samp.callNative("GetPlayerCameraFrontVector","iFFF",e),Ir=e=>samp.callNative("GetPlayerCameraMode","i",e),Pr=(e,t)=>samp.callNative("EnablePlayerCameraTarget","ii",e,t),fr=e=>samp.callNative("GetPlayerCameraTargetVehicle","i",e),Ar=e=>samp.callNative("GetPlayerCameraTargetPlayer","i",e),Er=e=>samp.callNativeFloat("GetPlayerCameraAspectRatio","i",e),Tr=e=>samp.callNativeFloat("GetPlayerCameraZoom","i",e),Cr=(e,t,a,n,i,r,s,o,d)=>samp.callNative("InterpolateCameraPos","iffffffii",e,t,a,n,i,r,s,o,d),Dr=(e,t,a,n,i,r,s,o,d)=>samp.callNative("InterpolateCameraLookAt","iffffffii",e,t,a,n,i,r,s,o,d),Nr=(e,t)=>samp.callNative("StartRecordingPlayback","is",e,t),Rr=()=>samp.callNative("StopRecordingPlayback",""),br=()=>samp.callNative("PauseRecordingPlayback",""),Lr=()=>samp.callNative("ResumeRecordingPlayback",""),vr=e=>samp.callNative("GetActorSkin","i",e),Br=(e,t)=>samp.callNative("SetActorSkin","ii",e,t),wr=e=>{const[t=0,a=0,n=0,i=0,r=0]=samp.callNative("GetActorSpawnInfo","iIFFFF",e);return{skinId:t,fX:a,fY:n,fZ:i,fAngle:r}},Or=e=>{const[t,a,n=0,i=0,r=0,s=0,o=0,d=0]=samp.callNative("GetActorAnimation","iSiSiFIIIII",e,32,32);return{animLib:t,animName:a,fDelta:n,loop:i,lockX:r,lockY:s,freeze:o,time:d}},Gr=e=>{const[t=0,a=0,n=0,i=0,r=0,s=0]=samp.callNative("GetVehicleSpawnInfo","iFFFFII",e);return{fX:t,fY:a,fZ:n,fRot:i,color1:r,color2:s}},Fr=(e,t,a,n,i,r,s,o,d=-2,_=-2)=>samp.callNative("SetVehicleSpawnInfo","iiFFFFiiii",e,t,a,n,i,r,s,o,d,_),kr=e=>{const[t=0,a=0]=samp.callNative("GetVehicleColor","i",e);return{color1:t,color2:a}},Mr=e=>samp.callNative("GetVehiclePaintjob","i",e),xr=e=>samp.callNative("GetVehicleInterior","i",e),Hr=e=>samp.callNative("GetVehicleNumberPlate","iSi",e,33),Vr=(e,t)=>samp.callNative("SetVehicleRespawnDelay","ii",e,t),Wr=e=>samp.callNative("GetVehicleRespawnDelay","i",e),Ur=e=>samp.callNative("GetVehicleCab","i",e),Kr=e=>samp.callNative("GetVehicleOccupiedTick","i",e),Zr=(e,t)=>samp.callNative("SetVehicleOccupiedTick","ii",e,t),jr=e=>Boolean(samp.callNative("HasVehicleBeenOccupied","i",e)),Xr=e=>Boolean(samp.callNative("IsVehicleOccupied","i",e)),Yr=e=>samp.callNative("GetVehicleRespawnTick","i",e),zr=(e,t)=>samp.callNative("SetVehicleRespawnTick","ii",e,t),Jr=e=>Boolean(samp.callNative("IsVehicleDead","i",e)),$r=(e,t)=>Boolean(samp.callNative("SetVehicleDead","ii",e,t)),Qr=(e,t)=>Boolean(samp.callNative("SetVehicleBeenOccupied","ii",e,t)),qr=(e,t)=>samp.callNative("ToggleVehicleSirenEnabled","ii",e,t),es=(e,t)=>samp.callNative("SetVehicleParamsSirenState","ii",e,t),ts=e=>Boolean(samp.callNative("IsVehicleSirenEnabled","i",e)),as=e=>samp.callNative("GetVehicleModelCount","i",e),ns=e=>samp.callNative("GetVehicleLastDriver","i",e),is=e=>samp.callNative("GetVehicleDriver","i",e),rs=()=>samp.callNative("GetVehicleModelsUsed",""),ss=e=>samp.callNative("GetVehicleSirenState","i",e),ls=e=>samp.callNative("GetVehicleLandingGearState","i",e),os=e=>samp.callNativeFloat("GetVehicleHydraReactorAngle","i",e),ds=e=>samp.callNativeFloat("GetVehicleTrainSpeed","i",e),cs=e=>{const[t=0,a=0,n=0,i=0,r=0,s=0,o=0,d=0,_=0]=samp.callNative("GetVehicleMatrix","iFFFFFFFFF",e);return{rightX:t,rightY:a,rightZ:n,upX:i,upY:r,upZ:s,atX:o,atY:d,atZ:_}},Se=e=>{const[t=0,a=0,n=0,i=0]=samp.callNative("GetRandomCarColPair","iIIII",e);return{color:[t,a,n,i]}},_s=(e,t,a,n,i,r,s,o,d)=>samp.callNative("CreateVehicle","iffffiiii",e,t,a,n,i,I(r),I(s),o,d),hs=e=>samp.callNative("DestroyVehicle","i",e),ms=(e,t)=>Boolean(samp.callNative("IsVehicleStreamedIn","ii",e,t)),us=e=>{const t=samp.callNative("GetVehiclePos","iFFF",e);if(t.length<3)throw new Error("VehicleID "+e+" not found");return{x:t[0],y:t[1],z:t[2]}},ps=(e,t,a,n)=>samp.callNative("SetVehiclePos","ifff",e,t,a,n),Ss=e=>samp.callNative("GetVehicleZAngle","iF",e),gs=e=>samp.callNative("GetVehicleRotationQuat","iFFFF",e),ys=(e,t,a,n)=>samp.callNativeFloat("GetVehicleDistanceFromPoint","ifff",e,t,a,n),Is=(e,t)=>samp.callNative("SetVehicleZAngle","if",e,t),Ps=(e,t,a,n)=>samp.callNative("SetVehicleParamsForPlayer","iiii",e,t,a,n),fs=()=>samp.callNative("ManualVehicleEngineAndLights",""),As=(e,t,a,n,i,r,s,o)=>samp.callNative("SetVehicleParamsEx","iiiiiiii",e,t,a,n,i,r,s,o),Es=e=>samp.callNative("GetVehicleParamsEx","iIIIIIII",e),Ts=e=>samp.callNative("GetVehicleParamsSirenState","i",e),Cs=(e,t,a,n,i)=>samp.callNative("SetVehicleParamsCarDoors","iiiii",e,t,a,n,i),Ds=e=>{const t=samp.callNative("GetVehicleParamsCarDoors","iIIII",e);return{driver:t[0],passenger:t[1],backLeft:t[2],backRight:t[3]}},Ns=(e,t,a,n,i)=>samp.callNative("SetVehicleParamsCarWindows","iiiii",e,t,a,n,i),Rs=e=>{const t=samp.callNative("GetVehicleParamsCarWindows","iIIII",e);return{driver:t[0],passenger:t[1],backLeft:t[2],backRight:t[3]}},bs=e=>samp.callNative("SetVehicleToRespawn","i",e),Ls=(e,t)=>samp.callNative("LinkVehicleToInterior","ii",e,t),vs=(e,t)=>samp.callNative("AddVehicleComponent","ii",e,t),Bs=(e,t)=>samp.callNative("RemoveVehicleComponent","ii",e,t),ws=(e,t,a)=>samp.callNative("ChangeVehicleColor","iii",e,I(t),I(a)),Os=(e,t)=>samp.callNative("ChangeVehiclePaintjob","ii",e,t),Gs=(e,t)=>samp.callNative("SetVehicleHealth","if",e,t),Fs=e=>samp.callNative("GetVehicleHealth","iF",e),ks=(e,t)=>samp.callNative("AttachTrailerToVehicle","ii",e,t),Ms=e=>samp.callNative("DetachTrailerFromVehicle","i",e),xs=e=>Boolean(samp.callNative("IsTrailerAttachedToVehicle","i",e)),Hs=e=>samp.callNative("GetVehicleTrailer","i",e),Vs=(e,t)=>samp.callNative("SetVehicleNumberPlate","is",e,t),Ws=e=>samp.callNative("GetVehicleModel","i",e),Us=(e,t)=>samp.callNative("GetVehicleComponentInSlot","ii",e,t),Ks=e=>samp.callNative("GetVehicleComponentType","i",e),Zs=e=>samp.callNative("RepairVehicle","i",e),js=e=>samp.callNative("GetVehicleVelocity","iFFF",e),Xs=(e,t,a,n)=>Boolean(samp.callNative("SetVehicleVelocity","ifff",e,t,a,n)),Ys=(e,t,a,n)=>samp.callNative("SetVehicleAngularVelocity","ifff",e,t,a,n),zs=e=>{const t=samp.callNative("GetVehicleDamageStatus","iIIII",e);if(t.length<4)throw new Error("VehicleID "+e+" not found");return{panels:t[0],doors:t[1],lights:t[2],tires:t[3]}},Js=(e,t,a,n,i)=>samp.callNative("UpdateVehicleDamageStatus","iiiii",e,t,a,n,i),$s=(e,t)=>{const a=samp.callNative("GetVehicleModelInfo","iiFFF",e,t);if(a.length<3)throw new Error("ModelID "+e+" not found");return{x:a[0],y:a[1],z:a[2]}},Qs=(e,t)=>samp.callNative("SetVehicleVirtualWorld","ii",e,t),qs=e=>samp.callNative("GetVehicleVirtualWorld","i",e),ge=e=>Boolean(samp.callNative("IsValidVehicle","i",e)),el=(e,t,a,n,i,r,s)=>samp.callNative("AddStaticVehicle","iffffii",e,t,a,n,i,r,s),tl=(e,t,a,n,i,r,s,o,d)=>samp.callNative("AddStaticVehicleEx","iffffiiii",e,t,a,n,i,r,s,o,d),al=e=>Boolean(samp.callNative("IsMenuDisabled","i",e)),nl=(e,t)=>Boolean(samp.callNative("IsMenuRowDisabled","ii",e,t)),il=(e,t)=>samp.callNative("GetMenuItems","ii",e,t),rl=e=>{const[t=0,a=0]=samp.callNative("GetMenuPos","iFF",e);return{fX:t,fY:a}},sl=e=>{const[t=0,a=0]=samp.callNative("GetMenuColumnWidth","iFF",e);return{fColumn1:t,fColumn2:a}},ll=(e,t)=>samp.callNative("GetMenuColumnHeader","iiSi",e,t,31),ol=(e,t,a)=>samp.callNative("GetMenuItem","iiiSi",e,t,a,31),dl=(e,t,a,n,i,r)=>samp.callNative("CreateMenu","siffff",e,t,a,n,i,r),cl=e=>samp.callNative("DestroyMenu","i",e),_l=(e,t,a)=>samp.callNative("AddMenuItem","iis",e,t,a),hl=(e,t,a)=>samp.callNative("SetMenuColumnHeader","iis",e,t,a),ml=(e,t)=>samp.callNative("ShowMenuForPlayer","ii",e,t),ul=(e,t)=>samp.callNative("HideMenuForPlayer","ii",e,t),pl=e=>Boolean(samp.callNative("IsValidMenu","i",e)),Sl=e=>samp.callNative("DisableMenu","i",e),gl=(e,t)=>samp.callNative("DisableMenuRow","ii",e,t),yl=e=>samp.callNative("GetPlayerMenu","i",e),Il=e=>Boolean(samp.callNative("IsValidGangZone","i",e)),Pl=(e,t)=>Boolean(samp.callNative("IsPlayerInGangZone","ii",e,t)),fl=(e,t)=>Boolean(samp.callNative("IsGangZoneVisibleForPlayer","ii",e,t)),Al=(e,t)=>samp.callNative("GangZoneGetColorForPlayer","ii",e,t),El=(e,t)=>samp.callNative("GangZoneGetFlashColorForPlayer","ii",e,t),Tl=(e,t)=>Boolean(samp.callNative("IsGangZoneFlashingForPlayer","ii",e,t)),Cl=e=>{const[t=0,a=0,n=0,i=0]=samp.callNative("GangZoneGetPos","iFFFF",e);return{fMinX:t,fMinY:a,fMaxX:n,fMaxY:i}},Dl=(e,t)=>{samp.callNative("UseGangZoneCheck","ii",e,t)},Nl=(e,t,a,n)=>samp.callNative("GangZoneCreate","ffff",e,t,a,n),Rl=e=>samp.callNative("GangZoneDestroy","i",e),bl=(e,t,a)=>samp.callNative("GangZoneShowForPlayer","iii",e,t,I(a)),Ll=(e,t)=>samp.callNative("GangZoneShowForAll","ii",e,I(t)),vl=(e,t)=>samp.callNative("GangZoneHideForPlayer","ii",e,t),Bl=e=>samp.callNative("GangZoneHideForAll","i",e),wl=(e,t,a)=>samp.callNative("GangZoneFlashForPlayer","iii",e,t,I(a)),Ol=(e,t)=>samp.callNative("GangZoneFlashForAll","ii",e,I(t)),Gl=(e,t)=>samp.callNative("GangZoneStopFlashForPlayer","ii",e,t),Fl=e=>samp.callNative("GangZoneStopFlashForAll","i",e),kl=(e,t,a,n,i)=>samp.callNative("CreatePlayerGangZone","iffff",e,t,a,n,i),Ml=(e,t)=>samp.callNative("PlayerGangZoneDestroy","ii",e,t),xl=(e,t,a)=>samp.callNative("PlayerGangZoneShow","iii",e,t,a),Hl=(e,t)=>samp.callNative("PlayerGangZoneHide","ii",e,t),Vl=(e,t,a)=>samp.callNative("PlayerGangZoneFlash","iii",e,t,a),Wl=(e,t)=>samp.callNative("PlayerGangZoneStopFlash","ii",e,t),Ul=(e,t)=>Boolean(samp.callNative("IsValidPlayerGangZone","ii",e,t)),Kl=(e,t)=>Boolean(samp.callNative("IsPlayerInPlayerGangZone","ii",e,t)),Zl=(e,t)=>Boolean(samp.callNative("IsPlayerGangZoneVisible","ii",e,t)),jl=(e,t)=>samp.callNative("PlayerGangZoneGetColor","ii",e,t),Xl=(e,t)=>samp.callNative("PlayerGangZoneGetFlashColor","ii",e,t),Yl=(e,t)=>Boolean(samp.callNative("IsPlayerGangZoneFlashing","ii",e,t)),zl=(e,t)=>{const[a=0,n=0,i=0,r=0]=samp.callNative("PlayerGangZoneGetPos","iiFFFF",e,t);return{fMinX:a,fMinY:n,fMaxX:i,fMaxY:r}},Jl=(e,t,a)=>{samp.callNative("UsePlayerGangZoneCheck","iii",e,t,a)},$l=e=>Boolean(samp.callNative("IsValidTextDraw","i",e)),Ql=(e,t)=>Boolean(samp.callNative("IsTextDrawVisibleForPlayer","ii",e,t)),ql=e=>samp.callNative("TextDrawGetString","iSi",e,1024),eo=(e,t,a)=>{samp.callNative("TextDrawSetPos","iff",e,t,a)},to=e=>{const[t=0,a=0]=samp.callNative("TextDrawGetLetterSize","iFF",e);return{fX:t,fY:a}},ao=e=>{const[t=0,a=0]=samp.callNative("TextDrawGetTextSize","iFF",e);return{fX:t,fY:a}},no=e=>{const[t=0,a=0]=samp.callNative("TextDrawGetPos","iFF",e);return{fX:t,fY:a}},io=e=>samp.callNative("TextDrawGetColor","i",e),ro=e=>samp.callNative("TextDrawGetBoxColor","i",e),so=e=>samp.callNative("TextDrawGetBackgroundColor","i",e),lo=e=>samp.callNative("TextDrawGetShadow","i",e),oo=e=>samp.callNative("TextDrawGetOutline","i",e),co=e=>samp.callNative("TextDrawGetFont","i",e),_o=e=>Boolean(samp.callNative("TextDrawIsBox","i",e)),ho=e=>Boolean(samp.callNative("TextDrawIsProportional","i",e)),mo=e=>Boolean(samp.callNative("TextDrawIsSelectable","i",e)),uo=e=>samp.callNative("TextDrawGetAlignment","i",e),po=e=>samp.callNative("TextDrawGetPreviewModel","i",e),So=e=>{const[t=0,a=0,n=0,i=0]=samp.callNative("TextDrawGetPreviewRot","iFFFF",e);return{fRotX:t,fRotY:a,fRotZ:n,fZoom:i}},go=e=>{const[t,a]=samp.callNative("TextDrawGetPreviewVehCol","iII",e);return{color1:t,color2:a}},yo=(e,t,a)=>samp.callNative("TextDrawCreate","ffs",e,t,a),Io=e=>samp.callNative("TextDrawDestroy","i",e),Po=(e,t,a)=>samp.callNative("TextDrawLetterSize","iff",e,t,a),fo=(e,t,a)=>samp.callNative("TextDrawTextSize","iff",e,t,a),Ao=(e,t)=>samp.callNative("TextDrawAlignment","ii",e,t),Eo=(e,t)=>Boolean(samp.callNative("TextDrawColor","ii",e,I(t))),To=(e,t)=>samp.callNative("TextDrawUseBox","ii",e,t),Co=(e,t)=>Boolean(samp.callNative("TextDrawBoxColor","ii",e,I(t))),Do=(e,t)=>samp.callNative("TextDrawSetShadow","ii",e,t),No=(e,t)=>samp.callNative("TextDrawSetOutline","ii",e,t),Ro=(e,t)=>Boolean(samp.callNative("TextDrawBackgroundColor","ii",e,I(t))),bo=(e,t)=>samp.callNative("TextDrawFont","ii",e,t),Lo=(e,t)=>samp.callNative("TextDrawSetProportional","ii",e,t),vo=(e,t)=>samp.callNative("TextDrawSetSelectable","ii",e,t),Bo=(e,t)=>samp.callNative("TextDrawShowForPlayer","ii",e,t),wo=(e,t)=>samp.callNative("TextDrawHideForPlayer","ii",e,t),Oo=e=>samp.callNative("TextDrawShowForAll","i",e),Go=e=>samp.callNative("TextDrawHideForAll","i",e),Fo=(e,t)=>samp.callNative("TextDrawSetString","is",e,t),ko=(e,t)=>samp.callNative("TextDrawSetPreviewModel","ii",e,t),Mo=(e,t,a,n,i=1)=>{samp.callNative("TextDrawSetPreviewRot","iffff",e,t,a,n,i)},xo=(e,t,a)=>Boolean(samp.callNative("TextDrawSetPreviewVehCol","iii",e,I(t),I(a))),Ho=(e,t)=>{samp.callNative("SelectTextDraw","ii",e,I(t))},Vo=e=>{samp.callNative("CancelSelectTextDraw","i",e)},Wo=(e,t)=>Boolean(samp.callNative("IsValidPlayerTextDraw","ii",e,t)),Uo=(e,t)=>samp.callNative("PlayerTextDrawGetString","iiSi",e,t,1024),Ko=(e,t,a,n)=>{samp.callNative("PlayerTextDrawSetPos","iiff",e,t,a,n)},Zo=(e,t)=>{const[a=0,n=0]=samp.callNative("PlayerTextDrawGetLetterSize","iiFF",e,t);return{fX:a,fY:n}},jo=(e,t)=>{const[a=0,n=0]=samp.callNative("PlayerTextDrawGetTextSize","iiFF",e,t);return{fX:a,fY:n}},Xo=(e,t)=>{const[a=0,n=0]=samp.callNative("PlayerTextDrawGetPos","iiFF",e,t);return{fX:a,fY:n}},Yo=(e,t)=>samp.callNative("PlayerTextDrawGetColor","ii",e,t),zo=(e,t)=>samp.callNative("PlayerTextDrawGetBoxColor","ii",e,t),Jo=(e,t)=>samp.callNative("PlayerTextDrawGetBackgroundColor","ii",e,t),$o=(e,t)=>samp.callNative("PlayerTextDrawGetShadow","ii",e,t),Qo=(e,t)=>samp.callNative("PlayerTextDrawGetOutline","ii",e,t),qo=(e,t)=>samp.callNative("PlayerTextDrawGetFont","ii",e,t),ed=(e,t)=>Boolean(samp.callNative("PlayerTextDrawIsBox","ii",e,t)),td=(e,t)=>Boolean(samp.callNative("PlayerTextDrawIsProportional","ii",e,t)),ad=(e,t)=>Boolean(samp.callNative("PlayerTextDrawIsSelectable","ii",e,t)),nd=(e,t)=>samp.callNative("PlayerTextDrawGetAlignment","ii",e,t),id=(e,t)=>samp.callNative("PlayerTextDrawGetPreviewModel","ii",e,t),rd=(e,t)=>{const[a=0,n=0,i=0,r=0]=samp.callNative("PlayerTextDrawGetPreviewRot","iiFFFF",e,t);return{fRotX:a,fRotY:n,fRotZ:i,fZoom:r}},sd=(e,t)=>{const[a,n]=samp.callNative("PlayerTextDrawGetPreviewVehCol","iiII",e,t);return{color1:a,color2:n}},ld=(e,t,a,n)=>samp.callNative("CreatePlayerTextDraw","iffs",e,t,a,n),od=(e,t)=>{samp.callNative("PlayerTextDrawDestroy","ii",e,t)},dd=(e,t,a,n)=>samp.callNative("PlayerTextDrawLetterSize","iiff",e,t,a,n),cd=(e,t,a)=>samp.callNative("PlayerTextDrawAlignment","iii",e,t,a),_d=(e,t,a)=>Boolean(samp.callNative("PlayerTextDrawColor","iii",e,t,I(a))),hd=(e,t,a)=>samp.callNative("PlayerTextDrawUseBox","iii",e,t,a),md=(e,t,a)=>Boolean(samp.callNative("PlayerTextDrawBoxColor","iii",e,t,I(a))),ud=(e,t,a)=>samp.callNative("PlayerTextDrawSetShadow","iii",e,t,a),pd=(e,t,a)=>samp.callNative("PlayerTextDrawSetOutline","iii",e,t,a),Sd=(e,t,a)=>Boolean(samp.callNative("PlayerTextDrawBackgroundColor","iii",e,t,I(a))),gd=(e,t,a)=>samp.callNative("PlayerTextDrawFont","iii",e,t,a),yd=(e,t,a)=>samp.callNative("PlayerTextDrawSetProportional","iii",e,t,a),Id=(e,t,a)=>samp.callNative("PlayerTextDrawSetSelectable","iii",e,t,a),Pd=(e,t)=>samp.callNative("PlayerTextDrawShow","ii",e,t),fd=(e,t)=>samp.callNative("PlayerTextDrawHide","ii",e,t),Ad=(e,t,a)=>samp.callNative("PlayerTextDrawSetString","iis",e,t,a),Ed=(e,t,a)=>samp.callNative("PlayerTextDrawSetPreviewModel","iii",e,t,a),Td=(e,t,a,n,i,r)=>samp.callNative("PlayerTextDrawSetPreviewRot","iiffff",e,t,a,n,i,r),Cd=(e,t,a,n)=>Boolean(samp.callNative("PlayerTextDrawSetPreviewVehCol","iiii",e,t,a,n)),Dd=e=>Boolean(samp.callNative("BeginObjectSelecting","i",e)),Nd=e=>Boolean(samp.callNative("EndObjectEditing","i",e)),Rd=e=>Boolean(samp.callNative("SetObjectsDefaultCameraCol","i",e)),bd=(e,t,a,n,i)=>samp.callNative("AddSimpleModel","iiiss",e,t,a,n,i),Ld=(e,t,a,n,i,r,s)=>samp.callNative("AddSimpleModelTimed","iiissii",e,t,a,n,i,r,s),vd=(e,t)=>samp.callNative("RedirectDownload","is",e,t),Bd=e=>samp.callNative("FindModelFileNameFromCRC","iSi",e,255),wd=e=>samp.callNative("FindTextureFileNameFromCRC","iSi",e,255);var ye=(e=>(e[e.DOWNLOAD_REQUEST_EMPTY=0]="DOWNLOAD_REQUEST_EMPTY",e[e.DOWNLOAD_REQUEST_MODEL_FILE=1]="DOWNLOAD_REQUEST_MODEL_FILE",e[e.DOWNLOAD_REQUEST_TEXTURE_FILE=2]="DOWNLOAD_REQUEST_TEXTURE_FILE",e))(ye||{}),Ie=(e=>(e[e.SCOREBOARD=0]="SCOREBOARD",e))(Ie||{}),ie=(e=>(e[e.MSGBOX=0]="MSGBOX",e[e.INPUT=1]="INPUT",e[e.LIST=2]="LIST",e[e.PASSWORD=3]="PASSWORD",e[e.TABLIST=4]="TABLIST",e[e.TABLIST_HEADERS=5]="TABLIST_HEADERS",e))(ie||{}),Pe=(e=>(e[e.CANCEL=0]="CANCEL",e[e.FINAL=1]="FINAL",e[e.UPDATE=2]="UPDATE",e))(Pe||{}),fe=(e=>(e[e.NO_ACTION=0]="NO_ACTION",e[e.DISCONNECT_ASAP=1]="DISCONNECT_ASAP",e[e.DISCONNECT_ASAP_SILENTLY=2]="DISCONNECT_ASAP_SILENTLY",e[e.DISCONNECT_ON_NO_ACK=3]="DISCONNECT_ON_NO_ACK",e[e.REQUESTED_CONNECTION=4]="REQUESTED_CONNECTION",e[e.HANDLING_CONNECTION_REQUEST=5]="HANDLING_CONNECTION_REQUEST",e[e.UNVERIFIED_SENDER=6]="UNVERIFIED_SENDER",e[e.SET_ENCRYPTION_ON_MULTIPLE_16_BYTE_PACKET=7]="SET_ENCRYPTION_ON_MULTIPLE_16_BYTE_PACKET",e[e.CONNECTED=8]="CONNECTED",e))(fe||{}),T=(e=>(e[e.NO_TEAM=255]="NO_TEAM",e[e.PLAYER_ID=65535]="PLAYER_ID",e[e.VEHICLE_ID=65535]="VEHICLE_ID",e[e.ACTOR_ID=65535]="ACTOR_ID",e[e.OBJECT_ID=65535]="OBJECT_ID",e[e.MENU=-1]="MENU",e[e.TEXT_DRAW=65535]="TEXT_DRAW",e[e.PLAYER_TEXT_DRAW=65535]="PLAYER_TEXT_DRAW",e[e.GANG_ZONE=-1]="GANG_ZONE",e[e._3DTEXT_ID=65535]="_3DTEXT_ID",e[e.PLAYER_3DTEXT_ID=65535]="PLAYER_3DTEXT_ID",e))(T||{}),Ae=(e=>(e[e.ACTION=1]="ACTION",e[e.CROUCH=2]="CROUCH",e[e.FIRE=4]="FIRE",e[e.SPRINT=8]="SPRINT",e[e.SECONDARY_ATTACK=16]="SECONDARY_ATTACK",e[e.JUMP=32]="JUMP",e[e.LOOK_RIGHT=64]="LOOK_RIGHT",e[e.HANDBRAKE=128]="HANDBRAKE",e[e.LOOK_LEFT=256]="LOOK_LEFT",e[e.SUBMISSION=512]="SUBMISSION",e[e.LOOK_BEHIND=512]="LOOK_BEHIND",e[e.WALK=1024]="WALK",e[e.ANALOG_UP=2048]="ANALOG_UP",e[e.ANALOG_DOWN=4096]="ANALOG_DOWN",e[e.ANALOG_LEFT=8192]="ANALOG_LEFT",e[e.ANALOG_RIGHT=16384]="ANALOG_RIGHT",e[e.YES=65536]="YES",e[e.NO=131072]="NO",e[e.CTRL_BACK=262144]="CTRL_BACK",e[e.KEY_UP=-128]="KEY_UP",e[e.KEY_DOWN=128]="KEY_DOWN",e[e.KEY_LEFT=-128]="KEY_LEFT",e[e.KEY_RIGHT=128]="KEY_RIGHT",e))(Ae||{}),B=(e=>(e[e.MAX_PLAYER_NAME=24]="MAX_PLAYER_NAME",e[e.MAX_PLAYERS=1e3]="MAX_PLAYERS",e[e.MAX_VEHICLES=2e3]="MAX_VEHICLES",e[e.MAX_ACTORS=1e3]="MAX_ACTORS",e[e.MAX_OBJECTS=1e3]="MAX_OBJECTS",e[e.MAX_GANG_ZONES=1024]="MAX_GANG_ZONES",e[e.MAX_TEXT_DRAWS=2048]="MAX_TEXT_DRAWS",e[e.MAX_PLAYER_TEXT_DRAWS=256]="MAX_PLAYER_TEXT_DRAWS",e[e.MAX_MENUS=128]="MAX_MENUS",e[e.MAX_MENU_ROW=12]="MAX_MENU_ROW",e[e.MAX_MENU_COL=2]="MAX_MENU_COL",e[e.MAX_3DTEXT_GLOBAL=1024]="MAX_3DTEXT_GLOBAL",e[e.MAX_3DTEXT_PLAYER=1024]="MAX_3DTEXT_PLAYER",e[e.MAX_PICKUPS=4096]="MAX_PICKUPS",e[e.MAX_PLAYER_ATTACHED_OBJECTS=10]="MAX_PLAYER_ATTACHED_OBJECTS",e[e.MAX_CHATBUBBLE_LENGTH=144]="MAX_CHATBUBBLE_LENGTH",e))(B||{}),Ee=(e=>(e[e.OFF=0]="OFF",e[e.GLOBAL=1]="GLOBAL",e[e.STREAMED=2]="STREAMED",e))(Ee||{}),Te=(e=>(e[e.NONE=1]="NONE",e[e.DRIVER=2]="DRIVER",e[e.ONFOOT=3]="ONFOOT",e))(Te||{}),w=(e=>(e[e.none=0]="none",e[e.start=1]="start",e[e.pause=2]="pause",e))(w||{}),Ce=(e=>(e[e._32x32=10]="_32x32",e[e._64x32=20]="_64x32",e[e._64x64=30]="_64x64",e[e._128x32=40]="_128x32",e[e._128x64=50]="_128x64",e[e._128x128=60]="_128x128",e[e._256x32=70]="_256x32",e[e._256x64=80]="_256x64",e[e._256x128=90]="_256x128",e[e._256x256=100]="_256x256",e[e._512x64=110]="_512x64",e[e._512x128=120]="_512x128",e[e._512x256=130]="_512x256",e[e._512x512=140]="_512x512",e))(Ce||{}),De=(e=>(e[e.LEFT=0]="LEFT",e[e.CENTER=1]="CENTER",e[e.RIGHT=2]="RIGHT",e))(De||{}),Ne=(e=>(e[e.GLOBAL_OBJECT=1]="GLOBAL_OBJECT",e[e.PLAYER_OBJECT=2]="PLAYER_OBJECT",e))(Ne||{}),Re=(e=>(e[e.NORMAL=0]="NORMAL",e[e.BOXING=1]="BOXING",e[e.KUNGFU=2]="KUNGFU",e[e.KNEEHEAD=3]="KNEEHEAD",e[e.GRABKICK=4]="GRABKICK",e[e.ELBOW=5]="ELBOW",e))(Re||{}),be=(e=>(e[e.LOCAL=0]="LOCAL",e[e.GLOBAL=1]="GLOBAL",e[e.LOCAL_CHECKPOINT=2]="LOCAL_CHECKPOINT",e[e.GLOBAL_CHECKPOINT=3]="GLOBAL_CHECKPOINT",e))(be||{}),te=(e=>(e[e.MOVE=1]="MOVE",e[e.CUT=2]="CUT",e))(te||{}),Le=(e=>(e[e.BEHINDCAR=3]="BEHINDCAR",e[e.FOLLOWPED=4]="FOLLOWPED",e[e.SNIPER=7]="SNIPER",e[e.ROCKETLAUNCHER=8]="ROCKETLAUNCHER",e[e.FIXED=15]="FIXED",e[e._1STPERSON=16]="_1STPERSON",e[e.CAM_ON_A_STRING=18]="CAM_ON_A_STRING",e[e.BEHINDBOAT=22]="BEHINDBOAT",e[e.CAMERA=46]="CAMERA",e[e.ROCKETLAUNCHER_HS=51]="ROCKETLAUNCHER_HS",e[e.AIMWEAPON=53]="AIMWEAPON",e[e.AIMWEAPON_FROMCAR=55]="AIMWEAPON_FROMCAR",e[e.DW_HELI_CHASE=56]="DW_HELI_CHASE",e[e.DW_CAM_MAN=57]="DW_CAM_MAN",e[e.DW_BIRDY=58]="DW_BIRDY",e[e.DW_PLANE_SPOTTER=59]="DW_PLANE_SPOTTER",e[e.DW_PLANECAM1=62]="DW_PLANECAM1",e[e.DW_PLANECAM2=63]="DW_PLANECAM2",e[e.DW_PLANECAM3=64]="DW_PLANECAM3",e))(Le||{}),ae=(e=>(e[e.NORMAL=1]="NORMAL",e[e.FIXED=2]="FIXED",e[e.SIDE=3]="SIDE",e))(ae||{}),X=(e=>(e[e.NONE=0]="NONE",e[e.ONFOOT=1]="ONFOOT",e[e.DRIVER=2]="DRIVER",e[e.PASSENGER=3]="PASSENGER",e[e.EXIT_VEHICLE=4]="EXIT_VEHICLE",e[e.ENTER_VEHICLE_DRIVER=5]="ENTER_VEHICLE_DRIVER",e[e.ENTER_VEHICLE_PASSENGER=6]="ENTER_VEHICLE_PASSENGER",e[e.WASTED=7]="WASTED",e[e.SPAWNED=8]="SPAWNED",e[e.SPECTATING=9]="SPECTATING",e))(X||{}),ve=(e=>(e[e.TORSO=3]="TORSO",e[e.GROIN=4]="GROIN",e[e.LEFT_ARM=5]="LEFT_ARM",e[e.RIGHT_ARM=6]="RIGHT_ARM",e[e.LEFT_LEG=7]="LEFT_LEG",e[e.RIGHT_LEG=8]="RIGHT_LEG",e[e.HEAD=9]="HEAD",e))(ve||{}),Be=(e=>(e[e.Spine=1]="Spine",e[e.Head=2]="Head",e[e.LeftUpperArm=3]="LeftUpperArm",e[e.RightUpperArm=4]="RightUpperArm",e[e.LeftHand=5]="LeftHand",e[e.RightHand=6]="RightHand",e[e.LeftThigh=7]="LeftThigh",e[e.RightThigh=8]="RightThigh",e[e.LeftFoot=9]="LeftFoot",e[e.RightFoot=10]="RightFoot",e[e.RightCalf=11]="RightCalf",e[e.LeftCalf=12]="LeftCalf",e[e.LeftForearm=13]="LeftForearm",e[e.RightForearm=14]="RightForearm",e[e.LeftClavicle=15]="LeftClavicle",e[e.RightClavicle=16]="RightClavicle",e[e.Neck=17]="Neck",e[e.Jaw=18]="Jaw",e))(Be||{}),re=(e=>(e[e.NONE=0]="NONE",e[e.DUCK=1]="DUCK",e[e.USEJETPACK=2]="USEJETPACK",e[e.ENTER_VEHICLE=3]="ENTER_VEHICLE",e[e.EXIT_VEHICLE=4]="EXIT_VEHICLE",e[e.DANCE1=5]="DANCE1",e[e.DANCE2=6]="DANCE2",e[e.DANCE3=7]="DANCE3",e[e.DANCE4=8]="DANCE4",e[e.HANDSUP=10]="HANDSUP",e[e.USECELLPHONE=11]="USECELLPHONE",e[e.SITTING=12]="SITTING",e[e.STOPUSECELLPHONE=13]="STOPUSECELLPHONE",e[e.DRINK_BEER=20]="DRINK_BEER",e[e.SMOKE_CIGGY=21]="SMOKE_CIGGY",e[e.DRINK_WINE=22]="DRINK_WINE",e[e.DRINK_SPRUNK=23]="DRINK_SPRUNK",e[e.CUFFED=24]="CUFFED",e[e.CARRY=25]="CARRY",e[e.PISSING=68]="PISSING",e))(re||{}),Q=(e=>(e[e.FONT_0=0]="FONT_0",e[e.FONT_1=1]="FONT_1",e[e.FONT_2=2]="FONT_2",e[e.FONT_3=3]="FONT_3",e[e.SPRITE_DRAW=4]="SPRITE_DRAW",e[e.MODEL_PREVIEW=5]="MODEL_PREVIEW",e[e.BANK=0]="BANK",e[e.STANDARD=1]="STANDARD",e[e.SPACEAGE=2]="SPACEAGE",e[e.HEADING=3]="HEADING",e[e.BECKETT_REGULAR=0]="BECKETT_REGULAR",e[e.AHARONI_BOLD=1]="AHARONI_BOLD",e[e.BANK_GOTHIC=2]="BANK_GOTHIC",e[e.PRICEDOWN=3]="PRICEDOWN",e[e.SPRITE=4]="SPRITE",e[e.PREVIEW=5]="PREVIEW",e))(Q||{}),we=(e=>(e[e.LEFT=1]="LEFT",e[e.CENTER=2]="CENTER",e[e.RIGHT=3]="RIGHT",e))(we||{}),Oe=(e=>(e[e.UNKNOWN_CARMODTYPE=-1]="UNKNOWN_CARMODTYPE",e[e.CARMODTYPE_NONE=-1]="CARMODTYPE_NONE",e[e.SPOILER=0]="SPOILER",e[e.HOOD=1]="HOOD",e[e.ROOF=2]="ROOF",e[e.SIDESKIRT=3]="SIDESKIRT",e[e.LAMPS=4]="LAMPS",e[e.NITRO=5]="NITRO",e[e.EXHAUST=6]="EXHAUST",e[e.WHEELS=7]="WHEELS",e[e.STEREO=8]="STEREO",e[e.HYDRAULICS=9]="HYDRAULICS",e[e.FRONT_BUMPER=10]="FRONT_BUMPER",e[e.REAR_BUMPER=11]="REAR_BUMPER",e[e.VENT_RIGHT=12]="VENT_RIGHT",e[e.VENT_LEFT=13]="VENT_LEFT",e))(Oe||{}),Ge=(e=>(e[e.UNSET=0]="UNSET",e[e.OFF=1]="OFF",e[e.ON=2]="ON",e))(Ge||{}),Fe=(e=>(e[e.SIZE=1]="SIZE",e[e.FRONTSEAT=2]="FRONTSEAT",e[e.REARSEAT=3]="REARSEAT",e[e.PETROLCAP=4]="PETROLCAP",e[e.WHEELSFRONT=5]="WHEELSFRONT",e[e.WHEELSREAR=6]="WHEELSREAR",e[e.WHEELSMID=7]="WHEELSMID",e[e.FRONT_BUMPER_Z=8]="FRONT_BUMPER_Z",e[e.REAR_BUMPER_Z=9]="REAR_BUMPER_Z",e))(Fe||{}),ke=(e=>(e[e.UNKNOWN=-1]="UNKNOWN",e[e.REASON_VEHICLE=49]="REASON_VEHICLE",e[e.REASON_DROWN=53]="REASON_DROWN",e[e.REASON_COLLISION=54]="REASON_COLLISION",e[e.REASON_SPLAT=54]="REASON_SPLAT",e[e.REASON_CONNECT=200]="REASON_CONNECT",e[e.REASON_DISCONNECT=200]="REASON_DISCONNECT",e[e.REASON_SUICIDE=255]="REASON_SUICIDE",e[e.FIST=0]="FIST",e[e.BRASSKNUCKLE=1]="BRASSKNUCKLE",e[e.GOLFCLUB=2]="GOLFCLUB",e[e.NITESTICK=3]="NITESTICK",e[e.KNIFE=4]="KNIFE",e[e.BAT=5]="BAT",e[e.SHOVEL=6]="SHOVEL",e[e.POOLSTICK=7]="POOLSTICK",e[e.KATANA=8]="KATANA",e[e.CHAINSAW=9]="CHAINSAW",e[e.DILDO=10]="DILDO",e[e.DILDO2=11]="DILDO2",e[e.VIBRATOR=12]="VIBRATOR",e[e.VIBRATOR2=13]="VIBRATOR2",e[e.FLOWER=14]="FLOWER",e[e.CANE=15]="CANE",e[e.GRENADE=16]="GRENADE",e[e.TEARGAS=17]="TEARGAS",e[e.MOLTOV=18]="MOLTOV",e[e.COLT45=22]="COLT45",e[e.SILENCED=23]="SILENCED",e[e.DEAGLE=24]="DEAGLE",e[e.SHOTGUN=25]="SHOTGUN",e[e.SAWEDOFF=26]="SAWEDOFF",e[e.SHOTGSPA=27]="SHOTGSPA",e[e.UZI=28]="UZI",e[e.MP5=29]="MP5",e[e.AK47=30]="AK47",e[e.M4=31]="M4",e[e.TEC9=32]="TEC9",e[e.RIFLE=33]="RIFLE",e[e.SNIPER=34]="SNIPER",e[e.ROCKETLAUNCHER=35]="ROCKETLAUNCHER",e[e.HEATSEEKER=36]="HEATSEEKER",e[e.FLAMETHROWER=37]="FLAMETHROWER",e[e.MINIGUN=38]="MINIGUN",e[e.SATCHEL=39]="SATCHEL",e[e.BOMB=40]="BOMB",e[e.SPRAYCAN=41]="SPRAYCAN",e[e.FIREEXTINGUISHER=42]="FIREEXTINGUISHER",e[e.CAMERA=43]="CAMERA",e[e.NIGHT_VISION_GOGGLES=44]="NIGHT_VISION_GOGGLES",e[e.THERMAL_GOGGLES=45]="THERMAL_GOGGLES",e[e.PARACHUTE=46]="PARACHUTE",e))(ke||{}),Me=(e=>(e[e.PISTOL=0]="PISTOL",e[e.PISTOL_SILENCED=1]="PISTOL_SILENCED",e[e.DESERT_EAGLE=2]="DESERT_EAGLE",e[e.SHOTGUN=3]="SHOTGUN",e[e.SAWNOFF_SHOTGUN=4]="SAWNOFF_SHOTGUN",e[e.SPAS12_SHOTGUN=5]="SPAS12_SHOTGUN",e[e.MICRO_UZI=6]="MICRO_UZI",e[e.MP5=7]="MP5",e[e.AK47=8]="AK47",e[e.M4=9]="M4",e[e.SNIPERRIFLE=10]="SNIPERRIFLE",e))(Me||{}),xe=(e=>(e[e.NONE=0]="NONE",e[e.PLAYER=1]="PLAYER",e[e.VEHICLE=2]="VEHICLE",e[e.OBJECT=3]="OBJECT",e[e.PLAYER_OBJECT=4]="PLAYER_OBJECT",e))(xe||{}),He=(e=>(e[e.UNKNOWN=-1]="UNKNOWN",e[e.NO_BULLETS=0]="NO_BULLETS",e[e.LAST_BULLET=1]="LAST_BULLET",e[e.MORE_BULLETS=2]="MORE_BULLETS",e[e.RELOADING=3]="RELOADING",e))(He||{}),se=(e=>(e[e.VEHICLE=49]="VEHICLE",e[e.HELICOPTERBLADES=50]="HELICOPTERBLADES",e[e.EXPLOSION=51]="EXPLOSION",e[e.DROWN=53]="DROWN",e[e.COLLISION=54]="COLLISION",e[e.CONNECT=200]="CONNECT",e[e.DISCONNECT=201]="DISCONNECT",e[e.SUICIDE=255]="SUICIDE",e))(se||{}),Ve=(e=>(e[e.NONE=0]="NONE",e[e.DRIVER=1]="DRIVER",e[e.ONFOOT=2]="ONFOOT",e))(Ve||{});class O{constructor(){}static recordStatus;static connectNPC=ta;static startRecordingPlayerData(t,a,n){if(t.isRecording)return l.warn("[NpcFunc]: It should be stopped before recording");ar(t.id,a,n),t.isRecording=!0}static stopRecordingPlayerData(t){if(!t.isRecording)return l.warn("[NpcFunc]: It should be started before stop");nr(t.id),t.isRecording=!1}static startRecordingPlayback(t,a){if(O.recordStatus>=w.start)return l.warn("[NpcFunc]: The current status cannot be replayed");Nr(t,a),O.recordStatus=w.start}static stopRecordingPlayback(){if(O.recordStatus<w.start)return l.warn("[NpcFunc]: The current status cannot be stopped");Rr(),O.recordStatus=w.none}static pauseRecordingPlayback(){if(O.recordStatus!==w.start)return l.warn("[NpcFunc]: The current status cannot be paused");br(),O.recordStatus=w.pause}static resumeRecordingPlayback(){if(O.recordStatus!==w.pause)return l.warn("[NpcFunc]: The current status cannot be paused");Lr(),O.recordStatus=w.start}}const Od=new Map([["AIRPORT",[{n:"thrw_barl_thrw",d:2}]],["Attractors",[{n:"Stepsit_in",d:1.67},{n:"Stepsit_loop",d:3.33},{n:"Stepsit_out",d:1.67}]],["BAR",[{n:"Barcustom_get",d:3},{n:"Barcustom_loop",d:2},{n:"Barcustom_order",d:3.67},{n:"BARman_idle",d:8.33},{n:"Barserve_bottle",d:3},{n:"Barserve_give",d:2.33},{n:"Barserve_glass",d:3.67},{n:"Barserve_in",d:1.67},{n:"Barserve_loop",d:2.33},{n:"Barserve_order",d:3.67},{n:"dnk_stndF_loop",d:2.33},{n:"dnk_stndM_loop",d:2.33}]],["BASEBALL",[{n:"Bat_1",d:.9},{n:"Bat_2",d:1.13},{n:"Bat_3",d:1.2},{n:"Bat_4",d:1},{n:"Bat_block",d:.47},{n:"Bat_Hit_1",d:.83},{n:"Bat_Hit_2",d:1.07},{n:"Bat_Hit_3",d:1.13},{n:"Bat_IDLE",d:.93},{n:"Bat_M",d:.53},{n:"BAT_PART",d:.53}]],["BD_FIRE",[{n:"BD_Fire1",d:1.83},{n:"BD_Fire2",d:1.67},{n:"BD_Fire3",d:1.83},{n:"BD_GF_Wave",d:5.07},{n:"BD_Panic_01",d:3.33},{n:"BD_Panic_02",d:3.33},{n:"BD_Panic_03",d:3.33},{n:"BD_Panic_04",d:3.33},{n:"BD_Panic_Loop",d:3.33},{n:"Grlfrd_Kiss_03",d:7},{n:"M_smklean_loop",d:5},{n:"Playa_Kiss_03",d:7},{n:"wash_up",d:3}]],["BEACH",[{n:"bather",d:4.2},{n:"Lay_Bac_Loop",d:2.67},{n:"ParkSit_M_loop",d:3.67},{n:"ParkSit_W_loop",d:3.33},{n:"SitnWait_loop_W",d:1.33}]],["benchpress",[{n:"gym_bp_celebrate",d:5},{n:"gym_bp_down",d:1},{n:"gym_bp_getoff",d:8.67},{n:"gym_bp_geton",d:5.33},{n:"gym_bp_up_A",d:2.33},{n:"gym_bp_up_B",d:2.67},{n:"gym_bp_up_smooth",d:1.33}]],["BF_injection",[{n:"BF_getin_LHS",d:1},{n:"BF_getin_RHS",d:1},{n:"BF_getout_LHS",d:1.13},{n:"BF_getout_RHS",d:1.13}]],["BIKED",[{n:"BIKEd_Back",d:.1},{n:"BIKEd_drivebyFT",d:.2},{n:"BIKEd_drivebyLHS",d:.2},{n:"BIKEd_drivebyRHS",d:.2},{n:"BIKEd_Fwd",d:.2},{n:"BIKEd_getoffBACK",d:1.47},{n:"BIKEd_getoffLHS",d:1},{n:"BIKEd_getoffRHS",d:1},{n:"BIKEd_hit",d:.03},{n:"BIKEd_jumponL",d:.97},{n:"BIKEd_jumponR",d:.97},{n:"BIKEd_kick",d:1.07},{n:"BIKEd_Left",d:.1},{n:"BIKEd_passenger",d:.03},{n:"BIKEd_pushes",d:.8},{n:"BIKEd_Ride",d:.03},{n:"BIKEd_Right",d:.1},{n:"BIKEd_shuffle",d:.43},{n:"BIKEd_Still",d:.03}]],["BIKEH",[{n:"BIKEh_Back",d:.1},{n:"BIKEh_drivebyFT",d:.2},{n:"BIKEh_drivebyLHS",d:.2},{n:"BIKEh_drivebyRHS",d:.2},{n:"BIKEh_Fwd",d:.2},{n:"BIKEh_getoffBACK",d:1.7},{n:"BIKEh_getoffLHS",d:.77},{n:"BIKEh_getoffRHS",d:.73},{n:"BIKEh_hit",d:.03},{n:"BIKEh_jumponL",d:1.47},{n:"BIKEh_jumponR",d:1.5},{n:"BIKEh_kick",d:1.07},{n:"BIKEh_Left",d:.13},{n:"BIKEh_passenger",d:.03},{n:"BIKEh_pushes",d:.97},{n:"BIKEh_Ride",d:.03},{n:"BIKEh_Right",d:.13},{n:"BIKEh_Still",d:.03}]],["BIKELEAP",[{n:"bk_blnce_in",d:1.9},{n:"bk_blnce_out",d:1},{n:"bk_jmp",d:.4},{n:"bk_rdy_in",d:.5},{n:"bk_rdy_out",d:.4},{n:"struggle_cesar",d:.47},{n:"struggle_driver",d:.47},{n:"truck_driver",d:.73},{n:"truck_getin",d:2.5}]],["BIKES",[{n:"BIKEs_Back",d:.1},{n:"BIKEs_drivebyFT",d:.2},{n:"BIKEs_drivebyLHS",d:.2},{n:"BIKEs_drivebyRHS",d:.2},{n:"BIKEs_Fwd",d:.2},{n:"BIKEs_getoffBACK",d:2.43},{n:"BIKEs_getoffLHS",d:1.1},{n:"BIKEs_getoffRHS",d:1.1},{n:"BIKEs_hit",d:.03},{n:"BIKEs_jumponL",d:.9},{n:"BIKEs_jumponR",d:.9},{n:"BIKEs_kick",d:1},{n:"BIKEs_Left",d:.1},{n:"BIKEs_passenger",d:.03},{n:"BIKEs_pushes",d:.73},{n:"BIKEs_Ride",d:.03},{n:"BIKEs_Right",d:.1},{n:"BIKEs_Snatch_L",d:.43},{n:"BIKEs_Snatch_R",d:.43},{n:"BIKEs_Still",d:.03}]],["BIKEV",[{n:"BIKEv_Back",d:.17},{n:"BIKEv_drivebyFT",d:.17},{n:"BIKEv_drivebyLHS",d:.23},{n:"BIKEv_drivebyRHS",d:.2},{n:"BIKEv_Fwd",d:.2},{n:"BIKEv_getoffBACK",d:1.7},{n:"BIKEv_getoffLHS",d:.67},{n:"BIKEv_getoffRHS",d:.67},{n:"BIKEv_hit",d:.03},{n:"BIKEv_jumponL",d:.67},{n:"BIKEv_jumponR",d:.67},{n:"BIKEv_kick",d:1},{n:"BIKEv_Left",d:.1},{n:"BIKEv_passenger",d:.03},{n:"BIKEv_pushes",d:.73},{n:"BIKEv_Ride",d:.03},{n:"BIKEv_Right",d:.1},{n:"BIKEv_Still",d:.03}]],["BIKE_DBZ",[{n:"Pass_Driveby_BWD",d:.83},{n:"Pass_Driveby_FWD",d:.83},{n:"Pass_Driveby_LHS",d:.83},{n:"Pass_Driveby_RHS",d:.83}]],["BLOWJOBZ",[{n:"BJ_Car_End_P",d:4.13},{n:"BJ_Car_End_W",d:3.67},{n:"BJ_Car_Loop_P",d:.67},{n:"BJ_Car_Loop_W",d:.67},{n:"BJ_Car_Start_P",d:2.33},{n:"BJ_Car_Start_W",d:2.33},{n:"BJ_Couch_End_P",d:7.67},{n:"BJ_Couch_End_W",d:7.67},{n:"BJ_Couch_Loop_P",d:2},{n:"BJ_Couch_Loop_W",d:2},{n:"BJ_Couch_Start_P",d:5.33},{n:"BJ_Couch_Start_W",d:5.33},{n:"BJ_Stand_End_P",d:4.87},{n:"BJ_Stand_End_W",d:5.33},{n:"BJ_Stand_Loop_P",d:.67},{n:"BJ_Stand_Loop_W",d:.67},{n:"BJ_Stand_Start_P",d:2},{n:"BJ_Stand_Start_W",d:2}]],["BMX",[{n:"BMX_back",d:.1},{n:"BMX_bunnyhop",d:.33},{n:"BMX_drivebyFT",d:.2},{n:"BMX_driveby_LHS",d:.2},{n:"BMX_driveby_RHS",d:.2},{n:"BMX_fwd",d:.13},{n:"BMX_getoffBACK",d:1.37},{n:"BMX_getoffLHS",d:.73},{n:"BMX_getoffRHS",d:.63},{n:"BMX_jumponL",d:.9},{n:"BMX_jumponR",d:.9},{n:"BMX_Left",d:.13},{n:"BMX_pedal",d:.73},{n:"BMX_pushes",d:.8},{n:"BMX_Ride",d:.03},{n:"BMX_Right",d:.13},{n:"BMX_sprint",d:.67},{n:"BMX_still",d:.03}]],["BOMBER",[{n:"BOM_Plant",d:2.67},{n:"BOM_Plant_2Idle",d:1},{n:"BOM_Plant_Crouch_In",d:.8},{n:"BOM_Plant_Crouch_Out",d:.8},{n:"BOM_Plant_In",d:.87},{n:"BOM_Plant_Loop",d:.8}]],["BOX",[{n:"boxhipin",d:6.53},{n:"boxhipup",d:5},{n:"boxshdwn",d:6.1},{n:"boxshup",d:5.2},{n:"bxhipwlk",d:1.5},{n:"bxhwlki",d:.97},{n:"bxshwlk",d:2.5},{n:"bxshwlki",d:.97},{n:"bxwlko",d:.53},{n:"catch_box",d:1.5}]],["BSKTBALL",[{n:"BBALL_def_jump_shot",d:1.17},{n:"BBALL_def_loop",d:1},{n:"BBALL_def_stepL",d:.6},{n:"BBALL_def_stepR",d:.6},{n:"BBALL_Dnk",d:1.4},{n:"BBALL_Dnk_Gli",d:.37},{n:"BBALL_Dnk_Gli_O",d:.37},{n:"BBALL_Dnk_Lnch",d:.2},{n:"BBALL_Dnk_Lnch_O",d:.2},{n:"BBALL_Dnk_Lnd",d:.93},{n:"BBALL_Dnk_O",d:.1},{n:"BBALL_idle",d:2.43},{n:"BBALL_idle2",d:2.67},{n:"BBALL_idle2_O",d:2.67},{n:"BBALL_idleloop",d:.67},{n:"BBALL_idleloop_O",d:.67},{n:"BBALL_idle_O",d:2.43},{n:"BBALL_Jump_Cancel",d:1.07},{n:"BBALL_Jump_Cancel_O",d:1.07},{n:"BBALL_Jump_End",d:.93},{n:"BBALL_Jump_Shot",d:1.67},{n:"BBALL_Jump_Shot_O",d:.67},{n:"BBALL_Net_Dnk_O",d:1.83},{n:"BBALL_pickup",d:1.83},{n:"BBALL_pickup_O",d:1.83},{n:"BBALL_react_miss",d:.8},{n:"BBALL_react_score",d:1.1},{n:"BBALL_run",d:.9},{n:"BBALL_run_O",d:.9},{n:"BBALL_SkidStop_L",d:.5},{n:"BBALL_SkidStop_L_O",d:.5},{n:"BBALL_SkidStop_R",d:.5},{n:"BBALL_SkidStop_R_O",d:.5},{n:"BBALL_walk",d:1.07},{n:"BBALL_WalkStop_L",d:.5},{n:"BBALL_WalkStop_L_O",d:.5},{n:"BBALL_WalkStop_R",d:.5},{n:"BBALL_WalkStop_R_O",d:.5},{n:"BBALL_walk_O",d:1.07},{n:"BBALL_walk_start",d:.2},{n:"BBALL_walk_start_O",d:.2}]],["BUDDY",[{n:"buddy_crouchfire",d:.87},{n:"buddy_crouchreload",d:1.1},{n:"buddy_fire",d:.8},{n:"buddy_fire_poor",d:1.33},{n:"buddy_reload",d:1.3}]],["BUS",[{n:"BUS_close",d:.4},{n:"BUS_getin_LHS",d:.33},{n:"BUS_getin_RHS",d:2.17},{n:"BUS_getout_LHS",d:.8},{n:"BUS_getout_RHS",d:1.87},{n:"BUS_jacked_LHS",d:1.13},{n:"BUS_open",d:1.47},{n:"BUS_open_RHS",d:1.2},{n:"BUS_pullout_LHS",d:.8}]],["CAMERA",[{n:"camcrch_cmon",d:2.33},{n:"camcrch_idleloop",d:2},{n:"camcrch_stay",d:2},{n:"camcrch_to_camstnd",d:1.33},{n:"camstnd_cmon",d:3},{n:"camstnd_idleloop",d:2},{n:"camstnd_lkabt",d:4.33},{n:"camstnd_to_camcrch",d:1},{n:"piccrch_in",d:1.33},{n:"piccrch_out",d:2},{n:"piccrch_take",d:1},{n:"picstnd_in",d:1},{n:"picstnd_out",d:.67},{n:"picstnd_take",d:1}]],["CAR",[{n:"Fixn_Car_Loop",d:5},{n:"Fixn_Car_Out",d:2.33},{n:"flag_drop",d:4.5},{n:"Sit_relaxed",d:.03},{n:"Tap_hand",d:.33},{n:"Tyd2car_bump",d:.83},{n:"Tyd2car_high",d:8},{n:"Tyd2car_low",d:6.67},{n:"Tyd2car_med",d:6.67},{n:"Tyd2car_TurnL",d:1},{n:"Tyd2car_TurnR",d:1}]],["CARRY",[{n:"crry_prtial",d:.03},{n:"liftup",d:1.53},{n:"liftup05",d:.63},{n:"liftup105",d:.67},{n:"putdwn",d:1.13},{n:"putdwn05",d:.67},{n:"putdwn105",d:.53}]],["CAR_CHAT",[{n:"carfone_in",d:6},{n:"carfone_loopA",d:4},{n:"carfone_loopA_to_B",d:1},{n:"carfone_loopB",d:5},{n:"carfone_loopB_to_A",d:.67},{n:"carfone_out",d:3},{n:"CAR_Sc1_BL",d:11.67},{n:"CAR_Sc1_BR",d:11.67},{n:"CAR_Sc1_FL",d:11.67},{n:"CAR_Sc1_FR",d:11.67},{n:"CAR_Sc2_FL",d:5},{n:"CAR_Sc3_BR",d:10.83},{n:"CAR_Sc3_FL",d:10.83},{n:"CAR_Sc3_FR",d:10.83},{n:"CAR_Sc4_BL",d:4.4},{n:"CAR_Sc4_BR",d:6.53},{n:"CAR_Sc4_FL",d:10},{n:"CAR_Sc4_FR",d:10},{n:"car_talkm_in",d:1.67},{n:"car_talkm_loop",d:4.33},{n:"car_talkm_out",d:7.33}]],["CASINO",[{n:"cards_in",d:.67},{n:"cards_loop",d:3.33},{n:"cards_lose",d:3.33},{n:"cards_out",d:.67},{n:"cards_pick_01",d:4.67},{n:"cards_pick_02",d:5.33},{n:"cards_raise",d:1.67},{n:"cards_win",d:3},{n:"dealone",d:.8},{n:"manwinb",d:1.5},{n:"manwind",d:1.67},{n:"Roulette_bet",d:2.33},{n:"Roulette_in",d:.67},{n:"Roulette_loop",d:3.67},{n:"Roulette_lose",d:2.67},{n:"Roulette_out",d:.67},{n:"Roulette_win",d:2.33},{n:"Slot_bet_01",d:4.67},{n:"Slot_bet_02",d:2},{n:"Slot_in",d:3.67},{n:"Slot_lose_out",d:4},{n:"Slot_Plyr",d:1.33},{n:"Slot_wait",d:3.67},{n:"Slot_win_out",d:9.33},{n:"wof",d:1.47}]],["CHAINSAW",[{n:"CSAW_1",d:1},{n:"CSAW_2",d:1.03},{n:"CSAW_3",d:.87},{n:"CSAW_G",d:1.17},{n:"CSAW_Hit_1",d:.83},{n:"CSAW_Hit_2",d:1.07},{n:"CSAW_Hit_3",d:1.13},{n:"csaw_part",d:.13},{n:"IDLE_csaw",d:1.5},{n:"WEAPON_csaw",d:1.33},{n:"WEAPON_csawlo",d:1.9}]],["CHOPPA",[{n:"CHOPPA_back",d:.1},{n:"CHOPPA_bunnyhop",d:.33},{n:"CHOPPA_drivebyFT",d:.2},{n:"CHOPPA_driveby_LHS",d:.2},{n:"CHOPPA_driveby_RHS",d:.2},{n:"CHOPPA_fwd",d:.2},{n:"CHOPPA_getoffBACK",d:1.27},{n:"CHOPPA_getoffLHS",d:.73},{n:"CHOPPA_getoffRHS",d:.63},{n:"CHOPPA_jumponL",d:.7},{n:"CHOPPA_jumponR",d:.8},{n:"CHOPPA_Left",d:.13},{n:"CHOPPA_pedal",d:.73},{n:"CHOPPA_Pushes",d:.8},{n:"CHOPPA_ride",d:.03},{n:"CHOPPA_Right",d:.13},{n:"CHOPPA_sprint",d:.67},{n:"CHOPPA_Still",d:.03}]],["CLOTHES",[{n:"CLO_Buy",d:2.07},{n:"CLO_In",d:4},{n:"CLO_Out",d:2.67},{n:"CLO_Pose_Hat",d:3.33},{n:"CLO_Pose_In",d:3.13},{n:"CLO_Pose_In_O",d:4},{n:"CLO_Pose_Legs",d:3.33},{n:"CLO_Pose_Loop",d:6},{n:"CLO_Pose_Out",d:4},{n:"CLO_Pose_Out_O",d:4},{n:"CLO_Pose_Shoes",d:3.33},{n:"CLO_Pose_Torso",d:3.33},{n:"CLO_Pose_Watch",d:3.33}]],["COACH",[{n:"COACH_inL",d:2.17},{n:"COACH_inR",d:2.2},{n:"COACH_opnL",d:1.2},{n:"COACH_opnR",d:1.2},{n:"COACH_outL",d:1.73},{n:"COACH_outR",d:1.83}]],["COLT45",[{n:"2guns_crouchfire",d:.8},{n:"colt45_crouchfire",d:.8},{n:"colt45_crouchreload",d:1},{n:"colt45_fire",d:.73},{n:"colt45_fire_2hands",d:.87},{n:"colt45_reload",d:.93},{n:"sawnoff_reload",d:.93}]],["COP_AMBIENT",[{n:"Copbrowse_in",d:5},{n:"Copbrowse_loop",d:2.33},{n:"Copbrowse_nod",d:4},{n:"Copbrowse_out",d:2.67},{n:"Copbrowse_shake",d:1.83},{n:"Coplook_in",d:1.33},{n:"Coplook_loop",d:2.67},{n:"Coplook_nod",d:5.33},{n:"Coplook_out",d:.67},{n:"Coplook_shake",d:4},{n:"Coplook_think",d:3.33},{n:"Coplook_watch",d:2}]],["COP_DVBYZ",[{n:"COP_Dvby_B",d:.83},{n:"COP_Dvby_FT",d:.83},{n:"COP_Dvby_L",d:.83},{n:"COP_Dvby_R",d:.83}]],["CRACK",[{n:"Bbalbat_Idle_01",d:6.67},{n:"Bbalbat_Idle_02",d:10},{n:"crckdeth1",d:2.17},{n:"crckdeth2",d:3},{n:"crckdeth3",d:2.17},{n:"crckdeth4",d:1.67},{n:"crckidle1",d:3.5},{n:"crckidle2",d:3.33},{n:"crckidle3",d:3.33},{n:"crckidle4",d:2.67}]],["CRIB",[{n:"CRIB_Console_Loop",d:3},{n:"CRIB_Use_Switch",d:1.17},{n:"PED_Console_Loop",d:3},{n:"PED_Console_Loose",d:3.5},{n:"PED_Console_Win",d:3.5}]],["DAM_JUMP",[{n:"DAM_Dive_Loop",d:1.33},{n:"DAM_Land",d:2.6},{n:"DAM_Launch",d:2.4},{n:"Jump_Roll",d:3.17},{n:"SF_JumpWall",d:3}]],["DANCING",[{n:"bd_clap",d:3.2},{n:"bd_clap1",d:2.63},{n:"dance_loop",d:1.17},{n:"DAN_Down_A",d:1},{n:"DAN_Left_A",d:1},{n:"DAN_Loop_A",d:2},{n:"DAN_Right_A",d:1},{n:"DAN_Up_A",d:1},{n:"dnce_M_a",d:2.13},{n:"dnce_M_b",d:1.93},{n:"dnce_M_c",d:1.93},{n:"dnce_M_d",d:2.43},{n:"dnce_M_e",d:.9}]],["DEALER",[{n:"DEALER_DEAL",d:3.17},{n:"DEALER_IDLE",d:6.67},{n:"DEALER_IDLE_01",d:5},{n:"DEALER_IDLE_02",d:4},{n:"DEALER_IDLE_03",d:4.67},{n:"DRUGS_BUY",d:3.17},{n:"shop_pay",d:4.67}]],["DILDO",[{n:"DILDO_1",d:.97},{n:"DILDO_2",d:1.1},{n:"DILDO_3",d:1.17},{n:"DILDO_block",d:.47},{n:"DILDO_G",d:1.47},{n:"DILDO_Hit_1",d:.77},{n:"DILDO_Hit_2",d:1.03},{n:"DILDO_Hit_3",d:.9},{n:"DILDO_IDLE",d:.87}]],["DODGE",[{n:"Cover_Dive_01",d:6},{n:"Cover_Dive_02",d:6},{n:"Crushed",d:.93},{n:"Crush_Jump",d:3.17}]],["DOZER",[{n:"DOZER_Align_LHS",d:.97},{n:"DOZER_Align_RHS",d:.93},{n:"DOZER_getin_LHS",d:.43},{n:"DOZER_getin_RHS",d:.43},{n:"DOZER_getout_LHS",d:1.07},{n:"DOZER_getout_RHS",d:.77},{n:"DOZER_Jacked_LHS",d:1.27},{n:"DOZER_Jacked_RHS",d:1.07},{n:"DOZER_pullout_LHS",d:.73},{n:"DOZER_pullout_RHS",d:.7}]],["DRIVEBYS",[{n:"Gang_DrivebyLHS",d:.83},{n:"Gang_DrivebyLHS_Bwd",d:.83},{n:"Gang_DrivebyLHS_Fwd",d:.83},{n:"Gang_DrivebyRHS",d:.83},{n:"Gang_DrivebyRHS_Bwd",d:.83},{n:"Gang_DrivebyRHS_Fwd",d:.83},{n:"Gang_DrivebyTop_LHS",d:.83},{n:"Gang_DrivebyTop_RHS",d:.83}]],["FAT",[{n:"FatIdle",d:1.5},{n:"FatIdle_armed",d:1.53},{n:"FatIdle_Csaw",d:1.5},{n:"FatIdle_Rocket",d:1.6},{n:"FatRun",d:.77},{n:"FatRun_armed",d:.77},{n:"FatRun_Csaw",d:.77},{n:"FatRun_Rocket",d:.77},{n:"FatSprint",d:.6},{n:"FatWalk",d:1.17},{n:"FatWalkstart",d:.2},{n:"FatWalkstart_Csaw",d:.2},{n:"FatWalkSt_armed",d:.2},{n:"FatWalkSt_Rocket",d:.2},{n:"FatWalk_armed",d:1.17},{n:"FatWalk_Csaw",d:1.17},{n:"FatWalk_Rocket",d:1.17},{n:"IDLE_tired",d:1.07}]],["FIGHT_B",[{n:"FightB_1",d:.73},{n:"FightB_2",d:1.1},{n:"FightB_3",d:1.2},{n:"FightB_block",d:.47},{n:"FightB_G",d:1.07},{n:"FightB_IDLE",d:.8},{n:"FightB_M",d:.5},{n:"HitB_1",d:.73},{n:"HitB_2",d:.83},{n:"HitB_3",d:1.43}]],["FIGHT_C",[{n:"FightC_1",d:.83},{n:"FightC_2",d:1.03},{n:"FightC_3",d:1},{n:"FightC_block",d:.47},{n:"FightC_blocking",d:3.2},{n:"FightC_G",d:.77},{n:"FightC_IDLE",d:1},{n:"FightC_M",d:.9},{n:"FightC_Spar",d:3.2},{n:"HitC_1",d:.3},{n:"HitC_2",d:.67},{n:"HitC_3",d:.83}]],["FIGHT_D",[{n:"FightD_1",d:.93},{n:"FightD_2",d:1.87},{n:"FightD_3",d:.9},{n:"FightD_block",d:.47},{n:"FightD_G",d:.83},{n:"FightD_IDLE",d:1.53},{n:"FightD_M",d:1.07},{n:"HitD_1",d:.67},{n:"HitD_2",d:1.83},{n:"HitD_3",d:.97}]],["FIGHT_E",[{n:"FightKick",d:.77},{n:"FightKick_B",d:1.03},{n:"Hit_fightkick",d:.5},{n:"Hit_fightkick_B",d:1.13}]],["FINALE",[{n:"FIN_Climb_In",d:2.9},{n:"FIN_Cop1_ClimbOut2",d:6},{n:"FIN_Cop1_Loop",d:2},{n:"FIN_Cop1_Stomp",d:1},{n:"FIN_Hang_L",d:.57},{n:"FIN_Hang_Loop",d:4},{n:"FIN_Hang_R",d:.57},{n:"FIN_Hang_Slip",d:3.33},{n:"FIN_Jump_On",d:5.6},{n:"FIN_Land_Car",d:.67},{n:"FIN_Land_Die",d:2.37},{n:"FIN_LegsUp",d:1},{n:"FIN_LegsUp_L",d:.5},{n:"FIN_LegsUp_Loop",d:1.33},{n:"FIN_LegsUp_R",d:.5},{n:"FIN_Let_Go",d:.17}]],["FINALE2",[{n:"FIN_Cop1_ClimbOut",d:4},{n:"FIN_Cop1_Fall",d:.43},{n:"FIN_Cop1_Loop",d:2},{n:"FIN_Cop1_Shot",d:2.07},{n:"FIN_Cop1_Swing",d:1.17},{n:"FIN_Cop2_ClimbOut",d:5.33},{n:"FIN_Switch_P",d:3.97},{n:"FIN_Switch_S",d:2.17}]],["FLAME",[{n:"FLAME_fire",d:.8}]],["Flowers",[{n:"Flower_attack",d:.8},{n:"Flower_attack_M",d:1.23},{n:"Flower_Hit",d:.83}]],["FOOD",[{n:"EAT_Burger",d:5},{n:"EAT_Chicken",d:5},{n:"EAT_Pizza",d:5},{n:"EAT_Vomit_P",d:8},{n:"EAT_Vomit_SK",d:8},{n:"FF_Dam_Bkw",d:.67},{n:"FF_Dam_Fwd",d:.67},{n:"FF_Dam_Left",d:.67},{n:"FF_Dam_Right",d:.67},{n:"FF_Die_Bkw",d:.67},{n:"FF_Die_Fwd",d:.67},{n:"FF_Die_Left",d:.67},{n:"FF_Die_Right",d:.67},{n:"FF_Sit_Eat1",d:2.83},{n:"FF_Sit_Eat2",d:2.67},{n:"FF_Sit_Eat3",d:2.67},{n:"FF_Sit_In",d:3},{n:"FF_Sit_In_L",d:2},{n:"FF_Sit_In_R",d:2},{n:"FF_Sit_Look",d:8},{n:"FF_Sit_Loop",d:2.67},{n:"FF_Sit_Out_180",d:2.83},{n:"FF_Sit_Out_L_180",d:1.33},{n:"FF_Sit_Out_R_180",d:1.33},{n:"SHP_Thank",d:1.17},{n:"SHP_Tray_In",d:.67},{n:"SHP_Tray_Lift",d:1.67},{n:"SHP_Tray_Lift_In",d:.5},{n:"SHP_Tray_Lift_Loop",d:8},{n:"SHP_Tray_Lift_Out",d:.5},{n:"SHP_Tray_Out",d:.67},{n:"SHP_Tray_Pose",d:.67},{n:"SHP_Tray_Return",d:1.33}]],["Freeweights",[{n:"gym_barbell",d:2.37},{n:"gym_free_A",d:1.93},{n:"gym_free_B",d:2.33},{n:"gym_free_celebrate",d:3.33},{n:"gym_free_down",d:.57},{n:"gym_free_loop",d:.67},{n:"gym_free_pickup",d:3.17},{n:"gym_free_putdown",d:3.17},{n:"gym_free_up_smooth",d:1}]],["GANGS",[{n:"DEALER_DEAL",d:1.17},{n:"DEALER_IDLE",d:2},{n:"drnkbr_prtl",d:2.67},{n:"drnkbr_prtl_F",d:2.67},{n:"DRUGS_BUY",d:1.17},{n:"hndshkaa",d:4},{n:"hndshkba",d:2.33},{n:"hndshkca",d:3.33},{n:"hndshkcb",d:3.33},{n:"hndshkda",d:2},{n:"hndshkea",d:1},{n:"hndshkfa",d:4.17},{n:"hndshkfa_swt",d:4.17},{n:"Invite_No",d:3.33},{n:"Invite_Yes",d:4.33},{n:"leanIDLE",d:1},{n:"leanIN",d:1},{n:"leanOUT",d:1},{n:"prtial_gngtlkA",d:4},{n:"prtial_gngtlkB",d:6.17},{n:"prtial_gngtlkC",d:7.33},{n:"prtial_gngtlkD",d:3},{n:"prtial_gngtlkE",d:2.83},{n:"prtial_gngtlkF",d:5.17},{n:"prtial_gngtlkG",d:7},{n:"prtial_gngtlkH",d:6},{n:"prtial_hndshk_01",d:1.67},{n:"prtial_hndshk_biz_01",d:2.33},{n:"shake_cara",d:1.67},{n:"shake_carK",d:1.27},{n:"shake_carSH",d:1.5},{n:"smkcig_prtl",d:7.5},{n:"smkcig_prtl_F",d:7.5}]],["GFUNK",[{n:"Dance_B1",d:1.27},{n:"Dance_B2",d:1.27},{n:"Dance_B3",d:1.27},{n:"Dance_B4",d:1.27},{n:"Dance_B5",d:1.27},{n:"Dance_B6",d:1.27},{n:"Dance_B7",d:1.27},{n:"Dance_B8",d:1.27},{n:"Dance_B9",d:1.27},{n:"Dance_B10",d:1.27},{n:"Dance_B11",d:1.27},{n:"Dance_B12",d:1.27},{n:"Dance_B13",d:1.27},{n:"Dance_B14",d:1.27},{n:"Dance_B15",d:1.27},{n:"Dance_B16",d:1.27},{n:"Dance_G1",d:1.27},{n:"Dance_G2",d:1.27},{n:"Dance_G3",d:1.27},{n:"Dance_G4",d:1.27},{n:"Dance_G5",d:1.27},{n:"Dance_G6",d:1.27},{n:"Dance_G7",d:1.27},{n:"Dance_G8",d:1.27},{n:"Dance_G9",d:1.27},{n:"Dance_G10",d:1.27},{n:"Dance_G11",d:1.27},{n:"Dance_G12",d:1.27},{n:"Dance_G13",d:1.27},{n:"Dance_G14",d:1.27},{n:"Dance_G15",d:1.27},{n:"Dance_G16",d:1.27},{n:"dance_loop",d:1.17}]],["GHANDS",[{n:"gsign1",d:4.77},{n:"gsign1LH",d:2.73},{n:"gsign2",d:2.13},{n:"gsign2LH",d:2.33},{n:"gsign3",d:4.67},{n:"gsign3LH",d:2},{n:"gsign4",d:4.17},{n:"gsign4LH",d:4.67},{n:"gsign5",d:6.2},{n:"gsign5LH",d:2},{n:"LHGsign1",d:2},{n:"LHGsign2",d:2},{n:"LHGsign3",d:2},{n:"LHGsign4",d:2},{n:"LHGsign5",d:2},{n:"RHGsign1",d:2},{n:"RHGsign2",d:2},{n:"RHGsign3",d:2},{n:"RHGsign4",d:2},{n:"RHGsign5",d:2}]],["GHETTO_DB",[{n:"GDB_Car2_PLY",d:9.5},{n:"GDB_Car2_SMO",d:9.5},{n:"GDB_Car2_SWE",d:9.5},{n:"GDB_Car_PLY",d:13.33},{n:"GDB_Car_RYD",d:13.33},{n:"GDB_Car_SMO",d:13.33},{n:"GDB_Car_SWE",d:13.33}]],["goggles",[{n:"goggles_put_on",d:.8}]],["GRAFFITI",[{n:"graffiti_Chkout",d:4.67},{n:"spraycan_fire",d:2.33}]],["GRAVEYARD",[{n:"mrnF_loop",d:4.67},{n:"mrnM_loop",d:2.67},{n:"prst_loopa",d:4}]],["GRENADE",[{n:"WEAPON_start_throw",d:.2},{n:"WEAPON_throw",d:.87},{n:"WEAPON_throwu",d:.67}]],["GYMNASIUM",[{n:"GYMshadowbox",d:5.1},{n:"gym_bike_celebrate",d:1.93},{n:"gym_bike_fast",d:.4},{n:"gym_bike_faster",d:.4},{n:"gym_bike_getoff",d:1.67},{n:"gym_bike_geton",d:1.67},{n:"gym_bike_pedal",d:.4},{n:"gym_bike_slow",d:.43},{n:"gym_bike_still",d:1.67},{n:"gym_jog_falloff",d:2.17},{n:"gym_shadowbox",d:5.1},{n:"gym_tread_celebrate",d:2.5},{n:"gym_tread_falloff",d:2},{n:"gym_tread_getoff",d:3.33},{n:"gym_tread_geton",d:2.5},{n:"gym_tread_jog",d:.77},{n:"gym_tread_sprint",d:.67},{n:"gym_tread_tired",d:1.33},{n:"gym_tread_walk",d:1.07},{n:"gym_walk_falloff",d:3.33},{n:"Pedals_fast",d:.4},{n:"Pedals_med",d:.4},{n:"Pedals_slow",d:.43},{n:"Pedals_still",d:.43}]],["HAIRCUTS",[{n:"BRB_Beard_01",d:4.5},{n:"BRB_Buy",d:4.17},{n:"BRB_Cut",d:1.7},{n:"BRB_Cut_In",d:.83},{n:"BRB_Cut_Out",d:1.33},{n:"BRB_Hair_01",d:3.83},{n:"BRB_Hair_02",d:4.5},{n:"BRB_In",d:1.33},{n:"BRB_Loop",d:2.67},{n:"BRB_Out",d:.67},{n:"BRB_Sit_In",d:2.07},{n:"BRB_Sit_Loop",d:7},{n:"BRB_Sit_Out",d:3}]],["HEIST9",[{n:"CAS_G2_GasKO",d:3.33},{n:"swt_wllpk_L",d:2.67},{n:"swt_wllpk_L_back",d:.5},{n:"swt_wllpk_R",d:3.67},{n:"swt_wllpk_R_back",d:.43},{n:"swt_wllshoot_in_L",d:1},{n:"swt_wllshoot_in_R",d:1.3},{n:"swt_wllshoot_out_L",d:2},{n:"swt_wllshoot_out_R",d:1.43},{n:"Use_SwipeCard",d:1.17}]],["INT_HOUSE",[{n:"BED_In_L",d:3.33},{n:"BED_In_R",d:3.33},{n:"BED_Loop_L",d:3.33},{n:"BED_Loop_R",d:3.33},{n:"BED_Out_L",d:3.33},{n:"BED_Out_R",d:3.33},{n:"LOU_In",d:1.83},{n:"LOU_Loop",d:3.33},{n:"LOU_Out",d:2},{n:"wash_up",d:3}]],["INT_OFFICE",[{n:"FF_Dam_Fwd",d:.67},{n:"OFF_Sit_2Idle_180",d:2.83},{n:"OFF_Sit_Bored_Loop",d:2.83},{n:"OFF_Sit_Crash",d:3.33},{n:"OFF_Sit_Drink",d:4.17},{n:"OFF_Sit_Idle_Loop",d:2.07},{n:"OFF_Sit_In",d:2.77},{n:"OFF_Sit_Read",d:3.33},{n:"OFF_Sit_Type_Loop",d:3.33},{n:"OFF_Sit_Watch",d:2}]],["INT_SHOP",[{n:"shop_cashier",d:6.67},{n:"shop_in",d:1},{n:"shop_lookA",d:2},{n:"shop_lookB",d:3},{n:"shop_loop",d:2},{n:"shop_out",d:1.33},{n:"shop_pay",d:6.67},{n:"shop_shelf",d:2.33}]],["JST_BUISNESS",[{n:"girl_01",d:3.33},{n:"girl_02",d:11.33},{n:"player_01",d:24.83},{n:"smoke_01",d:25}]],["KART",[{n:"KART_getin_LHS",d:.83},{n:"KART_getin_RHS",d:.83},{n:"KART_getout_LHS",d:.83},{n:"KART_getout_RHS",d:.83}]],["KISSING",[{n:"BD_GF_Wave",d:5.07},{n:"gfwave2",d:2.67},{n:"GF_CarArgue_01",d:5},{n:"GF_CarArgue_02",d:5},{n:"GF_CarSpot",d:5},{n:"GF_StreetArgue_01",d:5},{n:"GF_StreetArgue_02",d:5},{n:"gift_get",d:5.33},{n:"gift_give",d:5.33},{n:"Grlfrd_Kiss_01",d:4.17},{n:"Grlfrd_Kiss_02",d:5.77},{n:"Grlfrd_Kiss_03",d:7},{n:"Playa_Kiss_01",d:5},{n:"Playa_Kiss_02",d:5.77},{n:"Playa_Kiss_03",d:7}]],["KNIFE",[{n:"KILL_Knife_Ped_Damage",d:2.23},{n:"KILL_Knife_Ped_Die",d:1.93},{n:"KILL_Knife_Player",d:2.67},{n:"KILL_Partial",d:.03},{n:"knife_1",d:1},{n:"knife_2",d:.93},{n:"knife_3",d:.87},{n:"Knife_4",d:.9},{n:"knife_block",d:.47},{n:"Knife_G",d:.9},{n:"knife_hit_1",d:.57},{n:"knife_hit_2",d:.63},{n:"knife_hit_3",d:1.6},{n:"knife_IDLE",d:1.3},{n:"knife_part",d:.53},{n:"WEAPON_knifeidle",d:1.3}]],["LAPDAN1",[{n:"LAPDAN_D",d:37.73},{n:"LAPDAN_P",d:37.73}]],["LAPDAN2",[{n:"LAPDAN_D",d:46.83},{n:"LAPDAN_P",d:46.83}]],["LAPDAN3",[{n:"LAPDAN_D",d:51.47},{n:"LAPDAN_P",d:51.47}]],["LOWRIDER",[{n:"F_smklean_loop",d:4},{n:"lrgirl_bdbnce",d:2.67},{n:"lrgirl_hair",d:2.33},{n:"lrgirl_hurry",d:2.83},{n:"lrgirl_idleloop",d:2.17},{n:"lrgirl_idle_to_l0",d:2.17},{n:"lrgirl_l0_bnce",d:.67},{n:"lrgirl_l0_loop",d:2},{n:"lrgirl_l0_to_l1",d:3.67},{n:"lrgirl_l12_to_l0",d:2},{n:"lrgirl_l1_bnce",d:.67},{n:"lrgirl_l1_loop",d:2},{n:"lrgirl_l1_to_l2",d:1.33},{n:"lrgirl_l2_bnce",d:.67},{n:"lrgirl_l2_loop",d:1.5},{n:"lrgirl_l2_to_l3",d:1.5},{n:"lrgirl_l345_to_l1",d:1},{n:"lrgirl_l3_bnce",d:.67},{n:"lrgirl_l3_loop",d:2},{n:"lrgirl_l3_to_l4",d:.67},{n:"lrgirl_l4_bnce",d:.67},{n:"lrgirl_l4_loop",d:2.33},{n:"lrgirl_l4_to_l5",d:1},{n:"lrgirl_l5_bnce",d:.83},{n:"lrgirl_l5_loop",d:1.67},{n:"M_smklean_loop",d:5},{n:"M_smkstnd_loop",d:5.33},{n:"prtial_gngtlkB",d:1.47},{n:"prtial_gngtlkC",d:1.5},{n:"prtial_gngtlkD",d:2.47},{n:"prtial_gngtlkE",d:3},{n:"prtial_gngtlkF",d:2.67},{n:"prtial_gngtlkG",d:2.67},{n:"prtial_gngtlkH",d:3.33},{n:"RAP_A_Loop",d:2.67},{n:"RAP_B_Loop",d:2.67},{n:"RAP_C_Loop",d:3},{n:"Sit_relaxed",d:.03},{n:"Tap_hand",d:.33}]],["MD_CHASE",[{n:"Carhit_Hangon",d:1.53},{n:"Carhit_Tumble",d:2.03},{n:"donutdrop",d:1.5},{n:"Fen_Choppa_L1",d:1.43},{n:"Fen_Choppa_L2",d:1.3},{n:"Fen_Choppa_L3",d:1.3},{n:"Fen_Choppa_R1",d:1.3},{n:"Fen_Choppa_R2",d:1.3},{n:"Fen_Choppa_R3",d:1.3},{n:"Hangon_Stun_loop",d:4.67},{n:"Hangon_Stun_Turn",d:4},{n:"MD_BIKE_2_HANG",d:1.37},{n:"MD_BIKE_Jmp_BL",d:1.1},{n:"MD_BIKE_Jmp_F",d:1},{n:"MD_BIKE_Lnd_BL",d:.9},{n:"MD_BIKE_Lnd_Die_BL",d:1.53},{n:"MD_BIKE_Lnd_Die_F",d:.8},{n:"MD_BIKE_Lnd_F",d:1.17},{n:"MD_BIKE_Lnd_Roll",d:2.7},{n:"MD_BIKE_Lnd_Roll_F",d:1.03},{n:"MD_BIKE_Punch",d:1.83},{n:"MD_BIKE_Punch_F",d:1.83},{n:"MD_BIKE_Shot_F",d:1.33},{n:"MD_HANG_Lnd_Roll",d:2.7},{n:"MD_HANG_Loop",d:1}]],["MD_END",[{n:"END_SC1_PLY",d:5},{n:"END_SC1_RYD",d:5},{n:"END_SC1_SMO",d:5},{n:"END_SC1_SWE",d:5},{n:"END_SC2_PLY",d:9},{n:"END_SC2_RYD",d:9},{n:"END_SC2_SMO",d:9},{n:"END_SC2_SWE",d:9}]],["MEDIC",[{n:"CPR",d:8.33}]],["MISC",[{n:"bitchslap",d:1.17},{n:"BMX_celebrate",d:1.57},{n:"BMX_comeon",d:.77},{n:"bmx_idleloop_01",d:3.33},{n:"bmx_idleloop_02",d:6.67},{n:"bmx_talkleft_in",d:.67},{n:"bmx_talkleft_loop",d:6.67},{n:"bmx_talkleft_out",d:.67},{n:"bmx_talkright_in",d:.67},{n:"bmx_talkright_loop",d:7.33},{n:"bmx_talkright_out",d:.67},{n:"bng_wndw",d:7.33},{n:"bng_wndw_02",d:7.33},{n:"Case_pickup",d:1},{n:"door_jet",d:5.33},{n:"GRAB_L",d:.4},{n:"GRAB_R",d:.4},{n:"Hiker_Pose",d:.33},{n:"Hiker_Pose_L",d:.33},{n:"Idle_Chat_02",d:7.23},{n:"KAT_Throw_K",d:3.33},{n:"KAT_Throw_O",d:3.33},{n:"KAT_Throw_P",d:3.33},{n:"PASS_Rifle_O",d:1.33},{n:"PASS_Rifle_Ped",d:1.33},{n:"PASS_Rifle_Ply",d:1.33},{n:"pickup_box",d:.4},{n:"Plane_door",d:5.33},{n:"Plane_exit",d:5.33},{n:"Plane_hijack",d:5.33},{n:"Plunger_01",d:3.33},{n:"Plyrlean_loop",d:2.67},{n:"plyr_shkhead",d:1.67},{n:"Run_Dive",d:8.27},{n:"Scratchballs_01",d:8.33},{n:"SEAT_LR",d:3.67},{n:"Seat_talk_01",d:3.67},{n:"Seat_talk_02",d:3.33},{n:"SEAT_watch",d:2.33},{n:"smalplane_door",d:6.33},{n:"smlplane_door",d:5.33},{n:"MTB_back",d:.1},{n:"MTB_bunnyhop",d:.33},{n:"MTB_drivebyFT",d:.2},{n:"MTB_driveby_LHS",d:.2},{n:"MTB_driveby_RHS",d:.2},{n:"MTB_fwd",d:.2},{n:"MTB_getoffBACK",d:1.53},{n:"MTB_getoffLHS",d:.73},{n:"MTB_getoffRHS",d:.73},{n:"MTB_jumponL",d:.8},{n:"MTB_jumponR",d:.83},{n:"MTB_Left",d:.13},{n:"MTB_pedal",d:.67},{n:"MTB_pushes",d:.8},{n:"MTB_Ride",d:.03},{n:"MTB_Right",d:.13},{n:"MTB_sprint",d:.8},{n:"MTB_still",d:.03},{n:"MscleWalkst_armed",d:.2},{n:"MscleWalkst_Csaw",d:.2},{n:"Mscle_rckt_run",d:.8},{n:"Mscle_rckt_walkst",d:.2},{n:"Mscle_run_Csaw",d:.8},{n:"MuscleIdle",d:1.5},{n:"MuscleIdle_armed",d:1.5},{n:"MuscleIdle_Csaw",d:1.5},{n:"MuscleIdle_rocket",d:1.5},{n:"MuscleRun",d:.8},{n:"MuscleRun_armed",d:.8},{n:"MuscleSprint",d:.57},{n:"MuscleWalk",d:1.07},{n:"MuscleWalkstart",d:.27},{n:"MuscleWalk_armed",d:1.07},{n:"Musclewalk_Csaw",d:1.07},{n:"Musclewalk_rocket",d:1.07}]],["NEVADA",[{n:"NEVADA_getin",d:1.87},{n:"NEVADA_getout",d:.93}]],["ON_LOOKERS",[{n:"lkaround_in",d:.33},{n:"lkaround_loop",d:7},{n:"lkaround_out",d:.33},{n:"lkup_in",d:1.67},{n:"lkup_loop",d:5.33},{n:"lkup_out",d:1},{n:"lkup_point",d:3.33},{n:"panic_cower",d:6.67},{n:"panic_hide",d:6.33},{n:"panic_in",d:.83},{n:"panic_loop",d:1.67},{n:"panic_out",d:.67},{n:"panic_point",d:6},{n:"panic_shout",d:8.67},{n:"Pointup_in",d:1},{n:"Pointup_loop",d:2.67},{n:"Pointup_out",d:1},{n:"Pointup_shout",d:3},{n:"point_in",d:.5},{n:"point_loop",d:3},{n:"point_out",d:.33},{n:"shout_01",d:2.67},{n:"shout_02",d:4},{n:"shout_in",d:1.67},{n:"shout_loop",d:2},{n:"shout_out",d:.33},{n:"wave_in",d:.83},{n:"wave_loop",d:1.5},{n:"wave_out",d:.83}]],["OTB",[{n:"betslp_in",d:1.33},{n:"betslp_lkabt",d:2.67},{n:"betslp_loop",d:2.67},{n:"betslp_out",d:1},{n:"betslp_tnk",d:5.6},{n:"wtchrace_cmon",d:5},{n:"wtchrace_in",d:1.67},{n:"wtchrace_loop",d:2.67},{n:"wtchrace_lose",d:4},{n:"wtchrace_out",d:1},{n:"wtchrace_win",d:4.33}]],["PARACHUTE",[{n:"FALL_skyDive",d:1.33},{n:"FALL_SkyDive_Accel",d:1.33},{n:"FALL_skyDive_DIE",d:1},{n:"FALL_SkyDive_L",d:1.33},{n:"FALL_SkyDive_R",d:1.33},{n:"PARA_decel",d:2},{n:"PARA_decel_O",d:2},{n:"PARA_float",d:2},{n:"PARA_float_O",d:2},{n:"PARA_Land",d:1.67},{n:"PARA_Land_O",d:2.17},{n:"PARA_Land_Water",d:2.33},{n:"PARA_Land_Water_O",d:2.17},{n:"PARA_open",d:2.83},{n:"PARA_open_O",d:2.33},{n:"PARA_Rip_Land_O",d:.9},{n:"PARA_Rip_Loop_O",d:1},{n:"PARA_Rip_O",d:.23},{n:"PARA_steerL",d:2},{n:"PARA_steerL_O",d:2},{n:"PARA_steerR",d:2},{n:"PARA_steerR_O",d:2}]],["PARK",[{n:"Tai_Chi_in",d:2.17},{n:"Tai_Chi_Loop",d:12},{n:"Tai_Chi_Out",d:.83}]],["PAULNMAC",[{n:"Piss_in",d:9},{n:"Piss_loop",d:6.67},{n:"Piss_out",d:11},{n:"PnM_Argue1_A",d:4.33},{n:"PnM_Argue1_B",d:4.33},{n:"PnM_Argue2_A",d:4.33},{n:"PnM_Argue2_B",d:4.33},{n:"PnM_Loop_A",d:5.33},{n:"PnM_Loop_B",d:5.33},{n:"wank_in",d:7.33},{n:"wank_loop",d:2.67},{n:"wank_out",d:11.67}]],["ped",[{n:"abseil",d:.03},{n:"ARRESTgun",d:.67},{n:"ATM",d:12.17},{n:"BIKE_elbowL",d:.97},{n:"BIKE_elbowR",d:.97},{n:"BIKE_fallR",d:1.63},{n:"BIKE_fall_off",d:1.07},{n:"BIKE_pickupL",d:1.07},{n:"BIKE_pickupR",d:1.07},{n:"BIKE_pullupL",d:1},{n:"BIKE_pullupR",d:1},{n:"bomber",d:.6},{n:"CAR_alignHI_LHS",d:.73},{n:"CAR_alignHI_RHS",d:.73},{n:"CAR_align_LHS",d:.13},{n:"CAR_align_RHS",d:.13},{n:"CAR_closedoorL_LHS",d:.6},{n:"CAR_closedoorL_RHS",d:.4},{n:"CAR_closedoor_LHS",d:.6},{n:"CAR_closedoor_RHS",d:.4},{n:"CAR_close_LHS",d:.73},{n:"CAR_close_RHS",d:.73},{n:"CAR_crawloutRHS",d:2.17},{n:"CAR_dead_LHS",d:.03},{n:"CAR_dead_RHS",d:.03},{n:"CAR_doorlocked_LHS",d:1.33},{n:"CAR_doorlocked_RHS",d:1.27},{n:"CAR_fallout_LHS",d:.57},{n:"CAR_fallout_RHS",d:.57},{n:"CAR_getinL_LHS",d:1},{n:"CAR_getinL_RHS",d:1},{n:"CAR_getin_LHS",d:1},{n:"CAR_getin_RHS",d:1},{n:"CAR_getoutL_LHS",d:.93},{n:"CAR_getoutL_RHS",d:1},{n:"CAR_getout_LHS",d:1.13},{n:"CAR_getout_RHS",d:.8},{n:"car_hookertalk",d:4.3},{n:"CAR_jackedLHS",d:2.9},{n:"CAR_jackedRHS",d:3.43},{n:"CAR_jumpin_LHS",d:1},{n:"CAR_LB",d:.23},{n:"CAR_LB_pro",d:.1},{n:"CAR_LB_weak",d:.23},{n:"CAR_LjackedLHS",d:3.57},{n:"CAR_LjackedRHS",d:3.47},{n:"CAR_Lshuffle_RHS",d:.4},{n:"CAR_Lsit",d:.03},{n:"CAR_open_LHS",d:1.1},{n:"CAR_open_RHS",d:1.1},{n:"CAR_pulloutL_LHS",d:2.93},{n:"CAR_pulloutL_RHS",d:2.93},{n:"CAR_pullout_LHS",d:2.3},{n:"CAR_pullout_RHS",d:2.8},{n:"CAR_Qjacked",d:3.3},{n:"CAR_rolldoor",d:.6},{n:"CAR_rolldoorLO",d:.6},{n:"CAR_rollout_LHS",d:1.63},{n:"CAR_rollout_RHS",d:1.27},{n:"CAR_shuffle_RHS",d:.4},{n:"CAR_sit",d:.03},{n:"CAR_sitp",d:.03},{n:"CAR_sitpLO",d:.03},{n:"CAR_sit_pro",d:.03},{n:"CAR_sit_weak",d:.03},{n:"CAR_tune_radio",d:.63},{n:"CLIMB_idle",d:.8},{n:"CLIMB_jump",d:.57},{n:"CLIMB_jump2fall",d:.03},{n:"CLIMB_jump_B",d:.97},{n:"CLIMB_Pull",d:.87},{n:"CLIMB_Stand",d:.8},{n:"CLIMB_Stand_finish",d:.2},{n:"cower",d:.8},{n:"Crouch_Roll_L",d:.93},{n:"Crouch_Roll_R",d:.93},{n:"DAM_armL_frmBK",d:.83},{n:"DAM_armL_frmFT",d:.83},{n:"DAM_armL_frmLT",d:.67},{n:"DAM_armR_frmBK",d:.83},{n:"DAM_armR_frmFT",d:.5},{n:"DAM_armR_frmRT",d:.27},{n:"DAM_LegL_frmBK",d:.83},{n:"DAM_LegL_frmFT",d:.83},{n:"DAM_LegL_frmLT",d:.83},{n:"DAM_LegR_frmBK",d:.83},{n:"DAM_LegR_frmFT",d:.83},{n:"DAM_LegR_frmRT",d:.83},{n:"DAM_stomach_frmBK",d:.83},{n:"DAM_stomach_frmFT",d:.83},{n:"DAM_stomach_frmLT",d:.83},{n:"DAM_stomach_frmRT",d:.83},{n:"DOOR_LHinge_O",d:1.07},{n:"DOOR_RHinge_O",d:1.07},{n:"DrivebyL_L",d:.2},{n:"DrivebyL_R",d:.2},{n:"Driveby_L",d:.2},{n:"Driveby_R",d:.2},{n:"DRIVE_BOAT",d:.03},{n:"DRIVE_BOAT_back",d:.1},{n:"DRIVE_BOAT_L",d:.1},{n:"DRIVE_BOAT_R",d:.1},{n:"Drive_L",d:.13},{n:"Drive_LO_l",d:.13},{n:"Drive_LO_R",d:.13},{n:"Drive_L_pro",d:.13},{n:"Drive_L_pro_slow",d:.13},{n:"Drive_L_slow",d:.13},{n:"Drive_L_weak",d:.13},{n:"Drive_L_weak_slow",d:.13},{n:"Drive_R",d:.13},{n:"Drive_R_pro",d:.13},{n:"Drive_R_pro_slow",d:.13},{n:"Drive_R_slow",d:.13},{n:"Drive_R_weak",d:.13},{n:"Drive_R_weak_slow",d:.13},{n:"Drive_truck",d:.03},{n:"DRIVE_truck_back",d:.1},{n:"DRIVE_truck_L",d:.13},{n:"DRIVE_truck_R",d:.13},{n:"Drown",d:2.5},{n:"DUCK_cower",d:.8},{n:"endchat_01",d:2},{n:"endchat_02",d:2},{n:"endchat_03",d:2.33},{n:"EV_dive",d:2.33},{n:"EV_step",d:1.07},{n:"facanger",d:.13},{n:"facgum",d:1.03},{n:"facsurp",d:.13},{n:"facsurpm",d:.13},{n:"factalk",d:2.33},{n:"facurios",d:.13},{n:"FALL_back",d:.73},{n:"FALL_collapse",d:1},{n:"FALL_fall",d:.73},{n:"FALL_front",d:.73},{n:"FALL_glide",d:.8},{n:"FALL_land",d:.47},{n:"FALL_skyDive",d:1.33},{n:"Fight2Idle",d:.33},{n:"FightA_1",d:.43},{n:"FightA_2",d:.77},{n:"FightA_3",d:.87},{n:"FightA_block",d:.47},{n:"FightA_G",d:.93},{n:"FightA_M",d:.4},{n:"FIGHTIDLE",d:1.3},{n:"FightShB",d:.47},{n:"FightShF",d:.53},{n:"FightSh_BWD",d:.67},{n:"FightSh_FWD",d:.67},{n:"FightSh_Left",d:.67},{n:"FightSh_Right",d:.67},{n:"flee_lkaround_01",d:2},{n:"FLOOR_hit",d:.37},{n:"FLOOR_hit_f",d:.4},{n:"fucku",d:1.33},{n:"gang_gunstand",d:.03},{n:"gas_cwr",d:1},{n:"getup",d:1.37},{n:"getup_front",d:1.37},{n:"gum_eat",d:5.33},{n:"GunCrouchBwd",d:1},{n:"GunCrouchFwd",d:.73},{n:"GunMove_BWD",d:1.03},{n:"GunMove_FWD",d:1},{n:"GunMove_L",d:1},{n:"GunMove_R",d:1},{n:"Gun_2_IDLE",d:.27},{n:"GUN_BUTT",d:.43},{n:"GUN_BUTT_crouch",d:.43},{n:"Gun_stand",d:.03},{n:"handscower",d:1.93},{n:"handsup",d:.6},{n:"HitA_1",d:.3},{n:"HitA_2",d:.53},{n:"HitA_3",d:.57},{n:"HIT_back",d:.5},{n:"HIT_behind",d:.67},{n:"HIT_front",d:.6},{n:"HIT_GUN_BUTT",d:.5},{n:"HIT_L",d:.7},{n:"HIT_R",d:.6},{n:"HIT_walk",d:.33},{n:"HIT_wall",d:.7},{n:"Idlestance_fat",d:1.67},{n:"idlestance_old",d:2},{n:"IDLE_armed",d:1.47},{n:"IDLE_chat",d:6.67},{n:"IDLE_csaw",d:1.53},{n:"Idle_Gang1",d:1.67},{n:"IDLE_HBHB",d:2.67},{n:"IDLE_ROCKET",d:1.57},{n:"IDLE_stance",d:1.5},{n:"IDLE_taxi",d:.87},{n:"IDLE_tired",d:1},{n:"Jetpack_Idle",d:.03},{n:"JOG_femaleA",d:.77},{n:"JOG_maleA",d:.77},{n:"JUMP_glide",d:.5},{n:"JUMP_land",d:.23},{n:"JUMP_launch",d:.2},{n:"JUMP_launch_R",d:.2},{n:"KART_drive",d:.03},{n:"KART_L",d:.13},{n:"KART_LB",d:.03},{n:"KART_R",d:.13},{n:"KD_left",d:.9},{n:"KD_right",d:.9},{n:"KO_shot_face",d:2.1},{n:"KO_shot_front",d:.57},{n:"KO_shot_stom",d:3.17},{n:"KO_skid_back",d:.97},{n:"KO_skid_front",d:1.13},{n:"KO_spin_L",d:.87},{n:"KO_spin_R",d:.93},{n:"pass_Smoke_in_car",d:1.73},{n:"phone_in",d:2.33},{n:"phone_out",d:2},{n:"phone_talk",d:2},{n:"Player_Sneak",d:1.33},{n:"Player_Sneak_walkstart",d:.3},{n:"roadcross",d:2},{n:"roadcross_female",d:4},{n:"roadcross_gang",d:2},{n:"roadcross_old",d:4},{n:"run_1armed",d:.77},{n:"run_armed",d:.7},{n:"run_civi",d:.73},{n:"run_csaw",d:.7},{n:"run_fat",d:.8},{n:"run_fatold",d:.8},{n:"run_gang1",d:.83},{n:"run_left",d:.67},{n:"run_old",d:.8},{n:"run_player",d:.73},{n:"run_right",d:.67},{n:"run_rocket",d:.77},{n:"Run_stop",d:.87},{n:"Run_stopR",d:.8},{n:"Run_Wuzi",d:.77},{n:"SEAT_down",d:1.5},{n:"SEAT_idle",d:2},{n:"SEAT_up",d:1.17},{n:"SHOT_leftP",d:.3},{n:"SHOT_partial",d:.37},{n:"SHOT_partial_B",d:.33},{n:"SHOT_rightP",d:.33},{n:"Shove_Partial",d:.53},{n:"Smoke_in_car",d:1.73},{n:"sprint_civi",d:.53},{n:"sprint_panic",d:.6},{n:"Sprint_Wuzi",d:.67},{n:"swat_run",d:.67},{n:"Swim_Tread",d:1.3},{n:"Tap_hand",d:.03},{n:"Tap_handP",d:.03},{n:"turn_180",d:.63},{n:"Turn_L",d:.8},{n:"Turn_R",d:.8},{n:"WALK_armed",d:1.07},{n:"WALK_civi",d:1.13},{n:"WALK_csaw",d:1.07},{n:"Walk_DoorPartial",d:.8},{n:"WALK_drunk",d:3.93},{n:"WALK_fat",d:1.33},{n:"WALK_fatold",d:1.17},{n:"WALK_gang1",d:1.4},{n:"WALK_gang2",d:1.4},{n:"WALK_old",d:1.4},{n:"WALK_player",d:1.2},{n:"WALK_rocket",d:1.07},{n:"WALK_shuffle",d:1.2},{n:"WALK_start",d:.27},{n:"WALK_start_armed",d:.2},{n:"WALK_start_csaw",d:.2},{n:"WALK_start_rocket",d:.2},{n:"Walk_Wuzi",d:1.17},{n:"WEAPON_crouch",d:.8},{n:"woman_idlestance",d:5.33},{n:"woman_run",d:.77},{n:"WOMAN_runbusy",d:.67},{n:"WOMAN_runfatold",d:1.2},{n:"woman_runpanic",d:.6},{n:"WOMAN_runsexy",d:.7},{n:"WOMAN_walkbusy",d:1},{n:"WOMAN_walkfatold",d:1.2},{n:"WOMAN_walknorm",d:1.13},{n:"WOMAN_walkold",d:1.2},{n:"WOMAN_walkpro",d:1.33},{n:"WOMAN_walksexy",d:1.17},{n:"WOMAN_walkshop",d:.97},{n:"XPRESSscratch",d:3.97}]],["PLAYER_DVBYS",[{n:"Plyr_DrivebyBwd",d:.83},{n:"Plyr_DrivebyFwd",d:.83},{n:"Plyr_DrivebyLHS",d:.83},{n:"Plyr_DrivebyRHS",d:.83}]],["PLAYIDLES",[{n:"shift",d:3.6},{n:"shldr",d:2.17},{n:"stretch",d:4.6},{n:"strleg",d:3.67},{n:"time",d:5.2}]],["POLICE",[{n:"CopTraf_Away",d:1.47},{n:"CopTraf_Come",d:2.87},{n:"CopTraf_Left",d:2},{n:"CopTraf_Stop",d:2},{n:"COP_getoutcar_LHS",d:.83},{n:"Cop_move_FWD",d:1},{n:"crm_drgbst_01",d:18.57},{n:"Door_Kick",d:1.33},{n:"plc_drgbst_01",d:20.6},{n:"plc_drgbst_02",d:7.57}]],["POOL",[{n:"POOL_ChalkCue",d:4.83},{n:"POOL_Idle_Stance",d:2},{n:"POOL_Long_Shot",d:1.67},{n:"POOL_Long_Shot_O",d:1.67},{n:"POOL_Long_Start",d:.67},{n:"POOL_Long_Start_O",d:.67},{n:"POOL_Med_Shot",d:1.67},{n:"POOL_Med_Shot_O",d:1.67},{n:"POOL_Med_Start",d:.67},{n:"POOL_Med_Start_O",d:.67},{n:"POOL_Place_White",d:2.5},{n:"POOL_Short_Shot",d:1.67},{n:"POOL_Short_Shot_O",d:1.67},{n:"POOL_Short_Start",d:.67},{n:"POOL_Short_Start_O",d:.67},{n:"POOL_Walk",d:1.27},{n:"POOL_Walk_Start",d:.2},{n:"POOL_XLong_Shot",d:1.67},{n:"POOL_XLong_Shot_O",d:1.67},{n:"POOL_XLong_Start",d:.67},{n:"POOL_XLong_Start_O",d:.67}]],["POOR",[{n:"WINWASH_Start",d:.43},{n:"WINWASH_Wash2Beg",d:2.13}]],["PYTHON",[{n:"python_crouchfire",d:1.2},{n:"python_crouchreload",d:1},{n:"python_fire",d:1.17},{n:"python_fire_poor",d:1.47},{n:"python_reload",d:.93}]],["QUAD",[{n:"QUAD_back",d:.1},{n:"QUAD_driveby_FT",d:.2},{n:"QUAD_driveby_LHS",d:.2},{n:"QUAD_driveby_RHS",d:.2},{n:"QUAD_FWD",d:.2},{n:"QUAD_getoff_B",d:1.63},{n:"QUAD_getoff_LHS",d:.67},{n:"QUAD_getoff_RHS",d:.7},{n:"QUAD_geton_LHS",d:.73},{n:"QUAD_geton_RHS",d:.73},{n:"QUAD_hit",d:.03},{n:"QUAD_kick",d:1.13},{n:"QUAD_Left",d:.13},{n:"QUAD_passenger",d:.03},{n:"QUAD_reverse",d:.17},{n:"QUAD_ride",d:.03},{n:"QUAD_Right",d:.13}]],["QUAD_DBZ",[{n:"Pass_Driveby_BWD",d:.83},{n:"Pass_Driveby_FWD",d:.83},{n:"Pass_Driveby_LHS",d:.83},{n:"Pass_Driveby_RHS",d:.83}]],["RAPPING",[{n:"Laugh_01",d:5.33},{n:"RAP_A_IN",d:.83},{n:"RAP_A_Loop",d:2.67},{n:"RAP_A_OUT",d:.33},{n:"RAP_B_IN",d:1},{n:"RAP_B_Loop",d:2.67},{n:"RAP_B_OUT",d:.87},{n:"RAP_C_Loop",d:3}]],["RIFLE",[{n:"RIFLE_crouchfire",d:.87},{n:"RIFLE_crouchload",d:1.27},{n:"RIFLE_fire",d:.8},{n:"RIFLE_fire_poor",d:.8},{n:"RIFLE_load",d:1.4}]],["RIOT",[{n:"RIOT_ANGRY",d:5},{n:"RIOT_ANGRY_B",d:.63},{n:"RIOT_challenge",d:3.23},{n:"RIOT_CHANT",d:1.73},{n:"RIOT_FUKU",d:.67},{n:"RIOT_PUNCHES",d:.67},{n:"RIOT_shout",d:1}]],["ROB_BANK",[{n:"CAT_Safe_End",d:.5},{n:"CAT_Safe_Open",d:3.33},{n:"CAT_Safe_Open_O",d:3.33},{n:"CAT_Safe_Rob",d:1.83},{n:"SHP_HandsUp_Scr",d:.67}]],["ROCKET",[{n:"idle_rocket",d:1.6},{n:"RocketFire",d:.97},{n:"run_rocket",d:.77},{n:"walk_rocket",d:1.07},{n:"WALK_start_rocket",d:.2}]],["RUNNINGMAN",[{n:"Dance_B1",d:.53},{n:"Dance_B2",d:.57},{n:"Dance_B3",d:.53},{n:"Dance_B4",d:.57},{n:"Dance_B5",d:.53},{n:"Dance_B6",d:.57},{n:"Dance_B7",d:.53},{n:"Dance_B8",d:.57},{n:"Dance_B9",d:.53},{n:"Dance_B10",d:.57},{n:"Dance_B11",d:.53},{n:"Dance_B12",d:.57},{n:"Dance_B13",d:.53},{n:"Dance_B14",d:.57},{n:"Dance_B15",d:.53},{n:"Dance_B16",d:.57},{n:"Dance_G1",d:.53},{n:"Dance_G2",d:.57},{n:"Dance_G3",d:.53},{n:"Dance_G4",d:.57},{n:"Dance_G5",d:.53},{n:"Dance_G6",d:.57},{n:"Dance_G7",d:.53},{n:"Dance_G8",d:.57},{n:"Dance_G9",d:.53},{n:"Dance_G10",d:.57},{n:"Dance_G11",d:.53},{n:"Dance_G12",d:.57},{n:"Dance_G13",d:.53},{n:"Dance_G14",d:.57},{n:"Dance_G15",d:.53},{n:"Dance_G16",d:.57},{n:"dance_loop",d:1.17}]],["RUSTLER",[{n:"Plane_align_LHS",d:.73},{n:"Plane_close",d:.4},{n:"Plane_getin",d:.8},{n:"Plane_getout",d:1.57},{n:"Plane_open",d:.7}]],["RYDER",[{n:"RYD_Beckon_01",d:1.23},{n:"RYD_Beckon_02",d:1},{n:"RYD_Beckon_03",d:1.07},{n:"RYD_Die_PT1",d:4},{n:"RYD_Die_PT2",d:7.93},{n:"Van_Crate_L",d:.67},{n:"Van_Crate_R",d:.67},{n:"Van_Fall_L",d:.47},{n:"Van_Fall_R",d:.93},{n:"Van_Lean_L",d:.67},{n:"Van_Lean_R",d:.67},{n:"VAN_PickUp_E",d:1.83},{n:"VAN_PickUp_S",d:1.5},{n:"Van_Stand",d:.67},{n:"Van_Stand_Crate",d:.67},{n:"Van_Throw",d:1.37}]],["SAMP",[{n:"FishingIdle",d:1}]],["SCRATCHING",[{n:"scdldlp",d:.67},{n:"scdlulp",d:.67},{n:"scdrdlp",d:.67},{n:"scdrulp",d:.67},{n:"sclng_l",d:1},{n:"sclng_r",d:1},{n:"scmid_l",d:.47},{n:"scmid_r",d:.47},{n:"scshrtl",d:.2},{n:"scshrtr",d:.2},{n:"sc_ltor",d:.67},{n:"sc_rtol",d:.67}]],["SHAMAL",[{n:"SHAMAL_align",d:.2},{n:"SHAMAL_getin_LHS",d:1.4},{n:"SHAMAL_getout_LHS",d:1.37},{n:"SHAMAL_open",d:.6}]],["SHOP",[{n:"ROB_2Idle",d:1.17},{n:"ROB_Loop",d:2.67},{n:"ROB_Loop_Threat",d:2},{n:"ROB_Shifty",d:5.67},{n:"ROB_StickUp_In",d:.53},{n:"SHP_Duck",d:.67},{n:"SHP_Duck_Aim",d:.33},{n:"SHP_Duck_Fire",d:.83},{n:"SHP_Gun_Aim",d:.63},{n:"SHP_Gun_Duck",d:.5},{n:"SHP_Gun_Fire",d:.87},{n:"SHP_Gun_Grab",d:.87},{n:"SHP_Gun_Threat",d:.83},{n:"SHP_HandsUp_Scr",d:.67},{n:"SHP_Jump_Glide",d:.33},{n:"SHP_Jump_Land",d:.7},{n:"SHP_Jump_Launch",d:.57},{n:"SHP_Rob_GiveCash",d:3.83},{n:"SHP_Rob_HandsUp",d:2.67},{n:"SHP_Rob_React",d:2.67},{n:"SHP_Serve_End",d:5.5},{n:"SHP_Serve_Idle",d:5},{n:"SHP_Serve_Loop",d:4.17},{n:"SHP_Serve_Start",d:1.33},{n:"Smoke_RYD",d:6.67}]],["SHOTGUN",[{n:"shotgun_crouchfire",d:1.47},{n:"shotgun_fire",d:1.47},{n:"shotgun_fire_poor",d:1.5}]],["SILENCED",[{n:"CrouchReload",d:1},{n:"SilenceCrouchfire",d:.93},{n:"Silence_fire",d:.87},{n:"Silence_reload",d:.93}]],["SKATE",[{n:"skate_idle",d:1},{n:"skate_run",d:.83},{n:"skate_sprint",d:.67}]],["SMOKING",[{n:"F_smklean_loop",d:4},{n:"M_smklean_loop",d:5},{n:"M_smkstnd_loop",d:5.33},{n:"M_smk_drag",d:3.67},{n:"M_smk_in",d:6.67},{n:"M_smk_loop",d:3.33},{n:"M_smk_out",d:3},{n:"M_smk_tap",d:3}]],["SNIPER",[{n:"WEAPON_sniper",d:1.47}]],["SnM",[{n:"SnM_Caned_Idle_P",d:2},{n:"SnM_Caned_Idle_W",d:2},{n:"SnM_Caned_P",d:1.33},{n:"SnM_Caned_W",d:1.33},{n:"SnM_Cane_Idle_P",d:2},{n:"SnM_Cane_Idle_W",d:2},{n:"SnM_Cane_P",d:1.33},{n:"SnM_Cane_W",d:1.33},{n:"SpankedP",d:1.33},{n:"SpankedW",d:1.33},{n:"Spanked_IdleP",d:1.33},{n:"Spanked_IdleW",d:1.33},{n:"SpankingP",d:1.33},{n:"SpankingW",d:1.33},{n:"Spanking_endP",d:6.67},{n:"Spanking_endW",d:6.67},{n:"Spanking_IdleP",d:1.33},{n:"Spanking_IdleW",d:1.33},{n:"Spanking_SittingIdleP",d:1.33},{n:"Spanking_SittingIdleW",d:1.33},{n:"Spanking_SittingP",d:1},{n:"Spanking_SittingW",d:1}]],["SPRAYCAN",[{n:"spraycan_fire",d:2.33},{n:"spraycan_full",d:4.5}]],["STRIP",[{n:"PLY_CASH",d:1.67},{n:"PUN_CASH",d:3.33},{n:"PUN_HOLLER",d:5},{n:"PUN_LOOP",d:1.93},{n:"strip_A",d:2.07},{n:"strip_B",d:1},{n:"strip_C",d:.97},{n:"strip_D",d:1.9},{n:"strip_E",d:3.33},{n:"strip_F",d:1.03},{n:"strip_G",d:2.27},{n:"STR_A2B",d:4},{n:"STR_B2A",d:.5},{n:"STR_B2C",d:5},{n:"STR_C1",d:6},{n:"STR_C2",d:6},{n:"STR_C2B",d:1},{n:"STR_Loop_A",d:1},{n:"STR_Loop_B",d:2},{n:"STR_Loop_C",d:3}]],["SUNBATHE",[{n:"batherdown",d:3.93},{n:"batherup",d:12.3},{n:"Lay_Bac_in",d:2.33},{n:"Lay_Bac_out",d:3},{n:"ParkSit_M_IdleA",d:3.33},{n:"ParkSit_M_IdleB",d:2.67},{n:"ParkSit_M_IdleC",d:4.33},{n:"ParkSit_M_in",d:2.33},{n:"ParkSit_M_out",d:2},{n:"ParkSit_W_idleA",d:3.33},{n:"ParkSit_W_idleB",d:5},{n:"ParkSit_W_idleC",d:3},{n:"ParkSit_W_in",d:4},{n:"ParkSit_W_out",d:2.67},{n:"SBATHE_F_LieB2Sit",d:1.67},{n:"SBATHE_F_Out",d:2},{n:"SitnWait_in_W",d:4.67},{n:"SitnWait_out_W",d:2.67}]],["SWAT",[{n:"gnstwall_injurd",d:2},{n:"JMP_Wall1m_180",d:1.17},{n:"Rail_fall",d:3},{n:"Rail_fall_crawl",d:5.67},{n:"swt_breach_01",d:5.47},{n:"swt_breach_02",d:5.33},{n:"swt_breach_03",d:4.3},{n:"swt_go",d:1.67},{n:"swt_lkt",d:3},{n:"swt_sty",d:1.17},{n:"swt_vent_01",d:4.73},{n:"swt_vent_02",d:4.43},{n:"swt_vnt_sht_die",d:.67},{n:"swt_vnt_sht_in",d:1.6},{n:"swt_vnt_sht_loop",d:.27},{n:"swt_wllpk_L",d:2.67},{n:"swt_wllpk_L_back",d:.5},{n:"swt_wllpk_R",d:3.67},{n:"swt_wllpk_R_back",d:.43},{n:"swt_wllshoot_in_L",d:1},{n:"swt_wllshoot_in_R",d:1.3},{n:"swt_wllshoot_out_L",d:2},{n:"swt_wllshoot_out_R",d:1.43}]],["SWEET",[{n:"ho_ass_slapped",d:2},{n:"LaFin_Player",d:26.67},{n:"LaFin_Sweet",d:26.67},{n:"plyr_hndshldr_01",d:4},{n:"sweet_ass_slap",d:2},{n:"sweet_hndshldr_01",d:4},{n:"Sweet_injuredloop",d:2}]],["SWIM",[{n:"Swim_Breast",d:1.3},{n:"SWIM_crawl",d:.9},{n:"Swim_Dive_Under",d:1.07},{n:"Swim_Glide",d:1.47},{n:"Swim_jumpout",d:.33},{n:"Swim_Tread",d:1.3},{n:"Swim_Under",d:1.5}]],["SWORD",[{n:"sword_1",d:.87},{n:"sword_2",d:1.07},{n:"sword_3",d:.8},{n:"sword_4",d:1.1},{n:"sword_block",d:.47},{n:"Sword_Hit_1",d:.83},{n:"Sword_Hit_2",d:1.03},{n:"Sword_Hit_3",d:.87},{n:"sword_IDLE",d:1},{n:"sword_part",d:.67}]],["TANK",[{n:"TANK_align_LHS",d:1.43},{n:"TANK_close_LHS",d:.33},{n:"TANK_doorlocked",d:.53},{n:"TANK_getin_LHS",d:.43},{n:"TANK_getout_LHS",d:1.97},{n:"TANK_open_LHS",d:.3}]],["TATTOOS",[{n:"TAT_ArmL_In_O",d:.83},{n:"TAT_ArmL_In_P",d:.83},{n:"TAT_ArmL_In_T",d:.83},{n:"TAT_ArmL_Out_O",d:.93},{n:"TAT_ArmL_Out_P",d:2.5},{n:"TAT_ArmL_Out_T",d:.93},{n:"TAT_ArmL_Pose_O",d:.83},{n:"TAT_ArmL_Pose_P",d:.83},{n:"TAT_ArmL_Pose_T",d:.83},{n:"TAT_ArmR_In_O",d:.83},{n:"TAT_ArmR_In_P",d:.83},{n:"TAT_ArmR_In_T",d:.83},{n:"TAT_ArmR_Out_O",d:1},{n:"TAT_ArmR_Out_P",d:2.5},{n:"TAT_ArmR_Out_T",d:1},{n:"TAT_ArmR_Pose_O",d:.83},{n:"TAT_ArmR_Pose_P",d:.83},{n:"TAT_ArmR_Pose_T",d:.83},{n:"TAT_Back_In_O",d:.83},{n:"TAT_Back_In_P",d:.83},{n:"TAT_Back_In_T",d:.83},{n:"TAT_Back_Out_O",d:.93},{n:"TAT_Back_Out_P",d:2.5},{n:"TAT_Back_Out_T",d:.93},{n:"TAT_Back_Pose_O",d:.83},{n:"TAT_Back_Pose_P",d:.83},{n:"TAT_Back_Pose_T",d:.83},{n:"TAT_Back_Sit_In_P",d:.83},{n:"TAT_Back_Sit_Loop_P",d:2.67},{n:"TAT_Back_Sit_Out_P",d:.83},{n:"TAT_Bel_In_O",d:.83},{n:"TAT_Bel_In_T",d:.83},{n:"TAT_Bel_Out_O",d:.97},{n:"TAT_Bel_Out_T",d:.97},{n:"TAT_Bel_Pose_O",d:.83},{n:"TAT_Bel_Pose_T",d:.83},{n:"TAT_Che_In_O",d:.83},{n:"TAT_Che_In_P",d:.83},{n:"TAT_Che_In_T",d:.83},{n:"TAT_Che_Out_O",d:.93},{n:"TAT_Che_Out_P",d:2.5},{n:"TAT_Che_Out_T",d:.93},{n:"TAT_Che_Pose_O",d:.83},{n:"TAT_Che_Pose_P",d:.83},{n:"TAT_Che_Pose_T",d:.83},{n:"TAT_Drop_O",d:.5},{n:"TAT_Idle_Loop_O",d:2.67},{n:"TAT_Idle_Loop_T",d:2.67},{n:"TAT_Sit_In_O",d:2.33},{n:"TAT_Sit_In_P",d:2.33},{n:"TAT_Sit_In_T",d:2.33},{n:"TAT_Sit_Loop_O",d:2.67},{n:"TAT_Sit_Loop_P",d:2.67},{n:"TAT_Sit_Loop_T",d:2.67},{n:"TAT_Sit_Out_O",d:2.83},{n:"TAT_Sit_Out_P",d:2.17},{n:"TAT_Sit_Out_T",d:2.83}]],["TEC",[{n:"TEC_crouchfire",d:.97},{n:"TEC_crouchreload",d:1.33},{n:"TEC_fire",d:1.1},{n:"TEC_reload",d:1.5}]],["TRAIN",[{n:"tran_gtup",d:3.17},{n:"tran_hng",d:2.33},{n:"tran_ouch",d:1.17},{n:"tran_stmb",d:2.33}]],["TRUCK",[{n:"TRUCK_ALIGN_LHS",d:.57},{n:"TRUCK_ALIGN_RHS",d:.57},{n:"TRUCK_closedoor_LHS",d:.4},{n:"TRUCK_closedoor_RHS",d:.4},{n:"TRUCK_close_LHS",d:.73},{n:"TRUCK_close_RHS",d:.73},{n:"TRUCK_getin_LHS",d:.6},{n:"TRUCK_getin_RHS",d:.6},{n:"TRUCK_getout_LHS",d:.8},{n:"TRUCK_getout_RHS",d:.8},{n:"TRUCK_jackedLHS",d:1.73},{n:"TRUCK_jackedRHS",d:1.5},{n:"TRUCK_open_LHS",d:.53},{n:"TRUCK_open_RHS",d:.53},{n:"TRUCK_pullout_LHS",d:.9},{n:"TRUCK_pullout_RHS",d:.9},{n:"TRUCK_Shuffle",d:.4}]],["UZI",[{n:"UZI_crouchfire",d:.63},{n:"UZI_crouchreload",d:1.37},{n:"UZI_fire",d:.57},{n:"UZI_fire_poor",d:.53},{n:"UZI_reload",d:1.4}]],["VAN",[{n:"VAN_close_back_LHS",d:.33},{n:"VAN_close_back_RHS",d:.33},{n:"VAN_getin_Back_LHS",d:.6},{n:"VAN_getin_Back_RHS",d:.6},{n:"VAN_getout_back_LHS",d:.63},{n:"VAN_getout_back_RHS",d:.63},{n:"VAN_open_back_LHS",d:.97},{n:"VAN_open_back_RHS",d:.97}]],["VENDING",[{n:"VEND_Drink2_P",d:3.33},{n:"VEND_Drink_P",d:1.33},{n:"vend_eat1_P",d:4.33},{n:"VEND_Eat_P",d:1.67},{n:"VEND_Use",d:2.6},{n:"VEND_Use_pt2",d:.4}]],["VORTEX",[{n:"CAR_jumpin_LHS",d:1},{n:"CAR_jumpin_RHS",d:.93},{n:"vortex_getout_LHS",d:1},{n:"vortex_getout_RHS",d:1}]],["WAYFARER",[{n:"WF_Back",d:.1},{n:"WF_drivebyFT",d:.2},{n:"WF_drivebyLHS",d:.2},{n:"WF_drivebyRHS",d:.2},{n:"WF_Fwd",d:.2},{n:"WF_getoffBACK",d:1.73},{n:"WF_getoffLHS",d:.9},{n:"WF_getoffRHS",d:.9},{n:"WF_hit",d:.03},{n:"WF_jumponL",d:.9},{n:"WF_jumponR",d:.9},{n:"WF_kick",d:1.03},{n:"WF_Left",d:.13},{n:"WF_passenger",d:.03},{n:"WF_pushes",d:.97},{n:"WF_Ride",d:.03},{n:"WF_Right",d:.13},{n:"WF_Still",d:.03}]],["WEAPONS",[{n:"SHP_1H_Lift",d:1},{n:"SHP_1H_Lift_End",d:.33},{n:"SHP_1H_Ret",d:.83},{n:"SHP_1H_Ret_S",d:.33},{n:"SHP_2H_Lift",d:.93},{n:"SHP_2H_Lift_End",d:.33},{n:"SHP_2H_Ret",d:.9},{n:"SHP_2H_Ret_S",d:.33},{n:"SHP_Ar_Lift",d:1},{n:"SHP_Ar_Lift_End",d:.33},{n:"SHP_Ar_Ret",d:1.17},{n:"SHP_Ar_Ret_S",d:.33},{n:"SHP_G_Lift_In",d:.67},{n:"SHP_G_Lift_Out",d:.67},{n:"SHP_Tray_In",d:.67},{n:"SHP_Tray_Out",d:.67},{n:"SHP_Tray_Pose",d:2.67}]],["WOP",[{n:"Dance_B1",d:1.13},{n:"Dance_B2",d:1.17},{n:"Dance_B3",d:1.13},{n:"Dance_B4",d:1.17},{n:"Dance_B5",d:1.13},{n:"Dance_B6",d:1.17},{n:"Dance_B7",d:1.13},{n:"Dance_B8",d:1.17},{n:"Dance_B9",d:1.13},{n:"Dance_B10",d:1.17},{n:"Dance_B11",d:1.13},{n:"Dance_B12",d:1.17},{n:"Dance_B13",d:1.13},{n:"Dance_B14",d:1.17},{n:"Dance_B15",d:1.13},{n:"Dance_B16",d:1.17},{n:"Dance_G1",d:1.13},{n:"Dance_G2",d:1.17},{n:"Dance_G3",d:1.13},{n:"Dance_G4",d:1.17},{n:"Dance_G5",d:1.13},{n:"Dance_G6",d:1.17},{n:"Dance_G7",d:1.13},{n:"Dance_G8",d:1.17},{n:"Dance_G9",d:1.13},{n:"Dance_G10",d:1.17},{n:"Dance_G11",d:1.13},{n:"Dance_G12",d:1.17},{n:"Dance_G13",d:1.13},{n:"Dance_G14",d:1.17},{n:"Dance_G15",d:1.13},{n:"Dance_G16",d:1.17},{n:"dance_loop",d:1.17}]],["WUZI",[{n:"CS_Dead_Guy",d:5.07},{n:"CS_Plyr_pt1",d:3.77},{n:"CS_Plyr_pt2",d:9.67},{n:"CS_Wuzi_pt1",d:3.77},{n:"CS_Wuzi_pt2",d:9.67},{n:"Walkstart_Idle_01",d:3.17},{n:"Wuzi_follow",d:3},{n:"Wuzi_Greet_Plyr",d:4},{n:"Wuzi_Greet_Wuzi",d:4},{n:"Wuzi_grnd_chk",d:4},{n:"Wuzi_stand_loop",d:2.67},{n:"Wuzi_Walk",d:1.17}]]]),Gd=e=>{const t=Od.get(e);return t===void 0?!1:t},We=(e,t)=>{const a=Gd(e);if(a)return a.find(n=>n.n===t)?.d},Y=(e,t)=>{const a=t.replace("-","")==="utf8"?e:f.encodeToBuf(e,t);return[a instanceof Array?"a":"s",a]},Ue=(e,t,a)=>{const n=Y(a,e.charset);return samp.callNative("SendClientMessage",`ii${n[0]}`,e.id,I(t),n[1])},Fd=(e,t,a)=>(e.forEach(n=>Ue(n,t,a)),1),Ke=(e,t,a)=>{const n=Y(a,e.charset);return samp.callNative("SendPlayerMessageToPlayer",`ii${n[0]}`,e.id,t,n[1])},kd=(e,t,a)=>(e.forEach(n=>{Ke(n,t,a)}),1),Md=(e,t,a)=>{const{charset:n}=e,{style:i,caption:r,info:s,button1:o,button2:d}=a,[_,p]=Y(r||"",n),[,S]=Y(s||"",n),[,g]=Y(o||"",n),[,P]=Y(d||"",n);return samp.callNative("ShowPlayerDialog",`iii${_.repeat(4)}`,e.id,t,i,p,S,g,P)},xd=e=>{const t=samp.callNative("GetPlayerName","iAi",e.id,B.MAX_PLAYER_NAME);return f.decodeFromBuf(f.getValidStr(t),e.charset)},Hd=(e,t)=>samp.callNative("SetPlayerName","ia",e.id,f.encodeToBuf(t,e.charset)),Vd=(e,t,a)=>{const n=f.encodeToBuf(t,a);return samp.callNative("BanEx","ia",e,n)},Wd=(e,t,a,n,i,r,s,o,d,_,p,S,g,P,E,L)=>{const M=f.encodeToBuf(t,e);return samp.callNative("CreateDynamic3DTextLabel","aiffffiiiiiifii",M,a,n,i,r,s,o,d,_,p,S,g,P,E,L)},Ud=(e,t,a,n,i,r,s,o,d,_,p,S,g,P,E,L)=>{const M=f.encodeToBuf(e,L);return samp.callNative("CreateDynamic3DTextLabelEx","aiffffiiifaaaaiiiii",M,t,a,n,i,r,s,o,d,_,p,S,g,P,E,p.length,S.length,g.length,P.length)},Kd=(e,t,a,n)=>{const i=f.encodeToBuf(a,n);return samp.callNative("UpdateDynamic3DTextLabelText","iia",e,t,i)},Zd=(e,t)=>{const a=samp.callNative("GetDynamic3DTextLabelText","iAi",e,1024);return f.decodeFromBuf(f.getValidStr(a),t)},jd=(e,t,a,n,i,r,s,o,d,_,p)=>{const S=f.encodeToBuf(n,e),g=f.encodeToBuf(r,e);return samp.callNative("SetDynamicObjectMaterialText","iiaiaiiiii",t,a,S,i,g,s,o,d,_,p)},Xd=(e,t,a)=>{const[n,i,r,s,o,d,_]=samp.callNative("GetDynamicObjectMaterialText","iiAIAIIIIIii",e,t,2048,32),p=f.decodeFromBuf(n,a),S=f.decodeFromBuf(r,a);return{text:p,materialSize:i,fontFace:S,bold:s,fontColor:o,backColor:d,textAlignment:_}},[Ze]=m({name:"OnClientCheckResponse",beforeEach(e,t,a,n){return{player:u.getInstance(e),actionId:t,memAddr:a,data:n}}});class u{constructor(t){this.id=t}static players=new Map;charset="ISO-8859-1";locale="en_US";lastDrunkLevel=0;lastFps=0;lastUpdateTick=0;lastUpdateFpsTick=0;isPaused=!1;isRecording=!1;sendClientMessage(t,a){return Ue(this,t,a)}static sendClientMessageToAll(t,a){Fd(u.getInstances(),t,a)}sendMessageToPlayer(t,a){return Ke(t,this.id,a)}sendMessageToAll(t){return kd(u.getInstances(),this.id,t)}isNpc(){return bn(this.id)}getFps(){return this.lastFps}getDrunkLevel(){return $n(this.id)}setDrunkLevel(t){if(t<0||t>5e4)return l.error(new Error("[Player]: player's drunk level ranges from 0 to 50000"));Qn(this.id,t)}allowTeleport(t){In(this.id,t)}isTeleportAllowed(){return Pn(this.id)}enableCameraTarget(t){Pr(this.id,t)}enableStuntBonus(t){qi(this.id,t)}getInterior(){return Mn(this.id)}setInterior(t){return kn(this.id,t)}showNameTag(t,a){mr(this.id,t.id,a)}setColor(t){qn(this.id,t)}getColor(){return ei(this.id)}setMarker(t,a){_r(this.id,t.id,a)}getMarker(t){return hr(this.id,t.id)}resetMoney(){return oi(this.id)}getMoney(){return di(this.id)}giveMoney(t){return li(this.id,t)}resetWeapons(){return ii(this.id)}spawn(){return this.isSpectating()?(this.toggleSpectating(!1),1):pa(this.id)}setHealth(t){return xn(this.id,t)}getHealth(){return Hn(this.id)}toggleClock(t){return Si(this.id,t)}toggleControllable(t){return Ui(this.id,t)}toggleSpectating(t){return ir(this.id,t)}spectatePlayer(t,a=ae.NORMAL){return rr(this.id,t.id,a)}spectateVehicle(t,a=ae.NORMAL){return sr(this.id,t.id,a)}forceClassSelection(){yi(this.id)}kick(){Da(this.id)}ban(){Na(this.id)}banEx(t,a){Vd(this.id,t,a)}isAdmin(){return Ca(this.id)}isInRangeOfPoint(t,a,n,i){return On(this.id,t,a,n,i)}isStreamedIn(t){return Fn(this.id,t.id)}setSkin(t,a=!1){return!a&&(t<0||t>311||t==74)||this.getHealth()<=0||this.isInAnyVehicle()||this.getSpecialAction()===re.DUCK?0:ti(this.id,t)}getSkin(){return ai(this.id)}isInAnyVehicle(){return or(this.id)}getSpecialAction(){return Yi(this.id)}setSpecialAction(t){return zi(this.id,t)}setScore(t){return zn(this.id,t)}getScore(){return Jn(this.id)}getPing(){return _i(this.id)||0}setPos(t,a,n){return ue(this.id,t,a,n)}getPos(){if(this.isSpectating()||this.isWasted()||this.getState()===X.NONE)return;const[t,a,n]=vn(this.id);return{x:t,y:a,z:n}}isSpectating(){return this.getState()===X.SPECTATING}isWasted(){return this.getState()===X.WASTED}getState(){return ci(this.id)}getVersion(){return this.isNpc()?"":Tn(this.id)}setVirtualWorld(t){return $i(this.id,t)}getVirtualWorld(){return Qi(this.id)}removeFromVehicle(){return Wi(this.id)}setWantedLevel(t){return t<0||t>6?(l.error("[Player]: player's wanted level ranges from 0 to 6"),0):Ii(this.id,t)}getWantedLevel(){return Pi(this.id)}setFacingAngle(t){return Bn(this.id,t)}getFacingAngle(){return wn(this.id)}setWeather(t){if(t<0||t>255){l.warn("[Player]: The valid weather value is only 0 to 255");return}gi(this.id,t)}getWeather(){return Va(this.id)}setTime(t,a){if(t<0||t>23){l.warn("[Player]: The valid hour value is only 0 to 23");return}if(a<0||a>59){l.warn("[Player]: The valid minute value is only 0 to 59");return}return ui(this.id,t,a)}getTime(){const[t,a]=pi(this.id);return{hour:t,minute:a}}removeBuilding(t,a,n,i,r){wi(this.id,t,a,n,i,r)}setTeam(t){t<0||t>T.NO_TEAM||Xn(this.id,t)}getTeam(){return Yn(this.id)}setSkillLevel(t,a){if(a<0||a>999){l.warn("[Player]: The valid skill level is only 0 to 999");return}bi(this.id,t,a)}getName(){return xd(this)}setName(t){return Hd(this,t)}setVelocity(t,a,n){return Ei(this.id,t,a,n)}getVelocity(){const[t,a,n]=Ti(this.id);return{x:t,y:a,z:n}}getKeys(){const[t,a,n]=mi(this.id);return{keys:t,upDown:a,leftRight:n}}getIp(){return En(this.id)}getFightingStyle(){return Ai(this.id)}setFightingStyle(t){fi(this.id,t)}setArmour(t){return Vn(this.id,t)}getArmour(){return Wn(this.id)}setCameraBehind(){return Sr(this.id)}setCameraPos(t,a,n){return ur(this.id,t,a,n)}setCameraLookAt(t,a,n,i){return pr(this.id,t,a,n,i)}getCameraAspectRatio(){return Er(this.id)}getCameraFrontVector(){const[t,a,n]=yr(this.id);return{x:t,y:a,z:n}}getCameraMode(){return Ir(this.id)}getCameraPos(){const[t,a,n]=gr(this.id);return{x:t,y:a,z:n}}getCameraTargetPlayer(t){const a=Ar(this.id);return t.find(n=>n.id===a)}getCameraTargetVehicle(t){const a=fr(this.id);return t.find(n=>n.id===a)}getCameraZoom(){return Tr(this.id)}playAudioStream(t,a=0,n=0,i=0,r=5){let s=!1;return(a!==0||n!==0||i!==0)&&(s=!0),Di(this.id,t,a,n,i,r,s)}stopAudioStream(){Ni(this.id)}playSound(t,a=0,n=0,i=0){return Ki(this.id,t,a,n,i)}static getMaxPlayers(){return Ft()}playCrimeReport(t,a){return a<3||a>22?(l.warn("[Player]: Available crime ids range from 3 to 22"),0):Ci(this.id,t.id,a)}interpolateCameraPos(t,a,n,i,r,s,o,d=te.CUT){Cr(this.id,t,a,n,i,r,s,o,d)}interpolateCameraLookAt(t,a,n,i,r,s,o,d=te.CUT){Dr(this.id,t,a,n,i,r,s,o,d)}createExplosion(t,a,n,i,r){return i<0||i>13?(l.error("[Player]: The valid explosion type value is only 0 to 13"),0):tr(this.id,t,a,n,i,r)}static isConnected(t){return pe(t)}isConnected(){return pe(this.id)}disableRemoteVehicleCollisions(t){return Ji(this.id,t)}getVehicle(t){if(!this.isInAnyVehicle())return;const a=Hi(this.id);return t.find(n=>n.id===a)}getVehicleSeat(){return Vi(this.id)}getSurfingVehicle(t){const a=Li(this.id);if(a!==T.VEHICLE_ID)return t.find(n=>n.id===a)}applyAnimation(t,a,n=!1,i=!0,r=!0,s=!1,o=!1){const d=We(t,a);if(d===void 0)return l.error("[Player]: Invalid anim library or name");Zi(this.id,t,a,4.1,n,i,r,s,n?0:d,o)}clearAnimations(t=!1){ji(this.id,t)}getAnimationIndex(){return Xi(this.id)}getAnimationName(){const[t,a]=na(this.getAnimationIndex());return{animLib:t,animName:a}}setShopName(t){Ri(this.id,t)}setPosFindZ(t,a,n=150){return new Promise(i=>{ue(this.id,t,a,n),setTimeout(()=>i(Ln(this.id,t,a,n)))})}setWorldBounds(t,a,n,i){dr(this.id,t,a,n,i)}clearWorldBounds(){return cr(this.id)}setChatBubble(t,a,n,i){Mi(this.id,t,a,n,i)}getDistanceFromPoint(t,a,n){return Gn(this.id,t,a,n)}getCustomSkin(){return er(this.id)}getTargetPlayer(t){const a=jn(this.id);if(a!==T.PLAYER_ID)return t.find(n=>n.id===a)}getLastShotVectors(){const[t,a,n,i,r,s]=Oi(this.id);return{fOriginX:t,fOriginY:a,fOriginZ:n,fHitPosX:i,fHitPosY:r,fHitPosZ:s}}getWeapon(){return hi(this.id)}getWeaponData(t){if(t<0||t>12){l.error("[Player]: weapon slots range from 0 to 12");return}const[a,n]=si(this.id,t);return{weapons:a,ammo:n}}getWeaponState(){return Zn(this.id)}giveWeapon(t,a){return ni(this.id,t,a)}setAmmo(t,a){return Un(this.id,t,a)}getAmmo(){return Kn(this.id)}setArmedWeapon(t){return ri(this.id,t)}clearDeathMessage(){for(let t=0;t<5;t++)this.sendDeathMessageToPlayer(T.PLAYER_ID,T.PLAYER_ID,se.CONNECT)}sendDeathMessage(t,a){Gt(t===T.PLAYER_ID?t:t.id,this.id,a)}sendDeathMessageToPlayer(t,a,n){Nn(this.id,t===T.PLAYER_ID?t:t.id,a===T.PLAYER_ID?a:a.id,n)}setSpawnInfo(t,a,n,i,r,s,o,d,_,p,S,g){t<0||t>T.NO_TEAM||a<0||a>311||a==74||d<0||p<0||g<0||ua(this.id,t,a,n,i,r,s,o,d,_,p,S,g)}redirectDownload(t){return vd(this.id,t)}sendClientCheck(t,a,n,i){const r=[2,5,69,70,71,72];return r.includes(t)?new Promise((s,o)=>{if(this.isPaused)return o("[Player]: An attempt to check the player client response, but the player paused the game");const d="[Player]: An attempt to check the player client response timed out",_=this.getPing(),p=(_>=200?0:_)+200;let S=null;const g=Ze(({player:P,actionId:E,memAddr:L,data:M,next:ee})=>{if(P!==this)return ee();S?(clearTimeout(S),S=null,o(d)):s({actionId:E,memAddr:L,data:M});const et=ee();return g(),et});S=setTimeout(()=>{g(),o(d)},p),Oa(this.id,t,a,n,i)}):l.error(`[Player]: sendClientCheck valid types are ${r.toString()}`)}selectTextDraw(t){Ho(this.id,t)}cancelSelectTextDraw(){Vo(this.id)}beginObjectSelecting(){Dd(this.id)}endObjectEditing(){Nd(this.id)}getSurfingObject(t){const a=vi(this.id);if(a!==T.OBJECT_ID)return t.get(a)}getSurfingPlayerObject(t){const a=Bi(this.id);if(a!==T.OBJECT_ID)return t.get(a)}isAttachedObjectSlotUsed(t){return ki(this.id,t)}setAttachedObject(t,a,n,i,r,s,o,d,_,p,S,g,P,E){return this.isAttachedObjectSlotUsed(t)?0:Gi(this.id,t,a,n,i,r,s,o,d,_,p,S,g,P,E)}removeAttachedObject(t){return this.isAttachedObjectSlotUsed(t)?Fi(this.id,t):0}getAnimationFlags(){return samp.callNative("GetPlayerAnimationFlags","i",this.id)}getLastSyncedTrailerID(){return samp.callNative("GetPlayerLastSyncedTrailerID","i",this.id)}getLastSyncedVehicleID(){return samp.callNative("GetPlayerLastSyncedVehicleID","i",this.id)}toggleWidescreen(t){return ka(this.id,t)}isWidescreenToggled(){return Ma(this.id)}getSpawnInfo(){return xa(this.id)}getSkillLevel(t){return Ha(this.id,t)}isCheckpointActive(){return Wa(this.id)}getCheckpoint(){return Ua(this.id)}isRaceCheckpointActive(){return Ka(this.id)}getRaceCheckpoint(){return Za(this.id)}getWorldBounds(){ja(this.id)}isInModShop(){return Xa(this.id)}getSirenState(){return Ya(this.id)}getLandingGearState(){return za(this.id)}getHydraReactorAngle(){return Ja(this.id)}getTrainSpeed(){return $a(this.id)}getZAim(){return Qa(this.id)}getSurfingOffsets(){return qa(this.id)}getRotationQuat(){return en(this.id)}getDialogID(){return tn(this.id)}getSpectateID(){return an(this.id)}getSpectateType(){return nn(this.id)}getRawIp(){return rn(this.id)}setGravity(t){return sn(this.id,t)}getGravity(){return ln(this.id)}setAdmin(t){return on(this.id,t)}isSpawned(){return dn(this.id)}isControllable(){return cn(this.id)}isCameraTargetEnabled(){return _n(this.id)}toggleGhostMode(t){return hn(this.id,t)}getGhostMode(){return mn(this.id)}getBuildingsRemoved(){return un(this.id)}getAttachedObject(t){return pn(this.id,t)}removeWeapon(t){return Sn(this.id,t)}isUsingOfficialClient(){return yn(this.id)}allowWeapons(t){return fn(this.id,t)}areWeaponsAllowed(){return An(this.id)}gpci(t=this.charset){return wa(this.id,t)}static getInstance(t){return this.players.get(t)}static getInstances(){return[...this.players.values()]}}const[je]=m({name:"OnDialogResponseI18n",identifier:"iiiiai",beforeEach(e,t,a,n,i){return{player:u.getInstance(e),dialogId:t,response:a,listItem:n,buffer:i}}});je(({next:e,player:t,dialogId:a,response:n,listItem:i,buffer:r})=>{const s=D.waitingQueue.get(t);return!s||s.showId!==a||setTimeout(()=>s.resolve({response:n,listItem:i,buffer:r})),e()});class D{id=-1;static showingIds=[];static max_dialogId=32767;dialog;static waitingQueue=new Map;constructor(t={style:ie.MSGBOX,caption:"",info:"",button1:"",button2:""}){this.dialog=t}get style(){return this.dialog.style}set style(t){this.dialog.style=t}get caption(){return this.dialog.caption}set caption(t){this.dialog.caption=t}get info(){return this.dialog.info}set info(t){this.dialog.info=t}get button1(){return this.dialog.button1}set button1(t){this.dialog.button1=t}get button2(){return this.dialog.button2}set button2(t){this.dialog.button2=t}static delDialogTask(t,a=!1){const n=D.waitingQueue.get(t);if(!n)return!1;a&&n.reject("[Dialog]: player timeout does not respond or second request show dialog"),D.waitingQueue.delete(t);const i=D.showingIds.indexOf(n.showId);return i>-1&&D.showingIds.splice(i,1),!0}show(t){return new Promise((a,n)=>{for(D.close(t);(this.id===-1||D.showingIds.includes(this.id))&&D.showingIds.length!==D.max_dialogId;)this.id=Math.floor(Math.random()*(D.max_dialogId+1));if(this.id===-1){n("[Dialog]: The maximum number of dialogs is reached");return}D.showingIds.push(this.id),D.waitingQueue.set(t,{resolve:a,reject:n,showId:this.id}),Md(t,this.id,this.dialog)}).then(a=>{const{response:n,listItem:i}=a,r=f.decodeFromBuf(a.buffer,t.charset);return Promise.resolve({response:n,listItem:i,inputText:r})}).catch(a=>Promise.reject(a)).finally(()=>D.delDialogTask(t))}static close(t){D.delDialogTask(t,!0),gn(t.id)}}const[Xe]=m({name:"OnPlayerConnect",beforeEach(e){const t=new u(e);return u.players.set(e,t),D.close(t),{player:t}}}),[Ye]=m({name:"OnPlayerDisconnect",beforeEach(e,t){return{player:u.players.get(e),reason:t}},afterEach({player:e}){u.players.delete(e.id)}}),[ze]=m({name:"OnPlayerUpdate",beforeEach(e){return{player:u.getInstance(e)}}}),[Yd]=m({name:"OnPlayerTextI18n",identifier:"iai",beforeEach(e,t){const a=u.getInstance(e);return{player:a,text:f.decodeFromBuf(t,a.charset),buffer:t}}}),[zd]=m({name:"OnPlayerEnterExitModShop",beforeEach(e,t,a){return{player:u.getInstance(e),enterExit:Boolean(t),interior:a}}}),[Jd]=m({name:"OnPlayerClickMap",beforeEach(e,t,a,n){return{player:u.getInstance(e),fX:t,fY:a,fZ:n}}}),[$d]=m({name:"OnPlayerClickPlayer",beforeEach(e,t,a){return{player:u.getInstance(e),clickedPlayer:u.getInstance(t),source:a}}}),[Qd]=m({name:"OnPlayerDeath",beforeEach(e,t,a){return{player:u.getInstance(e),killer:u.getInstance(t)||T.PLAYER_ID,reason:a}}}),[qd]=m({name:"OnPlayerGiveDamage",beforeEach(e,t,a,n,i){return{player:u.getInstance(e),damage:u.getInstance(t),amount:a,weapon:n,bodyPart:i}}}),[ec]=m({name:"OnPlayerKeyStateChange",beforeEach(e,t,a){return{player:u.getInstance(e),newKeys:t,oldKeys:a}}}),[tc]=m({name:"OnPlayerRequestClass",beforeEach(e,t){return{player:u.getInstance(e),classId:t}}}),[ac]=m({name:"OnPlayerRequestSpawn",beforeEach(e){return{player:u.getInstance(e)}}}),[nc]=m({name:"OnPlayerSpawn",beforeEach(e){return{player:u.getInstance(e)}}}),[ic]=m({name:"OnPlayerStateChange",beforeEach(e,t,a){return{player:u.getInstance(e),newState:t,oldState:a}}}),[rc]=m({name:"OnPlayerSteamIn",beforeEach(e,t){return{player:u.getInstance(e),forPlayer:u.getInstance(t)}}}),[sc]=m({name:"OnPlayerSteamOut",beforeEach(e,t){return{player:u.getInstance(e),forPlayer:u.getInstance(t)}}}),[lc]=m({name:"OnPlayerTakeDamage",beforeEach(e,t,a,n,i){return{player:u.getInstance(e),damage:u.getInstance(t)||T.PLAYER_ID,amount:a,weapon:n,bodyPart:i}}}),[oc]=m({name:"OnPlayerInteriorChange",beforeEach(e,t,a){return{player:u.getInstance(e),newInteriorId:t,oldInteriorId:a}}}),[dc]=m({name:"OnPlayerRequestDownload",beforeEach(e,t,a){return{player:u.getInstance(e),type:t,crc:a}}}),[cc]=m({name:"OnPlayerFinishedDownloading",beforeEach(e,t){return{player:u.getInstance(e),virtualWorld:t}}});let q=null;const[_c,hc]=m({name:"OnPlayerPause",isNative:!1,beforeEach(e,t){return{player:e,pausedAt:t}}}),[mc,uc]=m({name:"OnPlayerResume",isNative:!1,beforeEach(e,t,a,n){return{player:e,pausedAt:t,now:a,diff:n}}});Xe(({next:e})=>(!q&&u.getInstances().length&&(q=setInterval(()=>{u.getInstances().filter(t=>{const a=t.getState()!==X.NONE;return!t.isPaused&&!t.isNpc()&&a}).forEach(t=>{Date.now()-t.lastUpdateTick>1e3&&(t.isPaused=!0,hc(t,t.lastUpdateTick))})},500)),e())),Ye(({next:e})=>(q&&u.getInstances().length<=1&&(clearInterval(q),q=null),e()));function pc(e){if(!u.isConnected(e.id))return;const t=Date.now();if(t-e.lastUpdateFpsTick>=1e3){const a=e.getDrunkLevel();if(a<100){e.setDrunkLevel(2e3),e.lastDrunkLevel=2e3,e.lastFps=0;return}e.lastUpdateFpsTick=t,e.lastFps=e.lastDrunkLevel-a-1,e.lastDrunkLevel=a}}ze(({player:e,next:t})=>{if(!e.isNpc()){const a=Date.now();e.isPaused&&(e.isPaused=!1,uc(e,e.lastUpdateTick,a,a-e.lastUpdateTick)),e.lastUpdateTick=a,pc(e)}return t()});const z=new Map,Je=/[^/\s]+/gi,le={NOT_EXIST:{code:1,msg:"command does not exist"},REJECTED:{code:2,msg:"An event registered through onCommandText returned false"},PERFORMED:{code:3,msg:"An event registered through onCommandPerformed returned false"}},[Sc,gc]=m({name:"OnCommandReceived",isNative:!1,beforeEach(e,t){return{player:e,command:t}}}),[yc,Ic]=m({name:"OnCommandPerformed",isNative:!1,beforeEach(e,t){return{player:e,command:t}}}),[Pc,oe]=m({name:"OnCommandError",isNative:!1,defaultValue:!1,beforeEach(e,t,a){return{player:e,command:t,error:a}}}),[fc]=m({name:"OnPlayerCommandTextI18n",identifier:"iai",beforeEach(e,t){return{player:u.getInstance(e),buffer:t}}});function Ac(e){const t=[];let a="";for(let n=0;n<e.length;n++)a+=e[n]+" ",t.push(a.trimEnd());return t.reverse()}fc(({player:e,buffer:t,next:a})=>{const n=f.decodeFromBuf(t,e.charset).match(Je),i=Ac(n).find(p=>z.get(p)),r=n.join(" ");if(!i)return oe(e,r,le.NOT_EXIST);const s=gc(e,r);if(!s)return s;const o=z.get(i),[,d]=o,_=r.replace(i,"").trim().split(" ");return d(e,_)?Ic(e,r)?a():oe(e,r,le.PERFORMED):oe(e,r,le.REJECTED)});const $e={on(e,t){const a=Array.isArray(e)?e:[e],n=a.find(r=>!r.match(Je));if(n)return console.log(`error command ${n} format`),()=>{};const i=a.map(r=>{const s=r.replaceAll("/","");if(!z.has(s)){const d=m({name:s,isNative:!1,beforeEach(_,p){return{player:_,subcommand:p}}});z.set(s,d)}const[o]=z.get(s);return o(t)});return()=>{i.forEach(r=>r())}},off(e){(Array.isArray(e)?e:[e]).forEach(t=>{z.has(t)&&he(t)})}},de=Object.freeze({onConnect:Xe,onDisconnect:Ye,onPause:_c,onResume:mc,onUpdate:ze,onText:Yd,onEnterExitModShop:zd,onClickMap:Jd,onClickPlayer:$d,onDeath:Qd,onGiveDamage:qd,onKeyStateChange:ec,onRequestClass:tc,onRequestSpawn:ac,onSpawn:nc,onStateChange:ic,onStreamIn:rc,onStreamOut:sc,onTakeDamage:lc,onInteriorChange:oc,onRequestDownload:dc,onFinishedDownloading:cc,onCheckResponse:Ze,onCommandReceived:Sc,onCommandPerformed:yc,onCommandError:Pc,onCommandText:$e.on,offCommandText:$e.off,onDialogResponse:je}),Ec=[8,9,10,25,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,96,97,98],Tc=[[13,18,19,20,21,24],[1,3,4,5,6,7,13,17,19,20,142,143,144,145],[],[],[0,2,7,13,16,17,19,20,21],[0,1,14,18,19,20,21,23],[],[],[],[],[1,3,7,13,17,19,20,21,23,24],[],[],[],[],[1,3,7,17,18,19,23],[],[],[2,6,16,20,21],[],[1,3,4,5,19,21],[0,14,16,18,19,20,21,23],[7,13,17,19,20,21],[],[],[],[1,3,4,5,6,19,21],[],[],[],null,[],[],[],[],[],[1,3,6,7,13,17,19,20,21,22],[],[],[1,3,7,13,17,23,142,143,144,145],[],[],[],[],[],[],null,[],null,null,[],[],null,null,null,[],[],[],[],[],[],null,null,null,[],[],[],[],null,[],[],[],null,null,[],[],[],[6,7,17,18,19,20,21],[4,5,12,13,20,21,22,24],[],[],null,[],[],null,[],[],[],[],[0,2,4,5,6,13,16,18,19,20,24],[],[3,7,14,17,18,19,20,21,23,142,143,144,145],[0,4,5,6,16],null,[],[],[1,2,3,6,7,11,17,19,20,23,142,143],[],[],[],[13,19,20,21,24],[],[],[],[],[],[],[],[],null,null,[],[],[],[],[],[0,2,4,7,15,16,17,18,19,20,21],[2,3,7,16,17,18,19,20,23,142,143,144,145],[1,3,5,6,7,13,17,18,20,23,142,143,144,145],[],[],null,null,null,[],[],[],[1,7,14,15,17,18,20,21],[],[1,3,6,7,11,12,17,18,19,20,23],[],[],[],[],[100,101,106,122,123,124,125,126,127,178,179,180,185],[109,110,113,114,115,116,117,118,119,120,121],[103,104,105,107,108,128,181,182,183,184],null,null,[],[1,4,6,7,17,18,19,20,23,24,142,143,144,145],[],[14,15,18,19,20,21,144,145],[],[],[],[1,2,4,6,7,17,18,19,23,24,142,143,144,145],[0,3,16,18,19,20,21,142,143],[],[1,3,7,11,12,17,18,19,20,23,142,143,144,145],[1,3,4,5,6,18,19,20,23,142,143,144,145],[2,3,5,6,16,18,19,20,21,23],[],[],[],[],[],[],[88,89,90,91,92,93,94,95,163,164,165,166,167,168],[65,66,67,68,69,70,71,72,158,159,160,161,162,173],[26,27,28,29,30,31,32,33,138,139,140,141,169,170],[55,56,57,58,59,60,61,62,63,64,154,155,156,157],[34,35,36,37,38,39,40,41,146,147,148,149,171,172],[],[],[45,46,47,48,49,50,51,52,53,54,150,151,152,153],[],[102,129,130,131,132,133,186,187,188,189],[],null,null,[],[],[],[],[42,43,44,99,174,175,176,177],[134,135,136,137,190,191,192,193],[],[],[],[1,6,7,17,18,20,23],null,[],[],[],[0,1,2,3,6,7,13,14,15,16,17,18,19,20,21,22,23,24,142,143,144,145],null,[],[],[0,4,5,6,7,13,16,17,18,20,24,144,145],null,[],[],[],[],null,[],[],[],[],[4,5,6,7,13,17,18,20,22],[],[],[1,6,7,17,18,19,20,23,24,142,143,144,145],[],[],[],[],[],[],[],[]],Cc=(e,t)=>{if(!Dc(e))return l.error("[vehicleUtils]: Invalid model id"),!1;const a=Tc[e-400];if(a===null)return!1;const n=t-1e3;return Ec.includes(n)||a.includes(n)},Dc=e=>e>=400&&e<=611,Nc=(e,t)=>{if(t<0||t>2)return!1;const a=new Map([[483,0],[534,2],[535,2],[536,2],[558,2],[559,2],[560,2],[561,2],[562,2],[565,2],[567,2],[575,1],[576,2]]).get(e);return a===void 0?!1:t<=a};class A{static vehicles=new Map;static createdCount=0;sourceInfo;isStatic;_id=-1;get id(){return this._id}constructor(t,a=!1){this.sourceInfo=t,this.isStatic=a}create(t=!1){if(this.id!==-1)return l.warn("[Vehicle]: Unable to create the vehicle again");if(A.createdCount===B.MAX_VEHICLES)return l.warn("[Vehicle]: Unable to continue to create vehicle, maximum allowable quantity has been reached");const{modelId:a,x:n,y:i,z:r,z_angle:s,color:o,respawn_delay:d,addSiren:_}=this.sourceInfo;if(!(!t&&(a<400||a>611))){if(this.isStatic){if(d===void 0){this._id=el(a,n,i,r,s,o[0],o[1]);return}this._id=tl(a,n,i,r,s,o[0],o[1],d||-1,_||!1)}else this._id=_s(a,n,i,r,s,o[0],o[1],d||-1,_||!1);A.createdCount++,A.vehicles.set(this._id,this)}}destroy(){if(this.id===-1)return l.warn("[Vehicle]: Unable to destroy the vehicle before create");hs(this.id),A.createdCount--,A.vehicles.delete(this._id),this._id=-1}addComponent(t){return this.id===-1?0:Cc(this.getModel(),t)?vs(this.id,t):(l.warn(`[Vehicle]: Invalid component id ${t} attempted to attach to the vehicle ${this}`),0)}removeComponent(t){return this.getComponentInSlot(A.getComponentType(t))===0?(l.warn(`[Vehicle]: component id ${t} does not exist on this vehicle`),0):Bs(this.id,t)}getComponentInSlot(t){return Us(this.id,t)}static getComponentType(t){return Ks(t)}linkToInterior(t){return this.id===-1?0:Ls(this.id,t)}setVirtualWorld(t){return this.id===-1?0:Qs(this.id,t)}getVirtualWorld(){return this.id===-1?0:qs(this.id)}repair(){return this.id===-1?0:Zs(this.id)}setPos(t,a,n){return this.id===-1?0:ps(this.id,t,a,n)}getPos(){if(this.id!==-1)return us(this.id)}getHealth(){return this.id===-1?0:Fs(this.id)}setHealth(t){return this.id===-1?0:Gs(this.id,t)}isPlayerIn(t){return this.id===-1?!1:lr(t.id,this.id)}putPlayerIn(t,a){return this.id===-1||a<0?0:(a>4&&l.warn("[Vehicle]: If the seat is invalid or is taken, will cause a crash when they EXIT the vehicle."),xi(t.id,this.id,a))}getZAngle(){return this.id===-1?0:Ss(this.id)}setZAngle(t){return this.id===-1?0:Is(this.id,t)}setNumberPlate(t){return this.id===-1?0:t.length<1||t.length>32?(l.error("[Vehicle]: The length of the number plate ranges from 32 characters"),0):/^[a-zA-Z0-9]+$/.test(t)?Vs(this.id,t):(l.error("[Vehicle]: number plates only allow letters and numbers"),0)}changeColors(t,a){return this.id===-1?0:ws(this.id,t,a)}setVelocity(t,a,n){return this.id===-1?!1:Xs(this.id,t,a,n)}getVelocity(){if(this.id===-1)return;const[t,a,n]=js(this.id);return{x:t,y:a,z:n}}getSpeed(t=180){if(this.id===-1)return 0;const{x:a,y:n,z:i}=this.getVelocity();return Math.sqrt(a*a+n*n+i*i)*t}setAngularVelocity(t,a,n){return this.id===-1?0:Ys(this.id,t,a,n)}getDamageStatus(){if(this.id!==-1)return zs(this.id)}updateDamageStatus(t,a,n,i){this.id!==-1&&Js(this.id,t,a,n,i)}getDistanceFromPoint(t,a,n){return ys(this.id,t,a,n)}getModel(){return Ws(this.id)}static getModelInfo(t,a){return $s(t,a)}getModelInfo(t){if(this.id!==-1)return A.getModelInfo(this.getModel(),t)}getRotationQuat(){if(this.id===-1)return;const[t,a,n,i]=gs(this.id);return{w:t,x:a,y:n,z:i}}setRespawn(){return this.id===-1?0:bs(this.id)}isStreamedIn(t){return this.id===-1?!1:ms(this.id,t.id)}setParamsCarDoors(t,a,n,i){return this.id===-1?0:Cs(this.id,t,a,n,i)}setParamsCarWindows(t,a,n,i){return this.id===-1?0:Ns(this.id,t,a,n,i)}getParamsCarDoors(){if(this.id!==-1)return Ds(this.id)}getParamsCarWindows(){if(this.id!==-1)return Rs(this.id)}setParamsEx(t,a,n,i,r,s,o){return this.id===-1?0:As(this.id,t,a,n,i,r,s,o)}getParamsEx(){if(this.id===-1)return;const[t,a,n,i,r,s,o]=Es(this.id);return{engine:t,lights:a,alarm:n,doors:i,bonnet:r,boot:s,objective:o}}getParamsSirenState(){return this.id===-1?-2:Ts(this.id)}setParamsForPlayer(t,a,n){return this.id===-1?0:Ps(this.id,t.id,a,n)}isTrailerAttached(){return this.id===-1?!1:xs(this.id)}changePaintjob(t){return this.id===-1||!Nc(this.getModel(),t)?0:(this.changeColors("#fff","#fff"),Os(this.id,t),1)}attachTrailer(t){return this.id===-1?0:ks(t.id,this.id)}detachTrailer(){this.id!==-1&&this.isTrailerAttached()&&Ms(this.id)}getTrailer(){if(this.id!==-1)return A.getInstances().find(t=>t.id===Hs(this.id))}isValid(){return ge(this.id)}static isValid(t){return ge(t)}getMatrix(){if(this.id!==-1)return cs(this.id)}getTrainSpeed(){return this.id===-1?0:ds(this.id)}getHydraReactorAngle(){return this.id===-1?0:os(this.id)}getLandingGearState(){return this.id===-1?0:ls(this.id)}getSirenState(){return this.id===-1?0:ss(this.id)}static getModelsUsed=rs;getDriver(t){if(this.id!==-1)return t.get(is(this.id))}getLastDriver(t){if(this.id!==-1)return t.get(ns(this.id))}static getModelCount=as;isSirenEnabled(){return ts(this.id)}toggleSirenEnabled(t){return this.id===-1?0:qr(this.id,t)}setParamsSirenState(t){return this.id===-1?0:es(this.id,t)}isDead(){return this.id===-1?!0:Jr(this.id)}setDead(t){return this.id===-1?!1:$r(this.id,t)}setBeenOccupied(t){return this.id===-1?!1:Qr(this.id,t)}getRespawnTick(){return this.id===-1?0:Yr(this.id)}setRespawnTick(t){return this.id===-1?!1:zr(this.id,t)}isOccupied(){return this.id===-1?!1:Xr(this.id)}hasBeenOccupied(){return this.id===-1?!1:jr(this.id)}getOccupiedTick(){return this.id===-1?0:Kr(this.id)}setOccupiedTick(t){return this.id===-1?0:Zr(this.id,t)}getCab(){return this.id===-1?0:Ur(this.id)}getRespawnDelay(){return this.id===-1?0:Wr(this.id)}setRespawnDelay(t){return this.id===-1?0:Vr(this.id,t)}getNumberPlate(){return this.id===-1?"":Hr(this.id)}getInterior(){return this.id===-1?0:xr(this.id)}getPaintjob(){return this.id===-1?-1:Mr(this.id)}getColors(){if(this.id!==-1)return kr(this.id)}setSpawnInfo(t,a,n,i,r,s,o,d=-2,_=-2,p=!1){return this.id===-1||!p&&(t<400||t>611)?0:Fr(this.id,t,a,n,i,r,I(s),I(o),d,_)}getSpawnInfo(){if(this.id!==-1)return Gr(this.id)}getRandomColorPair(){if(this.id!==-1)return Se(this.getModel())}static getRandomColorPair(t){return Se(t)}static getInstance(t){return this.vehicles.get(t)}static getInstances(){return[...this.vehicles.values()]}}const[Qe]=m({name:"OnGameModeInit"}),[qe]=m({name:"OnGameModeExit"}),[Rc]=m({name:"OnIncomingConnection",beforeEach(e,t,a){return{playerId:e,ipAddress:t,port:a}}}),[bc]=m({name:"OnRconCommandI18n",identifier:"ai",beforeEach(e){return{buffer:e,cmd:f.decodeFromBuf(e)}}}),[Lc]=m({name:"OnRconLoginAttemptI18n",identifier:"aiaii",beforeEach(e,t,a){return{ip:f.decodeFromBuf(e),password:f.decodeFromBuf(t),success:Boolean(a),ipBuffer:e,passwordBuffer:t}}}),W=[],J=[],ce=e=>{setTimeout(async()=>{try{const t=W.findIndex(n=>n.name===e);if(t===-1)return;const a=W[t];await a.load(),W.splice(t,1),J.push(a)}catch(t){l.error(`[GameMode]: script ${e} load fail`),l.warn(new Error(JSON.stringify(t)))}})},_e=e=>{setTimeout(async()=>{try{const t=J.findIndex(n=>n.name===e);if(t===-1)return;const a=J[t];await a.unload(),J.splice(t,1),W.push(a)}catch(t){l.error(`[GameMode]: script ${e} unload fail`),l.warn(new Error(JSON.stringify(t)))}})},vc=e=>{_e(e),ce(e)};Qe(({next:e})=>(W.forEach(t=>ce(t.name)),e())),qe(({next:e})=>(J.forEach(t=>_e(t.name)),e()));const Bc=function(e,...t){if(W.some(a=>a===e)||J.some(a=>a===e)){l.warn("[GameMode]: script has already been applied");return}e.load=e.load.bind(e,...t),W.push(e)};var wc={use(e,...t){return Bc(e,...t),this},loadUseScript:ce,reloadUseScript:vc,unloadUseScript:_e,supportAllNickname(){for(let e=0;e<=255;e++)this.isNickNameCharacterAllowed(e)||this.allowNickNameCharacter(e,!0)},setWeather(e){return e<0||e>255?(l.error("[GameMode]: The valid weather value is only 0 to 255"),0):Kt(e)},setWorldTime(e){return e<0||e>23?(l.error("[GameMode]: The valid hour value is only 0 to 23"),0):Vt(e)},getWorldTime:Wt,setTeamCount:_a,sendRconCommand:Ba,addPlayerClass:ha,addPlayerClassEx:ma,createExplosion(e,t,a,n,i){return n<0||n>13?(l.error("[GameMode]: The valid explosion type value is only 0 to 13"),0):Xt(e,t,a,n,i)},manualVehicleEngineAndLights:fs,blockIpAddress:La,unBlockIpAddress:va,getServerTickRate:aa,addSimpleModel(e,t,a,n,i){return this.checkSimpleModel(e,t,a,n,i)?bd(e,t,a,n,i):0},addSimpleModelTimed(e,t,a,n,i,r,s){return this.checkSimpleModel(e,t,a,n,i,r,s)?Ld(e,t,a,n,i,r,s):0},checkSimpleModel(e,t,a,n,i,r,s){return e<-1?(l.error("[GameMode]: AddSimpleModel - Error virtual world"),0):t<0?(l.error("[GameMode]: AddSimpleModel - Error baseid"),0):a>-1e3||a<-3e4?(l.error("[GameMode]: AddSimpleModel - Error newid range"),0):n.trim().length<0?(l.error("[GameMode]: AddSimpleModel - Empty dffname"),0):i.trim().length<0?(l.error("[GameMode]: AddSimpleModel - Empty txdName"),0):r!==void 0&&(r<0||r>23)?(l.error("[GameMode]: AddSimpleModel - Error time on range"),0):s!==void 0&&(s<0||s>23)?(l.error("[GameMode]: AddSimpleModel - Error time off range"),0):1},getConsoleVarAsString(e,t="utf8"){const a=Ct(e);return f.decodeFromBuf(f.getValidStr(a),t)},getRestartTime:Bt,setRestartTime:vt,allowAdminTeleport:It,isAdminTeleportAllowed:Pt,allowInteriorWeapons:ft,areInteriorWeaponsAllowed:At,areAllAnimationsEnabled:Et,enableAllAnimations:Tt,enableStuntBonusForAll:ia,enableVehicleFriendlyFire:Ut,enableZoneNames:Yt,disableInteriorEnterExits:Jt,setGameModeText:Mt,getGravity:Zt,setGravity:jt,showNameTags:xt,disableNameTagLOS:Qt,usePlayerPedAnims:zt,showPlayerMarkers:Ht,limitPlayerMarkerRadius:ea,limitGlobalChatRadius:qt,setNameTagDrawDistance:$t,findModelFileNameFromCRC:Bd,findTextureFileNameFromCRC:wd,getWeaponName:oa,setObjectsDefaultCameraCollision:Rd,vectorSize:kt,clearBanList:Ga,isBanned:Fa,isValidNickName:ht,allowNickNameCharacter:mt,isNickNameCharacterAllowed:ut,addServerRule:pt,setServerRule:St,isValidServerRule:gt,removeServerRule:yt,getWeaponSlot:la,getAvailableClasses:me,getPlayerClass:da,editPlayerClass:ca,toggleChatTextReplacement:ra,chatTextReplacementToggled:sa,getConsoleVarAsInt:Dt,getConsoleVarAsBool:Nt,getWeather:Rt,getServerRuleFlag:bt,setServerRuleFlags:Lt};const b={onInit:Qe,onExit:qe,onIncomingConnection:Rc,onRconCommand:bc,onRconLoginAttempt:Lc,...wc};b.onExit(({next:e})=>(A.getInstances().forEach(t=>t.destroy()),e()));const[Oc]=m({name:"OnVehicleDamageStatusUpdate",beforeEach(e,t){return{vehicle:A.getInstance(e),player:u.getInstance(t)}}}),[Gc]=m({name:"OnVehicleDeath",beforeEach(e,t){return{vehicle:A.getInstance(e),killer:u.getInstance(t)}}}),[Fc]=m({name:"OnVehicleMod",beforeEach(e,t,a){return{player:u.getInstance(e),vehicle:A.getInstance(t),componentId:a}}}),[kc]=m({name:"OnVehiclePaintjob",beforeEach(e,t,a){return{player:u.getInstance(e),vehicle:A.getInstance(t),paintjobId:a}}}),[Mc]=m({name:"OnVehicleRespray",beforeEach(e,t,a,n){return{player:u.getInstance(e),vehicle:A.getInstance(t),color:[a,n]}}}),[xc]=m({name:"OnVehicleSirenStateChange",beforeEach(e,t,a){return{player:u.getInstance(e),vehicle:A.getInstance(t),state:!!a}}}),[Hc]=m({name:"OnVehicleSpawn",beforeEach(e){return{vehicle:A.getInstance(e)}}}),[Vc]=m({name:"OnVehicleStreamIn",beforeEach(e,t){return{vehicle:A.getInstance(e),forPlayer:u.getInstance(t)}}}),[Wc]=m({name:"OnVehicleStreamOut",beforeEach(e,t){return{vehicle:A.getInstance(e),forPlayer:u.getInstance(t)}}}),[Uc]=m({name:"OnPlayerEnterVehicle",beforeEach(e,t,a){return{player:u.getInstance(e),vehicle:A.getInstance(t),isPassenger:!!a}}}),[Kc]=m({name:"OnPlayerExitVehicle",beforeEach(e,t){return{player:u.getInstance(e),vehicle:A.getInstance(t)}}}),[Zc]=m({name:"OnNpcEnterVehicle",beforeEach(e,t){return{vehicle:A.getInstance(e),seatId:t}}}),[jc]=m({name:"OnNpcExitVehicle"}),[Xc]=m({name:"OnTrailerUpdate",beforeEach(e,t){return{player:u.getInstance(e),vehicle:A.getInstance(t)}}}),Yc=Object.freeze({onDamageStatusUpdate:Oc,onDeath:Gc,onMod:Fc,onPaintjob:kc,onRespray:Mc,onSirenStateChange:xc,onSpawn:Hc,onStreamIn:Vc,onStreamOut:Wc,onPlayerEnter:Uc,onPlayerExit:Kc,onNpcEnter:Zc,onNpcExit:jc,onTrailerUpdate:Xc});class zc{constructor(){}static getNetworkStats(){return ba()}static getPlayerNetworkStats(t){return Ra(t.id)}static getBytesReceived(t){return ya(t.id)}static getBytesSent(t){return Pa(t.id)}static getConnectionStatus(t){return Ea(t.id)}static getConnectedTime(t){return Sa(t.id)}static getIpPort(t){return Ta(t.id)}static getMessagesReceived(t){return ga(t.id)}static getMessagesRecvPerSecond(t){return fa(t.id)}static getMessagesSent(t){return Ia(t.id)}static getPacketLossPercent(t){return Aa(t.id)}}class Jc{_text;_time;_style;get text(){return this._text}set text(t){this._text=t}get time(){return this._time}set time(t){this._time=t}get style(){return this._style}set style(t){this._style=t}constructor(t,a,n){this._text=t,this._time=a,this._style=n}static hideForAll(t){Ot(t)}static has(t,a){return Dn(t.id,a)}forAll(){wt(this.text,this.time,this.style)}forPlayer(t){Cn(t.id,this.text,this.time,this.style)}hideForPlayer(t){return Rn(t.id,this.style)}}class j{static menus=new Map;_itemCount=0;get itemCount(){return this._itemCount}_id=-1;get id(){return this._id}_title;get title(){return this._title}set title(t){this._title=t}_columns=1;get columns(){return this._columns}set columns(t){if(t!==1&&t!==2){l.error("[Menu]: The menu column number interval is between 1 and 2");return}this._columns=t}_x;get x(){return this._x}set x(t){this._x=t}_y;get y(){return this._y}set y(t){this._y=t}_col1width;get col1width(){return this._col1width}set col1width(t){this._col1width=t}_col2width;get col2width(){return this._col2width}set col2width(t){this._col2width=t}constructor(t,a,n,i,r,s){this._title=t,this.columns=a,this._x=n,this._y=i,this._col1width=r,this._col2width=s}create(){return this._id!==-1?l.error("[Menu]: Cannot be created twice"):j.getInstances().length===B.MAX_MENUS?l.error("[Menu]: The maximum number of menus allowed to be created has been reached 128"):(this._id=dl(this.title,this.columns,this.x,this.y,this.col1width,this.col2width),j.menus.set(this._id,this),this)}destroy(){return this._id===-1?l.error("[Menu]: Cannot destroy before create"):(cl(this.id),j.menus.delete(this._id),this._id=-1,this)}addItem(t,a){return this._id===-1?l.error("[Menu]: Cannot addItem before create"):this._itemCount===B.MAX_MENU_ROW?l.error("[Menu]: The maximum number of items allowed to be added has been reached 12"):t!==0&&t!==1?l.error("[Menu]: Wrong number of columns"):(_l(this.id,t,a),this._itemCount++,this)}setColumnHeader(t,a){return this._id===-1?l.error("[Menu]: Cannot setColumnHeader before create"):t!==0&&t!==1?l.error("[Menu]: Wrong number of columns"):(hl(this.id,t,a),this)}disable(){return this._id===-1?l.error("[Menu]: Cannot disable menu before create"):(Sl(this.id),this)}disableRow(t){if(this._id===-1)return l.error("[Menu]: Cannot disable row before create");if(t<0||t>this.itemCount-1)return l.error("[Menu]: Wrong number of rows");gl(this.id,t)}isValid(){return pl(this.id)}showForPlayer(t){return this._id===-1?l.error("[Menu]: Cannot show menu before create"):ml(this.id,t.id)}hideForPlayer(t){return this._id===-1?l.error("[Menu]: Cannot hide menu before create"):ul(this.id,t.id)}isDisabled(){return this._id===-1?!1:al(this.id)}isRowDisabled(t){return this._id===-1||t<0||t>this._itemCount?!1:nl(this.id,t)}getItems(t){return this._id===-1?0:il(this.id,t)}getPos(){return this._id===-1?{fX:this.x,fY:this.y}:rl(this.id)}getColumnWidth(){return this.id===-1?{fColumn1:this.col1width,fColumn2:this.col2width}:sl(this.id)}getColumnHeader(t){return this._id===-1?l.error("[Menu]: Cannot get column header before create"):ll(this.id,t)}getItem(t,a){if(this._id===-1)return l.error("[Menu]: Cannot get item before create");if(!(a<0||a>this.getItems(t)-1))return ol(this.id,t,a)}static getInstance(t){return this.menus.get(t)}static getInstances(){return[...this.menus.values()]}static getInstanceByPlayer(t){return this.getInstances().find(a=>a.id===yl(t.id))}}b.onExit(({next:e})=>(j.getInstances().forEach(t=>t.destroy()),e()));const[$c]=m({name:"OnPlayerExitedMenu",beforeEach(e){return{player:u.getInstance(e)}}}),[Qc]=m({name:"OnPlayerSelectedMenuRow",beforeEach(e,t){const a=u.getInstance(e),n=j.getInstanceByPlayer(a);return{player:a,menu:n,row:t}}}),qc=Object.freeze({onPlayerExited:$c,onPlayerSelectedRow:Qc});class N{static globalGangZones=new Map;static playerGangZones=new Map;sourceInfo;constructor(t){this.sourceInfo=t}_id=-1;get id(){return this._id}create(){if(this.id!==-1)return l.warn("[GangZone]: Unable to create the gangzone again");const{player:t}=this.sourceInfo;if(t){if(N.getInstances(!1).length===B.MAX_GANG_ZONES)return l.warn("[GangZone]: Unable to continue to create gangzone, maximum allowable quantity has been reached");const{minX:a,minY:n,maxX:i,maxY:r}=this.sourceInfo;this._id=kl(t.id,a,n,i,r);const s=de.onDisconnect(({player:o,next:d})=>{d(),o===this.sourceInfo.player&&(this.destroy(),s())});N.playerGangZones.set(this.id,this)}else{if(N.getInstances(!0).length===B.MAX_GANG_ZONES)return l.warn("[GangZone]: Unable to continue to create gangzone, maximum allowable quantity has been reached");const{minX:a,minY:n,maxX:i,maxY:r}=this.sourceInfo;this._id=Nl(a,n,i,r),N.globalGangZones.set(this.id,this)}}destroy(){if(this.id===-1)return l.warn("[GangZone]: Unable to destroy the gangzone before create");const{player:t}=this.sourceInfo;t?(Ml(t.id,this.id),N.playerGangZones.delete(this.id)):(Rl(this.id),N.globalGangZones.delete(this.id)),this._id=-1}showForAll(t){return this.id===-1?l.warn("[GangZone]: Unable to show the gangzone before create"):this.sourceInfo.player?l.warn("[GangZone]: player's gangzone should not be show for all."):(Ll(this.id,t),this)}showForPlayer(t,a){if(this.id===-1)return l.warn("[GangZone]: Unable to show the gangzone before create");const n=this.sourceInfo.player;if(n)xl(n.id,this.id,I(t));else if(a)bl(a.id,this.id,t);else return l.warn("[GangZone]: invalid player for show");return this}hideForAll(){return this.id===-1?l.warn("[GangZone]: Unable to hide the gangzone before create"):this.sourceInfo.player?l.warn("[GangZone]: player's gangzone should not be hide for all."):(Bl(this.id),this)}hideForPlayer(t){if(this.id===-1)return l.warn("[GangZone]: Unable to hide the gangzone before create");const a=this.sourceInfo.player;if(a)Hl(a.id,this.id);else if(t)vl(t.id,this.id);else return l.warn("[GangZone]: invalid player for hide");return this}flashForAll(t){return this.id===-1?l.warn("[GangZone]: Unable to flash the gangzone before create"):this.sourceInfo.player?l.warn("[GangZone]: player's gangzone should not be flash for all."):(Ol(this.id,t),this)}flashForPlayer(t,a){if(this.id===-1)return l.warn("[GangZone]: Unable to flash the gangzone before create");const n=this.sourceInfo.player;if(n)Vl(n.id,this.id,I(a));else if(t)wl(t.id,this.id,a);else return l.warn("[GangZone]: invalid player for flash");return this}stopFlashForAll(){return this.id===-1?l.warn("[GangZone]: Unable to stop flash the gangzone before create"):this.sourceInfo.player?l.warn("[GangZone]: player's gangzone should not be stop flash for all."):(Fl(this.id),this)}stopFlashForPlayer(t){if(this.id===-1)return l.warn("[GangZone]: Unable to stop flash the gangzone before create");const a=this.sourceInfo.player;if(a)Wl(a.id,this.id);else if(t)Gl(t.id,this.id);else return l.warn("[GangZone]: invalid player for flash");return this}isValid(){if(this.id===-1)return!1;const t=this.sourceInfo.player;return t?Ul(t.id,this.id):Il(this.id)}isPlayerIn(t){if(this.id===-1)return!1;const a=this.sourceInfo.player;return a?Kl(a.id,this.id):Pl(t.id,this.id)}isVisibleForPlayer(t){if(this.id===-1)return!1;const a=this.sourceInfo.player;return a?Zl(a.id,this.id):fl(t.id,this.id)}getColorForPlayer(t){if(this.id===-1)return l.warn("[GangZone]: Unable to get color before create");const a=this.sourceInfo.player;return a?jl(a.id,this.id):Al(t.id,this.id)}getFlashColorForPlayer(t){if(this.id===-1)return l.warn("[GangZone]: Unable to get flash color before create");const a=this.sourceInfo.player;return a?Xl(a.id,this.id):El(t.id,this.id)}isFlashingForPlayer(t){if(this.id===-1)return!1;const a=this.sourceInfo.player;return a?Yl(a.id,this.id):Tl(t.id,this.id)}getPos(){if(this.id===-1)return l.warn("[GangZone]: Unable to get position before create");const t=this.sourceInfo.player;return t?zl(t.id,this.id):Cl(this.id)}useCheck(t){if(this.id===-1)return l.warn("[GangZone]: Unable to use check before create");const a=this.sourceInfo.player;return a?Jl(a.id,this.id,t):Dl(this.id,t),this}static getInstance(t,a){return a?this.globalGangZones.get(t):this.playerGangZones.get(t)}static getInstances(t){return t?[...this.globalGangZones.values()]:[...this.playerGangZones.values()]}}b.onExit(({next:e})=>(N.getInstances(!0).forEach(t=>t.destroy()),N.getInstances(!1).forEach(t=>t.destroy()),e()));const[e_]=m({name:"OnPlayerEnterGangZone",beforeEach(e,t){return{player:u.getInstance(e),gangZone:N.getInstance(t,!0)}}}),[t_]=m({name:"OnPlayerLeaveGangZone",beforeEach(e,t){return{player:u.getInstance(e),gangZone:N.getInstance(t,!0)}}}),[a_]=m({name:"OnPlayerEnterPlayerGangZone",beforeEach(e,t){return{player:u.getInstance(e),gangZone:N.getInstance(t,!1)}}}),[n_]=m({name:"OnPlayerLeavePlayerGangZone",beforeEach(e,t){return{player:u.getInstance(e),gangZone:N.getInstance(t,!1)}}}),[i_]=m({name:"OnPlayerClickGangZone",beforeEach(e,t){return{player:u.getInstance(e),gangZone:N.getInstance(t,!0)}}}),[r_]=m({name:"OnPlayerClickPlayerGangZone",beforeEach(e,t){return{player:u.getInstance(e),gangZone:N.getInstance(t,!1)}}}),s_=Object.freeze({onPlayerEnterGlobal:e_,onPlayerLeaveGlobal:t_,onPlayerEnterPlayer:a_,onPlayerLeavePlayer:n_,onPlayerClickGlobal:i_,onPlayerClickPlayer:r_}),[U]=m({name:"Streamer_OnItemStreamIn",identifier:"iii",beforeEach(e,t,a){return{type:e,id:t,forPlayer:u.getInstance(a)}}}),[K]=m({name:"Streamer_OnItemStreamOut",identifier:"iii",beforeEach(e,t,a){return{type:e,id:t,forPlayer:u.getInstance(a)}}}),[l_]=m({name:"Streamer_OnPluginError",identifier:"s",beforeEach(e){return{error:e}}});class C{constructor(){}static getTickRate=c.Streamer_GetTickRate;static setTickRate=c.Streamer_SetTickRate;static getPlayerTickRate(t){return c.Streamer_GetPlayerTickRate(t.id)}static setPlayerTickRate(t,a=50){return c.Streamer_SetPlayerTickRate(t.id,a)}static toggleChunkStream=c.Streamer_ToggleChunkStream;static isToggleChunkStream=c.Streamer_IsToggleChunkStream;static getChunkTickRate(t,a=-1){return a instanceof u?c.Streamer_GetChunkTickRate(t,a.id):c.Streamer_GetChunkTickRate(t,a)}static setChunkTickRate(t,a,n=-1){return n instanceof u?c.Streamer_SetChunkTickRate(t,a,n.id):c.Streamer_SetChunkTickRate(t,a,n)}static getChunkSize=c.Streamer_GetChunkSize;static setChunkSize=c.Streamer_SetChunkSize;static getMaxItems=c.Streamer_GetMaxItems;static setMaxItems=c.Streamer_SetMaxItems;static getVisibleItems(t,a=-1){return a instanceof u?c.Streamer_GetVisibleItems(t,a.id):c.Streamer_GetVisibleItems(t,a)}static setVisibleItems(t,a,n=-1){return n instanceof u?c.Streamer_SetVisibleItems(t,a,n.id):c.Streamer_SetVisibleItems(t,a,n)}static getRadiusMultiplier(t,a=-1){return a instanceof u?c.Streamer_GetRadiusMultiplier(t,a.id):c.Streamer_GetRadiusMultiplier(t,a)}static setRadiusMultiplier(t,a,n=-1){return n instanceof u?c.Streamer_SetRadiusMultiplier(t,n.id):c.Streamer_SetRadiusMultiplier(t,a,n)}static getTypePriority=c.Streamer_GetTypePriority;static setTypePriority=c.Streamer_SetTypePriority;static getCellDistance=c.Streamer_GetCellDistance;static setCellDistance=c.Streamer_SetCellDistance;static getCellSize=c.Streamer_GetCellSize;static setCellSize=c.Streamer_SetCellSize;static toggleItemStatic=c.Streamer_ToggleItemStatic;static isToggleItemStatic=c.Streamer_IsToggleItemStatic;static toggleItemInvAreas=c.Streamer_ToggleItemInvAreas;static isToggleItemInvAreas=c.Streamer_IsToggleItemInvAreas;static toggleItemCallbacks=c.Streamer_ToggleItemCallbacks;static isToggleItemCallbacks=c.Streamer_IsToggleItemCallbacks;static toggleErrorCallback=c.Streamer_ToggleErrorCallback;static isToggleErrorCallback=c.Streamer_IsToggleErrorCallback;static amxUnloadDestroyItems=c.Streamer_AmxUnloadDestroyItems;static processActiveItems=c.Streamer_ProcessActiveItems;static toggleIdleUpdate(t,a){return c.Streamer_ToggleIdleUpdate(t.id,a)}static isToggleIdleUpdate(t){return c.Streamer_IsToggleIdleUpdate(t.id)}static toggleCameraUpdate(t,a){return c.Streamer_ToggleCameraUpdate(t.id,a)}static isToggleCameraUpdate(t){return c.Streamer_IsToggleCameraUpdate(t.id)}static toggleItemUpdate(t,a,n){return c.Streamer_ToggleItemUpdate(t.id,a,n)}static isToggleItemUpdate(t,a){return c.Streamer_IsToggleItemUpdate(t.id,a)}static getLastUpdateTime(){return c.Streamer_GetLastUpdateTime()}static update(t,a=-1){return c.Streamer_Update(t.id,a)}static updateEx(t,a,n,i,r,s,o,d,_){return c.Streamer_UpdateEx(t.id,a,n,i,r,s,o,d,_)}static getDistanceToItem=c.Streamer_GetDistanceToItem;static toggleItem(t,a,n,i){return c.Streamer_ToggleItem(t.id,a,n,i)}static isToggleItem(t,a,n){return c.Streamer_IsToggleItem(t.id,a,n)}static toggleAllItems(t,a,n,i=[-1]){return c.Streamer_ToggleAllItems(t.id,a,n,i)}static getItemInternalID(t,a,n){return c.Streamer_GetItemInternalID(t.id,a,n)}static getItemStreamerID(t,a,n){return c.Streamer_GetItemStreamerID(t.id,a,n)}static isItemVisible(t,a,n){return c.Streamer_IsItemVisible(t.id,a,n)}static destroyAllVisibleItems(t,a,n=1){return c.Streamer_DestroyAllVisibleItems(t.id,a,n)}static countVisibleItems(t,a,n=1){return c.Streamer_CountVisibleItems(t.id,a,n)}static destroyAllItems=c.Streamer_DestroyAllItems;static countItems=c.Streamer_CountItems;static getNearbyItems=c.Streamer_GetNearbyItems;static getAllVisibleItems(t,a,n){c.Streamer_GetAllVisibleItems(t.id,a,n)}static getItemPos=c.Streamer_GetItemPos;static setItemPos=c.Streamer_SetItemPos;static getItemOffset=c.Streamer_GetItemOffset;static setItemOffset=c.Streamer_SetItemOffset;static getFloatData=c.Streamer_GetFloatData;static setFloatData=c.Streamer_SetFloatData;static getIntData=c.Streamer_GetIntData;static setIntData=c.Streamer_SetIntData;static getArrayData=c.Streamer_GetArrayData;static setArrayData=c.Streamer_SetArrayData;static isInArrayData=c.Streamer_IsInArrayData;static appendArrayData=c.Streamer_AppendArrayData;static removeArrayData=c.Streamer_RemoveArrayData;static getArrayDataLength=c.Streamer_GetArrayDataLength;static getUpperBound=c.Streamer_GetUpperBound;static onPluginError=l_}class V{static mapIcons=new Map;sourceInfo;_id=-1;get id(){return this._id}constructor(t){this.sourceInfo=t}create(){if(this.id!==-1)return l.warn("[StreamerMapIcon]: Unable to create map icon again");let{style:t,streamDistance:a,worldId:n,interiorId:i,playerId:r,areaId:s,priority:o}=this.sourceInfo;const{x:d,y:_,z:p,type:S,color:g,extended:P}=this.sourceInfo;return S<0||S>63?l.error("[StreamerMapIcon]: Invalid map icon type"):(t??=c.MapIconStyles.LOCAL,a??=c.StreamerDistances.MAP_ICON_SD,o??=0,P?(typeof n=="number"?n=[-1]:n??=[-1],typeof i=="number"?i=[-1]:i??=[-1],typeof r=="number"?r=[-1]:r??=[-1],typeof s=="number"?s=[-1]:s??=[-1],this._id=c.CreateDynamicMapIconEx(d,_,p,S,I(g),t,a,n,i,r,s,o),V.mapIcons.set(this._id,this),this):(Array.isArray(n)?n=-1:n??=-1,Array.isArray(i)?i=-1:i??=-1,Array.isArray(r)?r=-1:r??=-1,Array.isArray(s)?s=-1:s??=-1,this._id=c.CreateDynamicMapIcon(d,_,p,S,I(g),n,i,r,a,t,s,o),V.mapIcons.set(this._id,this),this))}destroy(){return this.id===-1?l.warn("[StreamerMapIcon]: Unable to destroy the map icon before create"):(c.DestroyDynamicMapIcon(this.id),V.mapIcons.delete(this._id),this._id=-1,this)}isValid(){return c.IsValidDynamicMapIcon(this.id)}toggleCallbacks(t=!0){return this.id===-1?l.warn("[StreamerMapIcon]: Unable to toggle callbacks before create"):C.toggleItemCallbacks(c.StreamerItemTypes.MAP_ICON,this.id,t)}isToggleCallbacks(){return this.id,C.isToggleItemCallbacks(c.StreamerItemTypes.MAP_ICON,this.id)}static getInstance(t){return this.mapIcons.get(t)}static getInstances(){return[...this.mapIcons.values()]}}b.onExit(({next:e})=>(V.getInstances().forEach(t=>t.destroy()),e()));const[o_,d_]=m({name:"OnDynamicMapIconStreamIn",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}}),[c_,__]=m({name:"OnDynamicMapIconStreamOut",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}});U(({type:e,id:t,forPlayer:a,next:n})=>e===c.StreamerItemTypes.MAP_ICON?d_(a,V.getInstance(t)):n()),K(({type:e,id:t,forPlayer:a,next:n})=>e===c.StreamerItemTypes.MAP_ICON?__(a,V.getInstance(t)):n());const h_=Object.freeze({onStreamIn:o_,onStreamOut:c_});class H{static pickups=new Map;sourceInfo;_id=-1;get id(){return this._id}constructor(t){this.sourceInfo=t}create(){if(this.id!==-1)return l.warn("[StreamerPickup]: Unable to create pickup again");let{streamDistance:t,worldId:a,interiorId:n,playerId:i,areaId:r,priority:s}=this.sourceInfo;const{type:o,modelId:d,x:_,y:p,z:S,extended:g}=this.sourceInfo;return o<0||o>22?l.error("[StreamerPickup]: Invalid pickup type"):(t??=h.StreamerDistances.PICKUP_SD,s??=0,g?(typeof a=="number"?a=[-1]:a??=[-1],typeof n=="number"?n=[-1]:n??=[-1],typeof i=="number"?i=[-1]:i??=[-1],typeof r=="number"?r=[-1]:r??=[-1],this._id=h.CreateDynamicPickupEx(d,o,_,p,S,t,a,n,i,r,s)):(Array.isArray(a)?a=-1:a??=-1,Array.isArray(n)?n=-1:n??=-1,Array.isArray(i)?i=-1:i??=-1,Array.isArray(r)?r=-1:r??=-1,this._id=h.CreateDynamicPickup(d,o,_,p,S,a,n,i,t,r,s)),H.pickups.set(this._id,this),this)}destroy(){return this.id===-1?l.warn("[StreamerPickup]: Unable to destroy the pickup before create"):(h.DestroyDynamicPickup(this.id),H.pickups.delete(this.id),this._id=-1,this)}isValid(){return h.IsValidDynamicPickup(this.id)}toggleCallbacks(t=!0){return this.id===-1?l.warn("[StreamerPickup]: Unable to toggle callbacks before create"):C.toggleItemCallbacks(h.StreamerItemTypes.PICKUP,this.id,t)}isToggleCallbacks(){return this.id,C.isToggleItemCallbacks(h.StreamerItemTypes.PICKUP,this.id)}static getInstance(t){return this.pickups.get(t)}static getInstances(){return[...this.pickups.values()]}}b.onExit(({next:e})=>(H.getInstances().forEach(t=>t.destroy()),e()));const[m_,u_]=m({name:"OnDynamicPickupStreamIn",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}}),[p_,S_]=m({name:"OnDynamicPickupStreamOut",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}});U(({type:e,id:t,forPlayer:a,next:n})=>e===c.StreamerItemTypes.PICKUP?u_(a,H.getInstance(t)):n()),K(({type:e,id:t,forPlayer:a,next:n})=>e===c.StreamerItemTypes.PICKUP?S_(a,H.getInstance(t)):n());const[g_]=m({name:"OnPlayerPickUpDynamicPickup",identifier:"ii",beforeEach(e,t){return{player:u.getInstance(e),pickup:H.getInstance(t)}}}),y_=Object.freeze({onPlayerPickUp:g_,onStreamIn:m_,onStreamOut:p_});class G{static checkpoints=new Map;sourceInfo;_id=-1;get id(){return this._id}constructor(t){this.sourceInfo=t}create(){if(this.id!==-1)return l.warn("[StreamerCheckpoint]: Unable to create checkpoint again");let{streamDistance:t,worldId:a,interiorId:n,playerId:i,areaId:r,priority:s}=this.sourceInfo;const{size:o,x:d,y:_,z:p,extended:S}=this.sourceInfo;return o<0?l.error("[StreamerCheckpoint]: Invalid checkpoint size"):(t??=c.StreamerDistances.CP_SD,s??=0,S?(typeof a=="number"?a=[-1]:a??=[-1],typeof n=="number"?n=[-1]:n??=[-1],typeof i=="number"?i=[-1]:i??=[-1],typeof r=="number"?r=[-1]:r??=[-1],this._id=c.CreateDynamicCPEx(d,_,p,o,t,a,n,i,r,s)):(Array.isArray(a)?a=-1:a??=-1,Array.isArray(n)?n=-1:n??=-1,Array.isArray(i)?i=-1:i??=-1,Array.isArray(r)?r=-1:r??=-1,this._id=c.CreateDynamicCP(d,_,p,o,a,n,i,t,r,s)),G.checkpoints.set(this._id,this),this)}destroy(){return this.id===-1?l.warn("[StreamerCheckpoint]: Unable to destroy the checkpoint before create"):(c.DestroyDynamicCP(this.id),G.checkpoints.delete(this.id),this._id=-1,this)}isValid(){return c.IsValidDynamicCP(this.id)}togglePlayer(t,a){return this.id===-1?l.warn("[StreamerCheckpoint]: Unable to toggle the player before create"):(c.TogglePlayerDynamicCP(t.id,this.id,a),this)}static togglePlayerAll(t,a){return c.TogglePlayerAllDynamicCPs(t.id,a)}isPlayerIn(t){return this.id===-1?!1:c.IsPlayerInDynamicCP(t.id,this.id)}static getPlayerVisible(t){return G.checkpoints.get(c.GetPlayerVisibleDynamicCP(t.id))}toggleCallbacks(t=!0){return this.id===-1?l.warn("[StreamerCheckpoint]: Unable to toggle callbacks before create"):C.toggleItemCallbacks(c.StreamerItemTypes.CP,this.id,t)}isToggleCallbacks(){return this.id,C.isToggleItemCallbacks(c.StreamerItemTypes.CP,this.id)}static getInstance(t){return this.checkpoints.get(t)}static getInstances(){return[...this.checkpoints.values()]}}b.onExit(({next:e})=>(G.checkpoints.forEach(t=>t.destroy()),e()));const[I_,P_]=m({name:"OnDynamicCheckPointStreamIn",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}}),[f_,A_]=m({name:"OnDynamicCheckPointStreamOut",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}});U(({type:e,id:t,forPlayer:a,next:n})=>e===c.StreamerItemTypes.CP?P_(a,G.getInstance(t)):n()),K(({type:e,id:t,forPlayer:a,next:n})=>e===c.StreamerItemTypes.CP?A_(a,G.getInstance(t)):n());const[E_]=m({name:"OnPlayerEnterDynamicCP",identifier:"ii",beforeEach(e,t){return{player:u.getInstance(e),pickup:G.getInstance(t)}}}),[T_]=m({name:"OnPlayerLeaveDynamicCP",identifier:"ii",beforeEach(e,t){return{player:u.getInstance(e),pickup:G.getInstance(t)}}}),C_=Object.freeze({onPlayerEnter:E_,onPlayerLeave:T_,onStreamIn:I_,onStreamOut:f_});class F{static checkpoints=new Map;sourceInfo;_id=-1;get id(){return this._id}constructor(t){this.sourceInfo=t}create(){if(this.id!==-1)return l.warn("[StreamerRaceCP]: Unable to create checkpoint again");let{streamDistance:t,worldId:a,interiorId:n,playerId:i,areaId:r,priority:s}=this.sourceInfo;const{type:o,size:d,x:_,y:p,z:S,nextX:g,nextY:P,nextZ:E,extended:L}=this.sourceInfo;return o<0||o>8?l.error("[StreamerRaceCP]: Invalid type"):d<0?l.error("[StreamerRaceCP]: Invalid size"):(t??=c.StreamerDistances.RACE_CP_SD,s??=0,L?(typeof a=="number"?a=[-1]:a??=[-1],typeof n=="number"?n=[-1]:n??=[-1],typeof i=="number"?i=[-1]:i??=[-1],typeof r=="number"?r=[-1]:r??=[-1],this._id=c.CreateDynamicRaceCPEx(o,_,p,S,g,P,E,d,t,a,n,i,r,s)):(Array.isArray(a)?a=-1:a??=-1,Array.isArray(n)?n=-1:n??=-1,Array.isArray(i)?i=-1:i??=-1,Array.isArray(r)?r=-1:r??=-1,this._id=c.CreateDynamicRaceCP(o,_,p,S,g,P,E,d,a,n,i,t,r,s)),F.checkpoints.set(this._id,this),this)}destroy(){return this.id===-1?l.warn("[StreamerRaceCP]: Unable to destroy the checkpoint before create"):(c.DestroyDynamicCP(this.id),F.checkpoints.delete(this.id),this._id=-1,this)}isValid(){return c.IsValidDynamicCP(this.id)}togglePlayer(t,a){return this.id===-1?l.warn("[StreamerRaceCP]: Unable to toggle the player before create"):(c.TogglePlayerDynamicRaceCP(t.id,this.id,a),this)}static togglePlayerAll(t,a){return c.TogglePlayerAllDynamicRaceCPs(t.id,a)}isPlayerIn(t){return this.id===-1?!1:c.IsPlayerInDynamicRaceCP(t.id,this.id)}static getPlayerVisible(t){return F.checkpoints.get(c.GetPlayerVisibleDynamicRaceCP(t.id))}toggleCallbacks(t=!0){return this.id===-1?l.warn("[StreamerRaceCP]: Unable to toggle callbacks before create"):C.toggleItemCallbacks(c.StreamerItemTypes.RACE_CP,this.id,t)}isToggleCallbacks(){return this.id,C.isToggleItemCallbacks(c.StreamerItemTypes.RACE_CP,this.id)}static getInstance(t){return this.checkpoints.get(t)}static getInstances(){return[...this.checkpoints.values()]}}b.onExit(({next:e})=>(F.getInstances().forEach(t=>t.destroy()),e()));const[D_,N_]=m({name:"OnDynamicRaceCPStreamIn",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}}),[R_,b_]=m({name:"OnDynamicRaceCPStreamOut",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}});U(({type:e,id:t,forPlayer:a,next:n})=>e===c.StreamerItemTypes.RACE_CP?N_(a,F.getInstance(t)):n()),K(({type:e,id:t,forPlayer:a,next:n})=>e===c.StreamerItemTypes.RACE_CP?b_(a,F.getInstance(t)):n());const[L_]=m({name:"OnPlayerEnterDynamicRaceCP",identifier:"ii",beforeEach(e,t){return{player:u.getInstance(e),pickup:F.getInstance(t)}}}),[v_]=m({name:"OnPlayerLeaveDynamicRaceCP",identifier:"ii",beforeEach(e,t){return{player:u.getInstance(e),pickup:F.getInstance(t)}}}),B_=Object.freeze({onPlayerEnter:L_,onPlayerLeave:v_,onStreamIn:D_,onStreamOut:R_});class k{static actors=new Map;sourceInfo;_id=-1;get id(){return this._id}constructor(t){this.sourceInfo=t}create(){if(this.id!==-1)return l.warn("[StreamerActor]: Unable to create actor again");let{streamDistance:t,worldId:a,interiorId:n,playerId:i,areaId:r,priority:s}=this.sourceInfo;const{modelId:o,x:d,y:_,z:p,r:S,invulnerable:g,health:P,extended:E}=this.sourceInfo;return t??=h.StreamerDistances.ACTOR_SD,s??=0,E?(typeof a=="number"?a=[0]:a??=[0],typeof n=="number"?n=[-1]:n??=[-1],typeof i=="number"?i=[-1]:i??=[-1],typeof r=="number"?r=[-1]:r??=[-1],this._id=h.CreateDynamicActorEx(o,d,_,p,S,g,P,t,a,n,i,r,s)):(Array.isArray(a)?a=0:a??=0,Array.isArray(n)?n=-1:n??=-1,Array.isArray(i)?i=-1:i??=-1,Array.isArray(r)?r=-1:r??=-1,this._id=h.CreateDynamicActor(o,d,_,p,S,g,P,a,n,i,t,r,s)),k.actors.set(this.id,this),this}destroy(){return this.id===-1?l.warn("[StreamerActor]: Unable to destroy the actor before create"):(h.DestroyDynamicActor(this.id),k.actors.delete(this.id),this._id=-1,this)}isValid(){return h.IsValidDynamicActor(this.id)}isStreamedIn(t){return this.id===-1?!1:h.IsDynamicActorStreamedIn(this.id,t.id)}getVirtualWorld(){return this.id===-1?l.warn("[StreamerActor]: Unable to get virtual world before create"):h.GetDynamicActorVirtualWorld(this.id)}setVirtualWorld(t){return this.id===-1?l.warn("[StreamerActor]: Unable to set virtual world before create"):h.SetDynamicActorVirtualWorld(this.id,t)}applyAnimation(t,a,n=!1,i=!0,r=!0,s=!1){if(this.id===-1)return l.warn("[StreamerActor]: Unable to apply animation before create");const o=We(t,a);return o===void 0?l.error("[StreamerActor]: Invalid anim library or name"):h.ApplyDynamicActorAnimation(this.id,t,a,4.1,n,i,r,s,n?0:o)}clearAnimations(){return this.id===-1?l.warn("[StreamerActor]: Unable to clear animation before create"):h.ClearDynamicActorAnimations(this.id)}getFacingAngle(){return this.id===-1?l.warn("[StreamerActor]: Unable to get facing angle before create"):h.GetDynamicActorFacingAngle(this.id)}setFacingAngle(t){return this.id===-1?l.warn("[StreamerActor]: Unable to set facing angle before create"):h.SetDynamicActorFacingAngle(this.id,t)}getPos(){return this.id===-1?l.warn("[StreamerActor]: Unable to get pos before create"):h.GetDynamicActorPos(this.id)}setPos(t,a,n){return this.id===-1?l.warn("[StreamerActor]: Unable to set pos before create"):h.SetDynamicActorPos(this.id,t,a,n)}getHealth(){return this.id===-1?l.warn("[StreamerActor]: Unable to get health before create"):h.GetDynamicActorHealth(this.id)}setHealth(t){return this.id===-1?l.warn("[StreamerActor]: Unable to set health before create"):h.SetDynamicActorHealth(this.id,t)}isInvulnerable(){return this.id===-1?!1:h.IsDynamicActorInvulnerable(this.id)}setInvulnerable(t=!0){return this.id===-1?l.warn("[StreamerActor]: Unable to set invulnerable before create"):h.SetDynamicActorInvulnerable(this.id,t)}getPlayerTarget(t){if(this.id===-1)return;const a=h.GetPlayerTargetDynamicActor(t.id);return k.actors.get(a)}getPlayerCameraTarget(t){if(this.id===-1)return;const a=h.GetPlayerCameraTargetDynActor(t.id);return k.actors.get(a)}getSkin(){return this.id===-1?l.warn("[StreamerActor]: Unable to get skin before create"):vr(this.id)}setSkin(t,a=!1){return this.id===-1?l.warn("[StreamerActor]: Unable to set skin before create"):!a&&(t<0||t>311||t==74)?0:Br(this.id,t)}getSpawnInfo(){return this.id===-1?l.warn("[StreamerActor]: Unable to get spawn info before create"):wr(this.id)}getAnimation(){return this.id===-1?l.warn("[StreamerActor]: Unable to get animation before create"):Or(this.id)}toggleCallbacks(t=!0){return this.id===-1?l.warn("[StreamerActor]: Unable to toggle callbacks before create"):C.toggleItemCallbacks(h.StreamerItemTypes.ACTOR,this.id,t)}isToggleCallbacks(){return this.id,C.isToggleItemCallbacks(h.StreamerItemTypes.ACTOR,this.id)}static getInstance(t){return this.actors.get(t)}static getInstances(){return[...this.actors.values()]}}b.onExit(({next:e})=>(k.getInstances().forEach(t=>t.destroy()),e()));const[w_]=m({name:"OnDynamicActorStreamIn",identifier:"ii",beforeEach(e,t){return{actor:k.getInstance(e),forPlayer:u.getInstance(t)}}}),[O_]=m({name:"OnDynamicActorStreamOut",identifier:"ii",beforeEach(e,t){return{actor:k.getInstance(e),forPlayer:u.getInstance(t)}}}),[G_]=m({name:"OnPlayerGiveDamageDynamicActor",identifier:"iiiii",beforeEach(e,t,a,n,i){return{player:u.getInstance(e),actor:k.getInstance(t),amount:a,weapon:n,bodyPart:i}}}),F_=Object.freeze({onStreamIn:w_,onStreamOut:O_,onPlayerGiveDamage:G_});class Z{static texts=new Map;sourceInfo;_id=-1;get id(){return this._id}constructor(t){this.sourceInfo=t}create(){if(this.id!==-1)return l.warn("[Streamer3DTextLabel]: Unable to create again");let{attachedPlayer:t,attachedVehicle:a,testLos:n,streamDistance:i,worldId:r,interiorId:s,playerId:o,areaId:d,priority:_}=this.sourceInfo;const{charset:p,text:S,color:g,drawDistance:P,x:E,y:L,z:M,extended:ee}=this.sourceInfo;return t??=T.PLAYER_ID,a??=T.VEHICLE_ID,i??=c.StreamerDistances.TEXT_3D_LABEL_SD,n??=!1,_??=0,ee?(typeof r=="number"?r=[-1]:r??=[-1],typeof s=="number"?s=[-1]:s??=[-1],typeof o=="number"?o=[-1]:o??=[-1],typeof d=="number"?d=[-1]:d??=[-1],this._id=Ud(S,I(g),E,L,M,P,t,a,n,i,r,s,o,d,_,p||"utf8")):(Array.isArray(r)?r=-1:r??=-1,Array.isArray(s)?s=-1:s??=-1,Array.isArray(o)?o=-1:o??=-1,Array.isArray(d)?d=-1:d??=-1,this._id=Wd(p||"utf8",S,I(g),E,L,M,P,t,a,n,r,s,o,i,d,_)),Z.texts.set(this.id,this),this}destroy(){return this.id===-1?l.warn("[Streamer3DTextLabel]: Unable to destroy before create"):(c.DestroyDynamic3DTextLabel(this.id),Z.texts.delete(this.id),this._id=-1,this)}isValid(){return c.IsValidDynamic3DTextLabel(this.id)}getColor(){return this.id===-1?l.warn("[Streamer3DTextLabel]: Unable to get color before create"):this.sourceInfo.color}getCharset(){return this.id===-1?l.warn("[Streamer3DTextLabel]: Unable to get charset before create"):this.sourceInfo.charset}getText(){return this.id===-1?l.warn("[Streamer3DTextLabel]: Unable to get text before create"):Zd(this.id,this.sourceInfo.charset||"utf8")}updateText(t,a,n=this.sourceInfo.charset){return this.id===-1?l.warn("[Streamer3DTextLabel]: Unable to update text before create"):(this.sourceInfo.charset=n,Kd(this.id,I(t),a,n||"utf8"))}toggleCallbacks(t=!0){return this.id===-1?l.warn("[Streamer3DTextLabel]: Unable to toggle callbacks before create"):C.toggleItemCallbacks(c.StreamerItemTypes.TEXT_3D_LABEL,this.id,t)}isToggleCallbacks(){return this.id,C.isToggleItemCallbacks(c.StreamerItemTypes.TEXT_3D_LABEL,this.id)}static getInstance(t){return this.texts.get(t)}static getInstances(){return[...this.texts.values()]}}b.onExit(({next:e})=>(Z.getInstances().forEach(t=>t.destroy()),e()));const[k_,M_]=m({name:"OnDynamic3dTextStreamIn",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}}),[x_,H_]=m({name:"OnDynamic3dTextStreamOut",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}});U(({type:e,id:t,forPlayer:a,next:n})=>e===c.StreamerItemTypes.TEXT_3D_LABEL?M_(a,Z.getInstance(t)):n()),K(({type:e,id:t,forPlayer:a,next:n})=>e===c.StreamerItemTypes.TEXT_3D_LABEL?H_(a,Z.getInstance(t)):n());const V_=Object.freeze({onStreamIn:k_,onStreamOut:x_});class v{static objects=new Map;sourceInfo;_id=-1;get id(){return this._id}constructor(t){this.sourceInfo=t}create(){if(this.id!==-1)return l.warn("[StreamerObject]: Unable to create object again");let{streamDistance:t,drawDistance:a,worldId:n,interiorId:i,playerId:r,areaId:s,priority:o}=this.sourceInfo;const{modelId:d,x:_,y:p,z:S,rx:g,ry:P,rz:E,extended:L}=this.sourceInfo;return t??=h.StreamerDistances.OBJECT_SD,a??=h.StreamerDistances.OBJECT_DD,o??=0,L?(typeof n=="number"?n=[-1]:n??=[-1],typeof i=="number"?i=[-1]:i??=[-1],typeof r=="number"?r=[-1]:r??=[-1],typeof s=="number"?s=[-1]:s??=[-1],this._id=h.CreateDynamicObjectEx(d,_,p,S,g,P,E,t,a,n,i,r,s,o)):(Array.isArray(n)?n=-1:n??=-1,Array.isArray(i)?i=-1:i??=-1,Array.isArray(r)?r=-1:r??=-1,Array.isArray(s)?s=-1:s??=-1,this._id=h.CreateDynamicObject(d,_,p,S,g,P,E,n,i,r,t,a,s,o)),v.objects.set(this._id,this),this}destroy(){return this.id===-1?l.warn("[StreamerObject]: Unable to destroy the object before create"):(h.DestroyDynamicObject(this.id),v.objects.delete(this.id),this._id=-1,this)}isValid(){return h.IsValidDynamicObject(this.id)}getModel(){return this.sourceInfo.modelId}getPos(){return this.id===-1?l.warn("[StreamerObject]: Cannot get position before create"):h.GetDynamicObjectPos(this.id)}setPos(t,a,n){return this.id===-1?l.warn("[StreamerObject]: Cannot set position before create"):h.SetDynamicObjectPos(this.id,t,a,n)}getRot(){return this.id===-1?l.warn("[StreamerObject]: Cannot get rotation before create"):h.GetDynamicObjectRot(this.id)}setRot(t,a,n){return this.id===-1?l.warn("[StreamerObject]: Cannot set rotation before create"):h.SetDynamicObjectRot(this.id,t,a,n)}move(t,a,n,i,r=-1e3,s=-1e3,o=-1e3){return this.id===-1?l.warn("[StreamerObject]: Cannot start moving before create"):i<0?l.warn("[StreamerObject]: speed must not be less than 0"):(i>120*1e3&&l.warn("[StreamerObject]: speed more than 120 seconds, warn if it's not intentional"),this.isMoving()&&this.stop(),h.MoveDynamicObject(this.id,t,a,n,i,r,s,o))}stop(){return this.id===-1?l.warn("[StreamerObject]: Cannot stop moving before create"):h.StopDynamicObject(this.id)}isMoving(){return this.id===-1?!1:h.IsDynamicObjectMoving(this.id)}attachCamera(t){return this.id===-1||t.id===-1?l.warn("[StreamerObject]: Cannot attachCamera before both are created"):h.AttachCameraToDynamicObject(t.id,this.id)}attachToObject(t,a,n,i,r,s,o,d=!0){return this.id===-1||t.id===-1?l.warn("[StreamerObject]: Cannot attachToObject before both are created"):h.AttachDynamicObjectToObject(this.id,t.id,a,n,i,r,s,o,d)}attachToPlayer(t,a,n,i,r,s,o){return this.id===-1||t.id===-1?l.warn("[StreamerObject]: Cannot attachToVehicle before both are created"):h.AttachDynamicObjectToPlayer(this.id,t.id,a,n,i,r,s,o)}attachToVehicle(t,a,n,i,r,s,o){return this.id===-1||t.id===-1?l.warn("[StreamerObject]: Cannot attachToVehicle before both are created"):h.AttachDynamicObjectToVehicle(this.id,t.id,a,n,i,r,s,o)}edit(t){return this.id===-1?l.warn("[StreamerObject]: Unable to edit before create"):(t.endObjectEditing(),h.EditDynamicObject(t.id,this.id))}isMaterialUsed(t){return this.id===-1?!1:h.IsDynamicObjectMaterialUsed(this.id,t)}removeMaterial(t){return this.id===-1||!this.isMaterialUsed(t)?0:h.RemoveDynamicObjectMaterial(this.id,t)}getMaterial(t,a,n){return this.id===-1?l.warn("[StreamerObject]: Unable to get material before create"):h.GetDynamicObjectMaterial(this.id,t,a,n)}setMaterial(t,a,n,i,r="#000"){return this.id===-1?l.warn("[StreamerObject]: Unable to set material before create"):h.SetDynamicObjectMaterial(this.id,t,a,n,i,I(r))}isMaterialTextUsed(t){return this.id===-1?!1:h.IsDynamicObjectMaterialTextUsed(this.id,t)}removeMaterialText(t){return this.isMaterialTextUsed(t)?h.RemoveDynamicObjectMaterialText(this.id,t):0}getMaterialText(t){return this.id===-1?l.warn("[StreamerObject]: Unable to get material text before create"):Xd(this.id,t,this.sourceInfo.charset||"utf8")}setMaterialText(t=this.sourceInfo.charset,a,n,i=h.MaterialTextSizes.SIZE_256x128,r="Arial",s=24,o=1,d="#fff",_="#000",p=0){return this.id===-1?l.warn("[StreamerObject]: Unable to set material text before create"):(this.sourceInfo.charset=t,jd(t||"utf8",this.id,a,n,i,r,s,o,I(d),I(_),p))}getPlayerCameraTarget(t){const a=h.GetPlayerCameraTargetDynObject(t.id);if(a!==T.OBJECT_ID)return v.objects.get(a)}toggleCallbacks(t=!0){return this.id===-1?l.warn("[StreamerObject]: Unable to toggle callbacks before create"):C.toggleItemCallbacks(h.StreamerItemTypes.OBJECT,this.id,t)}isToggleCallbacks(){return this.id,C.isToggleItemCallbacks(h.StreamerItemTypes.OBJECT,this.id)}setNoCameraCollision(){return h.SetDynamicObjectNoCameraCol(this.id)}getNoCameraCollision(){return h.GetDynamicObjectNoCameraCol(this.id)}static getInstance(t){return this.objects.get(t)}static getInstances(){return[...this.objects.values()]}}b.onExit(({next:e})=>(v.getInstances().forEach(t=>t.destroy()),e()));const[W_,U_]=m({name:"OnDynamicObjectStreamIn",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}}),[K_,Z_]=m({name:"OnDynamicObjectStreamOut",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}});U(({type:e,id:t,forPlayer:a,next:n})=>e===c.StreamerItemTypes.OBJECT?U_(a,v.getInstance(t)):n()),K(({type:e,id:t,forPlayer:a,next:n})=>e===c.StreamerItemTypes.OBJECT?Z_(a,v.getInstance(t)):n());const[j_]=m({name:"OnDynamicObjectMoved",identifier:"i",beforeEach(e){return{object:v.getInstance(e)}}}),[X_]=m({name:"OnPlayerEditDynamicObject",identifier:"iiiiiiiii",beforeEach(e,t,a,n,i,r,s,o,d){return{player:u.getInstance(e),object:v.getInstance(t),response:a,x:n,y:i,z:r,rX:s,rY:o,rZ:d}}}),[Y_]=m({name:"OnPlayerSelectDynamicObject",identifier:"iiiiii",beforeEach(e,t,a,n,i,r){return{player:u.getInstance(e),object:v.getInstance(t),modelId:a,x:n,y:i,z:r}}}),[z_]=m({name:"OnPlayerShootDynamicObject",identifier:"iiiiii",beforeEach(e,t,a,n,i,r){return{player:u.getInstance(e),object:v.getInstance(a),weapon:t,x:n,y:i,z:r}}}),[J_]=m({name:"OnPlayerEditAttachedObject",beforeEach(e,t,a,n,i,r,s,o,d,_,p,S,g,P){return{player:u.getInstance(e),response:t,index:a,modelId:n,boneId:i,fOffsetX:r,fOffsetY:s,fOffsetZ:o,fRotX:d,fRotY:_,fRotZ:p,fScaleX:S,fScaleY:g,fScaleZ:P}}}),$_=Object.freeze({onMoved:j_,onPlayerEdit:X_,onPlayerSelect:Y_,onPlayerShoot:z_,onPlayerEditAttached:J_,onStreamIn:W_,onStreamOut:K_});class R{static areas=new Map;sourceInfo;_id=-1;get type(){return this.sourceInfo.type}get id(){return this._id}constructor(t){this.sourceInfo=t}create(){if(this.id!==-1)return l.warn("[StreamerArea]: Unable to create area again");let{worldId:t,interiorId:a,playerId:n}=this.sourceInfo;const{type:i,extended:r}=this.sourceInfo;if(r)if(typeof t=="number"?t=[-1]:t??=[-1],typeof a=="number"?a=[-1]:a??=[-1],typeof n=="number"?n=[-1]:n??=[-1],i==="circle"){const{x:s,y:o,size:d}=this.sourceInfo;if(d<0)return l.error("[StreamerArea]: Invalid circle extend size");this._id=h.CreateDynamicCircleEx(s,o,d,t,a,n)}else if(i==="cuboid"){const{minX:s,minY:o,minZ:d,maxX:_,maxY:p,maxZ:S}=this.sourceInfo;this._id=h.CreateDynamicCuboidEx(s,o,d,_,p,S,t,a,n)}else if(i==="cylinder"){const{x:s,y:o,minZ:d,maxZ:_,size:p}=this.sourceInfo;if(p<0)return l.error("[StreamerArea]: Invalid cylinder extend size");this._id=h.CreateDynamicCylinderEx(s,o,d,_,p,t,a,n)}else if(i==="polygon"){const{points:s,minZ:o,maxZ:d}=this.sourceInfo;if(s.length%2!==0)return l.warn("[StreamerArea]: Unable to create polygon extended with asymmetrical points");this._id=h.CreateDynamicPolygonEx(s,o,d,t,a,n)}else if(i==="rectangle"){const{minX:s,minY:o,maxX:d,maxY:_}=this.sourceInfo;this._id=h.CreateDynamicRectangleEx(s,o,d,_,t,a,n)}else{const{x:s,y:o,z:d,size:_}=this.sourceInfo;if(_<0)return l.error("[StreamerArea]: Invalid sphere extended size");this._id=h.CreateDynamicSphereEx(s,o,d,_,t,a,n)}else if(Array.isArray(t)?t=-1:t??=-1,Array.isArray(a)?a=-1:a??=-1,Array.isArray(n)?n=-1:n??=-1,i==="circle"){const{x:s,y:o,size:d}=this.sourceInfo;if(d<0)return l.error("[StreamerArea]: Invalid circle size");this._id=h.CreateDynamicCircle(s,o,d,t,a,n)}else if(i==="cuboid"){const{minX:s,minY:o,minZ:d,maxX:_,maxY:p,maxZ:S}=this.sourceInfo;this._id=h.CreateDynamicCuboid(s,o,d,_,p,S,t,a,n)}else if(i==="cylinder"){const{x:s,y:o,minZ:d,maxZ:_,size:p}=this.sourceInfo;if(p<0)return l.error("[StreamerArea]: Invalid cylinder size");this._id=h.CreateDynamicCylinder(s,o,d,_,p,t,a,n)}else if(i==="polygon"){const{points:s,minZ:o,maxZ:d}=this.sourceInfo;if(s.length%2!==0)return l.warn("[StreamerArea]: Unable to create polygon with asymmetrical points");this._id=h.CreateDynamicPolygon(s,o,d,t,a,n)}else if(i==="rectangle"){const{minX:s,minY:o,maxX:d,maxY:_}=this.sourceInfo;this._id=h.CreateDynamicRectangle(s,o,d,_,t,a,n)}else{const{x:s,y:o,z:d,size:_}=this.sourceInfo;if(_<0)return l.error("[StreamerArea]: Invalid sphere size");this._id=h.CreateDynamicSphere(s,o,d,_,t,a,n)}return R.areas.set(this._id,this),this}destroy(){return this.id===-1?l.warn("[StreamerArea]: Unable to destroy the area before create"):(h.DestroyDynamicArea(this.id),R.areas.delete(this.id),this._id=-1,this)}isValid(){return this.id===-1?!1:h.IsValidDynamicArea(this.id)}getType(){return this.id!==-1?l.warn("[StreamerArea]: Unable to get type before create"):h.GetDynamicAreaType(this.id)}getPolygonPoints(){if(this.id!==-1)return l.warn("[StreamerArea]: Unable to get polygon points before create");if(this.type==="polygon")return h.GetDynamicPolygonPoints(this.id)}getPolygonNumberPoints(){if(this.id!==-1)return l.warn("[StreamerArea]: Unable to get polygon points number before create");if(this.type==="polygon")return h.GetDynamicPolygonNumberPoints(this.id)}isPlayerIn(t,a=!1){return this.id===-1?!1:h.IsPlayerInDynamicArea(t.id,this.id,a)}static isPlayerInAny(t,a=!1){return h.IsPlayerInAnyDynamicArea(t.id,a)}isAnyPlayerIn(t=!1){return this.id===-1?!1:h.IsAnyPlayerInDynamicArea(this.id,t)}static isAnyPlayerInAny(t=!1){return h.IsAnyPlayerInAnyDynamicArea(t)}static getPlayerAreas(t){return R.getPlayerAreasNumber(t)?h.GetPlayerDynamicAreas(t.id).map(a=>R.areas.get(a)):[]}static getPlayerAreasNumber(t){return h.GetPlayerNumberDynamicAreas(t.id)}isPointIn(t,a,n){return this.id===-1?!1:h.IsPointInDynamicArea(this.id,t,a,n)}static isPointInAny(t,a,n){return h.IsPointInAnyDynamicArea(t,a,n)}isLineIn(t,a,n,i,r,s){return this.id===-1?!1:h.IsLineInDynamicArea(this.id,t,a,n,i,r,s)}static isLineInAny(t,a,n,i,r,s){return h.IsLineInAnyDynamicArea(t,a,n,i,r,s)}static getForPoint(t,a,n){return R.getNumberForPoint(t,a,n)?h.GetDynamicAreasForPoint(t,a,n).map(i=>R.getInstance(i)):[]}static getNumberForPoint(t,a,n){return h.GetNumberDynamicAreasForPoint(t,a,n)}static getForLine(t,a,n,i,r,s){return R.getNumberForLine(t,a,n,i,r,s)?h.GetDynamicAreasForLine(t,a,n,i,r,s).map(o=>R.areas.get(o)):[]}static getNumberForLine(t,a,n,i,r,s){return h.GetNumberDynamicAreasForLine(t,a,n,i,r,s)}attachToObject(t,a=0,n=0,i=0){return this.id===-1||t.id===-1?l.warn("[StreamerArea]: Unable to toggle attach to object before create"):h.AttachDynamicAreaToObject(this.id,t.id,h.StreamerObjectTypes.DYNAMIC,T.PLAYER_ID,a,n,i)}attachToPlayer(t,a=0,n=0,i=0){return this.id===-1||t.id===-1?l.warn("[StreamerArea]: Unable to toggle attach to player before create"):h.AttachDynamicAreaToPlayer(this.id,t.id,a,n,i)}attachToVehicle(t,a=0,n=0,i=0){return this.id===-1||t.id===-1?l.warn("[StreamerArea]: Unable to toggle attach to vehicle before create"):h.AttachDynamicAreaToVehicle(this.id,t.id,a,n,i)}toggleSpectateMode(t){return this.id===-1?l.warn("[StreamerArea]: Unable to toggle specate mode before create"):h.ToggleDynAreaSpectateMode(this.id,t)}isToggleSpectateMode(){return this.id===-1?!1:h.IsToggleDynAreaSpectateMode(this.id)}toggleCallbacks(t=!0){return this.id===-1?l.warn("[StreamerArea]: Unable to toggle callbacks before create"):C.toggleItemCallbacks(h.StreamerItemTypes.AREA,this.id,t)}isToggleCallbacks(){return this.id,C.isToggleItemCallbacks(h.StreamerItemTypes.AREA,this.id)}static getInstance(t){return this.areas.get(t)}static getInstances(){return[...this.areas.values()]}}b.onExit(({next:e})=>(R.getInstances().forEach(t=>t.destroy()),e()));const[Q_,q_]=m({name:"OnDynamicAreaStreamIn",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}}),[eh,th]=m({name:"OnDynamicAreaStreamOut",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}});U(({type:e,id:t,forPlayer:a,next:n})=>e===c.StreamerItemTypes.AREA?q_(a,R.getInstance(t)):n()),K(({type:e,id:t,forPlayer:a,next:n})=>e===c.StreamerItemTypes.AREA?th(a,R.getInstance(t)):n());const[ah]=m({name:"OnPlayerEnterDynamicArea",identifier:"ii",beforeEach(e,t){return{player:u.getInstance(e),pickup:R.getInstance(t)}}}),[nh]=m({name:"OnPlayerLeaveDynamicArea",identifier:"ii",beforeEach(e,t){return{player:u.getInstance(e),pickup:R.getInstance(t)}}}),ih=Object.freeze({onStreamIn:Q_,onStreamOut:eh,onPlayerEnter:ah,onPlayerLeave:nh});class y{static globalTextDraws=new Map;static playerTextDraws=new Map;sourceInfo;_id=-1;get id(){return this._id}constructor(t){this.sourceInfo=t}create(){if(this.id!==-1)return l.warn("[TextDraw]: Unable to create the textdraw again");const{x:t,y:a,text:n,player:i}=this.sourceInfo;if(i){if(y.getInstances(!1).length===B.MAX_TEXT_DRAWS)return l.warn("[TextDraw]: Unable to continue to create textdraw, maximum allowable quantity has been reached");this._id=ld(i.id,t,a,n);const r=de.onDisconnect(({player:s,next:o})=>(s===i&&(this.destroy(),r()),o()));y.playerTextDraws.set(this.id,this)}else{if(y.getInstances(!0).length===B.MAX_TEXT_DRAWS)return l.warn("[TextDraw]: Unable to continue to create textdraw, maximum allowable quantity has been reached");this._id=yo(t,a,n),y.globalTextDraws.set(this.id,this)}return this}destroy(){if(this.id===-1)return y.beforeCreateWarn("destroy the textdraw");const{player:t}=this.sourceInfo;return t?(od(t.id,this.id),y.playerTextDraws.delete(this.id)):(Io(this.id),y.globalTextDraws.delete(this.id)),this._id=-1,this}setFont(t){if(this.id===-1)return y.beforeCreateWarn("set font");const{player:a}=this.sourceInfo;return a?gd(a.id,this.id,t):bo(this.id,t),this}setColor(t){if(this.id===-1)return y.beforeCreateWarn("set color");const{player:a}=this.sourceInfo;return a?_d(a.id,this.id,t):Eo(this.id,t),this}setBoxColors(t){if(this.id===-1)return y.beforeCreateWarn("set box color");const{player:a}=this.sourceInfo;return a?md(a.id,this.id,t):Co(this.id,t),this}setBackgroundColors(t){if(this.id===-1)return y.beforeCreateWarn("set background color");const{player:a}=this.sourceInfo;return a?Sd(a.id,this.id,t):Ro(this.id,t),this}setAlignment(t){if(this.id===-1)return y.beforeCreateWarn("set alignment");const{player:a}=this.sourceInfo;return a?cd(a.id,this.id,t):Ao(this.id,t),this}setLetterSize(t,a){if(this.id===-1)return y.beforeCreateWarn("set letter size");const{player:n}=this.sourceInfo;return n?dd(n.id,this.id,t,a):Po(this.id,t,a),this}setOutline(t){if(this.id===-1)return y.beforeCreateWarn("set outline model");if(t<0)return l.warn("[TextDraw]: Invalid outline value");const{player:a}=this.sourceInfo;return a?pd(a.id,this.id,t):No(this.id,t),this}setPreviewModel(t){if(this.id===-1)return y.beforeCreateWarn("set preview model");this.setFont(Q.MODEL_PREVIEW);const{player:a}=this.sourceInfo;return a?Ed(a.id,this.id,t):ko(this.id,t),this}setPreviewRot(t,a,n,i=1){if(this.id===-1)return y.beforeCreateWarn("set preview rot");this.setFont(Q.MODEL_PREVIEW);const{player:r}=this.sourceInfo;return r?Td(r.id,this.id,t,a,n,i):Mo(this.id,t,a,n,i),this}setPreviewVehColors(t,a){if(this.id===-1)return y.beforeCreateWarn("set preview veh col");this.setFont(Q.MODEL_PREVIEW);const{player:n}=this.sourceInfo;return n?Cd(n.id,this.id,t,a):xo(this.id,t,a),this}setProportional(t=!0){if(this.id===-1)return y.beforeCreateWarn("set Proportional");const{player:a}=this.sourceInfo;return a?yd(a.id,this.id,t):Lo(this.id,t),this}setSelectable(t){if(this.id===-1)return y.beforeCreateWarn("set Selectable");const{player:a}=this.sourceInfo;return a?Id(a.id,this.id,t):vo(this.id,t),this}setShadow(t){if(this.id===-1)return y.beforeCreateWarn("set shadow");if(t<0)return l.warn("[TextDraw]: Invalid shadow value");const{player:a}=this.sourceInfo;return a?ud(a.id,this.id,t):Do(this.id,t),this}setString(t){if(this.id===-1)return y.beforeCreateWarn("set string");if(t.length===0||t.length>1024)return l.warn("[TextDraw]: Invalid text length");const{player:a}=this.sourceInfo;return a?Ad(a.id,this.id,t):Fo(this.id,t),this}setTextSize(t,a){return this.id===-1?y.beforeCreateWarn("set TextSize"):(fo(this.id,t,a),this)}useBox(t){if(this.id===-1)return y.beforeCreateWarn("set TextSize");const{player:a}=this.sourceInfo;return a?hd(a.id,this.id,t):To(this.id,t),this}static beforeCreateWarn(t){l.warn(`[TextDraw]: Unable to ${t} before create`)}show(t){if(this.id===-1)return y.beforeCreateWarn("show");const a=this.sourceInfo.player;if(a)Pd(a.id,this.id);else if(t)Bo(t.id,this.id);else return l.warn("[TextDraw]: invalid player for show");return this}hide(t){if(this.id===-1)return y.beforeCreateWarn("hide");const a=this.sourceInfo.player;if(a)fd(a.id,this.id);else if(t)wo(t.id,this.id);else return l.warn("[TextDraw]: invalid player for hide");return this}showAll(){return this.id===-1?y.beforeCreateWarn("show"):this.sourceInfo.player?l.warn("[TextDraw]: player's textdraw should not be show for all."):(Oo(this.id),this)}hideAll(){return this.id===-1?y.beforeCreateWarn("hideAll"):this.sourceInfo.player?l.warn("[TextDraw]: player's textdraw should not be hide for all."):(Go(this.id),this)}isValid(){const t=this.sourceInfo.player;return t?Wo(t.id,this.id):$l(this.id)}isVisibleForPlayer(t){return this.id===-1?!1:Ql(t.id,this.id)}getString(){if(this.id===-1)return this.sourceInfo.text;const t=this.sourceInfo.player;return t?Uo(t.id,this.id):ql(this.id)}setPos(t,a){if(this.id===-1)return y.beforeCreateWarn("set position");const n=this.sourceInfo.player;return n?Ko(n.id,this.id,t,a):eo(this.id,t,a),this}getLetterSize(){if(this.id===-1)return y.beforeCreateWarn("get letter size");const t=this.sourceInfo.player;return t?Zo(t.id,this.id):to(this.id)}getTextSize(){if(this.id===-1)return y.beforeCreateWarn("get text size");const t=this.sourceInfo.player;return t?jo(t.id,this.id):ao(this.id)}getPos(){if(this.id===-1)return y.beforeCreateWarn("get position");const t=this.sourceInfo.player;return t?Xo(t.id,this.id):no(this.id)}getColor(){if(this.id===-1)return y.beforeCreateWarn("get color");const t=this.sourceInfo.player;return t?Yo(t.id,this.id):io(this.id)}getBoxColor(){if(this.id===-1)return y.beforeCreateWarn("get box color");const t=this.sourceInfo.player;return t?zo(t.id,this.id):ro(this.id)}getBackgroundColor(){if(this.id===-1)return y.beforeCreateWarn("get bg color");const t=this.sourceInfo.player;return t?Jo(t.id,this.id):so(this.id)}getShadow(){if(this.id===-1)return y.beforeCreateWarn("get shadow");const t=this.sourceInfo.player;return t?$o(t.id,this.id):lo(this.id)}getOutline(){if(this.id===-1)return y.beforeCreateWarn("get outline");const t=this.sourceInfo.player;return t?Qo(t.id,this.id):oo(this.id)}getFont(){if(this.id===-1)return y.beforeCreateWarn("get font");const t=this.sourceInfo.player;return t?qo(t.id,this.id):co(this.id)}isBox(){if(this.id===-1)return!1;const t=this.sourceInfo.player;return t?ed(t.id,this.id):_o(this.id)}isProportional(){if(this.id===-1)return!1;const t=this.sourceInfo.player;return t?td(t.id,this.id):ho(this.id)}isSelectable(){if(this.id===-1)return!1;const t=this.sourceInfo.player;return t?ad(t.id,this.id):mo(this.id)}getAlignment(){if(this.id===-1)return y.beforeCreateWarn("get alignment");const t=this.sourceInfo.player;return t?nd(t.id,this.id):uo(this.id)}getPreviewModel(){if(this.id===-1)return y.beforeCreateWarn("get preview model");const t=this.sourceInfo.player;return t?id(t.id,this.id):po(this.id)}getPreviewRot(){if(this.id===-1)return y.beforeCreateWarn("get preview rotation");const t=this.sourceInfo.player;return t?rd(t.id,this.id):So(this.id)}getPreviewVehColors(){if(this.id===-1)return y.beforeCreateWarn("get preview vel colors");const t=this.sourceInfo.player;return t?sd(t.id,this.id):go(this.id)}isGlobal(){return!!this.sourceInfo.player}static getInstance(t,a){return a?this.globalTextDraws.get(t):this.playerTextDraws.get(t)}static getInstances(t){return t?[...this.globalTextDraws.values()]:[...this.playerTextDraws.values()]}}b.onExit(({next:e})=>(y.getInstances(!0).forEach(t=>t.destroy()),y.getInstances(!1).forEach(t=>t.destroy()),e()));const[rh]=m({name:"OnPlayerClickTextDraw",beforeEach(e,t){return{player:u.getInstance(e),textDraw:t===T.TEXT_DRAW?t:y.getInstance(t,!0)}}}),[sh]=m({name:"OnPlayerClickPlayerTextDraw",beforeEach(e,t){return{player:u.getInstance(e),textDraw:t===T.TEXT_DRAW?t:y.getInstance(t,!1)}}}),lh=Object.freeze({onPlayerClickGlobal:rh,onPlayerClickPlayer:sh});function oh(e,t){return(e&t)===t}function dh(e,t,a){return(e&a)===a&&(t&a)!==a}function ch(e,t){return Boolean(e&t)}function _h(e,t,a){return(e&a)!==a&&(t&a)===a}Object.defineProperty(exports,"E_STREAMER",{enumerable:!0,get:function(){return c.E_STREAMER}}),Object.defineProperty(exports,"MapIconStyles",{enumerable:!0,get:function(){return c.MapIconStyles}}),Object.defineProperty(exports,"MaterialTextSizes",{enumerable:!0,get:function(){return c.MaterialTextSizes}}),Object.defineProperty(exports,"StreamerAreaTypes",{enumerable:!0,get:function(){return c.StreamerAreaTypes}}),Object.defineProperty(exports,"StreamerDistances",{enumerable:!0,get:function(){return c.StreamerDistances}}),Object.defineProperty(exports,"StreamerItemTypes",{enumerable:!0,get:function(){return c.StreamerItemTypes}}),Object.defineProperty(exports,"StreamerMiscellaneous",{enumerable:!0,get:function(){return c.StreamerMiscellaneous}}),Object.defineProperty(exports,"StreamerObjectTypes",{enumerable:!0,get:function(){return c.StreamerObjectTypes}}),exports.ArtworkEnum=ye,exports.BodyPartsEnum=ve,exports.BoneIdsEnum=Be,exports.BulletHitTypesEnum=xe,exports.CameraCutStylesEnum=te,exports.CameraModesEnum=Le,exports.CarModTypeEnum=Oe,exports.ClickSourcesEnum=Ie,exports.ConnectionStatusEnum=fe,exports.DamageDeathReasonEnum=se,exports.Dialog=D,exports.DialogStylesEnum=ie,exports.Dynamic3DTextLabel=Z,exports.Dynamic3DTextLabelEvent=V_,exports.DynamicActor=k,exports.DynamicActorEvent=F_,exports.DynamicArea=R,exports.DynamicAreaEvent=ih,exports.DynamicCheckPointEvent=C_,exports.DynamicCheckpoint=G,exports.DynamicMapIcon=V,exports.DynamicMapIconEvent=h_,exports.DynamicObject=v,exports.DynamicObjectEvent=$_,exports.DynamicPickup=H,exports.DynamicPickupEvent=y_,exports.DynamicRaceCP=F,exports.DynamicRaceCPEvent=B_,exports.ERecordStatus=w,exports.EditResponseTypesEnum=Pe,exports.FightingStylesEnum=Re,exports.GameMode=b,exports.GameText=Jc,exports.GangZone=N,exports.GangZoneEvent=s_,exports.I18n=f,exports.InvalidEnum=T,exports.KeysEnum=Ae,exports.LimitsEnum=B,exports.MapIconStylesEnum=be,exports.MarkerModesEnum=Ee,exports.Menu=j,exports.MenuEvent=qc,exports.NPCPlaybackEnum=Te,exports.NetStats=zc,exports.Npc=O,exports.NpcEvent=_t,exports.ObjectMaterialAlignmmentEnum=De,exports.ObjectMaterialTextSizeEnum=Ce,exports.Player=u,exports.PlayerEvent=de,exports.PlayerStateEnum=X,exports.RecordTypesEnum=Ve,exports.SelectObjectTypesEnum=Ne,exports.SpecialActionsEnum=re,exports.SpectateModesEnum=ae,exports.Streamer=C,exports.TextDraw=y,exports.TextDrawAlignEnum=we,exports.TextDrawEvent=lh,exports.TextDrawFontsEnum=Q,exports.Vehicle=A,exports.VehicleEvent=Yc,exports.VehicleModelInfoEnum=Fe,exports.VehicleParamsEnum=Ge,exports.WeaponEnum=ke,exports.WeaponSkillsEnum=Me,exports.WeaponStatesEnum=He,exports.defineEvent=m,exports.isHolding=oh,exports.isPressed=dh,exports.isPressing=ch,exports.isReleased=_h,exports.rgba=I;