@infernus/core 0.10.0-beta.11 → 0.10.0-beta.12

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.mjs CHANGED
@@ -1 +1 @@
1
- import{encodingExists as _t,encode as ht,decode as mt}from"iconv-lite";import ut from"pino";import{snakeCase as ne,merge as pt,omit as gt,get as he,mapKeys as St}from"lodash-unified";import*as _ from"@infernus/streamer";import{Streamer_GetTickRate as yt,Streamer_SetTickRate as It,Streamer_GetPlayerTickRate as Pt,Streamer_SetPlayerTickRate as ft,Streamer_ToggleChunkStream as At,Streamer_IsToggleChunkStream as Et,Streamer_GetChunkTickRate as me,Streamer_SetChunkTickRate as ue,Streamer_GetChunkSize as Ct,Streamer_SetChunkSize as Tt,Streamer_GetMaxItems as Dt,Streamer_SetMaxItems as Nt,Streamer_GetVisibleItems as pe,Streamer_SetVisibleItems as ge,Streamer_GetRadiusMultiplier as Se,Streamer_SetRadiusMultiplier as ye,Streamer_GetTypePriority as Lt,Streamer_SetTypePriority as Rt,Streamer_GetCellDistance as bt,Streamer_SetCellDistance as vt,Streamer_GetCellSize as Bt,Streamer_SetCellSize as wt,Streamer_ToggleItemStatic as Gt,Streamer_IsToggleItemStatic as Ot,Streamer_ToggleItemInvAreas as Ft,Streamer_IsToggleItemInvAreas as kt,Streamer_ToggleItemCallbacks as Mt,Streamer_IsToggleItemCallbacks as xt,Streamer_ToggleErrorCallback as Ht,Streamer_IsToggleErrorCallback as Vt,Streamer_AmxUnloadDestroyItems as Wt,Streamer_ProcessActiveItems as Ut,Streamer_ToggleIdleUpdate as Kt,Streamer_IsToggleIdleUpdate as Zt,Streamer_ToggleCameraUpdate as jt,Streamer_IsToggleCameraUpdate as Xt,Streamer_ToggleItemUpdate as Yt,Streamer_IsToggleItemUpdate as zt,Streamer_GetLastUpdateTime as Jt,Streamer_Update as $t,Streamer_UpdateEx as Qt,Streamer_GetDistanceToItem as qt,Streamer_ToggleItem as ea,Streamer_IsToggleItem as ta,Streamer_ToggleAllItems as aa,Streamer_GetItemInternalID as na,Streamer_GetItemStreamerID as ia,Streamer_IsItemVisible as ra,Streamer_DestroyAllVisibleItems as la,Streamer_CountVisibleItems as sa,Streamer_DestroyAllItems as oa,Streamer_CountItems as da,Streamer_GetNearbyItems as ca,Streamer_GetAllVisibleItems as _a,Streamer_GetItemPos as ha,Streamer_SetItemPos as ma,Streamer_GetItemOffset as ua,Streamer_SetItemOffset as pa,Streamer_GetFloatData as ga,Streamer_SetFloatData as Sa,Streamer_GetIntData as ya,Streamer_SetIntData as Ia,Streamer_GetArrayData as Pa,Streamer_SetArrayData as fa,Streamer_IsInArrayData as Aa,Streamer_AppendArrayData as Ea,Streamer_RemoveArrayData as Ca,Streamer_GetArrayDataLength as Ta,Streamer_GetUpperBound as Da,MapIconStyles as Na,StreamerDistances as ee,CreateDynamicMapIconEx as La,CreateDynamicMapIcon as Ra,DestroyDynamicMapIcon as ba,IsValidDynamicMapIcon as va,StreamerItemTypes as E,CreateDynamicCPEx as Ba,CreateDynamicCP as wa,DestroyDynamicCP as Ie,IsValidDynamicCP as Pe,TogglePlayerDynamicCP as Ga,TogglePlayerAllDynamicCPs as Oa,IsPlayerInDynamicCP as Fa,GetPlayerVisibleDynamicCP as ka,CreateDynamicRaceCPEx as Ma,CreateDynamicRaceCP as xa,TogglePlayerDynamicRaceCP as Ha,TogglePlayerAllDynamicRaceCPs as Va,IsPlayerInDynamicRaceCP as Wa,GetPlayerVisibleDynamicRaceCP as Ua,DestroyDynamic3DTextLabel as Ka,IsValidDynamic3DTextLabel as Za}from"@infernus/streamer";import{E_STREAMER as uu,MapIconStyles as pu,MaterialTextSizes as gu,StreamerAreaTypes as Su,StreamerDistances as yu,StreamerItemTypes as Iu,StreamerMiscellaneous as Pu,StreamerObjectTypes as fu}from"@infernus/streamer";const s=ut({transport:{target:"pino-pretty",options:{translateTime:"SYS:standard",ignore:"pid,hostname"}}});process.on("uncaughtException",e=>{s.error(e),process.exit(1)}),process.on("unhandledRejection",e=>{if(e instanceof Error){s.warn(e);return}s.warn(new Error(JSON.stringify(e)))});class P{constructor(t,a){this.defaultLocale=t,this.locales=a,this.defaultLocale=ne(t),this.locales=P.snakeLocaleKeys(a)}addLocales=t=>{pt(this.locales,P.snakeLocaleKeys(t))};removeLocales=(...t)=>{this.locales=gt(this.locales,t)};$t=(t,a,n=this.defaultLocale)=>{const i=this.locales[ne(n)],r=he(this.locales[this.defaultLocale],t),l=he(i,t,r);if(l===void 0)return s.warn(`[i18n]: cannot find ${n}["${t}"]`),"undefined";if(typeof l!="string")return JSON.stringify(l);let o=l;if(a&&a.length){const d=/%s/i;for(let c=0;c<a.length&&o.match(d)!==null;c++)o=o.replace(d,a[c])}return o};static isValidate(t){_t(t)||(s.fatal(`[i18n]: unknown charset ${t}`),process.exit(1))}static encodeToBuf(t,a){return P.isValidate(a),[...ht(t,a),0]}static decodeFromBuf(t,a="utf8"){P.isValidate(a);const n=t instanceof Buffer?t:Buffer.from(t);return mt(n,a)}static getValidStr(t){return t.indexOf(0)===-1?t:t.slice(0,t.indexOf(0))}static snakeLocaleKeys(t){return St(t,(a,n)=>ne(n))}}const J=new Map;function fe(e){J.set(e,[])}function ja(e,t){return typeof e=="boolean"?+e:typeof e=="number"&&!isNaN(e)?e:+t}function Xa(e,...t){const{defaultValue:a=!0,name:n,beforeEach:i,afterEach:r}=e,l=J.get(n);if(!l||!l.length)return+a;const o=i?i(...t):{},d=[];let c=-1;const u=()=>{if(c++,c<l.length){try{const p=l[c]({next:u,...o});return p instanceof Promise&&d.push(p),p}catch(p){const g=JSON.stringify(p),I=`executing event [name:${n},index:${c}] error: ${g}.`;s.error(I)}return a}return r&&(d.length?Promise.allSettled(d).then(()=>r(o)):r(o)),a};return ja(u(),a)}function h(e){const{name:t,identifier:a,isNative:n=!0}=e;if(J.has(t)){const o=`event [name:${t}] error: already defined.`;throw s.error(o),new Error(o)}fe(t);function i(...o){return Xa(e,...o)}function r(o){const d=J.get(t).push(o)-1;return()=>{const c=J.get(t)||[],u=c.length-1,p=u<d?u:d;for(let g=p;g>=0;g--)if(c[g]===o){c.splice(g,1);break}}}const l=[r,i];return n&&(a&&samp.registerEvent(t,a),samp.on(t,i)),l}const[Ya]=h({name:"OnNpcConnect",beforeEach(e){return{myPlayerId:e}}}),[za]=h({name:"OnNpcDisconnect",beforeEach(e){return{reason:e}}}),[Ja]=h({name:"OnNpcModeInit"}),[$a]=h({name:"OnNpcModeExit"}),[Qa]=h({name:"OnNpcSpawn"}),[qa]=h({name:"OnClientMessageI18n",identifier:"iai",beforeEach(e,t){return{color:e,buffer:t,string:P.decodeFromBuf(t)}}}),en=Object.freeze({onConnect:Ya,onDisconnect:za,onModeInit:Ja,onModeExit:$a,onSpawn:Qa,onClientMessage:qa}),tn=e=>Boolean(samp.callNative("IsValidNickName","s",e)),an=(e,t)=>{samp.callNative("AllowNickNameCharacter","ii",e,t)},nn=e=>Boolean(samp.callNative("IsNickNameCharacterAllowed","i",e)),rn=(e,t)=>Boolean(samp.callNative("AddServerRule","ss",e,t)),ln=(e,t)=>Boolean(samp.callNative("SetServerRule","ss",e,t)),sn=e=>Boolean(samp.callNative("IsValidServerRule","s",e)),on=e=>Boolean(samp.callNative("RemoveServerRule","s",e)),dn=e=>{samp.callNative("AllowAdminTeleport","i",e)},cn=()=>Boolean(samp.callNative("IsAdminTeleportAllowed","")),_n=e=>{samp.callNative("AllowInteriorWeapons","i",e)},hn=()=>Boolean(samp.callNative("AreInteriorWeaponsAllowed","")),mn=()=>Boolean(samp.callNative("AreAllAnimationsEnabled","")),un=e=>{samp.callNative("EnableAllAnimations","i",e)},pn=e=>samp.callNative("GetConsoleVarAsString","sAi",e,64),gn=e=>samp.callNative("GetConsoleVarAsInt","s",e),Sn=e=>Boolean(samp.callNative("GetConsoleVarAsBool","s",e)),yn=()=>samp.callNative("GetWeather",""),In=e=>samp.callNative("GetServerRuleFlags","s",e),Pn=(e,t)=>Boolean(samp.callNative("SetServerRuleFlags","si",e,t)),fn=e=>Boolean(samp.callNative("SetModeRestartTime","f",e)),An=()=>samp.callNativeFloat("GetModeRestartTime",""),En=(e,t,a)=>samp.callNative("GameTextForAll","sii",e,t,a),Cn=e=>{samp.callNative("HideGameTextForAll","i",e)},Tn=(e,t,a)=>samp.callNative("SendDeathMessage","iii",e,t,a),Dn=()=>samp.callNative("GetMaxPlayers",""),Nn=(e,t,a,n,i,r)=>samp.callNativeFloat("VectorSize","ffffff",e,t,a,n,i,r),Ln=e=>samp.callNative("SetGameModeText","s",e),Rn=e=>samp.callNative("ShowNameTags","i",e),bn=e=>samp.callNative("ShowPlayerMarkers","i",e),vn=e=>samp.callNative("SetWorldTime","i",e),Bn=()=>samp.callNative("GetWorldTime",""),wn=()=>samp.callNative("EnableVehicleFriendlyFire",""),Gn=e=>samp.callNative("SetWeather","i",e),On=()=>samp.callNativeFloat("GetGravity",""),Fn=e=>samp.callNative("SetGravity","f",e),kn=(e,t,a,n,i)=>samp.callNative("CreateExplosion","fffif",e,t,a,n,i),Mn=e=>samp.callNative("EnableZoneNames","i",e),xn=()=>samp.callNative("UsePlayerPedAnims",""),Hn=()=>samp.callNative("DisableInteriorEnterExits",""),Vn=e=>samp.callNative("SetNameTagDrawDistance","f",e),Wn=()=>samp.callNative("DisableNameTagLOS",""),Un=e=>samp.callNative("LimitGlobalChatRadius","f",e),Kn=e=>samp.callNative("LimitPlayerMarkerRadius","f",e),Zn=(e,t)=>samp.callNative("ConnectNPC","ss",e,t),jn=()=>samp.callNative("GetServerTickRate",""),Xn=e=>samp.callNative("GetAnimationName","iSiSi",e,32,32),Yn=e=>samp.callNative("EnableStuntBonusForAll","i",e),zn=e=>{samp.callNative("ToggleChatTextReplacement","i",e)},Jn=()=>Boolean(samp.callNative("ChatTextReplacementToggled","")),$n=e=>samp.callNative("GetWeaponSlot","i",e),Qn=e=>samp.callNative("GetWeaponName","iSi",e,32),Ae=()=>samp.callNative("GetAvailableClasses",""),qn=e=>{if(e<Ae()||e>319)return!1;const t=samp.callNative("GetPlayerClass","iIIFFFFIIIIII",e),[a,n=0,i=0,r=0,l=0,o=0,d=0,c=0,u=0,p=0,g=0,I=0]=t;return{teamId:a,modelId:n,spawn_x:i,spawn_y:r,spawn_z:l,z_angle:o,weapon1:d,weapon1_ammo:c,weapon2:u,weapon2_ammo:p,weapon3:g,weapon3_ammo:I}},ei=(e,t,a,n,i,r,l,o,d,c,u,p,g)=>Boolean(samp.callNative("EditPlayerClass","iiiffffiiiiii",e,t,a,n,i,r,l,o,d,c,u,p,g)),ti=e=>samp.callNative("SetTeamCount","i",e),ai=(e,t,a,n,i,r,l,o,d,c,u)=>samp.callNative("AddPlayerClass","iffffiiiiii",e,t,a,n,i,r,l,o,d,c,u),ni=(e,t,a,n,i,r,l,o,d,c,u,p)=>samp.callNative("AddPlayerClassEx","iiffffiiiiii",e,t,a,n,i,r,l,o,d,c,u,p),ii=(e,t,a,n,i,r,l,o,d,c,u,p,g)=>samp.callNative("SetSpawnInfo","iiiffffiiiiii",e,t,a,n,i,r,l,o,d,c,u,p,g),ri=e=>samp.callNative("SpawnPlayer","i",e),li=e=>{const[t,a=0,n=0,i=0,r=0,l=0,o=0,d=0,c=0,u=0,p=0,g=0]=samp.callNative("GetSpawnInfo","iIIFFFFIIIIII",e);return{teamId:t,modelId:a,spawn_x:n,spawn_y:i,spawn_z:r,z_angle:l,weapon1:o,weapon1_ammo:d,weapon2:c,weapon2_ammo:u,weapon3:p,weapon3_ammo:g}},si=e=>samp.callNative("NetStats_GetConnectedTime","i",e),oi=e=>samp.callNative("NetStats_MessagesReceived","i",e),di=e=>samp.callNative("NetStats_BytesReceived","i",e),ci=e=>samp.callNative("NetStats_MessagesSent","i",e),_i=e=>samp.callNative("NetStats_BytesSent","i",e),hi=e=>samp.callNative("NetStats_MessagesRecvPerSecond","i",e),mi=e=>samp.callNativeFloat("NetStats_PacketLossPercent","i",e),ui=e=>samp.callNative("NetStats_ConnectionStatus","i",e),pi=e=>samp.callNative("NetStats_GetIpPort","iSi",e,128+6),gi=e=>Boolean(samp.callNative("IsPlayerAdmin","i",e)),Si=(e,t)=>samp.callNative("SetPlayerAdmin","ii",e,t),yi=e=>samp.callNative("Kick","i",e),Ii=e=>samp.callNative("Ban","i",e),Pi=e=>samp.callNative("GetPlayerNetworkStats","iSi",e,1024),fi=()=>samp.callNative("GetNetworkStats","Si",1024),Ai=(e,t)=>samp.callNative("BlockIpAddress","si",e,t),Ei=e=>samp.callNative("UnBlockIpAddress","s",e),Ci=e=>samp.callNative("SendRconCommand","s",e),Ti=(e,t)=>P.decodeFromBuf(P.getValidStr(samp.callNative("gpci","iAi",e,41)),t),Di=(e,t,a,n,i)=>samp.callNative("SendClientCheck","iiiii",e,t,a,n,i),Ni=()=>{samp.callNative("ClearBanList","")},Li=e=>Boolean(samp.callNative("IsBanned","s",e)),Ri=e=>samp.callNative("GetPlayerRawIp","i",e),bi=e=>samp.callNative("GetPlayerIp","iSi",e,128),vi=e=>samp.callNative("GetPlayerVersion","iSi",e,24),y=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},Bi=(e,t)=>samp.callNative("TogglePlayerWidescreen","ii",e,t),wi=e=>Boolean(samp.callNative("IsPlayerWidescreenToggled","i",e)),Gi=(e,t)=>samp.callNative("GetPlayerSkillLevel","ii",e,t),Oi=e=>samp.callNative("GetPlayerWeather","i",e),Fi=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}},ki=e=>samp.callNativeFloat("GetPlayerZAim","i",e),Mi=e=>{const[t=0,a=0,n=0]=samp.callNative("GetPlayerSurfingOffsets","iFFF",e);return{fOffsetX:t,fOffsetY:a,fOffsetZ:n}},xi=e=>{const[t=0,a=0,n=0,i=0]=samp.callNative("GetPlayerRotationQuat","iFFFF",e);return{w:t,x:a,y:n,z:i}},Hi=e=>samp.callNative("GetPlayerDialogID","i",e),Vi=e=>samp.callNative("GetPlayerSpectateID","i",e),Wi=e=>samp.callNative("GetPlayerSpectateType","i",e),Ui=(e,t)=>samp.callNative("SetPlayerGravity","if",e,t),Ki=e=>samp.callNativeFloat("GetPlayerGravity","i",e),Zi=e=>Boolean(samp.callNative("IsPlayerSpawned","i",e)),ji=e=>Boolean(samp.callNative("IsPlayerControllable","i",e)),Xi=e=>Boolean(samp.callNative("IsPlayerCameraTargetEnabled","i",e)),Yi=(e,t)=>samp.callNative("TogglePlayerGhostMode","ii",e,t),zi=e=>Boolean(samp.callNative("GetPlayerGhostMode","i",e)),Ji=e=>samp.callNative("GetPlayerBuildingsRemoved","i",e),$i=(e,t)=>samp.callNative("RemovePlayerWeapon","ii",e,t),Qi=e=>samp.callNative("HidePlayerDialog","i",e),qi=e=>Boolean(samp.callNative("IsPlayerUsingOfficialClient","i",e)),er=(e,t)=>Boolean(samp.callNative("AllowPlayerTeleport","ii",e,t)),tr=e=>Boolean(samp.callNative("IsPlayerTeleportAllowed","i",e)),ar=(e,t)=>Boolean(samp.callNative("AllowPlayerWeapons","i",e,t)),nr=e=>Boolean(samp.callNative("ArePlayerWeaponsAllowed","i",e)),ir=(e,t,a,n)=>Boolean(samp.callNative("GameTextForPlayer","isii",e,t,a,n)),rr=(e,t)=>Boolean(samp.callNative("HasGameText","ii",e,t)),lr=(e,t,a,n)=>samp.callNative("SendDeathMessageToPlayer","iiii",e,t,a,n),sr=(e,t)=>Boolean(samp.callNative("HideGameTextForPlayer","ii",e,t)),or=e=>Boolean(samp.callNative("IsPlayerNPC","i",e)),Ee=(e,t,a,n)=>samp.callNative("SetPlayerPos","ifff",e,t,a,n),dr=(e,t,a,n)=>samp.callNative("SetPlayerPosFindZ","ifff",e,t,a,n),cr=e=>samp.callNative("GetPlayerPos","iFFF",e),_r=(e,t)=>samp.callNative("SetPlayerFacingAngle","if",e,t),hr=e=>samp.callNative("GetPlayerFacingAngle","iF",e),mr=(e,t,a,n,i)=>Boolean(samp.callNative("IsPlayerInRangeOfPoint","iffff",e,t,a,n,i)),ur=(e,t,a,n)=>samp.callNativeFloat("GetPlayerDistanceFromPoint","ifff",e,t,a,n),pr=(e,t)=>Boolean(samp.callNative("IsPlayerStreamedIn","ii",e,t)),gr=(e,t)=>samp.callNative("SetPlayerInterior","ii",e,t),Sr=e=>samp.callNative("GetPlayerInterior","i",e),yr=(e,t)=>samp.callNative("SetPlayerHealth","if",e,t),Ir=e=>samp.callNative("GetPlayerHealth","iF",e),Pr=(e,t)=>samp.callNative("SetPlayerArmour","if",e,t),fr=e=>samp.callNative("GetPlayerArmour","iF",e),Ar=(e,t,a)=>samp.callNative("SetPlayerAmmo","iii",e,t,a),Er=e=>samp.callNative("GetPlayerAmmo","i",e),Cr=e=>samp.callNative("GetPlayerWeaponState","i",e),Tr=e=>samp.callNative("GetPlayerTargetPlayer","i",e),Dr=(e,t)=>{samp.callNative("SetPlayerTeam","ii",e,t)},Nr=e=>samp.callNative("GetPlayerTeam","i",e),Lr=(e,t)=>samp.callNative("SetPlayerScore","ii",e,t),Rr=e=>samp.callNative("GetPlayerScore","i",e),br=e=>samp.callNative("GetPlayerDrunkLevel","i",e),vr=(e,t)=>samp.callNative("SetPlayerDrunkLevel","ii",e,t),Br=(e,t)=>samp.callNative("SetPlayerColor","ii",e,y(t)),wr=e=>samp.callNative("GetPlayerColor","i",e),Gr=(e,t)=>samp.callNative("SetPlayerSkin","ii",e,t),Or=e=>samp.callNative("GetPlayerSkin","i",e),Fr=(e,t,a)=>samp.callNative("GivePlayerWeapon","iii",e,t,a),kr=e=>samp.callNative("ResetPlayerWeapons","i",e),Mr=(e,t)=>samp.callNative("SetPlayerArmedWeapon","ii",e,t),xr=(e,t)=>samp.callNative("GetPlayerWeaponData","iiII",e,t),Hr=(e,t)=>samp.callNative("GivePlayerMoney","ii",e,t),Vr=e=>samp.callNative("ResetPlayerMoney","i",e),Wr=e=>samp.callNative("GetPlayerMoney","i",e),Ur=e=>samp.callNative("GetPlayerState","i",e),Kr=e=>samp.callNative("GetPlayerPing","i",e),Zr=e=>samp.callNative("GetPlayerWeapon","i",e),jr=e=>samp.callNative("GetPlayerKeys","iIII",e),Xr=(e,t,a)=>samp.callNative("SetPlayerTime","iii",e,t,a),Yr=e=>samp.callNative("GetPlayerTime","iII",e),zr=(e,t)=>samp.callNative("TogglePlayerClock","ii",e,t),Jr=(e,t)=>samp.callNative("SetPlayerWeather","ii",e,t),$r=e=>samp.callNative("ForceClassSelection","i",e),Qr=(e,t)=>samp.callNative("SetPlayerWantedLevel","ii",e,t),qr=e=>samp.callNative("GetPlayerWantedLevel","i",e),el=(e,t)=>samp.callNative("SetPlayerFightingStyle","ii",e,t),tl=e=>samp.callNative("GetPlayerFightingStyle","i",e),al=(e,t,a,n)=>samp.callNative("SetPlayerVelocity","ifff",e,t,a,n),nl=e=>samp.callNative("GetPlayerVelocity","iFFF",e),il=(e,t,a)=>samp.callNative("PlayCrimeReportForPlayer","iii",e,t,a),rl=(e,t,a,n,i,r,l=!1)=>samp.callNative("PlayAudioStreamForPlayer","isffffi",e,t,a,n,i,r,l),ll=e=>samp.callNative("StopAudioStreamForPlayer","i",e),sl=(e,t)=>samp.callNative("SetPlayerShopName","is",e,t),ol=(e,t,a)=>samp.callNative("SetPlayerSkillLevel","iii",e,t,a),dl=e=>samp.callNative("GetPlayerSurfingVehicleID","i",e),cl=e=>samp.callNative("GetPlayerSurfingObjectID","i",e),_l=e=>samp.callNative("GetPlayerSurfingPlayerObjectID","i",e),hl=(e,t,a,n,i,r)=>samp.callNative("RemoveBuildingForPlayer","iiffff",e,t,a,n,i,r),ml=e=>samp.callNative("GetPlayerLastShotVectors","iFFFFFF",e),ul=(e,t,a,n,i)=>samp.callNative("SetPlayerChatBubble","isifi",e,t,y(a),n,i),pl=(e,t,a)=>samp.callNative("PutPlayerInVehicle","iii",e,t,a),gl=e=>samp.callNative("GetPlayerVehicleID","i",e),Sl=e=>samp.callNative("GetPlayerVehicleSeat","i",e),yl=e=>samp.callNative("RemovePlayerFromVehicle","i",e),Il=(e,t)=>samp.callNative("TogglePlayerControllable","ii",e,t),Pl=(e,t,a,n,i)=>samp.callNative("PlayerPlaySound","iifff",e,t,a,n,i),fl=(e,t,a,n,i,r,l,o,d,c)=>samp.callNative("ApplyAnimation","issfiiiiii",e,t,a,n,i,r,l,o,d,c),Al=(e,t)=>samp.callNative("ClearAnimations","ii",e,t),El=e=>samp.callNative("GetPlayerAnimationIndex","i",e),Cl=e=>samp.callNative("GetPlayerSpecialAction","i",e),Tl=(e,t)=>samp.callNative("SetPlayerSpecialAction","ii",e,t),Dl=(e,t)=>samp.callNative("DisableRemoteVehicleCollisions","ii",e,t),Nl=(e,t)=>samp.callNative("SetPlayerVirtualWorld","ii",e,t),Ll=e=>samp.callNative("GetPlayerVirtualWorld","i",e),Rl=(e,t)=>samp.callNative("EnableStuntBonusForPlayer","ii",e,t),bl=e=>samp.callNative("GetPlayerCustomSkin","i",e),vl=(e,t,a,n,i,r)=>samp.callNative("CreateExplosionForPlayer","ifffif",e,t,a,n,i,r),Bl=(e,t,a)=>samp.callNative("StartRecordingPlayerData","iis",e,t,a),wl=e=>samp.callNative("StopRecordingPlayerData","i",e),Gl=(e,t)=>samp.callNative("TogglePlayerSpectating","ii",e,t),Ol=(e,t,a)=>samp.callNative("PlayerSpectatePlayer","iii",e,t,a),Fl=(e,t,a)=>samp.callNative("PlayerSpectateVehicle","iii",e,t,a),Ce=e=>Boolean(samp.callNative("IsPlayerConnected","i",e)),kl=(e,t)=>Boolean(samp.callNative("IsPlayerInVehicle","ii",e,t)),Ml=e=>Boolean(samp.callNative("IsPlayerInAnyVehicle","i",e)),xl=(e,t,a,n,i)=>samp.callNative("SetPlayerWorldBounds","iffff",e,t,a,n,i),Hl=e=>Boolean(samp.callNative("ClearPlayerWorldBounds","i",e)),Vl=(e,t,a)=>samp.callNative("SetPlayerMarkerForPlayer","iii",e,t,y(a));function Wl(e,t){return samp.callNative("GetPlayerMarkerForPlayer","ii",t)}const Ul=(e,t,a)=>samp.callNative("ShowPlayerNameTagForPlayer","iii",e,t,a),Kl=(e,t,a,n)=>samp.callNative("SetPlayerCameraPos","ifff",e,t,a,n),Zl=(e,t,a,n,i)=>samp.callNative("SetPlayerCameraLookAt","ifffi",e,t,a,n,i),jl=e=>samp.callNative("SetCameraBehindPlayer","i",e),Xl=e=>samp.callNative("GetPlayerCameraPos","iFFF",e),Yl=e=>samp.callNative("GetPlayerCameraFrontVector","iFFF",e),zl=e=>samp.callNative("GetPlayerCameraMode","i",e),Jl=(e,t)=>samp.callNative("EnablePlayerCameraTarget","ii",e,t),$l=e=>samp.callNative("GetPlayerCameraTargetVehicle","i",e),Ql=e=>samp.callNative("GetPlayerCameraTargetPlayer","i",e),ql=e=>samp.callNativeFloat("GetPlayerCameraAspectRatio","i",e),es=e=>samp.callNativeFloat("GetPlayerCameraZoom","i",e),ts=(e,t,a,n,i,r,l,o,d)=>samp.callNative("InterpolateCameraPos","iffffffii",e,t,a,n,i,r,l,o,d),as=(e,t,a,n,i,r,l,o,d)=>samp.callNative("InterpolateCameraLookAt","iffffffii",e,t,a,n,i,r,l,o,d),ns=e=>Boolean(samp.callNative("IsPlayerCuffed","i",e)),is=e=>Boolean(samp.callNative("IsPlayerInDriveByMode","i",e)),rs=(e,t)=>samp.callNative("StartRecordingPlayback","is",e,t),ls=()=>samp.callNative("StopRecordingPlayback",""),ss=()=>samp.callNative("PauseRecordingPlayback",""),os=()=>samp.callNative("ResumeRecordingPlayback",""),ds=e=>samp.callNative("GetActorSkin","i",e),cs=(e,t)=>samp.callNative("SetActorSkin","ii",e,t),_s=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}},hs=e=>{const[t=0,a=0,n=0,i=0,r=0,l=0]=samp.callNative("GetVehicleSpawnInfo","iFFFFII",e);return{fX:t,fY:a,fZ:n,fRot:i,color1:r,color2:l}},ms=(e,t,a,n,i,r,l,o,d=-2,c=-2)=>samp.callNative("SetVehicleSpawnInfo","iiFFFFiiii",e,t,a,n,i,r,l,o,d,c),us=e=>{const[t=0,a=0]=samp.callNative("GetVehicleColor","i",e);return{color1:t,color2:a}},ps=e=>samp.callNative("GetVehiclePaintjob","i",e),gs=e=>samp.callNative("GetVehicleInterior","i",e),Ss=e=>samp.callNative("GetVehicleNumberPlate","iSi",e,33),ys=(e,t)=>samp.callNative("SetVehicleRespawnDelay","ii",e,t),Is=e=>samp.callNative("GetVehicleRespawnDelay","i",e),Ps=e=>samp.callNative("GetVehicleCab","i",e),fs=e=>samp.callNative("GetVehicleOccupiedTick","i",e),As=(e,t)=>samp.callNative("SetVehicleOccupiedTick","ii",e,t),Es=e=>Boolean(samp.callNative("HasVehicleBeenOccupied","i",e)),Cs=e=>Boolean(samp.callNative("IsVehicleOccupied","i",e)),Ts=e=>samp.callNative("GetVehicleRespawnTick","i",e),Ds=(e,t)=>samp.callNative("SetVehicleRespawnTick","ii",e,t),Ns=e=>Boolean(samp.callNative("IsVehicleDead","i",e)),Ls=(e,t)=>Boolean(samp.callNative("SetVehicleDead","ii",e,t)),Rs=(e,t)=>Boolean(samp.callNative("SetVehicleBeenOccupied","ii",e,t)),bs=(e,t)=>samp.callNative("ToggleVehicleSirenEnabled","ii",e,t),vs=(e,t)=>samp.callNative("SetVehicleParamsSirenState","ii",e,t),Bs=e=>Boolean(samp.callNative("IsVehicleSirenEnabled","i",e)),ws=e=>samp.callNative("GetVehicleModelCount","i",e),Gs=e=>samp.callNative("GetVehicleLastDriver","i",e),Os=e=>samp.callNative("GetVehicleDriver","i",e),Fs=()=>samp.callNative("GetVehicleModelsUsed",""),ks=e=>samp.callNative("GetVehicleSirenState","i",e),Ms=e=>samp.callNative("GetVehicleLandingGearState","i",e),xs=e=>samp.callNativeFloat("GetVehicleHydraReactorAngle","i",e),Hs=e=>samp.callNativeFloat("GetVehicleTrainSpeed","i",e),Vs=e=>{const[t=0,a=0,n=0,i=0,r=0,l=0,o=0,d=0,c=0]=samp.callNative("GetVehicleMatrix","iFFFFFFFFF",e);return{rightX:t,rightY:a,rightZ:n,upX:i,upY:r,upZ:l,atX:o,atY:d,atZ:c}},Te=e=>{const[t=0,a=0,n=0,i=0]=samp.callNative("GetRandomCarColPair","iIIII",e);return{color:[t,a,n,i]}},Ws=(e,t=255)=>samp.callNative("CarColIndexToColour","ii",e,t),Us=(e,t,a,n,i,r,l,o,d)=>samp.callNative("CreateVehicle","iffffiiii",e,t,a,n,i,y(r),y(l),o,d),Ks=e=>samp.callNative("DestroyVehicle","i",e),Zs=(e,t)=>Boolean(samp.callNative("IsVehicleStreamedIn","ii",e,t)),js=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]}},Xs=(e,t,a,n)=>samp.callNative("SetVehiclePos","ifff",e,t,a,n),Ys=e=>samp.callNative("GetVehicleZAngle","iF",e),zs=e=>samp.callNative("GetVehicleRotationQuat","iFFFF",e),Js=(e,t,a,n)=>samp.callNativeFloat("GetVehicleDistanceFromPoint","ifff",e,t,a,n),$s=(e,t)=>samp.callNative("SetVehicleZAngle","if",e,t),Qs=(e,t,a,n)=>samp.callNative("SetVehicleParamsForPlayer","iiii",e,t,a,n),qs=()=>samp.callNative("ManualVehicleEngineAndLights",""),eo=(e,t,a,n,i,r,l,o)=>samp.callNative("SetVehicleParamsEx","iiiiiiii",e,t,a,n,i,r,l,o),to=e=>samp.callNative("GetVehicleParamsEx","iIIIIIII",e),ao=e=>samp.callNative("GetVehicleParamsSirenState","i",e),no=(e,t,a,n,i)=>samp.callNative("SetVehicleParamsCarDoors","iiiii",e,t,a,n,i),io=e=>{const t=samp.callNative("GetVehicleParamsCarDoors","iIIII",e);return{driver:t[0],passenger:t[1],backLeft:t[2],backRight:t[3]}},ro=(e,t,a,n,i)=>samp.callNative("SetVehicleParamsCarWindows","iiiii",e,t,a,n,i),lo=e=>{const t=samp.callNative("GetVehicleParamsCarWindows","iIIII",e);return{driver:t[0],passenger:t[1],backLeft:t[2],backRight:t[3]}},so=e=>samp.callNative("SetVehicleToRespawn","i",e),oo=(e,t)=>samp.callNative("LinkVehicleToInterior","ii",e,t),co=(e,t)=>samp.callNative("AddVehicleComponent","ii",e,t),_o=(e,t)=>samp.callNative("RemoveVehicleComponent","ii",e,t),ho=(e,t,a)=>samp.callNative("ChangeVehicleColor","iii",e,y(t),y(a)),mo=(e,t)=>samp.callNative("ChangeVehiclePaintjob","ii",e,t),uo=(e,t)=>samp.callNative("SetVehicleHealth","if",e,t),po=e=>samp.callNative("GetVehicleHealth","iF",e),go=(e,t)=>samp.callNative("AttachTrailerToVehicle","ii",e,t),So=e=>samp.callNative("DetachTrailerFromVehicle","i",e),yo=e=>Boolean(samp.callNative("IsTrailerAttachedToVehicle","i",e)),Io=e=>samp.callNative("GetVehicleTrailer","i",e),Po=(e,t)=>samp.callNative("SetVehicleNumberPlate","is",e,t),fo=e=>samp.callNative("GetVehicleModel","i",e),Ao=(e,t)=>samp.callNative("GetVehicleComponentInSlot","ii",e,t),Eo=e=>samp.callNative("GetVehicleComponentType","i",e),Co=e=>samp.callNative("RepairVehicle","i",e),To=e=>samp.callNative("GetVehicleVelocity","iFFF",e),Do=(e,t,a,n)=>Boolean(samp.callNative("SetVehicleVelocity","ifff",e,t,a,n)),No=(e,t,a,n)=>samp.callNative("SetVehicleAngularVelocity","ifff",e,t,a,n),Lo=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]}},Ro=(e,t,a,n,i)=>samp.callNative("UpdateVehicleDamageStatus","iiiii",e,t,a,n,i),bo=(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]}},vo=(e,t)=>samp.callNative("SetVehicleVirtualWorld","ii",e,t),Bo=e=>samp.callNative("GetVehicleVirtualWorld","i",e),De=e=>Boolean(samp.callNative("IsValidVehicle","i",e)),wo=(e,t,a,n,i,r,l)=>samp.callNative("AddStaticVehicle","iffffii",e,t,a,n,i,r,l),Go=(e,t,a,n,i,r,l,o,d)=>samp.callNative("AddStaticVehicleEx","iffffiiii",e,t,a,n,i,r,l,o,d),Oo=e=>Boolean(samp.callNative("ShowVehicle","i",e)),Fo=e=>Boolean(samp.callNative("HideVehicle","i",e)),ko=e=>Boolean(samp.callNative("IsVehicleHidden","i",e)),Mo=e=>Boolean(samp.callNative("IsPlayerInModShop","i",e)),xo=e=>samp.callNative("GetPlayerSirenState","i",e),Ho=e=>samp.callNative("GetPlayerLandingGearState","i",e),Vo=e=>samp.callNative("GetPlayerHydraReactorAngle","i",e),Wo=e=>samp.callNativeFloat("GetPlayerTrainSpeed","i",e),Uo=e=>Boolean(samp.callNative("IsPlayerCheckpointActive","i",e)),Ko=e=>{const[t=0,a=0,n=0,i=0]=samp.callNative("GetPlayerCheckpoint","iFFFF",e);return{fX:t,fY:a,fZ:n,fSize:i}},Zo=e=>Boolean(samp.callNative("IsPlayerRaceCheckpointActive","i",e)),jo=e=>{const[t=0,a=0,n=0,i=0,r=0,l=0,o=0]=samp.callNative("GetPlayerRaceCheckpoint","iFFFFFFF",e);return{fX:t,fY:a,fZ:n,fNextX:i,fNextY:r,fNextZ:l,fSize:o}},Xo=e=>Boolean(samp.callNative("IsMenuDisabled","i",e)),Yo=(e,t)=>Boolean(samp.callNative("IsMenuRowDisabled","ii",e,t)),zo=(e,t)=>samp.callNative("GetMenuItems","ii",e,t),Jo=e=>{const[t=0,a=0]=samp.callNative("GetMenuPos","iFF",e);return{fX:t,fY:a}},$o=e=>{const[t=0,a=0]=samp.callNative("GetMenuColumnWidth","iFF",e);return{fColumn1:t,fColumn2:a}},Qo=(e,t)=>samp.callNative("GetMenuColumnHeader","iiSi",e,t,31),qo=(e,t,a)=>samp.callNative("GetMenuItem","iiiSi",e,t,a,31),ed=(e,t,a,n,i,r)=>samp.callNative("CreateMenu","siffff",e,t,a,n,i,r),td=e=>samp.callNative("DestroyMenu","i",e),ad=(e,t,a)=>samp.callNative("AddMenuItem","iis",e,t,a),nd=(e,t,a)=>samp.callNative("SetMenuColumnHeader","iis",e,t,a),id=(e,t)=>samp.callNative("ShowMenuForPlayer","ii",e,t),rd=(e,t)=>samp.callNative("HideMenuForPlayer","ii",e,t),ld=e=>Boolean(samp.callNative("IsValidMenu","i",e)),sd=e=>samp.callNative("DisableMenu","i",e),od=(e,t)=>samp.callNative("DisableMenuRow","ii",e,t),dd=e=>samp.callNative("GetPlayerMenu","i",e),cd=e=>Boolean(samp.callNative("IsValidGangZone","i",e)),_d=(e,t)=>Boolean(samp.callNative("IsPlayerInGangZone","ii",e,t)),hd=(e,t)=>Boolean(samp.callNative("IsGangZoneVisibleForPlayer","ii",e,t)),md=(e,t)=>samp.callNative("GangZoneGetColorForPlayer","ii",e,t),ud=(e,t)=>samp.callNative("GangZoneGetFlashColorForPlayer","ii",e,t),pd=(e,t)=>Boolean(samp.callNative("IsGangZoneFlashingForPlayer","ii",e,t)),gd=e=>{const[t=0,a=0,n=0,i=0]=samp.callNative("GangZoneGetPos","iFFFF",e);return{fMinX:t,fMinY:a,fMaxX:n,fMaxY:i}},Sd=(e,t)=>{samp.callNative("UseGangZoneCheck","ii",e,t)},yd=(e,t,a,n)=>samp.callNative("GangZoneCreate","ffff",e,t,a,n),Id=e=>samp.callNative("GangZoneDestroy","i",e),Pd=(e,t,a)=>samp.callNative("GangZoneShowForPlayer","iii",e,t,y(a)),fd=(e,t)=>samp.callNative("GangZoneShowForAll","ii",e,y(t)),Ad=(e,t)=>samp.callNative("GangZoneHideForPlayer","ii",e,t),Ed=e=>samp.callNative("GangZoneHideForAll","i",e),Cd=(e,t,a)=>samp.callNative("GangZoneFlashForPlayer","iii",e,t,y(a)),Td=(e,t)=>samp.callNative("GangZoneFlashForAll","ii",e,y(t)),Dd=(e,t)=>samp.callNative("GangZoneStopFlashForPlayer","ii",e,t),Nd=e=>samp.callNative("GangZoneStopFlashForAll","i",e),Ld=(e,t,a,n,i)=>samp.callNative("CreatePlayerGangZone","iffff",e,t,a,n,i),Rd=(e,t)=>samp.callNative("PlayerGangZoneDestroy","ii",e,t),bd=(e,t,a)=>samp.callNative("PlayerGangZoneShow","iii",e,t,a),vd=(e,t)=>samp.callNative("PlayerGangZoneHide","ii",e,t),Bd=(e,t,a)=>samp.callNative("PlayerGangZoneFlash","iii",e,t,a),wd=(e,t)=>samp.callNative("PlayerGangZoneStopFlash","ii",e,t),Gd=(e,t)=>Boolean(samp.callNative("IsValidPlayerGangZone","ii",e,t)),Od=(e,t)=>Boolean(samp.callNative("IsPlayerInPlayerGangZone","ii",e,t)),Fd=(e,t)=>Boolean(samp.callNative("IsPlayerGangZoneVisible","ii",e,t)),kd=(e,t)=>samp.callNative("PlayerGangZoneGetColor","ii",e,t),Md=(e,t)=>samp.callNative("PlayerGangZoneGetFlashColor","ii",e,t),xd=(e,t)=>Boolean(samp.callNative("IsPlayerGangZoneFlashing","ii",e,t)),Hd=(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}},Vd=(e,t,a)=>{samp.callNative("UsePlayerGangZoneCheck","iii",e,t,a)},Wd=e=>Boolean(samp.callNative("IsValidTextDraw","i",e)),Ud=(e,t)=>Boolean(samp.callNative("IsTextDrawVisibleForPlayer","ii",e,t)),Kd=e=>samp.callNative("TextDrawGetString","iSi",e,1024),Zd=(e,t,a)=>{samp.callNative("TextDrawSetPos","iff",e,t,a)},jd=e=>{const[t=0,a=0]=samp.callNative("TextDrawGetLetterSize","iFF",e);return{fX:t,fY:a}},Xd=e=>{const[t=0,a=0]=samp.callNative("TextDrawGetTextSize","iFF",e);return{fX:t,fY:a}},Yd=e=>{const[t=0,a=0]=samp.callNative("TextDrawGetPos","iFF",e);return{fX:t,fY:a}},zd=e=>samp.callNative("TextDrawGetColor","i",e),Jd=e=>samp.callNative("TextDrawGetBoxColor","i",e),$d=e=>samp.callNative("TextDrawGetBackgroundColor","i",e),Qd=e=>samp.callNative("TextDrawGetShadow","i",e),qd=e=>samp.callNative("TextDrawGetOutline","i",e),ec=e=>samp.callNative("TextDrawGetFont","i",e),tc=e=>Boolean(samp.callNative("TextDrawIsBox","i",e)),ac=e=>Boolean(samp.callNative("TextDrawIsProportional","i",e)),nc=e=>Boolean(samp.callNative("TextDrawIsSelectable","i",e)),ic=e=>samp.callNative("TextDrawGetAlignment","i",e),rc=e=>samp.callNative("TextDrawGetPreviewModel","i",e),lc=e=>{const[t=0,a=0,n=0,i=0]=samp.callNative("TextDrawGetPreviewRot","iFFFF",e);return{fRotX:t,fRotY:a,fRotZ:n,fZoom:i}},sc=e=>{const[t,a]=samp.callNative("TextDrawGetPreviewVehCol","iII",e);return{color1:t,color2:a}},oc=(e,t,a)=>{samp.callNative("TextDrawSetStringForPlayer","iis",e,t,a)},dc=(e,t,a)=>samp.callNative("TextDrawCreate","ffs",e,t,a),cc=e=>samp.callNative("TextDrawDestroy","i",e),_c=(e,t,a)=>samp.callNative("TextDrawLetterSize","iff",e,t,a),hc=(e,t,a)=>samp.callNative("TextDrawTextSize","iff",e,t,a),mc=(e,t)=>samp.callNative("TextDrawAlignment","ii",e,t),uc=(e,t)=>Boolean(samp.callNative("TextDrawColor","ii",e,y(t))),pc=(e,t)=>samp.callNative("TextDrawUseBox","ii",e,t),gc=(e,t)=>Boolean(samp.callNative("TextDrawBoxColor","ii",e,y(t))),Sc=(e,t)=>samp.callNative("TextDrawSetShadow","ii",e,t),yc=(e,t)=>samp.callNative("TextDrawSetOutline","ii",e,t),Ic=(e,t)=>Boolean(samp.callNative("TextDrawBackgroundColor","ii",e,y(t))),Pc=(e,t)=>samp.callNative("TextDrawFont","ii",e,t),fc=(e,t)=>samp.callNative("TextDrawSetProportional","ii",e,t),Ac=(e,t)=>samp.callNative("TextDrawSetSelectable","ii",e,t),Ec=(e,t)=>samp.callNative("TextDrawShowForPlayer","ii",e,t),Cc=(e,t)=>samp.callNative("TextDrawHideForPlayer","ii",e,t),Tc=e=>samp.callNative("TextDrawShowForAll","i",e),Dc=e=>samp.callNative("TextDrawHideForAll","i",e),Nc=(e,t)=>samp.callNative("TextDrawSetString","is",e,t),Lc=(e,t)=>samp.callNative("TextDrawSetPreviewModel","ii",e,t),Rc=(e,t,a,n,i=1)=>{samp.callNative("TextDrawSetPreviewRot","iffff",e,t,a,n,i)},bc=(e,t,a)=>Boolean(samp.callNative("TextDrawSetPreviewVehCol","iii",e,y(t),y(a))),vc=(e,t)=>{samp.callNative("SelectTextDraw","ii",e,y(t))},Bc=e=>{samp.callNative("CancelSelectTextDraw","i",e)},wc=(e,t)=>Boolean(samp.callNative("IsValidPlayerTextDraw","ii",e,t)),Gc=(e,t)=>samp.callNative("PlayerTextDrawGetString","iiSi",e,t,1024),Oc=(e,t,a,n)=>{samp.callNative("PlayerTextDrawSetPos","iiff",e,t,a,n)},Fc=(e,t)=>{const[a=0,n=0]=samp.callNative("PlayerTextDrawGetLetterSize","iiFF",e,t);return{fX:a,fY:n}},kc=(e,t)=>{const[a=0,n=0]=samp.callNative("PlayerTextDrawGetTextSize","iiFF",e,t);return{fX:a,fY:n}},Mc=(e,t)=>{const[a=0,n=0]=samp.callNative("PlayerTextDrawGetPos","iiFF",e,t);return{fX:a,fY:n}},xc=(e,t)=>samp.callNative("PlayerTextDrawGetColor","ii",e,t),Hc=(e,t)=>samp.callNative("PlayerTextDrawGetBoxColor","ii",e,t),Vc=(e,t)=>samp.callNative("PlayerTextDrawGetBackgroundColor","ii",e,t),Wc=(e,t)=>samp.callNative("PlayerTextDrawGetShadow","ii",e,t),Uc=(e,t)=>samp.callNative("PlayerTextDrawGetOutline","ii",e,t),Kc=(e,t)=>samp.callNative("PlayerTextDrawGetFont","ii",e,t),Zc=(e,t)=>Boolean(samp.callNative("PlayerTextDrawIsBox","ii",e,t)),jc=(e,t)=>Boolean(samp.callNative("PlayerTextDrawIsProportional","ii",e,t)),Xc=(e,t)=>Boolean(samp.callNative("PlayerTextDrawIsSelectable","ii",e,t)),Yc=(e,t)=>samp.callNative("PlayerTextDrawGetAlignment","ii",e,t),zc=(e,t)=>samp.callNative("PlayerTextDrawGetPreviewModel","ii",e,t),Jc=(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}},$c=(e,t)=>{const[a,n]=samp.callNative("PlayerTextDrawGetPreviewVehCol","iiII",e,t);return{color1:a,color2:n}},Qc=(e,t,a,n)=>samp.callNative("CreatePlayerTextDraw","iffs",e,t,a,n),qc=(e,t)=>{samp.callNative("PlayerTextDrawDestroy","ii",e,t)},e_=(e,t,a,n)=>samp.callNative("PlayerTextDrawLetterSize","iiff",e,t,a,n),t_=(e,t,a)=>samp.callNative("PlayerTextDrawAlignment","iii",e,t,a),a_=(e,t,a)=>Boolean(samp.callNative("PlayerTextDrawColor","iii",e,t,y(a))),n_=(e,t,a)=>samp.callNative("PlayerTextDrawUseBox","iii",e,t,a),i_=(e,t,a)=>Boolean(samp.callNative("PlayerTextDrawBoxColor","iii",e,t,y(a))),r_=(e,t,a)=>samp.callNative("PlayerTextDrawSetShadow","iii",e,t,a),l_=(e,t,a)=>samp.callNative("PlayerTextDrawSetOutline","iii",e,t,a),s_=(e,t,a)=>Boolean(samp.callNative("PlayerTextDrawBackgroundColor","iii",e,t,y(a))),o_=(e,t,a)=>samp.callNative("PlayerTextDrawFont","iii",e,t,a),d_=(e,t,a)=>samp.callNative("PlayerTextDrawSetProportional","iii",e,t,a),c_=(e,t,a)=>samp.callNative("PlayerTextDrawSetSelectable","iii",e,t,a),__=(e,t)=>samp.callNative("PlayerTextDrawShow","ii",e,t),h_=(e,t)=>samp.callNative("PlayerTextDrawHide","ii",e,t),m_=(e,t,a)=>samp.callNative("PlayerTextDrawSetString","iis",e,t,a),u_=(e,t,a)=>samp.callNative("PlayerTextDrawSetPreviewModel","iii",e,t,a),p_=(e,t,a,n,i,r)=>samp.callNative("PlayerTextDrawSetPreviewRot","iiffff",e,t,a,n,i,r),g_=(e,t,a,n)=>Boolean(samp.callNative("PlayerTextDrawSetPreviewVehCol","iiii",e,t,a,n)),S_=e=>Boolean(samp.callNative("BeginObjectSelecting","i",e)),y_=e=>Boolean(samp.callNative("EndObjectEditing","i",e)),I_=e=>Boolean(samp.callNative("SetObjectsDefaultCameraCol","i",e)),P_=(e,t,a,n,i)=>samp.callNative("AddSimpleModel","iiiss",e,t,a,n,i),f_=(e,t,a,n,i,r,l)=>samp.callNative("AddSimpleModelTimed","iiissii",e,t,a,n,i,r,l),A_=(e,t)=>samp.callNative("RedirectDownload","is",e,t),E_=e=>samp.callNative("FindModelFileNameFromCRC","iSi",e,255),C_=e=>samp.callNative("FindTextureFileNameFromCRC","iSi",e,255),T_=(e,t)=>{const[a=0,n=0,i=0,r=0,l=0,o=0,d=0,c=0,u=0,p=0,g=0,I=0,A=0]=samp.callNative("GetPlayerAttachedObject","iiIIFFFFFFFFFII",e,t);return{modelId:a,bone:n,fX:i,fY:r,fZ:l,fRotX:o,fRotY:d,fRotZ:c,fScaleX:u,fScaleY:p,fScaleZ:g,materialColor1:I,materialColor2:A}},D_=(e,t,a,n,i,r,l,o,d,c,u,p,g,I,A)=>samp.callNative("SetPlayerAttachedObject","iiiifffffffffii",e,t,a,n,i,r,l,o,d,c,u,p,g,y(I),y(A)),N_=(e,t)=>samp.callNative("RemovePlayerAttachedObject","ii",e,t),L_=(e,t)=>Boolean(samp.callNative("IsPlayerAttachedObjectSlotUsed","ii",e,t)),Ne=e=>Boolean(samp.callNative("IsValidCustomModel","i",e)),R_=e=>{if(!Ne(e))return null;const[t,a]=samp.callNative("GetCustomModePath","iSiSi",e,255,255);return{dffPath:t,txdPath:a}};var Le=(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))(Le||{}),Re=(e=>(e[e.SCOREBOARD=0]="SCOREBOARD",e))(Re||{}),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||{}),be=(e=>(e[e.CANCEL=0]="CANCEL",e[e.FINAL=1]="FINAL",e[e.UPDATE=2]="UPDATE",e))(be||{}),ve=(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))(ve||{}),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=-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))(C||{}),Be=(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))(Be||{}),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||{}),we=(e=>(e[e.OFF=0]="OFF",e[e.GLOBAL=1]="GLOBAL",e[e.STREAMED=2]="STREAMED",e))(we||{}),Ge=(e=>(e[e.NONE=1]="NONE",e[e.DRIVER=2]="DRIVER",e[e.ONFOOT=3]="ONFOOT",e))(Ge||{}),w=(e=>(e[e.none=0]="none",e[e.start=1]="start",e[e.pause=2]="pause",e))(w||{}),Oe=(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))(Oe||{}),Fe=(e=>(e[e.LEFT=0]="LEFT",e[e.CENTER=1]="CENTER",e[e.RIGHT=2]="RIGHT",e))(Fe||{}),ke=(e=>(e[e.GLOBAL_OBJECT=1]="GLOBAL_OBJECT",e[e.PLAYER_OBJECT=2]="PLAYER_OBJECT",e))(ke||{}),Me=(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))(Me||{}),xe=(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))(xe||{}),te=(e=>(e[e.MOVE=1]="MOVE",e[e.CUT=2]="CUT",e))(te||{}),He=(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))(He||{}),ae=(e=>(e[e.NORMAL=1]="NORMAL",e[e.FIXED=2]="FIXED",e[e.SIDE=3]="SIDE",e))(ae||{}),j=(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))(j||{}),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||{}),We=(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))(We||{}),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||{}),$=(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))($||{}),Ue=(e=>(e[e.LEFT=1]="LEFT",e[e.CENTER=2]="CENTER",e[e.RIGHT=3]="RIGHT",e))(Ue||{}),Ke=(e=>(e[e.UNKNOWN=-1]="UNKNOWN",e[e.NONE=-1]="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[e.FRONT_BULLBAR=14]="FRONT_BULLBAR",e[e.REAR_BULLBAR=15]="REAR_BULLBAR",e))(Ke||{}),Ze=(e=>(e[e.UNSET=0]="UNSET",e[e.OFF=1]="OFF",e[e.ON=2]="ON",e))(Ze||{}),je=(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))(je||{}),Xe=(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))(Xe||{}),Ye=(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))(Ye||{}),ze=(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))(ze||{}),Je=(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))(Je||{}),le=(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))(le||{}),$e=(e=>(e[e.NONE=0]="NONE",e[e.DRIVER=1]="DRIVER",e[e.ONFOOT=2]="ONFOOT",e))($e||{});class G{constructor(){}static recordStatus;static connectNPC=Zn;static startRecordingPlayerData(t,a,n){if(t.isRecording)return s.warn("[NpcFunc]: It should be stopped before recording");Bl(t.id,a,n),t.isRecording=!0}static stopRecordingPlayerData(t){if(!t.isRecording)return s.warn("[NpcFunc]: It should be started before stop");wl(t.id),t.isRecording=!1}static startRecordingPlayback(t,a){if(G.recordStatus>=w.start)return s.warn("[NpcFunc]: The current status cannot be replayed");rs(t,a),G.recordStatus=w.start}static stopRecordingPlayback(){if(G.recordStatus<w.start)return s.warn("[NpcFunc]: The current status cannot be stopped");ls(),G.recordStatus=w.none}static pauseRecordingPlayback(){if(G.recordStatus!==w.start)return s.warn("[NpcFunc]: The current status cannot be paused");ss(),G.recordStatus=w.pause}static resumeRecordingPlayback(){if(G.recordStatus!==w.pause)return s.warn("[NpcFunc]: The current status cannot be paused");os(),G.recordStatus=w.start}}const b_=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}]]]),v_=e=>{const t=b_.get(e);return t===void 0?!1:t},Qe=(e,t)=>{const a=v_(e);if(a)return a.find(n=>n.n===t)?.d},X=(e,t)=>{const a=t.replace("-","")==="utf8"?e:P.encodeToBuf(e,t);return[a instanceof Array?"a":"s",a]},qe=(e,t,a)=>{const n=X(a,e.charset);return samp.callNative("SendClientMessage",`ii${n[0]}`,e.id,y(t),n[1])},B_=(e,t,a)=>(e.forEach(n=>qe(n,t,a)),1),et=(e,t,a)=>{const n=X(a,e.charset);return samp.callNative("SendPlayerMessageToPlayer",`ii${n[0]}`,e.id,t,n[1])},w_=(e,t,a)=>(e.forEach(n=>{et(n,t,a)}),1),G_=(e,t,a)=>{const{charset:n}=e,{style:i,caption:r,info:l,button1:o,button2:d}=a,[c,u]=X(r||"",n),[,p]=X(l||"",n),[,g]=X(o||"",n),[,I]=X(d||"",n);return samp.callNative("ShowPlayerDialog",`iii${c.repeat(4)}`,e.id,t,i,u,p,g,I)},O_=e=>{const t=samp.callNative("GetPlayerName","iAi",e.id,B.MAX_PLAYER_NAME);return P.decodeFromBuf(P.getValidStr(t),e.charset)},F_=(e,t)=>samp.callNative("SetPlayerName","ia",e.id,P.encodeToBuf(t,e.charset)),k_=(e,t,a)=>{const n=P.encodeToBuf(t,a);return samp.callNative("BanEx","ia",e,n)},M_=(e,t,a,n,i,r,l,o,d,c,u,p,g,I,A,b)=>{const M=P.encodeToBuf(t,e);return samp.callNative("CreateDynamic3DTextLabel","aiffffiiiiiifii",M,a,n,i,r,l,o,d,c,u,p,g,I,A,b)},x_=(e,t,a,n,i,r,l,o,d,c,u,p,g,I,A,b)=>{const M=P.encodeToBuf(e,b);return samp.callNative("CreateDynamic3DTextLabelEx","aiffffiiifaaaaiiiii",M,t,a,n,i,r,l,o,d,c,u,p,g,I,A,u.length,p.length,g.length,I.length)},H_=(e,t,a,n)=>{const i=P.encodeToBuf(a,n);return samp.callNative("UpdateDynamic3DTextLabelText","iia",e,t,i)},V_=(e,t)=>{const a=samp.callNative("GetDynamic3DTextLabelText","iAi",e,1024);return P.decodeFromBuf(P.getValidStr(a),t)},W_=(e,t,a,n,i,r,l,o,d,c,u)=>{const p=P.encodeToBuf(n,e),g=P.encodeToBuf(r,e);return samp.callNative("SetDynamicObjectMaterialText","iiaiaiiiii",t,a,p,i,g,l,o,d,c,u)},U_=(e,t,a)=>{const[n,i,r,l,o,d,c]=samp.callNative("GetDynamicObjectMaterialText","iiAIAIIIIIii",e,t,2048,32),u=P.decodeFromBuf(n,a),p=P.decodeFromBuf(r,a);return{text:u,materialSize:i,fontFace:p,bold:l,fontColor:o,backColor:d,textAlignment:c}},[tt]=h({name:"OnClientCheckResponse",beforeEach(e,t,a,n){return{player:m.getInstance(e),actionId:t,memAddr:a,data:n}}});class m{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 qe(this,t,a)}static sendClientMessageToAll(t,a){B_(m.getInstances(),t,a)}sendMessageToPlayer(t,a){return et(t,this.id,a)}sendMessageToAll(t){return w_(m.getInstances(),this.id,t)}isNpc(){return or(this.id)}getFps(){return this.lastFps}getDrunkLevel(){return br(this.id)}setDrunkLevel(t){if(t<0||t>5e4)return s.error(new Error("[Player]: player's drunk level ranges from 0 to 50000"));vr(this.id,t)}allowTeleport(t){er(this.id,t)}isTeleportAllowed(){return tr(this.id)}enableCameraTarget(t){Jl(this.id,t)}enableStuntBonus(t){Rl(this.id,t)}getInterior(){return Sr(this.id)}setInterior(t){return gr(this.id,t)}showNameTag(t,a){Ul(this.id,t.id,a)}setColor(t){Br(this.id,t)}getColor(){return wr(this.id)}setMarker(t,a){Vl(this.id,t.id,a)}getMarker(t){return Wl(this.id,t.id)}resetMoney(){return Vr(this.id)}getMoney(){return Wr(this.id)}giveMoney(t){return Hr(this.id,t)}resetWeapons(){return kr(this.id)}spawn(){return this.isSpectating()?(this.toggleSpectating(!1),1):ri(this.id)}setHealth(t){return yr(this.id,t)}getHealth(){return Ir(this.id)}toggleClock(t){return zr(this.id,t)}toggleControllable(t){return Il(this.id,t)}toggleSpectating(t){return Gl(this.id,t)}spectatePlayer(t,a=ae.NORMAL){return Ol(this.id,t.id,a)}spectateVehicle(t,a=ae.NORMAL){return Fl(this.id,t.id,a)}forceClassSelection(){$r(this.id)}kick(){yi(this.id)}ban(){Ii(this.id)}banEx(t,a){k_(this.id,t,a)}isAdmin(){return gi(this.id)}isInRangeOfPoint(t,a,n,i){return mr(this.id,t,a,n,i)}isStreamedIn(t){return pr(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:Gr(this.id,t)}getSkin(){return Or(this.id)}isInAnyVehicle(){return Ml(this.id)}getSpecialAction(){return Cl(this.id)}setSpecialAction(t){return Tl(this.id,t)}setScore(t){return Lr(this.id,t)}getScore(){return Rr(this.id)}getPing(){return Kr(this.id)||0}setPos(t,a,n){return Ee(this.id,t,a,n)}getPos(){if(this.isSpectating()||this.isWasted()||this.getState()===j.NONE)return;const[t,a,n]=cr(this.id);return{x:t,y:a,z:n}}isSpectating(){return this.getState()===j.SPECTATING}isWasted(){return this.getState()===j.WASTED}getState(){return Ur(this.id)}getVersion(){return this.isNpc()?"":vi(this.id)}setVirtualWorld(t){return Nl(this.id,t)}getVirtualWorld(){return Ll(this.id)}removeFromVehicle(){return yl(this.id)}setWantedLevel(t){return t<0||t>6?(s.error("[Player]: player's wanted level ranges from 0 to 6"),0):Qr(this.id,t)}getWantedLevel(){return qr(this.id)}setFacingAngle(t){return _r(this.id,t)}getFacingAngle(){return hr(this.id)}setWeather(t){if(t<0||t>255){s.warn("[Player]: The valid weather value is only 0 to 255");return}Jr(this.id,t)}getWeather(){return Oi(this.id)}setTime(t,a){if(t<0||t>23){s.warn("[Player]: The valid hour value is only 0 to 23");return}if(a<0||a>59){s.warn("[Player]: The valid minute value is only 0 to 59");return}return Xr(this.id,t,a)}getTime(){const[t,a]=Yr(this.id);return{hour:t,minute:a}}removeBuilding(t,a,n,i,r){hl(this.id,t,a,n,i,r)}setTeam(t){t<0||t>C.NO_TEAM||Dr(this.id,t)}getTeam(){return Nr(this.id)}setSkillLevel(t,a){if(a<0||a>999){s.warn("[Player]: The valid skill level is only 0 to 999");return}ol(this.id,t,a)}getName(){return O_(this)}setName(t){return F_(this,t)}setVelocity(t,a,n){return al(this.id,t,a,n)}getVelocity(){const[t,a,n]=nl(this.id);return{x:t,y:a,z:n}}getKeys(){const[t,a,n]=jr(this.id);return{keys:t,upDown:a,leftRight:n}}getIp(){return bi(this.id)}getFightingStyle(){return tl(this.id)}setFightingStyle(t){el(this.id,t)}setArmour(t){return Pr(this.id,t)}getArmour(){return fr(this.id)}setCameraBehind(){return jl(this.id)}setCameraPos(t,a,n){return Kl(this.id,t,a,n)}setCameraLookAt(t,a,n,i){return Zl(this.id,t,a,n,i)}getCameraAspectRatio(){return ql(this.id)}getCameraFrontVector(){const[t,a,n]=Yl(this.id);return{x:t,y:a,z:n}}getCameraMode(){return zl(this.id)}getCameraPos(){const[t,a,n]=Xl(this.id);return{x:t,y:a,z:n}}getCameraTargetPlayer(t){const a=Ql(this.id);return t.find(n=>n.id===a)}getCameraTargetVehicle(t){const a=$l(this.id);return t.find(n=>n.id===a)}getCameraZoom(){return es(this.id)}playAudioStream(t,a=0,n=0,i=0,r=5){let l=!1;return(a!==0||n!==0||i!==0)&&(l=!0),rl(this.id,t,a,n,i,r,l)}stopAudioStream(){ll(this.id)}playSound(t,a=0,n=0,i=0){return Pl(this.id,t,a,n,i)}static getMaxPlayers(){return Dn()}playCrimeReport(t,a){return a<3||a>22?(s.warn("[Player]: Available crime ids range from 3 to 22"),0):il(this.id,t.id,a)}interpolateCameraPos(t,a,n,i,r,l,o,d=te.CUT){ts(this.id,t,a,n,i,r,l,o,d)}interpolateCameraLookAt(t,a,n,i,r,l,o,d=te.CUT){as(this.id,t,a,n,i,r,l,o,d)}createExplosion(t,a,n,i,r){return i<0||i>13?(s.error("[Player]: The valid explosion type value is only 0 to 13"),0):vl(this.id,t,a,n,i,r)}static isConnected(t){return Ce(t)}isConnected(){return Ce(this.id)}disableRemoteVehicleCollisions(t){return Dl(this.id,t)}getVehicle(t){if(!this.isInAnyVehicle())return;const a=gl(this.id);return t.find(n=>n.id===a)}getVehicleSeat(){return Sl(this.id)}getSurfingVehicle(t){const a=dl(this.id);if(a!==C.VEHICLE_ID)return t.find(n=>n.id===a)}applyAnimation(t,a,n=!1,i=!0,r=!0,l=!1,o=!1){const d=Qe(t,a);if(d===void 0)return s.error("[Player]: Invalid anim library or name");fl(this.id,t,a,4.1,n,i,r,l,n?0:d,o)}clearAnimations(t=!1){Al(this.id,t)}getAnimationIndex(){return El(this.id)}getAnimationName(){const[t,a]=Xn(this.getAnimationIndex());return{animLib:t,animName:a}}setShopName(t){sl(this.id,t)}setPosFindZ(t,a,n=150){return new Promise(i=>{Ee(this.id,t,a,n),setTimeout(()=>i(dr(this.id,t,a,n)))})}setWorldBounds(t,a,n,i){xl(this.id,t,a,n,i)}clearWorldBounds(){return Hl(this.id)}setChatBubble(t,a,n,i){ul(this.id,t,a,n,i)}getDistanceFromPoint(t,a,n){return ur(this.id,t,a,n)}getCustomSkin(){return bl(this.id)}getTargetPlayer(t){const a=Tr(this.id);if(a!==C.PLAYER_ID)return t.find(n=>n.id===a)}getLastShotVectors(){const[t,a,n,i,r,l]=ml(this.id);return{fOriginX:t,fOriginY:a,fOriginZ:n,fHitPosX:i,fHitPosY:r,fHitPosZ:l}}getWeapon(){return Zr(this.id)}getWeaponData(t){if(t<0||t>12){s.error("[Player]: weapon slots range from 0 to 12");return}const[a,n]=xr(this.id,t);return{weapons:a,ammo:n}}getWeaponState(){return Cr(this.id)}giveWeapon(t,a){return Fr(this.id,t,a)}setAmmo(t,a){return Ar(this.id,t,a)}getAmmo(){return Er(this.id)}setArmedWeapon(t){return Mr(this.id,t)}clearDeathMessage(){for(let t=0;t<5;t++)this.sendDeathMessageToPlayer(C.PLAYER_ID,C.PLAYER_ID,le.CONNECT)}sendDeathMessage(t,a){Tn(t===C.PLAYER_ID?t:t.id,this.id,a)}sendDeathMessageToPlayer(t,a,n){lr(this.id,t===C.PLAYER_ID?t:t.id,a===C.PLAYER_ID?a:a.id,n)}setSpawnInfo(t,a,n,i,r,l,o,d,c,u,p,g){t<0||t>C.NO_TEAM||a<0||a>311||a==74||d<0||u<0||g<0||ii(this.id,t,a,n,i,r,l,o,d,c,u,p,g)}redirectDownload(t){return A_(this.id,t)}sendClientCheck(t,a,n,i){const r=[2,5,69,70,71,72];return r.includes(t)?new Promise((l,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",c=this.getPing(),u=(c>=200?0:c)+200;let p=null;const g=tt(({player:I,actionId:A,memAddr:b,data:M,next:q})=>{if(I!==this)return q();p?(clearTimeout(p),p=null,o(d)):l({actionId:A,memAddr:b,data:M});const ct=q();return g(),ct});p=setTimeout(()=>{g(),o(d)},u),Di(this.id,t,a,n,i)}):s.error(`[Player]: sendClientCheck valid types are ${r.toString()}`)}selectTextDraw(t){vc(this.id,t)}cancelSelectTextDraw(){Bc(this.id)}beginObjectSelecting(){S_(this.id)}endObjectEditing(){y_(this.id)}getSurfingObject(t){const a=cl(this.id);if(a!==C.OBJECT_ID)return t.get(a)}getSurfingPlayerObject(t){const a=_l(this.id);if(a!==C.OBJECT_ID)return t.get(a)}isAttachedObjectSlotUsed(t){return L_(this.id,t)}setAttachedObject(t,a,n,i,r,l,o,d,c,u,p,g,I,A){return this.isAttachedObjectSlotUsed(t)?0:D_(this.id,t,a,n,i,r,l,o,d,c,u,p,g,I,A)}removeAttachedObject(t){return this.isAttachedObjectSlotUsed(t)?N_(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 Bi(this.id,t)}isWidescreenToggled(){return wi(this.id)}getSpawnInfo(){return li(this.id)}getSkillLevel(t){return Gi(this.id,t)}isCheckpointActive(){return Uo(this.id)}getCheckpoint(){return Ko(this.id)}isRaceCheckpointActive(){return Zo(this.id)}getRaceCheckpoint(){return jo(this.id)}getWorldBounds(){Fi(this.id)}isInModShop(){return Mo(this.id)}getSirenState(){return xo(this.id)}getLandingGearState(){return Ho(this.id)}getHydraReactorAngle(){return Vo(this.id)}getTrainSpeed(){return Wo(this.id)}getZAim(){return ki(this.id)}getSurfingOffsets(){return Mi(this.id)}getRotationQuat(){return xi(this.id)}getDialogID(){return Hi(this.id)}getSpectateID(){return Vi(this.id)}getSpectateType(){return Wi(this.id)}getRawIp(){return Ri(this.id)}setGravity(t){return Ui(this.id,t)}getGravity(){return Ki(this.id)}setAdmin(t){return Si(this.id,t)}isSpawned(){return Zi(this.id)}isControllable(){return ji(this.id)}isCameraTargetEnabled(){return Xi(this.id)}toggleGhostMode(t){return Yi(this.id,t)}getGhostMode(){return zi(this.id)}getBuildingsRemoved(){return Ji(this.id)}getAttachedObject(t){return T_(this.id,t)}removeWeapon(t){return $i(this.id,t)}isUsingOfficialClient(){return qi(this.id)}allowWeapons(t){return ar(this.id,t)}areWeaponsAllowed(){return nr(this.id)}gpci(t=this.charset){return Ti(this.id,t)}isCuffed(){return ns(this.id)}isInDriveByMode(){return is(this.id)}static getInstance(t){return this.players.get(t)}static getInstances(){return[...this.players.values()]}}const[at]=h({name:"OnDialogResponseI18n",identifier:"iiiiai",beforeEach(e,t,a,n,i){return{player:m.getInstance(e),dialogId:t,response:a,listItem:n,buffer:i}}});at(({next:e,player:t,dialogId:a,response:n,listItem:i,buffer:r})=>{const l=D.waitingQueue.get(t);return!l||l.showId!==a||setTimeout(()=>l.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}),G_(t,this.id,this.dialog)}).then(a=>{const{response:n,listItem:i}=a,r=P.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),Qi(t.id)}}const[nt]=h({name:"OnPlayerConnect",beforeEach(e){const t=new m(e);return m.players.set(e,t),D.close(t),{player:t}}}),[it]=h({name:"OnPlayerDisconnect",beforeEach(e,t){return{player:m.players.get(e),reason:t}},afterEach({player:e}){m.players.delete(e.id)}}),[rt]=h({name:"OnPlayerUpdate",beforeEach(e){return{player:m.getInstance(e)}}}),[K_]=h({name:"OnPlayerTextI18n",identifier:"iai",beforeEach(e,t){const a=m.getInstance(e);return{player:a,text:P.decodeFromBuf(t,a.charset),buffer:t}}}),[Z_]=h({name:"OnPlayerEnterExitModShop",beforeEach(e,t,a){return{player:m.getInstance(e),enterExit:Boolean(t),interior:a}}}),[j_]=h({name:"OnPlayerClickMap",beforeEach(e,t,a,n){return{player:m.getInstance(e),fX:t,fY:a,fZ:n}}}),[X_]=h({name:"OnPlayerClickPlayer",beforeEach(e,t,a){return{player:m.getInstance(e),clickedPlayer:m.getInstance(t),source:a}}}),[Y_]=h({name:"OnPlayerDeath",beforeEach(e,t,a){return{player:m.getInstance(e),killer:m.getInstance(t)||C.PLAYER_ID,reason:a}}}),[z_]=h({name:"OnPlayerGiveDamage",beforeEach(e,t,a,n,i){return{player:m.getInstance(e),damage:m.getInstance(t),amount:a,weapon:n,bodyPart:i}}}),[J_]=h({name:"OnPlayerKeyStateChange",beforeEach(e,t,a){return{player:m.getInstance(e),newKeys:t,oldKeys:a}}}),[$_]=h({name:"OnPlayerRequestClass",beforeEach(e,t){return{player:m.getInstance(e),classId:t}}}),[Q_]=h({name:"OnPlayerRequestSpawn",beforeEach(e){return{player:m.getInstance(e)}}}),[q_]=h({name:"OnPlayerSpawn",beforeEach(e){return{player:m.getInstance(e)}}}),[eh]=h({name:"OnPlayerStateChange",beforeEach(e,t,a){return{player:m.getInstance(e),newState:t,oldState:a}}}),[th]=h({name:"OnPlayerSteamIn",beforeEach(e,t){return{player:m.getInstance(e),forPlayer:m.getInstance(t)}}}),[ah]=h({name:"OnPlayerSteamOut",beforeEach(e,t){return{player:m.getInstance(e),forPlayer:m.getInstance(t)}}}),[nh]=h({name:"OnPlayerTakeDamage",beforeEach(e,t,a,n,i){return{player:m.getInstance(e),damage:m.getInstance(t)||C.PLAYER_ID,amount:a,weapon:n,bodyPart:i}}}),[ih]=h({name:"OnPlayerInteriorChange",beforeEach(e,t,a){return{player:m.getInstance(e),newInteriorId:t,oldInteriorId:a}}}),[rh]=h({name:"OnPlayerRequestDownload",beforeEach(e,t,a){return{player:m.getInstance(e),type:t,crc:a}}}),[lh]=h({name:"OnPlayerFinishedDownloading",beforeEach(e,t){return{player:m.getInstance(e),virtualWorld:t}}});let Q=null;const[sh,oh]=h({name:"OnPlayerPause",isNative:!1,beforeEach(e,t){return{player:e,pausedAt:t}}}),[dh,ch]=h({name:"OnPlayerResume",isNative:!1,beforeEach(e,t,a,n){return{player:e,pausedAt:t,now:a,diff:n}}});nt(({next:e})=>(!Q&&m.getInstances().length&&(Q=setInterval(()=>{m.getInstances().filter(t=>{const a=t.getState()!==j.NONE;return!t.isPaused&&!t.isNpc()&&a}).forEach(t=>{Date.now()-t.lastUpdateTick>1e3&&(t.isPaused=!0,oh(t,t.lastUpdateTick))})},500)),e())),it(({next:e})=>(Q&&m.getInstances().length<=1&&(clearInterval(Q),Q=null),e()));function _h(e){if(!m.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}}rt(({player:e,next:t})=>{if(!e.isNpc()){const a=Date.now();e.isPaused&&(e.isPaused=!1,ch(e,e.lastUpdateTick,a,a-e.lastUpdateTick)),e.lastUpdateTick=a,_h(e)}return t()});const Y=new Map,lt=/[^/\s]+/gi,se={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"}},[hh,mh]=h({name:"OnCommandReceived",isNative:!1,beforeEach(e,t){return{player:e,command:t}}}),[uh,ph]=h({name:"OnCommandPerformed",isNative:!1,beforeEach(e,t){return{player:e,command:t}}}),[gh,oe]=h({name:"OnCommandError",isNative:!1,defaultValue:!1,beforeEach(e,t,a){return{player:e,command:t,error:a}}}),[Sh]=h({name:"OnPlayerCommandTextI18n",identifier:"iai",beforeEach(e,t){return{player:m.getInstance(e),buffer:t}}});function yh(e){const t=[];let a="";for(let n=0;n<e.length;n++)a+=e[n]+" ",t.push(a.trimEnd());return t.reverse()}Sh(({player:e,buffer:t,next:a})=>{const n=P.decodeFromBuf(t,e.charset).match(lt),i=yh(n).find(u=>Y.get(u)),r=n.join(" ");if(!i)return oe(e,r,se.NOT_EXIST);const l=mh(e,r);if(!l)return l;const o=Y.get(i),[,d]=o,c=r.replace(i,"").trim().split(" ");return d(e,c)?ph(e,r)?a():oe(e,r,se.PERFORMED):oe(e,r,se.REJECTED)});const st={on(e,t){const a=Array.isArray(e)?e:[e],n=a.find(r=>!r.match(lt));if(n)return console.log(`error command ${n} format`),()=>{};const i=a.map(r=>{const l=r.replaceAll("/","");if(!Y.has(l)){const d=h({name:l,isNative:!1,beforeEach(c,u){return{player:c,subcommand:u}}});Y.set(l,d)}const[o]=Y.get(l);return o(t)});return()=>{i.forEach(r=>r())}},off(e){(Array.isArray(e)?e:[e]).forEach(t=>{Y.has(t)&&fe(t)})}},de=Object.freeze({onConnect:nt,onDisconnect:it,onPause:sh,onResume:dh,onUpdate:rt,onText:K_,onEnterExitModShop:Z_,onClickMap:j_,onClickPlayer:X_,onDeath:Y_,onGiveDamage:z_,onKeyStateChange:J_,onRequestClass:$_,onRequestSpawn:Q_,onSpawn:q_,onStateChange:eh,onStreamIn:th,onStreamOut:ah,onTakeDamage:nh,onInteriorChange:ih,onRequestDownload:rh,onFinishedDownloading:lh,onCheckResponse:tt,onCommandReceived:hh,onCommandPerformed:uh,onCommandError:gh,onCommandText:st.on,offCommandText:st.off,onDialogResponse:at}),Ih=[8,9,10,25,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,96,97,98],Ph=[[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],[],[],[],[],[],[],[],[]],fh=(e,t)=>{if(!Ah(e))return s.error("[vehicleUtils]: Invalid model id"),!1;const a=Ph[e-400];if(a===null)return!1;const n=t-1e3;return Ih.includes(n)||a.includes(n)},Ah=e=>e>=400&&e<=611,Eh=(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 f{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 s.warn("[Vehicle]: Unable to create the vehicle again");if(f.createdCount===B.MAX_VEHICLES)return s.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:l,color:o,respawn_delay:d,addSiren:c}=this.sourceInfo;if(!(!t&&(a<400||a>611))){if(this.isStatic){if(d===void 0){this._id=wo(a,n,i,r,l,o[0],o[1]);return}this._id=Go(a,n,i,r,l,o[0],o[1],d||-1,c||!1)}else this._id=Us(a,n,i,r,l,o[0],o[1],d||-1,c||!1);f.createdCount++,f.vehicles.set(this._id,this)}}destroy(){if(this.id===-1)return s.warn("[Vehicle]: Unable to destroy the vehicle before create");Ks(this.id),f.createdCount--,f.vehicles.delete(this._id),this._id=-1}addComponent(t){return this.id===-1?0:fh(this.getModel(),t)?co(this.id,t):(s.warn(`[Vehicle]: Invalid component id ${t} attempted to attach to the vehicle ${this}`),0)}removeComponent(t){return this.getComponentInSlot(f.getComponentType(t))===0?(s.warn(`[Vehicle]: component id ${t} does not exist on this vehicle`),0):_o(this.id,t)}getComponentInSlot(t){return Ao(this.id,t)}linkToInterior(t){return this.id===-1?0:oo(this.id,t)}setVirtualWorld(t){return this.id===-1?0:vo(this.id,t)}getVirtualWorld(){return this.id===-1?0:Bo(this.id)}repair(){return this.id===-1?0:Co(this.id)}setPos(t,a,n){return this.id===-1?0:Xs(this.id,t,a,n)}getPos(){if(this.id!==-1)return js(this.id)}getHealth(){return this.id===-1?0:po(this.id)}setHealth(t){return this.id===-1?0:uo(this.id,t)}isPlayerIn(t){return this.id===-1?!1:kl(t.id,this.id)}putPlayerIn(t,a){return this.id===-1||a<0?0:(a>4&&s.warn("[Vehicle]: If the seat is invalid or is taken, will cause a crash when they EXIT the vehicle."),pl(t.id,this.id,a))}getZAngle(){return this.id===-1?0:Ys(this.id)}setZAngle(t){return this.id===-1?0:$s(this.id,t)}setNumberPlate(t){return this.id===-1?0:t.length<1||t.length>32?(s.error("[Vehicle]: The length of the number plate ranges from 32 characters"),0):/^[a-zA-Z0-9]+$/.test(t)?Po(this.id,t):(s.error("[Vehicle]: number plates only allow letters and numbers"),0)}changeColors(t,a){return this.id===-1?0:ho(this.id,t,a)}setVelocity(t,a,n){return this.id===-1?!1:Do(this.id,t,a,n)}getVelocity(){if(this.id===-1)return;const[t,a,n]=To(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:No(this.id,t,a,n)}getDamageStatus(){if(this.id!==-1)return Lo(this.id)}updateDamageStatus(t,a,n,i){this.id!==-1&&Ro(this.id,t,a,n,i)}getDistanceFromPoint(t,a,n){return Js(this.id,t,a,n)}getModel(){return fo(this.id)}static getModelInfo(t,a){return bo(t,a)}getModelInfo(t){if(this.id!==-1)return f.getModelInfo(this.getModel(),t)}getRotationQuat(){if(this.id===-1)return;const[t,a,n,i]=zs(this.id);return{w:t,x:a,y:n,z:i}}setRespawn(){return this.id===-1?0:so(this.id)}isStreamedIn(t){return this.id===-1?!1:Zs(this.id,t.id)}setParamsCarDoors(t,a,n,i){return this.id===-1?0:no(this.id,t,a,n,i)}setParamsCarWindows(t,a,n,i){return this.id===-1?0:ro(this.id,t,a,n,i)}getParamsCarDoors(){if(this.id!==-1)return io(this.id)}getParamsCarWindows(){if(this.id!==-1)return lo(this.id)}setParamsEx(t,a,n,i,r,l,o){return this.id===-1?0:eo(this.id,t,a,n,i,r,l,o)}getParamsEx(){if(this.id===-1)return;const[t,a,n,i,r,l,o]=to(this.id);return{engine:t,lights:a,alarm:n,doors:i,bonnet:r,boot:l,objective:o}}getParamsSirenState(){return this.id===-1?-2:ao(this.id)}setParamsForPlayer(t,a,n){return this.id===-1?0:Qs(this.id,t.id,a,n)}isTrailerAttached(){return this.id===-1?!1:yo(this.id)}changePaintjob(t){return this.id===-1||!Eh(this.getModel(),t)?0:(this.changeColors("#fff","#fff"),mo(this.id,t),1)}attachTrailer(t){return this.id===-1?0:go(t.id,this.id)}detachTrailer(){this.id!==-1&&this.isTrailerAttached()&&So(this.id)}getTrailer(){if(this.id!==-1)return f.getInstances().find(t=>t.id===Io(this.id))}isValid(){return De(this.id)}getMatrix(){if(this.id!==-1)return Vs(this.id)}getTrainSpeed(){return this.id===-1?0:Hs(this.id)}getHydraReactorAngle(){return this.id===-1?0:xs(this.id)}getLandingGearState(){return this.id===-1?0:Ms(this.id)}getSirenState(){return this.id===-1?0:ks(this.id)}getDriver(t){if(this.id!==-1)return t.get(Os(this.id))}getLastDriver(t){if(this.id!==-1)return t.get(Gs(this.id))}isSirenEnabled(){return Bs(this.id)}toggleSirenEnabled(t){return this.id===-1?0:bs(this.id,t)}setParamsSirenState(t){return this.id===-1?0:vs(this.id,t)}isDead(){return this.id===-1?!0:Ns(this.id)}setDead(t){return this.id===-1?!1:Ls(this.id,t)}setBeenOccupied(t){return this.id===-1?!1:Rs(this.id,t)}getRespawnTick(){return this.id===-1?0:Ts(this.id)}setRespawnTick(t){return this.id===-1?!1:Ds(this.id,t)}isOccupied(){return this.id===-1?!1:Cs(this.id)}hasBeenOccupied(){return this.id===-1?!1:Es(this.id)}getOccupiedTick(){return this.id===-1?0:fs(this.id)}setOccupiedTick(t){return this.id===-1?0:As(this.id,t)}getCab(){return this.id===-1?0:Ps(this.id)}getRespawnDelay(){return this.id===-1?0:Is(this.id)}setRespawnDelay(t){return this.id===-1?0:ys(this.id,t)}getNumberPlate(){return this.id===-1?"":Ss(this.id)}getInterior(){return this.id===-1?0:gs(this.id)}getPaintjob(){return this.id===-1?-1:ps(this.id)}getColors(){if(this.id!==-1)return us(this.id)}setSpawnInfo(t,a,n,i,r,l,o,d=-2,c=-2,u=!1){return this.id===-1||!u&&(t<400||t>611)?0:ms(this.id,t,a,n,i,r,y(l),y(o),d,c)}getSpawnInfo(){if(this.id!==-1)return hs(this.id)}getRandomColorPair(){if(this.id!==-1)return Te(this.getModel())}show(){return this.id===-1?!1:Oo(this.id)}hide(){return this.id===-1?!1:Fo(this.id)}isHidden(){return this.id===-1?!1:ko(this.id)}static getRandomColorPair(t){return Te(t)}static getComponentType=Eo;static colorIndexToColor=Ws;static isValid(t){return De(t)}static getModelsUsed=Fs;static getModelCount=ws;static getInstance(t){return this.vehicles.get(t)}static getInstances(){return[...this.vehicles.values()]}}const[ot]=h({name:"OnGameModeInit"}),[dt]=h({name:"OnGameModeExit"}),[Ch]=h({name:"OnIncomingConnection",beforeEach(e,t,a){return{playerId:e,ipAddress:t,port:a}}}),[Th]=h({name:"OnRconCommandI18n",identifier:"ai",beforeEach(e){return{buffer:e,cmd:P.decodeFromBuf(e)}}}),[Dh]=h({name:"OnRconLoginAttemptI18n",identifier:"aiaii",beforeEach(e,t,a){return{ip:P.decodeFromBuf(e),password:P.decodeFromBuf(t),success:Boolean(a),ipBuffer:e,passwordBuffer:t}}}),V=[],z=[],ce=e=>{setTimeout(async()=>{try{const t=V.findIndex(n=>n.name===e);if(t===-1)return;const a=V[t];await a.load(),V.splice(t,1),z.push(a)}catch(t){s.error(`[GameMode]: script ${e} load fail`),s.warn(new Error(JSON.stringify(t)))}})},_e=e=>{setTimeout(async()=>{try{const t=z.findIndex(n=>n.name===e);if(t===-1)return;const a=z[t];await a.unload(),z.splice(t,1),V.push(a)}catch(t){s.error(`[GameMode]: script ${e} unload fail`),s.warn(new Error(JSON.stringify(t)))}})},Nh=e=>{_e(e),ce(e)};ot(({next:e})=>(V.forEach(t=>ce(t.name)),e())),dt(({next:e})=>(z.forEach(t=>_e(t.name)),e()));const Lh=function(e,...t){if(V.some(a=>a===e)||z.some(a=>a===e)){s.warn("[GameMode]: script has already been applied");return}e.load=e.load.bind(e,...t),V.push(e)};var Rh={use(e,...t){return Lh(e,...t),this},loadUseScript:ce,reloadUseScript:Nh,unloadUseScript:_e,supportAllNickname(){for(let e=0;e<=255;e++)this.isNickNameCharacterAllowed(e)||this.allowNickNameCharacter(e,!0)},setWeather(e){return e<0||e>255?(s.error("[GameMode]: The valid weather value is only 0 to 255"),0):Gn(e)},setWorldTime(e){return e<0||e>23?(s.error("[GameMode]: The valid hour value is only 0 to 23"),0):vn(e)},getWorldTime:Bn,setTeamCount:ti,sendRconCommand:Ci,addPlayerClass:ai,addPlayerClassEx:ni,createExplosion(e,t,a,n,i){return n<0||n>13?(s.error("[GameMode]: The valid explosion type value is only 0 to 13"),0):kn(e,t,a,n,i)},manualVehicleEngineAndLights:qs,blockIpAddress:Ai,unBlockIpAddress:Ei,getServerTickRate:jn,addSimpleModel(e,t,a,n,i){return this.checkSimpleModel(e,t,a,n,i)?P_(e,t,a,n,i):0},addSimpleModelTimed(e,t,a,n,i,r,l){return this.checkSimpleModel(e,t,a,n,i,r,l)?f_(e,t,a,n,i,r,l):0},checkSimpleModel(e,t,a,n,i,r,l){return e<-1?(s.error("[GameMode]: AddSimpleModel - Error virtual world"),0):t<0?(s.error("[GameMode]: AddSimpleModel - Error baseId"),0):a>-1e3||a<-3e4?(s.error("[GameMode]: AddSimpleModel - Error newId range"),0):n.trim().length<0?(s.error("[GameMode]: AddSimpleModel - Empty dffName"),0):i.trim().length<0?(s.error("[GameMode]: AddSimpleModel - Empty txdName"),0):r!==void 0&&(r<0||r>23)?(s.error("[GameMode]: AddSimpleModel - Error time on range"),0):l!==void 0&&(l<0||l>23)?(s.error("[GameMode]: AddSimpleModel - Error time off range"),0):1},isValidCustomModel:Ne,getCustomModePath:R_,getConsoleVarAsString(e,t="utf8"){const a=pn(e);return P.decodeFromBuf(P.getValidStr(a),t)},getRestartTime:An,setRestartTime:fn,allowAdminTeleport:dn,isAdminTeleportAllowed:cn,allowInteriorWeapons:_n,areInteriorWeaponsAllowed:hn,areAllAnimationsEnabled:mn,enableAllAnimations:un,enableStuntBonusForAll:Yn,enableVehicleFriendlyFire:wn,enableZoneNames:Mn,disableInteriorEnterExits:Hn,setGameModeText:Ln,getGravity:On,setGravity:Fn,showNameTags:Rn,disableNameTagLOS:Wn,usePlayerPedAnims:xn,showPlayerMarkers:bn,limitPlayerMarkerRadius:Kn,limitGlobalChatRadius:Un,setNameTagDrawDistance:Vn,findModelFileNameFromCRC:E_,findTextureFileNameFromCRC:C_,getWeaponName:Qn,setObjectsDefaultCameraCollision:I_,vectorSize:Nn,clearBanList:Ni,isBanned:Li,isValidNickName:tn,allowNickNameCharacter:an,isNickNameCharacterAllowed:nn,addServerRule:rn,setServerRule:ln,isValidServerRule:sn,removeServerRule:on,getWeaponSlot:$n,getAvailableClasses:Ae,getPlayerClass:qn,editPlayerClass:ei,toggleChatTextReplacement:zn,chatTextReplacementToggled:Jn,getConsoleVarAsInt:gn,getConsoleVarAsBool:Sn,getWeather:yn,getServerRuleFlag:In,setServerRuleFlags:Pn};const R={onInit:ot,onExit:dt,onIncomingConnection:Ch,onRconCommand:Th,onRconLoginAttempt:Dh,...Rh};R.onExit(({next:e})=>(f.getInstances().forEach(t=>t.destroy()),e()));const[bh]=h({name:"OnVehicleDamageStatusUpdate",beforeEach(e,t){return{vehicle:f.getInstance(e),player:m.getInstance(t)}}}),[vh]=h({name:"OnVehicleDeath",beforeEach(e,t){return{vehicle:f.getInstance(e),killer:m.getInstance(t)}}}),[Bh]=h({name:"OnVehicleMod",beforeEach(e,t,a){return{player:m.getInstance(e),vehicle:f.getInstance(t),componentId:a}}}),[wh]=h({name:"OnVehiclePaintjob",beforeEach(e,t,a){return{player:m.getInstance(e),vehicle:f.getInstance(t),paintjobId:a}}}),[Gh]=h({name:"OnVehicleRespray",beforeEach(e,t,a,n){return{player:m.getInstance(e),vehicle:f.getInstance(t),color:[a,n]}}}),[Oh]=h({name:"OnVehicleSirenStateChange",beforeEach(e,t,a){return{player:m.getInstance(e),vehicle:f.getInstance(t),state:!!a}}}),[Fh]=h({name:"OnVehicleSpawn",beforeEach(e){return{vehicle:f.getInstance(e)}}}),[kh]=h({name:"OnVehicleStreamIn",beforeEach(e,t){return{vehicle:f.getInstance(e),forPlayer:m.getInstance(t)}}}),[Mh]=h({name:"OnVehicleStreamOut",beforeEach(e,t){return{vehicle:f.getInstance(e),forPlayer:m.getInstance(t)}}}),[xh]=h({name:"OnPlayerEnterVehicle",beforeEach(e,t,a){return{player:m.getInstance(e),vehicle:f.getInstance(t),isPassenger:!!a}}}),[Hh]=h({name:"OnPlayerExitVehicle",beforeEach(e,t){return{player:m.getInstance(e),vehicle:f.getInstance(t)}}}),[Vh]=h({name:"OnNpcEnterVehicle",beforeEach(e,t){return{vehicle:f.getInstance(e),seatId:t}}}),[Wh]=h({name:"OnNpcExitVehicle"}),[Uh]=h({name:"OnTrailerUpdate",beforeEach(e,t){return{player:m.getInstance(e),vehicle:f.getInstance(t)}}}),Kh=Object.freeze({onDamageStatusUpdate:bh,onDeath:vh,onMod:Bh,onPaintjob:wh,onRespray:Gh,onSirenStateChange:Oh,onSpawn:Fh,onStreamIn:kh,onStreamOut:Mh,onPlayerEnter:xh,onPlayerExit:Hh,onNpcEnter:Vh,onNpcExit:Wh,onTrailerUpdate:Uh});class Zh{constructor(){}static getNetworkStats(){return fi()}static getPlayerNetworkStats(t){return Pi(t.id)}static getBytesReceived(t){return di(t.id)}static getBytesSent(t){return _i(t.id)}static getConnectionStatus(t){return ui(t.id)}static getConnectedTime(t){return si(t.id)}static getIpPort(t){return pi(t.id)}static getMessagesReceived(t){return oi(t.id)}static getMessagesRecvPerSecond(t){return hi(t.id)}static getMessagesSent(t){return ci(t.id)}static getPacketLossPercent(t){return mi(t.id)}}class jh{_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){Cn(t)}static has(t,a){return rr(t.id,a)}forAll(){En(this.text,this.time,this.style)}forPlayer(t){ir(t.id,this.text,this.time,this.style)}hideForPlayer(t){return sr(t.id,this.style)}}class Z{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){s.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,l){this._title=t,this.columns=a,this._x=n,this._y=i,this._col1width=r,this._col2width=l}create(){return this._id!==-1?s.error("[Menu]: Cannot be created twice"):Z.getInstances().length===B.MAX_MENUS?s.error("[Menu]: The maximum number of menus allowed to be created has been reached 128"):(this._id=ed(this.title,this.columns,this.x,this.y,this.col1width,this.col2width),Z.menus.set(this._id,this),this)}destroy(){return this._id===-1?s.error("[Menu]: Cannot destroy before create"):(td(this.id),Z.menus.delete(this._id),this._id=-1,this)}addItem(t,a){return this._id===-1?s.error("[Menu]: Cannot addItem before create"):this._itemCount===B.MAX_MENU_ROW?s.error("[Menu]: The maximum number of items allowed to be added has been reached 12"):t!==0&&t!==1?s.error("[Menu]: Wrong number of columns"):(ad(this.id,t,a),this._itemCount++,this)}setColumnHeader(t,a){return this._id===-1?s.error("[Menu]: Cannot setColumnHeader before create"):t!==0&&t!==1?s.error("[Menu]: Wrong number of columns"):(nd(this.id,t,a),this)}disable(){return this._id===-1?s.error("[Menu]: Cannot disable menu before create"):(sd(this.id),this)}disableRow(t){if(this._id===-1)return s.error("[Menu]: Cannot disable row before create");if(t<0||t>this.itemCount-1)return s.error("[Menu]: Wrong number of rows");od(this.id,t)}isValid(){return ld(this.id)}showForPlayer(t){return this._id===-1?s.error("[Menu]: Cannot show menu before create"):id(this.id,t.id)}hideForPlayer(t){return this._id===-1?s.error("[Menu]: Cannot hide menu before create"):rd(this.id,t.id)}isDisabled(){return this._id===-1?!1:Xo(this.id)}isRowDisabled(t){return this._id===-1||t<0||t>this._itemCount?!1:Yo(this.id,t)}getItems(t){return this._id===-1?0:zo(this.id,t)}getPos(){return this._id===-1?{fX:this.x,fY:this.y}:Jo(this.id)}getColumnWidth(){return this.id===-1?{fColumn1:this.col1width,fColumn2:this.col2width}:$o(this.id)}getColumnHeader(t){return this._id===-1?s.error("[Menu]: Cannot get column header before create"):Qo(this.id,t)}getItem(t,a){if(this._id===-1)return s.error("[Menu]: Cannot get item before create");if(!(a<0||a>this.getItems(t)-1))return qo(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===dd(t.id))}}R.onExit(({next:e})=>(Z.getInstances().forEach(t=>t.destroy()),e()));const[Xh]=h({name:"OnPlayerExitedMenu",beforeEach(e){return{player:m.getInstance(e)}}}),[Yh]=h({name:"OnPlayerSelectedMenuRow",beforeEach(e,t){const a=m.getInstance(e),n=Z.getInstanceByPlayer(a);return{player:a,menu:n,row:t}}}),zh=Object.freeze({onPlayerExited:Xh,onPlayerSelectedRow:Yh});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 s.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 s.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=Ld(t.id,a,n,i,r);const l=de.onDisconnect(({player:o,next:d})=>{d(),o===this.sourceInfo.player&&(this.destroy(),l())});N.playerGangZones.set(this.id,this)}else{if(N.getInstances(!0).length===B.MAX_GANG_ZONES)return s.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=yd(a,n,i,r),N.globalGangZones.set(this.id,this)}}destroy(){if(this.id===-1)return s.warn("[GangZone]: Unable to destroy the gangzone before create");const{player:t}=this.sourceInfo;t?(Rd(t.id,this.id),N.playerGangZones.delete(this.id)):(Id(this.id),N.globalGangZones.delete(this.id)),this._id=-1}showForAll(t){return this.id===-1?s.warn("[GangZone]: Unable to show the gangzone before create"):this.sourceInfo.player?s.warn("[GangZone]: player's gangzone should not be show for all."):(fd(this.id,t),this)}showForPlayer(t,a){if(this.id===-1)return s.warn("[GangZone]: Unable to show the gangzone before create");const n=this.sourceInfo.player;if(n)bd(n.id,this.id,y(t));else if(a)Pd(a.id,this.id,t);else return s.warn("[GangZone]: invalid player for show");return this}hideForAll(){return this.id===-1?s.warn("[GangZone]: Unable to hide the gangzone before create"):this.sourceInfo.player?s.warn("[GangZone]: player's gangzone should not be hide for all."):(Ed(this.id),this)}hideForPlayer(t){if(this.id===-1)return s.warn("[GangZone]: Unable to hide the gangzone before create");const a=this.sourceInfo.player;if(a)vd(a.id,this.id);else if(t)Ad(t.id,this.id);else return s.warn("[GangZone]: invalid player for hide");return this}flashForAll(t){return this.id===-1?s.warn("[GangZone]: Unable to flash the gangzone before create"):this.sourceInfo.player?s.warn("[GangZone]: player's gangzone should not be flash for all."):(Td(this.id,t),this)}flashForPlayer(t,a){if(this.id===-1)return s.warn("[GangZone]: Unable to flash the gangzone before create");const n=this.sourceInfo.player;if(n)Bd(n.id,this.id,y(a));else if(t)Cd(t.id,this.id,a);else return s.warn("[GangZone]: invalid player for flash");return this}stopFlashForAll(){return this.id===-1?s.warn("[GangZone]: Unable to stop flash the gangzone before create"):this.sourceInfo.player?s.warn("[GangZone]: player's gangzone should not be stop flash for all."):(Nd(this.id),this)}stopFlashForPlayer(t){if(this.id===-1)return s.warn("[GangZone]: Unable to stop flash the gangzone before create");const a=this.sourceInfo.player;if(a)wd(a.id,this.id);else if(t)Dd(t.id,this.id);else return s.warn("[GangZone]: invalid player for flash");return this}isValid(){if(this.id===-1)return!1;const t=this.sourceInfo.player;return t?Gd(t.id,this.id):cd(this.id)}isPlayerIn(t){if(this.id===-1)return!1;const a=this.sourceInfo.player;return a?Od(a.id,this.id):_d(t.id,this.id)}isVisibleForPlayer(t){if(this.id===-1)return!1;const a=this.sourceInfo.player;return a?Fd(a.id,this.id):hd(t.id,this.id)}getColorForPlayer(t){if(this.id===-1)return s.warn("[GangZone]: Unable to get color before create");const a=this.sourceInfo.player;return a?kd(a.id,this.id):md(t.id,this.id)}getFlashColorForPlayer(t){if(this.id===-1)return s.warn("[GangZone]: Unable to get flash color before create");const a=this.sourceInfo.player;return a?Md(a.id,this.id):ud(t.id,this.id)}isFlashingForPlayer(t){if(this.id===-1)return!1;const a=this.sourceInfo.player;return a?xd(a.id,this.id):pd(t.id,this.id)}getPos(){if(this.id===-1)return s.warn("[GangZone]: Unable to get position before create");const t=this.sourceInfo.player;return t?Hd(t.id,this.id):gd(this.id)}useCheck(t){if(this.id===-1)return s.warn("[GangZone]: Unable to use check before create");const a=this.sourceInfo.player;return a?Vd(a.id,this.id,t):Sd(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()]}}R.onExit(({next:e})=>(N.getInstances(!0).forEach(t=>t.destroy()),N.getInstances(!1).forEach(t=>t.destroy()),e()));const[Jh]=h({name:"OnPlayerEnterGangZone",beforeEach(e,t){return{player:m.getInstance(e),gangZone:N.getInstance(t,!0)}}}),[$h]=h({name:"OnPlayerLeaveGangZone",beforeEach(e,t){return{player:m.getInstance(e),gangZone:N.getInstance(t,!0)}}}),[Qh]=h({name:"OnPlayerEnterPlayerGangZone",beforeEach(e,t){return{player:m.getInstance(e),gangZone:N.getInstance(t,!1)}}}),[qh]=h({name:"OnPlayerLeavePlayerGangZone",beforeEach(e,t){return{player:m.getInstance(e),gangZone:N.getInstance(t,!1)}}}),[em]=h({name:"OnPlayerClickGangZone",beforeEach(e,t){return{player:m.getInstance(e),gangZone:N.getInstance(t,!0)}}}),[tm]=h({name:"OnPlayerClickPlayerGangZone",beforeEach(e,t){return{player:m.getInstance(e),gangZone:N.getInstance(t,!1)}}}),am=Object.freeze({onPlayerEnterGlobal:Jh,onPlayerLeaveGlobal:$h,onPlayerEnterPlayer:Qh,onPlayerLeavePlayer:qh,onPlayerClickGlobal:em,onPlayerClickPlayer:tm}),[W]=h({name:"Streamer_OnItemStreamIn",identifier:"iii",beforeEach(e,t,a){return{type:e,id:t,forPlayer:m.getInstance(a)}}}),[U]=h({name:"Streamer_OnItemStreamOut",identifier:"iii",beforeEach(e,t,a){return{type:e,id:t,forPlayer:m.getInstance(a)}}}),[nm]=h({name:"Streamer_OnPluginError",identifier:"s",beforeEach(e){return{error:e}}});class T{constructor(){}static getTickRate=yt;static setTickRate=It;static getPlayerTickRate(t){return Pt(t.id)}static setPlayerTickRate(t,a=50){return ft(t.id,a)}static toggleChunkStream=At;static isToggleChunkStream=Et;static getChunkTickRate(t,a=-1){return a instanceof m?me(t,a.id):me(t,a)}static setChunkTickRate(t,a,n=-1){return n instanceof m?ue(t,a,n.id):ue(t,a,n)}static getChunkSize=Ct;static setChunkSize=Tt;static getMaxItems=Dt;static setMaxItems=Nt;static getVisibleItems(t,a=-1){return a instanceof m?pe(t,a.id):pe(t,a)}static setVisibleItems(t,a,n=-1){return n instanceof m?ge(t,a,n.id):ge(t,a,n)}static getRadiusMultiplier(t,a=-1){return a instanceof m?Se(t,a.id):Se(t,a)}static setRadiusMultiplier(t,a,n=-1){return n instanceof m?ye(t,n.id):ye(t,a,n)}static getTypePriority=Lt;static setTypePriority=Rt;static getCellDistance=bt;static setCellDistance=vt;static getCellSize=Bt;static setCellSize=wt;static toggleItemStatic=Gt;static isToggleItemStatic=Ot;static toggleItemInvAreas=Ft;static isToggleItemInvAreas=kt;static toggleItemCallbacks=Mt;static isToggleItemCallbacks=xt;static toggleErrorCallback=Ht;static isToggleErrorCallback=Vt;static amxUnloadDestroyItems=Wt;static processActiveItems=Ut;static toggleIdleUpdate(t,a){return Kt(t.id,a)}static isToggleIdleUpdate(t){return Zt(t.id)}static toggleCameraUpdate(t,a){return jt(t.id,a)}static isToggleCameraUpdate(t){return Xt(t.id)}static toggleItemUpdate(t,a,n){return Yt(t.id,a,n)}static isToggleItemUpdate(t,a){return zt(t.id,a)}static getLastUpdateTime(){return Jt()}static update(t,a=-1){return $t(t.id,a)}static updateEx(t,a,n,i,r,l,o,d,c){return Qt(t.id,a,n,i,r,l,o,d,c)}static getDistanceToItem=qt;static toggleItem(t,a,n,i){return ea(t.id,a,n,i)}static isToggleItem(t,a,n){return ta(t.id,a,n)}static toggleAllItems(t,a,n,i=[-1]){return aa(t.id,a,n,i)}static getItemInternalID(t,a,n){return na(t.id,a,n)}static getItemStreamerID(t,a,n){return ia(t.id,a,n)}static isItemVisible(t,a,n){return ra(t.id,a,n)}static destroyAllVisibleItems(t,a,n=1){return la(t.id,a,n)}static countVisibleItems(t,a,n=1){return sa(t.id,a,n)}static destroyAllItems=oa;static countItems=da;static getNearbyItems=ca;static getAllVisibleItems(t,a,n){_a(t.id,a,n)}static getItemPos=ha;static setItemPos=ma;static getItemOffset=ua;static setItemOffset=pa;static getFloatData=ga;static setFloatData=Sa;static getIntData=ya;static setIntData=Ia;static getArrayData=Pa;static setArrayData=fa;static isInArrayData=Aa;static appendArrayData=Ea;static removeArrayData=Ca;static getArrayDataLength=Ta;static getUpperBound=Da;static onPluginError=nm}class H{static mapIcons=new Map;sourceInfo;_id=-1;get id(){return this._id}constructor(t){this.sourceInfo=t}create(){if(this.id!==-1)return s.warn("[StreamerMapIcon]: Unable to create map icon again");let{style:t,streamDistance:a,worldId:n,interiorId:i,playerId:r,areaId:l,priority:o}=this.sourceInfo;const{x:d,y:c,z:u,type:p,color:g,extended:I}=this.sourceInfo;return p<0||p>63?s.error("[StreamerMapIcon]: Invalid map icon type"):(t??=Na.LOCAL,a??=ee.MAP_ICON_SD,o??=0,I?(typeof n=="number"?n=[-1]:n??=[-1],typeof i=="number"?i=[-1]:i??=[-1],typeof r=="number"?r=[-1]:r??=[-1],typeof l=="number"?l=[-1]:l??=[-1],this._id=La(d,c,u,p,y(g),t,a,n,i,r,l,o),H.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(l)?l=-1:l??=-1,this._id=Ra(d,c,u,p,y(g),n,i,r,a,t,l,o),H.mapIcons.set(this._id,this),this))}destroy(){return this.id===-1?s.warn("[StreamerMapIcon]: Unable to destroy the map icon before create"):(ba(this.id),H.mapIcons.delete(this._id),this._id=-1,this)}isValid(){return va(this.id)}toggleCallbacks(t=!0){return this.id===-1?s.warn("[StreamerMapIcon]: Unable to toggle callbacks before create"):T.toggleItemCallbacks(E.MAP_ICON,this.id,t)}isToggleCallbacks(){return this.id,T.isToggleItemCallbacks(E.MAP_ICON,this.id)}static getInstance(t){return this.mapIcons.get(t)}static getInstances(){return[...this.mapIcons.values()]}}R.onExit(({next:e})=>(H.getInstances().forEach(t=>t.destroy()),e()));const[im,rm]=h({name:"OnDynamicMapIconStreamIn",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}}),[lm,sm]=h({name:"OnDynamicMapIconStreamOut",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}});W(({type:e,id:t,forPlayer:a,next:n})=>e===E.MAP_ICON?rm(a,H.getInstance(t)):n()),U(({type:e,id:t,forPlayer:a,next:n})=>e===E.MAP_ICON?sm(a,H.getInstance(t)):n());const om=Object.freeze({onStreamIn:im,onStreamOut:lm});class x{static pickups=new Map;sourceInfo;_id=-1;get id(){return this._id}constructor(t){this.sourceInfo=t}create(){if(this.id!==-1)return s.warn("[StreamerPickup]: Unable to create pickup again");let{streamDistance:t,worldId:a,interiorId:n,playerId:i,areaId:r,priority:l}=this.sourceInfo;const{type:o,modelId:d,x:c,y:u,z:p,extended:g}=this.sourceInfo;return o<0||o>22?s.error("[StreamerPickup]: Invalid pickup type"):(t??=_.StreamerDistances.PICKUP_SD,l??=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=_.CreateDynamicPickupEx(d,o,c,u,p,t,a,n,i,r,l)):(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=_.CreateDynamicPickup(d,o,c,u,p,a,n,i,t,r,l)),x.pickups.set(this._id,this),this)}destroy(){return this.id===-1?s.warn("[StreamerPickup]: Unable to destroy the pickup before create"):(_.DestroyDynamicPickup(this.id),x.pickups.delete(this.id),this._id=-1,this)}isValid(){return _.IsValidDynamicPickup(this.id)}toggleCallbacks(t=!0){return this.id===-1?s.warn("[StreamerPickup]: Unable to toggle callbacks before create"):T.toggleItemCallbacks(_.StreamerItemTypes.PICKUP,this.id,t)}isToggleCallbacks(){return this.id,T.isToggleItemCallbacks(_.StreamerItemTypes.PICKUP,this.id)}static getInstance(t){return this.pickups.get(t)}static getInstances(){return[...this.pickups.values()]}}R.onExit(({next:e})=>(x.getInstances().forEach(t=>t.destroy()),e()));const[dm,cm]=h({name:"OnDynamicPickupStreamIn",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}}),[_m,hm]=h({name:"OnDynamicPickupStreamOut",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}});W(({type:e,id:t,forPlayer:a,next:n})=>e===E.PICKUP?cm(a,x.getInstance(t)):n()),U(({type:e,id:t,forPlayer:a,next:n})=>e===E.PICKUP?hm(a,x.getInstance(t)):n());const[mm]=h({name:"OnPlayerPickUpDynamicPickup",identifier:"ii",beforeEach(e,t){return{player:m.getInstance(e),pickup:x.getInstance(t)}}}),um=Object.freeze({onPlayerPickUp:mm,onStreamIn:dm,onStreamOut:_m});class O{static checkpoints=new Map;sourceInfo;_id=-1;get id(){return this._id}constructor(t){this.sourceInfo=t}create(){if(this.id!==-1)return s.warn("[StreamerCheckpoint]: Unable to create checkpoint again");let{streamDistance:t,worldId:a,interiorId:n,playerId:i,areaId:r,priority:l}=this.sourceInfo;const{size:o,x:d,y:c,z:u,extended:p}=this.sourceInfo;return o<0?s.error("[StreamerCheckpoint]: Invalid checkpoint size"):(t??=ee.CP_SD,l??=0,p?(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=Ba(d,c,u,o,t,a,n,i,r,l)):(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=wa(d,c,u,o,a,n,i,t,r,l)),O.checkpoints.set(this._id,this),this)}destroy(){return this.id===-1?s.warn("[StreamerCheckpoint]: Unable to destroy the checkpoint before create"):(Ie(this.id),O.checkpoints.delete(this.id),this._id=-1,this)}isValid(){return Pe(this.id)}togglePlayer(t,a){return this.id===-1?s.warn("[StreamerCheckpoint]: Unable to toggle the player before create"):(Ga(t.id,this.id,a),this)}static togglePlayerAll(t,a){return Oa(t.id,a)}isPlayerIn(t){return this.id===-1?!1:Fa(t.id,this.id)}static getPlayerVisible(t){return O.checkpoints.get(ka(t.id))}toggleCallbacks(t=!0){return this.id===-1?s.warn("[StreamerCheckpoint]: Unable to toggle callbacks before create"):T.toggleItemCallbacks(E.CP,this.id,t)}isToggleCallbacks(){return this.id,T.isToggleItemCallbacks(E.CP,this.id)}static getInstance(t){return this.checkpoints.get(t)}static getInstances(){return[...this.checkpoints.values()]}}R.onExit(({next:e})=>(O.checkpoints.forEach(t=>t.destroy()),e()));const[pm,gm]=h({name:"OnDynamicCheckPointStreamIn",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}}),[Sm,ym]=h({name:"OnDynamicCheckPointStreamOut",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}});W(({type:e,id:t,forPlayer:a,next:n})=>e===E.CP?gm(a,O.getInstance(t)):n()),U(({type:e,id:t,forPlayer:a,next:n})=>e===E.CP?ym(a,O.getInstance(t)):n());const[Im]=h({name:"OnPlayerEnterDynamicCP",identifier:"ii",beforeEach(e,t){return{player:m.getInstance(e),pickup:O.getInstance(t)}}}),[Pm]=h({name:"OnPlayerLeaveDynamicCP",identifier:"ii",beforeEach(e,t){return{player:m.getInstance(e),pickup:O.getInstance(t)}}}),fm=Object.freeze({onPlayerEnter:Im,onPlayerLeave:Pm,onStreamIn:pm,onStreamOut:Sm});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 s.warn("[StreamerRaceCP]: Unable to create checkpoint again");let{streamDistance:t,worldId:a,interiorId:n,playerId:i,areaId:r,priority:l}=this.sourceInfo;const{type:o,size:d,x:c,y:u,z:p,nextX:g,nextY:I,nextZ:A,extended:b}=this.sourceInfo;return o<0||o>8?s.error("[StreamerRaceCP]: Invalid type"):d<0?s.error("[StreamerRaceCP]: Invalid size"):(t??=ee.RACE_CP_SD,l??=0,b?(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=Ma(o,c,u,p,g,I,A,d,t,a,n,i,r,l)):(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=xa(o,c,u,p,g,I,A,d,a,n,i,t,r,l)),F.checkpoints.set(this._id,this),this)}destroy(){return this.id===-1?s.warn("[StreamerRaceCP]: Unable to destroy the checkpoint before create"):(Ie(this.id),F.checkpoints.delete(this.id),this._id=-1,this)}isValid(){return Pe(this.id)}togglePlayer(t,a){return this.id===-1?s.warn("[StreamerRaceCP]: Unable to toggle the player before create"):(Ha(t.id,this.id,a),this)}static togglePlayerAll(t,a){return Va(t.id,a)}isPlayerIn(t){return this.id===-1?!1:Wa(t.id,this.id)}static getPlayerVisible(t){return F.checkpoints.get(Ua(t.id))}toggleCallbacks(t=!0){return this.id===-1?s.warn("[StreamerRaceCP]: Unable to toggle callbacks before create"):T.toggleItemCallbacks(E.RACE_CP,this.id,t)}isToggleCallbacks(){return this.id,T.isToggleItemCallbacks(E.RACE_CP,this.id)}static getInstance(t){return this.checkpoints.get(t)}static getInstances(){return[...this.checkpoints.values()]}}R.onExit(({next:e})=>(F.getInstances().forEach(t=>t.destroy()),e()));const[Am,Em]=h({name:"OnDynamicRaceCPStreamIn",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}}),[Cm,Tm]=h({name:"OnDynamicRaceCPStreamOut",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}});W(({type:e,id:t,forPlayer:a,next:n})=>e===E.RACE_CP?Em(a,F.getInstance(t)):n()),U(({type:e,id:t,forPlayer:a,next:n})=>e===E.RACE_CP?Tm(a,F.getInstance(t)):n());const[Dm]=h({name:"OnPlayerEnterDynamicRaceCP",identifier:"ii",beforeEach(e,t){return{player:m.getInstance(e),pickup:F.getInstance(t)}}}),[Nm]=h({name:"OnPlayerLeaveDynamicRaceCP",identifier:"ii",beforeEach(e,t){return{player:m.getInstance(e),pickup:F.getInstance(t)}}}),Lm=Object.freeze({onPlayerEnter:Dm,onPlayerLeave:Nm,onStreamIn:Am,onStreamOut:Cm});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 s.warn("[StreamerActor]: Unable to create actor again");let{streamDistance:t,worldId:a,interiorId:n,playerId:i,areaId:r,priority:l}=this.sourceInfo;const{modelId:o,x:d,y:c,z:u,r:p,invulnerable:g,health:I,extended:A}=this.sourceInfo;return t??=_.StreamerDistances.ACTOR_SD,l??=0,A?(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=_.CreateDynamicActorEx(o,d,c,u,p,g,I,t,a,n,i,r,l)):(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=_.CreateDynamicActor(o,d,c,u,p,g,I,a,n,i,t,r,l)),k.actors.set(this.id,this),this}destroy(){return this.id===-1?s.warn("[StreamerActor]: Unable to destroy the actor before create"):(_.DestroyDynamicActor(this.id),k.actors.delete(this.id),this._id=-1,this)}isValid(){return _.IsValidDynamicActor(this.id)}isStreamedIn(t){return this.id===-1?!1:_.IsDynamicActorStreamedIn(this.id,t.id)}getVirtualWorld(){return this.id===-1?s.warn("[StreamerActor]: Unable to get virtual world before create"):_.GetDynamicActorVirtualWorld(this.id)}setVirtualWorld(t){return this.id===-1?s.warn("[StreamerActor]: Unable to set virtual world before create"):_.SetDynamicActorVirtualWorld(this.id,t)}applyAnimation(t,a,n=!1,i=!0,r=!0,l=!1){if(this.id===-1)return s.warn("[StreamerActor]: Unable to apply animation before create");const o=Qe(t,a);return o===void 0?s.error("[StreamerActor]: Invalid anim library or name"):_.ApplyDynamicActorAnimation(this.id,t,a,4.1,n,i,r,l,n?0:o)}clearAnimations(){return this.id===-1?s.warn("[StreamerActor]: Unable to clear animation before create"):_.ClearDynamicActorAnimations(this.id)}getFacingAngle(){return this.id===-1?s.warn("[StreamerActor]: Unable to get facing angle before create"):_.GetDynamicActorFacingAngle(this.id)}setFacingAngle(t){return this.id===-1?s.warn("[StreamerActor]: Unable to set facing angle before create"):_.SetDynamicActorFacingAngle(this.id,t)}getPos(){return this.id===-1?s.warn("[StreamerActor]: Unable to get pos before create"):_.GetDynamicActorPos(this.id)}setPos(t,a,n){return this.id===-1?s.warn("[StreamerActor]: Unable to set pos before create"):_.SetDynamicActorPos(this.id,t,a,n)}getHealth(){return this.id===-1?s.warn("[StreamerActor]: Unable to get health before create"):_.GetDynamicActorHealth(this.id)}setHealth(t){return this.id===-1?s.warn("[StreamerActor]: Unable to set health before create"):_.SetDynamicActorHealth(this.id,t)}isInvulnerable(){return this.id===-1?!1:_.IsDynamicActorInvulnerable(this.id)}setInvulnerable(t=!0){return this.id===-1?s.warn("[StreamerActor]: Unable to set invulnerable before create"):_.SetDynamicActorInvulnerable(this.id,t)}getPlayerTarget(t){if(this.id===-1)return;const a=_.GetPlayerTargetDynamicActor(t.id);return k.actors.get(a)}getPlayerCameraTarget(t){if(this.id===-1)return;const a=_.GetPlayerCameraTargetDynActor(t.id);return k.actors.get(a)}getSkin(){return this.id===-1?s.warn("[StreamerActor]: Unable to get skin before create"):ds(this.id)}setSkin(t,a=!1){return this.id===-1?s.warn("[StreamerActor]: Unable to set skin before create"):!a&&(t<0||t>311||t==74)?0:cs(this.id,t)}getSpawnInfo(){return this.id===-1?s.warn("[StreamerActor]: Unable to get spawn info before create"):_s(this.id)}getAnimation(){return this.id===-1?s.warn("[StreamerActor]: Unable to get animation before create"):_.GetDynamicActorAnimation(this.id)}toggleCallbacks(t=!0){return this.id===-1?s.warn("[StreamerActor]: Unable to toggle callbacks before create"):T.toggleItemCallbacks(_.StreamerItemTypes.ACTOR,this.id,t)}isToggleCallbacks(){return this.id,T.isToggleItemCallbacks(_.StreamerItemTypes.ACTOR,this.id)}static getInstance(t){return this.actors.get(t)}static getInstances(){return[...this.actors.values()]}}R.onExit(({next:e})=>(k.getInstances().forEach(t=>t.destroy()),e()));const[Rm]=h({name:"OnDynamicActorStreamIn",identifier:"ii",beforeEach(e,t){return{actor:k.getInstance(e),forPlayer:m.getInstance(t)}}}),[bm]=h({name:"OnDynamicActorStreamOut",identifier:"ii",beforeEach(e,t){return{actor:k.getInstance(e),forPlayer:m.getInstance(t)}}}),[vm]=h({name:"OnPlayerGiveDamageDynamicActor",identifier:"iiiii",beforeEach(e,t,a,n,i){return{player:m.getInstance(e),actor:k.getInstance(t),amount:a,weapon:n,bodyPart:i}}}),Bm=Object.freeze({onStreamIn:Rm,onStreamOut:bm,onPlayerGiveDamage:vm});class K{static texts=new Map;sourceInfo;_id=-1;get id(){return this._id}constructor(t){this.sourceInfo=t}create(){if(this.id!==-1)return s.warn("[Streamer3DTextLabel]: Unable to create again");let{attachedPlayer:t,attachedVehicle:a,testLos:n,streamDistance:i,worldId:r,interiorId:l,playerId:o,areaId:d,priority:c}=this.sourceInfo;const{charset:u,text:p,color:g,drawDistance:I,x:A,y:b,z:M,extended:q}=this.sourceInfo;return t??=C.PLAYER_ID,a??=C.VEHICLE_ID,i??=ee.TEXT_3D_LABEL_SD,n??=!1,c??=0,q?(typeof r=="number"?r=[-1]:r??=[-1],typeof l=="number"?l=[-1]:l??=[-1],typeof o=="number"?o=[-1]:o??=[-1],typeof d=="number"?d=[-1]:d??=[-1],this._id=x_(p,y(g),A,b,M,I,t,a,n,i,r,l,o,d,c,u||"utf8")):(Array.isArray(r)?r=-1:r??=-1,Array.isArray(l)?l=-1:l??=-1,Array.isArray(o)?o=-1:o??=-1,Array.isArray(d)?d=-1:d??=-1,this._id=M_(u||"utf8",p,y(g),A,b,M,I,t,a,n,r,l,o,i,d,c)),K.texts.set(this.id,this),this}destroy(){return this.id===-1?s.warn("[Streamer3DTextLabel]: Unable to destroy before create"):(Ka(this.id),K.texts.delete(this.id),this._id=-1,this)}isValid(){return Za(this.id)}getColor(){return this.id===-1?s.warn("[Streamer3DTextLabel]: Unable to get color before create"):this.sourceInfo.color}getCharset(){return this.id===-1?s.warn("[Streamer3DTextLabel]: Unable to get charset before create"):this.sourceInfo.charset}getText(){return this.id===-1?s.warn("[Streamer3DTextLabel]: Unable to get text before create"):V_(this.id,this.sourceInfo.charset||"utf8")}updateText(t,a,n=this.sourceInfo.charset){return this.id===-1?s.warn("[Streamer3DTextLabel]: Unable to update text before create"):(this.sourceInfo.charset=n,H_(this.id,y(t),a,n||"utf8"))}toggleCallbacks(t=!0){return this.id===-1?s.warn("[Streamer3DTextLabel]: Unable to toggle callbacks before create"):T.toggleItemCallbacks(E.TEXT_3D_LABEL,this.id,t)}isToggleCallbacks(){return this.id,T.isToggleItemCallbacks(E.TEXT_3D_LABEL,this.id)}static getInstance(t){return this.texts.get(t)}static getInstances(){return[...this.texts.values()]}}R.onExit(({next:e})=>(K.getInstances().forEach(t=>t.destroy()),e()));const[wm,Gm]=h({name:"OnDynamic3dTextStreamIn",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}}),[Om,Fm]=h({name:"OnDynamic3dTextStreamOut",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}});W(({type:e,id:t,forPlayer:a,next:n})=>e===E.TEXT_3D_LABEL?Gm(a,K.getInstance(t)):n()),U(({type:e,id:t,forPlayer:a,next:n})=>e===E.TEXT_3D_LABEL?Fm(a,K.getInstance(t)):n());const km=Object.freeze({onStreamIn:wm,onStreamOut:Om});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 s.warn("[StreamerObject]: Unable to create object again");let{streamDistance:t,drawDistance:a,worldId:n,interiorId:i,playerId:r,areaId:l,priority:o}=this.sourceInfo;const{modelId:d,x:c,y:u,z:p,rx:g,ry:I,rz:A,extended:b}=this.sourceInfo;return t??=_.StreamerDistances.OBJECT_SD,a??=_.StreamerDistances.OBJECT_DD,o??=0,b?(typeof n=="number"?n=[-1]:n??=[-1],typeof i=="number"?i=[-1]:i??=[-1],typeof r=="number"?r=[-1]:r??=[-1],typeof l=="number"?l=[-1]:l??=[-1],this._id=_.CreateDynamicObjectEx(d,c,u,p,g,I,A,t,a,n,i,r,l,o)):(Array.isArray(n)?n=-1:n??=-1,Array.isArray(i)?i=-1:i??=-1,Array.isArray(r)?r=-1:r??=-1,Array.isArray(l)?l=-1:l??=-1,this._id=_.CreateDynamicObject(d,c,u,p,g,I,A,n,i,r,t,a,l,o)),v.objects.set(this._id,this),this}destroy(){return this.id===-1?s.warn("[StreamerObject]: Unable to destroy the object before create"):(_.DestroyDynamicObject(this.id),v.objects.delete(this.id),this._id=-1,this)}isValid(){return _.IsValidDynamicObject(this.id)}getModel(){return this.sourceInfo.modelId}getPos(){return this.id===-1?s.warn("[StreamerObject]: Cannot get position before create"):_.GetDynamicObjectPos(this.id)}setPos(t,a,n){return this.id===-1?s.warn("[StreamerObject]: Cannot set position before create"):_.SetDynamicObjectPos(this.id,t,a,n)}getRot(){return this.id===-1?s.warn("[StreamerObject]: Cannot get rotation before create"):_.GetDynamicObjectRot(this.id)}setRot(t,a,n){return this.id===-1?s.warn("[StreamerObject]: Cannot set rotation before create"):_.SetDynamicObjectRot(this.id,t,a,n)}move(t,a,n,i,r=-1e3,l=-1e3,o=-1e3){return this.id===-1?s.warn("[StreamerObject]: Cannot start moving before create"):i<0?s.warn("[StreamerObject]: speed must not be less than 0"):(i>120*1e3&&s.warn("[StreamerObject]: speed more than 120 seconds, warn if it's not intentional"),this.isMoving()&&this.stop(),_.MoveDynamicObject(this.id,t,a,n,i,r,l,o))}stop(){return this.id===-1?s.warn("[StreamerObject]: Cannot stop moving before create"):_.StopDynamicObject(this.id)}isMoving(){return this.id===-1?!1:_.IsDynamicObjectMoving(this.id)}attachCamera(t){return this.id===-1||t.id===-1?s.warn("[StreamerObject]: Cannot attachCamera before both are created"):_.AttachCameraToDynamicObject(t.id,this.id)}attachToObject(t,a,n,i,r,l,o,d=!0){return this.id===-1||t.id===-1?s.warn("[StreamerObject]: Cannot attachToObject before both are created"):_.AttachDynamicObjectToObject(this.id,t.id,a,n,i,r,l,o,d)}attachToPlayer(t,a,n,i,r,l,o){return this.id===-1||t.id===-1?s.warn("[StreamerObject]: Cannot attachToVehicle before both are created"):_.AttachDynamicObjectToPlayer(this.id,t.id,a,n,i,r,l,o)}attachToVehicle(t,a,n,i,r,l,o){return this.id===-1||t.id===-1?s.warn("[StreamerObject]: Cannot attachToVehicle before both are created"):_.AttachDynamicObjectToVehicle(this.id,t.id,a,n,i,r,l,o)}edit(t){return this.id===-1?s.warn("[StreamerObject]: Unable to edit before create"):(t.endObjectEditing(),_.EditDynamicObject(t.id,this.id))}isMaterialUsed(t){return this.id===-1?!1:_.IsDynamicObjectMaterialUsed(this.id,t)}removeMaterial(t){return this.id===-1||!this.isMaterialUsed(t)?0:_.RemoveDynamicObjectMaterial(this.id,t)}getMaterial(t,a,n){return this.id===-1?s.warn("[StreamerObject]: Unable to get material before create"):_.GetDynamicObjectMaterial(this.id,t,a,n)}setMaterial(t,a,n,i,r="#000"){return this.id===-1?s.warn("[StreamerObject]: Unable to set material before create"):_.SetDynamicObjectMaterial(this.id,t,a,n,i,y(r))}isMaterialTextUsed(t){return this.id===-1?!1:_.IsDynamicObjectMaterialTextUsed(this.id,t)}removeMaterialText(t){return this.isMaterialTextUsed(t)?_.RemoveDynamicObjectMaterialText(this.id,t):0}getMaterialText(t){return this.id===-1?s.warn("[StreamerObject]: Unable to get material text before create"):U_(this.id,t,this.sourceInfo.charset||"utf8")}setMaterialText(t=this.sourceInfo.charset,a,n,i=_.MaterialTextSizes.SIZE_256x128,r="Arial",l=24,o=1,d="#fff",c="#000",u=0){return this.id===-1?s.warn("[StreamerObject]: Unable to set material text before create"):(this.sourceInfo.charset=t,W_(t||"utf8",this.id,a,n,i,r,l,o,y(d),y(c),u))}getPlayerCameraTarget(t){const a=_.GetPlayerCameraTargetDynObject(t.id);if(a!==C.OBJECT_ID)return v.objects.get(a)}toggleCallbacks(t=!0){return this.id===-1?s.warn("[StreamerObject]: Unable to toggle callbacks before create"):T.toggleItemCallbacks(_.StreamerItemTypes.OBJECT,this.id,t)}isToggleCallbacks(){return this.id,T.isToggleItemCallbacks(_.StreamerItemTypes.OBJECT,this.id)}setNoCameraCollision(){return _.SetDynamicObjectNoCameraCol(this.id)}getNoCameraCollision(){return _.GetDynamicObjectNoCameraCol(this.id)}static getInstance(t){return this.objects.get(t)}static getInstances(){return[...this.objects.values()]}}R.onExit(({next:e})=>(v.getInstances().forEach(t=>t.destroy()),e()));const[Mm,xm]=h({name:"OnDynamicObjectStreamIn",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}}),[Hm,Vm]=h({name:"OnDynamicObjectStreamOut",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}});W(({type:e,id:t,forPlayer:a,next:n})=>e===E.OBJECT?xm(a,v.getInstance(t)):n()),U(({type:e,id:t,forPlayer:a,next:n})=>e===E.OBJECT?Vm(a,v.getInstance(t)):n());const[Wm]=h({name:"OnDynamicObjectMoved",identifier:"i",beforeEach(e){return{object:v.getInstance(e)}}}),[Um]=h({name:"OnPlayerEditDynamicObject",identifier:"iiiiiiiii",beforeEach(e,t,a,n,i,r,l,o,d){return{player:m.getInstance(e),object:v.getInstance(t),response:a,x:n,y:i,z:r,rX:l,rY:o,rZ:d}}}),[Km]=h({name:"OnPlayerSelectDynamicObject",identifier:"iiiiii",beforeEach(e,t,a,n,i,r){return{player:m.getInstance(e),object:v.getInstance(t),modelId:a,x:n,y:i,z:r}}}),[Zm]=h({name:"OnPlayerShootDynamicObject",identifier:"iiiiii",beforeEach(e,t,a,n,i,r){return{player:m.getInstance(e),object:v.getInstance(a),weapon:t,x:n,y:i,z:r}}}),[jm]=h({name:"OnPlayerEditAttachedObject",beforeEach(e,t,a,n,i,r,l,o,d,c,u,p,g,I){return{player:m.getInstance(e),response:t,index:a,modelId:n,boneId:i,fOffsetX:r,fOffsetY:l,fOffsetZ:o,fRotX:d,fRotY:c,fRotZ:u,fScaleX:p,fScaleY:g,fScaleZ:I}}}),Xm=Object.freeze({onMoved:Wm,onPlayerEdit:Um,onPlayerSelect:Km,onPlayerShoot:Zm,onPlayerEditAttached:jm,onStreamIn:Mm,onStreamOut:Hm});class L{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 s.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:l,y:o,size:d}=this.sourceInfo;if(d<0)return s.error("[StreamerArea]: Invalid circle extend size");this._id=_.CreateDynamicCircleEx(l,o,d,t,a,n)}else if(i==="cuboid"){const{minX:l,minY:o,minZ:d,maxX:c,maxY:u,maxZ:p}=this.sourceInfo;this._id=_.CreateDynamicCuboidEx(l,o,d,c,u,p,t,a,n)}else if(i==="cylinder"){const{x:l,y:o,minZ:d,maxZ:c,size:u}=this.sourceInfo;if(u<0)return s.error("[StreamerArea]: Invalid cylinder extend size");this._id=_.CreateDynamicCylinderEx(l,o,d,c,u,t,a,n)}else if(i==="polygon"){const{points:l,minZ:o,maxZ:d}=this.sourceInfo;if(l.length%2!==0)return s.warn("[StreamerArea]: Unable to create polygon extended with asymmetrical points");this._id=_.CreateDynamicPolygonEx(l,o,d,t,a,n)}else if(i==="rectangle"){const{minX:l,minY:o,maxX:d,maxY:c}=this.sourceInfo;this._id=_.CreateDynamicRectangleEx(l,o,d,c,t,a,n)}else{const{x:l,y:o,z:d,size:c}=this.sourceInfo;if(c<0)return s.error("[StreamerArea]: Invalid sphere extended size");this._id=_.CreateDynamicSphereEx(l,o,d,c,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:l,y:o,size:d}=this.sourceInfo;if(d<0)return s.error("[StreamerArea]: Invalid circle size");this._id=_.CreateDynamicCircle(l,o,d,t,a,n)}else if(i==="cuboid"){const{minX:l,minY:o,minZ:d,maxX:c,maxY:u,maxZ:p}=this.sourceInfo;this._id=_.CreateDynamicCuboid(l,o,d,c,u,p,t,a,n)}else if(i==="cylinder"){const{x:l,y:o,minZ:d,maxZ:c,size:u}=this.sourceInfo;if(u<0)return s.error("[StreamerArea]: Invalid cylinder size");this._id=_.CreateDynamicCylinder(l,o,d,c,u,t,a,n)}else if(i==="polygon"){const{points:l,minZ:o,maxZ:d}=this.sourceInfo;if(l.length%2!==0)return s.warn("[StreamerArea]: Unable to create polygon with asymmetrical points");this._id=_.CreateDynamicPolygon(l,o,d,t,a,n)}else if(i==="rectangle"){const{minX:l,minY:o,maxX:d,maxY:c}=this.sourceInfo;this._id=_.CreateDynamicRectangle(l,o,d,c,t,a,n)}else{const{x:l,y:o,z:d,size:c}=this.sourceInfo;if(c<0)return s.error("[StreamerArea]: Invalid sphere size");this._id=_.CreateDynamicSphere(l,o,d,c,t,a,n)}return L.areas.set(this._id,this),this}destroy(){return this.id===-1?s.warn("[StreamerArea]: Unable to destroy the area before create"):(_.DestroyDynamicArea(this.id),L.areas.delete(this.id),this._id=-1,this)}isValid(){return this.id===-1?!1:_.IsValidDynamicArea(this.id)}getType(){return this.id!==-1?s.warn("[StreamerArea]: Unable to get type before create"):_.GetDynamicAreaType(this.id)}getPolygonPoints(){if(this.id!==-1)return s.warn("[StreamerArea]: Unable to get polygon points before create");if(this.type==="polygon")return _.GetDynamicPolygonPoints(this.id)}getPolygonNumberPoints(){if(this.id!==-1)return s.warn("[StreamerArea]: Unable to get polygon points number before create");if(this.type==="polygon")return _.GetDynamicPolygonNumberPoints(this.id)}isPlayerIn(t,a=!1){return this.id===-1?!1:_.IsPlayerInDynamicArea(t.id,this.id,a)}static isPlayerInAny(t,a=!1){return _.IsPlayerInAnyDynamicArea(t.id,a)}isAnyPlayerIn(t=!1){return this.id===-1?!1:_.IsAnyPlayerInDynamicArea(this.id,t)}static isAnyPlayerInAny(t=!1){return _.IsAnyPlayerInAnyDynamicArea(t)}static getPlayerAreas(t){return L.getPlayerAreasNumber(t)?_.GetPlayerDynamicAreas(t.id).map(a=>L.areas.get(a)):[]}static getPlayerAreasNumber(t){return _.GetPlayerNumberDynamicAreas(t.id)}isPointIn(t,a,n){return this.id===-1?!1:_.IsPointInDynamicArea(this.id,t,a,n)}static isPointInAny(t,a,n){return _.IsPointInAnyDynamicArea(t,a,n)}isLineIn(t,a,n,i,r,l){return this.id===-1?!1:_.IsLineInDynamicArea(this.id,t,a,n,i,r,l)}static isLineInAny(t,a,n,i,r,l){return _.IsLineInAnyDynamicArea(t,a,n,i,r,l)}static getForPoint(t,a,n){return L.getNumberForPoint(t,a,n)?_.GetDynamicAreasForPoint(t,a,n).map(i=>L.getInstance(i)):[]}static getNumberForPoint(t,a,n){return _.GetNumberDynamicAreasForPoint(t,a,n)}static getForLine(t,a,n,i,r,l){return L.getNumberForLine(t,a,n,i,r,l)?_.GetDynamicAreasForLine(t,a,n,i,r,l).map(o=>L.areas.get(o)):[]}static getNumberForLine(t,a,n,i,r,l){return _.GetNumberDynamicAreasForLine(t,a,n,i,r,l)}attachToObject(t,a=0,n=0,i=0){return this.id===-1||t.id===-1?s.warn("[StreamerArea]: Unable to toggle attach to object before create"):_.AttachDynamicAreaToObject(this.id,t.id,_.StreamerObjectTypes.DYNAMIC,C.PLAYER_ID,a,n,i)}attachToPlayer(t,a=0,n=0,i=0){return this.id===-1||t.id===-1?s.warn("[StreamerArea]: Unable to toggle attach to player before create"):_.AttachDynamicAreaToPlayer(this.id,t.id,a,n,i)}attachToVehicle(t,a=0,n=0,i=0){return this.id===-1||t.id===-1?s.warn("[StreamerArea]: Unable to toggle attach to vehicle before create"):_.AttachDynamicAreaToVehicle(this.id,t.id,a,n,i)}toggleSpectateMode(t){return this.id===-1?s.warn("[StreamerArea]: Unable to toggle specate mode before create"):_.ToggleDynAreaSpectateMode(this.id,t)}isToggleSpectateMode(){return this.id===-1?!1:_.IsToggleDynAreaSpectateMode(this.id)}toggleCallbacks(t=!0){return this.id===-1?s.warn("[StreamerArea]: Unable to toggle callbacks before create"):T.toggleItemCallbacks(_.StreamerItemTypes.AREA,this.id,t)}isToggleCallbacks(){return this.id,T.isToggleItemCallbacks(_.StreamerItemTypes.AREA,this.id)}static getInstance(t){return this.areas.get(t)}static getInstances(){return[...this.areas.values()]}}R.onExit(({next:e})=>(L.getInstances().forEach(t=>t.destroy()),e()));const[Ym,zm]=h({name:"OnDynamicAreaStreamIn",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}}),[Jm,$m]=h({name:"OnDynamicAreaStreamOut",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}});W(({type:e,id:t,forPlayer:a,next:n})=>e===E.AREA?zm(a,L.getInstance(t)):n()),U(({type:e,id:t,forPlayer:a,next:n})=>e===E.AREA?$m(a,L.getInstance(t)):n());const[Qm]=h({name:"OnPlayerEnterDynamicArea",identifier:"ii",beforeEach(e,t){return{player:m.getInstance(e),pickup:L.getInstance(t)}}}),[qm]=h({name:"OnPlayerLeaveDynamicArea",identifier:"ii",beforeEach(e,t){return{player:m.getInstance(e),pickup:L.getInstance(t)}}}),eu=Object.freeze({onStreamIn:Ym,onStreamOut:Jm,onPlayerEnter:Qm,onPlayerLeave:qm});class S{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 s.warn("[TextDraw]: Unable to create the textdraw again");const{x:t,y:a,text:n,player:i}=this.sourceInfo;if(i){if(S.getInstances(!1).length===B.MAX_TEXT_DRAWS)return s.warn("[TextDraw]: Unable to continue to create textdraw, maximum allowable quantity has been reached");this._id=Qc(i.id,t,a,n);const r=de.onDisconnect(({player:l,next:o})=>(l===i&&(this.destroy(),r()),o()));S.playerTextDraws.set(this.id,this)}else{if(S.getInstances(!0).length===B.MAX_TEXT_DRAWS)return s.warn("[TextDraw]: Unable to continue to create textdraw, maximum allowable quantity has been reached");this._id=dc(t,a,n),S.globalTextDraws.set(this.id,this)}return this}destroy(){if(this.id===-1)return S.beforeCreateWarn("destroy the textdraw");const{player:t}=this.sourceInfo;return t?(qc(t.id,this.id),S.playerTextDraws.delete(this.id)):(cc(this.id),S.globalTextDraws.delete(this.id)),this._id=-1,this}setFont(t){if(this.id===-1)return S.beforeCreateWarn("set font");const{player:a}=this.sourceInfo;return a?o_(a.id,this.id,t):Pc(this.id,t),this}setColor(t){if(this.id===-1)return S.beforeCreateWarn("set color");const{player:a}=this.sourceInfo;return a?a_(a.id,this.id,t):uc(this.id,t),this}setBoxColors(t){if(this.id===-1)return S.beforeCreateWarn("set box color");const{player:a}=this.sourceInfo;return a?i_(a.id,this.id,t):gc(this.id,t),this}setBackgroundColors(t){if(this.id===-1)return S.beforeCreateWarn("set background color");const{player:a}=this.sourceInfo;return a?s_(a.id,this.id,t):Ic(this.id,t),this}setAlignment(t){if(this.id===-1)return S.beforeCreateWarn("set alignment");const{player:a}=this.sourceInfo;return a?t_(a.id,this.id,t):mc(this.id,t),this}setLetterSize(t,a){if(this.id===-1)return S.beforeCreateWarn("set letter size");const{player:n}=this.sourceInfo;return n?e_(n.id,this.id,t,a):_c(this.id,t,a),this}setOutline(t){if(this.id===-1)return S.beforeCreateWarn("set outline model");if(t<0)return s.warn("[TextDraw]: Invalid outline value");const{player:a}=this.sourceInfo;return a?l_(a.id,this.id,t):yc(this.id,t),this}setPreviewModel(t){if(this.id===-1)return S.beforeCreateWarn("set preview model");this.setFont($.MODEL_PREVIEW);const{player:a}=this.sourceInfo;return a?u_(a.id,this.id,t):Lc(this.id,t),this}setPreviewRot(t,a,n,i=1){if(this.id===-1)return S.beforeCreateWarn("set preview rot");this.setFont($.MODEL_PREVIEW);const{player:r}=this.sourceInfo;return r?p_(r.id,this.id,t,a,n,i):Rc(this.id,t,a,n,i),this}setPreviewVehColors(t,a){if(this.id===-1)return S.beforeCreateWarn("set preview veh col");this.setFont($.MODEL_PREVIEW);const{player:n}=this.sourceInfo;return n?g_(n.id,this.id,t,a):bc(this.id,t,a),this}setProportional(t=!0){if(this.id===-1)return S.beforeCreateWarn("set Proportional");const{player:a}=this.sourceInfo;return a?d_(a.id,this.id,t):fc(this.id,t),this}setSelectable(t){if(this.id===-1)return S.beforeCreateWarn("set Selectable");const{player:a}=this.sourceInfo;return a?c_(a.id,this.id,t):Ac(this.id,t),this}setShadow(t){if(this.id===-1)return S.beforeCreateWarn("set shadow");if(t<0)return s.warn("[TextDraw]: Invalid shadow value");const{player:a}=this.sourceInfo;return a?r_(a.id,this.id,t):Sc(this.id,t),this}setString(t,a){if(this.id===-1)return S.beforeCreateWarn("set string");if(t.length===0||t.length>1024)return s.warn("[TextDraw]: Invalid text length");const{player:n}=this.sourceInfo;return n?m_(n.id,this.id,t):a?oc(this.id,a.id,t):Nc(this.id,t),this}setTextSize(t,a){return this.id===-1?S.beforeCreateWarn("set TextSize"):(hc(this.id,t,a),this)}useBox(t){if(this.id===-1)return S.beforeCreateWarn("set TextSize");const{player:a}=this.sourceInfo;return a?n_(a.id,this.id,t):pc(this.id,t),this}static beforeCreateWarn(t){s.warn(`[TextDraw]: Unable to ${t} before create`)}show(t){if(this.id===-1)return S.beforeCreateWarn("show");const a=this.sourceInfo.player;if(a)__(a.id,this.id);else if(t)Ec(t.id,this.id);else return s.warn("[TextDraw]: invalid player for show");return this}hide(t){if(this.id===-1)return S.beforeCreateWarn("hide");const a=this.sourceInfo.player;if(a)h_(a.id,this.id);else if(t)Cc(t.id,this.id);else return s.warn("[TextDraw]: invalid player for hide");return this}showAll(){return this.id===-1?S.beforeCreateWarn("show"):this.sourceInfo.player?s.warn("[TextDraw]: player's textdraw should not be show for all."):(Tc(this.id),this)}hideAll(){return this.id===-1?S.beforeCreateWarn("hideAll"):this.sourceInfo.player?s.warn("[TextDraw]: player's textdraw should not be hide for all."):(Dc(this.id),this)}isValid(){const t=this.sourceInfo.player;return t?wc(t.id,this.id):Wd(this.id)}isVisibleForPlayer(t){return this.id===-1?!1:Ud(t.id,this.id)}getString(){if(this.id===-1)return this.sourceInfo.text;const t=this.sourceInfo.player;return t?Gc(t.id,this.id):Kd(this.id)}setPos(t,a){if(this.id===-1)return S.beforeCreateWarn("set position");const n=this.sourceInfo.player;return n?Oc(n.id,this.id,t,a):Zd(this.id,t,a),this}getLetterSize(){if(this.id===-1)return S.beforeCreateWarn("get letter size");const t=this.sourceInfo.player;return t?Fc(t.id,this.id):jd(this.id)}getTextSize(){if(this.id===-1)return S.beforeCreateWarn("get text size");const t=this.sourceInfo.player;return t?kc(t.id,this.id):Xd(this.id)}getPos(){if(this.id===-1)return S.beforeCreateWarn("get position");const t=this.sourceInfo.player;return t?Mc(t.id,this.id):Yd(this.id)}getColor(){if(this.id===-1)return S.beforeCreateWarn("get color");const t=this.sourceInfo.player;return t?xc(t.id,this.id):zd(this.id)}getBoxColor(){if(this.id===-1)return S.beforeCreateWarn("get box color");const t=this.sourceInfo.player;return t?Hc(t.id,this.id):Jd(this.id)}getBackgroundColor(){if(this.id===-1)return S.beforeCreateWarn("get bg color");const t=this.sourceInfo.player;return t?Vc(t.id,this.id):$d(this.id)}getShadow(){if(this.id===-1)return S.beforeCreateWarn("get shadow");const t=this.sourceInfo.player;return t?Wc(t.id,this.id):Qd(this.id)}getOutline(){if(this.id===-1)return S.beforeCreateWarn("get outline");const t=this.sourceInfo.player;return t?Uc(t.id,this.id):qd(this.id)}getFont(){if(this.id===-1)return S.beforeCreateWarn("get font");const t=this.sourceInfo.player;return t?Kc(t.id,this.id):ec(this.id)}isBox(){if(this.id===-1)return!1;const t=this.sourceInfo.player;return t?Zc(t.id,this.id):tc(this.id)}isProportional(){if(this.id===-1)return!1;const t=this.sourceInfo.player;return t?jc(t.id,this.id):ac(this.id)}isSelectable(){if(this.id===-1)return!1;const t=this.sourceInfo.player;return t?Xc(t.id,this.id):nc(this.id)}getAlignment(){if(this.id===-1)return S.beforeCreateWarn("get alignment");const t=this.sourceInfo.player;return t?Yc(t.id,this.id):ic(this.id)}getPreviewModel(){if(this.id===-1)return S.beforeCreateWarn("get preview model");const t=this.sourceInfo.player;return t?zc(t.id,this.id):rc(this.id)}getPreviewRot(){if(this.id===-1)return S.beforeCreateWarn("get preview rotation");const t=this.sourceInfo.player;return t?Jc(t.id,this.id):lc(this.id)}getPreviewVehColors(){if(this.id===-1)return S.beforeCreateWarn("get preview vel colors");const t=this.sourceInfo.player;return t?$c(t.id,this.id):sc(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()]}}R.onExit(({next:e})=>(S.getInstances(!0).forEach(t=>t.destroy()),S.getInstances(!1).forEach(t=>t.destroy()),e()));const[tu]=h({name:"OnPlayerClickTextDraw",beforeEach(e,t){return{player:m.getInstance(e),textDraw:t===C.TEXT_DRAW?t:S.getInstance(t,!0)}}}),[au]=h({name:"OnPlayerClickPlayerTextDraw",beforeEach(e,t){return{player:m.getInstance(e),textDraw:t===C.TEXT_DRAW?t:S.getInstance(t,!1)}}}),nu=Object.freeze({onPlayerClickGlobal:tu,onPlayerClickPlayer:au});function iu(e,t){return(e&t)===t}function ru(e,t,a){return(e&a)===a&&(t&a)!==a}function lu(e,t){return Boolean(e&t)}function su(e,t,a){return(e&a)!==a&&(t&a)===a}export{Le as ArtworkEnum,Ve as BodyPartsEnum,We as BoneIdsEnum,ze as BulletHitTypesEnum,te as CameraCutStylesEnum,He as CameraModesEnum,Ke as CarModTypeEnum,Re as ClickSourcesEnum,ve as ConnectionStatusEnum,le as DamageDeathReasonEnum,D as Dialog,ie as DialogStylesEnum,K as Dynamic3DTextLabel,km as Dynamic3DTextLabelEvent,k as DynamicActor,Bm as DynamicActorEvent,L as DynamicArea,eu as DynamicAreaEvent,fm as DynamicCheckPointEvent,O as DynamicCheckpoint,H as DynamicMapIcon,om as DynamicMapIconEvent,v as DynamicObject,Xm as DynamicObjectEvent,x as DynamicPickup,um as DynamicPickupEvent,F as DynamicRaceCP,Lm as DynamicRaceCPEvent,w as ERecordStatus,uu as E_STREAMER,be as EditResponseTypesEnum,Me as FightingStylesEnum,R as GameMode,jh as GameText,N as GangZone,am as GangZoneEvent,P as I18n,C as InvalidEnum,Be as KeysEnum,B as LimitsEnum,pu as MapIconStyles,xe as MapIconStylesEnum,we as MarkerModesEnum,gu as MaterialTextSizes,Z as Menu,zh as MenuEvent,Ge as NPCPlaybackEnum,Zh as NetStats,G as Npc,en as NpcEvent,Fe as ObjectMaterialAlignmmentEnum,Oe as ObjectMaterialTextSizeEnum,m as Player,de as PlayerEvent,j as PlayerStateEnum,$e as RecordTypesEnum,ke as SelectObjectTypesEnum,re as SpecialActionsEnum,ae as SpectateModesEnum,T as Streamer,Su as StreamerAreaTypes,yu as StreamerDistances,Iu as StreamerItemTypes,Pu as StreamerMiscellaneous,fu as StreamerObjectTypes,S as TextDraw,Ue as TextDrawAlignEnum,nu as TextDrawEvent,$ as TextDrawFontsEnum,f as Vehicle,Kh as VehicleEvent,je as VehicleModelInfoEnum,Ze as VehicleParamsEnum,Xe as WeaponEnum,Ye as WeaponSkillsEnum,Je as WeaponStatesEnum,h as defineEvent,iu as isHolding,ru as isPressed,lu as isPressing,su as isReleased,y as rgba};
1
+ import{encodingExists as _t,encode as ht,decode as mt}from"iconv-lite";import ut from"pino";import{snakeCase as ne,merge as pt,omit as gt,get as he,mapKeys as St}from"lodash-unified";import*as _ from"@infernus/streamer";import{Streamer_GetTickRate as yt,Streamer_SetTickRate as It,Streamer_GetPlayerTickRate as Pt,Streamer_SetPlayerTickRate as ft,Streamer_ToggleChunkStream as At,Streamer_IsToggleChunkStream as Et,Streamer_GetChunkTickRate as me,Streamer_SetChunkTickRate as ue,Streamer_GetChunkSize as Ct,Streamer_SetChunkSize as Tt,Streamer_GetMaxItems as Dt,Streamer_SetMaxItems as Nt,Streamer_GetVisibleItems as pe,Streamer_SetVisibleItems as ge,Streamer_GetRadiusMultiplier as Se,Streamer_SetRadiusMultiplier as ye,Streamer_GetTypePriority as Lt,Streamer_SetTypePriority as Rt,Streamer_GetCellDistance as bt,Streamer_SetCellDistance as vt,Streamer_GetCellSize as Bt,Streamer_SetCellSize as wt,Streamer_ToggleItemStatic as Gt,Streamer_IsToggleItemStatic as Ot,Streamer_ToggleItemInvAreas as Ft,Streamer_IsToggleItemInvAreas as kt,Streamer_ToggleItemCallbacks as Mt,Streamer_IsToggleItemCallbacks as xt,Streamer_ToggleErrorCallback as Ht,Streamer_IsToggleErrorCallback as Vt,Streamer_AmxUnloadDestroyItems as Wt,Streamer_ProcessActiveItems as Ut,Streamer_ToggleIdleUpdate as Kt,Streamer_IsToggleIdleUpdate as Zt,Streamer_ToggleCameraUpdate as jt,Streamer_IsToggleCameraUpdate as Xt,Streamer_ToggleItemUpdate as Yt,Streamer_IsToggleItemUpdate as zt,Streamer_GetLastUpdateTime as Jt,Streamer_Update as $t,Streamer_UpdateEx as Qt,Streamer_GetDistanceToItem as qt,Streamer_ToggleItem as ea,Streamer_IsToggleItem as ta,Streamer_ToggleAllItems as aa,Streamer_GetItemInternalID as na,Streamer_GetItemStreamerID as ia,Streamer_IsItemVisible as ra,Streamer_DestroyAllVisibleItems as sa,Streamer_CountVisibleItems as la,Streamer_DestroyAllItems as oa,Streamer_CountItems as da,Streamer_GetNearbyItems as ca,Streamer_GetAllVisibleItems as _a,Streamer_GetItemPos as ha,Streamer_SetItemPos as ma,Streamer_GetItemOffset as ua,Streamer_SetItemOffset as pa,Streamer_GetFloatData as ga,Streamer_SetFloatData as Sa,Streamer_GetIntData as ya,Streamer_SetIntData as Ia,Streamer_GetArrayData as Pa,Streamer_SetArrayData as fa,Streamer_IsInArrayData as Aa,Streamer_AppendArrayData as Ea,Streamer_RemoveArrayData as Ca,Streamer_GetArrayDataLength as Ta,Streamer_GetUpperBound as Da,MapIconStyles as Na,StreamerDistances as ee,CreateDynamicMapIconEx as La,CreateDynamicMapIcon as Ra,DestroyDynamicMapIcon as ba,IsValidDynamicMapIcon as va,StreamerItemTypes as E,CreateDynamicCPEx as Ba,CreateDynamicCP as wa,DestroyDynamicCP as Ie,IsValidDynamicCP as Pe,TogglePlayerDynamicCP as Ga,TogglePlayerAllDynamicCPs as Oa,IsPlayerInDynamicCP as Fa,GetPlayerVisibleDynamicCP as ka,CreateDynamicRaceCPEx as Ma,CreateDynamicRaceCP as xa,TogglePlayerDynamicRaceCP as Ha,TogglePlayerAllDynamicRaceCPs as Va,IsPlayerInDynamicRaceCP as Wa,GetPlayerVisibleDynamicRaceCP as Ua,DestroyDynamic3DTextLabel as Ka,IsValidDynamic3DTextLabel as Za}from"@infernus/streamer";import{E_STREAMER as uu,MapIconStyles as pu,MaterialTextSizes as gu,StreamerAreaTypes as Su,StreamerDistances as yu,StreamerItemTypes as Iu,StreamerMiscellaneous as Pu,StreamerObjectTypes as fu}from"@infernus/streamer";const l=ut({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 P{constructor(t,a){this.defaultLocale=t,this.locales=a,this.defaultLocale=ne(t),this.locales=P.snakeLocaleKeys(a)}addLocales=t=>{pt(this.locales,P.snakeLocaleKeys(t))};removeLocales=(...t)=>{this.locales=gt(this.locales,t)};$t=(t,a,n=this.defaultLocale)=>{const i=this.locales[ne(n)],r=he(this.locales[this.defaultLocale],t),s=he(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 c=0;c<a.length&&o.match(d)!==null;c++)o=o.replace(d,a[c])}return o};static isValidate(t){_t(t)||(l.fatal(`[i18n]: unknown charset ${t}`),process.exit(1))}static encodeToBuf(t,a){return P.isValidate(a),[...ht(t,a),0]}static decodeFromBuf(t,a="utf8"){P.isValidate(a);const n=t instanceof Buffer?t:Buffer.from(t);return mt(n,a)}static getValidStr(t){return t.indexOf(0)===-1?t:t.slice(0,t.indexOf(0))}static snakeLocaleKeys(t){return St(t,(a,n)=>ne(n))}}const J=new Map;function fe(e){J.set(e,[])}function ja(e,t){return typeof e=="boolean"?+e:typeof e=="number"&&!isNaN(e)?e:+t}function Xa(e,...t){const{defaultValue:a=!0,name:n,beforeEach:i,afterEach:r}=e,s=J.get(n);if(!s||!s.length)return+a;const o=i?i(...t):{},d=[];let c=-1;const u=()=>{if(c++,c<s.length){try{const p=s[c]({next:u,...o});return p instanceof Promise&&d.push(p),p}catch(p){const g=JSON.stringify(p),I=`executing event [name:${n},index:${c}] error: ${g}.`;l.error(I)}return a}return r&&(d.length?Promise.allSettled(d).then(()=>r(o)):r(o)),a};return ja(u(),a)}function h(e){const{name:t,identifier:a,isNative:n=!0}=e;if(J.has(t)){const o=`event [name:${t}] error: already defined.`;throw l.error(o),new Error(o)}fe(t);function i(...o){return Xa(e,...o)}function r(o){const d=J.get(t).push(o)-1;return()=>{const c=J.get(t)||[],u=c.length-1,p=u<d?u:d;for(let g=p;g>=0;g--)if(c[g]===o){c.splice(g,1);break}}}const s=[r,i];return n&&(a&&samp.registerEvent(t,a),samp.on(t,i)),s}const[Ya]=h({name:"OnNpcConnect",beforeEach(e){return{myPlayerId:e}}}),[za]=h({name:"OnNpcDisconnect",beforeEach(e){return{reason:e}}}),[Ja]=h({name:"OnNpcModeInit"}),[$a]=h({name:"OnNpcModeExit"}),[Qa]=h({name:"OnNpcSpawn"}),[qa]=h({name:"OnClientMessageI18n",identifier:"iai",beforeEach(e,t){return{color:e,buffer:t,string:P.decodeFromBuf(t)}}}),en=Object.freeze({onConnect:Ya,onDisconnect:za,onModeInit:Ja,onModeExit:$a,onSpawn:Qa,onClientMessage:qa}),tn=e=>Boolean(samp.callNative("IsValidNickName","s",e)),an=(e,t)=>{samp.callNative("AllowNickNameCharacter","ii",e,t)},nn=e=>Boolean(samp.callNative("IsNickNameCharacterAllowed","i",e)),rn=(e,t)=>Boolean(samp.callNative("AddServerRule","ss",e,t)),sn=(e,t)=>Boolean(samp.callNative("SetServerRule","ss",e,t)),ln=e=>Boolean(samp.callNative("IsValidServerRule","s",e)),on=e=>Boolean(samp.callNative("RemoveServerRule","s",e)),dn=e=>{samp.callNative("AllowAdminTeleport","i",e)},cn=()=>Boolean(samp.callNative("IsAdminTeleportAllowed","")),_n=e=>{samp.callNative("AllowInteriorWeapons","i",e)},hn=()=>Boolean(samp.callNative("AreInteriorWeaponsAllowed","")),mn=()=>Boolean(samp.callNative("AreAllAnimationsEnabled","")),un=e=>{samp.callNative("EnableAllAnimations","i",e)},pn=e=>samp.callNative("GetConsoleVarAsString","sAi",e,64),gn=e=>samp.callNative("GetConsoleVarAsInt","s",e),Sn=e=>Boolean(samp.callNative("GetConsoleVarAsBool","s",e)),yn=()=>samp.callNative("GetWeather",""),In=e=>samp.callNative("GetServerRuleFlags","s",e),Pn=(e,t)=>Boolean(samp.callNative("SetServerRuleFlags","si",e,t)),fn=e=>Boolean(samp.callNative("SetModeRestartTime","f",e)),An=()=>samp.callNativeFloat("GetModeRestartTime",""),En=(e,t,a)=>samp.callNative("GameTextForAll","sii",e,t,a),Cn=e=>{samp.callNative("HideGameTextForAll","i",e)},Tn=(e,t,a)=>samp.callNative("SendDeathMessage","iii",e,t,a),Dn=()=>samp.callNative("GetMaxPlayers",""),Nn=(e,t,a)=>Math.sqrt(e*e+t*t+a*a),Ln=e=>samp.callNative("SetGameModeText","s",e),Rn=e=>samp.callNative("ShowNameTags","i",e),bn=e=>samp.callNative("ShowPlayerMarkers","i",e),vn=e=>samp.callNative("SetWorldTime","i",e),Bn=()=>samp.callNative("GetWorldTime",""),wn=()=>samp.callNative("EnableVehicleFriendlyFire",""),Gn=e=>samp.callNative("SetWeather","i",e),On=()=>samp.callNativeFloat("GetGravity",""),Fn=e=>samp.callNative("SetGravity","f",e),kn=(e,t,a,n,i)=>samp.callNative("CreateExplosion","fffif",e,t,a,n,i),Mn=e=>samp.callNative("EnableZoneNames","i",e),xn=()=>samp.callNative("UsePlayerPedAnims",""),Hn=()=>samp.callNative("DisableInteriorEnterExits",""),Vn=e=>samp.callNative("SetNameTagDrawDistance","f",e),Wn=()=>samp.callNative("DisableNameTagLOS",""),Un=e=>samp.callNative("LimitGlobalChatRadius","f",e),Kn=e=>samp.callNative("LimitPlayerMarkerRadius","f",e),Zn=(e,t)=>samp.callNative("ConnectNPC","ss",e,t),jn=()=>samp.callNative("GetServerTickRate",""),Xn=e=>samp.callNative("GetAnimationName","iSiSi",e,32,32),Yn=e=>samp.callNative("EnableStuntBonusForAll","i",e),zn=e=>{samp.callNative("ToggleChatTextReplacement","i",e)},Jn=()=>Boolean(samp.callNative("ChatTextReplacementToggled","")),$n=e=>samp.callNative("GetWeaponSlot","i",e),Qn=e=>samp.callNative("GetWeaponName","iSi",e,32),Ae=()=>samp.callNative("GetAvailableClasses",""),qn=e=>{if(e<Ae()||e>319)return!1;const t=samp.callNative("GetPlayerClass","iIIFFFFIIIIII",e),[a,n=0,i=0,r=0,s=0,o=0,d=0,c=0,u=0,p=0,g=0,I=0]=t;return{teamId:a,modelId:n,spawn_x:i,spawn_y:r,spawn_z:s,z_angle:o,weapon1:d,weapon1_ammo:c,weapon2:u,weapon2_ammo:p,weapon3:g,weapon3_ammo:I}},ei=(e,t,a,n,i,r,s,o,d,c,u,p,g)=>Boolean(samp.callNative("EditPlayerClass","iiiffffiiiiii",e,t,a,n,i,r,s,o,d,c,u,p,g)),ti=e=>samp.callNative("SetTeamCount","i",e),ai=(e,t,a,n,i,r,s,o,d,c,u)=>samp.callNative("AddPlayerClass","iffffiiiiii",e,t,a,n,i,r,s,o,d,c,u),ni=(e,t,a,n,i,r,s,o,d,c,u,p)=>samp.callNative("AddPlayerClassEx","iiffffiiiiii",e,t,a,n,i,r,s,o,d,c,u,p),ii=(e,t,a,n,i,r,s,o,d,c,u,p,g)=>samp.callNative("SetSpawnInfo","iiiffffiiiiii",e,t,a,n,i,r,s,o,d,c,u,p,g),ri=e=>samp.callNative("SpawnPlayer","i",e),si=e=>{const[t,a=0,n=0,i=0,r=0,s=0,o=0,d=0,c=0,u=0,p=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:c,weapon2_ammo:u,weapon3:p,weapon3_ammo:g}},li=e=>samp.callNative("NetStats_GetConnectedTime","i",e),oi=e=>samp.callNative("NetStats_MessagesReceived","i",e),di=e=>samp.callNative("NetStats_BytesReceived","i",e),ci=e=>samp.callNative("NetStats_MessagesSent","i",e),_i=e=>samp.callNative("NetStats_BytesSent","i",e),hi=e=>samp.callNative("NetStats_MessagesRecvPerSecond","i",e),mi=e=>samp.callNativeFloat("NetStats_PacketLossPercent","i",e),ui=e=>samp.callNative("NetStats_ConnectionStatus","i",e),pi=e=>samp.callNative("NetStats_GetIpPort","iSi",e,128+6),gi=e=>Boolean(samp.callNative("IsPlayerAdmin","i",e)),Si=(e,t)=>samp.callNative("SetPlayerAdmin","ii",e,t),yi=e=>samp.callNative("Kick","i",e),Ii=e=>samp.callNative("Ban","i",e),Pi=e=>samp.callNative("GetPlayerNetworkStats","iSi",e,1024),fi=()=>samp.callNative("GetNetworkStats","Si",1024),Ai=(e,t)=>samp.callNative("BlockIpAddress","si",e,t),Ei=e=>samp.callNative("UnBlockIpAddress","s",e),Ci=e=>samp.callNative("SendRconCommand","s",e),Ti=(e,t)=>P.decodeFromBuf(P.getValidStr(samp.callNative("gpci","iAi",e,41)),t),Di=(e,t,a,n,i)=>samp.callNative("SendClientCheck","iiiii",e,t,a,n,i),Ni=()=>{samp.callNative("ClearBanList","")},Li=e=>Boolean(samp.callNative("IsBanned","s",e)),Ri=e=>samp.callNative("GetPlayerRawIp","i",e),bi=e=>samp.callNative("GetPlayerIp","iSi",e,128),vi=e=>samp.callNative("GetPlayerVersion","iSi",e,24),y=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},Bi=(e,t)=>samp.callNative("TogglePlayerWidescreen","ii",e,t),wi=e=>Boolean(samp.callNative("IsPlayerWidescreenToggled","i",e)),Gi=(e,t)=>samp.callNative("GetPlayerSkillLevel","ii",e,t),Oi=e=>samp.callNative("GetPlayerWeather","i",e),Fi=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}},ki=e=>samp.callNativeFloat("GetPlayerZAim","i",e),Mi=e=>{const[t=0,a=0,n=0]=samp.callNative("GetPlayerSurfingOffsets","iFFF",e);return{fOffsetX:t,fOffsetY:a,fOffsetZ:n}},xi=e=>{const[t=0,a=0,n=0,i=0]=samp.callNative("GetPlayerRotationQuat","iFFFF",e);return{w:t,x:a,y:n,z:i}},Hi=e=>samp.callNative("GetPlayerDialogID","i",e),Vi=e=>samp.callNative("GetPlayerSpectateID","i",e),Wi=e=>samp.callNative("GetPlayerSpectateType","i",e),Ui=(e,t)=>samp.callNative("SetPlayerGravity","if",e,t),Ki=e=>samp.callNativeFloat("GetPlayerGravity","i",e),Zi=e=>Boolean(samp.callNative("IsPlayerSpawned","i",e)),ji=e=>Boolean(samp.callNative("IsPlayerControllable","i",e)),Xi=e=>Boolean(samp.callNative("IsPlayerCameraTargetEnabled","i",e)),Yi=(e,t)=>samp.callNative("TogglePlayerGhostMode","ii",e,t),zi=e=>Boolean(samp.callNative("GetPlayerGhostMode","i",e)),Ji=e=>samp.callNative("GetPlayerBuildingsRemoved","i",e),$i=(e,t)=>samp.callNative("RemovePlayerWeapon","ii",e,t),Qi=e=>samp.callNative("HidePlayerDialog","i",e),qi=e=>Boolean(samp.callNative("IsPlayerUsingOfficialClient","i",e)),er=(e,t)=>Boolean(samp.callNative("AllowPlayerTeleport","ii",e,t)),tr=e=>Boolean(samp.callNative("IsPlayerTeleportAllowed","i",e)),ar=(e,t)=>Boolean(samp.callNative("AllowPlayerWeapons","i",e,t)),nr=e=>Boolean(samp.callNative("ArePlayerWeaponsAllowed","i",e)),ir=(e,t,a,n)=>Boolean(samp.callNative("GameTextForPlayer","isii",e,t,a,n)),rr=(e,t)=>Boolean(samp.callNative("HasGameText","ii",e,t)),sr=(e,t,a,n)=>samp.callNative("SendDeathMessageToPlayer","iiii",e,t,a,n),lr=(e,t)=>Boolean(samp.callNative("HideGameTextForPlayer","ii",e,t)),or=e=>Boolean(samp.callNative("IsPlayerNPC","i",e)),Ee=(e,t,a,n)=>samp.callNative("SetPlayerPos","ifff",e,t,a,n),dr=(e,t,a,n)=>samp.callNative("SetPlayerPosFindZ","ifff",e,t,a,n),cr=e=>samp.callNative("GetPlayerPos","iFFF",e),_r=(e,t)=>samp.callNative("SetPlayerFacingAngle","if",e,t),hr=e=>samp.callNative("GetPlayerFacingAngle","iF",e),mr=(e,t,a,n,i)=>Boolean(samp.callNative("IsPlayerInRangeOfPoint","iffff",e,t,a,n,i)),ur=(e,t,a,n)=>samp.callNativeFloat("GetPlayerDistanceFromPoint","ifff",e,t,a,n),pr=(e,t)=>Boolean(samp.callNative("IsPlayerStreamedIn","ii",e,t)),gr=(e,t)=>samp.callNative("SetPlayerInterior","ii",e,t),Sr=e=>samp.callNative("GetPlayerInterior","i",e),yr=(e,t)=>samp.callNative("SetPlayerHealth","if",e,t),Ir=e=>samp.callNative("GetPlayerHealth","iF",e),Pr=(e,t)=>samp.callNative("SetPlayerArmour","if",e,t),fr=e=>samp.callNative("GetPlayerArmour","iF",e),Ar=(e,t,a)=>samp.callNative("SetPlayerAmmo","iii",e,t,a),Er=e=>samp.callNative("GetPlayerAmmo","i",e),Cr=e=>samp.callNative("GetPlayerWeaponState","i",e),Tr=e=>samp.callNative("GetPlayerTargetPlayer","i",e),Dr=(e,t)=>{samp.callNative("SetPlayerTeam","ii",e,t)},Nr=e=>samp.callNative("GetPlayerTeam","i",e),Lr=(e,t)=>samp.callNative("SetPlayerScore","ii",e,t),Rr=e=>samp.callNative("GetPlayerScore","i",e),br=e=>samp.callNative("GetPlayerDrunkLevel","i",e),vr=(e,t)=>samp.callNative("SetPlayerDrunkLevel","ii",e,t),Br=(e,t)=>samp.callNative("SetPlayerColor","ii",e,y(t)),wr=e=>samp.callNative("GetPlayerColor","i",e),Gr=(e,t)=>samp.callNative("SetPlayerSkin","ii",e,t),Or=e=>samp.callNative("GetPlayerSkin","i",e),Fr=(e,t,a)=>samp.callNative("GivePlayerWeapon","iii",e,t,a),kr=e=>samp.callNative("ResetPlayerWeapons","i",e),Mr=(e,t)=>samp.callNative("SetPlayerArmedWeapon","ii",e,t),xr=(e,t)=>samp.callNative("GetPlayerWeaponData","iiII",e,t),Hr=(e,t)=>samp.callNative("GivePlayerMoney","ii",e,t),Vr=e=>samp.callNative("ResetPlayerMoney","i",e),Wr=e=>samp.callNative("GetPlayerMoney","i",e),Ur=e=>samp.callNative("GetPlayerState","i",e),Kr=e=>samp.callNative("GetPlayerPing","i",e),Zr=e=>samp.callNative("GetPlayerWeapon","i",e),jr=e=>samp.callNative("GetPlayerKeys","iIII",e),Xr=(e,t,a)=>samp.callNative("SetPlayerTime","iii",e,t,a),Yr=e=>samp.callNative("GetPlayerTime","iII",e),zr=(e,t)=>samp.callNative("TogglePlayerClock","ii",e,t),Jr=(e,t)=>samp.callNative("SetPlayerWeather","ii",e,t),$r=e=>samp.callNative("ForceClassSelection","i",e),Qr=(e,t)=>samp.callNative("SetPlayerWantedLevel","ii",e,t),qr=e=>samp.callNative("GetPlayerWantedLevel","i",e),es=(e,t)=>samp.callNative("SetPlayerFightingStyle","ii",e,t),ts=e=>samp.callNative("GetPlayerFightingStyle","i",e),as=(e,t,a,n)=>samp.callNative("SetPlayerVelocity","ifff",e,t,a,n),ns=e=>samp.callNative("GetPlayerVelocity","iFFF",e),is=(e,t,a)=>samp.callNative("PlayCrimeReportForPlayer","iii",e,t,a),rs=(e,t,a,n,i,r,s=!1)=>samp.callNative("PlayAudioStreamForPlayer","isffffi",e,t,a,n,i,r,s),ss=e=>samp.callNative("StopAudioStreamForPlayer","i",e),ls=(e,t)=>samp.callNative("SetPlayerShopName","is",e,t),os=(e,t,a)=>samp.callNative("SetPlayerSkillLevel","iii",e,t,a),ds=e=>samp.callNative("GetPlayerSurfingVehicleID","i",e),cs=e=>samp.callNative("GetPlayerSurfingObjectID","i",e),_s=e=>samp.callNative("GetPlayerSurfingPlayerObjectID","i",e),hs=(e,t,a,n,i,r)=>samp.callNative("RemoveBuildingForPlayer","iiffff",e,t,a,n,i,r),ms=e=>samp.callNative("GetPlayerLastShotVectors","iFFFFFF",e),us=(e,t,a,n,i)=>samp.callNative("SetPlayerChatBubble","isifi",e,t,y(a),n,i),ps=(e,t,a)=>samp.callNative("PutPlayerInVehicle","iii",e,t,a),gs=e=>samp.callNative("GetPlayerVehicleID","i",e),Ss=e=>samp.callNative("GetPlayerVehicleSeat","i",e),ys=e=>samp.callNative("RemovePlayerFromVehicle","i",e),Is=(e,t)=>samp.callNative("TogglePlayerControllable","ii",e,t),Ps=(e,t,a,n,i)=>samp.callNative("PlayerPlaySound","iifff",e,t,a,n,i),fs=(e,t,a,n,i,r,s,o,d,c)=>samp.callNative("ApplyAnimation","issfiiiiii",e,t,a,n,i,r,s,o,d,c),As=(e,t)=>samp.callNative("ClearAnimations","ii",e,t),Es=e=>samp.callNative("GetPlayerAnimationIndex","i",e),Cs=e=>samp.callNative("GetPlayerSpecialAction","i",e),Ts=(e,t)=>samp.callNative("SetPlayerSpecialAction","ii",e,t),Ds=(e,t)=>samp.callNative("DisableRemoteVehicleCollisions","ii",e,t),Ns=(e,t)=>samp.callNative("SetPlayerVirtualWorld","ii",e,t),Ls=e=>samp.callNative("GetPlayerVirtualWorld","i",e),Rs=(e,t)=>samp.callNative("EnableStuntBonusForPlayer","ii",e,t),bs=e=>samp.callNative("GetPlayerCustomSkin","i",e),vs=(e,t,a,n,i,r)=>samp.callNative("CreateExplosionForPlayer","ifffif",e,t,a,n,i,r),Bs=(e,t,a)=>samp.callNative("StartRecordingPlayerData","iis",e,t,a),ws=e=>samp.callNative("StopRecordingPlayerData","i",e),Gs=(e,t)=>samp.callNative("TogglePlayerSpectating","ii",e,t),Os=(e,t,a)=>samp.callNative("PlayerSpectatePlayer","iii",e,t,a),Fs=(e,t,a)=>samp.callNative("PlayerSpectateVehicle","iii",e,t,a),Ce=e=>Boolean(samp.callNative("IsPlayerConnected","i",e)),ks=(e,t)=>Boolean(samp.callNative("IsPlayerInVehicle","ii",e,t)),Ms=e=>Boolean(samp.callNative("IsPlayerInAnyVehicle","i",e)),xs=(e,t,a,n,i)=>samp.callNative("SetPlayerWorldBounds","iffff",e,t,a,n,i),Hs=e=>Boolean(samp.callNative("ClearPlayerWorldBounds","i",e)),Vs=(e,t,a)=>samp.callNative("SetPlayerMarkerForPlayer","iii",e,t,y(a));function Ws(e,t){return samp.callNative("GetPlayerMarkerForPlayer","ii",t)}const Us=(e,t,a)=>samp.callNative("ShowPlayerNameTagForPlayer","iii",e,t,a),Ks=(e,t,a,n)=>samp.callNative("SetPlayerCameraPos","ifff",e,t,a,n),Zs=(e,t,a,n,i)=>samp.callNative("SetPlayerCameraLookAt","ifffi",e,t,a,n,i),js=e=>samp.callNative("SetCameraBehindPlayer","i",e),Xs=e=>samp.callNative("GetPlayerCameraPos","iFFF",e),Ys=e=>samp.callNative("GetPlayerCameraFrontVector","iFFF",e),zs=e=>samp.callNative("GetPlayerCameraMode","i",e),Js=(e,t)=>samp.callNative("EnablePlayerCameraTarget","ii",e,t),$s=e=>samp.callNative("GetPlayerCameraTargetVehicle","i",e),Qs=e=>samp.callNative("GetPlayerCameraTargetPlayer","i",e),qs=e=>samp.callNativeFloat("GetPlayerCameraAspectRatio","i",e),el=e=>samp.callNativeFloat("GetPlayerCameraZoom","i",e),tl=(e,t,a,n,i,r,s,o,d)=>samp.callNative("InterpolateCameraPos","iffffffii",e,t,a,n,i,r,s,o,d),al=(e,t,a,n,i,r,s,o,d)=>samp.callNative("InterpolateCameraLookAt","iffffffii",e,t,a,n,i,r,s,o,d),nl=e=>Boolean(samp.callNative("IsPlayerCuffed","i",e)),il=e=>Boolean(samp.callNative("IsPlayerInDriveByMode","i",e)),rl=(e,t)=>samp.callNative("StartRecordingPlayback","is",e,t),sl=()=>samp.callNative("StopRecordingPlayback",""),ll=()=>samp.callNative("PauseRecordingPlayback",""),ol=()=>samp.callNative("ResumeRecordingPlayback",""),dl=e=>samp.callNative("GetActorSkin","i",e),cl=(e,t)=>samp.callNative("SetActorSkin","ii",e,t),_l=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}},hl=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}},ml=(e,t,a,n,i,r,s,o,d=-2,c=-2)=>samp.callNative("SetVehicleSpawnInfo","iiFFFFiiii",e,t,a,n,i,r,s,o,d,c),ul=e=>{const[t=0,a=0]=samp.callNative("GetVehicleColor","i",e);return{color1:t,color2:a}},pl=e=>samp.callNative("GetVehiclePaintjob","i",e),gl=e=>samp.callNative("GetVehicleInterior","i",e),Sl=e=>samp.callNative("GetVehicleNumberPlate","iSi",e,33),yl=(e,t)=>samp.callNative("SetVehicleRespawnDelay","ii",e,t),Il=e=>samp.callNative("GetVehicleRespawnDelay","i",e),Pl=e=>samp.callNative("GetVehicleCab","i",e),fl=e=>samp.callNative("GetVehicleOccupiedTick","i",e),Al=(e,t)=>samp.callNative("SetVehicleOccupiedTick","ii",e,t),El=e=>Boolean(samp.callNative("HasVehicleBeenOccupied","i",e)),Cl=e=>Boolean(samp.callNative("IsVehicleOccupied","i",e)),Tl=e=>samp.callNative("GetVehicleRespawnTick","i",e),Dl=(e,t)=>samp.callNative("SetVehicleRespawnTick","ii",e,t),Nl=e=>Boolean(samp.callNative("IsVehicleDead","i",e)),Ll=(e,t)=>Boolean(samp.callNative("SetVehicleDead","ii",e,t)),Rl=(e,t)=>Boolean(samp.callNative("SetVehicleBeenOccupied","ii",e,t)),bl=(e,t)=>samp.callNative("ToggleVehicleSirenEnabled","ii",e,t),vl=(e,t)=>samp.callNative("SetVehicleParamsSirenState","ii",e,t),Bl=e=>Boolean(samp.callNative("IsVehicleSirenEnabled","i",e)),wl=e=>samp.callNative("GetVehicleModelCount","i",e),Gl=e=>samp.callNative("GetVehicleLastDriver","i",e),Ol=e=>samp.callNative("GetVehicleDriver","i",e),Fl=()=>samp.callNative("GetVehicleModelsUsed",""),kl=e=>samp.callNative("GetVehicleSirenState","i",e),Ml=e=>samp.callNative("GetVehicleLandingGearState","i",e),xl=e=>samp.callNativeFloat("GetVehicleHydraReactorAngle","i",e),Hl=e=>samp.callNativeFloat("GetVehicleTrainSpeed","i",e),Vl=e=>{const[t=0,a=0,n=0,i=0,r=0,s=0,o=0,d=0,c=0]=samp.callNative("GetVehicleMatrix","iFFFFFFFFF",e);return{rightX:t,rightY:a,rightZ:n,upX:i,upY:r,upZ:s,atX:o,atY:d,atZ:c}},Te=e=>{const[t=0,a=0,n=0,i=0]=samp.callNative("GetRandomCarColPair","iIIII",e);return{color:[t,a,n,i]}},Wl=(e,t=255)=>samp.callNative("CarColIndexToColour","ii",e,t),Ul=(e,t,a,n,i,r,s,o,d)=>samp.callNative("CreateVehicle","iffffiiii",e,t,a,n,i,y(r),y(s),o,d),Kl=e=>samp.callNative("DestroyVehicle","i",e),Zl=(e,t)=>Boolean(samp.callNative("IsVehicleStreamedIn","ii",e,t)),jl=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]}},Xl=(e,t,a,n)=>samp.callNative("SetVehiclePos","ifff",e,t,a,n),Yl=e=>samp.callNative("GetVehicleZAngle","iF",e),zl=e=>samp.callNative("GetVehicleRotationQuat","iFFFF",e),Jl=(e,t,a,n)=>samp.callNativeFloat("GetVehicleDistanceFromPoint","ifff",e,t,a,n),$l=(e,t)=>samp.callNative("SetVehicleZAngle","if",e,t),Ql=(e,t,a,n)=>samp.callNative("SetVehicleParamsForPlayer","iiii",e,t,a,n),ql=()=>samp.callNative("ManualVehicleEngineAndLights",""),eo=(e,t,a,n,i,r,s,o)=>samp.callNative("SetVehicleParamsEx","iiiiiiii",e,t,a,n,i,r,s,o),to=e=>samp.callNative("GetVehicleParamsEx","iIIIIIII",e),ao=e=>samp.callNative("GetVehicleParamsSirenState","i",e),no=(e,t,a,n,i)=>samp.callNative("SetVehicleParamsCarDoors","iiiii",e,t,a,n,i),io=e=>{const t=samp.callNative("GetVehicleParamsCarDoors","iIIII",e);return{driver:t[0],passenger:t[1],backLeft:t[2],backRight:t[3]}},ro=(e,t,a,n,i)=>samp.callNative("SetVehicleParamsCarWindows","iiiii",e,t,a,n,i),so=e=>{const t=samp.callNative("GetVehicleParamsCarWindows","iIIII",e);return{driver:t[0],passenger:t[1],backLeft:t[2],backRight:t[3]}},lo=e=>samp.callNative("SetVehicleToRespawn","i",e),oo=(e,t)=>samp.callNative("LinkVehicleToInterior","ii",e,t),co=(e,t)=>samp.callNative("AddVehicleComponent","ii",e,t),_o=(e,t)=>samp.callNative("RemoveVehicleComponent","ii",e,t),ho=(e,t,a)=>samp.callNative("ChangeVehicleColor","iii",e,y(t),y(a)),mo=(e,t)=>samp.callNative("ChangeVehiclePaintjob","ii",e,t),uo=(e,t)=>samp.callNative("SetVehicleHealth","if",e,t),po=e=>samp.callNative("GetVehicleHealth","iF",e),go=(e,t)=>samp.callNative("AttachTrailerToVehicle","ii",e,t),So=e=>samp.callNative("DetachTrailerFromVehicle","i",e),yo=e=>Boolean(samp.callNative("IsTrailerAttachedToVehicle","i",e)),Io=e=>samp.callNative("GetVehicleTrailer","i",e),Po=(e,t)=>samp.callNative("SetVehicleNumberPlate","is",e,t),fo=e=>samp.callNative("GetVehicleModel","i",e),Ao=(e,t)=>samp.callNative("GetVehicleComponentInSlot","ii",e,t),Eo=e=>samp.callNative("GetVehicleComponentType","i",e),Co=e=>samp.callNative("RepairVehicle","i",e),To=e=>samp.callNative("GetVehicleVelocity","iFFF",e),Do=(e,t,a,n)=>Boolean(samp.callNative("SetVehicleVelocity","ifff",e,t,a,n)),No=(e,t,a,n)=>samp.callNative("SetVehicleAngularVelocity","ifff",e,t,a,n),Lo=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]}},Ro=(e,t,a,n,i)=>samp.callNative("UpdateVehicleDamageStatus","iiiii",e,t,a,n,i),bo=(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]}},vo=(e,t)=>samp.callNative("SetVehicleVirtualWorld","ii",e,t),Bo=e=>samp.callNative("GetVehicleVirtualWorld","i",e),De=e=>Boolean(samp.callNative("IsValidVehicle","i",e)),wo=(e,t,a,n,i,r,s)=>samp.callNative("AddStaticVehicle","iffffii",e,t,a,n,i,r,s),Go=(e,t,a,n,i,r,s,o,d)=>samp.callNative("AddStaticVehicleEx","iffffiiii",e,t,a,n,i,r,s,o,d),Oo=e=>Boolean(samp.callNative("ShowVehicle","i",e)),Fo=e=>Boolean(samp.callNative("HideVehicle","i",e)),ko=e=>Boolean(samp.callNative("IsVehicleHidden","i",e)),Mo=e=>Boolean(samp.callNative("IsPlayerInModShop","i",e)),xo=e=>samp.callNative("GetPlayerSirenState","i",e),Ho=e=>samp.callNative("GetPlayerLandingGearState","i",e),Vo=e=>samp.callNative("GetPlayerHydraReactorAngle","i",e),Wo=e=>samp.callNativeFloat("GetPlayerTrainSpeed","i",e),Uo=e=>Boolean(samp.callNative("IsPlayerCheckpointActive","i",e)),Ko=e=>{const[t=0,a=0,n=0,i=0]=samp.callNative("GetPlayerCheckpoint","iFFFF",e);return{fX:t,fY:a,fZ:n,fSize:i}},Zo=e=>Boolean(samp.callNative("IsPlayerRaceCheckpointActive","i",e)),jo=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}},Xo=e=>Boolean(samp.callNative("IsMenuDisabled","i",e)),Yo=(e,t)=>Boolean(samp.callNative("IsMenuRowDisabled","ii",e,t)),zo=(e,t)=>samp.callNative("GetMenuItems","ii",e,t),Jo=e=>{const[t=0,a=0]=samp.callNative("GetMenuPos","iFF",e);return{fX:t,fY:a}},$o=e=>{const[t=0,a=0]=samp.callNative("GetMenuColumnWidth","iFF",e);return{fColumn1:t,fColumn2:a}},Qo=(e,t)=>samp.callNative("GetMenuColumnHeader","iiSi",e,t,31),qo=(e,t,a)=>samp.callNative("GetMenuItem","iiiSi",e,t,a,31),ed=(e,t,a,n,i,r)=>samp.callNative("CreateMenu","siffff",e,t,a,n,i,r),td=e=>samp.callNative("DestroyMenu","i",e),ad=(e,t,a)=>samp.callNative("AddMenuItem","iis",e,t,a),nd=(e,t,a)=>samp.callNative("SetMenuColumnHeader","iis",e,t,a),id=(e,t)=>samp.callNative("ShowMenuForPlayer","ii",e,t),rd=(e,t)=>samp.callNative("HideMenuForPlayer","ii",e,t),sd=e=>Boolean(samp.callNative("IsValidMenu","i",e)),ld=e=>samp.callNative("DisableMenu","i",e),od=(e,t)=>samp.callNative("DisableMenuRow","ii",e,t),dd=e=>samp.callNative("GetPlayerMenu","i",e),cd=e=>Boolean(samp.callNative("IsValidGangZone","i",e)),_d=(e,t)=>Boolean(samp.callNative("IsPlayerInGangZone","ii",e,t)),hd=(e,t)=>Boolean(samp.callNative("IsGangZoneVisibleForPlayer","ii",e,t)),md=(e,t)=>samp.callNative("GangZoneGetColorForPlayer","ii",e,t),ud=(e,t)=>samp.callNative("GangZoneGetFlashColorForPlayer","ii",e,t),pd=(e,t)=>Boolean(samp.callNative("IsGangZoneFlashingForPlayer","ii",e,t)),gd=e=>{const[t=0,a=0,n=0,i=0]=samp.callNative("GangZoneGetPos","iFFFF",e);return{fMinX:t,fMinY:a,fMaxX:n,fMaxY:i}},Sd=(e,t)=>{samp.callNative("UseGangZoneCheck","ii",e,t)},yd=(e,t,a,n)=>samp.callNative("GangZoneCreate","ffff",e,t,a,n),Id=e=>samp.callNative("GangZoneDestroy","i",e),Pd=(e,t,a)=>samp.callNative("GangZoneShowForPlayer","iii",e,t,y(a)),fd=(e,t)=>samp.callNative("GangZoneShowForAll","ii",e,y(t)),Ad=(e,t)=>samp.callNative("GangZoneHideForPlayer","ii",e,t),Ed=e=>samp.callNative("GangZoneHideForAll","i",e),Cd=(e,t,a)=>samp.callNative("GangZoneFlashForPlayer","iii",e,t,y(a)),Td=(e,t)=>samp.callNative("GangZoneFlashForAll","ii",e,y(t)),Dd=(e,t)=>samp.callNative("GangZoneStopFlashForPlayer","ii",e,t),Nd=e=>samp.callNative("GangZoneStopFlashForAll","i",e),Ld=(e,t,a,n,i)=>samp.callNative("CreatePlayerGangZone","iffff",e,t,a,n,i),Rd=(e,t)=>samp.callNative("PlayerGangZoneDestroy","ii",e,t),bd=(e,t,a)=>samp.callNative("PlayerGangZoneShow","iii",e,t,a),vd=(e,t)=>samp.callNative("PlayerGangZoneHide","ii",e,t),Bd=(e,t,a)=>samp.callNative("PlayerGangZoneFlash","iii",e,t,a),wd=(e,t)=>samp.callNative("PlayerGangZoneStopFlash","ii",e,t),Gd=(e,t)=>Boolean(samp.callNative("IsValidPlayerGangZone","ii",e,t)),Od=(e,t)=>Boolean(samp.callNative("IsPlayerInPlayerGangZone","ii",e,t)),Fd=(e,t)=>Boolean(samp.callNative("IsPlayerGangZoneVisible","ii",e,t)),kd=(e,t)=>samp.callNative("PlayerGangZoneGetColor","ii",e,t),Md=(e,t)=>samp.callNative("PlayerGangZoneGetFlashColor","ii",e,t),xd=(e,t)=>Boolean(samp.callNative("IsPlayerGangZoneFlashing","ii",e,t)),Hd=(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}},Vd=(e,t,a)=>{samp.callNative("UsePlayerGangZoneCheck","iii",e,t,a)},Wd=e=>Boolean(samp.callNative("IsValidTextDraw","i",e)),Ud=(e,t)=>Boolean(samp.callNative("IsTextDrawVisibleForPlayer","ii",e,t)),Kd=e=>samp.callNative("TextDrawGetString","iSi",e,1024),Zd=(e,t,a)=>{samp.callNative("TextDrawSetPos","iff",e,t,a)},jd=e=>{const[t=0,a=0]=samp.callNative("TextDrawGetLetterSize","iFF",e);return{fX:t,fY:a}},Xd=e=>{const[t=0,a=0]=samp.callNative("TextDrawGetTextSize","iFF",e);return{fX:t,fY:a}},Yd=e=>{const[t=0,a=0]=samp.callNative("TextDrawGetPos","iFF",e);return{fX:t,fY:a}},zd=e=>samp.callNative("TextDrawGetColor","i",e),Jd=e=>samp.callNative("TextDrawGetBoxColor","i",e),$d=e=>samp.callNative("TextDrawGetBackgroundColor","i",e),Qd=e=>samp.callNative("TextDrawGetShadow","i",e),qd=e=>samp.callNative("TextDrawGetOutline","i",e),ec=e=>samp.callNative("TextDrawGetFont","i",e),tc=e=>Boolean(samp.callNative("TextDrawIsBox","i",e)),ac=e=>Boolean(samp.callNative("TextDrawIsProportional","i",e)),nc=e=>Boolean(samp.callNative("TextDrawIsSelectable","i",e)),ic=e=>samp.callNative("TextDrawGetAlignment","i",e),rc=e=>samp.callNative("TextDrawGetPreviewModel","i",e),sc=e=>{const[t=0,a=0,n=0,i=0]=samp.callNative("TextDrawGetPreviewRot","iFFFF",e);return{fRotX:t,fRotY:a,fRotZ:n,fZoom:i}},lc=e=>{const[t,a]=samp.callNative("TextDrawGetPreviewVehCol","iII",e);return{color1:t,color2:a}},oc=(e,t,a)=>{samp.callNative("TextDrawSetStringForPlayer","iis",e,t,a)},dc=(e,t,a)=>samp.callNative("TextDrawCreate","ffs",e,t,a),cc=e=>samp.callNative("TextDrawDestroy","i",e),_c=(e,t,a)=>samp.callNative("TextDrawLetterSize","iff",e,t,a),hc=(e,t,a)=>samp.callNative("TextDrawTextSize","iff",e,t,a),mc=(e,t)=>samp.callNative("TextDrawAlignment","ii",e,t),uc=(e,t)=>Boolean(samp.callNative("TextDrawColor","ii",e,y(t))),pc=(e,t)=>samp.callNative("TextDrawUseBox","ii",e,t),gc=(e,t)=>Boolean(samp.callNative("TextDrawBoxColor","ii",e,y(t))),Sc=(e,t)=>samp.callNative("TextDrawSetShadow","ii",e,t),yc=(e,t)=>samp.callNative("TextDrawSetOutline","ii",e,t),Ic=(e,t)=>Boolean(samp.callNative("TextDrawBackgroundColor","ii",e,y(t))),Pc=(e,t)=>samp.callNative("TextDrawFont","ii",e,t),fc=(e,t)=>samp.callNative("TextDrawSetProportional","ii",e,t),Ac=(e,t)=>samp.callNative("TextDrawSetSelectable","ii",e,t),Ec=(e,t)=>samp.callNative("TextDrawShowForPlayer","ii",e,t),Cc=(e,t)=>samp.callNative("TextDrawHideForPlayer","ii",e,t),Tc=e=>samp.callNative("TextDrawShowForAll","i",e),Dc=e=>samp.callNative("TextDrawHideForAll","i",e),Nc=(e,t)=>samp.callNative("TextDrawSetString","is",e,t),Lc=(e,t)=>samp.callNative("TextDrawSetPreviewModel","ii",e,t),Rc=(e,t,a,n,i=1)=>{samp.callNative("TextDrawSetPreviewRot","iffff",e,t,a,n,i)},bc=(e,t,a)=>Boolean(samp.callNative("TextDrawSetPreviewVehCol","iii",e,y(t),y(a))),vc=(e,t)=>{samp.callNative("SelectTextDraw","ii",e,y(t))},Bc=e=>{samp.callNative("CancelSelectTextDraw","i",e)},wc=(e,t)=>Boolean(samp.callNative("IsValidPlayerTextDraw","ii",e,t)),Gc=(e,t)=>samp.callNative("PlayerTextDrawGetString","iiSi",e,t,1024),Oc=(e,t,a,n)=>{samp.callNative("PlayerTextDrawSetPos","iiff",e,t,a,n)},Fc=(e,t)=>{const[a=0,n=0]=samp.callNative("PlayerTextDrawGetLetterSize","iiFF",e,t);return{fX:a,fY:n}},kc=(e,t)=>{const[a=0,n=0]=samp.callNative("PlayerTextDrawGetTextSize","iiFF",e,t);return{fX:a,fY:n}},Mc=(e,t)=>{const[a=0,n=0]=samp.callNative("PlayerTextDrawGetPos","iiFF",e,t);return{fX:a,fY:n}},xc=(e,t)=>samp.callNative("PlayerTextDrawGetColor","ii",e,t),Hc=(e,t)=>samp.callNative("PlayerTextDrawGetBoxColor","ii",e,t),Vc=(e,t)=>samp.callNative("PlayerTextDrawGetBackgroundColor","ii",e,t),Wc=(e,t)=>samp.callNative("PlayerTextDrawGetShadow","ii",e,t),Uc=(e,t)=>samp.callNative("PlayerTextDrawGetOutline","ii",e,t),Kc=(e,t)=>samp.callNative("PlayerTextDrawGetFont","ii",e,t),Zc=(e,t)=>Boolean(samp.callNative("PlayerTextDrawIsBox","ii",e,t)),jc=(e,t)=>Boolean(samp.callNative("PlayerTextDrawIsProportional","ii",e,t)),Xc=(e,t)=>Boolean(samp.callNative("PlayerTextDrawIsSelectable","ii",e,t)),Yc=(e,t)=>samp.callNative("PlayerTextDrawGetAlignment","ii",e,t),zc=(e,t)=>samp.callNative("PlayerTextDrawGetPreviewModel","ii",e,t),Jc=(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}},$c=(e,t)=>{const[a,n]=samp.callNative("PlayerTextDrawGetPreviewVehCol","iiII",e,t);return{color1:a,color2:n}},Qc=(e,t,a,n)=>samp.callNative("CreatePlayerTextDraw","iffs",e,t,a,n),qc=(e,t)=>{samp.callNative("PlayerTextDrawDestroy","ii",e,t)},e_=(e,t,a,n)=>samp.callNative("PlayerTextDrawLetterSize","iiff",e,t,a,n),t_=(e,t,a)=>samp.callNative("PlayerTextDrawAlignment","iii",e,t,a),a_=(e,t,a)=>Boolean(samp.callNative("PlayerTextDrawColor","iii",e,t,y(a))),n_=(e,t,a)=>samp.callNative("PlayerTextDrawUseBox","iii",e,t,a),i_=(e,t,a)=>Boolean(samp.callNative("PlayerTextDrawBoxColor","iii",e,t,y(a))),r_=(e,t,a)=>samp.callNative("PlayerTextDrawSetShadow","iii",e,t,a),s_=(e,t,a)=>samp.callNative("PlayerTextDrawSetOutline","iii",e,t,a),l_=(e,t,a)=>Boolean(samp.callNative("PlayerTextDrawBackgroundColor","iii",e,t,y(a))),o_=(e,t,a)=>samp.callNative("PlayerTextDrawFont","iii",e,t,a),d_=(e,t,a)=>samp.callNative("PlayerTextDrawSetProportional","iii",e,t,a),c_=(e,t,a)=>samp.callNative("PlayerTextDrawSetSelectable","iii",e,t,a),__=(e,t)=>samp.callNative("PlayerTextDrawShow","ii",e,t),h_=(e,t)=>samp.callNative("PlayerTextDrawHide","ii",e,t),m_=(e,t,a)=>samp.callNative("PlayerTextDrawSetString","iis",e,t,a),u_=(e,t,a)=>samp.callNative("PlayerTextDrawSetPreviewModel","iii",e,t,a),p_=(e,t,a,n,i,r)=>samp.callNative("PlayerTextDrawSetPreviewRot","iiffff",e,t,a,n,i,r),g_=(e,t,a,n)=>Boolean(samp.callNative("PlayerTextDrawSetPreviewVehCol","iiii",e,t,a,n)),S_=e=>Boolean(samp.callNative("BeginObjectSelecting","i",e)),y_=e=>Boolean(samp.callNative("EndObjectEditing","i",e)),I_=e=>Boolean(samp.callNative("SetObjectsDefaultCameraCol","i",e)),P_=(e,t,a,n,i)=>samp.callNative("AddSimpleModel","iiiss",e,t,a,n,i),f_=(e,t,a,n,i,r,s)=>samp.callNative("AddSimpleModelTimed","iiissii",e,t,a,n,i,r,s),A_=(e,t)=>samp.callNative("RedirectDownload","is",e,t),E_=e=>samp.callNative("FindModelFileNameFromCRC","iSi",e,255),C_=e=>samp.callNative("FindTextureFileNameFromCRC","iSi",e,255),T_=(e,t)=>{const[a=0,n=0,i=0,r=0,s=0,o=0,d=0,c=0,u=0,p=0,g=0,I=0,A=0]=samp.callNative("GetPlayerAttachedObject","iiIIFFFFFFFFFII",e,t);return{modelId:a,bone:n,fX:i,fY:r,fZ:s,fRotX:o,fRotY:d,fRotZ:c,fScaleX:u,fScaleY:p,fScaleZ:g,materialColor1:I,materialColor2:A}},D_=(e,t,a,n,i,r,s,o,d,c,u,p,g,I,A)=>samp.callNative("SetPlayerAttachedObject","iiiifffffffffii",e,t,a,n,i,r,s,o,d,c,u,p,g,y(I),y(A)),N_=(e,t)=>samp.callNative("RemovePlayerAttachedObject","ii",e,t),L_=(e,t)=>Boolean(samp.callNative("IsPlayerAttachedObjectSlotUsed","ii",e,t)),Ne=e=>Boolean(samp.callNative("IsValidCustomModel","i",e)),R_=e=>{if(!Ne(e))return null;const[t,a]=samp.callNative("GetCustomModePath","iSiSi",e,255,255);return{dffPath:t,txdPath:a}};var Le=(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))(Le||{}),Re=(e=>(e[e.SCOREBOARD=0]="SCOREBOARD",e))(Re||{}),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||{}),be=(e=>(e[e.CANCEL=0]="CANCEL",e[e.FINAL=1]="FINAL",e[e.UPDATE=2]="UPDATE",e))(be||{}),ve=(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))(ve||{}),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=-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))(C||{}),Be=(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))(Be||{}),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||{}),we=(e=>(e[e.OFF=0]="OFF",e[e.GLOBAL=1]="GLOBAL",e[e.STREAMED=2]="STREAMED",e))(we||{}),Ge=(e=>(e[e.NONE=1]="NONE",e[e.DRIVER=2]="DRIVER",e[e.ONFOOT=3]="ONFOOT",e))(Ge||{}),w=(e=>(e[e.none=0]="none",e[e.start=1]="start",e[e.pause=2]="pause",e))(w||{}),Oe=(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))(Oe||{}),Fe=(e=>(e[e.LEFT=0]="LEFT",e[e.CENTER=1]="CENTER",e[e.RIGHT=2]="RIGHT",e))(Fe||{}),ke=(e=>(e[e.GLOBAL_OBJECT=1]="GLOBAL_OBJECT",e[e.PLAYER_OBJECT=2]="PLAYER_OBJECT",e))(ke||{}),Me=(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))(Me||{}),xe=(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))(xe||{}),te=(e=>(e[e.MOVE=1]="MOVE",e[e.CUT=2]="CUT",e))(te||{}),He=(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))(He||{}),ae=(e=>(e[e.NORMAL=1]="NORMAL",e[e.FIXED=2]="FIXED",e[e.SIDE=3]="SIDE",e))(ae||{}),j=(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))(j||{}),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||{}),We=(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))(We||{}),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||{}),$=(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))($||{}),Ue=(e=>(e[e.LEFT=1]="LEFT",e[e.CENTER=2]="CENTER",e[e.RIGHT=3]="RIGHT",e))(Ue||{}),Ke=(e=>(e[e.UNKNOWN=-1]="UNKNOWN",e[e.NONE=-1]="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[e.FRONT_BULLBAR=14]="FRONT_BULLBAR",e[e.REAR_BULLBAR=15]="REAR_BULLBAR",e))(Ke||{}),Ze=(e=>(e[e.UNSET=0]="UNSET",e[e.OFF=1]="OFF",e[e.ON=2]="ON",e))(Ze||{}),je=(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))(je||{}),Xe=(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))(Xe||{}),Ye=(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))(Ye||{}),ze=(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))(ze||{}),Je=(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))(Je||{}),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||{}),$e=(e=>(e[e.NONE=0]="NONE",e[e.DRIVER=1]="DRIVER",e[e.ONFOOT=2]="ONFOOT",e))($e||{});class G{constructor(){}static recordStatus;static connectNPC=Zn;static startRecordingPlayerData(t,a,n){if(t.isRecording)return l.warn("[NpcFunc]: It should be stopped before recording");Bs(t.id,a,n),t.isRecording=!0}static stopRecordingPlayerData(t){if(!t.isRecording)return l.warn("[NpcFunc]: It should be started before stop");ws(t.id),t.isRecording=!1}static startRecordingPlayback(t,a){if(G.recordStatus>=w.start)return l.warn("[NpcFunc]: The current status cannot be replayed");rl(t,a),G.recordStatus=w.start}static stopRecordingPlayback(){if(G.recordStatus<w.start)return l.warn("[NpcFunc]: The current status cannot be stopped");sl(),G.recordStatus=w.none}static pauseRecordingPlayback(){if(G.recordStatus!==w.start)return l.warn("[NpcFunc]: The current status cannot be paused");ll(),G.recordStatus=w.pause}static resumeRecordingPlayback(){if(G.recordStatus!==w.pause)return l.warn("[NpcFunc]: The current status cannot be paused");ol(),G.recordStatus=w.start}}const b_=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}]]]),v_=e=>{const t=b_.get(e);return t===void 0?!1:t},Qe=(e,t)=>{const a=v_(e);if(a)return a.find(n=>n.n===t)?.d},X=(e,t)=>{const a=t.replace("-","")==="utf8"?e:P.encodeToBuf(e,t);return[a instanceof Array?"a":"s",a]},qe=(e,t,a)=>{const n=X(a,e.charset);return samp.callNative("SendClientMessage",`ii${n[0]}`,e.id,y(t),n[1])},B_=(e,t,a)=>(e.forEach(n=>qe(n,t,a)),1),et=(e,t,a)=>{const n=X(a,e.charset);return samp.callNative("SendPlayerMessageToPlayer",`ii${n[0]}`,e.id,t,n[1])},w_=(e,t,a)=>(e.forEach(n=>{et(n,t,a)}),1),G_=(e,t,a)=>{const{charset:n}=e,{style:i,caption:r,info:s,button1:o,button2:d}=a,[c,u]=X(r||"",n),[,p]=X(s||"",n),[,g]=X(o||"",n),[,I]=X(d||"",n);return samp.callNative("ShowPlayerDialog",`iii${c.repeat(4)}`,e.id,t,i,u,p,g,I)},O_=e=>{const t=samp.callNative("GetPlayerName","iAi",e.id,B.MAX_PLAYER_NAME);return P.decodeFromBuf(P.getValidStr(t),e.charset)},F_=(e,t)=>samp.callNative("SetPlayerName","ia",e.id,P.encodeToBuf(t,e.charset)),k_=(e,t,a)=>{const n=P.encodeToBuf(t,a);return samp.callNative("BanEx","ia",e,n)},M_=(e,t,a,n,i,r,s,o,d,c,u,p,g,I,A,b)=>{const M=P.encodeToBuf(t,e);return samp.callNative("CreateDynamic3DTextLabel","aiffffiiiiiifii",M,a,n,i,r,s,o,d,c,u,p,g,I,A,b)},x_=(e,t,a,n,i,r,s,o,d,c,u,p,g,I,A,b)=>{const M=P.encodeToBuf(e,b);return samp.callNative("CreateDynamic3DTextLabelEx","aiffffiiifaaaaiiiii",M,t,a,n,i,r,s,o,d,c,u,p,g,I,A,u.length,p.length,g.length,I.length)},H_=(e,t,a,n)=>{const i=P.encodeToBuf(a,n);return samp.callNative("UpdateDynamic3DTextLabelText","iia",e,t,i)},V_=(e,t)=>{const a=samp.callNative("GetDynamic3DTextLabelText","iAi",e,1024);return P.decodeFromBuf(P.getValidStr(a),t)},W_=(e,t,a,n,i,r,s,o,d,c,u)=>{const p=P.encodeToBuf(n,e),g=P.encodeToBuf(r,e);return samp.callNative("SetDynamicObjectMaterialText","iiaiaiiiii",t,a,p,i,g,s,o,d,c,u)},U_=(e,t,a)=>{const[n,i,r,s,o,d,c]=samp.callNative("GetDynamicObjectMaterialText","iiAIAIIIIIii",e,t,2048,32),u=P.decodeFromBuf(n,a),p=P.decodeFromBuf(r,a);return{text:u,materialSize:i,fontFace:p,bold:s,fontColor:o,backColor:d,textAlignment:c}},[tt]=h({name:"OnGameModeInit"}),[at]=h({name:"OnGameModeExit"}),[K_]=h({name:"OnIncomingConnection",beforeEach(e,t,a){return{playerId:e,ipAddress:t,port:a}}}),[Z_]=h({name:"OnRconCommandI18n",identifier:"ai",beforeEach(e){return{buffer:e,cmd:P.decodeFromBuf(e)}}}),[j_]=h({name:"OnRconLoginAttemptI18n",identifier:"aiaii",beforeEach(e,t,a){return{ip:P.decodeFromBuf(e),password:P.decodeFromBuf(t),success:Boolean(a),ipBuffer:e,passwordBuffer:t}}}),V=[],Y=[],le=e=>{setTimeout(async()=>{try{const t=V.findIndex(n=>n.name===e);if(t===-1)return;const a=V[t];await a.load(),V.splice(t,1),Y.push(a)}catch(t){l.error(`[GameMode]: script ${e} load fail`),l.warn(new Error(JSON.stringify(t)))}})},oe=e=>{setTimeout(async()=>{try{const t=Y.findIndex(n=>n.name===e);if(t===-1)return;const a=Y[t];await a.unload(),Y.splice(t,1),V.push(a)}catch(t){l.error(`[GameMode]: script ${e} unload fail`),l.warn(new Error(JSON.stringify(t)))}})},X_=e=>{oe(e),le(e)};tt(({next:e})=>(V.forEach(t=>le(t.name)),e())),at(({next:e})=>(Y.forEach(t=>oe(t.name)),e()));const Y_=function(e,...t){if(V.some(a=>a===e)||Y.some(a=>a===e)){l.warn("[GameMode]: script has already been applied");return}e.load=e.load.bind(e,...t),V.push(e)};var z_={use(e,...t){return Y_(e,...t),this},loadUseScript:le,reloadUseScript:X_,unloadUseScript:oe,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):Gn(e)},setWorldTime(e){return e<0||e>23?(l.error("[GameMode]: The valid hour value is only 0 to 23"),0):vn(e)},getWorldTime:Bn,setTeamCount:ti,sendRconCommand:Ci,addPlayerClass:ai,addPlayerClassEx:ni,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):kn(e,t,a,n,i)},manualVehicleEngineAndLights:ql,blockIpAddress:Ai,unBlockIpAddress:Ei,getServerTickRate:jn,addSimpleModel(e,t,a,n,i){return this.checkSimpleModel(e,t,a,n,i)?P_(e,t,a,n,i):0},addSimpleModelTimed(e,t,a,n,i,r,s){return this.checkSimpleModel(e,t,a,n,i,r,s)?f_(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},isValidCustomModel:Ne,getCustomModePath:R_,getConsoleVarAsString(e,t="utf8"){const a=pn(e);return P.decodeFromBuf(P.getValidStr(a),t)},getRestartTime:An,setRestartTime:fn,allowAdminTeleport:dn,isAdminTeleportAllowed:cn,allowInteriorWeapons:_n,areInteriorWeaponsAllowed:hn,areAllAnimationsEnabled:mn,enableAllAnimations:un,enableStuntBonusForAll:Yn,enableVehicleFriendlyFire:wn,enableZoneNames:Mn,disableInteriorEnterExits:Hn,setGameModeText:Ln,getGravity:On,setGravity:Fn,showNameTags:Rn,disableNameTagLOS:Wn,usePlayerPedAnims:xn,showPlayerMarkers:bn,limitPlayerMarkerRadius:Kn,limitGlobalChatRadius:Un,setNameTagDrawDistance:Vn,findModelFileNameFromCRC:E_,findTextureFileNameFromCRC:C_,getWeaponName:Qn,setObjectsDefaultCameraCollision:I_,vectorSize:Nn,clearBanList:Ni,isBanned:Li,isValidNickName:tn,allowNickNameCharacter:an,isNickNameCharacterAllowed:nn,addServerRule:rn,setServerRule:sn,isValidServerRule:ln,removeServerRule:on,getWeaponSlot:$n,getAvailableClasses:Ae,getPlayerClass:qn,editPlayerClass:ei,toggleChatTextReplacement:zn,chatTextReplacementToggled:Jn,getConsoleVarAsInt:gn,getConsoleVarAsBool:Sn,getWeather:yn,getServerRuleFlag:In,setServerRuleFlags:Pn};const L={onInit:tt,onExit:at,onIncomingConnection:K_,onRconCommand:Z_,onRconLoginAttempt:j_,...z_},[nt]=h({name:"OnClientCheckResponse",beforeEach(e,t,a,n){return{player:m.getInstance(e),actionId:t,memAddr:a,data:n}}});class m{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 qe(this,t,a)}static sendClientMessageToAll(t,a){B_(m.getInstances(),t,a)}sendMessageToPlayer(t,a){return et(t,this.id,a)}sendMessageToAll(t){return w_(m.getInstances(),this.id,t)}isNpc(){return or(this.id)}getFps(){return this.lastFps}getDrunkLevel(){return br(this.id)}setDrunkLevel(t){if(t<0||t>5e4)return l.error(new Error("[Player]: player's drunk level ranges from 0 to 50000"));vr(this.id,t)}allowTeleport(t){er(this.id,t)}isTeleportAllowed(){return tr(this.id)}enableCameraTarget(t){Js(this.id,t)}enableStuntBonus(t){Rs(this.id,t)}getInterior(){return Sr(this.id)}setInterior(t){return gr(this.id,t)}showNameTag(t,a){Us(this.id,t.id,a)}setColor(t){Br(this.id,t)}getColor(){return wr(this.id)}setMarker(t,a){Vs(this.id,t.id,a)}getMarker(t){return Ws(this.id,t.id)}resetMoney(){return Vr(this.id)}getMoney(){return Wr(this.id)}giveMoney(t){return Hr(this.id,t)}resetWeapons(){return kr(this.id)}spawn(){return this.isSpectating()?(this.toggleSpectating(!1),1):ri(this.id)}setHealth(t){return yr(this.id,t)}getHealth(){return Ir(this.id)}toggleClock(t){return zr(this.id,t)}toggleControllable(t){return Is(this.id,t)}toggleSpectating(t){return Gs(this.id,t)}spectatePlayer(t,a=ae.NORMAL){return Os(this.id,t.id,a)}spectateVehicle(t,a=ae.NORMAL){return Fs(this.id,t.id,a)}forceClassSelection(){$r(this.id)}kick(){yi(this.id)}ban(){Ii(this.id)}banEx(t,a){k_(this.id,t,a)}isAdmin(){return gi(this.id)}isInRangeOfPoint(t,a,n,i){return mr(this.id,t,a,n,i)}isStreamedIn(t){return pr(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:Gr(this.id,t)}getSkin(){return Or(this.id)}isInAnyVehicle(){return Ms(this.id)}getSpecialAction(){return Cs(this.id)}setSpecialAction(t){return Ts(this.id,t)}setScore(t){return Lr(this.id,t)}getScore(){return Rr(this.id)}getPing(){return Kr(this.id)||0}setPos(t,a,n){return Ee(this.id,t,a,n)}getPos(){if(this.isSpectating()||this.isWasted()||this.getState()===j.NONE)return;const[t,a,n]=cr(this.id);return{x:t,y:a,z:n}}isSpectating(){return this.getState()===j.SPECTATING}isWasted(){return this.getState()===j.WASTED}getState(){return Ur(this.id)}getVersion(){return this.isNpc()?"":vi(this.id)}setVirtualWorld(t){return Ns(this.id,t)}getVirtualWorld(){return Ls(this.id)}removeFromVehicle(){return ys(this.id)}setWantedLevel(t){return t<0||t>6?(l.error("[Player]: player's wanted level ranges from 0 to 6"),0):Qr(this.id,t)}getWantedLevel(){return qr(this.id)}setFacingAngle(t){return _r(this.id,t)}getFacingAngle(){return hr(this.id)}setWeather(t){if(t<0||t>255){l.warn("[Player]: The valid weather value is only 0 to 255");return}Jr(this.id,t)}getWeather(){return Oi(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 Xr(this.id,t,a)}getTime(){const[t,a]=Yr(this.id);return{hour:t,minute:a}}removeBuilding(t,a,n,i,r){hs(this.id,t,a,n,i,r)}setTeam(t){t<0||t>C.NO_TEAM||Dr(this.id,t)}getTeam(){return Nr(this.id)}setSkillLevel(t,a){if(a<0||a>999){l.warn("[Player]: The valid skill level is only 0 to 999");return}os(this.id,t,a)}getName(){return O_(this)}setName(t){return F_(this,t)}setVelocity(t,a,n){return as(this.id,t,a,n)}getVelocity(){const[t,a,n]=ns(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 L.vectorSize(a,n,i)*t}getKeys(){const[t,a,n]=jr(this.id);return{keys:t,upDown:a,leftRight:n}}getIp(){return bi(this.id)}getFightingStyle(){return ts(this.id)}setFightingStyle(t){es(this.id,t)}setArmour(t){return Pr(this.id,t)}getArmour(){return fr(this.id)}setCameraBehind(){return js(this.id)}setCameraPos(t,a,n){return Ks(this.id,t,a,n)}setCameraLookAt(t,a,n,i){return Zs(this.id,t,a,n,i)}getCameraAspectRatio(){return qs(this.id)}getCameraFrontVector(){const[t,a,n]=Ys(this.id);return{x:t,y:a,z:n}}getCameraMode(){return zs(this.id)}getCameraPos(){const[t,a,n]=Xs(this.id);return{x:t,y:a,z:n}}getCameraTargetPlayer(t){const a=Qs(this.id);return t.find(n=>n.id===a)}getCameraTargetVehicle(t){const a=$s(this.id);return t.find(n=>n.id===a)}getCameraZoom(){return el(this.id)}playAudioStream(t,a=0,n=0,i=0,r=5){let s=!1;return(a!==0||n!==0||i!==0)&&(s=!0),rs(this.id,t,a,n,i,r,s)}stopAudioStream(){ss(this.id)}playSound(t,a=0,n=0,i=0){return Ps(this.id,t,a,n,i)}static getMaxPlayers(){return Dn()}playCrimeReport(t,a){return a<3||a>22?(l.warn("[Player]: Available crime ids range from 3 to 22"),0):is(this.id,t.id,a)}interpolateCameraPos(t,a,n,i,r,s,o,d=te.CUT){tl(this.id,t,a,n,i,r,s,o,d)}interpolateCameraLookAt(t,a,n,i,r,s,o,d=te.CUT){al(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):vs(this.id,t,a,n,i,r)}static isConnected(t){return Ce(t)}isConnected(){return Ce(this.id)}disableRemoteVehicleCollisions(t){return Ds(this.id,t)}getVehicle(t){if(!this.isInAnyVehicle())return;const a=gs(this.id);return t.find(n=>n.id===a)}getVehicleSeat(){return Ss(this.id)}getSurfingVehicle(t){const a=ds(this.id);if(a!==C.VEHICLE_ID)return t.find(n=>n.id===a)}applyAnimation(t,a,n=!1,i=!0,r=!0,s=!1,o=!1){const d=Qe(t,a);if(d===void 0)return l.error("[Player]: Invalid anim library or name");fs(this.id,t,a,4.1,n,i,r,s,n?0:d,o)}clearAnimations(t=!1){As(this.id,t)}getAnimationIndex(){return Es(this.id)}getAnimationName(){const[t,a]=Xn(this.getAnimationIndex());return{animLib:t,animName:a}}setShopName(t){ls(this.id,t)}setPosFindZ(t,a,n=150){return new Promise(i=>{Ee(this.id,t,a,n),setTimeout(()=>i(dr(this.id,t,a,n)))})}setWorldBounds(t,a,n,i){xs(this.id,t,a,n,i)}clearWorldBounds(){return Hs(this.id)}setChatBubble(t,a,n,i){us(this.id,t,a,n,i)}getDistanceFromPoint(t,a,n){return ur(this.id,t,a,n)}getCustomSkin(){return bs(this.id)}getTargetPlayer(t){const a=Tr(this.id);if(a!==C.PLAYER_ID)return t.find(n=>n.id===a)}getLastShotVectors(){const[t,a,n,i,r,s]=ms(this.id);return{fOriginX:t,fOriginY:a,fOriginZ:n,fHitPosX:i,fHitPosY:r,fHitPosZ:s}}getWeapon(){return Zr(this.id)}getWeaponData(t){if(t<0||t>12){l.error("[Player]: weapon slots range from 0 to 12");return}const[a,n]=xr(this.id,t);return{weapons:a,ammo:n}}getWeaponState(){return Cr(this.id)}giveWeapon(t,a){return Fr(this.id,t,a)}setAmmo(t,a){return Ar(this.id,t,a)}getAmmo(){return Er(this.id)}setArmedWeapon(t){return Mr(this.id,t)}clearDeathMessage(){for(let t=0;t<5;t++)this.sendDeathMessageToPlayer(C.PLAYER_ID,C.PLAYER_ID,se.CONNECT)}sendDeathMessage(t,a){Tn(t===C.PLAYER_ID?t:t.id,this.id,a)}sendDeathMessageToPlayer(t,a,n){sr(this.id,t===C.PLAYER_ID?t:t.id,a===C.PLAYER_ID?a:a.id,n)}setSpawnInfo(t,a,n,i,r,s,o,d,c,u,p,g){t<0||t>C.NO_TEAM||a<0||a>311||a==74||d<0||u<0||g<0||ii(this.id,t,a,n,i,r,s,o,d,c,u,p,g)}redirectDownload(t){return A_(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",c=this.getPing(),u=(c>=200?0:c)+200;let p=null;const g=nt(({player:I,actionId:A,memAddr:b,data:M,next:q})=>{if(I!==this)return q();p?(clearTimeout(p),p=null,o(d)):s({actionId:A,memAddr:b,data:M});const ct=q();return g(),ct});p=setTimeout(()=>{g(),o(d)},u),Di(this.id,t,a,n,i)}):l.error(`[Player]: sendClientCheck valid types are ${r.toString()}`)}selectTextDraw(t){vc(this.id,t)}cancelSelectTextDraw(){Bc(this.id)}beginObjectSelecting(){S_(this.id)}endObjectEditing(){y_(this.id)}getSurfingObject(t){const a=cs(this.id);if(a!==C.OBJECT_ID)return t.get(a)}getSurfingPlayerObject(t){const a=_s(this.id);if(a!==C.OBJECT_ID)return t.get(a)}isAttachedObjectSlotUsed(t){return L_(this.id,t)}setAttachedObject(t,a,n,i,r,s,o,d,c,u,p,g,I,A){return this.isAttachedObjectSlotUsed(t)?0:D_(this.id,t,a,n,i,r,s,o,d,c,u,p,g,I,A)}removeAttachedObject(t){return this.isAttachedObjectSlotUsed(t)?N_(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 Bi(this.id,t)}isWidescreenToggled(){return wi(this.id)}getSpawnInfo(){return si(this.id)}getSkillLevel(t){return Gi(this.id,t)}isCheckpointActive(){return Uo(this.id)}getCheckpoint(){return Ko(this.id)}isRaceCheckpointActive(){return Zo(this.id)}getRaceCheckpoint(){return jo(this.id)}getWorldBounds(){Fi(this.id)}isInModShop(){return Mo(this.id)}getSirenState(){return xo(this.id)}getLandingGearState(){return Ho(this.id)}getHydraReactorAngle(){return Vo(this.id)}getTrainSpeed(){return Wo(this.id)}getZAim(){return ki(this.id)}getSurfingOffsets(){return Mi(this.id)}getRotationQuat(){return xi(this.id)}getDialogID(){return Hi(this.id)}getSpectateID(){return Vi(this.id)}getSpectateType(){return Wi(this.id)}getRawIp(){return Ri(this.id)}setGravity(t){return Ui(this.id,t)}getGravity(){return Ki(this.id)}setAdmin(t){return Si(this.id,t)}isSpawned(){return Zi(this.id)}isControllable(){return ji(this.id)}isCameraTargetEnabled(){return Xi(this.id)}toggleGhostMode(t){return Yi(this.id,t)}getGhostMode(){return zi(this.id)}getBuildingsRemoved(){return Ji(this.id)}getAttachedObject(t){return T_(this.id,t)}removeWeapon(t){return $i(this.id,t)}isUsingOfficialClient(){return qi(this.id)}allowWeapons(t){return ar(this.id,t)}areWeaponsAllowed(){return nr(this.id)}gpci(t=this.charset){return Ti(this.id,t)}isCuffed(){return nl(this.id)}isInDriveByMode(){return il(this.id)}static getInstance(t){return this.players.get(t)}static getInstances(){return[...this.players.values()]}}const[it]=h({name:"OnDialogResponseI18n",identifier:"iiiiai",beforeEach(e,t,a,n,i){return{player:m.getInstance(e),dialogId:t,response:a,listItem:n,buffer:i}}});it(({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}),G_(t,this.id,this.dialog)}).then(a=>{const{response:n,listItem:i}=a,r=P.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),Qi(t.id)}}const[rt]=h({name:"OnPlayerConnect",beforeEach(e){const t=new m(e);return m.players.set(e,t),D.close(t),{player:t}}}),[st]=h({name:"OnPlayerDisconnect",beforeEach(e,t){return{player:m.players.get(e),reason:t}},afterEach({player:e}){m.players.delete(e.id)}}),[lt]=h({name:"OnPlayerUpdate",beforeEach(e){return{player:m.getInstance(e)}}}),[J_]=h({name:"OnPlayerTextI18n",identifier:"iai",beforeEach(e,t){const a=m.getInstance(e);return{player:a,text:P.decodeFromBuf(t,a.charset),buffer:t}}}),[$_]=h({name:"OnPlayerEnterExitModShop",beforeEach(e,t,a){return{player:m.getInstance(e),enterExit:Boolean(t),interior:a}}}),[Q_]=h({name:"OnPlayerClickMap",beforeEach(e,t,a,n){return{player:m.getInstance(e),fX:t,fY:a,fZ:n}}}),[q_]=h({name:"OnPlayerClickPlayer",beforeEach(e,t,a){return{player:m.getInstance(e),clickedPlayer:m.getInstance(t),source:a}}}),[eh]=h({name:"OnPlayerDeath",beforeEach(e,t,a){return{player:m.getInstance(e),killer:m.getInstance(t)||C.PLAYER_ID,reason:a}}}),[th]=h({name:"OnPlayerGiveDamage",beforeEach(e,t,a,n,i){return{player:m.getInstance(e),damage:m.getInstance(t),amount:a,weapon:n,bodyPart:i}}}),[ah]=h({name:"OnPlayerKeyStateChange",beforeEach(e,t,a){return{player:m.getInstance(e),newKeys:t,oldKeys:a}}}),[nh]=h({name:"OnPlayerRequestClass",beforeEach(e,t){return{player:m.getInstance(e),classId:t}}}),[ih]=h({name:"OnPlayerRequestSpawn",beforeEach(e){return{player:m.getInstance(e)}}}),[rh]=h({name:"OnPlayerSpawn",beforeEach(e){return{player:m.getInstance(e)}}}),[sh]=h({name:"OnPlayerStateChange",beforeEach(e,t,a){return{player:m.getInstance(e),newState:t,oldState:a}}}),[lh]=h({name:"OnPlayerSteamIn",beforeEach(e,t){return{player:m.getInstance(e),forPlayer:m.getInstance(t)}}}),[oh]=h({name:"OnPlayerSteamOut",beforeEach(e,t){return{player:m.getInstance(e),forPlayer:m.getInstance(t)}}}),[dh]=h({name:"OnPlayerTakeDamage",beforeEach(e,t,a,n,i){return{player:m.getInstance(e),damage:m.getInstance(t)||C.PLAYER_ID,amount:a,weapon:n,bodyPart:i}}}),[ch]=h({name:"OnPlayerInteriorChange",beforeEach(e,t,a){return{player:m.getInstance(e),newInteriorId:t,oldInteriorId:a}}}),[_h]=h({name:"OnPlayerRequestDownload",beforeEach(e,t,a){return{player:m.getInstance(e),type:t,crc:a}}}),[hh]=h({name:"OnPlayerFinishedDownloading",beforeEach(e,t){return{player:m.getInstance(e),virtualWorld:t}}});let Q=null;const[mh,uh]=h({name:"OnPlayerPause",isNative:!1,beforeEach(e,t){return{player:e,pausedAt:t}}}),[ph,gh]=h({name:"OnPlayerResume",isNative:!1,beforeEach(e,t,a,n){return{player:e,pausedAt:t,now:a,diff:n}}});rt(({next:e})=>(!Q&&m.getInstances().length&&(Q=setInterval(()=>{m.getInstances().filter(t=>{const a=t.getState()!==j.NONE;return!t.isPaused&&!t.isNpc()&&a}).forEach(t=>{Date.now()-t.lastUpdateTick>1e3&&(t.isPaused=!0,uh(t,t.lastUpdateTick))})},500)),e())),st(({next:e})=>(Q&&m.getInstances().length<=1&&(clearInterval(Q),Q=null),e()));function Sh(e){if(!m.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}}lt(({player:e,next:t})=>{if(!e.isNpc()){const a=Date.now();e.isPaused&&(e.isPaused=!1,gh(e,e.lastUpdateTick,a,a-e.lastUpdateTick)),e.lastUpdateTick=a,Sh(e)}return t()});const z=new Map,ot=/[^/\s]+/gi,de={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"}},[yh,Ih]=h({name:"OnCommandReceived",isNative:!1,beforeEach(e,t){return{player:e,command:t}}}),[Ph,fh]=h({name:"OnCommandPerformed",isNative:!1,beforeEach(e,t){return{player:e,command:t}}}),[Ah,ce]=h({name:"OnCommandError",isNative:!1,defaultValue:!1,beforeEach(e,t,a){return{player:e,command:t,error:a}}}),[Eh]=h({name:"OnPlayerCommandTextI18n",identifier:"iai",beforeEach(e,t){return{player:m.getInstance(e),buffer:t}}});function Ch(e){const t=[];let a="";for(let n=0;n<e.length;n++)a+=e[n]+" ",t.push(a.trimEnd());return t.reverse()}Eh(({player:e,buffer:t,next:a})=>{const n=P.decodeFromBuf(t,e.charset).match(ot),i=Ch(n).find(u=>z.get(u)),r=n.join(" ");if(!i)return ce(e,r,de.NOT_EXIST);const s=Ih(e,r);if(!s)return s;const o=z.get(i),[,d]=o,c=r.replace(i,"").trim().split(" ");return d(e,c)?fh(e,r)?a():ce(e,r,de.PERFORMED):ce(e,r,de.REJECTED)});const dt={on(e,t){const a=Array.isArray(e)?e:[e],n=a.find(r=>!r.match(ot));if(n)return console.log(`error command ${n} format`),()=>{};const i=a.map(r=>{const s=r.replaceAll("/","");if(!z.has(s)){const d=h({name:s,isNative:!1,beforeEach(c,u){return{player:c,subcommand:u}}});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)&&fe(t)})}},_e=Object.freeze({onConnect:rt,onDisconnect:st,onPause:mh,onResume:ph,onUpdate:lt,onText:J_,onEnterExitModShop:$_,onClickMap:Q_,onClickPlayer:q_,onDeath:eh,onGiveDamage:th,onKeyStateChange:ah,onRequestClass:nh,onRequestSpawn:ih,onSpawn:rh,onStateChange:sh,onStreamIn:lh,onStreamOut:oh,onTakeDamage:dh,onInteriorChange:ch,onRequestDownload:_h,onFinishedDownloading:hh,onCheckResponse:nt,onCommandReceived:yh,onCommandPerformed:Ph,onCommandError:Ah,onCommandText:dt.on,offCommandText:dt.off,onDialogResponse:it}),Th=[8,9,10,25,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,96,97,98],Dh=[[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],[],[],[],[],[],[],[],[]],Nh=(e,t)=>{if(!Lh(e))return l.error("[vehicleUtils]: Invalid model id"),!1;const a=Dh[e-400];if(a===null)return!1;const n=t-1e3;return Th.includes(n)||a.includes(n)},Lh=e=>e>=400&&e<=611,Rh=(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 f{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(f.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:c}=this.sourceInfo;if(!(!t&&(a<400||a>611))){if(this.isStatic){if(d===void 0){this._id=wo(a,n,i,r,s,o[0],o[1]);return}this._id=Go(a,n,i,r,s,o[0],o[1],d||-1,c||!1)}else this._id=Ul(a,n,i,r,s,o[0],o[1],d||-1,c||!1);f.createdCount++,f.vehicles.set(this._id,this)}}destroy(){if(this.id===-1)return l.warn("[Vehicle]: Unable to destroy the vehicle before create");Kl(this.id),f.createdCount--,f.vehicles.delete(this._id),this._id=-1}addComponent(t){return this.id===-1?0:Nh(this.getModel(),t)?co(this.id,t):(l.warn(`[Vehicle]: Invalid component id ${t} attempted to attach to the vehicle ${this}`),0)}removeComponent(t){return this.getComponentInSlot(f.getComponentType(t))===0?(l.warn(`[Vehicle]: component id ${t} does not exist on this vehicle`),0):_o(this.id,t)}getComponentInSlot(t){return Ao(this.id,t)}linkToInterior(t){return this.id===-1?0:oo(this.id,t)}setVirtualWorld(t){return this.id===-1?0:vo(this.id,t)}getVirtualWorld(){return this.id===-1?0:Bo(this.id)}repair(){return this.id===-1?0:Co(this.id)}setPos(t,a,n){return this.id===-1?0:Xl(this.id,t,a,n)}getPos(){if(this.id!==-1)return jl(this.id)}getHealth(){return this.id===-1?0:po(this.id)}setHealth(t){return this.id===-1?0:uo(this.id,t)}isPlayerIn(t){return this.id===-1?!1:ks(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."),ps(t.id,this.id,a))}getZAngle(){return this.id===-1?0:Yl(this.id)}setZAngle(t){return this.id===-1?0:$l(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)?Po(this.id,t):(l.error("[Vehicle]: number plates only allow letters and numbers"),0)}changeColors(t,a){return this.id===-1?0:ho(this.id,t,a)}setVelocity(t,a,n){return this.id===-1?!1:Do(this.id,t,a,n)}getVelocity(){if(this.id===-1)return;const[t,a,n]=To(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 L.vectorSize(a,n,i)*t}setAngularVelocity(t,a,n){return this.id===-1?0:No(this.id,t,a,n)}getDamageStatus(){if(this.id!==-1)return Lo(this.id)}updateDamageStatus(t,a,n,i){this.id!==-1&&Ro(this.id,t,a,n,i)}getDistanceFromPoint(t,a,n){return Jl(this.id,t,a,n)}getModel(){return fo(this.id)}static getModelInfo(t,a){return bo(t,a)}getModelInfo(t){if(this.id!==-1)return f.getModelInfo(this.getModel(),t)}getRotationQuat(){if(this.id===-1)return;const[t,a,n,i]=zl(this.id);return{w:t,x:a,y:n,z:i}}setRespawn(){return this.id===-1?0:lo(this.id)}isStreamedIn(t){return this.id===-1?!1:Zl(this.id,t.id)}setParamsCarDoors(t,a,n,i){return this.id===-1?0:no(this.id,t,a,n,i)}setParamsCarWindows(t,a,n,i){return this.id===-1?0:ro(this.id,t,a,n,i)}getParamsCarDoors(){if(this.id!==-1)return io(this.id)}getParamsCarWindows(){if(this.id!==-1)return so(this.id)}setParamsEx(t,a,n,i,r,s,o){return this.id===-1?0:eo(this.id,t,a,n,i,r,s,o)}getParamsEx(){if(this.id===-1)return;const[t,a,n,i,r,s,o]=to(this.id);return{engine:t,lights:a,alarm:n,doors:i,bonnet:r,boot:s,objective:o}}getParamsSirenState(){return this.id===-1?-2:ao(this.id)}setParamsForPlayer(t,a,n){return this.id===-1?0:Ql(this.id,t.id,a,n)}isTrailerAttached(){return this.id===-1?!1:yo(this.id)}changePaintjob(t){return this.id===-1||!Rh(this.getModel(),t)?0:(this.changeColors("#fff","#fff"),mo(this.id,t),1)}attachTrailer(t){return this.id===-1?0:go(t.id,this.id)}detachTrailer(){this.id!==-1&&this.isTrailerAttached()&&So(this.id)}getTrailer(){if(this.id!==-1)return f.getInstances().find(t=>t.id===Io(this.id))}isValid(){return De(this.id)}getMatrix(){if(this.id!==-1)return Vl(this.id)}getTrainSpeed(){return this.id===-1?0:Hl(this.id)}getHydraReactorAngle(){return this.id===-1?0:xl(this.id)}getLandingGearState(){return this.id===-1?0:Ml(this.id)}getSirenState(){return this.id===-1?0:kl(this.id)}getDriver(t){if(this.id!==-1)return t.get(Ol(this.id))}getLastDriver(t){if(this.id!==-1)return t.get(Gl(this.id))}isSirenEnabled(){return Bl(this.id)}toggleSirenEnabled(t){return this.id===-1?0:bl(this.id,t)}setParamsSirenState(t){return this.id===-1?0:vl(this.id,t)}isDead(){return this.id===-1?!0:Nl(this.id)}setDead(t){return this.id===-1?!1:Ll(this.id,t)}setBeenOccupied(t){return this.id===-1?!1:Rl(this.id,t)}getRespawnTick(){return this.id===-1?0:Tl(this.id)}setRespawnTick(t){return this.id===-1?!1:Dl(this.id,t)}isOccupied(){return this.id===-1?!1:Cl(this.id)}hasBeenOccupied(){return this.id===-1?!1:El(this.id)}getOccupiedTick(){return this.id===-1?0:fl(this.id)}setOccupiedTick(t){return this.id===-1?0:Al(this.id,t)}getCab(){return this.id===-1?0:Pl(this.id)}getRespawnDelay(){return this.id===-1?0:Il(this.id)}setRespawnDelay(t){return this.id===-1?0:yl(this.id,t)}getNumberPlate(){return this.id===-1?"":Sl(this.id)}getInterior(){return this.id===-1?0:gl(this.id)}getPaintjob(){return this.id===-1?-1:pl(this.id)}getColors(){if(this.id!==-1)return ul(this.id)}setSpawnInfo(t,a,n,i,r,s,o,d=-2,c=-2,u=!1){return this.id===-1||!u&&(t<400||t>611)?0:ml(this.id,t,a,n,i,r,y(s),y(o),d,c)}getSpawnInfo(){if(this.id!==-1)return hl(this.id)}getRandomColorPair(){if(this.id!==-1)return Te(this.getModel())}show(){return this.id===-1?!1:Oo(this.id)}hide(){return this.id===-1?!1:Fo(this.id)}isHidden(){return this.id===-1?!1:ko(this.id)}static getRandomColorPair(t){return Te(t)}static getComponentType=Eo;static colorIndexToColor=Wl;static isValid(t){return De(t)}static getModelsUsed=Fl;static getModelCount=wl;static getInstance(t){return this.vehicles.get(t)}static getInstances(){return[...this.vehicles.values()]}}L.onExit(({next:e})=>(f.getInstances().forEach(t=>t.destroy()),e()));const[bh]=h({name:"OnVehicleDamageStatusUpdate",beforeEach(e,t){return{vehicle:f.getInstance(e),player:m.getInstance(t)}}}),[vh]=h({name:"OnVehicleDeath",beforeEach(e,t){return{vehicle:f.getInstance(e),killer:m.getInstance(t)}}}),[Bh]=h({name:"OnVehicleMod",beforeEach(e,t,a){return{player:m.getInstance(e),vehicle:f.getInstance(t),componentId:a}}}),[wh]=h({name:"OnVehiclePaintjob",beforeEach(e,t,a){return{player:m.getInstance(e),vehicle:f.getInstance(t),paintjobId:a}}}),[Gh]=h({name:"OnVehicleRespray",beforeEach(e,t,a,n){return{player:m.getInstance(e),vehicle:f.getInstance(t),color:[a,n]}}}),[Oh]=h({name:"OnVehicleSirenStateChange",beforeEach(e,t,a){return{player:m.getInstance(e),vehicle:f.getInstance(t),state:!!a}}}),[Fh]=h({name:"OnVehicleSpawn",beforeEach(e){return{vehicle:f.getInstance(e)}}}),[kh]=h({name:"OnVehicleStreamIn",beforeEach(e,t){return{vehicle:f.getInstance(e),forPlayer:m.getInstance(t)}}}),[Mh]=h({name:"OnVehicleStreamOut",beforeEach(e,t){return{vehicle:f.getInstance(e),forPlayer:m.getInstance(t)}}}),[xh]=h({name:"OnPlayerEnterVehicle",beforeEach(e,t,a){return{player:m.getInstance(e),vehicle:f.getInstance(t),isPassenger:!!a}}}),[Hh]=h({name:"OnPlayerExitVehicle",beforeEach(e,t){return{player:m.getInstance(e),vehicle:f.getInstance(t)}}}),[Vh]=h({name:"OnNpcEnterVehicle",beforeEach(e,t){return{vehicle:f.getInstance(e),seatId:t}}}),[Wh]=h({name:"OnNpcExitVehicle"}),[Uh]=h({name:"OnTrailerUpdate",beforeEach(e,t){return{player:m.getInstance(e),vehicle:f.getInstance(t)}}}),Kh=Object.freeze({onDamageStatusUpdate:bh,onDeath:vh,onMod:Bh,onPaintjob:wh,onRespray:Gh,onSirenStateChange:Oh,onSpawn:Fh,onStreamIn:kh,onStreamOut:Mh,onPlayerEnter:xh,onPlayerExit:Hh,onNpcEnter:Vh,onNpcExit:Wh,onTrailerUpdate:Uh});class Zh{constructor(){}static getNetworkStats(){return fi()}static getPlayerNetworkStats(t){return Pi(t.id)}static getBytesReceived(t){return di(t.id)}static getBytesSent(t){return _i(t.id)}static getConnectionStatus(t){return ui(t.id)}static getConnectedTime(t){return li(t.id)}static getIpPort(t){return pi(t.id)}static getMessagesReceived(t){return oi(t.id)}static getMessagesRecvPerSecond(t){return hi(t.id)}static getMessagesSent(t){return ci(t.id)}static getPacketLossPercent(t){return mi(t.id)}}class jh{_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){Cn(t)}static has(t,a){return rr(t.id,a)}forAll(){En(this.text,this.time,this.style)}forPlayer(t){ir(t.id,this.text,this.time,this.style)}hideForPlayer(t){return lr(t.id,this.style)}}class Z{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"):Z.getInstances().length===B.MAX_MENUS?l.error("[Menu]: The maximum number of menus allowed to be created has been reached 128"):(this._id=ed(this.title,this.columns,this.x,this.y,this.col1width,this.col2width),Z.menus.set(this._id,this),this)}destroy(){return this._id===-1?l.error("[Menu]: Cannot destroy before create"):(td(this.id),Z.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"):(ad(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"):(nd(this.id,t,a),this)}disable(){return this._id===-1?l.error("[Menu]: Cannot disable menu before create"):(ld(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");od(this.id,t)}isValid(){return sd(this.id)}showForPlayer(t){return this._id===-1?l.error("[Menu]: Cannot show menu before create"):id(this.id,t.id)}hideForPlayer(t){return this._id===-1?l.error("[Menu]: Cannot hide menu before create"):rd(this.id,t.id)}isDisabled(){return this._id===-1?!1:Xo(this.id)}isRowDisabled(t){return this._id===-1||t<0||t>this._itemCount?!1:Yo(this.id,t)}getItems(t){return this._id===-1?0:zo(this.id,t)}getPos(){return this._id===-1?{fX:this.x,fY:this.y}:Jo(this.id)}getColumnWidth(){return this.id===-1?{fColumn1:this.col1width,fColumn2:this.col2width}:$o(this.id)}getColumnHeader(t){return this._id===-1?l.error("[Menu]: Cannot get column header before create"):Qo(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 qo(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===dd(t.id))}}L.onExit(({next:e})=>(Z.getInstances().forEach(t=>t.destroy()),e()));const[Xh]=h({name:"OnPlayerExitedMenu",beforeEach(e){return{player:m.getInstance(e)}}}),[Yh]=h({name:"OnPlayerSelectedMenuRow",beforeEach(e,t){const a=m.getInstance(e),n=Z.getInstanceByPlayer(a);return{player:a,menu:n,row:t}}}),zh=Object.freeze({onPlayerExited:Xh,onPlayerSelectedRow:Yh});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=Ld(t.id,a,n,i,r);const s=_e.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=yd(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?(Rd(t.id,this.id),N.playerGangZones.delete(this.id)):(Id(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."):(fd(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)bd(n.id,this.id,y(t));else if(a)Pd(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."):(Ed(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)vd(a.id,this.id);else if(t)Ad(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."):(Td(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)Bd(n.id,this.id,y(a));else if(t)Cd(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."):(Nd(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)wd(a.id,this.id);else if(t)Dd(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?Gd(t.id,this.id):cd(this.id)}isPlayerIn(t){if(this.id===-1)return!1;const a=this.sourceInfo.player;return a?Od(a.id,this.id):_d(t.id,this.id)}isVisibleForPlayer(t){if(this.id===-1)return!1;const a=this.sourceInfo.player;return a?Fd(a.id,this.id):hd(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?kd(a.id,this.id):md(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?Md(a.id,this.id):ud(t.id,this.id)}isFlashingForPlayer(t){if(this.id===-1)return!1;const a=this.sourceInfo.player;return a?xd(a.id,this.id):pd(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?Hd(t.id,this.id):gd(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?Vd(a.id,this.id,t):Sd(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()]}}L.onExit(({next:e})=>(N.getInstances(!0).forEach(t=>t.destroy()),N.getInstances(!1).forEach(t=>t.destroy()),e()));const[Jh]=h({name:"OnPlayerEnterGangZone",beforeEach(e,t){return{player:m.getInstance(e),gangZone:N.getInstance(t,!0)}}}),[$h]=h({name:"OnPlayerLeaveGangZone",beforeEach(e,t){return{player:m.getInstance(e),gangZone:N.getInstance(t,!0)}}}),[Qh]=h({name:"OnPlayerEnterPlayerGangZone",beforeEach(e,t){return{player:m.getInstance(e),gangZone:N.getInstance(t,!1)}}}),[qh]=h({name:"OnPlayerLeavePlayerGangZone",beforeEach(e,t){return{player:m.getInstance(e),gangZone:N.getInstance(t,!1)}}}),[em]=h({name:"OnPlayerClickGangZone",beforeEach(e,t){return{player:m.getInstance(e),gangZone:N.getInstance(t,!0)}}}),[tm]=h({name:"OnPlayerClickPlayerGangZone",beforeEach(e,t){return{player:m.getInstance(e),gangZone:N.getInstance(t,!1)}}}),am=Object.freeze({onPlayerEnterGlobal:Jh,onPlayerLeaveGlobal:$h,onPlayerEnterPlayer:Qh,onPlayerLeavePlayer:qh,onPlayerClickGlobal:em,onPlayerClickPlayer:tm}),[W]=h({name:"Streamer_OnItemStreamIn",identifier:"iii",beforeEach(e,t,a){return{type:e,id:t,forPlayer:m.getInstance(a)}}}),[U]=h({name:"Streamer_OnItemStreamOut",identifier:"iii",beforeEach(e,t,a){return{type:e,id:t,forPlayer:m.getInstance(a)}}}),[nm]=h({name:"Streamer_OnPluginError",identifier:"s",beforeEach(e){return{error:e}}});class T{constructor(){}static getTickRate=yt;static setTickRate=It;static getPlayerTickRate(t){return Pt(t.id)}static setPlayerTickRate(t,a=50){return ft(t.id,a)}static toggleChunkStream=At;static isToggleChunkStream=Et;static getChunkTickRate(t,a=-1){return a instanceof m?me(t,a.id):me(t,a)}static setChunkTickRate(t,a,n=-1){return n instanceof m?ue(t,a,n.id):ue(t,a,n)}static getChunkSize=Ct;static setChunkSize=Tt;static getMaxItems=Dt;static setMaxItems=Nt;static getVisibleItems(t,a=-1){return a instanceof m?pe(t,a.id):pe(t,a)}static setVisibleItems(t,a,n=-1){return n instanceof m?ge(t,a,n.id):ge(t,a,n)}static getRadiusMultiplier(t,a=-1){return a instanceof m?Se(t,a.id):Se(t,a)}static setRadiusMultiplier(t,a,n=-1){return n instanceof m?ye(t,n.id):ye(t,a,n)}static getTypePriority=Lt;static setTypePriority=Rt;static getCellDistance=bt;static setCellDistance=vt;static getCellSize=Bt;static setCellSize=wt;static toggleItemStatic=Gt;static isToggleItemStatic=Ot;static toggleItemInvAreas=Ft;static isToggleItemInvAreas=kt;static toggleItemCallbacks=Mt;static isToggleItemCallbacks=xt;static toggleErrorCallback=Ht;static isToggleErrorCallback=Vt;static amxUnloadDestroyItems=Wt;static processActiveItems=Ut;static toggleIdleUpdate(t,a){return Kt(t.id,a)}static isToggleIdleUpdate(t){return Zt(t.id)}static toggleCameraUpdate(t,a){return jt(t.id,a)}static isToggleCameraUpdate(t){return Xt(t.id)}static toggleItemUpdate(t,a,n){return Yt(t.id,a,n)}static isToggleItemUpdate(t,a){return zt(t.id,a)}static getLastUpdateTime(){return Jt()}static update(t,a=-1){return $t(t.id,a)}static updateEx(t,a,n,i,r,s,o,d,c){return Qt(t.id,a,n,i,r,s,o,d,c)}static getDistanceToItem=qt;static toggleItem(t,a,n,i){return ea(t.id,a,n,i)}static isToggleItem(t,a,n){return ta(t.id,a,n)}static toggleAllItems(t,a,n,i=[-1]){return aa(t.id,a,n,i)}static getItemInternalID(t,a,n){return na(t.id,a,n)}static getItemStreamerID(t,a,n){return ia(t.id,a,n)}static isItemVisible(t,a,n){return ra(t.id,a,n)}static destroyAllVisibleItems(t,a,n=1){return sa(t.id,a,n)}static countVisibleItems(t,a,n=1){return la(t.id,a,n)}static destroyAllItems=oa;static countItems=da;static getNearbyItems=ca;static getAllVisibleItems(t,a,n){_a(t.id,a,n)}static getItemPos=ha;static setItemPos=ma;static getItemOffset=ua;static setItemOffset=pa;static getFloatData=ga;static setFloatData=Sa;static getIntData=ya;static setIntData=Ia;static getArrayData=Pa;static setArrayData=fa;static isInArrayData=Aa;static appendArrayData=Ea;static removeArrayData=Ca;static getArrayDataLength=Ta;static getUpperBound=Da;static onPluginError=nm}class H{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:c,z:u,type:p,color:g,extended:I}=this.sourceInfo;return p<0||p>63?l.error("[StreamerMapIcon]: Invalid map icon type"):(t??=Na.LOCAL,a??=ee.MAP_ICON_SD,o??=0,I?(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=La(d,c,u,p,y(g),t,a,n,i,r,s,o),H.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=Ra(d,c,u,p,y(g),n,i,r,a,t,s,o),H.mapIcons.set(this._id,this),this))}destroy(){return this.id===-1?l.warn("[StreamerMapIcon]: Unable to destroy the map icon before create"):(ba(this.id),H.mapIcons.delete(this._id),this._id=-1,this)}isValid(){return va(this.id)}toggleCallbacks(t=!0){return this.id===-1?l.warn("[StreamerMapIcon]: Unable to toggle callbacks before create"):T.toggleItemCallbacks(E.MAP_ICON,this.id,t)}isToggleCallbacks(){return this.id,T.isToggleItemCallbacks(E.MAP_ICON,this.id)}static getInstance(t){return this.mapIcons.get(t)}static getInstances(){return[...this.mapIcons.values()]}}L.onExit(({next:e})=>(H.getInstances().forEach(t=>t.destroy()),e()));const[im,rm]=h({name:"OnDynamicMapIconStreamIn",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}}),[sm,lm]=h({name:"OnDynamicMapIconStreamOut",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}});W(({type:e,id:t,forPlayer:a,next:n})=>e===E.MAP_ICON?rm(a,H.getInstance(t)):n()),U(({type:e,id:t,forPlayer:a,next:n})=>e===E.MAP_ICON?lm(a,H.getInstance(t)):n());const om=Object.freeze({onStreamIn:im,onStreamOut:sm});class x{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:c,y:u,z:p,extended:g}=this.sourceInfo;return o<0||o>22?l.error("[StreamerPickup]: Invalid pickup type"):(t??=_.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=_.CreateDynamicPickupEx(d,o,c,u,p,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=_.CreateDynamicPickup(d,o,c,u,p,a,n,i,t,r,s)),x.pickups.set(this._id,this),this)}destroy(){return this.id===-1?l.warn("[StreamerPickup]: Unable to destroy the pickup before create"):(_.DestroyDynamicPickup(this.id),x.pickups.delete(this.id),this._id=-1,this)}isValid(){return _.IsValidDynamicPickup(this.id)}toggleCallbacks(t=!0){return this.id===-1?l.warn("[StreamerPickup]: Unable to toggle callbacks before create"):T.toggleItemCallbacks(_.StreamerItemTypes.PICKUP,this.id,t)}isToggleCallbacks(){return this.id,T.isToggleItemCallbacks(_.StreamerItemTypes.PICKUP,this.id)}static getInstance(t){return this.pickups.get(t)}static getInstances(){return[...this.pickups.values()]}}L.onExit(({next:e})=>(x.getInstances().forEach(t=>t.destroy()),e()));const[dm,cm]=h({name:"OnDynamicPickupStreamIn",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}}),[_m,hm]=h({name:"OnDynamicPickupStreamOut",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}});W(({type:e,id:t,forPlayer:a,next:n})=>e===E.PICKUP?cm(a,x.getInstance(t)):n()),U(({type:e,id:t,forPlayer:a,next:n})=>e===E.PICKUP?hm(a,x.getInstance(t)):n());const[mm]=h({name:"OnPlayerPickUpDynamicPickup",identifier:"ii",beforeEach(e,t){return{player:m.getInstance(e),pickup:x.getInstance(t)}}}),um=Object.freeze({onPlayerPickUp:mm,onStreamIn:dm,onStreamOut:_m});class O{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:c,z:u,extended:p}=this.sourceInfo;return o<0?l.error("[StreamerCheckpoint]: Invalid checkpoint size"):(t??=ee.CP_SD,s??=0,p?(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=Ba(d,c,u,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=wa(d,c,u,o,a,n,i,t,r,s)),O.checkpoints.set(this._id,this),this)}destroy(){return this.id===-1?l.warn("[StreamerCheckpoint]: Unable to destroy the checkpoint before create"):(Ie(this.id),O.checkpoints.delete(this.id),this._id=-1,this)}isValid(){return Pe(this.id)}togglePlayer(t,a){return this.id===-1?l.warn("[StreamerCheckpoint]: Unable to toggle the player before create"):(Ga(t.id,this.id,a),this)}static togglePlayerAll(t,a){return Oa(t.id,a)}isPlayerIn(t){return this.id===-1?!1:Fa(t.id,this.id)}static getPlayerVisible(t){return O.checkpoints.get(ka(t.id))}toggleCallbacks(t=!0){return this.id===-1?l.warn("[StreamerCheckpoint]: Unable to toggle callbacks before create"):T.toggleItemCallbacks(E.CP,this.id,t)}isToggleCallbacks(){return this.id,T.isToggleItemCallbacks(E.CP,this.id)}static getInstance(t){return this.checkpoints.get(t)}static getInstances(){return[...this.checkpoints.values()]}}L.onExit(({next:e})=>(O.checkpoints.forEach(t=>t.destroy()),e()));const[pm,gm]=h({name:"OnDynamicCheckPointStreamIn",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}}),[Sm,ym]=h({name:"OnDynamicCheckPointStreamOut",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}});W(({type:e,id:t,forPlayer:a,next:n})=>e===E.CP?gm(a,O.getInstance(t)):n()),U(({type:e,id:t,forPlayer:a,next:n})=>e===E.CP?ym(a,O.getInstance(t)):n());const[Im]=h({name:"OnPlayerEnterDynamicCP",identifier:"ii",beforeEach(e,t){return{player:m.getInstance(e),pickup:O.getInstance(t)}}}),[Pm]=h({name:"OnPlayerLeaveDynamicCP",identifier:"ii",beforeEach(e,t){return{player:m.getInstance(e),pickup:O.getInstance(t)}}}),fm=Object.freeze({onPlayerEnter:Im,onPlayerLeave:Pm,onStreamIn:pm,onStreamOut:Sm});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:c,y:u,z:p,nextX:g,nextY:I,nextZ:A,extended:b}=this.sourceInfo;return o<0||o>8?l.error("[StreamerRaceCP]: Invalid type"):d<0?l.error("[StreamerRaceCP]: Invalid size"):(t??=ee.RACE_CP_SD,s??=0,b?(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=Ma(o,c,u,p,g,I,A,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=xa(o,c,u,p,g,I,A,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"):(Ie(this.id),F.checkpoints.delete(this.id),this._id=-1,this)}isValid(){return Pe(this.id)}togglePlayer(t,a){return this.id===-1?l.warn("[StreamerRaceCP]: Unable to toggle the player before create"):(Ha(t.id,this.id,a),this)}static togglePlayerAll(t,a){return Va(t.id,a)}isPlayerIn(t){return this.id===-1?!1:Wa(t.id,this.id)}static getPlayerVisible(t){return F.checkpoints.get(Ua(t.id))}toggleCallbacks(t=!0){return this.id===-1?l.warn("[StreamerRaceCP]: Unable to toggle callbacks before create"):T.toggleItemCallbacks(E.RACE_CP,this.id,t)}isToggleCallbacks(){return this.id,T.isToggleItemCallbacks(E.RACE_CP,this.id)}static getInstance(t){return this.checkpoints.get(t)}static getInstances(){return[...this.checkpoints.values()]}}L.onExit(({next:e})=>(F.getInstances().forEach(t=>t.destroy()),e()));const[Am,Em]=h({name:"OnDynamicRaceCPStreamIn",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}}),[Cm,Tm]=h({name:"OnDynamicRaceCPStreamOut",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}});W(({type:e,id:t,forPlayer:a,next:n})=>e===E.RACE_CP?Em(a,F.getInstance(t)):n()),U(({type:e,id:t,forPlayer:a,next:n})=>e===E.RACE_CP?Tm(a,F.getInstance(t)):n());const[Dm]=h({name:"OnPlayerEnterDynamicRaceCP",identifier:"ii",beforeEach(e,t){return{player:m.getInstance(e),pickup:F.getInstance(t)}}}),[Nm]=h({name:"OnPlayerLeaveDynamicRaceCP",identifier:"ii",beforeEach(e,t){return{player:m.getInstance(e),pickup:F.getInstance(t)}}}),Lm=Object.freeze({onPlayerEnter:Dm,onPlayerLeave:Nm,onStreamIn:Am,onStreamOut:Cm});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:c,z:u,r:p,invulnerable:g,health:I,extended:A}=this.sourceInfo;return t??=_.StreamerDistances.ACTOR_SD,s??=0,A?(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=_.CreateDynamicActorEx(o,d,c,u,p,g,I,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=_.CreateDynamicActor(o,d,c,u,p,g,I,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"):(_.DestroyDynamicActor(this.id),k.actors.delete(this.id),this._id=-1,this)}isValid(){return _.IsValidDynamicActor(this.id)}isStreamedIn(t){return this.id===-1?!1:_.IsDynamicActorStreamedIn(this.id,t.id)}getVirtualWorld(){return this.id===-1?l.warn("[StreamerActor]: Unable to get virtual world before create"):_.GetDynamicActorVirtualWorld(this.id)}setVirtualWorld(t){return this.id===-1?l.warn("[StreamerActor]: Unable to set virtual world before create"):_.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=Qe(t,a);return o===void 0?l.error("[StreamerActor]: Invalid anim library or name"):_.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"):_.ClearDynamicActorAnimations(this.id)}getFacingAngle(){return this.id===-1?l.warn("[StreamerActor]: Unable to get facing angle before create"):_.GetDynamicActorFacingAngle(this.id)}setFacingAngle(t){return this.id===-1?l.warn("[StreamerActor]: Unable to set facing angle before create"):_.SetDynamicActorFacingAngle(this.id,t)}getPos(){return this.id===-1?l.warn("[StreamerActor]: Unable to get pos before create"):_.GetDynamicActorPos(this.id)}setPos(t,a,n){return this.id===-1?l.warn("[StreamerActor]: Unable to set pos before create"):_.SetDynamicActorPos(this.id,t,a,n)}getHealth(){return this.id===-1?l.warn("[StreamerActor]: Unable to get health before create"):_.GetDynamicActorHealth(this.id)}setHealth(t){return this.id===-1?l.warn("[StreamerActor]: Unable to set health before create"):_.SetDynamicActorHealth(this.id,t)}isInvulnerable(){return this.id===-1?!1:_.IsDynamicActorInvulnerable(this.id)}setInvulnerable(t=!0){return this.id===-1?l.warn("[StreamerActor]: Unable to set invulnerable before create"):_.SetDynamicActorInvulnerable(this.id,t)}getPlayerTarget(t){if(this.id===-1)return;const a=_.GetPlayerTargetDynamicActor(t.id);return k.actors.get(a)}getPlayerCameraTarget(t){if(this.id===-1)return;const a=_.GetPlayerCameraTargetDynActor(t.id);return k.actors.get(a)}getSkin(){return this.id===-1?l.warn("[StreamerActor]: Unable to get skin before create"):dl(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:cl(this.id,t)}getSpawnInfo(){return this.id===-1?l.warn("[StreamerActor]: Unable to get spawn info before create"):_l(this.id)}getAnimation(){return this.id===-1?l.warn("[StreamerActor]: Unable to get animation before create"):_.GetDynamicActorAnimation(this.id)}toggleCallbacks(t=!0){return this.id===-1?l.warn("[StreamerActor]: Unable to toggle callbacks before create"):T.toggleItemCallbacks(_.StreamerItemTypes.ACTOR,this.id,t)}isToggleCallbacks(){return this.id,T.isToggleItemCallbacks(_.StreamerItemTypes.ACTOR,this.id)}static getInstance(t){return this.actors.get(t)}static getInstances(){return[...this.actors.values()]}}L.onExit(({next:e})=>(k.getInstances().forEach(t=>t.destroy()),e()));const[Rm]=h({name:"OnDynamicActorStreamIn",identifier:"ii",beforeEach(e,t){return{actor:k.getInstance(e),forPlayer:m.getInstance(t)}}}),[bm]=h({name:"OnDynamicActorStreamOut",identifier:"ii",beforeEach(e,t){return{actor:k.getInstance(e),forPlayer:m.getInstance(t)}}}),[vm]=h({name:"OnPlayerGiveDamageDynamicActor",identifier:"iiiii",beforeEach(e,t,a,n,i){return{player:m.getInstance(e),actor:k.getInstance(t),amount:a,weapon:n,bodyPart:i}}}),Bm=Object.freeze({onStreamIn:Rm,onStreamOut:bm,onPlayerGiveDamage:vm});class K{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:c}=this.sourceInfo;const{charset:u,text:p,color:g,drawDistance:I,x:A,y:b,z:M,extended:q}=this.sourceInfo;return t??=C.PLAYER_ID,a??=C.VEHICLE_ID,i??=ee.TEXT_3D_LABEL_SD,n??=!1,c??=0,q?(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=x_(p,y(g),A,b,M,I,t,a,n,i,r,s,o,d,c,u||"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=M_(u||"utf8",p,y(g),A,b,M,I,t,a,n,r,s,o,i,d,c)),K.texts.set(this.id,this),this}destroy(){return this.id===-1?l.warn("[Streamer3DTextLabel]: Unable to destroy before create"):(Ka(this.id),K.texts.delete(this.id),this._id=-1,this)}isValid(){return Za(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"):V_(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,H_(this.id,y(t),a,n||"utf8"))}toggleCallbacks(t=!0){return this.id===-1?l.warn("[Streamer3DTextLabel]: Unable to toggle callbacks before create"):T.toggleItemCallbacks(E.TEXT_3D_LABEL,this.id,t)}isToggleCallbacks(){return this.id,T.isToggleItemCallbacks(E.TEXT_3D_LABEL,this.id)}static getInstance(t){return this.texts.get(t)}static getInstances(){return[...this.texts.values()]}}L.onExit(({next:e})=>(K.getInstances().forEach(t=>t.destroy()),e()));const[wm,Gm]=h({name:"OnDynamic3dTextStreamIn",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}}),[Om,Fm]=h({name:"OnDynamic3dTextStreamOut",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}});W(({type:e,id:t,forPlayer:a,next:n})=>e===E.TEXT_3D_LABEL?Gm(a,K.getInstance(t)):n()),U(({type:e,id:t,forPlayer:a,next:n})=>e===E.TEXT_3D_LABEL?Fm(a,K.getInstance(t)):n());const km=Object.freeze({onStreamIn:wm,onStreamOut:Om});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:c,y:u,z:p,rx:g,ry:I,rz:A,extended:b}=this.sourceInfo;return t??=_.StreamerDistances.OBJECT_SD,a??=_.StreamerDistances.OBJECT_DD,o??=0,b?(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=_.CreateDynamicObjectEx(d,c,u,p,g,I,A,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=_.CreateDynamicObject(d,c,u,p,g,I,A,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"):(_.DestroyDynamicObject(this.id),v.objects.delete(this.id),this._id=-1,this)}isValid(){return _.IsValidDynamicObject(this.id)}getModel(){return this.sourceInfo.modelId}getPos(){return this.id===-1?l.warn("[StreamerObject]: Cannot get position before create"):_.GetDynamicObjectPos(this.id)}setPos(t,a,n){return this.id===-1?l.warn("[StreamerObject]: Cannot set position before create"):_.SetDynamicObjectPos(this.id,t,a,n)}getRot(){return this.id===-1?l.warn("[StreamerObject]: Cannot get rotation before create"):_.GetDynamicObjectRot(this.id)}setRot(t,a,n){return this.id===-1?l.warn("[StreamerObject]: Cannot set rotation before create"):_.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(),_.MoveDynamicObject(this.id,t,a,n,i,r,s,o))}stop(){return this.id===-1?l.warn("[StreamerObject]: Cannot stop moving before create"):_.StopDynamicObject(this.id)}isMoving(){return this.id===-1?!1:_.IsDynamicObjectMoving(this.id)}attachCamera(t){return this.id===-1||t.id===-1?l.warn("[StreamerObject]: Cannot attachCamera before both are created"):_.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"):_.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"):_.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"):_.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(),_.EditDynamicObject(t.id,this.id))}isMaterialUsed(t){return this.id===-1?!1:_.IsDynamicObjectMaterialUsed(this.id,t)}removeMaterial(t){return this.id===-1||!this.isMaterialUsed(t)?0:_.RemoveDynamicObjectMaterial(this.id,t)}getMaterial(t,a,n){return this.id===-1?l.warn("[StreamerObject]: Unable to get material before create"):_.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"):_.SetDynamicObjectMaterial(this.id,t,a,n,i,y(r))}isMaterialTextUsed(t){return this.id===-1?!1:_.IsDynamicObjectMaterialTextUsed(this.id,t)}removeMaterialText(t){return this.isMaterialTextUsed(t)?_.RemoveDynamicObjectMaterialText(this.id,t):0}getMaterialText(t){return this.id===-1?l.warn("[StreamerObject]: Unable to get material text before create"):U_(this.id,t,this.sourceInfo.charset||"utf8")}setMaterialText(t=this.sourceInfo.charset,a,n,i=_.MaterialTextSizes.SIZE_256x128,r="Arial",s=24,o=1,d="#fff",c="#000",u=0){return this.id===-1?l.warn("[StreamerObject]: Unable to set material text before create"):(this.sourceInfo.charset=t,W_(t||"utf8",this.id,a,n,i,r,s,o,y(d),y(c),u))}getPlayerCameraTarget(t){const a=_.GetPlayerCameraTargetDynObject(t.id);if(a!==C.OBJECT_ID)return v.objects.get(a)}toggleCallbacks(t=!0){return this.id===-1?l.warn("[StreamerObject]: Unable to toggle callbacks before create"):T.toggleItemCallbacks(_.StreamerItemTypes.OBJECT,this.id,t)}isToggleCallbacks(){return this.id,T.isToggleItemCallbacks(_.StreamerItemTypes.OBJECT,this.id)}setNoCameraCollision(){return _.SetDynamicObjectNoCameraCol(this.id)}getNoCameraCollision(){return _.GetDynamicObjectNoCameraCol(this.id)}static getInstance(t){return this.objects.get(t)}static getInstances(){return[...this.objects.values()]}}L.onExit(({next:e})=>(v.getInstances().forEach(t=>t.destroy()),e()));const[Mm,xm]=h({name:"OnDynamicObjectStreamIn",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}}),[Hm,Vm]=h({name:"OnDynamicObjectStreamOut",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}});W(({type:e,id:t,forPlayer:a,next:n})=>e===E.OBJECT?xm(a,v.getInstance(t)):n()),U(({type:e,id:t,forPlayer:a,next:n})=>e===E.OBJECT?Vm(a,v.getInstance(t)):n());const[Wm]=h({name:"OnDynamicObjectMoved",identifier:"i",beforeEach(e){return{object:v.getInstance(e)}}}),[Um]=h({name:"OnPlayerEditDynamicObject",identifier:"iiiiiiiii",beforeEach(e,t,a,n,i,r,s,o,d){return{player:m.getInstance(e),object:v.getInstance(t),response:a,x:n,y:i,z:r,rX:s,rY:o,rZ:d}}}),[Km]=h({name:"OnPlayerSelectDynamicObject",identifier:"iiiiii",beforeEach(e,t,a,n,i,r){return{player:m.getInstance(e),object:v.getInstance(t),modelId:a,x:n,y:i,z:r}}}),[Zm]=h({name:"OnPlayerShootDynamicObject",identifier:"iiiiii",beforeEach(e,t,a,n,i,r){return{player:m.getInstance(e),object:v.getInstance(a),weapon:t,x:n,y:i,z:r}}}),[jm]=h({name:"OnPlayerEditAttachedObject",beforeEach(e,t,a,n,i,r,s,o,d,c,u,p,g,I){return{player:m.getInstance(e),response:t,index:a,modelId:n,boneId:i,fOffsetX:r,fOffsetY:s,fOffsetZ:o,fRotX:d,fRotY:c,fRotZ:u,fScaleX:p,fScaleY:g,fScaleZ:I}}}),Xm=Object.freeze({onMoved:Wm,onPlayerEdit:Um,onPlayerSelect:Km,onPlayerShoot:Zm,onPlayerEditAttached:jm,onStreamIn:Mm,onStreamOut:Hm});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=_.CreateDynamicCircleEx(s,o,d,t,a,n)}else if(i==="cuboid"){const{minX:s,minY:o,minZ:d,maxX:c,maxY:u,maxZ:p}=this.sourceInfo;this._id=_.CreateDynamicCuboidEx(s,o,d,c,u,p,t,a,n)}else if(i==="cylinder"){const{x:s,y:o,minZ:d,maxZ:c,size:u}=this.sourceInfo;if(u<0)return l.error("[StreamerArea]: Invalid cylinder extend size");this._id=_.CreateDynamicCylinderEx(s,o,d,c,u,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=_.CreateDynamicPolygonEx(s,o,d,t,a,n)}else if(i==="rectangle"){const{minX:s,minY:o,maxX:d,maxY:c}=this.sourceInfo;this._id=_.CreateDynamicRectangleEx(s,o,d,c,t,a,n)}else{const{x:s,y:o,z:d,size:c}=this.sourceInfo;if(c<0)return l.error("[StreamerArea]: Invalid sphere extended size");this._id=_.CreateDynamicSphereEx(s,o,d,c,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=_.CreateDynamicCircle(s,o,d,t,a,n)}else if(i==="cuboid"){const{minX:s,minY:o,minZ:d,maxX:c,maxY:u,maxZ:p}=this.sourceInfo;this._id=_.CreateDynamicCuboid(s,o,d,c,u,p,t,a,n)}else if(i==="cylinder"){const{x:s,y:o,minZ:d,maxZ:c,size:u}=this.sourceInfo;if(u<0)return l.error("[StreamerArea]: Invalid cylinder size");this._id=_.CreateDynamicCylinder(s,o,d,c,u,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=_.CreateDynamicPolygon(s,o,d,t,a,n)}else if(i==="rectangle"){const{minX:s,minY:o,maxX:d,maxY:c}=this.sourceInfo;this._id=_.CreateDynamicRectangle(s,o,d,c,t,a,n)}else{const{x:s,y:o,z:d,size:c}=this.sourceInfo;if(c<0)return l.error("[StreamerArea]: Invalid sphere size");this._id=_.CreateDynamicSphere(s,o,d,c,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"):(_.DestroyDynamicArea(this.id),R.areas.delete(this.id),this._id=-1,this)}isValid(){return this.id===-1?!1:_.IsValidDynamicArea(this.id)}getType(){return this.id!==-1?l.warn("[StreamerArea]: Unable to get type before create"):_.GetDynamicAreaType(this.id)}getPolygonPoints(){if(this.id!==-1)return l.warn("[StreamerArea]: Unable to get polygon points before create");if(this.type==="polygon")return _.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 _.GetDynamicPolygonNumberPoints(this.id)}isPlayerIn(t,a=!1){return this.id===-1?!1:_.IsPlayerInDynamicArea(t.id,this.id,a)}static isPlayerInAny(t,a=!1){return _.IsPlayerInAnyDynamicArea(t.id,a)}isAnyPlayerIn(t=!1){return this.id===-1?!1:_.IsAnyPlayerInDynamicArea(this.id,t)}static isAnyPlayerInAny(t=!1){return _.IsAnyPlayerInAnyDynamicArea(t)}static getPlayerAreas(t){return R.getPlayerAreasNumber(t)?_.GetPlayerDynamicAreas(t.id).map(a=>R.areas.get(a)):[]}static getPlayerAreasNumber(t){return _.GetPlayerNumberDynamicAreas(t.id)}isPointIn(t,a,n){return this.id===-1?!1:_.IsPointInDynamicArea(this.id,t,a,n)}static isPointInAny(t,a,n){return _.IsPointInAnyDynamicArea(t,a,n)}isLineIn(t,a,n,i,r,s){return this.id===-1?!1:_.IsLineInDynamicArea(this.id,t,a,n,i,r,s)}static isLineInAny(t,a,n,i,r,s){return _.IsLineInAnyDynamicArea(t,a,n,i,r,s)}static getForPoint(t,a,n){return R.getNumberForPoint(t,a,n)?_.GetDynamicAreasForPoint(t,a,n).map(i=>R.getInstance(i)):[]}static getNumberForPoint(t,a,n){return _.GetNumberDynamicAreasForPoint(t,a,n)}static getForLine(t,a,n,i,r,s){return R.getNumberForLine(t,a,n,i,r,s)?_.GetDynamicAreasForLine(t,a,n,i,r,s).map(o=>R.areas.get(o)):[]}static getNumberForLine(t,a,n,i,r,s){return _.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"):_.AttachDynamicAreaToObject(this.id,t.id,_.StreamerObjectTypes.DYNAMIC,C.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"):_.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"):_.AttachDynamicAreaToVehicle(this.id,t.id,a,n,i)}toggleSpectateMode(t){return this.id===-1?l.warn("[StreamerArea]: Unable to toggle specate mode before create"):_.ToggleDynAreaSpectateMode(this.id,t)}isToggleSpectateMode(){return this.id===-1?!1:_.IsToggleDynAreaSpectateMode(this.id)}toggleCallbacks(t=!0){return this.id===-1?l.warn("[StreamerArea]: Unable to toggle callbacks before create"):T.toggleItemCallbacks(_.StreamerItemTypes.AREA,this.id,t)}isToggleCallbacks(){return this.id,T.isToggleItemCallbacks(_.StreamerItemTypes.AREA,this.id)}static getInstance(t){return this.areas.get(t)}static getInstances(){return[...this.areas.values()]}}L.onExit(({next:e})=>(R.getInstances().forEach(t=>t.destroy()),e()));const[Ym,zm]=h({name:"OnDynamicAreaStreamIn",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}}),[Jm,$m]=h({name:"OnDynamicAreaStreamOut",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}});W(({type:e,id:t,forPlayer:a,next:n})=>e===E.AREA?zm(a,R.getInstance(t)):n()),U(({type:e,id:t,forPlayer:a,next:n})=>e===E.AREA?$m(a,R.getInstance(t)):n());const[Qm]=h({name:"OnPlayerEnterDynamicArea",identifier:"ii",beforeEach(e,t){return{player:m.getInstance(e),pickup:R.getInstance(t)}}}),[qm]=h({name:"OnPlayerLeaveDynamicArea",identifier:"ii",beforeEach(e,t){return{player:m.getInstance(e),pickup:R.getInstance(t)}}}),eu=Object.freeze({onStreamIn:Ym,onStreamOut:Jm,onPlayerEnter:Qm,onPlayerLeave:qm});class S{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(S.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=Qc(i.id,t,a,n);const r=_e.onDisconnect(({player:s,next:o})=>(s===i&&(this.destroy(),r()),o()));S.playerTextDraws.set(this.id,this)}else{if(S.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=dc(t,a,n),S.globalTextDraws.set(this.id,this)}return this}destroy(){if(this.id===-1)return S.beforeCreateWarn("destroy the textdraw");const{player:t}=this.sourceInfo;return t?(qc(t.id,this.id),S.playerTextDraws.delete(this.id)):(cc(this.id),S.globalTextDraws.delete(this.id)),this._id=-1,this}setFont(t){if(this.id===-1)return S.beforeCreateWarn("set font");const{player:a}=this.sourceInfo;return a?o_(a.id,this.id,t):Pc(this.id,t),this}setColor(t){if(this.id===-1)return S.beforeCreateWarn("set color");const{player:a}=this.sourceInfo;return a?a_(a.id,this.id,t):uc(this.id,t),this}setBoxColors(t){if(this.id===-1)return S.beforeCreateWarn("set box color");const{player:a}=this.sourceInfo;return a?i_(a.id,this.id,t):gc(this.id,t),this}setBackgroundColors(t){if(this.id===-1)return S.beforeCreateWarn("set background color");const{player:a}=this.sourceInfo;return a?l_(a.id,this.id,t):Ic(this.id,t),this}setAlignment(t){if(this.id===-1)return S.beforeCreateWarn("set alignment");const{player:a}=this.sourceInfo;return a?t_(a.id,this.id,t):mc(this.id,t),this}setLetterSize(t,a){if(this.id===-1)return S.beforeCreateWarn("set letter size");const{player:n}=this.sourceInfo;return n?e_(n.id,this.id,t,a):_c(this.id,t,a),this}setOutline(t){if(this.id===-1)return S.beforeCreateWarn("set outline model");if(t<0)return l.warn("[TextDraw]: Invalid outline value");const{player:a}=this.sourceInfo;return a?s_(a.id,this.id,t):yc(this.id,t),this}setPreviewModel(t){if(this.id===-1)return S.beforeCreateWarn("set preview model");this.setFont($.MODEL_PREVIEW);const{player:a}=this.sourceInfo;return a?u_(a.id,this.id,t):Lc(this.id,t),this}setPreviewRot(t,a,n,i=1){if(this.id===-1)return S.beforeCreateWarn("set preview rot");this.setFont($.MODEL_PREVIEW);const{player:r}=this.sourceInfo;return r?p_(r.id,this.id,t,a,n,i):Rc(this.id,t,a,n,i),this}setPreviewVehColors(t,a){if(this.id===-1)return S.beforeCreateWarn("set preview veh col");this.setFont($.MODEL_PREVIEW);const{player:n}=this.sourceInfo;return n?g_(n.id,this.id,t,a):bc(this.id,t,a),this}setProportional(t=!0){if(this.id===-1)return S.beforeCreateWarn("set Proportional");const{player:a}=this.sourceInfo;return a?d_(a.id,this.id,t):fc(this.id,t),this}setSelectable(t){if(this.id===-1)return S.beforeCreateWarn("set Selectable");const{player:a}=this.sourceInfo;return a?c_(a.id,this.id,t):Ac(this.id,t),this}setShadow(t){if(this.id===-1)return S.beforeCreateWarn("set shadow");if(t<0)return l.warn("[TextDraw]: Invalid shadow value");const{player:a}=this.sourceInfo;return a?r_(a.id,this.id,t):Sc(this.id,t),this}setString(t,a){if(this.id===-1)return S.beforeCreateWarn("set string");if(t.length===0||t.length>1024)return l.warn("[TextDraw]: Invalid text length");const{player:n}=this.sourceInfo;return n?m_(n.id,this.id,t):a?oc(this.id,a.id,t):Nc(this.id,t),this}setTextSize(t,a){return this.id===-1?S.beforeCreateWarn("set TextSize"):(hc(this.id,t,a),this)}useBox(t){if(this.id===-1)return S.beforeCreateWarn("set TextSize");const{player:a}=this.sourceInfo;return a?n_(a.id,this.id,t):pc(this.id,t),this}static beforeCreateWarn(t){l.warn(`[TextDraw]: Unable to ${t} before create`)}show(t){if(this.id===-1)return S.beforeCreateWarn("show");const a=this.sourceInfo.player;if(a)__(a.id,this.id);else if(t)Ec(t.id,this.id);else return l.warn("[TextDraw]: invalid player for show");return this}hide(t){if(this.id===-1)return S.beforeCreateWarn("hide");const a=this.sourceInfo.player;if(a)h_(a.id,this.id);else if(t)Cc(t.id,this.id);else return l.warn("[TextDraw]: invalid player for hide");return this}showAll(){return this.id===-1?S.beforeCreateWarn("show"):this.sourceInfo.player?l.warn("[TextDraw]: player's textdraw should not be show for all."):(Tc(this.id),this)}hideAll(){return this.id===-1?S.beforeCreateWarn("hideAll"):this.sourceInfo.player?l.warn("[TextDraw]: player's textdraw should not be hide for all."):(Dc(this.id),this)}isValid(){const t=this.sourceInfo.player;return t?wc(t.id,this.id):Wd(this.id)}isVisibleForPlayer(t){return this.id===-1?!1:Ud(t.id,this.id)}getString(){if(this.id===-1)return this.sourceInfo.text;const t=this.sourceInfo.player;return t?Gc(t.id,this.id):Kd(this.id)}setPos(t,a){if(this.id===-1)return S.beforeCreateWarn("set position");const n=this.sourceInfo.player;return n?Oc(n.id,this.id,t,a):Zd(this.id,t,a),this}getLetterSize(){if(this.id===-1)return S.beforeCreateWarn("get letter size");const t=this.sourceInfo.player;return t?Fc(t.id,this.id):jd(this.id)}getTextSize(){if(this.id===-1)return S.beforeCreateWarn("get text size");const t=this.sourceInfo.player;return t?kc(t.id,this.id):Xd(this.id)}getPos(){if(this.id===-1)return S.beforeCreateWarn("get position");const t=this.sourceInfo.player;return t?Mc(t.id,this.id):Yd(this.id)}getColor(){if(this.id===-1)return S.beforeCreateWarn("get color");const t=this.sourceInfo.player;return t?xc(t.id,this.id):zd(this.id)}getBoxColor(){if(this.id===-1)return S.beforeCreateWarn("get box color");const t=this.sourceInfo.player;return t?Hc(t.id,this.id):Jd(this.id)}getBackgroundColor(){if(this.id===-1)return S.beforeCreateWarn("get bg color");const t=this.sourceInfo.player;return t?Vc(t.id,this.id):$d(this.id)}getShadow(){if(this.id===-1)return S.beforeCreateWarn("get shadow");const t=this.sourceInfo.player;return t?Wc(t.id,this.id):Qd(this.id)}getOutline(){if(this.id===-1)return S.beforeCreateWarn("get outline");const t=this.sourceInfo.player;return t?Uc(t.id,this.id):qd(this.id)}getFont(){if(this.id===-1)return S.beforeCreateWarn("get font");const t=this.sourceInfo.player;return t?Kc(t.id,this.id):ec(this.id)}isBox(){if(this.id===-1)return!1;const t=this.sourceInfo.player;return t?Zc(t.id,this.id):tc(this.id)}isProportional(){if(this.id===-1)return!1;const t=this.sourceInfo.player;return t?jc(t.id,this.id):ac(this.id)}isSelectable(){if(this.id===-1)return!1;const t=this.sourceInfo.player;return t?Xc(t.id,this.id):nc(this.id)}getAlignment(){if(this.id===-1)return S.beforeCreateWarn("get alignment");const t=this.sourceInfo.player;return t?Yc(t.id,this.id):ic(this.id)}getPreviewModel(){if(this.id===-1)return S.beforeCreateWarn("get preview model");const t=this.sourceInfo.player;return t?zc(t.id,this.id):rc(this.id)}getPreviewRot(){if(this.id===-1)return S.beforeCreateWarn("get preview rotation");const t=this.sourceInfo.player;return t?Jc(t.id,this.id):sc(this.id)}getPreviewVehColors(){if(this.id===-1)return S.beforeCreateWarn("get preview vel colors");const t=this.sourceInfo.player;return t?$c(t.id,this.id):lc(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()]}}L.onExit(({next:e})=>(S.getInstances(!0).forEach(t=>t.destroy()),S.getInstances(!1).forEach(t=>t.destroy()),e()));const[tu]=h({name:"OnPlayerClickTextDraw",beforeEach(e,t){return{player:m.getInstance(e),textDraw:t===C.TEXT_DRAW?t:S.getInstance(t,!0)}}}),[au]=h({name:"OnPlayerClickPlayerTextDraw",beforeEach(e,t){return{player:m.getInstance(e),textDraw:t===C.TEXT_DRAW?t:S.getInstance(t,!1)}}}),nu=Object.freeze({onPlayerClickGlobal:tu,onPlayerClickPlayer:au});function iu(e,t){return(e&t)===t}function ru(e,t,a){return(e&a)===a&&(t&a)!==a}function su(e,t){return Boolean(e&t)}function lu(e,t,a){return(e&a)!==a&&(t&a)===a}export{Le as ArtworkEnum,Ve as BodyPartsEnum,We as BoneIdsEnum,ze as BulletHitTypesEnum,te as CameraCutStylesEnum,He as CameraModesEnum,Ke as CarModTypeEnum,Re as ClickSourcesEnum,ve as ConnectionStatusEnum,se as DamageDeathReasonEnum,D as Dialog,ie as DialogStylesEnum,K as Dynamic3DTextLabel,km as Dynamic3DTextLabelEvent,k as DynamicActor,Bm as DynamicActorEvent,R as DynamicArea,eu as DynamicAreaEvent,fm as DynamicCheckPointEvent,O as DynamicCheckpoint,H as DynamicMapIcon,om as DynamicMapIconEvent,v as DynamicObject,Xm as DynamicObjectEvent,x as DynamicPickup,um as DynamicPickupEvent,F as DynamicRaceCP,Lm as DynamicRaceCPEvent,w as ERecordStatus,uu as E_STREAMER,be as EditResponseTypesEnum,Me as FightingStylesEnum,L as GameMode,jh as GameText,N as GangZone,am as GangZoneEvent,P as I18n,C as InvalidEnum,Be as KeysEnum,B as LimitsEnum,pu as MapIconStyles,xe as MapIconStylesEnum,we as MarkerModesEnum,gu as MaterialTextSizes,Z as Menu,zh as MenuEvent,Ge as NPCPlaybackEnum,Zh as NetStats,G as Npc,en as NpcEvent,Fe as ObjectMaterialAlignmmentEnum,Oe as ObjectMaterialTextSizeEnum,m as Player,_e as PlayerEvent,j as PlayerStateEnum,$e as RecordTypesEnum,ke as SelectObjectTypesEnum,re as SpecialActionsEnum,ae as SpectateModesEnum,T as Streamer,Su as StreamerAreaTypes,yu as StreamerDistances,Iu as StreamerItemTypes,Pu as StreamerMiscellaneous,fu as StreamerObjectTypes,S as TextDraw,Ue as TextDrawAlignEnum,nu as TextDrawEvent,$ as TextDrawFontsEnum,f as Vehicle,Kh as VehicleEvent,je as VehicleModelInfoEnum,Ze as VehicleParamsEnum,Xe as WeaponEnum,Ye as WeaponSkillsEnum,Je as WeaponStatesEnum,h as defineEvent,iu as isHolding,ru as isPressed,su as isPressing,lu as isReleased,y as rgba};