@infernus/core 0.11.7 → 0.11.9
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.d.ts +15 -3
- package/dist/bundle.js +4 -4
- package/dist/bundle.mjs +4 -4
- package/package.json +2 -3
package/dist/bundle.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
"use strict";var le=require("iconv-lite"),
|
|
2
|
-
${g}`;if(s)throw{error:g,message:f};console.log(f)}return a}return i&&(c.length?Promise.allSettled(c).then(()=>i(l)):i(l)),a};return pt(p(),a)}function h(e){const{name:t,identifier:a,isNative:n=!0}=e;if(v.has(t)){const o=`event [name:${t}] error: already defined.`;throw new Error(o)}function r(...o){return gt(e,...o)}function i(o){v.has(t)||v.set(t,[]);const l=v.get(t).push(o)-1;return()=>{const c=v.get(t);if(!c)return;const u=c.length-1,p=u<l?u:l;for(let g=p;g>=0;g--)if(c[g]===o){c.splice(g,1);break}return c.length===0&&v.delete(t),c.length}}const s=[i,r];return n&&(typeof a<"u"&&samp.registerEvent(t,a),samp.on(t,r)),s}const[St]=h({name:"OnNpcConnect",beforeEach(e){return{myPlayerId:e}}}),[yt]=h({name:"OnNpcDisconnect",beforeEach(e){return{reason:e}}}),[ft]=h({name:"OnNpcModeInit"}),[Pt]=h({name:"OnNpcModeExit"}),[It]=h({name:"OnNpcSpawn"}),[Et]=h({name:"OnClientMessageI18n",identifier:"iai",beforeEach(e,t){return{color:e,buffer:t,string:I.decodeFromBuf(t)}}}),At=Object.freeze({onConnect:St,onDisconnect:yt,onModeInit:ft,onModeExit:Pt,onSpawn:It,onClientMessage:Et}),Ct=e=>!!samp.callNative("IsValidNickName","s",e),Tt=(e,t)=>{samp.callNative("AllowNickNameCharacter","ii",e,t)},Dt=e=>!!samp.callNative("IsNickNameCharacterAllowed","i",e),wt=(e,t)=>!!samp.callNative("AddServerRule","ss",e,t),Nt=(e,t)=>!!samp.callNative("SetServerRule","ss",e,t),bt=e=>!!samp.callNative("IsValidServerRule","s",e),Rt=e=>!!samp.callNative("RemoveServerRule","s",e),Lt=e=>{samp.callNative("AllowAdminTeleport","i",e)},vt=()=>!!samp.callNative("IsAdminTeleportAllowed",""),Ot=e=>{samp.callNative("AllowInteriorWeapons","i",e)},Gt=()=>!!samp.callNative("AreInteriorWeaponsAllowed",""),Ft=()=>!!samp.callNative("AreAllAnimationsEnabled",""),Bt=e=>{samp.callNative("EnableAllAnimations","i",e)},kt=e=>{const[t]=samp.callNative("GetConsoleVarAsString","sAi",e,64);return t},Mt=e=>samp.callNative("GetConsoleVarAsInt","s",e),xt=e=>!!samp.callNative("GetConsoleVarAsBool","s",e),Ht=()=>samp.callNative("GetWeather",""),Vt=e=>samp.callNative("GetServerRuleFlags","s",e),Ut=(e,t)=>!!samp.callNative("SetServerRuleFlags","si",e,t),Wt=e=>!!samp.callNative("SetModeRestartTime","f",e),Kt=()=>samp.callNativeFloat("GetModeRestartTime",""),jt=(e,t,a)=>samp.callNative("GameTextForAll","aii",e,t,a),Zt=e=>{samp.callNative("HideGameTextForAll","i",e)},Xt=(e,t,a)=>samp.callNative("SendDeathMessage","iii",e,t,a),Yt=()=>samp.callNative("GetMaxPlayers",""),de=(e,t,a)=>Math.sqrt(e*e+t*t+a*a),zt=e=>samp.callNative("SetGameModeText","s",e),$t=e=>samp.callNative("ShowNameTags","i",e),Jt=e=>samp.callNative("ShowPlayerMarkers","i",e),Qt=e=>samp.callNative("SetWorldTime","i",e),qt=()=>samp.callNative("GetWorldTime",""),ea=()=>samp.callNative("EnableVehicleFriendlyFire",""),ta=e=>samp.callNative("SetWeather","i",e),aa=()=>samp.callNativeFloat("GetGravity",""),na=e=>samp.callNative("SetGravity","f",e),ra=(e,t,a,n,r)=>samp.callNative("CreateExplosion","fffif",e,t,a,n,r),ia=e=>samp.callNative("EnableZoneNames","i",e),sa=()=>samp.callNative("UsePlayerPedAnims",""),oa=()=>samp.callNative("DisableInteriorEnterExits",""),la=e=>samp.callNative("SetNameTagDrawDistance","f",e),da=()=>samp.callNative("DisableNameTagLOS",""),ca=e=>samp.callNative("LimitGlobalChatRadius","f",e),_a=e=>samp.callNative("LimitPlayerMarkerRadius","f",e),ha=(e,t)=>samp.callNative("ConnectNPC","ss",e,t),ua=()=>samp.callNative("GetServerTickRate",""),ma=e=>samp.callNative("GetAnimationName","iSiSi",e,32,32),pa=e=>samp.callNative("EnableStuntBonusForAll","i",e),ga=e=>{samp.callNative("ToggleChatTextReplacement","i",e)},Sa=()=>!!samp.callNative("ChatTextReplacementToggled",""),ya=e=>samp.callNative("GetWeaponSlot","i",e),fa=e=>{const[t]=samp.callNative("GetWeaponName","iSi",e,32);return t},Ee=()=>samp.callNative("GetAvailableClasses",""),Pa=e=>{if(e<Ee()||e>319)return!1;const t=samp.callNative("GetPlayerClass","iIIFFFFIIIIII",e),[a,n=0,r=0,i=0,s=0,o=0,l=0,c=0,u=0,p=0,g=0,f=0]=t;return{teamId:a,modelId:n,spawnX:r,spawnY:i,spawnZ:s,zAngle:o,weapon1:l,weapon1Ammo:c,weapon2:u,weapon2Ammo:p,weapon3:g,weapon3Ammo:f}},Ia=(e,t,a,n,r,i,s,o,l,c,u,p,g)=>!!samp.callNative("EditPlayerClass","iiiffffiiiiii",e,t,a,n,r,i,s,o,l,c,u,p,g),Ea=e=>samp.callNative("SetTeamCount","i",e),Aa=(e,t,a,n,r,i,s,o,l,c,u)=>samp.callNative("AddPlayerClass","iffffiiiiii",e,t,a,n,r,i,s,o,l,c,u),Ca=(e,t,a,n,r,i,s,o,l,c,u,p)=>samp.callNative("AddPlayerClassEx","iiffffiiiiii",e,t,a,n,r,i,s,o,l,c,u,p),Ta=(e,t,a,n,r,i,s,o,l,c,u,p,g)=>samp.callNative("SetSpawnInfo","iiiffffiiiiii",e,t,a,n,r,i,s,o,l,c,u,p,g),Da=e=>samp.callNative("SpawnPlayer","i",e),wa=e=>{const[t,a=0,n=0,r=0,i=0,s=0,o=0,l=0,c=0,u=0,p=0,g=0]=samp.callNative("GetSpawnInfo","iIIFFFFIIIIII",e);return{teamId:t,modelId:a,spawnX:n,spawnY:r,spawnZ:i,zAngle:s,weapon1:o,weapon1Ammo:l,weapon2:c,weapon2Ammo:u,weapon3:p,weapon3Ammo:g}},Na=e=>samp.callNative("NetStats_GetConnectedTime","i",e),ba=e=>samp.callNative("NetStats_MessagesReceived","i",e),Ra=e=>samp.callNative("NetStats_BytesReceived","i",e),La=e=>samp.callNative("NetStats_MessagesSent","i",e),va=e=>samp.callNative("NetStats_BytesSent","i",e),Oa=e=>samp.callNative("NetStats_MessagesRecvPerSecond","i",e),Ga=e=>samp.callNativeFloat("NetStats_PacketLossPercent","i",e),Fa=e=>samp.callNative("NetStats_ConnectionStatus","i",e),Ba=e=>{const[t]=samp.callNative("NetStats_GetIpPort","iSi",e,134);return t},ka=e=>!!samp.callNative("IsPlayerAdmin","i",e),Ma=(e,t)=>!!samp.callNative("SetPlayerAdmin","ii",e,t),xa=e=>!!samp.callNative("Kick","i",e),Ha=e=>!!samp.callNative("Ban","i",e),Va=e=>{const[t]=samp.callNative("GetPlayerNetworkStats","iSi",e,1024);return t},Ua=()=>samp.callNative("GetNetworkStats","Si",1024),Wa=(e,t)=>samp.callNative("BlockIpAddress","si",e,t),Ka=e=>samp.callNative("UnBlockIpAddress","s",e),ja=(e,t)=>{const[a]=samp.callNative("gpci","iAi",e,41);return I.decodeFromBuf(I.getValidStr(a),t)},Za=(e,t,a,n,r)=>samp.callNative("SendClientCheck","iiiii",e,t,a,n,r),Xa=()=>{samp.callNative("ClearBanList","")},Ya=e=>!!samp.callNative("IsBanned","s",e),za=e=>samp.callNative("GetPlayerRawIp","i",e),$a=e=>{const[t]=samp.callNative("GetPlayerIp","iSi",e,128);return t},Ja=e=>{const[t]=samp.callNative("GetPlayerVersion","iSi",e,24);return t},P=e=>{if(typeof e=="number")return e;if(typeof+e=="number"&&!isNaN(+e))return+e;if(e.charAt(0)==="#")return e.length===4?parseInt(e.charAt(1)+e.charAt(1)+e.charAt(2)+e.charAt(2)+e.charAt(3)+e.charAt(3)+"FF",16):e.length===7?parseInt(e.slice(1,e.length)+"FF",16):e.length===9?parseInt(e.slice(1,e.length),16):255;const t=(e.match(/([0-9])+/g)||[]).map(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,r)=>{n!==0&&(a+=Math.pow(16,r*2)*n)}),a},Qa=(e,t)=>!!samp.callNative("TogglePlayerWidescreen","ii",e,t),qa=e=>!!samp.callNative("IsPlayerWidescreenToggled","i",e),en=(e,t)=>samp.callNative("GetPlayerSkillLevel","ii",e,t),tn=e=>samp.callNative("GetPlayerWeather","i",e),an=e=>{const[t=0,a=0,n=0,r=0]=samp.callNative("GetPlayerWorldBounds","iFFFF",e);return{xMax:t,xMin:a,yMax:n,yMin:r}},nn=e=>samp.callNativeFloat("GetPlayerZAim","i",e),rn=e=>{const[t=0,a=0,n=0]=samp.callNative("GetPlayerSurfingOffsets","iFFF",e);return{fOffsetX:t,fOffsetY:a,fOffsetZ:n}},sn=e=>{const[t=0,a=0,n=0,r=0]=samp.callNative("GetPlayerRotationQuat","iFFFF",e);return{w:t,x:a,y:n,z:r}},on=e=>samp.callNative("GetPlayerDialogID","i",e),ln=e=>samp.callNative("GetPlayerSpectateID","i",e),dn=e=>samp.callNative("GetPlayerSpectateType","i",e),cn=(e,t)=>!!samp.callNative("SetPlayerGravity","if",e,t),_n=e=>samp.callNativeFloat("GetPlayerGravity","i",e),hn=e=>!!samp.callNative("IsPlayerSpawned","i",e),un=e=>!!samp.callNative("IsPlayerControllable","i",e),mn=e=>!!samp.callNative("IsPlayerCameraTargetEnabled","i",e),pn=(e,t)=>!!samp.callNative("TogglePlayerGhostMode","ii",e,t),gn=e=>!!samp.callNative("GetPlayerGhostMode","i",e),Sn=e=>samp.callNative("GetPlayerBuildingsRemoved","i",e),yn=(e,t)=>!!samp.callNative("RemovePlayerWeapon","ii",e,t),fn=e=>!!samp.callNative("HidePlayerDialog","i",e),Pn=e=>!!samp.callNative("IsPlayerUsingOfficialClient","i",e),In=(e,t)=>!!samp.callNative("AllowPlayerTeleport","ii",e,t),En=e=>!!samp.callNative("IsPlayerTeleportAllowed","i",e),An=(e,t)=>!!samp.callNative("AllowPlayerWeapons","i",e,t),Cn=e=>!!samp.callNative("ArePlayerWeaponsAllowed","i",e),Tn=(e,t,a,n)=>!!samp.callNative("GameTextForPlayer","iaii",e,t,a,n),Dn=(e,t)=>!!samp.callNative("HasGameText","ii",e,t),wn=(e,t,a,n)=>!!samp.callNative("SendDeathMessageToPlayer","iiii",e,t,a,n),Nn=(e,t)=>!!samp.callNative("HideGameTextForPlayer","ii",e,t),bn=e=>!!samp.callNative("IsPlayerNPC","i",e),Ae=(e,t,a,n)=>!!samp.callNative("SetPlayerPos","ifff",e,t,a,n),Rn=(e,t,a,n)=>!!samp.callNative("SetPlayerPosFindZ","ifff",e,t,a,n),Ln=e=>samp.callNative("GetPlayerPos","iFFF",e),vn=(e,t)=>!!samp.callNative("SetPlayerFacingAngle","if",e,t),On=e=>{const[t]=samp.callNative("GetPlayerFacingAngle","iF",e);return t},Gn=(e,t,a,n,r)=>!!samp.callNative("IsPlayerInRangeOfPoint","iffff",e,t,a,n,r),Fn=(e,t,a,n)=>samp.callNativeFloat("GetPlayerDistanceFromPoint","ifff",e,t,a,n),Bn=(e,t)=>!!samp.callNative("IsPlayerStreamedIn","ii",e,t),kn=(e,t)=>!!samp.callNative("SetPlayerInterior","ii",e,t),Mn=e=>samp.callNative("GetPlayerInterior","i",e),xn=(e,t)=>!!samp.callNative("SetPlayerHealth","if",e,t),Hn=e=>{const[t]=samp.callNative("GetPlayerHealth","iF",e);return t},Vn=(e,t)=>!!samp.callNative("SetPlayerArmour","if",e,t),Un=e=>{const[t]=samp.callNative("GetPlayerArmour","iF",e);return t},Wn=(e,t,a)=>!!samp.callNative("SetPlayerAmmo","iii",e,t,a),Kn=e=>samp.callNative("GetPlayerAmmo","i",e),jn=e=>samp.callNative("GetPlayerWeaponState","i",e),Zn=e=>samp.callNative("GetPlayerTargetPlayer","i",e),Xn=(e,t)=>{samp.callNative("SetPlayerTeam","ii",e,t)},Yn=e=>samp.callNative("GetPlayerTeam","i",e),zn=(e,t)=>!!samp.callNative("SetPlayerScore","ii",e,t),$n=e=>samp.callNative("GetPlayerScore","i",e),Jn=e=>samp.callNative("GetPlayerDrunkLevel","i",e),Qn=(e,t)=>!!samp.callNative("SetPlayerDrunkLevel","ii",e,t),qn=(e,t)=>!!samp.callNative("SetPlayerColor","ii",e,P(t)),er=e=>samp.callNative("GetPlayerColor","i",e),tr=(e,t)=>!!samp.callNative("SetPlayerSkin","ii",e,t),ar=e=>samp.callNative("GetPlayerSkin","i",e),nr=(e,t,a)=>!!samp.callNative("GivePlayerWeapon","iii",e,t,a),rr=e=>!!samp.callNative("ResetPlayerWeapons","i",e),ir=(e,t)=>!!samp.callNative("SetPlayerArmedWeapon","ii",e,t),sr=(e,t)=>samp.callNative("GetPlayerWeaponData","iiII",e,t),or=(e,t)=>!!samp.callNative("GivePlayerMoney","ii",e,t),lr=e=>!!samp.callNative("ResetPlayerMoney","i",e),dr=e=>samp.callNative("GetPlayerMoney","i",e),cr=e=>samp.callNative("GetPlayerState","i",e),_r=e=>samp.callNative("GetPlayerPing","i",e),hr=e=>samp.callNative("GetPlayerWeapon","i",e),ur=e=>samp.callNative("GetPlayerKeys","iIII",e),mr=(e,t,a)=>!!samp.callNative("SetPlayerTime","iii",e,t,a),pr=e=>samp.callNative("GetPlayerTime","iII",e),gr=(e,t)=>!!samp.callNative("TogglePlayerClock","ii",e,t),Sr=(e,t)=>!!samp.callNative("SetPlayerWeather","ii",e,t),yr=e=>!!samp.callNative("ForceClassSelection","i",e),fr=(e,t)=>!!samp.callNative("SetPlayerWantedLevel","ii",e,t),Pr=e=>samp.callNative("GetPlayerWantedLevel","i",e),Ir=(e,t)=>!!samp.callNative("SetPlayerFightingStyle","ii",e,t),Er=e=>samp.callNative("GetPlayerFightingStyle","i",e),Ar=(e,t,a,n)=>!!samp.callNative("SetPlayerVelocity","ifff",e,t,a,n),Cr=e=>samp.callNative("GetPlayerVelocity","iFFF",e),Tr=(e,t,a)=>!!samp.callNative("PlayCrimeReportForPlayer","iii",e,t,a),Dr=(e,t,a,n,r,i,s=!1)=>!!samp.callNative("PlayAudioStreamForPlayer","isffffi",e,t,a,n,r,i,s),wr=e=>!!samp.callNative("StopAudioStreamForPlayer","i",e),Nr=(e,t)=>!!samp.callNative("SetPlayerShopName","is",e,t),br=(e,t,a)=>!!samp.callNative("SetPlayerSkillLevel","iii",e,t,a),Rr=e=>samp.callNative("GetPlayerSurfingVehicleID","i",e),Lr=e=>samp.callNative("GetPlayerSurfingObjectID","i",e),vr=e=>samp.callNative("GetPlayerSurfingPlayerObjectID","i",e),Or=(e,t,a,n,r,i)=>!!samp.callNative("RemoveBuildingForPlayer","iiffff",e,t,a,n,r,i),Gr=e=>samp.callNative("GetPlayerLastShotVectors","iFFFFFF",e),Fr=(e,t,a,n,r)=>!!samp.callNative("SetPlayerChatBubble","isifi",e,t,P(a),n,r),Br=(e,t,a)=>!!samp.callNative("PutPlayerInVehicle","iii",e,t,a),kr=e=>samp.callNative("GetPlayerVehicleID","i",e),Mr=e=>samp.callNative("GetPlayerVehicleSeat","i",e),xr=e=>!!samp.callNative("RemovePlayerFromVehicle","i",e),Hr=(e,t)=>!!samp.callNative("TogglePlayerControllable","ii",e,t),Vr=(e,t,a,n,r)=>!!samp.callNative("PlayerPlaySound","iifff",e,t,a,n,r),Ur=(e,t,a,n,r,i,s,o,l,c)=>!!samp.callNative("ApplyAnimation","issfiiiiii",e,t,a,n,r,i,s,o,l,c),Wr=(e,t)=>!!samp.callNative("ClearAnimations","ii",e,t),Kr=e=>samp.callNative("GetPlayerAnimationIndex","i",e),jr=e=>samp.callNative("GetPlayerSpecialAction","i",e),Zr=(e,t)=>!!samp.callNative("SetPlayerSpecialAction","ii",e,t),Xr=(e,t)=>!!samp.callNative("DisableRemoteVehicleCollisions","ii",e,t),Yr=(e,t)=>!!samp.callNative("SetPlayerVirtualWorld","ii",e,t),zr=e=>samp.callNative("GetPlayerVirtualWorld","i",e),$r=(e,t)=>!!samp.callNative("EnableStuntBonusForPlayer","ii",e,t),Jr=e=>samp.callNative("GetPlayerCustomSkin","i",e),Qr=(e,t,a,n,r,i)=>!!samp.callNative("CreateExplosionForPlayer","ifffif",e,t,a,n,r,i),qr=(e,t,a)=>!!samp.callNative("StartRecordingPlayerData","iis",e,t,a),ei=e=>!!samp.callNative("StopRecordingPlayerData","i",e),ti=(e,t)=>!!samp.callNative("TogglePlayerSpectating","ii",e,t),ai=(e,t,a)=>!!samp.callNative("PlayerSpectatePlayer","iii",e,t,a),ni=(e,t,a)=>!!samp.callNative("PlayerSpectateVehicle","iii",e,t,a),Ce=e=>!!samp.callNative("IsPlayerConnected","i",e),ri=(e,t)=>!!samp.callNative("IsPlayerInVehicle","ii",e,t),ii=e=>!!samp.callNative("IsPlayerInAnyVehicle","i",e),si=(e,t,a,n,r)=>!!samp.callNative("SetPlayerWorldBounds","iffff",e,t,a,n,r),oi=e=>!!samp.callNative("ClearPlayerWorldBounds","i",e),li=(e,t,a)=>!!samp.callNative("SetPlayerMarkerForPlayer","iii",e,t,P(a));function di(e,t){return samp.callNative("GetPlayerMarkerForPlayer","ii",t)}const ci=(e,t,a)=>!!samp.callNative("ShowPlayerNameTagForPlayer","iii",e,t,a),_i=(e,t,a,n)=>!!samp.callNative("SetPlayerCameraPos","ifff",e,t,a,n),hi=(e,t,a,n,r)=>!!samp.callNative("SetPlayerCameraLookAt","ifffi",e,t,a,n,r),ui=e=>!!samp.callNative("SetCameraBehindPlayer","i",e),mi=e=>samp.callNative("GetPlayerCameraPos","iFFF",e),pi=e=>samp.callNative("GetPlayerCameraFrontVector","iFFF",e),gi=e=>samp.callNative("GetPlayerCameraMode","i",e),Si=(e,t)=>!!samp.callNative("EnablePlayerCameraTarget","ii",e,t),yi=e=>samp.callNative("GetPlayerCameraTargetVehicle","i",e),fi=e=>samp.callNative("GetPlayerCameraTargetPlayer","i",e),Pi=e=>samp.callNativeFloat("GetPlayerCameraAspectRatio","i",e),Ii=e=>samp.callNativeFloat("GetPlayerCameraZoom","i",e),Ei=(e,t,a,n,r,i,s,o,l)=>!!samp.callNative("InterpolateCameraPos","iffffffii",e,t,a,n,r,i,s,o,l),Ai=(e,t,a,n,r,i,s,o,l)=>!!samp.callNative("InterpolateCameraLookAt","iffffffii",e,t,a,n,r,i,s,o,l),Ci=e=>!!samp.callNative("IsPlayerCuffed","i",e),Ti=e=>!!samp.callNative("IsPlayerInDriveByMode","i",e),Di=e=>!!samp.callNative("IsPlayerUsingOmp","i",e),wi=(e,t)=>samp.callNative("StartRecordingPlayback","is",e,t),Ni=()=>samp.callNative("StopRecordingPlayback",""),bi=()=>samp.callNative("PauseRecordingPlayback",""),Ri=()=>samp.callNative("ResumeRecordingPlayback",""),Li=e=>samp.callNative("GetActorSkin","i",e),vi=(e,t)=>samp.callNative("SetActorSkin","ii",e,t),Oi=e=>{const[t=0,a=0,n=0,r=0,i=0]=samp.callNative("GetActorSpawnInfo","iIFFFF",e);return{skinId:t,fX:a,fY:n,fZ:r,fAngle:i}},Gi=e=>{const[t=0,a=0,n=0,r=0,i=0,s=0]=samp.callNative("GetVehicleSpawnInfo","iFFFFII",e);return{fX:t,fY:a,fZ:n,fRot:r,color1:i,color2:s}},Fi=(e,t,a,n,r,i,s,o,l=-2,c=-2)=>samp.callNative("SetVehicleSpawnInfo","iiFFFFiiii",e,t,a,n,r,i,s,o,l,c),Bi=e=>{const[t=0,a=0]=samp.callNative("GetVehicleColor","iII",e);return{color1:t,color2:a}},ki=e=>samp.callNative("GetVehiclePaintjob","i",e),Mi=e=>samp.callNative("GetVehicleInterior","i",e),xi=e=>{const[t]=samp.callNative("GetVehicleNumberPlate","iSi",e,33);return t},Hi=(e,t)=>samp.callNative("SetVehicleRespawnDelay","ii",e,t),Vi=e=>samp.callNative("GetVehicleRespawnDelay","i",e),Ui=e=>samp.callNative("GetVehicleCab","i",e),Wi=e=>samp.callNative("GetVehicleOccupiedTick","i",e),Ki=(e,t)=>samp.callNative("SetVehicleOccupiedTick","ii",e,t),ji=e=>!!samp.callNative("HasVehicleBeenOccupied","i",e),Zi=e=>!!samp.callNative("IsVehicleOccupied","i",e),Xi=e=>samp.callNative("GetVehicleRespawnTick","i",e),Yi=(e,t)=>samp.callNative("SetVehicleRespawnTick","ii",e,t),zi=e=>!!samp.callNative("IsVehicleDead","i",e),$i=(e,t)=>!!samp.callNative("SetVehicleDead","ii",e,t),Ji=(e,t)=>!!samp.callNative("SetVehicleBeenOccupied","ii",e,t),Qi=(e,t)=>samp.callNative("ToggleVehicleSirenEnabled","ii",e,t),qi=(e,t)=>samp.callNative("SetVehicleParamsSirenState","ii",e,t),es=e=>!!samp.callNative("IsVehicleSirenEnabled","i",e),ts=e=>samp.callNative("GetVehicleModelCount","i",e),as=e=>samp.callNative("GetVehicleLastDriver","i",e),ns=e=>samp.callNative("GetVehicleDriver","i",e),rs=()=>samp.callNative("GetVehicleModelsUsed",""),is=e=>samp.callNative("GetVehicleSirenState","i",e),ss=e=>samp.callNative("GetVehicleLandingGearState","i",e),os=e=>samp.callNativeFloat("GetVehicleHydraReactorAngle","i",e),ls=e=>samp.callNativeFloat("GetVehicleTrainSpeed","i",e),ds=e=>{const[t=0,a=0,n=0,r=0,i=0,s=0,o=0,l=0,c=0]=samp.callNative("GetVehicleMatrix","iFFFFFFFFF",e);return{rightX:t,rightY:a,rightZ:n,upX:r,upY:i,upZ:s,atX:o,atY:l,atZ:c}},Te=e=>{const[t=0,a=0,n=0,r=0]=samp.callNative("GetRandomCarColPair","iIIII",e);return{color:[t,a,n,r]}},cs=(e,t=255)=>samp.callNative("CarColIndexToColour","ii",e,t),_s=(e,t,a,n,r,i,s,o,l)=>samp.callNative("CreateVehicle","iffffiiii",e,t,a,n,r,P(i),P(s),o,l),hs=e=>samp.callNative("DestroyVehicle","i",e),us=(e,t)=>!!samp.callNative("IsVehicleStreamedIn","ii",e,t),ms=e=>{const t=samp.callNative("GetVehiclePos","iFFF",e);if(t.length<3)throw new Error("VehicleID "+e+" not found");return{x:t[0],y:t[1],z:t[2]}},ps=(e,t,a,n)=>samp.callNative("SetVehiclePos","ifff",e,t,a,n),gs=e=>{const[t]=samp.callNative("GetVehicleZAngle","iF",e);return t},Ss=e=>samp.callNative("GetVehicleRotationQuat","iFFFF",e),ys=(e,t,a,n)=>samp.callNativeFloat("GetVehicleDistanceFromPoint","ifff",e,t,a,n),fs=(e,t)=>samp.callNative("SetVehicleZAngle","if",e,t),Ps=(e,t,a,n)=>samp.callNative("SetVehicleParamsForPlayer","iiii",e,t,a,n),Is=()=>samp.callNative("ManualVehicleEngineAndLights",""),Es=(e,t,a,n,r,i,s,o)=>samp.callNative("SetVehicleParamsEx","iiiiiiii",e,t,a,n,r,i,s,o),As=e=>samp.callNative("GetVehicleParamsEx","iIIIIIII",e),Cs=e=>samp.callNative("GetVehicleParamsSirenState","i",e),Ts=(e,t,a,n,r)=>samp.callNative("SetVehicleParamsCarDoors","iiiii",e,t,a,n,r),Ds=e=>{const t=samp.callNative("GetVehicleParamsCarDoors","iIIII",e);return{driver:t[0],passenger:t[1],backLeft:t[2],backRight:t[3]}},ws=(e,t,a,n,r)=>samp.callNative("SetVehicleParamsCarWindows","iiiii",e,t,a,n,r),Ns=e=>{const t=samp.callNative("GetVehicleParamsCarWindows","iIIII",e);return{driver:t[0],passenger:t[1],backLeft:t[2],backRight:t[3]}},bs=e=>samp.callNative("SetVehicleToRespawn","i",e),Rs=(e,t)=>samp.callNative("LinkVehicleToInterior","ii",e,t),Ls=(e,t)=>samp.callNative("AddVehicleComponent","ii",e,t),vs=(e,t)=>samp.callNative("RemoveVehicleComponent","ii",e,t),Os=(e,t,a)=>samp.callNative("ChangeVehicleColor","iii",e,P(t),P(a)),Gs=(e,t)=>samp.callNative("ChangeVehiclePaintjob","ii",e,t),Fs=(e,t)=>samp.callNative("SetVehicleHealth","if",e,t),Bs=e=>{const[t]=samp.callNative("GetVehicleHealth","iF",e);return t},ks=(e,t)=>samp.callNative("AttachTrailerToVehicle","ii",e,t),Ms=e=>samp.callNative("DetachTrailerFromVehicle","i",e),xs=e=>!!samp.callNative("IsTrailerAttachedToVehicle","i",e),Hs=e=>samp.callNative("GetVehicleTrailer","i",e),Vs=(e,t)=>samp.callNative("SetVehicleNumberPlate","is",e,t),Us=e=>samp.callNative("GetVehicleModel","i",e),Ws=(e,t)=>samp.callNative("GetVehicleComponentInSlot","ii",e,t),Ks=e=>samp.callNative("GetVehicleComponentType","i",e),js=e=>samp.callNative("RepairVehicle","i",e),Zs=e=>samp.callNative("GetVehicleVelocity","iFFF",e),Xs=(e,t,a,n)=>!!samp.callNative("SetVehicleVelocity","ifff",e,t,a,n),Ys=(e,t,a,n)=>samp.callNative("SetVehicleAngularVelocity","ifff",e,t,a,n),zs=e=>{const t=samp.callNative("GetVehicleDamageStatus","iIIII",e);if(t.length<4)throw new Error("VehicleID "+e+" not found");return{panels:t[0],doors:t[1],lights:t[2],tires:t[3]}},$s=(e,t,a,n,r)=>samp.callNative("UpdateVehicleDamageStatus","iiiii",e,t,a,n,r),Js=(e,t)=>{const a=samp.callNative("GetVehicleModelInfo","iiFFF",e,t);if(a.length<3)throw new Error("ModelID "+e+" not found");return{x:a[0],y:a[1],z:a[2]}},Qs=(e,t)=>samp.callNative("SetVehicleVirtualWorld","ii",e,t),qs=e=>samp.callNative("GetVehicleVirtualWorld","i",e),De=e=>!!samp.callNative("IsValidVehicle","i",e),eo=(e,t,a,n,r,i,s)=>samp.callNative("AddStaticVehicle","iffffii",e,t,a,n,r,P(i),P(s)),to=(e,t,a,n,r,i,s,o,l)=>samp.callNative("AddStaticVehicleEx","iffffiiii",e,t,a,n,r,P(i),P(s),o,l),ao=e=>!!samp.callNative("ShowVehicle","i",e),no=e=>!!samp.callNative("HideVehicle","i",e),ro=e=>!!samp.callNative("IsVehicleHidden","i",e),io=e=>!!samp.callNative("IsPlayerInModShop","i",e),so=e=>samp.callNative("GetPlayerSirenState","i",e),oo=e=>samp.callNative("GetPlayerLandingGearState","i",e),lo=e=>samp.callNative("GetPlayerHydraReactorAngle","i",e),co=e=>samp.callNativeFloat("GetPlayerTrainSpeed","i",e),_o=(e,t)=>samp.callNative("GetVehicleOccupant","ii",e,t),we=e=>samp.callNative("GetVehicleMaxPassengers","i",e),ho=e=>samp.callNative("CountVehicleOccupants","i",e),uo=e=>!!samp.callNative("IsPlayerCheckpointActive","i",e),mo=e=>{const[t=0,a=0,n=0,r=0]=samp.callNative("GetPlayerCheckpoint","iFFFF",e);return{fX:t,fY:a,fZ:n,fSize:r}},po=e=>!!samp.callNative("IsPlayerRaceCheckpointActive","i",e),go=e=>{const[t=0,a=0,n=0,r=0,i=0,s=0,o=0]=samp.callNative("GetPlayerRaceCheckpoint","iFFFFFFF",e);return{fX:t,fY:a,fZ:n,fNextX:r,fNextY:i,fNextZ:s,fSize:o}},So=e=>!!samp.callNative("IsMenuDisabled","i",e),yo=(e,t)=>!!samp.callNative("IsMenuRowDisabled","ii",e,t),fo=(e,t)=>samp.callNative("GetMenuItems","ii",e,t),Po=e=>{const[t=0,a=0]=samp.callNative("GetMenuPos","iFF",e);return{fX:t,fY:a}},Io=e=>{const[t=0,a=0]=samp.callNative("GetMenuColumnWidth","iFF",e);return{fColumn1:t,fColumn2:a}},Eo=(e,t)=>{const[a]=samp.callNative("GetMenuColumnHeader","iiSi",e,t,31);return a},Ao=(e,t,a)=>{const[n]=samp.callNative("GetMenuItem","iiiSi",e,t,a,31);return n},Co=(e,t,a,n,r,i)=>samp.callNative("CreateMenu","siffff",e,t,a,n,r,i),To=e=>samp.callNative("DestroyMenu","i",e),Do=(e,t,a)=>samp.callNative("AddMenuItem","iis",e,t,a),wo=(e,t,a)=>samp.callNative("SetMenuColumnHeader","iis",e,t,a),No=(e,t)=>samp.callNative("ShowMenuForPlayer","ii",e,t),bo=(e,t)=>samp.callNative("HideMenuForPlayer","ii",e,t),Ro=e=>!!samp.callNative("IsValidMenu","i",e),Lo=e=>samp.callNative("DisableMenu","i",e),vo=(e,t)=>samp.callNative("DisableMenuRow","ii",e,t),Oo=e=>samp.callNative("GetPlayerMenu","i",e),Go=e=>!!samp.callNative("IsValidGangZone","i",e),Fo=(e,t)=>!!samp.callNative("IsPlayerInGangZone","ii",e,t),Bo=(e,t)=>!!samp.callNative("IsGangZoneVisibleForPlayer","ii",e,t),ko=(e,t)=>samp.callNative("GangZoneGetColorForPlayer","ii",e,t),Mo=(e,t)=>samp.callNative("GangZoneGetFlashColorForPlayer","ii",e,t),xo=(e,t)=>!!samp.callNative("IsGangZoneFlashingForPlayer","ii",e,t),Ho=e=>{const[t=0,a=0,n=0,r=0]=samp.callNative("GangZoneGetPos","iFFFF",e);return{fMinX:t,fMinY:a,fMaxX:n,fMaxY:r}},Vo=(e,t)=>{samp.callNative("UseGangZoneCheck","ii",e,t)},Uo=(e,t,a,n)=>samp.callNative("GangZoneCreate","ffff",e,t,a,n),Wo=e=>samp.callNative("GangZoneDestroy","i",e),Ko=(e,t,a)=>samp.callNative("GangZoneShowForPlayer","iii",e,t,P(a)),jo=(e,t)=>samp.callNative("GangZoneShowForAll","ii",e,P(t)),Zo=(e,t)=>samp.callNative("GangZoneHideForPlayer","ii",e,t),Xo=e=>samp.callNative("GangZoneHideForAll","i",e),Yo=(e,t,a)=>samp.callNative("GangZoneFlashForPlayer","iii",e,t,P(a)),zo=(e,t)=>samp.callNative("GangZoneFlashForAll","ii",e,P(t)),$o=(e,t)=>samp.callNative("GangZoneStopFlashForPlayer","ii",e,t),Jo=e=>samp.callNative("GangZoneStopFlashForAll","i",e),Qo=(e,t,a,n,r)=>samp.callNative("CreatePlayerGangZone","iffff",e,t,a,n,r),qo=(e,t)=>samp.callNative("PlayerGangZoneDestroy","ii",e,t),el=(e,t,a)=>samp.callNative("PlayerGangZoneShow","iii",e,t,a),tl=(e,t)=>samp.callNative("PlayerGangZoneHide","ii",e,t),al=(e,t,a)=>samp.callNative("PlayerGangZoneFlash","iii",e,t,a),nl=(e,t)=>samp.callNative("PlayerGangZoneStopFlash","ii",e,t),rl=(e,t)=>!!samp.callNative("IsValidPlayerGangZone","ii",e,t),il=(e,t)=>!!samp.callNative("IsPlayerInPlayerGangZone","ii",e,t),sl=(e,t)=>!!samp.callNative("IsPlayerGangZoneVisible","ii",e,t),ol=(e,t)=>samp.callNative("PlayerGangZoneGetColor","ii",e,t),ll=(e,t)=>samp.callNative("PlayerGangZoneGetFlashColor","ii",e,t),dl=(e,t)=>!!samp.callNative("IsPlayerGangZoneFlashing","ii",e,t),cl=(e,t)=>{const[a=0,n=0,r=0,i=0]=samp.callNative("PlayerGangZoneGetPos","iiFFFF",e,t);return{fMinX:a,fMinY:n,fMaxX:r,fMaxY:i}},_l=(e,t,a)=>{samp.callNative("UsePlayerGangZoneCheck","iii",e,t,a)},hl=e=>!!samp.callNative("IsValidTextDraw","i",e),ul=(e,t)=>!!samp.callNative("IsTextDrawVisibleForPlayer","ii",e,t),ml=e=>{const[t]=samp.callNative("TextDrawGetString","iSi",e,1024);return t},pl=(e,t,a)=>{samp.callNative("TextDrawSetPos","iff",e,t,a)},gl=e=>{const[t=0,a=0]=samp.callNative("TextDrawGetLetterSize","iFF",e);return{fX:t,fY:a}},Sl=e=>{const[t=0,a=0]=samp.callNative("TextDrawGetTextSize","iFF",e);return{fX:t,fY:a}},yl=e=>{const[t=0,a=0]=samp.callNative("TextDrawGetPos","iFF",e);return{fX:t,fY:a}},fl=e=>samp.callNative("TextDrawGetColor","i",e),Pl=e=>samp.callNative("TextDrawGetBoxColor","i",e),Il=e=>samp.callNative("TextDrawGetBackgroundColor","i",e),El=e=>samp.callNative("TextDrawGetShadow","i",e),Al=e=>samp.callNative("TextDrawGetOutline","i",e),Cl=e=>samp.callNative("TextDrawGetFont","i",e),Tl=e=>!!samp.callNative("TextDrawIsBox","i",e),Dl=e=>!!samp.callNative("TextDrawIsProportional","i",e),wl=e=>!!samp.callNative("TextDrawIsSelectable","i",e),Nl=e=>samp.callNative("TextDrawGetAlignment","i",e),bl=e=>samp.callNative("TextDrawGetPreviewModel","i",e),Rl=e=>{const[t=0,a=0,n=0,r=0]=samp.callNative("TextDrawGetPreviewRot","iFFFF",e);return{fRotX:t,fRotY:a,fRotZ:n,fZoom:r}},Ll=e=>{const[t,a]=samp.callNative("TextDrawGetPreviewVehCol","iII",e);return{color1:t,color2:a}},vl=(e,t,a)=>{samp.callNative("TextDrawSetStringForPlayer","iia",e,t,a)},Ol=(e,t,a)=>samp.callNative("TextDrawCreate","ffa",e,t,a),Gl=e=>samp.callNative("TextDrawDestroy","i",e),Fl=(e,t,a)=>samp.callNative("TextDrawLetterSize","iff",e,t,a),Bl=(e,t,a)=>samp.callNative("TextDrawTextSize","iff",e,t,a),kl=(e,t)=>samp.callNative("TextDrawAlignment","ii",e,t),Ml=(e,t)=>!!samp.callNative("TextDrawColor","ii",e,P(t)),xl=(e,t)=>samp.callNative("TextDrawUseBox","ii",e,t),Hl=(e,t)=>!!samp.callNative("TextDrawBoxColor","ii",e,P(t)),Vl=(e,t)=>samp.callNative("TextDrawSetShadow","ii",e,t),Ul=(e,t)=>samp.callNative("TextDrawSetOutline","ii",e,t),Wl=(e,t)=>!!samp.callNative("TextDrawBackgroundColor","ii",e,P(t)),Kl=(e,t)=>samp.callNative("TextDrawFont","ii",e,t),jl=(e,t)=>samp.callNative("TextDrawSetProportional","ii",e,t),Zl=(e,t)=>samp.callNative("TextDrawSetSelectable","ii",e,t),Xl=(e,t)=>samp.callNative("TextDrawShowForPlayer","ii",e,t),Yl=(e,t)=>samp.callNative("TextDrawHideForPlayer","ii",e,t),zl=e=>samp.callNative("TextDrawShowForAll","i",e),$l=e=>samp.callNative("TextDrawHideForAll","i",e),Jl=(e,t)=>samp.callNative("TextDrawSetString","ia",e,t),Ql=(e,t)=>samp.callNative("TextDrawSetPreviewModel","ii",e,t),ql=(e,t,a,n,r=1)=>{samp.callNative("TextDrawSetPreviewRot","iffff",e,t,a,n,r)},ed=(e,t,a)=>!!samp.callNative("TextDrawSetPreviewVehCol","iii",e,P(t),P(a)),td=(e,t)=>{samp.callNative("SelectTextDraw","ii",e,P(t))},ad=e=>{samp.callNative("CancelSelectTextDraw","i",e)},nd=(e,t)=>!!samp.callNative("IsValidPlayerTextDraw","ii",e,t),rd=(e,t)=>!!samp.callNative("IsPlayerTextDrawVisible","ii",e,t),id=(e,t)=>{const[a]=samp.callNative("PlayerTextDrawGetString","iiSi",e,t,1024);return a},sd=(e,t,a,n)=>{samp.callNative("PlayerTextDrawSetPos","iiff",e,t,a,n)},od=(e,t)=>{const[a=0,n=0]=samp.callNative("PlayerTextDrawGetLetterSize","iiFF",e,t);return{fX:a,fY:n}},ld=(e,t)=>{const[a=0,n=0]=samp.callNative("PlayerTextDrawGetTextSize","iiFF",e,t);return{fX:a,fY:n}},dd=(e,t)=>{const[a=0,n=0]=samp.callNative("PlayerTextDrawGetPos","iiFF",e,t);return{fX:a,fY:n}},cd=(e,t)=>samp.callNative("PlayerTextDrawGetColor","ii",e,t),_d=(e,t)=>samp.callNative("PlayerTextDrawGetBoxColor","ii",e,t),hd=(e,t)=>samp.callNative("PlayerTextDrawGetBackgroundColor","ii",e,t),ud=(e,t)=>samp.callNative("PlayerTextDrawGetShadow","ii",e,t),md=(e,t)=>samp.callNative("PlayerTextDrawGetOutline","ii",e,t),pd=(e,t)=>samp.callNative("PlayerTextDrawGetFont","ii",e,t),gd=(e,t)=>!!samp.callNative("PlayerTextDrawIsBox","ii",e,t),Sd=(e,t)=>!!samp.callNative("PlayerTextDrawIsProportional","ii",e,t),yd=(e,t)=>!!samp.callNative("PlayerTextDrawIsSelectable","ii",e,t),fd=(e,t)=>samp.callNative("PlayerTextDrawGetAlignment","ii",e,t),Pd=(e,t)=>samp.callNative("PlayerTextDrawGetPreviewModel","ii",e,t),Id=(e,t)=>{const[a=0,n=0,r=0,i=0]=samp.callNative("PlayerTextDrawGetPreviewRot","iiFFFF",e,t);return{fRotX:a,fRotY:n,fRotZ:r,fZoom:i}},Ed=(e,t)=>{const[a,n]=samp.callNative("PlayerTextDrawGetPreviewVehCol","iiII",e,t);return{color1:a,color2:n}},Ad=(e,t,a,n)=>samp.callNative("CreatePlayerTextDraw","iffa",e,t,a,n),Cd=(e,t)=>{samp.callNative("PlayerTextDrawDestroy","ii",e,t)},Td=(e,t,a,n)=>samp.callNative("PlayerTextDrawLetterSize","iiff",e,t,a,n),Dd=(e,t,a,n)=>samp.callNative("PlayerTextDrawTextSize","iiff",e,t,a,n),wd=(e,t,a)=>samp.callNative("PlayerTextDrawAlignment","iii",e,t,a),Nd=(e,t,a)=>!!samp.callNative("PlayerTextDrawColor","iii",e,t,P(a)),bd=(e,t,a)=>samp.callNative("PlayerTextDrawUseBox","iii",e,t,a),Rd=(e,t,a)=>!!samp.callNative("PlayerTextDrawBoxColor","iii",e,t,P(a)),Ld=(e,t,a)=>samp.callNative("PlayerTextDrawSetShadow","iii",e,t,a),vd=(e,t,a)=>samp.callNative("PlayerTextDrawSetOutline","iii",e,t,a),Od=(e,t,a)=>!!samp.callNative("PlayerTextDrawBackgroundColor","iii",e,t,P(a)),Gd=(e,t,a)=>samp.callNative("PlayerTextDrawFont","iii",e,t,a),Fd=(e,t,a)=>samp.callNative("PlayerTextDrawSetProportional","iii",e,t,a),Bd=(e,t,a)=>samp.callNative("PlayerTextDrawSetSelectable","iii",e,t,a),kd=(e,t)=>samp.callNative("PlayerTextDrawShow","ii",e,t),Md=(e,t)=>samp.callNative("PlayerTextDrawHide","ii",e,t),xd=(e,t,a)=>samp.callNative("PlayerTextDrawSetString","iia",e,t,a),Hd=(e,t,a)=>samp.callNative("PlayerTextDrawSetPreviewModel","iii",e,t,a),Vd=(e,t,a,n,r,i)=>samp.callNative("PlayerTextDrawSetPreviewRot","iiffff",e,t,a,n,r,i),Ud=(e,t,a,n)=>!!samp.callNative("PlayerTextDrawSetPreviewVehCol","iiii",e,t,a,n),Wd=(e,t)=>!!samp.callNative("EditAttachedObject","ii",e,t),Kd=e=>!!samp.callNative("BeginObjectSelecting","i",e),jd=e=>!!samp.callNative("EndObjectEditing","i",e),Zd=e=>!!samp.callNative("SetObjectsDefaultCameraCol","i",e),Xd=(e,t,a,n,r)=>samp.callNative("AddSimpleModel","iiiss",e,t,a,n,r),Yd=(e,t,a,n,r,i,s)=>samp.callNative("AddSimpleModelTimed","iiissii",e,t,a,n,r,i,s),zd=(e,t)=>samp.callNative("RedirectDownload","is",e,t),$d=e=>{const[t]=samp.callNative("FindModelFileNameFromCRC","iSi",e,255);return t},Jd=e=>{const[t]=samp.callNative("FindTextureFileNameFromCRC","iSi",e,255);return t},Qd=(e,t)=>{const[a=0,n=0,r=0,i=0,s=0,o=0,l=0,c=0,u=0,p=0,g=0,f=0,E=0]=samp.callNative("GetPlayerAttachedObject","iiIIFFFFFFFFFII",e,t);return{modelId:a,bone:n,fX:r,fY:i,fZ:s,fRotX:o,fRotY:l,fRotZ:c,fScaleX:u,fScaleY:p,fScaleZ:g,materialColor1:f,materialColor2:E}},qd=(e,t,a,n,r,i,s,o,l,c,u,p,g,f,E)=>samp.callNative("SetPlayerAttachedObject","iiiifffffffffii",e,t,a,n,r,i,s,o,l,c,u,p,g,P(f),P(E)),ec=(e,t)=>samp.callNative("RemovePlayerAttachedObject","ii",e,t),tc=(e,t)=>!!samp.callNative("IsPlayerAttachedObjectSlotUsed","ii",e,t),Ne=e=>!!samp.callNative("IsValidCustomModel","i",e),ac=e=>{if(!Ne(e))return null;const[t,a]=samp.callNative("GetCustomModePath","iSiSi",e,255,255);return{dffPath:t,txdPath:a}};var be=(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))(be||{}),Re=(e=>(e[e.SCOREBOARD=0]="SCOREBOARD",e))(Re||{}),ce=(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))(ce||{}),Le=(e=>(e[e.CANCEL=0]="CANCEL",e[e.FINAL=1]="FINAL",e[e.UPDATE=2]="UPDATE",e))(Le||{}),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||{}),T=(e=>(e[e.NO_TEAM=255]="NO_TEAM",e[e.PLAYER_ID=65535]="PLAYER_ID",e[e.VEHICLE_ID=65535]="VEHICLE_ID",e[e.ACTOR_ID=65535]="ACTOR_ID",e[e.OBJECT_ID=65535]="OBJECT_ID",e[e.MENU=-1]="MENU",e[e.TEXT_DRAW=65535]="TEXT_DRAW",e[e.PLAYER_TEXT_DRAW=65535]="PLAYER_TEXT_DRAW",e[e.GANG_ZONE=-1]="GANG_ZONE",e[e._3DTEXT_ID=65535]="_3DTEXT_ID",e[e.PLAYER_3DTEXT_ID=65535]="PLAYER_3DTEXT_ID",e))(T||{}),Oe=(e=>(e[e.NONE=0]="NONE",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))(Oe||{}),G=(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))(G||{}),Ge=(e=>(e[e.OFF=0]="OFF",e[e.GLOBAL=1]="GLOBAL",e[e.STREAMED=2]="STREAMED",e))(Ge||{}),Fe=(e=>(e[e.NONE=1]="NONE",e[e.DRIVER=2]="DRIVER",e[e.ONFOOT=3]="ONFOOT",e))(Fe||{}),F=(e=>(e[e.none=0]="none",e[e.start=1]="start",e[e.pause=2]="pause",e))(F||{}),Be=(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))(Be||{}),ke=(e=>(e[e.LEFT=0]="LEFT",e[e.CENTER=1]="CENTER",e[e.RIGHT=2]="RIGHT",e))(ke||{}),Me=(e=>(e[e.GLOBAL_OBJECT=1]="GLOBAL_OBJECT",e[e.PLAYER_OBJECT=2]="PLAYER_OBJECT",e))(Me||{}),xe=(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))(xe||{}),He=(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))(He||{}),ae=(e=>(e[e.MOVE=1]="MOVE",e[e.CUT=2]="CUT",e))(ae||{}),Ve=(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))(Ve||{}),oe=(e=>(e[e.NORMAL=1]="NORMAL",e[e.FIXED=2]="FIXED",e[e.SIDE=3]="SIDE",e))(oe||{}),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||{}),Ue=(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))(Ue||{}),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||{}),Ke=(e=>(e[e.UNKNOWN=-1]="UNKNOWN",e[e.NONE=0]="NONE",e[e.ALL=1]="ALL",e[e.OTHER=2]="OTHER",e))(Ke||{}),_e=(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))(_e||{}),ne=(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))(ne||{}),je=(e=>(e[e.LEFT=1]="LEFT",e[e.CENTER=2]="CENTER",e[e.RIGHT=3]="RIGHT",e))(je||{}),Ze=(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))(Ze||{}),Xe=(e=>(e[e.UNSET=-1]="UNSET",e[e.OFF=0]="OFF",e[e.ON=1]="ON",e))(Xe||{}),Ye=(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))(Ye||{}),ze=(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))(ze||{}),$e=(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))($e||{}),Je=(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))(Je||{}),Qe=(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))(Qe||{}),he=(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))(he||{}),qe=(e=>(e[e.NONE=0]="NONE",e[e.DRIVER=1]="DRIVER",e[e.ONFOOT=2]="ONFOOT",e))(qe||{});class B{constructor(){throw new Error("This is a static class and cannot be instantiated.")}static recordStatus;static connect=ha;static startRecordingPlayerData(t,a,n){if(t.isRecording)throw new Error("[NpcFunc]: It should be stopped before recording");qr(t.id,a,n),t.isRecording=!0}static stopRecordingPlayerData(t){if(!t.isRecording)throw new Error("[NpcFunc]: It should be started before stop");ei(t.id),t.isRecording=!1}static startRecordingPlayback(t,a){if(B.recordStatus>=F.start)throw new Error("[NpcFunc]: The current status cannot be replayed");wi(t,a),B.recordStatus=F.start}static stopRecordingPlayback(){if(B.recordStatus<F.start)throw new Error("[NpcFunc]: The current status cannot be stopped");Ni(),B.recordStatus=F.none}static pauseRecordingPlayback(){if(B.recordStatus!==F.start)throw new Error("[NpcFunc]: The current status cannot be paused");bi(),B.recordStatus=F.pause}static resumeRecordingPlayback(){if(B.recordStatus!==F.pause)throw new Error("[NpcFunc]: The current status cannot be paused");Ri(),B.recordStatus=F.start}}const et=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}]]]),ue=e=>{const t=et.get(e);return t===void 0?!1:t},me=(e,t)=>{const a=ue(e);if(a)return t==="null"?!0:a.some(n=>n.n===t)},nc=(e,t)=>{const a=ue(e);if(a)return a.find(n=>n.n===t)?.d},j=(e,t)=>{const a=t.replace("-","")==="utf8"?e:I.encodeToBuf(e,t);return[a instanceof Array?"a":"s",a]},tt=(e,t,a)=>{const n=j(a,e.charset);return samp.callNative("SendClientMessage",`ii${n[0]}`,e.id,P(t),n[1])},rc=(e,t,a)=>(e.forEach(n=>tt(n,t,a)),1),at=(e,t,a)=>{const n=j(a,e.charset);return samp.callNative("SendPlayerMessageToPlayer",`ii${n[0]}`,e.id,t,n[1])},ic=(e,t,a)=>(e.forEach(n=>{at(n,t,a)}),1),sc=(e,t,a)=>{const{charset:n}=e,{style:r,caption:i,info:s,button1:o,button2:l}=a,[c,u]=j(i||"",n),[,p]=j(s||"",n),[,g]=j(o||"",n),[,f]=j(l||"",n);return samp.callNative("ShowPlayerDialog",`iii${c.repeat(4)}`,e.id,t,r,u,p,g,f)},oc=e=>{const[t]=samp.callNative("GetPlayerName","iAi",e.id,G.MAX_PLAYER_NAME);return I.decodeFromBuf(I.getValidStr(t),e.charset)},lc=(e,t)=>samp.callNative("SetPlayerName","ia",e.id,I.encodeToBuf(t,e.charset)),dc=(e,t,a)=>{const n=I.encodeToBuf(t,a);return samp.callNative("BanEx","ia",e,n)},cc=(e,t="utf8")=>{const[a,n]=j(e,t);return samp.callNative("SendRconCommand",a,n)},_c=(e,t,a,n,r,i,s,o,l,c,u,p,g,f,E,R)=>{const O=I.encodeToBuf(t,e);return samp.callNative("CreateDynamic3DTextLabel","aiffffiiiiiifii",O,a,n,r,i,s,o,l,c,u,p,g,f,E,R)},hc=(e,t,a,n,r,i,s,o,l,c,u,p,g,f,E,R)=>{const O=I.encodeToBuf(e,R);return samp.callNative("CreateDynamic3DTextLabelEx","aiffffiiifaaaaiiiii",O,t,a,n,r,i,s,o,l,c,u,p,g,f,E,u.length,p.length,g.length,f.length)},uc=(e,t,a,n)=>{const r=I.encodeToBuf(a,n);return samp.callNative("UpdateDynamic3DTextLabelText","iia",e,t,r)},mc=(e,t)=>{const[a]=samp.callNative("GetDynamic3DTextLabelText","iAi",e,1024);return I.decodeFromBuf(I.getValidStr(a),t)},pc=(e,t,a,n,r,i,s,o,l,c,u)=>{const p=I.encodeToBuf(n,e),g=I.encodeToBuf(i,e);return samp.callNative("SetDynamicObjectMaterialText","iiaiaiiiii",t,a,p,r,g,s,o,l,c,u)},gc=(e,t,a)=>{const[n,r,i,s,o,l,c]=samp.callNative("GetDynamicObjectMaterialText","iiAIAIIIIIii",e,t,2048,32),u=I.decodeFromBuf(n,a),p=I.decodeFromBuf(i,a);return{text:u,materialSize:r,fontFace:p,bold:s,fontColor:o,backColor:l,textAlignment:c}},Sc=[8,9,10,25,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,96,97,98],yc=[[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],[],[],[],[],[],[],[],[]],fc=(e,t)=>{if(!pe(e))return!1;const a=yc[e-400];if(a===null)return!1;const n=t-1e3;return Sc.includes(n)||a.includes(n)},pe=e=>e>=400&&e<=611,Pc=(e,t)=>{if(t<0||t>2)return!1;const a=new Map([[483,0],[534,2],[535,2],[536,2],[558,2],[559,2],[560,2],[561,2],[562,2],[565,2],[567,2],[575,1],[576,2]]).get(e);return a===void 0?!1:t<=a};class A{static vehicles=new Map;static createdCount=0;sourceInfo;isStatic;_id=-1;get id(){return this._id}constructor(t,a=!1){this.sourceInfo=t,this.isStatic=a}create(t=!1){if(this.id!==-1)throw new Error("[Vehicle]: Unable to create the vehicle again");if(A.createdCount===G.MAX_VEHICLES)throw new Error("[Vehicle]: Unable to continue to create vehicle, maximum allowable quantity has been reached");const{modelId:a,x:n,y:r,z:i,zAngle:s,color:o,respawnDelay:l,addSiren:c}=this.sourceInfo;if(!(!t&&!pe(a))){if(this.isStatic){if(l===void 0){this._id=eo(a,n,r,i,s,o[0],o[1]);return}this._id=to(a,n,r,i,s,o[0],o[1],l||-1,c||!1)}else this._id=_s(a,n,r,i,s,o[0],o[1],l||-1,c||!1);A.createdCount++,A.vehicles.set(this._id,this)}}destroy(){if(this.id===-1)throw new Error("[Vehicle]: Unable to destroy the vehicle before create");hs(this.id),A.createdCount--,A.vehicles.delete(this._id),this._id=-1}addComponent(t){if(this.id===-1)return 0;if(!fc(this.getModel(),t))throw new Error(`[Vehicle]: Invalid component id ${t} attempted to attach to the vehicle ${this}`);return Ls(this.id,t)}removeComponent(t){if(this.getComponentInSlot(A.getComponentType(t))===0)throw new Error(`[Vehicle]: component id ${t} does not exist on this vehicle`);return vs(this.id,t)}getComponentInSlot(t){return Ws(this.id,t)}linkToInterior(t){return this.id===-1?0:Rs(this.id,t)}setVirtualWorld(t){return this.id===-1?0:Qs(this.id,t)}getVirtualWorld(){return this.id===-1?0:qs(this.id)}repair(){return this.id===-1?0:js(this.id)}setPos(t,a,n){return this.id===-1?0:ps(this.id,t,a,n)}getPos(){if(this.id===-1)throw new Error("[Vehicle]: Unable to getPos before create");return ms(this.id)}getHealth(){return this.id===-1?0:Bs(this.id)}setHealth(t){return this.id===-1?0:Fs(this.id,t)}isPlayerIn(t){return this.id===-1?!1:ri(t.id,this.id)}putPlayerIn(t,a){if(this.id===-1||a<0)return 0;if(a>4)throw new Error("[Vehicle]: If the seat is invalid or is taken, will cause a crash when they EXIT the vehicle.");return Br(t.id,this.id,a)}getZAngle(){return this.id===-1?0:gs(this.id)}setZAngle(t){return this.id===-1?0:fs(this.id,t)}setNumberPlate(t){if(this.id===-1)return 0;if(t.length<1||t.length>32)throw new Error("[Vehicle]: The length of the number plate ranges from 32 characters");if(!/^[a-zA-Z0-9]+$/.test(t))throw new Error("[Vehicle]: number plates only allow letters and numbers");return Vs(this.id,t)}changeColors(t,a){return this.id===-1?0:Os(this.id,t,a)}setVelocity(t,a,n){return this.id===-1?!1:Xs(this.id,t,a,n)}getVelocity(){if(this.id===-1)throw new Error("[Vehicle]: Unable to getVelocity before create");const[t,a,n]=Zs(this.id);return{x:t,y:a,z:n}}getSpeed(t=180){if(this.id===-1)return 0;const{x:a,y:n,z:r}=this.getVelocity();return de(a,n,r)*t}setAngularVelocity(t,a,n){return this.id===-1?0:Ys(this.id,t,a,n)}getDamageStatus(){if(this.id!==-1)return zs(this.id)}updateDamageStatus(t,a,n,r){this.id!==-1&&$s(this.id,t,a,n,r)}getDistanceFromPoint(t,a,n){return ys(this.id,t,a,n)}getModel(){return Us(this.id)}static getModelInfo(t,a){return Js(t,a)}getModelInfo(t){if(this.id===-1)throw new Error("[Vehicle]: Unable to getModelInfo before create");return A.getModelInfo(this.getModel(),t)}getRotationQuat(){if(this.id===-1)return;const[t,a,n,r]=Ss(this.id);return{w:t,x:a,y:n,z:r}}setRespawn(){return this.id===-1?0:bs(this.id)}isStreamedIn(t){return this.id===-1?!1:us(this.id,t.id)}setParamsCarDoors(t,a,n,r){return this.id===-1?0:Ts(this.id,t,a,n,r)}setParamsCarWindows(t,a,n,r){return this.id===-1?0:ws(this.id,t,a,n,r)}getParamsCarDoors(){if(this.id!==-1)return Ds(this.id)}getParamsCarWindows(){if(this.id!==-1)return Ns(this.id)}setParamsEx(t,a,n,r,i,s,o){return this.id===-1?0:Es(this.id,t,a,n,r,i,s,o)}getParamsEx(){if(this.id===-1)return{engine:-1,lights:-1,alarm:-1,doors:-1,bonnet:-1,boot:-1,objective:-1};const[t,a,n,r,i,s,o]=As(this.id);return{engine:t,lights:a,alarm:n,doors:r,bonnet:i,boot:s,objective:o}}toggleEngine(t){if(this.id===-1)return 0;const{lights:a,alarm:n,doors:r,bonnet:i,boot:s,objective:o}=this.getParamsEx();return this.setParamsEx(t,a,n,r,i,s,o)}toggleLights(t){if(this.id===-1)return 0;const{engine:a,alarm:n,doors:r,bonnet:i,boot:s,objective:o}=this.getParamsEx();return this.setParamsEx(a,t,n,r,i,s,o)}toggleAlarm(t){if(this.id===-1)return 0;const{engine:a,lights:n,doors:r,bonnet:i,boot:s,objective:o}=this.getParamsEx();return this.setParamsEx(a,n,t,r,i,s,o)}toggleDoors(t){if(this.id===-1)return 0;const{engine:a,lights:n,alarm:r,bonnet:i,boot:s,objective:o}=this.getParamsEx();return this.setParamsEx(a,n,r,t,i,s,o)}toggleBonnet(t){if(this.id===-1)return 0;const{engine:a,lights:n,alarm:r,doors:i,boot:s,objective:o}=this.getParamsEx();return this.setParamsEx(a,n,r,i,t,s,o)}toggleBoot(t){if(this.id===-1)return 0;const{engine:a,lights:n,alarm:r,doors:i,bonnet:s,objective:o}=this.getParamsEx();return this.setParamsEx(a,n,r,i,s,t,o)}toggleObjective(t){if(this.id===-1)return 0;const{engine:a,lights:n,alarm:r,doors:i,bonnet:s,boot:o}=this.getParamsEx();return this.setParamsEx(a,n,r,i,s,o,t)}getParamsSirenState(){return this.id===-1?-2:Cs(this.id)}setParamsForPlayer(t,a,n){return this.id===-1?0:Ps(this.id,t.id,a,n)}isTrailerAttached(){return this.id===-1?!1:xs(this.id)}changePaintjob(t){return this.id===-1||!Pc(this.getModel(),t)?0:(this.changeColors("#fff","#fff"),Gs(this.id,t),1)}attachTrailer(t){return this.id===-1?0:ks(t.id,this.id)}detachTrailer(){this.id!==-1&&this.isTrailerAttached()&&Ms(this.id)}getTrailer(){if(this.id!==-1)return A.getInstances().find(t=>t.id===Hs(this.id))}isValid(){return De(this.id)}getMatrix(){if(this.id!==-1)return ds(this.id)}getTrainSpeed(){return this.id===-1?0:ls(this.id)}getHydraReactorAngle(){return this.id===-1?0:os(this.id)}getLandingGearState(){return this.id===-1?0:ss(this.id)}getSirenState(){return this.id===-1?0:is(this.id)}getDriver(t){if(this.id!==-1)return t.get(ns(this.id))}getLastDriver(t){if(this.id!==-1)return t.get(as(this.id))}isSirenEnabled(){return es(this.id)}toggleSirenEnabled(t){return this.id===-1?0:Qi(this.id,t)}setParamsSirenState(t){return this.id===-1?0:qi(this.id,t)}isDead(){return this.id===-1?!0:zi(this.id)}setDead(t){return this.id===-1?!1:$i(this.id,t)}setBeenOccupied(t){return this.id===-1?!1:Ji(this.id,t)}getRespawnTick(){return this.id===-1?0:Xi(this.id)}setRespawnTick(t){return this.id===-1?!1:Yi(this.id,t)}isOccupied(){return this.id===-1?!1:Zi(this.id)}hasBeenOccupied(){return this.id===-1?!1:ji(this.id)}getOccupiedTick(){return this.id===-1?0:Wi(this.id)}setOccupiedTick(t){return this.id===-1?0:Ki(this.id,t)}getCab(){return this.id===-1?0:Ui(this.id)}getRespawnDelay(){return this.id===-1?0:Vi(this.id)}setRespawnDelay(t){return this.id===-1?0:Hi(this.id,t)}getNumberPlate(){return this.id===-1?"":xi(this.id)}getInterior(){return this.id===-1?0:Mi(this.id)}getPaintjob(){return this.id===-1?-1:ki(this.id)}getColors(){if(this.id!==-1)return Bi(this.id)}setSpawnInfo(t,a,n,r,i,s,o,l=-2,c=-2,u=!1){return this.id===-1||!u&&!pe(t)?0:Fi(this.id,t,a,n,r,i,P(s),P(o),l,c)}getSpawnInfo(){if(this.id!==-1)return Gi(this.id)}getRandomColorPair(){if(this.id!==-1)return Te(this.getModel())}show(){return this.id===-1?!1:ao(this.id)}hide(){return this.id===-1?!1:no(this.id)}isHidden(){return this.id===-1?!1:ro(this.id)}getVehicleOccupant(t){return _o(this.id,t)}getVehicleMaxPassengers(){return we(this.getModel())}countVehicleOccupants(){return ho(this.getModel())}static getVehicleMaxPassengers=we;static getRandomColorPair=Te;static getComponentType=Ks;static colorIndexToColor=cs;static isValid=De;static getModelsUsed=rs;static getModelCount=ts;static getInstance(t){return this.vehicles.get(t)}static getInstances(){return[...this.vehicles.values()]}}const[nt]=h({name:"OnClientCheckResponse",beforeEach(e,t,a,n){return{player:m.getInstance(e),actionId:t,memAddr:a,data:n}}}),[Ic,Ec]=h({name:"OnPlayerLocaleChange",isNative:!1,beforeEach(e,t,a){return{player:e,newLocale:t,oldLocale:a}}}),[Ac,Cc]=h({name:"OnPlayerCharsetChange",isNative:!1,beforeEach(e,t,a){return{player:e,newCharset:t,oldCharset:a}}});class m{constructor(t){this.id=t;const a=m.getInstance(t);if(a)return a}static players=new Map;static MAX_CHECK_ANDROID_DELAY=10;static SKIP_CHECK_ANDROID=!1;_charset="ISO-8859-1";_locale="en_US";_isAndroid=!0;lastDrunkLevel=0;lastFps=0;lastUpdateTick=0;lastUpdateFpsTick=0;isPaused=!1;isRecording=!1;get charset(){return this._charset}set charset(t){const a=this._charset;this._charset=t,Cc(this,t,a)}get locale(){return this._locale}set locale(t){const a=this._locale;this._locale=t,Ec(this,t,a)}sendClientMessage(t,a){return tt(this,t,a)}static sendClientMessageToAll(t,a){rc(m.getInstances(),t,a)}sendMessageToPlayer(t,a){return at(t,this.id,a)}sendMessageToAll(t){return ic(m.getInstances(),this.id,t)}isNpc(){return bn(this.id)}getFps(){return this.lastFps}getDrunkLevel(){return Jn(this.id)}setDrunkLevel(t){if(t<0||t>5e4)throw new Error("[Player]: player's drunk level ranges from 0 to 50000");return Qn(this.id,t)}allowTeleport(t){return In(this.id,t)}isTeleportAllowed(){return En(this.id)}enableCameraTarget(t){return Si(this.id,t)}enableStuntBonus(t){return $r(this.id,t)}getInterior(){return Mn(this.id)}setInterior(t){return kn(this.id,t)}showNameTag(t,a){return ci(this.id,t.id,a)}setColor(t){return qn(this.id,t)}getColor(){return er(this.id)}setMarker(t,a){li(this.id,t.id,a)}getMarker(t){return di(this.id,t.id)}resetMoney(){return lr(this.id)}getMoney(){return dr(this.id)}giveMoney(t){return or(this.id,t)}resetWeapons(){return rr(this.id)}spawn(){return this.isSpectating()?(this.toggleSpectating(!1),1):Da(this.id)}setHealth(t){return xn(this.id,t)}getHealth(){return Hn(this.id)}toggleClock(t){return gr(this.id,t)}toggleControllable(t){return Hr(this.id,t)}toggleSpectating(t){return ti(this.id,t)}spectatePlayer(t,a=oe.NORMAL){return ai(this.id,t.id,a)}spectateVehicle(t,a=oe.NORMAL){return ni(this.id,t.id,a)}forceClassSelection(){return yr(this.id)}kick(){return xa(this.id)}ban(){return Ha(this.id)}banEx(t,a){return dc(this.id,t,a)}isAdmin(){return ka(this.id)}isInRangeOfPoint(t,a,n,r){return Gn(this.id,t,a,n,r)}isStreamedIn(t){return Bn(this.id,t.id)}setSkin(t,a=!1){return!a&&(t<0||t>311||t===74)||this.getHealth()<=0||this.isInAnyVehicle()||this.getSpecialAction()===_e.DUCK?!1:tr(this.id,t)}getSkin(){return ar(this.id)}isInAnyVehicle(){return ii(this.id)}getSpecialAction(){return jr(this.id)}setSpecialAction(t){return Zr(this.id,t)}setScore(t){return zn(this.id,t)}getScore(){return $n(this.id)}getPing(){return _r(this.id)||0}setPos(t,a,n){return Ae(this.id,t,a,n)}getPos(){if(this.isSpectating()||this.isWasted()||this.getState()===J.NONE)return;const[t,a,n]=Ln(this.id);return{x:t,y:a,z:n}}isSpectating(){return this.getState()===J.SPECTATING}isWasted(){return this.getState()===J.WASTED}getState(){return cr(this.id)}getVersion(){return this.isNpc()?"":Ja(this.id)}setVirtualWorld(t){return Yr(this.id,t)}getVirtualWorld(){return zr(this.id)}removeFromVehicle(){return xr(this.id)}setWantedLevel(t){if(t<0||t>6)throw new Error("[Player]: player's wanted level ranges from 0 to 6");return fr(this.id,t)}getWantedLevel(){return Pr(this.id)}setFacingAngle(t){return vn(this.id,t)}getFacingAngle(){return On(this.id)}setWeather(t){if(t<0||t>255)throw new Error("[Player]: The valid weather value is only 0 to 255");return Sr(this.id,t)}getWeather(){return tn(this.id)}setTime(t,a){if(t<0||t>23)throw new Error("[Player]: The valid hour value is only 0 to 23");if(a<0||a>59)throw new Error("[Player]: The valid minute value is only 0 to 59");return mr(this.id,t,a)}getTime(){const[t,a]=pr(this.id);return{hour:t,minute:a}}removeBuilding(t,a,n,r,i){return Or(this.id,t,a,n,r,i)}setTeam(t){t<0||t>T.NO_TEAM||Xn(this.id,t)}getTeam(){return Yn(this.id)}setSkillLevel(t,a){if(a<0||a>999)throw new Error("[Player]: The valid skill level is only 0 to 999");return br(this.id,t,a)}getName(){return oc(this)}setName(t){return lc(this,t)}setVelocity(t,a,n){return Ar(this.id,t,a,n)}getVelocity(){const[t,a,n]=Cr(this.id);return{x:t,y:a,z:n}}getSpeed(t=180){if(this.id===-1)return 0;const{x:a,y:n,z:r}=this.getVelocity();return de(a,n,r)*t}getKeys(){const[t,a,n]=ur(this.id);return{keys:t,upDown:a,leftRight:n}}getIp(){return $a(this.id)}getFightingStyle(){return Er(this.id)}setFightingStyle(t){return Ir(this.id,t)}setArmour(t){return Vn(this.id,t)}getArmour(){return Un(this.id)}setCameraBehind(){return ui(this.id)}setCameraPos(t,a,n){return _i(this.id,t,a,n)}setCameraLookAt(t,a,n,r=ae.CUT){return hi(this.id,t,a,n,r)}getCameraAspectRatio(){return Pi(this.id)}getCameraFrontVector(){const[t,a,n]=pi(this.id);return{x:t,y:a,z:n}}getCameraMode(){return gi(this.id)}getCameraPos(){const[t,a,n]=mi(this.id);return{x:t,y:a,z:n}}getCameraTargetPlayer(){const t=fi(this.id);return m.getInstances().find(a=>a.id===t)}getCameraTargetVehicle(){const t=yi(this.id);return A.getInstances().find(a=>a.id===t)}getCameraZoom(){return Ii(this.id)}playAudioStream(t,a=0,n=0,r=0,i=5){let s=!1;return(a!==0||n!==0||r!==0)&&(s=!0),Dr(this.id,t,a,n,r,i,s)}stopAudioStream(){return wr(this.id)}playSound(t,a=0,n=0,r=0){return Vr(this.id,t,a,n,r)}static getMaxPlayers(){return Yt()}playCrimeReport(t,a){if(a<3||a>22)throw new Error("[Player]: Available crime ids range from 3 to 22");return Tr(this.id,t.id,a)}interpolateCameraPos(t,a,n,r,i,s,o,l=ae.CUT){return Ei(this.id,t,a,n,r,i,s,o,l)}interpolateCameraLookAt(t,a,n,r,i,s,o,l=ae.CUT){return Ai(this.id,t,a,n,r,i,s,o,l)}createExplosion(t,a,n,r,i){if(r<0||r>13)throw new Error("[Player]: The valid explosion type value is only 0 to 13");return Qr(this.id,t,a,n,r,i)}static isConnected(t){return Ce(t)}isConnected(){return Ce(this.id)}disableRemoteVehicleCollisions(t){return Xr(this.id,t)}getVehicle(){if(!this.isInAnyVehicle())return;const t=kr(this.id);return A.getInstances().find(a=>a.id===t)}getVehicleSeat(){return Mr(this.id)}getSurfingVehicle(){const t=Rr(this.id);if(t!==T.VEHICLE_ID)return A.getInstances().find(a=>a.id===t)}applyAnimation(t,a,n=4.1,r=!1,i=!0,s=!0,o=!1,l=0,c=!1){if(!me(t,a))throw new Error("[Player]: Invalid anim library or name");return Ur(this.id,t,a,n,r,i,s,o,l,+c)}clearAnimations(t=!1){return Wr(this.id,t)}getAnimationIndex(){return Kr(this.id)}getAnimationName(t=this.getAnimationIndex()){const[a,n]=ma(t);return{index:t,animLib:a,animName:n}}setShopName(t){return Nr(this.id,t)}setPosFindZ(t,a,n=150){return new Promise(r=>{Ae(this.id,t,a,n),setTimeout(()=>r(Rn(this.id,t,a,n)))})}setWorldBounds(t,a,n,r){return si(this.id,t,a,n,r)}clearWorldBounds(){return oi(this.id)}setChatBubble(t,a,n,r){return Fr(this.id,t,a,n,r)}getDistanceFromPoint(t,a,n){return Fn(this.id,t,a,n)}getCustomSkin(){return Jr(this.id)}getTargetPlayer(){const t=Zn(this.id);if(t!==T.PLAYER_ID)return m.getInstances().find(a=>a.id===t)}getLastShotVectors(){const[t,a,n,r,i,s]=Gr(this.id);return{fOriginX:t,fOriginY:a,fOriginZ:n,fHitPosX:r,fHitPosY:i,fHitPosZ:s}}getWeapon(){return hr(this.id)}getWeaponData(t){if(t<0||t>12)throw new Error("[Player]: weapon slots range from 0 to 12");const[a,n]=sr(this.id,t);return{weapons:a,ammo:n}}getWeaponState(){return jn(this.id)}giveWeapon(t,a){return nr(this.id,t,a)}setAmmo(t,a){return Wn(this.id,t,a)}getAmmo(){return Kn(this.id)}setArmedWeapon(t){return ir(this.id,t)}clearDeathMessage(){for(let t=0;t<5;t++)this.sendDeathMessageToPlayer(T.PLAYER_ID,T.PLAYER_ID,he.CONNECT)}sendDeathMessage(t,a){return Xt(t===T.PLAYER_ID?t:t.id,this.id,a)}sendDeathMessageToPlayer(t,a,n){return wn(this.id,t===T.PLAYER_ID?t:t.id,a===T.PLAYER_ID?a:a.id,n)}setSpawnInfo(t,a,n,r,i,s,o,l,c,u,p,g){return t<0||t>T.NO_TEAM||a<0||a>311||a===74||l<0||u<0||g<0?!1:Ta(this.id,t,a,n,r,i,s,o,l,c,u,p,g)}redirectDownload(t){return zd(this.id,t)}sendClientCheck(t,a,n,r){const i=[2,5,69,70,71,72];if(!i.includes(t))throw new Error(`[Player]: sendClientCheck valid types are ${i.toString()}`);return 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 l="[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:f,actionId:E,memAddr:R,data:O,next:te})=>(f!==this||(p&&(clearTimeout(p),p=null),s({actionId:E,memAddr:R,data:O})),te()));p=setTimeout(()=>{g(),o(l)},u),Za(this.id,t,a,n,r)})}selectTextDraw(t){td(this.id,t)}cancelSelectTextDraw(){ad(this.id)}beginObjectSelecting(){return Kd(this.id)}endObjectEditing(){return jd(this.id)}getSurfingObject(t){const a=Lr(this.id);if(a!==T.OBJECT_ID)return t.get(a)}getSurfingPlayerObject(t){const a=vr(this.id);if(a!==T.OBJECT_ID)return t.get(a)}isAttachedObjectSlotUsed(t){return tc(this.id,t)}editAttachedObject(t){return Wd(this.id,t)}setAttachedObject(t,a,n,r=0,i=0,s=0,o=0,l=0,c=0,u=1,p=1,g=1,f=0,E=0){return this.isAttachedObjectSlotUsed(t)?0:qd(this.id,t,a,n,r,i,s,o,l,c,u,p,g,f,E)}removeAttachedObject(t){return this.isAttachedObjectSlotUsed(t)?ec(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 Qa(this.id,t)}isWidescreenToggled(){return qa(this.id)}getSpawnInfo(){return wa(this.id)}getSkillLevel(t){return en(this.id,t)}isCheckpointActive(){return uo(this.id)}getCheckpoint(){return mo(this.id)}isRaceCheckpointActive(){return po(this.id)}getRaceCheckpoint(){return go(this.id)}getWorldBounds(){an(this.id)}isInModShop(){return io(this.id)}getSirenState(){return so(this.id)}getLandingGearState(){return oo(this.id)}getHydraReactorAngle(){return lo(this.id)}getTrainSpeed(){return co(this.id)}getZAim(){return nn(this.id)}getSurfingOffsets(){return rn(this.id)}getRotationQuat(){return sn(this.id)}getDialogID(){return on(this.id)}getSpectateID(){return ln(this.id)}getSpectateType(){return dn(this.id)}getRawIp(){return za(this.id)}setGravity(t){return cn(this.id,t)}getGravity(){return _n(this.id)}setAdmin(t){return Ma(this.id,t)}isSpawned(){return hn(this.id)}isControllable(){return un(this.id)}isCameraTargetEnabled(){return mn(this.id)}toggleGhostMode(t){return pn(this.id,t)}getGhostMode(){return gn(this.id)}getBuildingsRemoved(){return Sn(this.id)}getAttachedObject(t){return Qd(this.id,t)}removeWeapon(t){return yn(this.id,t)}isUsingOfficialClient(){return Pn(this.id)}allowWeapons(t){return An(this.id,t)}areWeaponsAllowed(){return Cn(this.id)}gpci(t=this.charset){return ja(this.id,t)}isCuffed(){return Ci(this.id)}isInDriveByMode(){return Ti(this.id)}isAndroid(){return this.isConnected()&&this._isAndroid}isPC(){return this.isConnected()&&!this._isAndroid}isUsingOmp(){return Di(this.id)}static getInstance(t){return this.players.get(t)}static getInstances(){return[...this.players.values()]}}const[rt]=h({name:"OnDialogResponseI18n",identifier:"iiiiai",beforeEach(e,t,a,n,r){return{player:m.getInstance(e),dialogId:t,response:a,listItem:n,buffer:r}}});rt(({next:e,player:t,dialogId:a,response:n,listItem:r,buffer:i})=>{const s=D.waitingQueue.get(t);return!s||s.showId!==a||setTimeout(()=>s.resolve({response:n,listItem:r,buffer:i})),e()});class D{id=-1;static showingIds=[];static maxDialogId=32767;dialog;static waitingQueue=new WeakMap;constructor(t={style:ce.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 r=D.showingIds.indexOf(n.showId);return r>-1&&D.showingIds.splice(r,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.maxDialogId;)this.id=Math.floor(Math.random()*(D.maxDialogId+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}),sc(t,this.id,this.dialog)}).then(a=>{const{response:n,listItem:r}=a,i=I.decodeFromBuf(a.buffer,t.charset);return Promise.resolve({response:n,listItem:r,inputText:i})}).catch(a=>Promise.reject(a)).finally(()=>D.delDialogTask(t))}static close(t){D.delDialogTask(t,!0),fn(t.id)}}const[it]=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)}}),[ot]=h({name:"OnPlayerUpdate",beforeEach(e){return{player:m.getInstance(e)}}}),[Tc]=h({name:"OnPlayerTextI18n",identifier:"iai",beforeEach(e,t){const a=m.getInstance(e);return{player:a,text:I.decodeFromBuf(t,a.charset),buffer:t}}}),[Dc]=h({name:"OnPlayerEnterExitModShop",beforeEach(e,t,a){return{player:m.getInstance(e),enterExit:!!t,interior:a}}}),[wc]=h({name:"OnPlayerClickMap",beforeEach(e,t,a,n){return{player:m.getInstance(e),fX:t,fY:a,fZ:n}}}),[Nc]=h({name:"OnPlayerClickPlayer",beforeEach(e,t,a){return{player:m.getInstance(e),clickedPlayer:m.getInstance(t),source:a}}}),[bc]=h({name:"OnPlayerDeath",beforeEach(e,t,a){return{player:m.getInstance(e),killer:m.getInstance(t)||T.PLAYER_ID,reason:a}}}),[Rc]=h({name:"OnPlayerGiveDamage",beforeEach(e,t,a,n,r){return{player:m.getInstance(e),damage:m.getInstance(t),amount:a,weapon:n,bodyPart:r}}}),[Lc]=h({name:"OnPlayerKeyStateChange",beforeEach(e,t,a){return{player:m.getInstance(e),newKeys:t,oldKeys:a}}}),[vc]=h({name:"OnPlayerRequestClass",beforeEach(e,t){return{player:m.getInstance(e),classId:t}}}),[Oc]=h({name:"OnPlayerRequestSpawn",beforeEach(e){return{player:m.getInstance(e)}}}),[Gc]=h({name:"OnPlayerSpawn",beforeEach(e){return{player:m.getInstance(e)}}}),[Fc]=h({name:"OnPlayerStateChange",beforeEach(e,t,a){return{player:m.getInstance(e),newState:t,oldState:a}}}),[Bc]=h({name:"OnPlayerSteamIn",beforeEach(e,t){return{player:m.getInstance(e),forPlayer:m.getInstance(t)}}}),[kc]=h({name:"OnPlayerSteamOut",beforeEach(e,t){return{player:m.getInstance(e),forPlayer:m.getInstance(t)}}}),[Mc]=h({name:"OnPlayerTakeDamage",beforeEach(e,t,a,n,r){return{player:m.getInstance(e),damage:m.getInstance(t)||T.PLAYER_ID,amount:a,weapon:n,bodyPart:r}}}),[xc]=h({name:"OnPlayerInteriorChange",beforeEach(e,t,a){return{player:m.getInstance(e),newInteriorId:t,oldInteriorId:a}}}),[Hc]=h({name:"OnPlayerRequestDownload",beforeEach(e,t,a){return{player:m.getInstance(e),type:t,crc:a}}}),[Vc]=h({name:"OnPlayerFinishedDownloading",beforeEach(e,t){return{player:m.getInstance(e),virtualWorld:t}}}),[Uc]=h({name:"OnPlayerWeaponShot",beforeEach(e,t,a,n,r,i,s){return{player:m.getInstance(e),weapon:t,hitType:a,hitId:n,fX:r,fY:i,fZ:s}}});let re=null;const V=new Map,ge=new Map;function lt(e){if(!e.isConnected()){V.has(e)&&clearInterval(V.get(e));return}let t=ge.get(e)||1;if(t>=m.MAX_CHECK_ANDROID_DELAY){clearInterval(V.get(e)),Se(e,!0);return}e.sendClientCheck(72,0,0,2).then(({actionId:a})=>{a===72&&(e._isAndroid=!1,V.has(e)&&clearInterval(V.get(e)),Se(e,!1))}).catch(()=>{}),t++,ge.set(e,t)}const[Wc,Kc]=h({name:"OnPlayerPause",isNative:!1,beforeEach(e,t){return{player:e,pausedAt:t}}}),[jc,Zc]=h({name:"OnPlayerResume",isNative:!1,beforeEach(e,t,a,n){return{player:e,pausedAt:t,now:a,diff:n}}}),[Xc,Yc]=h({name:"OnPlayerFpsUpdate",isNative:!1,beforeEach(e,t,a){return{player:e,newFps:t,oldFps:a}}}),[zc,Se]=h({name:"OnAndroidCheck",isNative:!1,beforeEach(e,t){return{player:e,result:t}}});it(({player:e,next:t})=>{if(!re&&m.getInstances().length&&(re=setInterval(()=>{m.getInstances().filter(n=>{const r=n.getState()!==J.NONE;return!n.isPaused&&!n.isNpc()&&r}).forEach(n=>{Date.now()-n.lastUpdateTick>1e3&&(n.isPaused=!0,Kc(n,n.lastUpdateTick))})},500)),e.isNpc())return e._isAndroid=!1,t();if(m.SKIP_CHECK_ANDROID)return e._isAndroid=!e.isUsingOfficialClient(),Se(e,e._isAndroid),t();lt(e);const a=setInterval(()=>lt(e),1e3);return V.set(e,a),t()}),st(({player:e,next:t})=>(re&&m.getInstances().length<=1&&(clearInterval(re),re=null),V.has(e)&&(clearInterval(V.get(e)),V.delete(e),ge.delete(e)),t()));function $c(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;const n=e.lastFps,r=e.lastDrunkLevel-a-1;e.lastFps=r,e.lastDrunkLevel=a,Yc(e,r,n)}}ot(({player:e,next:t})=>{if(!e.isNpc()){const a=Date.now();e.isPaused&&(e.isPaused=!1,Zc(e,e.lastUpdateTick,a,a-e.lastUpdateTick)),e.lastUpdateTick=a,$c(e)}return t()});const Q=new Map,q=new Map,dt=/[^/\s]+/gi,ie={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"},RECEIVED_THROW:{code:4,msg:"An event registered through onCommandReceived throw an error"},RECEIVED_REJECTED:{code:5,msg:"An event registered through onCommandReceived returned false"}},[Jc,Qc]=h({name:"OnCommandReceived",isNative:!1,throwOnError:!0,beforeEach(e,t,a,n,r,i,s,o,l){return{player:e,command:t,cmdText:a,buffer:n,strictMainCmd:r,noStrictMainCmd:i,hasStrict:s,hasNoStrict:o,subcommand:l}}}),[qc,e_]=h({name:"OnCommandPerformed",isNative:!1,beforeEach(e,t,a,n,r,i,s,o,l){return{player:e,command:t,cmdText:a,buffer:n,strictMainCmd:r,noStrictMainCmd:i,hasStrict:s,hasNoStrict:o,subcommand:l}}}),[t_,se]=h({name:"OnCommandError",isNative:!1,defaultValue:!1,beforeEach(e,t,a,n,r,i,s,o,l,c){return{player:e,error:t,command:a,cmdText:n,buffer:r,strictMainCmd:i,noStrictMainCmd:s,hasStrict:o,hasNoStrict:l,subcommand:c}}}),[a_]=h({name:"OnPlayerCommandTextI18n",identifier:"iai",beforeEach(e,t){const a=m.getInstance(e),n=I.decodeFromBuf(t,a.charset);return{player:a,buffer:t,cmdText:n}}});function n_(e){const t=[];let a="";for(let n=0;n<e.length;n++)a+=e[n]+" ",t.push(a.trimEnd());return t.reverse()}a_(({player:e,buffer:t,cmdText:a,next:n})=>{const r=a.match(dt),i=n_(r),s=i.find(E=>Q.has(E)),o=i.map(E=>E.toLowerCase()).find(E=>q.has(E)),l=!!s,c=!!o,u=r.join(" ");let p=[];const g=[[s,Q,!0],[o,q,!1]],f=[u,a,t,s,o,l,c,p];if(l||c){const E=g[0][0]||g[1][0];p=u.replace(E,"").trim().split(" ")}else return se(e,ie.NOT_EXIST,...f);try{if(!Qc(e,...f))return se(e,ie.RECEIVED_REJECTED,...f)}catch(E){return se(e,{...ie.RECEIVED_THROW,error:E},...f)}for(const[E,R,O]of g){if(!E)continue;const te=R.get(E),[,ht]=te;if(!ht(e,E,p,a,t,O))return se(e,ie.REJECTED,...f)}return e_(e,u,a,t,s,o,l,c,p)?n():se(e,ie.PERFORMED,...f)});function r_(e,t,a,n,r,i){return{player:e,mainCommand:t,subcommand:a,cmdText:n,buffer:r,isStrict:i}}class x{static caseSensitive=!1;constructor(){}static on(t,a){let n=x.caseSensitive,r,i;typeof t=="string"||t instanceof Array?(r=t,i=a):(r=t.command,i=t.run,typeof t.caseSensitive<"u"&&(n=t.caseSensitive));const s=Array.isArray(r)?r:[r],o=s.find(u=>!u.match(dt));if(o)return console.log(`error command ${o} format`),()=>{};const l=n?Q:q,c=s.map(u=>{const p=u.replaceAll("/",""),g=n?p:p.toLowerCase();if(!l.has(g)){const E=h({name:n?"$"+g:g,isNative:!1,beforeEach:r_});l.set(g,E)}const[f]=l.get(g);return[g,f(i)]});return()=>{c.forEach(u=>{const[p,g]=u;g()===0&&l.delete(p)})}}static off(t){(Array.isArray(t)?t:[t]).forEach(a=>{let n=a.replaceAll("/","");Q.has(n)&&(v.has(n)&&v.delete(n),Q.has(n)&&Q.delete(n)),n=n.toLowerCase(),q.has(n)&&(v.has(n)&&v.delete(n),q.has(n)&&q.delete(n))})}static enableCaseSensitive(){x.caseSensitive=!0}static disableCaseSensitive(){x.caseSensitive=!1}static isCaseSensitive(){return x.caseSensitive}}const ye=Object.freeze({onConnect:it,onDisconnect:st,onPause:Wc,onResume:jc,onUpdate:ot,onText:Tc,onEnterExitModShop:Dc,onClickMap:wc,onClickPlayer:Nc,onDeath:bc,onGiveDamage:Rc,onKeyStateChange:Lc,onRequestClass:vc,onRequestSpawn:Oc,onSpawn:Gc,onStateChange:Fc,onStreamIn:Bc,onStreamOut:kc,onTakeDamage:Mc,onInteriorChange:xc,onRequestDownload:Hc,onFinishedDownloading:Vc,onCheckResponse:nt,onCommandReceived:Jc,onCommandPerformed:qc,onCommandError:t_,onCommandText:x.on,offCommandText:x.off,onDialogResponse:rt,onLocaleChange:Ic,onCharsetChange:Ac,onFpsUpdate:Xc,onWeaponShot:Uc,onAndroidCheck:zc}),[ct]=h({name:"OnGameModeInit"}),[_t]=h({name:"OnGameModeExit"}),[i_]=h({name:"OnIncomingConnection",beforeEach(e,t,a){return{playerId:e,ipAddress:t,port:a}}}),[s_]=h({name:"OnRconCommandI18n",identifier:"ai",beforeEach(e){return{buffer:e,cmd:I.decodeFromBuf(e)}}}),[o_]=h({name:"OnRconLoginAttemptI18n",identifier:"aiaii",beforeEach(e,t,a){return{ip:I.decodeFromBuf(e),password:I.decodeFromBuf(t),success:!!a,ipBuffer:e,passwordBuffer:t}}}),Z=[],ee=[],fe=new Map,Pe=async e=>{try{return await new Promise((t,a)=>{const n=Z.findIndex(o=>o.name===e);if(n===-1)return;const r=Z[n];function i(o){o.length&&fe.set(e,o),Z.splice(n,1),ee.push(r),setTimeout(t)}const s=r.load();s instanceof Promise?s.then(i).catch(a):i(s)})}catch(t){throw new Error(`[GameMode]: script ${e} load fail
|
|
3
|
-
err:${t}`)}},
|
|
4
|
-
${t}`)}},l_=async e=>{await Ie(e),await Pe(e)};ct(async({next:e})=>{const t=Z.map(a=>a.name);for(const a of t)await Pe(a);return e()}),_t(async({next:e})=>{const t=ee.map(a=>a.name);for(const a of t)await Ie(a);return e()});const d_=function(e,...t){if(Z.some(a=>a.name===e.name)||ee.some(a=>a.name===e.name))throw new Error(`[GameMode]: script ${e.name} has already been applied`);e.load=e.load.bind(e,...t),Z.push(e)};class N{constructor(){throw new Error("This is a static class and cannot be instantiated.")}static onInit=ct;static onExit=_t;static onIncomingConnection=i_;static onRconCommand=s_;static onRconLoginAttempt=o_;static use(t,...a){return d_(t,...a),this}static loadUseScript=Pe;static reloadUseScript=l_;static unloadUseScript=Ie;static enableCmdCaseSensitive=x.enableCaseSensitive;static disableCmdCaseSensitive=x.disableCaseSensitive;static isCmdCaseSensitive=x.isCaseSensitive;static supportAllNickname(){for(let t=0;t<=255;t++)this.isNickNameCharacterAllowed(t)||this.allowNickNameCharacter(t,!0)}static setWeather(t){if(t<0||t>255)throw new Error("[GameMode]: The valid weather value is only 0 to 255");return ta(t)}static setWorldTime(t){if(t<0||t>23)throw new Error("[GameMode]: The valid hour value is only 0 to 23");return Qt(t)}static getWorldTime=qt;static setTeamCount=Ea;static sendRconCommand=cc;static addPlayerClass=Aa;static addPlayerClassEx=Ca;static createExplosion(t,a,n,r,i){if(r<0||r>13)throw new Error("[GameMode]: The valid explosion type value is only 0 to 13");return ra(t,a,n,r,i)}static manualVehicleEngineAndLights=Is;static blockIpAddress=Wa;static unBlockIpAddress=Ka;static getServerTickRate=ua;static addSimpleModel(t,a,n,r,i){return this.checkSimpleModel(t,a,n,r,i)?Xd(t,a,n,r,i):0}static addSimpleModelTimed(t,a,n,r,i,s,o){return this.checkSimpleModel(t,a,n,r,i,s,o)?Yd(t,a,n,r,i,s,o):0}static checkSimpleModel(t,a,n,r,i,s,o){if(t<-1)throw new Error("[GameMode]: AddSimpleModel - Error virtual world");if(a<0)throw new Error("[GameMode]: AddSimpleModel - Error baseId");if(n>-1e3||n<-3e4)throw new Error("[GameMode]: AddSimpleModel - Error newId range");if(r.trim().length<0)throw new Error("[GameMode]: AddSimpleModel - Empty dffName");if(i.trim().length<0)throw new Error("[GameMode]: AddSimpleModel - Empty txdName");if(s!==void 0&&(s<0||s>23))throw new Error("[GameMode]: AddSimpleModel - Error time on range");if(o!==void 0&&(o<0||o>23))throw new Error("[GameMode]: AddSimpleModel - Error time off range");return 1}static isValidCustomModel=Ne;static getCustomModePath=ac;static getConsoleVarAsString(t,a="utf8"){const n=kt(t);return I.decodeFromBuf(I.getValidStr(n),a)}static getRestartTime=Kt;static setRestartTime=Wt;static allowAdminTeleport=Lt;static isAdminTeleportAllowed=vt;static allowInteriorWeapons=Ot;static areInteriorWeaponsAllowed=Gt;static areAllAnimationsEnabled=Ft;static enableAllAnimations=Bt;static enableStuntBonusForAll=pa;static enableVehicleFriendlyFire=ea;static enableZoneNames=ia;static disableInteriorEnterExits=oa;static setGameModeText=zt;static getGravity=aa;static setGravity=na;static showNameTags=$t;static disableNameTagLOS=da;static usePlayerPedAnims=sa;static showPlayerMarkers=Jt;static limitPlayerMarkerRadius=_a;static limitGlobalChatRadius=ca;static setNameTagDrawDistance=la;static findModelFileNameFromCRC=$d;static findTextureFileNameFromCRC=Jd;static getWeaponName=fa;static setObjectsDefaultCameraCollision=Zd;static vectorSize=de;static clearBanList=Xa;static isBanned=Ya;static isValidNickName=Ct;static allowNickNameCharacter=Tt;static isNickNameCharacterAllowed=Dt;static addServerRule=wt;static setServerRule=Nt;static isValidServerRule=bt;static removeServerRule=Rt;static getWeaponSlot=ya;static getAvailableClasses=Ee;static getPlayerClass=Pa;static editPlayerClass=Ia;static toggleChatTextReplacement=ga;static chatTextReplacementToggled=Sa;static getConsoleVarAsInt=Mt;static getConsoleVarAsBool=xt;static getWeather=Ht;static getServerRuleFlag=Vt;static setServerRuleFlags=Ut}N.onExit(({next:e})=>(A.getInstances().forEach(t=>t.destroy()),e()));const[c_]=h({name:"OnVehicleDamageStatusUpdate",beforeEach(e,t){return{vehicle:A.getInstance(e),player:m.getInstance(t)}}}),[__]=h({name:"OnVehicleDeath",beforeEach(e,t){return{vehicle:A.getInstance(e),killer:m.getInstance(t)}}}),[h_]=h({name:"OnVehicleMod",beforeEach(e,t,a){return{player:m.getInstance(e),vehicle:A.getInstance(t),componentId:a}}}),[u_]=h({name:"OnVehiclePaintjob",beforeEach(e,t,a){return{player:m.getInstance(e),vehicle:A.getInstance(t),paintjobId:a}}}),[m_]=h({name:"OnVehicleRespray",beforeEach(e,t,a,n){return{player:m.getInstance(e),vehicle:A.getInstance(t),color:[a,n]}}}),[p_]=h({name:"OnVehicleSirenStateChange",beforeEach(e,t,a){return{player:m.getInstance(e),vehicle:A.getInstance(t),state:!!a}}}),[g_]=h({name:"OnVehicleSpawn",beforeEach(e){return{vehicle:A.getInstance(e)}}}),[S_]=h({name:"OnVehicleStreamIn",beforeEach(e,t){return{vehicle:A.getInstance(e),forPlayer:m.getInstance(t)}}}),[y_]=h({name:"OnVehicleStreamOut",beforeEach(e,t){return{vehicle:A.getInstance(e),forPlayer:m.getInstance(t)}}}),[f_]=h({name:"OnPlayerEnterVehicle",beforeEach(e,t,a){return{player:m.getInstance(e),vehicle:A.getInstance(t),isPassenger:!!a}}}),[P_]=h({name:"OnPlayerExitVehicle",beforeEach(e,t){return{player:m.getInstance(e),vehicle:A.getInstance(t)}}}),[I_]=h({name:"OnNpcEnterVehicle",beforeEach(e,t){return{vehicle:A.getInstance(e),seatId:t}}}),[E_]=h({name:"OnNpcExitVehicle"}),[A_]=h({name:"OnTrailerUpdate",beforeEach(e,t){return{player:m.getInstance(e),vehicle:A.getInstance(t)}}}),[C_]=h({name:"OnUnoccupiedVehicleUpdate",beforeEach(e,t,a,n,r,i,s,o,l){return{vehicle:A.getInstance(e),player:m.getInstance(t),passengerSeat:a,newX:n,newY:r,newZ:i,velX:s,velY:o,velZ:l}}}),T_=Object.freeze({onDamageStatusUpdate:c_,onDeath:__,onMod:h_,onPaintjob:u_,onRespray:m_,onSirenStateChange:p_,onSpawn:g_,onStreamIn:S_,onStreamOut:y_,onPlayerEnter:f_,onPlayerExit:P_,onNpcEnter:I_,onNpcExit:E_,onTrailerUpdate:A_,onUnoccupiedUpdate:C_});class D_{constructor(){throw new Error("This is a static class and cannot be instantiated.")}static getNetworkStats(){return Ua()}static getPlayerNetworkStats(t){return Va(t.id)}static getBytesReceived(t){return Ra(t.id)}static getBytesSent(t){return va(t.id)}static getConnectionStatus(t){return Fa(t.id)}static getConnectedTime(t){return Na(t.id)}static getIpPort(t){return Ba(t.id)}static getMessagesReceived(t){return ba(t.id)}static getMessagesRecvPerSecond(t){return Oa(t.id)}static getMessagesSent(t){return La(t.id)}static getPacketLossPercent(t){return Ga(t.id)}}class w_{_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){Zt(t)}static has(t,a){return Dn(t.id,a)}forAll(t="win1252"){jt(I.encodeToBuf(I.convertSpecialChar(this.text),t),this.time,this.style)}forPlayer(t,a="win1252"){Tn(t.id,I.encodeToBuf(I.convertSpecialChar(this.text),a),this.time,this.style)}hideForPlayer(t){return Nn(t.id,this.style)}}class ${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)throw new Error("[Menu]: The menu column number interval is between 1 and 2");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,r,i,s){this._title=t,this.columns=a,this._x=n,this._y=r,this._col1width=i,this._col2width=s}create(){if(this._id!==-1)throw new Error("[Menu]: Cannot be created twice");if($.getInstances().length===G.MAX_MENUS)throw new Error("[Menu]: The maximum number of menus allowed to be created has been reached 128");return this._id=Co(this.title,this.columns,this.x,this.y,this.col1width,this.col2width),$.menus.set(this._id,this),this}destroy(){if(this._id===-1)throw new Error("[Menu]: Cannot destroy before create");return To(this.id),$.menus.delete(this._id),this._id=-1,this}addItem(t,a){if(this._id===-1)throw new Error("[Menu]: Cannot addItem before create");if(this._itemCount===G.MAX_MENU_ROW)throw new Error("[Menu]: The maximum number of items allowed to be added has been reached 12");if(t!==0&&t!==1)throw new Error("[Menu]: Wrong number of columns");return Do(this.id,t,a),this._itemCount++,this}setColumnHeader(t,a){if(this._id===-1)throw new Error("[Menu]: Cannot setColumnHeader before create");if(t!==0&&t!==1)throw new Error("[Menu]: Wrong number of columns");return wo(this.id,t,a),this}disable(){if(this._id===-1)throw new Error("[Menu]: Cannot disable menu before create");return Lo(this.id),this}disableRow(t){if(this._id===-1)throw new Error("[Menu]: Cannot disable row before create");if(t<0||t>this.itemCount-1)throw new Error("[Menu]: Wrong number of rows");vo(this.id,t)}isValid(){return Ro(this.id)}showForPlayer(t){if(this._id===-1)throw new Error("[Menu]: Cannot show menu before create");return No(this.id,t.id)}hideForPlayer(t){if(this._id===-1)throw new Error("[Menu]: Cannot hide menu before create");return bo(this.id,t.id)}isDisabled(){return this._id===-1?!1:So(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:fo(this.id,t)}getPos(){return this._id===-1?{fX:this.x,fY:this.y}:Po(this.id)}getColumnWidth(){return this.id===-1?{fColumn1:this.col1width,fColumn2:this.col2width}:Io(this.id)}getColumnHeader(t){if(this._id===-1)throw new Error("[Menu]: Cannot get column header before create");return Eo(this.id,t)}getItem(t,a){if(this._id===-1)throw new Error("[Menu]: Cannot get item before create");if(a<0||a>this.getItems(t)-1)throw new Error("[Menu]: invalid getItem range");return Ao(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===Oo(t.id))}}N.onExit(({next:e})=>($.getInstances().forEach(t=>t.destroy()),e()));const[N_]=h({name:"OnPlayerExitedMenu",beforeEach(e){return{player:m.getInstance(e)}}}),[b_]=h({name:"OnPlayerSelectedMenuRow",beforeEach(e,t){const a=m.getInstance(e),n=$.getInstanceByPlayer(a);return{player:a,menu:n,row:t}}}),R_=Object.freeze({onPlayerExited:N_,onPlayerSelectedRow:b_});class w{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)throw new Error("[GangZone]: Unable to create the gangzone again");const{player:t}=this.sourceInfo;if(t){if(w.getInstances(!1).length===G.MAX_GANG_ZONES)throw new Error("[GangZone]: Unable to continue to create gangzone, maximum allowable quantity has been reached");const{minX:a,minY:n,maxX:r,maxY:i}=this.sourceInfo;this._id=Qo(t.id,a,n,r,i);const s=ye.onDisconnect(({player:o,next:l})=>{l(),o===this.sourceInfo.player&&(this.destroy(),s())});w.playerGangZones.set(this.id,this)}else{if(w.getInstances(!0).length===G.MAX_GANG_ZONES)throw new Error("[GangZone]: Unable to continue to create gangzone, maximum allowable quantity has been reached");const{minX:a,minY:n,maxX:r,maxY:i}=this.sourceInfo;this._id=Uo(a,n,r,i),w.globalGangZones.set(this.id,this)}}destroy(){if(this.id===-1)throw new Error("[GangZone]: Unable to destroy the gangzone before create");const{player:t}=this.sourceInfo;t?(qo(t.id,this.id),w.playerGangZones.delete(this.id)):(Wo(this.id),w.globalGangZones.delete(this.id)),this._id=-1}showForAll(t){if(this.id===-1)throw new Error("[GangZone]: Unable to show the gangzone before create");if(!this.sourceInfo.player)return jo(this.id,t),this;throw new Error("[GangZone]: player's gangzone should not be show for all.")}showForPlayer(t,a){if(this.id===-1)throw new Error("[GangZone]: Unable to show the gangzone before create");const n=this.sourceInfo.player;if(n)el(n.id,this.id,P(t));else if(a)Ko(a.id,this.id,t);else throw new Error("[GangZone]: invalid player for show");return this}hideForAll(){if(this.id===-1)throw new Error("[GangZone]: Unable to hide the gangzone before create");if(!this.sourceInfo.player)return Xo(this.id),this;throw new Error("[GangZone]: player's gangzone should not be hide for all.")}hideForPlayer(t){if(this.id===-1)throw new Error("[GangZone]: Unable to hide the gangzone before create");const a=this.sourceInfo.player;if(a)tl(a.id,this.id);else if(t)Zo(t.id,this.id);else throw new Error("[GangZone]: invalid player for hide");return this}flashForAll(t){if(this.id===-1)throw new Error("[GangZone]: Unable to flash the gangzone before create");if(!this.sourceInfo.player)return zo(this.id,t),this;throw new Error("[GangZone]: player's gangzone should not be flash for all.")}flashForPlayer(t,a){if(this.id===-1)throw new Error("[GangZone]: Unable to flash the gangzone before create");const n=this.sourceInfo.player;if(n)al(n.id,this.id,P(a));else if(t)Yo(t.id,this.id,a);else throw new Error("[GangZone]: invalid player for flash");return this}stopFlashForAll(){if(this.id===-1)throw new Error("[GangZone]: Unable to stop flash the gangzone before create");if(!this.sourceInfo.player)return Jo(this.id),this;throw new Error("[GangZone]: player's gangzone should not be stop flash for all.")}stopFlashForPlayer(t){if(this.id===-1)throw new Error("[GangZone]: Unable to stop flash the gangzone before create");const a=this.sourceInfo.player;if(a)nl(a.id,this.id);else if(t)$o(t.id,this.id);else throw new Error("[GangZone]: invalid player for flash");return this}isValid(){if(this.id===-1)return!1;const t=this.sourceInfo.player;return t?rl(t.id,this.id):Go(this.id)}isPlayerIn(t){if(this.id===-1)return!1;const a=this.sourceInfo.player;return a?il(a.id,this.id):Fo(t.id,this.id)}isVisibleForPlayer(t){if(this.id===-1)return!1;const a=this.sourceInfo.player;return a?sl(a.id,this.id):Bo(t.id,this.id)}getColorForPlayer(t){if(this.id===-1)throw new Error("[GangZone]: Unable to get color before create");const a=this.sourceInfo.player;return a?ol(a.id,this.id):ko(t.id,this.id)}getFlashColorForPlayer(t){if(this.id===-1)throw new Error("[GangZone]: Unable to get flash color before create");const a=this.sourceInfo.player;return a?ll(a.id,this.id):Mo(t.id,this.id)}isFlashingForPlayer(t){if(this.id===-1)return!1;const a=this.sourceInfo.player;return a?dl(a.id,this.id):xo(t.id,this.id)}getPos(){if(this.id===-1)throw new Error("[GangZone]: Unable to get position before create");const t=this.sourceInfo.player;return t?cl(t.id,this.id):Ho(this.id)}useCheck(t){if(this.id===-1)throw new Error("[GangZone]: Unable to use check before create");const a=this.sourceInfo.player;return a?_l(a.id,this.id,t):Vo(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()]}}N.onExit(({next:e})=>(w.getInstances(!0).forEach(t=>t.destroy()),w.getInstances(!1).forEach(t=>t.destroy()),e()));const[L_]=h({name:"OnPlayerEnterGangZone",beforeEach(e,t){return{player:m.getInstance(e),gangZone:w.getInstance(t,!0)}}}),[v_]=h({name:"OnPlayerLeaveGangZone",beforeEach(e,t){return{player:m.getInstance(e),gangZone:w.getInstance(t,!0)}}}),[O_]=h({name:"OnPlayerEnterPlayerGangZone",beforeEach(e,t){return{player:m.getInstance(e),gangZone:w.getInstance(t,!1)}}}),[G_]=h({name:"OnPlayerLeavePlayerGangZone",beforeEach(e,t){return{player:m.getInstance(e),gangZone:w.getInstance(t,!1)}}}),[F_]=h({name:"OnPlayerClickGangZone",beforeEach(e,t){return{player:m.getInstance(e),gangZone:w.getInstance(t,!0)}}}),[B_]=h({name:"OnPlayerClickPlayerGangZone",beforeEach(e,t){return{player:m.getInstance(e),gangZone:w.getInstance(t,!1)}}}),k_=Object.freeze({onPlayerEnterGlobal:L_,onPlayerLeaveGlobal:v_,onPlayerEnterPlayer:O_,onPlayerLeavePlayer:G_,onPlayerClickGlobal:F_,onPlayerClickPlayer:B_}),C={skip:!1};N.onInit(({next:e})=>(C.skip=!1,e())),N.onExit(({next:e})=>(C.skip=!0,e()));const[X]=h({name:"Streamer_OnItemStreamIn",identifier:"iii",beforeEach(e,t,a){return{type:e,id:t,forPlayer:m.getInstance(a)}}}),[Y]=h({name:"Streamer_OnItemStreamOut",identifier:"iii",beforeEach(e,t,a){return{type:e,id:t,forPlayer:m.getInstance(a)}}}),[M_]=h({name:"Streamer_OnPluginError",identifier:"s",beforeEach(e){return{error:e}}});class S{constructor(){throw new Error("This is a static class and cannot be instantiated.")}static getTickRate=d.Streamer_GetTickRate;static setTickRate=d.Streamer_SetTickRate;static getPlayerTickRate(t){return d.Streamer_GetPlayerTickRate(t.id)}static setPlayerTickRate(t,a=50){return d.Streamer_SetPlayerTickRate(t.id,a)}static toggleChunkStream=d.Streamer_ToggleChunkStream;static isToggleChunkStream=d.Streamer_IsToggleChunkStream;static getChunkTickRate(t,a=-1){return a instanceof m?d.Streamer_GetChunkTickRate(t,a.id):d.Streamer_GetChunkTickRate(t,a)}static setChunkTickRate(t,a,n=-1){return n instanceof m?d.Streamer_SetChunkTickRate(t,a,n.id):d.Streamer_SetChunkTickRate(t,a,n)}static getChunkSize=d.Streamer_GetChunkSize;static setChunkSize=d.Streamer_SetChunkSize;static getMaxItems=d.Streamer_GetMaxItems;static setMaxItems=d.Streamer_SetMaxItems;static getVisibleItems(t,a=-1){return a instanceof m?d.Streamer_GetVisibleItems(t,a.id):d.Streamer_GetVisibleItems(t,a)}static setVisibleItems(t,a,n=-1){return n instanceof m?d.Streamer_SetVisibleItems(t,a,n.id):d.Streamer_SetVisibleItems(t,a,n)}static getRadiusMultiplier(t,a=-1){return a instanceof m?d.Streamer_GetRadiusMultiplier(t,a.id):d.Streamer_GetRadiusMultiplier(t,a)}static setRadiusMultiplier(t,a,n=-1){return n instanceof m?d.Streamer_SetRadiusMultiplier(t,n.id):d.Streamer_SetRadiusMultiplier(t,a,n)}static getTypePriority=d.Streamer_GetTypePriority;static setTypePriority=d.Streamer_SetTypePriority;static getCellDistance=d.Streamer_GetCellDistance;static setCellDistance=d.Streamer_SetCellDistance;static getCellSize=d.Streamer_GetCellSize;static setCellSize=d.Streamer_SetCellSize;static toggleItemStatic=d.Streamer_ToggleItemStatic;static isToggleItemStatic=d.Streamer_IsToggleItemStatic;static toggleItemInvAreas=d.Streamer_ToggleItemInvAreas;static isToggleItemInvAreas=d.Streamer_IsToggleItemInvAreas;static toggleItemCallbacks=d.Streamer_ToggleItemCallbacks;static isToggleItemCallbacks=d.Streamer_IsToggleItemCallbacks;static toggleErrorCallback=d.Streamer_ToggleErrorCallback;static isToggleErrorCallback=d.Streamer_IsToggleErrorCallback;static amxUnloadDestroyItems=d.Streamer_AmxUnloadDestroyItems;static processActiveItems=d.Streamer_ProcessActiveItems;static toggleIdleUpdate(t,a){return d.Streamer_ToggleIdleUpdate(t.id,a)}static isToggleIdleUpdate(t){return d.Streamer_IsToggleIdleUpdate(t.id)}static toggleCameraUpdate(t,a){return d.Streamer_ToggleCameraUpdate(t.id,a)}static isToggleCameraUpdate(t){return d.Streamer_IsToggleCameraUpdate(t.id)}static toggleItemUpdate(t,a,n){return d.Streamer_ToggleItemUpdate(t.id,a,n)}static isToggleItemUpdate(t,a){return d.Streamer_IsToggleItemUpdate(t.id,a)}static getLastUpdateTime(){return d.Streamer_GetLastUpdateTime()}static update(t,a=-1){return d.Streamer_Update(t.id,a)}static updateEx(t,a,n,r,i,s,o,l,c){return d.Streamer_UpdateEx(t.id,a,n,r,i,s,o,l,c)}static getDistanceToItem=d.Streamer_GetDistanceToItem;static toggleItem(t,a,n,r){return d.Streamer_ToggleItem(t.id,a,n,r)}static isToggleItem(t,a,n){return d.Streamer_IsToggleItem(t.id,a,n)}static toggleAllItems(t,a,n,r=[-1]){return d.Streamer_ToggleAllItems(t.id,a,n,r)}static getItemInternalID(t,a,n){return d.Streamer_GetItemInternalID(t.id,a,n)}static getItemStreamerID(t,a,n){return d.Streamer_GetItemStreamerID(t.id,a,n)}static isItemVisible(t,a,n){return d.Streamer_IsItemVisible(t.id,a,n)}static destroyAllVisibleItems(t,a,n=1){return d.Streamer_DestroyAllVisibleItems(t.id,a,n)}static countVisibleItems(t,a,n=1){return d.Streamer_CountVisibleItems(t.id,a,n)}static destroyAllItems=d.Streamer_DestroyAllItems;static countItems=d.Streamer_CountItems;static getNearbyItems=d.Streamer_GetNearbyItems;static getAllVisibleItems(t,a,n){return d.Streamer_GetAllVisibleItems(t.id,a,n)}static getItemPos=d.Streamer_GetItemPos;static setItemPos=d.Streamer_SetItemPos;static getItemOffset=d.Streamer_GetItemOffset;static setItemOffset=d.Streamer_SetItemOffset;static getFloatData=d.Streamer_GetFloatData;static setFloatData=d.Streamer_SetFloatData;static getIntData=d.Streamer_GetIntData;static setIntData=d.Streamer_SetIntData;static getArrayData=d.Streamer_GetArrayData;static setArrayData=d.Streamer_SetArrayData;static isInArrayData=d.Streamer_IsInArrayData;static appendArrayData=d.Streamer_AppendArrayData;static removeArrayData=d.Streamer_RemoveArrayData;static getArrayDataLength=d.Streamer_GetArrayDataLength;static getUpperBound=d.Streamer_GetUpperBound;static onPluginError=M_}class K{static mapIcons=new Map;sourceInfo;_id=-1;get id(){return this._id}constructor(t){this.sourceInfo=t}create(){if(this.id!==-1)throw new Error("[StreamerMapIcon]: Unable to create map icon again");let{style:t,streamDistance:a,worldId:n,interiorId:r,playerId:i,areaId:s,priority:o}=this.sourceInfo;const{x:l,y:c,z:u,type:p,color:g,extended:f}=this.sourceInfo;if(p<0||p>63)throw new Error("[StreamerMapIcon]: Invalid map icon type");return t??=d.MapIconStyles.LOCAL,a??=d.StreamerDistances.MAP_ICON_SD,o??=0,f?(typeof n=="number"?n=[-1]:n??=[-1],typeof r=="number"?r=[-1]:r??=[-1],typeof i=="number"?i=[-1]:i??=[-1],typeof s=="number"?s=[-1]:s??=[-1],this._id=d.CreateDynamicMapIconEx(l,c,u,p,P(g),t,a,n,r,i,s,o),K.mapIcons.set(this._id,this),this):(Array.isArray(n)?n=-1:n??=-1,Array.isArray(r)?r=-1:r??=-1,Array.isArray(i)?i=-1:i??=-1,Array.isArray(s)?s=-1:s??=-1,this._id=d.CreateDynamicMapIcon(l,c,u,p,P(g),n,r,i,a,t,s,o),K.mapIcons.set(this._id,this),this)}destroy(){if(this.id===-1&&!C.skip)throw new Error("[StreamerMapIcon]: Unable to destroy the map icon before create");return C.skip||d.DestroyDynamicMapIcon(this.id),K.mapIcons.delete(this._id),this._id=-1,this}isValid(){return C.skip&&this.id!==-1?!0:d.IsValidDynamicMapIcon(this.id)}toggleCallbacks(t=!0){if(this.id===-1)throw new Error("[StreamerMapIcon]: Unable to toggle callbacks before create");return S.toggleItemCallbacks(d.StreamerItemTypes.MAP_ICON,this.id,t)}isToggleCallbacks(){return this.id===-1?!1:S.isToggleItemCallbacks(d.StreamerItemTypes.MAP_ICON,this.id)}static togglePlayerUpdate(t,a=!0){return S.toggleItemUpdate(t,d.StreamerItemTypes.MAP_ICON,a)}static hideForPlayer(t,a=-5e4){return S.updateEx(t,0,0,a),this.togglePlayerUpdate(t,!1)}static showForPlayer(t,a=-5e4){const n=t.getPos();return n?S.updateEx(t,n.x,n.y,n.z):S.updateEx(t,0,0,a),this.togglePlayerUpdate(t,!0)}static getInstance(t){return this.mapIcons.get(t)}static getInstances(){return[...this.mapIcons.values()]}}N.onExit(({next:e})=>(K.getInstances().forEach(t=>t.destroy()),e()));const[x_,H_]=h({name:"OnDynamicMapIconStreamIn",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}}),[V_,U_]=h({name:"OnDynamicMapIconStreamOut",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}});X(({type:e,id:t,forPlayer:a,next:n})=>e===d.StreamerItemTypes.MAP_ICON?H_(a,K.getInstance(t)):n()),Y(({type:e,id:t,forPlayer:a,next:n})=>e===d.StreamerItemTypes.MAP_ICON?U_(a,K.getInstance(t)):n());const W_=Object.freeze({onStreamIn:x_,onStreamOut:V_});class W{static pickups=new Map;sourceInfo;_id=-1;get id(){return this._id}constructor(t){this.sourceInfo=t}create(){if(this.id!==-1)throw new Error("[StreamerPickup]: Unable to create pickup again");let{streamDistance:t,worldId:a,interiorId:n,playerId:r,areaId:i,priority:s}=this.sourceInfo;const{type:o,modelId:l,x:c,y:u,z:p,extended:g}=this.sourceInfo;if(o<0)throw new Error("[StreamerPickup]: Invalid pickup type");return t??=_.StreamerDistances.PICKUP_SD,s??=0,g?(typeof a=="number"?a=[-1]:a??=[-1],typeof n=="number"?n=[-1]:n??=[-1],typeof r=="number"?r=[-1]:r??=[-1],typeof i=="number"?i=[-1]:i??=[-1],this._id=_.CreateDynamicPickupEx(l,o,c,u,p,t,a,n,r,i,s)):(Array.isArray(a)?a=-1:a??=-1,Array.isArray(n)?n=-1:n??=-1,Array.isArray(r)?r=-1:r??=-1,Array.isArray(i)?i=-1:i??=-1,this._id=_.CreateDynamicPickup(l,o,c,u,p,a,n,r,t,i,s)),W.pickups.set(this._id,this),this}destroy(){if(this.id===-1&&!C.skip)throw new Error("[StreamerPickup]: Unable to destroy the pickup before create");return C.skip||_.DestroyDynamicPickup(this.id),W.pickups.delete(this.id),this._id=-1,this}isValid(){return C.skip&&this.id!==-1?!0:_.IsValidDynamicPickup(this.id)}toggleCallbacks(t=!0){if(this.id===-1)throw new Error("[StreamerPickup]: Unable to toggle callbacks before create");return S.toggleItemCallbacks(_.StreamerItemTypes.PICKUP,this.id,t)}isToggleCallbacks(){return this.id===-1?!1:S.isToggleItemCallbacks(_.StreamerItemTypes.PICKUP,this.id)}static togglePlayerUpdate(t,a=!0){return S.toggleItemUpdate(t,_.StreamerItemTypes.PICKUP,a)}static hideForPlayer(t,a=-5e4){return S.updateEx(t,0,0,a),this.togglePlayerUpdate(t,!1)}static showForPlayer(t,a=-5e4){const n=t.getPos();return n?S.updateEx(t,n.x,n.y,n.z):S.updateEx(t,0,0,a),this.togglePlayerUpdate(t,!0)}static getInstance(t){return this.pickups.get(t)}static getInstances(){return[...this.pickups.values()]}}N.onExit(({next:e})=>(W.getInstances().forEach(t=>t.destroy()),e()));const[K_,j_]=h({name:"OnDynamicPickupStreamIn",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}}),[Z_,X_]=h({name:"OnDynamicPickupStreamOut",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}});X(({type:e,id:t,forPlayer:a,next:n})=>e===d.StreamerItemTypes.PICKUP?j_(a,W.getInstance(t)):n()),Y(({type:e,id:t,forPlayer:a,next:n})=>e===d.StreamerItemTypes.PICKUP?X_(a,W.getInstance(t)):n());const[Y_]=h({name:"OnPlayerPickUpDynamicPickup",identifier:"ii",beforeEach(e,t){return{player:m.getInstance(e),pickup:W.getInstance(t)}}}),z_=Object.freeze({onPlayerPickUp:Y_,onStreamIn:K_,onStreamOut:Z_});class k{static checkpoints=new Map;sourceInfo;_id=-1;get id(){return this._id}constructor(t){this.sourceInfo=t}create(){if(this.id!==-1)throw new Error("[StreamerCheckpoint]: Unable to create checkpoint again");let{streamDistance:t,worldId:a,interiorId:n,playerId:r,areaId:i,priority:s}=this.sourceInfo;const{size:o,x:l,y:c,z:u,extended:p}=this.sourceInfo;if(o<0)throw new Error("[StreamerCheckpoint]: Invalid checkpoint size");return t??=d.StreamerDistances.CP_SD,s??=0,p?(typeof a=="number"?a=[-1]:a??=[-1],typeof n=="number"?n=[-1]:n??=[-1],typeof r=="number"?r=[-1]:r??=[-1],typeof i=="number"?i=[-1]:i??=[-1],this._id=d.CreateDynamicCPEx(l,c,u,o,t,a,n,r,i,s)):(Array.isArray(a)?a=-1:a??=-1,Array.isArray(n)?n=-1:n??=-1,Array.isArray(r)?r=-1:r??=-1,Array.isArray(i)?i=-1:i??=-1,this._id=d.CreateDynamicCP(l,c,u,o,a,n,r,t,i,s)),k.checkpoints.set(this._id,this),this}destroy(){if(this.id===-1&&!C.skip)throw new Error("[StreamerCheckpoint]: Unable to destroy the checkpoint before create");return C.skip||d.DestroyDynamicCP(this.id),k.checkpoints.delete(this.id),this._id=-1,this}isValid(){return C.skip&&this.id!==-1?!0:d.IsValidDynamicCP(this.id)}togglePlayer(t,a){if(this.id===-1)throw new Error("[StreamerCheckpoint]: Unable to toggle the player before create");return d.TogglePlayerDynamicCP(t.id,this.id,a),this}static togglePlayerAll(t,a){return d.TogglePlayerAllDynamicCPs(t.id,a)}isPlayerIn(t){return this.id===-1?!1:d.IsPlayerInDynamicCP(t.id,this.id)}static getPlayerVisible(t){return k.checkpoints.get(d.GetPlayerVisibleDynamicCP(t.id))}toggleCallbacks(t=!0){if(this.id===-1)throw new Error("[StreamerCheckpoint]: Unable to toggle callbacks before create");return S.toggleItemCallbacks(d.StreamerItemTypes.CP,this.id,t)}isToggleCallbacks(){return this.id===-1?!1:S.isToggleItemCallbacks(d.StreamerItemTypes.CP,this.id)}static togglePlayerUpdate(t,a=!0){return S.toggleItemUpdate(t,d.StreamerItemTypes.CP,a)}static hideForPlayer(t,a=-5e4){return S.updateEx(t,0,0,a),this.togglePlayerUpdate(t,!1)}static showForPlayer(t,a=-5e4){const n=t.getPos();return n?S.updateEx(t,n.x,n.y,n.z):S.updateEx(t,0,0,a),this.togglePlayerUpdate(t,!0)}static getInstance(t){return this.checkpoints.get(t)}static getInstances(){return[...this.checkpoints.values()]}}N.onExit(({next:e})=>(k.checkpoints.forEach(t=>t.destroy()),e()));const[$_,J_]=h({name:"OnDynamicCheckPointStreamIn",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}}),[Q_,q_]=h({name:"OnDynamicCheckPointStreamOut",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}});X(({type:e,id:t,forPlayer:a,next:n})=>e===d.StreamerItemTypes.CP?J_(a,k.getInstance(t)):n()),Y(({type:e,id:t,forPlayer:a,next:n})=>e===d.StreamerItemTypes.CP?q_(a,k.getInstance(t)):n());const[eh]=h({name:"OnPlayerEnterDynamicCP",identifier:"ii",beforeEach(e,t){return{player:m.getInstance(e),cp:k.getInstance(t)}}}),[th]=h({name:"OnPlayerLeaveDynamicCP",identifier:"ii",beforeEach(e,t){return{player:m.getInstance(e),cp:k.getInstance(t)}}}),ah=Object.freeze({onPlayerEnter:eh,onPlayerLeave:th,onStreamIn:$_,onStreamOut:Q_});class M{static checkpoints=new Map;sourceInfo;_id=-1;get id(){return this._id}constructor(t){this.sourceInfo=t}create(){if(this.id!==-1)throw new Error("[StreamerRaceCP]: Unable to create checkpoint again");let{streamDistance:t,worldId:a,interiorId:n,playerId:r,areaId:i,priority:s}=this.sourceInfo;const{type:o,size:l,x:c,y:u,z:p,nextX:g,nextY:f,nextZ:E,extended:R}=this.sourceInfo;if(o<0||o>8)throw new Error("[StreamerRaceCP]: Invalid type");if(l<0)throw new Error("[StreamerRaceCP]: Invalid size");return t??=d.StreamerDistances.RACE_CP_SD,s??=0,R?(typeof a=="number"?a=[-1]:a??=[-1],typeof n=="number"?n=[-1]:n??=[-1],typeof r=="number"?r=[-1]:r??=[-1],typeof i=="number"?i=[-1]:i??=[-1],this._id=d.CreateDynamicRaceCPEx(o,c,u,p,g,f,E,l,t,a,n,r,i,s)):(Array.isArray(a)?a=-1:a??=-1,Array.isArray(n)?n=-1:n??=-1,Array.isArray(r)?r=-1:r??=-1,Array.isArray(i)?i=-1:i??=-1,this._id=d.CreateDynamicRaceCP(o,c,u,p,g,f,E,l,a,n,r,t,i,s)),M.checkpoints.set(this._id,this),this}destroy(){if(this.id===-1&&!C.skip)throw new Error("[StreamerRaceCP]: Unable to destroy the checkpoint before create");return C.skip||d.DestroyDynamicCP(this.id),M.checkpoints.delete(this.id),this._id=-1,this}isValid(){return C.skip&&this.id!==-1?!0:d.IsValidDynamicCP(this.id)}togglePlayer(t,a){if(this.id===-1)throw new Error("[StreamerRaceCP]: Unable to toggle the player before create");return d.TogglePlayerDynamicRaceCP(t.id,this.id,a),this}static togglePlayerAll(t,a){return d.TogglePlayerAllDynamicRaceCPs(t.id,a)}isPlayerIn(t){return this.id===-1?!1:d.IsPlayerInDynamicRaceCP(t.id,this.id)}static getPlayerVisible(t){return M.checkpoints.get(d.GetPlayerVisibleDynamicRaceCP(t.id))}toggleCallbacks(t=!0){if(this.id===-1)throw new Error("[StreamerRaceCP]: Unable to toggle callbacks before create");return S.toggleItemCallbacks(d.StreamerItemTypes.RACE_CP,this.id,t)}isToggleCallbacks(){return this.id===-1?!1:S.isToggleItemCallbacks(d.StreamerItemTypes.RACE_CP,this.id)}static togglePlayerUpdate(t,a=!0){return S.toggleItemUpdate(t,d.StreamerItemTypes.RACE_CP,a)}static hideForPlayer(t,a=-5e4){return S.updateEx(t,0,0,a),this.togglePlayerUpdate(t,!1)}static showForPlayer(t,a=-5e4){const n=t.getPos();return n?S.updateEx(t,n.x,n.y,n.z):S.updateEx(t,0,0,a),this.togglePlayerUpdate(t,!0)}static getInstance(t){return this.checkpoints.get(t)}static getInstances(){return[...this.checkpoints.values()]}}N.onExit(({next:e})=>(M.getInstances().forEach(t=>t.destroy()),e()));const[nh,rh]=h({name:"OnDynamicRaceCPStreamIn",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}}),[ih,sh]=h({name:"OnDynamicRaceCPStreamOut",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}});X(({type:e,id:t,forPlayer:a,next:n})=>e===d.StreamerItemTypes.RACE_CP?rh(a,M.getInstance(t)):n()),Y(({type:e,id:t,forPlayer:a,next:n})=>e===d.StreamerItemTypes.RACE_CP?sh(a,M.getInstance(t)):n());const[oh]=h({name:"OnPlayerEnterDynamicRaceCP",identifier:"ii",beforeEach(e,t){return{player:m.getInstance(e),raceCP:M.getInstance(t)}}}),[lh]=h({name:"OnPlayerLeaveDynamicRaceCP",identifier:"ii",beforeEach(e,t){return{player:m.getInstance(e),raceCp:M.getInstance(t)}}}),dh=Object.freeze({onPlayerEnter:oh,onPlayerLeave:lh,onStreamIn:nh,onStreamOut:ih});class H{static actors=new Map;sourceInfo;_id=-1;get id(){return this._id}constructor(t){this.sourceInfo=t}create(){if(this.id!==-1)throw new Error("[StreamerActor]: Unable to create actor again");let{streamDistance:t,worldId:a,interiorId:n,playerId:r,areaId:i,priority:s}=this.sourceInfo;const{modelId:o,x:l,y:c,z:u,r:p,invulnerable:g,health:f,extended:E}=this.sourceInfo;return t??=_.StreamerDistances.ACTOR_SD,s??=0,E?(typeof a=="number"?a=[0]:a??=[0],typeof n=="number"?n=[-1]:n??=[-1],typeof r=="number"?r=[-1]:r??=[-1],typeof i=="number"?i=[-1]:i??=[-1],this._id=_.CreateDynamicActorEx(o,l,c,u,p,g,f,t,a,n,r,i,s)):(Array.isArray(a)?a=0:a??=0,Array.isArray(n)?n=-1:n??=-1,Array.isArray(r)?r=-1:r??=-1,Array.isArray(i)?i=-1:i??=-1,this._id=_.CreateDynamicActor(o,l,c,u,p,g,f,a,n,r,t,i,s)),H.actors.set(this.id,this),this}destroy(){if(this.id===-1&&!C.skip)throw new Error("[StreamerActor]: Unable to destroy the actor before create");return C.skip||_.DestroyDynamicActor(this.id),H.actors.delete(this.id),this._id=-1,this}isValid(){return C.skip&&this.id!==-1?!0:_.IsValidDynamicActor(this.id)}isStreamedIn(t){return this.id===-1?!1:_.IsDynamicActorStreamedIn(this.id,t.id)}getVirtualWorld(){if(this.id===-1)throw new Error("[StreamerActor]: Unable to get virtual world before create");return _.GetDynamicActorVirtualWorld(this.id)}setVirtualWorld(t){if(this.id===-1)throw new Error("[StreamerActor]: Unable to set virtual world before create");return _.SetDynamicActorVirtualWorld(this.id,t)}applyAnimation(t,a,n=4.1,r=!1,i=!0,s=!0,o=!1,l=0){if(this.id===-1)throw new Error("[StreamerActor]: Unable to apply animation before create");if(!me(t,a))throw new Error("[StreamerActor]: Invalid anim library or name");return _.ApplyDynamicActorAnimation(this.id,t,a,n,r,i,s,o,l)}clearAnimations(){if(this.id===-1)throw new Error("[StreamerActor]: Unable to clear animation before create");return _.ClearDynamicActorAnimations(this.id)}getFacingAngle(){if(this.id===-1)throw new Error("[StreamerActor]: Unable to get facing angle before create");return _.GetDynamicActorFacingAngle(this.id)}setFacingAngle(t){if(this.id===-1)throw new Error("[StreamerActor]: Unable to set facing angle before create");return _.SetDynamicActorFacingAngle(this.id,t)}getPos(){if(this.id===-1)throw new Error("[StreamerActor]: Unable to get pos before create");return _.GetDynamicActorPos(this.id)}setPos(t,a,n){if(this.id===-1)throw new Error("[StreamerActor]: Unable to set pos before create");return _.SetDynamicActorPos(this.id,t,a,n)}getHealth(){if(this.id===-1)throw new Error("[StreamerActor]: Unable to get health before create");return _.GetDynamicActorHealth(this.id)}setHealth(t){if(this.id===-1)throw new Error("[StreamerActor]: Unable to set health before create");return _.SetDynamicActorHealth(this.id,t)}isInvulnerable(){return this.id===-1?!1:_.IsDynamicActorInvulnerable(this.id)}setInvulnerable(t=!0){if(this.id===-1)throw new Error("[StreamerActor]: Unable to set invulnerable before create");return _.SetDynamicActorInvulnerable(this.id,t)}getPlayerTarget(t){if(this.id===-1)return;const a=_.GetPlayerTargetDynamicActor(t.id);return H.actors.get(a)}getPlayerCameraTarget(t){if(this.id===-1)return;const a=_.GetPlayerCameraTargetDynActor(t.id);return H.actors.get(a)}getSkin(){if(this.id===-1)throw new Error("[StreamerActor]: Unable to get skin before create");return Li(this.id)}setSkin(t,a=!1){if(this.id===-1)throw new Error("[StreamerActor]: Unable to set skin before create");return!a&&(t<0||t>311||t===74)?0:vi(this.id,t)}getSpawnInfo(){if(this.id===-1)throw new Error("[StreamerActor]: Unable to get spawn info before create");return Oi(this.id)}getAnimation(){if(this.id===-1)throw new Error("[StreamerActor]: Unable to get animation before create");return _.GetDynamicActorAnimation(this.id)}toggleCallbacks(t=!0){if(this.id===-1)throw new Error("[StreamerActor]: Unable to toggle callbacks before create");return S.toggleItemCallbacks(_.StreamerItemTypes.ACTOR,this.id,t)}isToggleCallbacks(){return this.id===-1?!1:S.isToggleItemCallbacks(_.StreamerItemTypes.ACTOR,this.id)}static togglePlayerUpdate(t,a=!0){return S.toggleItemUpdate(t,_.StreamerItemTypes.ACTOR,a)}static hideForPlayer(t,a=-5e4){return S.updateEx(t,0,0,a),this.togglePlayerUpdate(t,!1)}static showForPlayer(t,a=-5e4){const n=t.getPos();return n?S.updateEx(t,n.x,n.y,n.z):S.updateEx(t,0,0,a),this.togglePlayerUpdate(t,!0)}static getInstance(t){return this.actors.get(t)}static getInstances(){return[...this.actors.values()]}}N.onExit(({next:e})=>(H.getInstances().forEach(t=>t.destroy()),e()));const[ch]=h({name:"OnDynamicActorStreamIn",identifier:"ii",beforeEach(e,t){return{actor:H.getInstance(e),forPlayer:m.getInstance(t)}}}),[_h]=h({name:"OnDynamicActorStreamOut",identifier:"ii",beforeEach(e,t){return{actor:H.getInstance(e),forPlayer:m.getInstance(t)}}}),[hh]=h({name:"OnPlayerGiveDamageDynamicActor",identifier:"iiiii",beforeEach(e,t,a,n,r){return{player:m.getInstance(e),actor:H.getInstance(t),amount:a,weapon:n,bodyPart:r}}}),uh=Object.freeze({onStreamIn:ch,onStreamOut:_h,onPlayerGiveDamage:hh});class z{static texts=new Map;sourceInfo;_id=-1;get id(){return this._id}constructor(t){this.sourceInfo=t}create(){if(this.id!==-1)throw new Error("[Streamer3DTextLabel]: Unable to create again");let{attachedPlayer:t,attachedVehicle:a,testLos:n,streamDistance:r,worldId:i,interiorId:s,playerId:o,areaId:l,priority:c}=this.sourceInfo;const{charset:u,text:p,color:g,drawDistance:f,x:E,y:R,z:O,extended:te}=this.sourceInfo;return t??=T.PLAYER_ID,a??=T.VEHICLE_ID,r??=d.StreamerDistances.TEXT_3D_LABEL_SD,n??=!1,c??=0,te?(typeof i=="number"?i=[-1]:i??=[-1],typeof s=="number"?s=[-1]:s??=[-1],typeof o=="number"?o=[-1]:o??=[-1],typeof l=="number"?l=[-1]:l??=[-1],this._id=hc(p,P(g),E,R,O,f,t,a,n,r,i,s,o,l,c,u||"utf8")):(Array.isArray(i)?i=-1:i??=-1,Array.isArray(s)?s=-1:s??=-1,Array.isArray(o)?o=-1:o??=-1,Array.isArray(l)?l=-1:l??=-1,this._id=_c(u||"utf8",p,P(g),E,R,O,f,t,a,n,i,s,o,r,l,c)),z.texts.set(this.id,this),this}destroy(){if(this.id===-1&&!C.skip)throw new Error("[Streamer3DTextLabel]: Unable to destroy before create");return C.skip||d.DestroyDynamic3DTextLabel(this.id),z.texts.delete(this.id),this._id=-1,this}isValid(){return C.skip&&this.id!==-1?!0:d.IsValidDynamic3DTextLabel(this.id)}getColor(){if(this.id===-1)throw new Error("[Streamer3DTextLabel]: Unable to get color before create");return this.sourceInfo.color}getCharset(){if(this.id===-1)throw new Error("[Streamer3DTextLabel]: Unable to get charset before create");return this.sourceInfo.charset}getText(){if(this.id===-1)throw new Error("[Streamer3DTextLabel]: Unable to get text before create");return mc(this.id,this.sourceInfo.charset||"utf8")}updateText(t,a,n=this.sourceInfo.charset){if(this.id===-1)throw new Error("[Streamer3DTextLabel]: Unable to update text before create");return this.sourceInfo.charset=n,uc(this.id,P(t),a,n||"utf8")}toggleCallbacks(t=!0){if(this.id===-1)throw new Error("[Streamer3DTextLabel]: Unable to toggle callbacks before create");return S.toggleItemCallbacks(d.StreamerItemTypes.TEXT_3D_LABEL,this.id,t)}isToggleCallbacks(){return this.id===-1?!1:S.isToggleItemCallbacks(d.StreamerItemTypes.TEXT_3D_LABEL,this.id)}static togglePlayerUpdate(t,a=!0){return S.toggleItemUpdate(t,d.StreamerItemTypes.TEXT_3D_LABEL,a)}static hideForPlayer(t,a=-5e4){return S.updateEx(t,0,0,a),this.togglePlayerUpdate(t,!1)}static showForPlayer(t,a=-5e4){const n=t.getPos();return n?S.updateEx(t,n.x,n.y,n.z):S.updateEx(t,0,0,a),this.togglePlayerUpdate(t,!0)}static getInstance(t){return this.texts.get(t)}static getInstances(){return[...this.texts.values()]}}N.onExit(({next:e})=>(z.getInstances().forEach(t=>t.destroy()),e()));const[mh,ph]=h({name:"OnDynamic3dTextStreamIn",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}}),[gh,Sh]=h({name:"OnDynamic3dTextStreamOut",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}});X(({type:e,id:t,forPlayer:a,next:n})=>e===d.StreamerItemTypes.TEXT_3D_LABEL?ph(a,z.getInstance(t)):n()),Y(({type:e,id:t,forPlayer:a,next:n})=>e===d.StreamerItemTypes.TEXT_3D_LABEL?Sh(a,z.getInstance(t)):n());const yh=Object.freeze({onStreamIn:mh,onStreamOut:gh});class L{static objects=new Map;sourceInfo;_id=-1;get id(){return this._id}constructor(t){this.sourceInfo=t}create(){if(this.id!==-1)throw new Error("[StreamerObject]: Unable to create object again");let{streamDistance:t,drawDistance:a,worldId:n,interiorId:r,playerId:i,areaId:s,priority:o}=this.sourceInfo;const{modelId:l,x:c,y:u,z:p,rx:g,ry:f,rz:E,extended:R}=this.sourceInfo;return t??=_.StreamerDistances.OBJECT_SD,a??=_.StreamerDistances.OBJECT_DD,o??=0,R?(typeof n=="number"?n=[-1]:n??=[-1],typeof r=="number"?r=[-1]:r??=[-1],typeof i=="number"?i=[-1]:i??=[-1],typeof s=="number"?s=[-1]:s??=[-1],this._id=_.CreateDynamicObjectEx(l,c,u,p,g,f,E,t,a,n,r,i,s,o)):(Array.isArray(n)?n=-1:n??=-1,Array.isArray(r)?r=-1:r??=-1,Array.isArray(i)?i=-1:i??=-1,Array.isArray(s)?s=-1:s??=-1,this._id=_.CreateDynamicObject(l,c,u,p,g,f,E,n,r,i,t,a,s,o)),L.objects.set(this._id,this),this}destroy(){if(this.id===-1&&!C.skip)throw new Error("[StreamerObject]: Unable to destroy the object before create");return C.skip||_.DestroyDynamicObject(this.id),L.objects.delete(this.id),this._id=-1,this}isValid(){return C.skip&&this.id!==-1?!0:_.IsValidDynamicObject(this.id)}getModel(){return this.sourceInfo.modelId}getPos(){if(this.id===-1)throw new Error("[StreamerObject]: Cannot get position before create");return _.GetDynamicObjectPos(this.id)}setPos(t,a,n){if(this.id===-1)throw new Error("[StreamerObject]: Cannot set position before create");return _.SetDynamicObjectPos(this.id,t,a,n)}getRot(){if(this.id===-1)throw new Error("[StreamerObject]: Cannot get rotation before create");return _.GetDynamicObjectRot(this.id)}setRot(t,a,n){if(this.id===-1)throw new Error("[StreamerObject]: Cannot set rotation before create");return _.SetDynamicObjectRot(this.id,t,a,n)}move(t,a,n,r,i=-1e3,s=-1e3,o=-1e3){if(this.id===-1)throw new Error("[StreamerObject]: Cannot start moving before create");if(r<0)throw new Error("[StreamerObject]: speed must not be less than 0");if(r>120*1e3)throw new Error("[StreamerObject]: speed more than 120 seconds, warn if it's not intentional");return this.isMoving()&&this.stop(),_.MoveDynamicObject(this.id,t,a,n,r,i,s,o)}stop(){if(this.id===-1)throw new Error("[StreamerObject]: Cannot stop moving before create");return _.StopDynamicObject(this.id)}isMoving(){return this.id===-1?!1:_.IsDynamicObjectMoving(this.id)}attachCamera(t){if(this.id===-1||t.id===-1)throw new Error("[StreamerObject]: Cannot attachCamera before both are created");return _.AttachCameraToDynamicObject(t.id,this.id)}attachToObject(t,a,n,r,i,s,o,l=!0){if(this.id===-1||t.id===-1)throw new Error("[StreamerObject]: Cannot attachToObject before both are created");return _.AttachDynamicObjectToObject(this.id,t.id,a,n,r,i,s,o,l)}attachToPlayer(t,a,n,r,i,s,o){if(this.id===-1||t.id===-1)throw new Error("[StreamerObject]: Cannot attachToVehicle before both are created");return _.AttachDynamicObjectToPlayer(this.id,t.id,a,n,r,i,s,o)}attachToVehicle(t,a,n,r,i,s,o){if(this.id===-1||t.id===-1)throw new Error("[StreamerObject]: Cannot attachToVehicle before both are created");return _.AttachDynamicObjectToVehicle(this.id,t.id,a,n,r,i,s,o)}edit(t){if(this.id===-1)throw new Error("[StreamerObject]: Unable to edit before create");return 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){if(this.id===-1)throw new Error("[StreamerObject]: Unable to get material before create");return _.GetDynamicObjectMaterial(this.id,t,a,n)}setMaterial(t,a,n,r,i="#000"){if(this.id===-1)throw new Error("[StreamerObject]: Unable to set material before create");return _.SetDynamicObjectMaterial(this.id,t,a,n,r,P(i))}isMaterialTextUsed(t){return this.id===-1?!1:_.IsDynamicObjectMaterialTextUsed(this.id,t)}removeMaterialText(t){return this.isMaterialTextUsed(t)?_.RemoveDynamicObjectMaterialText(this.id,t):0}getMaterialText(t){if(this.id===-1)throw new Error("[StreamerObject]: Unable to get material text before create");return gc(this.id,t,this.sourceInfo.charset||"utf8")}setMaterialText(t=this.sourceInfo.charset,a,n,r=_.MaterialTextSizes.SIZE_256x128,i="Arial",s=24,o=1,l="#fff",c="#000",u=0){if(this.id===-1)throw new Error("[StreamerObject]: Unable to set material text before create");return this.sourceInfo.charset=t,pc(t||"utf8",this.id,a,n,r,i,s,o,P(l),P(c),u)}getPlayerCameraTarget(t){const a=_.GetPlayerCameraTargetDynObject(t.id);if(a!==T.OBJECT_ID)return L.objects.get(a)}toggleCallbacks(t=!0){if(this.id===-1)throw new Error("[StreamerObject]: Unable to toggle callbacks before create");return S.toggleItemCallbacks(_.StreamerItemTypes.OBJECT,this.id,t)}isToggleCallbacks(){return this.id===-1?!1:S.isToggleItemCallbacks(_.StreamerItemTypes.OBJECT,this.id)}setNoCameraCollision(){return _.SetDynamicObjectNoCameraCol(this.id)}getNoCameraCollision(){return _.GetDynamicObjectNoCameraCol(this.id)}static togglePlayerUpdate(t,a=!0){return S.toggleItemUpdate(t,_.StreamerItemTypes.OBJECT,a)}static hideForPlayer(t,a=-5e4){return S.updateEx(t,0,0,a),this.togglePlayerUpdate(t,!1)}static showForPlayer(t,a=-5e4){const n=t.getPos();return n?S.updateEx(t,n.x,n.y,n.z):S.updateEx(t,0,0,a),this.togglePlayerUpdate(t,!0)}static getInstance(t){return this.objects.get(t)}static getInstances(){return[...this.objects.values()]}}N.onExit(({next:e})=>(L.getInstances().forEach(t=>t.destroy()),e()));const[fh,Ph]=h({name:"OnDynamicObjectStreamIn",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}}),[Ih,Eh]=h({name:"OnDynamicObjectStreamOut",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}});X(({type:e,id:t,forPlayer:a,next:n})=>e===d.StreamerItemTypes.OBJECT?Ph(a,L.getInstance(t)):n()),Y(({type:e,id:t,forPlayer:a,next:n})=>e===d.StreamerItemTypes.OBJECT?Eh(a,L.getInstance(t)):n());const[Ah]=h({name:"OnDynamicObjectMoved",identifier:"i",beforeEach(e){return{object:L.getInstance(e)}}}),[Ch]=h({name:"OnPlayerEditDynamicObject",identifier:"iiiiiiiii",beforeEach(e,t,a,n,r,i,s,o,l){return{player:m.getInstance(e),object:L.getInstance(t),response:a,x:n,y:r,z:i,rX:s,rY:o,rZ:l}}}),[Th]=h({name:"OnPlayerSelectDynamicObject",identifier:"iiiiii",beforeEach(e,t,a,n,r,i){return{player:m.getInstance(e),object:L.getInstance(t),modelId:a,x:n,y:r,z:i}}}),[Dh]=h({name:"OnPlayerShootDynamicObject",identifier:"iiiiii",beforeEach(e,t,a,n,r,i){return{player:m.getInstance(e),object:L.getInstance(a),weapon:t,x:n,y:r,z:i}}}),[wh]=h({name:"OnPlayerEditAttachedObject",beforeEach(e,t,a,n,r,i,s,o,l,c,u,p,g,f){return{player:m.getInstance(e),response:t,index:a,modelId:n,boneId:r,fOffsetX:i,fOffsetY:s,fOffsetZ:o,fRotX:l,fRotY:c,fRotZ:u,fScaleX:p,fScaleY:g,fScaleZ:f}}}),Nh=Object.freeze({onMoved:Ah,onPlayerEdit:Ch,onPlayerSelect:Th,onPlayerShoot:Dh,onPlayerEditAttached:wh,onStreamIn:fh,onStreamOut:Ih});class b{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)throw new Error("[StreamerArea]: Unable to create area again");let{worldId:t,interiorId:a,playerId:n}=this.sourceInfo;const{type:r,extended:i}=this.sourceInfo;if(i)if(typeof t=="number"?t=[-1]:t??=[-1],typeof a=="number"?a=[-1]:a??=[-1],typeof n=="number"?n=[-1]:n??=[-1],r==="circle"){const{x:s,y:o,size:l}=this.sourceInfo;if(l<0)throw new Error("[StreamerArea]: Invalid circle extend size");this._id=_.CreateDynamicCircleEx(s,o,l,t,a,n)}else if(r==="cuboid"){const{minX:s,minY:o,minZ:l,maxX:c,maxY:u,maxZ:p}=this.sourceInfo;this._id=_.CreateDynamicCuboidEx(s,o,l,c,u,p,t,a,n)}else if(r==="cylinder"){const{x:s,y:o,minZ:l,maxZ:c,size:u}=this.sourceInfo;if(u<0)throw new Error("[StreamerArea]: Invalid cylinder extend size");this._id=_.CreateDynamicCylinderEx(s,o,l,c,u,t,a,n)}else if(r==="polygon"){const{points:s,minZ:o,maxZ:l}=this.sourceInfo;if(s.length%2!==0)throw new Error("[StreamerArea]: Unable to create polygon extended with asymmetrical points");this._id=_.CreateDynamicPolygonEx(s,o,l,t,a,n)}else if(r==="rectangle"){const{minX:s,minY:o,maxX:l,maxY:c}=this.sourceInfo;this._id=_.CreateDynamicRectangleEx(s,o,l,c,t,a,n)}else{const{x:s,y:o,z:l,size:c}=this.sourceInfo;if(c<0)throw new Error("[StreamerArea]: Invalid sphere extended size");this._id=_.CreateDynamicSphereEx(s,o,l,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,r==="circle"){const{x:s,y:o,size:l}=this.sourceInfo;if(l<0)throw new Error("[StreamerArea]: Invalid circle size");this._id=_.CreateDynamicCircle(s,o,l,t,a,n)}else if(r==="cuboid"){const{minX:s,minY:o,minZ:l,maxX:c,maxY:u,maxZ:p}=this.sourceInfo;this._id=_.CreateDynamicCuboid(s,o,l,c,u,p,t,a,n)}else if(r==="cylinder"){const{x:s,y:o,minZ:l,maxZ:c,size:u}=this.sourceInfo;if(u<0)throw new Error("[StreamerArea]: Invalid cylinder size");this._id=_.CreateDynamicCylinder(s,o,l,c,u,t,a,n)}else if(r==="polygon"){const{points:s,minZ:o,maxZ:l}=this.sourceInfo;if(s.length%2!==0)throw new Error("[StreamerArea]: Unable to create polygon with asymmetrical points");this._id=_.CreateDynamicPolygon(s,o,l,t,a,n)}else if(r==="rectangle"){const{minX:s,minY:o,maxX:l,maxY:c}=this.sourceInfo;this._id=_.CreateDynamicRectangle(s,o,l,c,t,a,n)}else{const{x:s,y:o,z:l,size:c}=this.sourceInfo;if(c<0)throw new Error("[StreamerArea]: Invalid sphere size");this._id=_.CreateDynamicSphere(s,o,l,c,t,a,n)}return b.areas.set(this._id,this),this}destroy(){if(this.id===-1&&!C.skip)throw new Error("[StreamerArea]: Unable to destroy the area before create");return C.skip||_.DestroyDynamicArea(this.id),b.areas.delete(this.id),this._id=-1,this}isValid(){return C.skip&&this.id!==-1?!0:_.IsValidDynamicArea(this.id)}getType(){if(this.id!==-1)throw new Error("[StreamerArea]: Unable to get type before create");return _.GetDynamicAreaType(this.id)}getPolygonPoints(){if(this.id!==-1)throw new Error("[StreamerArea]: Unable to getPolygonPoints before create");if(this.type!=="polygon")throw new Error("[StreamerArea]: getPolygonPoints invalid area type");return _.GetDynamicPolygonPoints(this.id)}getPolygonNumberPoints(){if(this.id!==-1)throw new Error("[StreamerArea]: Unable to getPolygonNumberPoints number before create");if(this.type!=="polygon")throw new Error("[StreamerArea]: getPolygonNumberPoints invalid area type");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 b.getPlayerAreasNumber(t)?_.GetPlayerDynamicAreas(t.id).map(a=>b.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,r,i,s){return this.id===-1?!1:_.IsLineInDynamicArea(this.id,t,a,n,r,i,s)}static isLineInAny(t,a,n,r,i,s){return _.IsLineInAnyDynamicArea(t,a,n,r,i,s)}static getForPoint(t,a,n){return b.getNumberForPoint(t,a,n)?_.GetDynamicAreasForPoint(t,a,n).map(r=>b.getInstance(r)):[]}static getNumberForPoint(t,a,n){return _.GetNumberDynamicAreasForPoint(t,a,n)}static getForLine(t,a,n,r,i,s){return b.getNumberForLine(t,a,n,r,i,s)?_.GetDynamicAreasForLine(t,a,n,r,i,s).map(o=>b.areas.get(o)):[]}static getNumberForLine(t,a,n,r,i,s){return _.GetNumberDynamicAreasForLine(t,a,n,r,i,s)}attachToObject(t,a=0,n=0,r=0){if(this.id===-1||t.id===-1)throw new Error("[StreamerArea]: Unable to toggle attach to object before create");return _.AttachDynamicAreaToObject(this.id,t.id,_.StreamerObjectTypes.DYNAMIC,T.PLAYER_ID,a,n,r)}attachToPlayer(t,a=0,n=0,r=0){if(this.id===-1||t.id===-1)throw new Error("[StreamerArea]: Unable to toggle attach to player before create");return _.AttachDynamicAreaToPlayer(this.id,t.id,a,n,r)}attachToVehicle(t,a=0,n=0,r=0){if(this.id===-1||t.id===-1)throw new Error("[StreamerArea]: Unable to toggle attach to vehicle before create");return _.AttachDynamicAreaToVehicle(this.id,t.id,a,n,r)}toggleSpectateMode(t){if(this.id===-1)throw new Error("[StreamerArea]: Unable to toggle specate mode before create");return _.ToggleDynAreaSpectateMode(this.id,t)}isToggleSpectateMode(){return this.id===-1?!1:_.IsToggleDynAreaSpectateMode(this.id)}toggleCallbacks(t=!0){if(this.id===-1)throw new Error("[StreamerArea]: Unable to toggle callbacks before create");return S.toggleItemCallbacks(_.StreamerItemTypes.AREA,this.id,t)}isToggleCallbacks(){return this.id===-1?!1:S.isToggleItemCallbacks(_.StreamerItemTypes.AREA,this.id)}static togglePlayerUpdate(t,a=!0){return S.toggleItemUpdate(t,_.StreamerItemTypes.AREA,a)}static hideForPlayer(t,a=-5e4){return S.updateEx(t,0,0,a),this.togglePlayerUpdate(t,!1)}static showForPlayer(t,a=-5e4){const n=t.getPos();return n?S.updateEx(t,n.x,n.y,n.z):S.updateEx(t,0,0,a),this.togglePlayerUpdate(t,!0)}static getInstance(t){return this.areas.get(t)}static getInstances(){return[...this.areas.values()]}}N.onExit(({next:e})=>(b.getInstances().forEach(t=>t.destroy()),e()));const[bh,Rh]=h({name:"OnDynamicAreaStreamIn",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}}),[Lh,vh]=h({name:"OnDynamicAreaStreamOut",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}});X(({type:e,id:t,forPlayer:a,next:n})=>e===d.StreamerItemTypes.AREA?Rh(a,b.getInstance(t)):n()),Y(({type:e,id:t,forPlayer:a,next:n})=>e===d.StreamerItemTypes.AREA?vh(a,b.getInstance(t)):n());const[Oh]=h({name:"OnPlayerEnterDynamicArea",identifier:"ii",beforeEach(e,t){return{player:m.getInstance(e),area:b.getInstance(t)}}}),[Gh]=h({name:"OnPlayerLeaveDynamicArea",identifier:"ii",beforeEach(e,t){return{player:m.getInstance(e),area:b.getInstance(t)}}}),Fh=Object.freeze({onStreamIn:bh,onStreamOut:Lh,onPlayerEnter:Oh,onPlayerLeave:Gh});class y{static globalTextDraws=new Map;static playerTextDraws=new Map;sourceInfo;_id=-1;get id(){return this._id}constructor(t){this.sourceInfo=t}create(){if(this.id!==-1)throw new Error("[TextDraw]: Unable to create the textdraw again");const{x:t,y:a,text:n,player:r,charset:i="iso-8859-1"}=this.sourceInfo,s=I.encodeToBuf(I.convertSpecialChar(n),i);if(r){if(y.getInstances(!1).length===G.MAX_TEXT_DRAWS)throw new Error("[TextDraw]: Unable to continue to create textdraw, maximum allowable quantity has been reached");this._id=Ad(r.id,t,a,s);const o=ye.onDisconnect(({player:l,next:c})=>{const u=c();return l===r&&(this.destroy(),o()),u});y.playerTextDraws.set(this.id,this)}else{if(y.getInstances(!0).length===G.MAX_TEXT_DRAWS)throw new Error("[TextDraw]: Unable to continue to create textdraw, maximum allowable quantity has been reached");this._id=Ol(t,a,s),y.globalTextDraws.set(this.id,this)}return this}destroy(){this.id===-1&&y.beforeCreateWarn("destroy the textdraw");const{player:t}=this.sourceInfo;return t?(Cd(t.id,this.id),y.playerTextDraws.delete(this.id)):(Gl(this.id),y.globalTextDraws.delete(this.id)),this._id=-1,this}setFont(t){if(this.id===-1)return y.beforeCreateWarn("set font"),this;const{player:a}=this.sourceInfo;return a?Gd(a.id,this.id,t):Kl(this.id,t),this}setColor(t){if(this.id===-1)return y.beforeCreateWarn("set color"),this;const{player:a}=this.sourceInfo;return a?Nd(a.id,this.id,t):Ml(this.id,t),this}setBoxColors(t){if(this.id===-1)return y.beforeCreateWarn("set box color"),this;const{player:a}=this.sourceInfo;return a?Rd(a.id,this.id,t):Hl(this.id,t),this}setBackgroundColors(t){if(this.id===-1)return y.beforeCreateWarn("set background color"),this;const{player:a}=this.sourceInfo;return a?Od(a.id,this.id,t):Wl(this.id,t),this}setAlignment(t){if(this.id===-1)return y.beforeCreateWarn("set alignment"),this;const{player:a}=this.sourceInfo;return a?wd(a.id,this.id,t):kl(this.id,t),this}setLetterSize(t,a){if(this.id===-1)return y.beforeCreateWarn("set letter size"),this;const{player:n}=this.sourceInfo;return n?Td(n.id,this.id,t,a):Fl(this.id,t,a),this}setOutline(t){if(this.id===-1)return y.beforeCreateWarn("set outline model"),this;if(t<0)throw new Error("[TextDraw]: Invalid outline value");const{player:a}=this.sourceInfo;return a?vd(a.id,this.id,t):Ul(this.id,t),this}setPreviewModel(t){if(this.id===-1)return y.beforeCreateWarn("set preview model"),this;this.setFont(ne.MODEL_PREVIEW);const{player:a}=this.sourceInfo;return a?Hd(a.id,this.id,t):Ql(this.id,t),this}setPreviewRot(t,a,n,r=1){if(this.id===-1)return y.beforeCreateWarn("set preview rot"),this;this.setFont(ne.MODEL_PREVIEW);const{player:i}=this.sourceInfo;return i?Vd(i.id,this.id,t,a,n,r):ql(this.id,t,a,n,r),this}setPreviewVehColors(t,a){if(this.id===-1)return y.beforeCreateWarn("set preview veh col"),this;this.setFont(ne.MODEL_PREVIEW);const{player:n}=this.sourceInfo;return n?Ud(n.id,this.id,t,a):ed(this.id,t,a),this}setProportional(t=!0){if(this.id===-1)return y.beforeCreateWarn("set Proportional"),this;const{player:a}=this.sourceInfo;return a?Fd(a.id,this.id,t):jl(this.id,t),this}setSelectable(t){if(this.id===-1)return y.beforeCreateWarn("set Selectable"),this;const{player:a}=this.sourceInfo;return a?Bd(a.id,this.id,t):Zl(this.id,t),this}setShadow(t){if(this.id===-1)return y.beforeCreateWarn("set shadow"),this;if(t<0)throw new Error("[TextDraw]: Invalid shadow value");const{player:a}=this.sourceInfo;return a?Ld(a.id,this.id,t):Vl(this.id,t),this}setString(t,a){if(this.id===-1)return y.beforeCreateWarn("set string"),this;if(t.length===0||t.length>1024)throw new Error("[TextDraw]: Invalid text length");const{player:n,charset:r="iso-8859-1"}=this.sourceInfo,i=I.encodeToBuf(I.convertSpecialChar(t),r);return n?xd(n.id,this.id,i):a?vl(this.id,a.id,i):Jl(this.id,i),this}setTextSize(t,a){if(this.id===-1)return y.beforeCreateWarn("set TextSize"),this;const{player:n}=this.sourceInfo;return n?Dd(n.id,this.id,t,a):Bl(this.id,t,a),this}useBox(t){if(this.id===-1)return y.beforeCreateWarn("set TextSize"),this;const{player:a}=this.sourceInfo;return a?bd(a.id,this.id,t):xl(this.id,t),this}static beforeCreateWarn(t){throw new Error(`[TextDraw]: Unable to ${t} before create`)}show(t){if(this.id===-1)return y.beforeCreateWarn("show"),this;const a=this.sourceInfo.player;if(a)kd(a.id,this.id);else if(t)Xl(t.id,this.id);else throw new Error("[TextDraw]: invalid player for show");return this}hide(t){if(this.id===-1)return y.beforeCreateWarn("hide"),this;const a=this.sourceInfo.player;if(a)Md(a.id,this.id);else if(t)Yl(t.id,this.id);else throw new Error("[TextDraw]: invalid player for hide");return this}showAll(){if(this.id===-1)return y.beforeCreateWarn("show"),this;if(!this.sourceInfo.player)return zl(this.id),this;throw new Error("[TextDraw]: player's textdraw should not be show for all.")}hideAll(){if(this.id===-1)return y.beforeCreateWarn("hideAll"),this;if(!this.sourceInfo.player)return $l(this.id),this;throw new Error("[TextDraw]: player's textdraw should not be hide for all.")}isValid(){const t=this.sourceInfo.player;return t?nd(t.id,this.id):hl(this.id)}isVisibleForPlayer(t){if(this.id===-1)return!1;const{player:a}=this.sourceInfo;return a?rd(a.id,this.id):t?ul(t.id,this.id):!1}getString(){if(this.id===-1)return this.sourceInfo.text;const t=this.sourceInfo.player;return t?id(t.id,this.id):ml(this.id)}setPos(t,a){if(this.id===-1)return y.beforeCreateWarn("set position"),this;const n=this.sourceInfo.player;return n?sd(n.id,this.id,t,a):pl(this.id,t,a),this}getLetterSize(){if(this.id===-1)return y.beforeCreateWarn("get letter size");const t=this.sourceInfo.player;return t?od(t.id,this.id):gl(this.id)}getTextSize(){if(this.id===-1)return y.beforeCreateWarn("get text size");const t=this.sourceInfo.player;return t?ld(t.id,this.id):Sl(this.id)}getPos(){if(this.id===-1)return y.beforeCreateWarn("get position");const t=this.sourceInfo.player;return t?dd(t.id,this.id):yl(this.id)}getColor(){if(this.id===-1)return y.beforeCreateWarn("get color");const t=this.sourceInfo.player;return t?cd(t.id,this.id):fl(this.id)}getBoxColor(){if(this.id===-1)return y.beforeCreateWarn("get box color");const t=this.sourceInfo.player;return t?_d(t.id,this.id):Pl(this.id)}getBackgroundColor(){if(this.id===-1)return y.beforeCreateWarn("get bg color");const t=this.sourceInfo.player;return t?hd(t.id,this.id):Il(this.id)}getShadow(){if(this.id===-1)return y.beforeCreateWarn("get shadow");const t=this.sourceInfo.player;return t?ud(t.id,this.id):El(this.id)}getOutline(){if(this.id===-1)return y.beforeCreateWarn("get outline");const t=this.sourceInfo.player;return t?md(t.id,this.id):Al(this.id)}getFont(){if(this.id===-1)return y.beforeCreateWarn("get font");const t=this.sourceInfo.player;return t?pd(t.id,this.id):Cl(this.id)}isBox(){if(this.id===-1)return!1;const t=this.sourceInfo.player;return t?gd(t.id,this.id):Tl(this.id)}isProportional(){if(this.id===-1)return!1;const t=this.sourceInfo.player;return t?Sd(t.id,this.id):Dl(this.id)}isSelectable(){if(this.id===-1)return!1;const t=this.sourceInfo.player;return t?yd(t.id,this.id):wl(this.id)}getAlignment(){if(this.id===-1)return y.beforeCreateWarn("get alignment");const t=this.sourceInfo.player;return t?fd(t.id,this.id):Nl(this.id)}getPreviewModel(){if(this.id===-1)return y.beforeCreateWarn("get preview model");const t=this.sourceInfo.player;return t?Pd(t.id,this.id):bl(this.id)}getPreviewRot(){if(this.id===-1)return y.beforeCreateWarn("get preview rotation");const t=this.sourceInfo.player;return t?Id(t.id,this.id):Rl(this.id)}getPreviewVehColors(){if(this.id===-1)return y.beforeCreateWarn("get preview vel colors");const t=this.sourceInfo.player;return t?Ed(t.id,this.id):Ll(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()]}}N.onExit(({next:e})=>(y.getInstances(!0).forEach(t=>t.destroy()),y.getInstances(!1).forEach(t=>t.destroy()),e()));const[Bh]=h({name:"OnPlayerClickTextDraw",beforeEach(e,t){return{player:m.getInstance(e),textDraw:t===T.TEXT_DRAW?t:y.getInstance(t,!0)}}}),[kh]=h({name:"OnPlayerClickPlayerTextDraw",beforeEach(e,t){return{player:m.getInstance(e),textDraw:t===T.TEXT_DRAW?t:y.getInstance(t,!1)}}}),Mh=Object.freeze({onPlayerClickGlobal:Bh,onPlayerClickPlayer:kh});function xh(e,t){return(e&t)===t}function Hh(e,t,a){return(e&a)===a&&(t&a)!==a}function Vh(e,t){return!!(e&t)}function Uh(e,t,a){return(e&a)!==a&&(t&a)===a}Object.defineProperty(exports,"E_STREAMER",{enumerable:!0,get:function(){return d.E_STREAMER}}),Object.defineProperty(exports,"MapIconStyles",{enumerable:!0,get:function(){return d.MapIconStyles}}),Object.defineProperty(exports,"MaterialTextAlign",{enumerable:!0,get:function(){return d.MaterialTextAlign}}),Object.defineProperty(exports,"MaterialTextSizes",{enumerable:!0,get:function(){return d.MaterialTextSizes}}),Object.defineProperty(exports,"StreamerAreaTypes",{enumerable:!0,get:function(){return d.StreamerAreaTypes}}),Object.defineProperty(exports,"StreamerDistances",{enumerable:!0,get:function(){return d.StreamerDistances}}),Object.defineProperty(exports,"StreamerItemTypes",{enumerable:!0,get:function(){return d.StreamerItemTypes}}),Object.defineProperty(exports,"StreamerMiscellaneous",{enumerable:!0,get:function(){return d.StreamerMiscellaneous}}),Object.defineProperty(exports,"StreamerObjectTypes",{enumerable:!0,get:function(){return d.StreamerObjectTypes}}),exports.ArtworkEnum=be,exports.BodyPartsEnum=Ue,exports.BoneIdsEnum=We,exports.BulletHitTypesEnum=Je,exports.CameraCutStylesEnum=ae,exports.CameraModesEnum=Ve,exports.CarModTypeEnum=Ze,exports.ClickSourcesEnum=Re,exports.ConnectionStatusEnum=ve,exports.DamageDeathReasonEnum=he,exports.Dialog=D,exports.DialogStylesEnum=ce,exports.Dynamic3DTextLabel=z,exports.Dynamic3DTextLabelEvent=yh,exports.DynamicActor=H,exports.DynamicActorEvent=uh,exports.DynamicArea=b,exports.DynamicAreaEvent=Fh,exports.DynamicCheckPointEvent=ah,exports.DynamicCheckpoint=k,exports.DynamicMapIcon=K,exports.DynamicMapIconEvent=W_,exports.DynamicObject=L,exports.DynamicObjectEvent=Nh,exports.DynamicPickup=W,exports.DynamicPickupEvent=z_,exports.DynamicRaceCP=M,exports.DynamicRaceCPEvent=dh,exports.ERecordStatus=F,exports.EditResponseTypesEnum=Le,exports.FightingStylesEnum=xe,exports.ForceSyncEnum=Ke,exports.GameMode=N,exports.GameText=w_,exports.GangZone=w,exports.GangZoneEvent=k_,exports.I18n=I,exports.InvalidEnum=T,exports.KeysEnum=Oe,exports.LimitsEnum=G,exports.MapIconStylesEnum=He,exports.MarkerModesEnum=Ge,exports.Menu=$,exports.MenuEvent=R_,exports.NPCPlaybackEnum=Fe,exports.NetStats=D_,exports.Npc=B,exports.NpcEvent=At,exports.ObjectMaterialAlignmmentEnum=ke,exports.ObjectMaterialTextSizeEnum=Be,exports.Player=m,exports.PlayerEvent=ye,exports.PlayerStateEnum=J,exports.RecordTypesEnum=qe,exports.SelectObjectTypesEnum=Me,exports.SpecialActionsEnum=_e,exports.SpectateModesEnum=oe,exports.Streamer=S,exports.TextDraw=y,exports.TextDrawAlignEnum=je,exports.TextDrawEvent=Mh,exports.TextDrawFontsEnum=ne,exports.Vehicle=A,exports.VehicleEvent=T_,exports.VehicleModelInfoEnum=Ye,exports.VehicleParamsEnum=Xe,exports.WeaponEnum=ze,exports.WeaponSkillsEnum=$e,exports.WeaponStatesEnum=Qe,exports.animateLib=et,exports.defineEvent=h,exports.getAnimateDurationByLibName=nc,exports.isHolding=xh,exports.isPressed=Hh,exports.isPressing=Vh,exports.isReleased=Uh,exports.isValidAnimateLib=ue,exports.isValidAnimateName=me,exports.rgba=P;
|
|
1
|
+
"use strict";var le=require("iconv-lite"),d=require("@infernus/streamer");function gt(e){var t=Object.create(null);return e&&Object.keys(e).forEach(function(a){if(a!=="default"){var n=Object.getOwnPropertyDescriptor(e,a);Object.defineProperty(t,a,n.get?n:{enumerable:!0,get:function(){return e[a]}})}}),t.default=e,Object.freeze(t)}var _=gt(d);function Te(e){if(!e||typeof e!="object")return!1;const t=Object.getPrototypeOf(e);return t===null||t===Object.prototype||Object.getPrototypeOf(t)===null?Object.prototype.toString.call(e)==="[object Object]":!1}function St(e,t){const a={},n=Object.keys(e);for(let r=0;r<n.length;r++){const i=n[r],s=e[i];a[t(s,i,e)]=s}return a}function te(e,t){const a=Object.keys(t);for(let n=0;n<a.length;n++){const r=a[n],i=t[r],s=e[r];Array.isArray(i)?Array.isArray(s)?e[r]=te(s,i):e[r]=te([],i):Te(i)?Te(s)?e[r]=te(s,i):e[r]=te({},i):(s===void 0||i!==void 0)&&(e[r]=i)}return e}function ft(e,t){const a={...e};for(let n=0;n<t.length;n++){const r=t[n];delete a[r]}return a}const yt=new RegExp("\\p{Lu}?\\p{Ll}+|[0-9]+|\\p{Lu}+(?!\\p{Ll})|\\p{Emoji_Presentation}|\\p{Extended_Pictographic}|\\p{L}+","gu");function Pt(e){return Array.from(e.match(yt)??[])}function de(e){return Pt(e).map(a=>a.toLowerCase()).join("_")}function Et(e){switch(typeof e){case"number":case"symbol":return!1;case"string":return e.includes(".")||e.includes("[")||e.includes("]")}}function It(e){return Object.is(e,-0)?"-0":e.toString()}function At(e){const t=[],a=e.length;if(a===0)return t;let n=0,r="",i="",s=!1;for(e.charCodeAt(0)===46&&(t.push(""),n++);n<a;){const o=e[n];i?o==="\\"&&n+1<a?(n++,r+=e[n]):o===i?i="":r+=o:s?o==='"'||o==="'"?i=o:o==="]"?(s=!1,t.push(r),r=""):r+=o:o==="["?(s=!0,r&&(t.push(r),r="")):o==="."?r&&(t.push(r),r=""):r+=o,n++}return r&&t.push(r),t}function ce(e,t,a){if(e==null)return a;switch(typeof t){case"string":{const n=e[t];return n===void 0?Et(t)?ce(e,At(t),a):a:n}case"number":case"symbol":{typeof t=="number"&&(t=It(t));const n=e[t];return n===void 0?a:n}default:{if(Array.isArray(t))return Tt(e,t,a);Object.is(t?.valueOf(),-0)?t="-0":t=String(t);const n=e[t];return n===void 0?a:n}}}function Tt(e,t,a){if(t.length===0)return a;let n=e;for(let r=0;r<t.length;r++){if(n==null)return a;n=n[t[r]]}return n===void 0?a:n}function Ct(e){return e instanceof Buffer}class P{constructor(t,a){this.defaultLocale=t,this.locales=a,this.defaultLocale=de(t),this.locales=P.snakeLocaleKeys(a)}addLocales=t=>{te(this.locales,P.snakeLocaleKeys(t))};removeLocales=(...t)=>{this.locales=ft(this.locales,t)};$t=(t,a,n=this.defaultLocale)=>{const r=this.locales[de(n)],i=ce(this.locales[this.defaultLocale],t),s=ce(r,t,i);if(s===void 0)throw new Error(`[i18n]: cannot find ${n}["${t}"]`);if(typeof s!="string")return JSON.stringify(s);let o=s;if(a&&a.length){const l=/%s/i;for(let c=0;c<a.length&&o.match(l)!==null;c++)o=o.replace(l,a[c])}return o};static isValidate(t){if(!le.encodingExists(t))throw new Error(`[i18n]: unknown charset ${t}`)}static encodeToBuf(t,a){return P.isValidate(a),[...le.encode(t,a),0]}static decodeFromBuf(t,a="utf8"){P.isValidate(a);const n=Ct(t)?t:Buffer.from(P.getValidStr(t));return le.decode(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)=>de(n))}static convertSpecialChar(t){const a={\u00E0:"\x97",\u00E1:"\x98",\u00E2:"\x99",\u00E4:"\x9A",\u00C0:"\x80",\u00C1:"\x81",\u00C2:"\x82",\u00C4:"\x83",\u00E8:"\x9D",\u00E9:"\x9E",\u00EA:"\x9F",\u00EB:"\xA0",\u00C8:"\x86",\u00C9:"\x87",\u00CA:"\x88",\u00CB:"\x89",\u00EC:"\xA1",\u00ED:"\xA2",\u00EE:"\xA3",\u00EF:"\xA4",\u00CC:"\x8A",\u00CD:"\x8B",\u00CE:"\x8C",\u00CF:"\x8D",\u00F2:"\xA5",\u00F3:"\xA6",\u00F4:"\xA7",\u00F6:"\xA8",\u00D2:"\x8E",\u00D3:"\x8F",\u00D4:"\x90",\u00D6:"\x91",\u00F9:"\xA9",\u00FA:"\xAA",\u00FB:"\xAB",\u00FC:"\xAC",\u00D9:"\x92",\u00DA:"\x93",\u00DB:"\x94",\u00DC:"\x95",\u00F1:"\xAE",\u00D1:"\xAD","\xA1":"@","\xBF":"\xAF","`":"\xB1"};return t.split("").map(n=>n in a?a[n]:n).join("")}}const v=new Map;function Dt(e,t){return typeof e=="boolean"?+e:typeof e=="number"&&!isNaN(e)?e:+t}function wt(e,...t){const{defaultValue:a=!0,name:n,beforeEach:r,afterEach:i,throwOnError:s=!1}=e,o=v.get(n);if(!o||!o.length)return+a;const l=r?r(...t):{},c=[];let u=-1;const p=()=>{if(u++,u<o.length){try{const g=o[u]({next:p,defaultValue:a,...l});return g instanceof Promise&&c.push(g),g}catch(g){const y=`executing event [name:${n},index:${u}] error:
|
|
2
|
+
${g}`;if(s)throw{error:g,message:y};console.log(y)}return a}return i&&(c.length?Promise.allSettled(c).then(()=>i(l)):i(l)),a};return Dt(p(),a)}function h(e){const{name:t,identifier:a,isNative:n=!0}=e;if(v.has(t)){const o=`event [name:${t}] error: already defined.`;throw new Error(o)}function r(...o){return wt(e,...o)}function i(o){v.has(t)||v.set(t,[]);const l=v.get(t).push(o)-1;return()=>{const c=v.get(t);if(!c)return;const u=c.length-1,p=u<l?u:l;for(let g=p;g>=0;g--)if(c[g]===o){c.splice(g,1);break}return c.length===0&&v.delete(t),c.length}}const s=[i,r];return n&&(typeof a<"u"&&samp.registerEvent(t,a),samp.on(t,r)),s}const[bt]=h({name:"OnNpcConnect",beforeEach(e){return{myPlayerId:e}}}),[Nt]=h({name:"OnNpcDisconnect",beforeEach(e){return{reason:e}}}),[Rt]=h({name:"OnNpcModeInit"}),[Lt]=h({name:"OnNpcModeExit"}),[vt]=h({name:"OnNpcSpawn"}),[Ot]=h({name:"OnClientMessageI18n",identifier:"iai",beforeEach(e,t){return{color:e,buffer:t,string:P.decodeFromBuf(t)}}}),Gt=Object.freeze({onConnect:bt,onDisconnect:Nt,onModeInit:Rt,onModeExit:Lt,onSpawn:vt,onClientMessage:Ot}),Ft=e=>!!samp.callNative("IsValidNickName","s",e),Bt=(e,t)=>{samp.callNative("AllowNickNameCharacter","ii",e,t)},kt=e=>!!samp.callNative("IsNickNameCharacterAllowed","i",e),Mt=(e,t)=>!!samp.callNative("AddServerRule","ss",e,t),xt=(e,t)=>!!samp.callNative("SetServerRule","ss",e,t),Ht=e=>!!samp.callNative("IsValidServerRule","s",e),Vt=e=>!!samp.callNative("RemoveServerRule","s",e),Ut=e=>{samp.callNative("AllowAdminTeleport","i",e)},Wt=()=>!!samp.callNative("IsAdminTeleportAllowed",""),Kt=e=>{samp.callNative("AllowInteriorWeapons","i",e)},jt=()=>!!samp.callNative("AreInteriorWeaponsAllowed",""),Zt=()=>!!samp.callNative("AreAllAnimationsEnabled",""),Xt=e=>{samp.callNative("EnableAllAnimations","i",e)},Yt=e=>{const[t]=samp.callNative("GetConsoleVarAsString","sAi",e,64);return t},zt=e=>samp.callNative("GetConsoleVarAsInt","s",e),$t=e=>!!samp.callNative("GetConsoleVarAsBool","s",e),Jt=()=>samp.callNative("GetWeather",""),Qt=e=>samp.callNative("GetServerRuleFlags","s",e),qt=(e,t)=>!!samp.callNative("SetServerRuleFlags","si",e,t),ea=e=>!!samp.callNative("SetModeRestartTime","f",e),ta=()=>samp.callNativeFloat("GetModeRestartTime",""),aa=(e,t,a)=>samp.callNative("GameTextForAll","aii",e,t,a),na=e=>{samp.callNative("HideGameTextForAll","i",e)},ra=(e,t,a)=>samp.callNative("SendDeathMessage","iii",e,t,a),ia=()=>samp.callNative("GetMaxPlayers",""),_e=(e,t,a)=>Math.sqrt(e*e+t*t+a*a),sa=e=>samp.callNative("SetGameModeText","s",e),oa=e=>samp.callNative("ShowNameTags","i",e),la=e=>samp.callNative("ShowPlayerMarkers","i",e),da=e=>samp.callNative("SetWorldTime","i",e),ca=()=>samp.callNative("GetWorldTime",""),_a=()=>samp.callNative("EnableVehicleFriendlyFire",""),ha=e=>samp.callNative("SetWeather","i",e),ua=()=>samp.callNativeFloat("GetGravity",""),ma=e=>samp.callNative("SetGravity","f",e),pa=(e,t,a,n,r)=>samp.callNative("CreateExplosion","fffif",e,t,a,n,r),ga=e=>samp.callNative("EnableZoneNames","i",e),Sa=()=>samp.callNative("UsePlayerPedAnims",""),fa=()=>samp.callNative("DisableInteriorEnterExits",""),ya=e=>samp.callNative("SetNameTagDrawDistance","f",e),Pa=()=>samp.callNative("DisableNameTagLOS",""),Ea=e=>samp.callNative("LimitGlobalChatRadius","f",e),Ia=e=>samp.callNative("LimitPlayerMarkerRadius","f",e),Aa=(e,t)=>samp.callNative("ConnectNPC","ss",e,t),Ta=()=>samp.callNative("GetServerTickRate",""),Ca=e=>samp.callNative("GetAnimationName","iSiSi",e,32,32),Da=e=>samp.callNative("EnableStuntBonusForAll","i",e),wa=e=>{samp.callNative("ToggleChatTextReplacement","i",e)},ba=()=>!!samp.callNative("ChatTextReplacementToggled",""),Na=e=>samp.callNative("GetWeaponSlot","i",e),Ra=e=>{const[t]=samp.callNative("GetWeaponName","iSi",e,32);return t},Ce=()=>samp.callNative("GetAvailableClasses",""),La=e=>{if(e<Ce()||e>319)return!1;const t=samp.callNative("GetPlayerClass","iIIFFFFIIIIII",e),[a,n=0,r=0,i=0,s=0,o=0,l=0,c=0,u=0,p=0,g=0,y=0]=t;return{teamId:a,modelId:n,spawnX:r,spawnY:i,spawnZ:s,zAngle:o,weapon1:l,weapon1Ammo:c,weapon2:u,weapon2Ammo:p,weapon3:g,weapon3Ammo:y}},va=(e,t,a,n,r,i,s,o,l,c,u,p,g)=>!!samp.callNative("EditPlayerClass","iiiffffiiiiii",e,t,a,n,r,i,s,o,l,c,u,p,g),Oa=e=>samp.callNative("SetTeamCount","i",e),Ga=(e,t,a,n,r,i,s,o,l,c,u)=>samp.callNative("AddPlayerClass","iffffiiiiii",e,t,a,n,r,i,s,o,l,c,u),Fa=(e,t,a,n,r,i,s,o,l,c,u,p)=>samp.callNative("AddPlayerClassEx","iiffffiiiiii",e,t,a,n,r,i,s,o,l,c,u,p),Ba=(e,t,a,n,r,i,s,o,l,c,u,p,g)=>samp.callNative("SetSpawnInfo","iiiffffiiiiii",e,t,a,n,r,i,s,o,l,c,u,p,g),ka=e=>samp.callNative("SpawnPlayer","i",e),Ma=e=>{const[t,a=0,n=0,r=0,i=0,s=0,o=0,l=0,c=0,u=0,p=0,g=0]=samp.callNative("GetSpawnInfo","iIIFFFFIIIIII",e);return{teamId:t,modelId:a,spawnX:n,spawnY:r,spawnZ:i,zAngle:s,weapon1:o,weapon1Ammo:l,weapon2:c,weapon2Ammo:u,weapon3:p,weapon3Ammo:g}},xa=e=>samp.callNative("NetStats_GetConnectedTime","i",e),Ha=e=>samp.callNative("NetStats_MessagesReceived","i",e),Va=e=>samp.callNative("NetStats_BytesReceived","i",e),Ua=e=>samp.callNative("NetStats_MessagesSent","i",e),Wa=e=>samp.callNative("NetStats_BytesSent","i",e),Ka=e=>samp.callNative("NetStats_MessagesRecvPerSecond","i",e),ja=e=>samp.callNativeFloat("NetStats_PacketLossPercent","i",e),Za=e=>samp.callNative("NetStats_ConnectionStatus","i",e),Xa=e=>{const[t]=samp.callNative("NetStats_GetIpPort","iSi",e,134);return t},Ya=e=>!!samp.callNative("IsPlayerAdmin","i",e),za=(e,t)=>!!samp.callNative("SetPlayerAdmin","ii",e,t),$a=e=>!!samp.callNative("Kick","i",e),Ja=e=>!!samp.callNative("Ban","i",e),Qa=e=>{const[t]=samp.callNative("GetPlayerNetworkStats","iSi",e,1024);return t},qa=()=>samp.callNative("GetNetworkStats","Si",1024),en=(e,t)=>samp.callNative("BlockIpAddress","si",e,t),tn=e=>samp.callNative("UnBlockIpAddress","s",e),an=(e,t)=>{const[a]=samp.callNative("gpci","iAi",e,41);return P.decodeFromBuf(P.getValidStr(a),t)},nn=(e,t,a,n,r)=>samp.callNative("SendClientCheck","iiiii",e,t,a,n,r),rn=()=>{samp.callNative("ClearBanList","")},sn=e=>!!samp.callNative("IsBanned","s",e),on=e=>samp.callNative("GetPlayerRawIp","i",e),ln=e=>{const[t]=samp.callNative("GetPlayerIp","iSi",e,128);return t},dn=e=>{const[t]=samp.callNative("GetPlayerVersion","iSi",e,24);return t},E=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,r)=>{n!==0&&(a+=Math.pow(16,r*2)*n)}),a},cn=(e,t)=>!!samp.callNative("TogglePlayerWidescreen","ii",e,t),_n=e=>!!samp.callNative("IsPlayerWidescreenToggled","i",e),hn=(e,t)=>samp.callNative("GetPlayerSkillLevel","ii",e,t),un=e=>samp.callNative("GetPlayerWeather","i",e),mn=e=>{const[t=0,a=0,n=0,r=0]=samp.callNative("GetPlayerWorldBounds","iFFFF",e);return{xMax:t,xMin:a,yMax:n,yMin:r}},pn=e=>samp.callNativeFloat("GetPlayerZAim","i",e),gn=e=>{const[t=0,a=0,n=0]=samp.callNative("GetPlayerSurfingOffsets","iFFF",e);return{fOffsetX:t,fOffsetY:a,fOffsetZ:n}},Sn=e=>{const[t=0,a=0,n=0,r=0]=samp.callNative("GetPlayerRotationQuat","iFFFF",e);return{w:t,x:a,y:n,z:r}},fn=e=>samp.callNative("GetPlayerDialogID","i",e),yn=e=>samp.callNative("GetPlayerSpectateID","i",e),Pn=e=>samp.callNative("GetPlayerSpectateType","i",e),En=(e,t)=>!!samp.callNative("SetPlayerGravity","if",e,t),In=e=>samp.callNativeFloat("GetPlayerGravity","i",e),An=e=>!!samp.callNative("IsPlayerSpawned","i",e),Tn=e=>!!samp.callNative("IsPlayerControllable","i",e),Cn=e=>!!samp.callNative("IsPlayerCameraTargetEnabled","i",e),Dn=(e,t)=>!!samp.callNative("TogglePlayerGhostMode","ii",e,t),wn=e=>!!samp.callNative("GetPlayerGhostMode","i",e),bn=e=>samp.callNative("GetPlayerBuildingsRemoved","i",e),Nn=(e,t)=>!!samp.callNative("RemovePlayerWeapon","ii",e,t),Rn=e=>!!samp.callNative("HidePlayerDialog","i",e),Ln=e=>!!samp.callNative("IsPlayerUsingOfficialClient","i",e),vn=(e,t)=>!!samp.callNative("AllowPlayerTeleport","ii",e,t),On=e=>!!samp.callNative("IsPlayerTeleportAllowed","i",e),Gn=(e,t)=>!!samp.callNative("AllowPlayerWeapons","i",e,t),Fn=e=>!!samp.callNative("ArePlayerWeaponsAllowed","i",e),Bn=(e,t,a,n)=>!!samp.callNative("GameTextForPlayer","iaii",e,t,a,n),kn=(e,t)=>!!samp.callNative("HasGameText","ii",e,t),Mn=(e,t,a,n)=>!!samp.callNative("SendDeathMessageToPlayer","iiii",e,t,a,n),xn=(e,t)=>!!samp.callNative("HideGameTextForPlayer","ii",e,t),Hn=e=>!!samp.callNative("IsPlayerNPC","i",e),De=(e,t,a,n)=>!!samp.callNative("SetPlayerPos","ifff",e,t,a,n),Vn=(e,t,a,n)=>!!samp.callNative("SetPlayerPosFindZ","ifff",e,t,a,n),Un=e=>samp.callNative("GetPlayerPos","iFFF",e),Wn=(e,t)=>!!samp.callNative("SetPlayerFacingAngle","if",e,t),Kn=e=>{const[t]=samp.callNative("GetPlayerFacingAngle","iF",e);return t},jn=(e,t,a,n,r)=>!!samp.callNative("IsPlayerInRangeOfPoint","iffff",e,t,a,n,r),Zn=(e,t,a,n)=>samp.callNativeFloat("GetPlayerDistanceFromPoint","ifff",e,t,a,n),Xn=(e,t)=>!!samp.callNative("IsPlayerStreamedIn","ii",e,t),Yn=(e,t)=>!!samp.callNative("SetPlayerInterior","ii",e,t),zn=e=>samp.callNative("GetPlayerInterior","i",e),$n=(e,t)=>!!samp.callNative("SetPlayerHealth","if",e,t),Jn=e=>{const[t]=samp.callNative("GetPlayerHealth","iF",e);return t},Qn=(e,t)=>!!samp.callNative("SetPlayerArmour","if",e,t),qn=e=>{const[t]=samp.callNative("GetPlayerArmour","iF",e);return t},er=(e,t,a)=>!!samp.callNative("SetPlayerAmmo","iii",e,t,a),tr=e=>samp.callNative("GetPlayerAmmo","i",e),ar=e=>samp.callNative("GetPlayerWeaponState","i",e),nr=e=>samp.callNative("GetPlayerTargetPlayer","i",e),rr=(e,t)=>{samp.callNative("SetPlayerTeam","ii",e,t)},ir=e=>samp.callNative("GetPlayerTeam","i",e),sr=(e,t)=>!!samp.callNative("SetPlayerScore","ii",e,t),or=e=>samp.callNative("GetPlayerScore","i",e),lr=e=>samp.callNative("GetPlayerDrunkLevel","i",e),dr=(e,t)=>!!samp.callNative("SetPlayerDrunkLevel","ii",e,t),cr=(e,t)=>!!samp.callNative("SetPlayerColor","ii",e,E(t)),_r=e=>samp.callNative("GetPlayerColor","i",e),hr=(e,t)=>!!samp.callNative("SetPlayerSkin","ii",e,t),ur=e=>samp.callNative("GetPlayerSkin","i",e),mr=(e,t,a)=>!!samp.callNative("GivePlayerWeapon","iii",e,t,a),pr=e=>!!samp.callNative("ResetPlayerWeapons","i",e),gr=(e,t)=>!!samp.callNative("SetPlayerArmedWeapon","ii",e,t),Sr=(e,t)=>samp.callNative("GetPlayerWeaponData","iiII",e,t),fr=(e,t)=>!!samp.callNative("GivePlayerMoney","ii",e,t),yr=e=>!!samp.callNative("ResetPlayerMoney","i",e),Pr=e=>samp.callNative("GetPlayerMoney","i",e),Er=e=>samp.callNative("GetPlayerState","i",e),Ir=e=>samp.callNative("GetPlayerPing","i",e),Ar=e=>samp.callNative("GetPlayerWeapon","i",e),Tr=e=>samp.callNative("GetPlayerKeys","iIII",e),Cr=(e,t,a)=>!!samp.callNative("SetPlayerTime","iii",e,t,a),Dr=e=>samp.callNative("GetPlayerTime","iII",e),wr=(e,t)=>!!samp.callNative("TogglePlayerClock","ii",e,t),br=(e,t)=>!!samp.callNative("SetPlayerWeather","ii",e,t),Nr=e=>!!samp.callNative("ForceClassSelection","i",e),Rr=(e,t)=>!!samp.callNative("SetPlayerWantedLevel","ii",e,t),Lr=e=>samp.callNative("GetPlayerWantedLevel","i",e),vr=(e,t)=>!!samp.callNative("SetPlayerFightingStyle","ii",e,t),Or=e=>samp.callNative("GetPlayerFightingStyle","i",e),Gr=(e,t,a,n)=>!!samp.callNative("SetPlayerVelocity","ifff",e,t,a,n),Fr=e=>samp.callNative("GetPlayerVelocity","iFFF",e),Br=(e,t,a)=>!!samp.callNative("PlayCrimeReportForPlayer","iii",e,t,a),kr=(e,t,a,n,r,i,s=!1)=>!!samp.callNative("PlayAudioStreamForPlayer","isffffi",e,t,a,n,r,i,s),Mr=e=>!!samp.callNative("StopAudioStreamForPlayer","i",e),xr=(e,t)=>!!samp.callNative("SetPlayerShopName","is",e,t),Hr=(e,t,a)=>!!samp.callNative("SetPlayerSkillLevel","iii",e,t,a),Vr=e=>samp.callNative("GetPlayerSurfingVehicleID","i",e),Ur=e=>samp.callNative("GetPlayerSurfingObjectID","i",e),Wr=e=>samp.callNative("GetPlayerSurfingPlayerObjectID","i",e),Kr=(e,t,a,n,r,i)=>!!samp.callNative("RemoveBuildingForPlayer","iiffff",e,t,a,n,r,i),jr=e=>samp.callNative("GetPlayerLastShotVectors","iFFFFFF",e),Zr=(e,t,a)=>!!samp.callNative("PutPlayerInVehicle","iii",e,t,a),Xr=e=>samp.callNative("GetPlayerVehicleID","i",e),Yr=e=>samp.callNative("GetPlayerVehicleSeat","i",e),zr=e=>!!samp.callNative("RemovePlayerFromVehicle","i",e),$r=(e,t)=>!!samp.callNative("TogglePlayerControllable","ii",e,t),Jr=(e,t,a,n,r)=>!!samp.callNative("PlayerPlaySound","iifff",e,t,a,n,r),Qr=(e,t,a,n,r,i,s,o,l,c)=>!!samp.callNative("ApplyAnimation","issfiiiiii",e,t,a,n,r,i,s,o,l,c),qr=(e,t)=>!!samp.callNative("ClearAnimations","ii",e,t),ei=e=>samp.callNative("GetPlayerAnimationIndex","i",e),ti=e=>samp.callNative("GetPlayerSpecialAction","i",e),ai=(e,t)=>!!samp.callNative("SetPlayerSpecialAction","ii",e,t),ni=(e,t)=>!!samp.callNative("DisableRemoteVehicleCollisions","ii",e,t),ri=(e,t)=>!!samp.callNative("SetPlayerVirtualWorld","ii",e,t),ii=e=>samp.callNative("GetPlayerVirtualWorld","i",e),si=(e,t)=>!!samp.callNative("EnableStuntBonusForPlayer","ii",e,t),oi=e=>samp.callNative("GetPlayerCustomSkin","i",e),li=(e,t,a,n,r,i)=>!!samp.callNative("CreateExplosionForPlayer","ifffif",e,t,a,n,r,i),di=(e,t,a)=>!!samp.callNative("StartRecordingPlayerData","iis",e,t,a),ci=e=>!!samp.callNative("StopRecordingPlayerData","i",e),_i=(e,t)=>!!samp.callNative("TogglePlayerSpectating","ii",e,t),hi=(e,t,a)=>!!samp.callNative("PlayerSpectatePlayer","iii",e,t,a),ui=(e,t,a)=>!!samp.callNative("PlayerSpectateVehicle","iii",e,t,a),we=e=>!!samp.callNative("IsPlayerConnected","i",e),mi=(e,t)=>!!samp.callNative("IsPlayerInVehicle","ii",e,t),pi=e=>!!samp.callNative("IsPlayerInAnyVehicle","i",e),gi=(e,t,a,n,r)=>!!samp.callNative("SetPlayerWorldBounds","iffff",e,t,a,n,r),Si=e=>!!samp.callNative("ClearPlayerWorldBounds","i",e),fi=(e,t,a)=>!!samp.callNative("SetPlayerMarkerForPlayer","iii",e,t,E(a));function yi(e,t){return samp.callNative("GetPlayerMarkerForPlayer","ii",t)}const Pi=(e,t,a)=>!!samp.callNative("ShowPlayerNameTagForPlayer","iii",e,t,a),Ei=(e,t,a,n)=>!!samp.callNative("SetPlayerCameraPos","ifff",e,t,a,n),Ii=(e,t,a,n,r)=>!!samp.callNative("SetPlayerCameraLookAt","ifffi",e,t,a,n,r),Ai=e=>!!samp.callNative("SetCameraBehindPlayer","i",e),Ti=e=>samp.callNative("GetPlayerCameraPos","iFFF",e),Ci=e=>samp.callNative("GetPlayerCameraFrontVector","iFFF",e),Di=e=>samp.callNative("GetPlayerCameraMode","i",e),wi=(e,t)=>!!samp.callNative("EnablePlayerCameraTarget","ii",e,t),bi=e=>samp.callNative("GetPlayerCameraTargetVehicle","i",e),Ni=e=>samp.callNative("GetPlayerCameraTargetPlayer","i",e),Ri=e=>samp.callNativeFloat("GetPlayerCameraAspectRatio","i",e),Li=e=>samp.callNativeFloat("GetPlayerCameraZoom","i",e),vi=(e,t,a,n,r,i,s,o,l)=>!!samp.callNative("InterpolateCameraPos","iffffffii",e,t,a,n,r,i,s,o,l),Oi=(e,t,a,n,r,i,s,o,l)=>!!samp.callNative("InterpolateCameraLookAt","iffffffii",e,t,a,n,r,i,s,o,l),Gi=e=>!!samp.callNative("IsPlayerCuffed","i",e),Fi=e=>!!samp.callNative("IsPlayerInDriveByMode","i",e),Bi=e=>!!samp.callNative("IsPlayerUsingOmp","i",e),ki=(e,t)=>samp.callNative("StartRecordingPlayback","is",e,t),Mi=()=>samp.callNative("StopRecordingPlayback",""),xi=()=>samp.callNative("PauseRecordingPlayback",""),Hi=()=>samp.callNative("ResumeRecordingPlayback",""),Vi=e=>samp.callNative("GetActorSkin","i",e),Ui=(e,t)=>samp.callNative("SetActorSkin","ii",e,t),Wi=e=>{const[t=0,a=0,n=0,r=0,i=0]=samp.callNative("GetActorSpawnInfo","iIFFFF",e);return{skinId:t,fX:a,fY:n,fZ:r,fAngle:i}},Ki=e=>{const[t=0,a=0,n=0,r=0,i=0,s=0]=samp.callNative("GetVehicleSpawnInfo","iFFFFII",e);return{fX:t,fY:a,fZ:n,fRot:r,color1:i,color2:s}},ji=(e,t,a,n,r,i,s,o,l=-2,c=-2)=>samp.callNative("SetVehicleSpawnInfo","iiFFFFiiii",e,t,a,n,r,i,s,o,l,c),Zi=e=>{const[t=0,a=0]=samp.callNative("GetVehicleColor","iII",e);return{color1:t,color2:a}},Xi=e=>samp.callNative("GetVehiclePaintjob","i",e),Yi=e=>samp.callNative("GetVehicleInterior","i",e),zi=e=>{const[t]=samp.callNative("GetVehicleNumberPlate","iSi",e,33);return t},$i=(e,t)=>samp.callNative("SetVehicleRespawnDelay","ii",e,t),Ji=e=>samp.callNative("GetVehicleRespawnDelay","i",e),Qi=e=>samp.callNative("GetVehicleCab","i",e),qi=e=>samp.callNative("GetVehicleOccupiedTick","i",e),es=(e,t)=>samp.callNative("SetVehicleOccupiedTick","ii",e,t),ts=e=>!!samp.callNative("HasVehicleBeenOccupied","i",e),as=e=>!!samp.callNative("IsVehicleOccupied","i",e),ns=e=>samp.callNative("GetVehicleRespawnTick","i",e),rs=(e,t)=>samp.callNative("SetVehicleRespawnTick","ii",e,t),is=e=>!!samp.callNative("IsVehicleDead","i",e),ss=(e,t)=>!!samp.callNative("SetVehicleDead","ii",e,t),os=(e,t)=>!!samp.callNative("SetVehicleBeenOccupied","ii",e,t),ls=(e,t)=>samp.callNative("ToggleVehicleSirenEnabled","ii",e,t),ds=(e,t)=>samp.callNative("SetVehicleParamsSirenState","ii",e,t),cs=e=>!!samp.callNative("IsVehicleSirenEnabled","i",e),_s=e=>samp.callNative("GetVehicleModelCount","i",e),hs=e=>samp.callNative("GetVehicleLastDriver","i",e),us=e=>samp.callNative("GetVehicleDriver","i",e),ms=()=>samp.callNative("GetVehicleModelsUsed",""),ps=e=>samp.callNative("GetVehicleSirenState","i",e),gs=e=>samp.callNative("GetVehicleLandingGearState","i",e),Ss=e=>samp.callNativeFloat("GetVehicleHydraReactorAngle","i",e),fs=e=>samp.callNativeFloat("GetVehicleTrainSpeed","i",e),ys=e=>{const[t=0,a=0,n=0,r=0,i=0,s=0,o=0,l=0,c=0]=samp.callNative("GetVehicleMatrix","iFFFFFFFFF",e);return{rightX:t,rightY:a,rightZ:n,upX:r,upY:i,upZ:s,atX:o,atY:l,atZ:c}},be=e=>{const[t=0,a=0,n=0,r=0]=samp.callNative("GetRandomCarColPair","iIIII",e);return{color:[t,a,n,r]}},Ps=(e,t=255)=>samp.callNative("CarColIndexToColour","ii",e,t),Es=(e,t,a,n,r,i,s,o,l)=>samp.callNative("CreateVehicle","iffffiiii",e,t,a,n,r,E(i),E(s),o,l),Is=e=>samp.callNative("DestroyVehicle","i",e),As=(e,t)=>!!samp.callNative("IsVehicleStreamedIn","ii",e,t),Ts=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]}},Cs=(e,t,a,n)=>samp.callNative("SetVehiclePos","ifff",e,t,a,n),Ds=e=>{const[t]=samp.callNative("GetVehicleZAngle","iF",e);return t},ws=e=>samp.callNative("GetVehicleRotationQuat","iFFFF",e),bs=(e,t,a,n)=>samp.callNativeFloat("GetVehicleDistanceFromPoint","ifff",e,t,a,n),Ns=(e,t)=>samp.callNative("SetVehicleZAngle","if",e,t),Rs=(e,t,a,n)=>samp.callNative("SetVehicleParamsForPlayer","iiii",e,t,a,n),Ls=()=>samp.callNative("ManualVehicleEngineAndLights",""),vs=(e,t,a,n,r,i,s,o)=>samp.callNative("SetVehicleParamsEx","iiiiiiii",e,t,a,n,r,i,s,o),Os=e=>samp.callNative("GetVehicleParamsEx","iIIIIIII",e),Gs=e=>samp.callNative("GetVehicleParamsSirenState","i",e),Fs=(e,t,a,n,r)=>samp.callNative("SetVehicleParamsCarDoors","iiiii",e,t,a,n,r),Bs=e=>{const t=samp.callNative("GetVehicleParamsCarDoors","iIIII",e);return{driver:t[0],passenger:t[1],backLeft:t[2],backRight:t[3]}},ks=(e,t,a,n,r)=>samp.callNative("SetVehicleParamsCarWindows","iiiii",e,t,a,n,r),Ms=e=>{const t=samp.callNative("GetVehicleParamsCarWindows","iIIII",e);return{driver:t[0],passenger:t[1],backLeft:t[2],backRight:t[3]}},xs=e=>samp.callNative("SetVehicleToRespawn","i",e),Hs=(e,t)=>samp.callNative("LinkVehicleToInterior","ii",e,t),Vs=(e,t)=>samp.callNative("AddVehicleComponent","ii",e,t),Us=(e,t)=>samp.callNative("RemoveVehicleComponent","ii",e,t),Ws=(e,t,a)=>samp.callNative("ChangeVehicleColor","iii",e,E(t),E(a)),Ks=(e,t)=>samp.callNative("ChangeVehiclePaintjob","ii",e,t),js=(e,t)=>samp.callNative("SetVehicleHealth","if",e,t),Zs=e=>{const[t]=samp.callNative("GetVehicleHealth","iF",e);return t},Xs=(e,t)=>samp.callNative("AttachTrailerToVehicle","ii",e,t),Ys=e=>samp.callNative("DetachTrailerFromVehicle","i",e),zs=e=>!!samp.callNative("IsTrailerAttachedToVehicle","i",e),$s=e=>samp.callNative("GetVehicleTrailer","i",e),Js=(e,t)=>samp.callNative("SetVehicleNumberPlate","is",e,t),Qs=e=>samp.callNative("GetVehicleModel","i",e),qs=(e,t)=>samp.callNative("GetVehicleComponentInSlot","ii",e,t),eo=e=>samp.callNative("GetVehicleComponentType","i",e),to=e=>samp.callNative("RepairVehicle","i",e),ao=e=>samp.callNative("GetVehicleVelocity","iFFF",e),no=(e,t,a,n)=>!!samp.callNative("SetVehicleVelocity","ifff",e,t,a,n),ro=(e,t,a,n)=>samp.callNative("SetVehicleAngularVelocity","ifff",e,t,a,n),io=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]}},so=(e,t,a,n,r)=>samp.callNative("UpdateVehicleDamageStatus","iiiii",e,t,a,n,r),oo=(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]}},lo=(e,t)=>samp.callNative("SetVehicleVirtualWorld","ii",e,t),co=e=>samp.callNative("GetVehicleVirtualWorld","i",e),Ne=e=>!!samp.callNative("IsValidVehicle","i",e),_o=(e,t,a,n,r,i,s)=>samp.callNative("AddStaticVehicle","iffffii",e,t,a,n,r,E(i),E(s)),ho=(e,t,a,n,r,i,s,o,l)=>samp.callNative("AddStaticVehicleEx","iffffiiii",e,t,a,n,r,E(i),E(s),o,l),uo=e=>!!samp.callNative("ShowVehicle","i",e),mo=e=>!!samp.callNative("HideVehicle","i",e),po=e=>!!samp.callNative("IsVehicleHidden","i",e),go=e=>!!samp.callNative("IsPlayerInModShop","i",e),So=e=>samp.callNative("GetPlayerSirenState","i",e),fo=e=>samp.callNative("GetPlayerLandingGearState","i",e),yo=e=>samp.callNative("GetPlayerHydraReactorAngle","i",e),Po=e=>samp.callNativeFloat("GetPlayerTrainSpeed","i",e),Eo=(e,t)=>samp.callNative("GetVehicleOccupant","ii",e,t),Re=e=>samp.callNative("GetVehicleMaxPassengers","i",e),Io=e=>samp.callNative("CountVehicleOccupants","i",e),Ao=e=>!!samp.callNative("IsPlayerCheckpointActive","i",e),To=e=>{const[t=0,a=0,n=0,r=0]=samp.callNative("GetPlayerCheckpoint","iFFFF",e);return{fX:t,fY:a,fZ:n,fSize:r}},Co=e=>!!samp.callNative("IsPlayerRaceCheckpointActive","i",e),Do=e=>{const[t=0,a=0,n=0,r=0,i=0,s=0,o=0]=samp.callNative("GetPlayerRaceCheckpoint","iFFFFFFF",e);return{fX:t,fY:a,fZ:n,fNextX:r,fNextY:i,fNextZ:s,fSize:o}},wo=e=>!!samp.callNative("IsMenuDisabled","i",e),bo=(e,t)=>!!samp.callNative("IsMenuRowDisabled","ii",e,t),No=(e,t)=>samp.callNative("GetMenuItems","ii",e,t),Ro=e=>{const[t=0,a=0]=samp.callNative("GetMenuPos","iFF",e);return{fX:t,fY:a}},Lo=e=>{const[t=0,a=0]=samp.callNative("GetMenuColumnWidth","iFF",e);return{fColumn1:t,fColumn2:a}},vo=(e,t)=>{const[a]=samp.callNative("GetMenuColumnHeader","iiSi",e,t,31);return a},Oo=(e,t,a)=>{const[n]=samp.callNative("GetMenuItem","iiiSi",e,t,a,31);return n},Go=(e,t,a,n,r,i)=>samp.callNative("CreateMenu","siffff",e,t,a,n,r,i),Fo=e=>samp.callNative("DestroyMenu","i",e),Bo=(e,t,a)=>samp.callNative("AddMenuItem","iis",e,t,a),ko=(e,t,a)=>samp.callNative("SetMenuColumnHeader","iis",e,t,a),Mo=(e,t)=>samp.callNative("ShowMenuForPlayer","ii",e,t),xo=(e,t)=>samp.callNative("HideMenuForPlayer","ii",e,t),Ho=e=>!!samp.callNative("IsValidMenu","i",e),Vo=e=>samp.callNative("DisableMenu","i",e),Uo=(e,t)=>samp.callNative("DisableMenuRow","ii",e,t),Wo=e=>samp.callNative("GetPlayerMenu","i",e),Ko=e=>!!samp.callNative("IsValidGangZone","i",e),jo=(e,t)=>!!samp.callNative("IsPlayerInGangZone","ii",e,t),Zo=(e,t)=>!!samp.callNative("IsGangZoneVisibleForPlayer","ii",e,t),Xo=(e,t)=>samp.callNative("GangZoneGetColorForPlayer","ii",e,t),Yo=(e,t)=>samp.callNative("GangZoneGetFlashColorForPlayer","ii",e,t),zo=(e,t)=>!!samp.callNative("IsGangZoneFlashingForPlayer","ii",e,t),$o=e=>{const[t=0,a=0,n=0,r=0]=samp.callNative("GangZoneGetPos","iFFFF",e);return{fMinX:t,fMinY:a,fMaxX:n,fMaxY:r}},Jo=(e,t)=>{samp.callNative("UseGangZoneCheck","ii",e,t)},Qo=(e,t,a,n)=>samp.callNative("GangZoneCreate","ffff",e,t,a,n),qo=e=>samp.callNative("GangZoneDestroy","i",e),el=(e,t,a)=>samp.callNative("GangZoneShowForPlayer","iii",e,t,E(a)),tl=(e,t)=>samp.callNative("GangZoneShowForAll","ii",e,E(t)),al=(e,t)=>samp.callNative("GangZoneHideForPlayer","ii",e,t),nl=e=>samp.callNative("GangZoneHideForAll","i",e),rl=(e,t,a)=>samp.callNative("GangZoneFlashForPlayer","iii",e,t,E(a)),il=(e,t)=>samp.callNative("GangZoneFlashForAll","ii",e,E(t)),sl=(e,t)=>samp.callNative("GangZoneStopFlashForPlayer","ii",e,t),ol=e=>samp.callNative("GangZoneStopFlashForAll","i",e),ll=(e,t,a,n,r)=>samp.callNative("CreatePlayerGangZone","iffff",e,t,a,n,r),dl=(e,t)=>samp.callNative("PlayerGangZoneDestroy","ii",e,t),cl=(e,t,a)=>samp.callNative("PlayerGangZoneShow","iii",e,t,a),_l=(e,t)=>samp.callNative("PlayerGangZoneHide","ii",e,t),hl=(e,t,a)=>samp.callNative("PlayerGangZoneFlash","iii",e,t,a),ul=(e,t)=>samp.callNative("PlayerGangZoneStopFlash","ii",e,t),ml=(e,t)=>!!samp.callNative("IsValidPlayerGangZone","ii",e,t),pl=(e,t)=>!!samp.callNative("IsPlayerInPlayerGangZone","ii",e,t),gl=(e,t)=>!!samp.callNative("IsPlayerGangZoneVisible","ii",e,t),Sl=(e,t)=>samp.callNative("PlayerGangZoneGetColor","ii",e,t),fl=(e,t)=>samp.callNative("PlayerGangZoneGetFlashColor","ii",e,t),yl=(e,t)=>!!samp.callNative("IsPlayerGangZoneFlashing","ii",e,t),Pl=(e,t)=>{const[a=0,n=0,r=0,i=0]=samp.callNative("PlayerGangZoneGetPos","iiFFFF",e,t);return{fMinX:a,fMinY:n,fMaxX:r,fMaxY:i}},El=(e,t,a)=>{samp.callNative("UsePlayerGangZoneCheck","iii",e,t,a)},Il=e=>!!samp.callNative("IsValidTextDraw","i",e),Al=(e,t)=>!!samp.callNative("IsTextDrawVisibleForPlayer","ii",e,t),Tl=e=>{const[t]=samp.callNative("TextDrawGetString","iSi",e,1024);return t},Cl=(e,t,a)=>{samp.callNative("TextDrawSetPos","iff",e,t,a)},Dl=e=>{const[t=0,a=0]=samp.callNative("TextDrawGetLetterSize","iFF",e);return{fX:t,fY:a}},wl=e=>{const[t=0,a=0]=samp.callNative("TextDrawGetTextSize","iFF",e);return{fX:t,fY:a}},bl=e=>{const[t=0,a=0]=samp.callNative("TextDrawGetPos","iFF",e);return{fX:t,fY:a}},Nl=e=>samp.callNative("TextDrawGetColor","i",e),Rl=e=>samp.callNative("TextDrawGetBoxColor","i",e),Ll=e=>samp.callNative("TextDrawGetBackgroundColor","i",e),vl=e=>samp.callNative("TextDrawGetShadow","i",e),Ol=e=>samp.callNative("TextDrawGetOutline","i",e),Gl=e=>samp.callNative("TextDrawGetFont","i",e),Fl=e=>!!samp.callNative("TextDrawIsBox","i",e),Bl=e=>!!samp.callNative("TextDrawIsProportional","i",e),kl=e=>!!samp.callNative("TextDrawIsSelectable","i",e),Ml=e=>samp.callNative("TextDrawGetAlignment","i",e),xl=e=>samp.callNative("TextDrawGetPreviewModel","i",e),Hl=e=>{const[t=0,a=0,n=0,r=0]=samp.callNative("TextDrawGetPreviewRot","iFFFF",e);return{fRotX:t,fRotY:a,fRotZ:n,fZoom:r}},Vl=e=>{const[t,a]=samp.callNative("TextDrawGetPreviewVehCol","iII",e);return{color1:t,color2:a}},Ul=(e,t,a)=>{samp.callNative("TextDrawSetStringForPlayer","iia",e,t,a)},Wl=(e,t,a)=>samp.callNative("TextDrawCreate","ffa",e,t,a),Kl=e=>samp.callNative("TextDrawDestroy","i",e),jl=(e,t,a)=>samp.callNative("TextDrawLetterSize","iff",e,t,a),Zl=(e,t,a)=>samp.callNative("TextDrawTextSize","iff",e,t,a),Xl=(e,t)=>samp.callNative("TextDrawAlignment","ii",e,t),Yl=(e,t)=>!!samp.callNative("TextDrawColor","ii",e,E(t)),zl=(e,t)=>samp.callNative("TextDrawUseBox","ii",e,t),$l=(e,t)=>!!samp.callNative("TextDrawBoxColor","ii",e,E(t)),Jl=(e,t)=>samp.callNative("TextDrawSetShadow","ii",e,t),Ql=(e,t)=>samp.callNative("TextDrawSetOutline","ii",e,t),ql=(e,t)=>!!samp.callNative("TextDrawBackgroundColor","ii",e,E(t)),ed=(e,t)=>samp.callNative("TextDrawFont","ii",e,t),td=(e,t)=>samp.callNative("TextDrawSetProportional","ii",e,t),ad=(e,t)=>samp.callNative("TextDrawSetSelectable","ii",e,t),nd=(e,t)=>samp.callNative("TextDrawShowForPlayer","ii",e,t),rd=(e,t)=>samp.callNative("TextDrawHideForPlayer","ii",e,t),id=e=>samp.callNative("TextDrawShowForAll","i",e),sd=e=>samp.callNative("TextDrawHideForAll","i",e),od=(e,t)=>samp.callNative("TextDrawSetString","ia",e,t),ld=(e,t)=>samp.callNative("TextDrawSetPreviewModel","ii",e,t),dd=(e,t,a,n,r=1)=>{samp.callNative("TextDrawSetPreviewRot","iffff",e,t,a,n,r)},cd=(e,t,a)=>!!samp.callNative("TextDrawSetPreviewVehCol","iii",e,E(t),E(a)),_d=(e,t)=>{samp.callNative("SelectTextDraw","ii",e,E(t))},hd=e=>{samp.callNative("CancelSelectTextDraw","i",e)},ud=(e,t)=>!!samp.callNative("IsValidPlayerTextDraw","ii",e,t),md=(e,t)=>!!samp.callNative("IsPlayerTextDrawVisible","ii",e,t),pd=(e,t)=>{const[a]=samp.callNative("PlayerTextDrawGetString","iiSi",e,t,1024);return a},gd=(e,t,a,n)=>{samp.callNative("PlayerTextDrawSetPos","iiff",e,t,a,n)},Sd=(e,t)=>{const[a=0,n=0]=samp.callNative("PlayerTextDrawGetLetterSize","iiFF",e,t);return{fX:a,fY:n}},fd=(e,t)=>{const[a=0,n=0]=samp.callNative("PlayerTextDrawGetTextSize","iiFF",e,t);return{fX:a,fY:n}},yd=(e,t)=>{const[a=0,n=0]=samp.callNative("PlayerTextDrawGetPos","iiFF",e,t);return{fX:a,fY:n}},Pd=(e,t)=>samp.callNative("PlayerTextDrawGetColor","ii",e,t),Ed=(e,t)=>samp.callNative("PlayerTextDrawGetBoxColor","ii",e,t),Id=(e,t)=>samp.callNative("PlayerTextDrawGetBackgroundColor","ii",e,t),Ad=(e,t)=>samp.callNative("PlayerTextDrawGetShadow","ii",e,t),Td=(e,t)=>samp.callNative("PlayerTextDrawGetOutline","ii",e,t),Cd=(e,t)=>samp.callNative("PlayerTextDrawGetFont","ii",e,t),Dd=(e,t)=>!!samp.callNative("PlayerTextDrawIsBox","ii",e,t),wd=(e,t)=>!!samp.callNative("PlayerTextDrawIsProportional","ii",e,t),bd=(e,t)=>!!samp.callNative("PlayerTextDrawIsSelectable","ii",e,t),Nd=(e,t)=>samp.callNative("PlayerTextDrawGetAlignment","ii",e,t),Rd=(e,t)=>samp.callNative("PlayerTextDrawGetPreviewModel","ii",e,t),Ld=(e,t)=>{const[a=0,n=0,r=0,i=0]=samp.callNative("PlayerTextDrawGetPreviewRot","iiFFFF",e,t);return{fRotX:a,fRotY:n,fRotZ:r,fZoom:i}},vd=(e,t)=>{const[a,n]=samp.callNative("PlayerTextDrawGetPreviewVehCol","iiII",e,t);return{color1:a,color2:n}},Od=(e,t,a,n)=>samp.callNative("CreatePlayerTextDraw","iffa",e,t,a,n),Gd=(e,t)=>{samp.callNative("PlayerTextDrawDestroy","ii",e,t)},Fd=(e,t,a,n)=>samp.callNative("PlayerTextDrawLetterSize","iiff",e,t,a,n),Bd=(e,t,a,n)=>samp.callNative("PlayerTextDrawTextSize","iiff",e,t,a,n),kd=(e,t,a)=>samp.callNative("PlayerTextDrawAlignment","iii",e,t,a),Md=(e,t,a)=>!!samp.callNative("PlayerTextDrawColor","iii",e,t,E(a)),xd=(e,t,a)=>samp.callNative("PlayerTextDrawUseBox","iii",e,t,a),Hd=(e,t,a)=>!!samp.callNative("PlayerTextDrawBoxColor","iii",e,t,E(a)),Vd=(e,t,a)=>samp.callNative("PlayerTextDrawSetShadow","iii",e,t,a),Ud=(e,t,a)=>samp.callNative("PlayerTextDrawSetOutline","iii",e,t,a),Wd=(e,t,a)=>!!samp.callNative("PlayerTextDrawBackgroundColor","iii",e,t,E(a)),Kd=(e,t,a)=>samp.callNative("PlayerTextDrawFont","iii",e,t,a),jd=(e,t,a)=>samp.callNative("PlayerTextDrawSetProportional","iii",e,t,a),Zd=(e,t,a)=>samp.callNative("PlayerTextDrawSetSelectable","iii",e,t,a),Xd=(e,t)=>samp.callNative("PlayerTextDrawShow","ii",e,t),Yd=(e,t)=>samp.callNative("PlayerTextDrawHide","ii",e,t),zd=(e,t,a)=>samp.callNative("PlayerTextDrawSetString","iia",e,t,a),$d=(e,t,a)=>samp.callNative("PlayerTextDrawSetPreviewModel","iii",e,t,a),Jd=(e,t,a,n,r,i)=>samp.callNative("PlayerTextDrawSetPreviewRot","iiffff",e,t,a,n,r,i),Qd=(e,t,a,n)=>!!samp.callNative("PlayerTextDrawSetPreviewVehCol","iiii",e,t,a,n),qd=(e,t)=>!!samp.callNative("EditAttachedObject","ii",e,t),ec=e=>!!samp.callNative("BeginObjectSelecting","i",e),tc=e=>!!samp.callNative("EndObjectEditing","i",e),ac=e=>!!samp.callNative("SetObjectsDefaultCameraCol","i",e),nc=(e,t,a,n,r)=>samp.callNative("AddSimpleModel","iiiss",e,t,a,n,r),rc=(e,t,a,n,r,i,s)=>samp.callNative("AddSimpleModelTimed","iiissii",e,t,a,n,r,i,s),ic=(e,t)=>samp.callNative("RedirectDownload","is",e,t),sc=e=>{const[t]=samp.callNative("FindModelFileNameFromCRC","iSi",e,255);return t},oc=e=>{const[t]=samp.callNative("FindTextureFileNameFromCRC","iSi",e,255);return t},lc=(e,t)=>{const[a=0,n=0,r=0,i=0,s=0,o=0,l=0,c=0,u=0,p=0,g=0,y=0,I=0]=samp.callNative("GetPlayerAttachedObject","iiIIFFFFFFFFFII",e,t);return{modelId:a,bone:n,fX:r,fY:i,fZ:s,fRotX:o,fRotY:l,fRotZ:c,fScaleX:u,fScaleY:p,fScaleZ:g,materialColor1:y,materialColor2:I}},dc=(e,t,a,n,r,i,s,o,l,c,u,p,g,y,I)=>samp.callNative("SetPlayerAttachedObject","iiiifffffffffii",e,t,a,n,r,i,s,o,l,c,u,p,g,E(y),E(I)),cc=(e,t)=>samp.callNative("RemovePlayerAttachedObject","ii",e,t),_c=(e,t)=>!!samp.callNative("IsPlayerAttachedObjectSlotUsed","ii",e,t),Le=e=>!!samp.callNative("IsValidCustomModel","i",e),hc=e=>{if(!Le(e))return null;const[t,a]=samp.callNative("GetCustomModePath","iSiSi",e,255,255);return{dffPath:t,txdPath:a}};var ve=(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))(ve||{}),Oe=(e=>(e[e.SCOREBOARD=0]="SCOREBOARD",e))(Oe||{}),he=(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))(he||{}),Ge=(e=>(e[e.CANCEL=0]="CANCEL",e[e.FINAL=1]="FINAL",e[e.UPDATE=2]="UPDATE",e))(Ge||{}),Fe=(e=>(e[e.NO_ACTION=0]="NO_ACTION",e[e.DISCONNECT_ASAP=1]="DISCONNECT_ASAP",e[e.DISCONNECT_ASAP_SILENTLY=2]="DISCONNECT_ASAP_SILENTLY",e[e.DISCONNECT_ON_NO_ACK=3]="DISCONNECT_ON_NO_ACK",e[e.REQUESTED_CONNECTION=4]="REQUESTED_CONNECTION",e[e.HANDLING_CONNECTION_REQUEST=5]="HANDLING_CONNECTION_REQUEST",e[e.UNVERIFIED_SENDER=6]="UNVERIFIED_SENDER",e[e.SET_ENCRYPTION_ON_MULTIPLE_16_BYTE_PACKET=7]="SET_ENCRYPTION_ON_MULTIPLE_16_BYTE_PACKET",e[e.CONNECTED=8]="CONNECTED",e))(Fe||{}),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.NONE=0]="NONE",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||{}),G=(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))(G||{}),ke=(e=>(e[e.OFF=0]="OFF",e[e.GLOBAL=1]="GLOBAL",e[e.STREAMED=2]="STREAMED",e))(ke||{}),Me=(e=>(e[e.NONE=1]="NONE",e[e.DRIVER=2]="DRIVER",e[e.ONFOOT=3]="ONFOOT",e))(Me||{}),F=(e=>(e[e.none=0]="none",e[e.start=1]="start",e[e.pause=2]="pause",e))(F||{}),xe=(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))(xe||{}),He=(e=>(e[e.LEFT=0]="LEFT",e[e.CENTER=1]="CENTER",e[e.RIGHT=2]="RIGHT",e))(He||{}),Ve=(e=>(e[e.GLOBAL_OBJECT=1]="GLOBAL_OBJECT",e[e.PLAYER_OBJECT=2]="PLAYER_OBJECT",e))(Ve||{}),Ue=(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))(Ue||{}),We=(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))(We||{}),ae=(e=>(e[e.MOVE=1]="MOVE",e[e.CUT=2]="CUT",e))(ae||{}),Ke=(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))(Ke||{}),oe=(e=>(e[e.NORMAL=1]="NORMAL",e[e.FIXED=2]="FIXED",e[e.SIDE=3]="SIDE",e))(oe||{}),$=(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))($||{}),je=(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))(je||{}),Ze=(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))(Ze||{}),Xe=(e=>(e[e.UNKNOWN=-1]="UNKNOWN",e[e.NONE=0]="NONE",e[e.ALL=1]="ALL",e[e.OTHER=2]="OTHER",e))(Xe||{}),ue=(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))(ue||{}),ne=(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))(ne||{}),Ye=(e=>(e[e.LEFT=1]="LEFT",e[e.CENTER=2]="CENTER",e[e.RIGHT=3]="RIGHT",e))(Ye||{}),ze=(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))(ze||{}),$e=(e=>(e[e.UNSET=-1]="UNSET",e[e.OFF=0]="OFF",e[e.ON=1]="ON",e))($e||{}),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||{}),Qe=(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))(Qe||{}),qe=(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))(qe||{}),et=(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))(et||{}),tt=(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))(tt||{}),me=(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))(me||{}),at=(e=>(e[e.NONE=0]="NONE",e[e.DRIVER=1]="DRIVER",e[e.ONFOOT=2]="ONFOOT",e))(at||{});class B{constructor(){throw new Error("This is a static class and cannot be instantiated.")}static recordStatus;static connect=Aa;static startRecordingPlayerData(t,a,n){if(t.isRecording)throw new Error("[NpcFunc]: It should be stopped before recording");di(t.id,a,n),t.isRecording=!0}static stopRecordingPlayerData(t){if(!t.isRecording)throw new Error("[NpcFunc]: It should be started before stop");ci(t.id),t.isRecording=!1}static startRecordingPlayback(t,a){if(B.recordStatus>=F.start)throw new Error("[NpcFunc]: The current status cannot be replayed");ki(t,a),B.recordStatus=F.start}static stopRecordingPlayback(){if(B.recordStatus<F.start)throw new Error("[NpcFunc]: The current status cannot be stopped");Mi(),B.recordStatus=F.none}static pauseRecordingPlayback(){if(B.recordStatus!==F.start)throw new Error("[NpcFunc]: The current status cannot be paused");xi(),B.recordStatus=F.pause}static resumeRecordingPlayback(){if(B.recordStatus!==F.pause)throw new Error("[NpcFunc]: The current status cannot be paused");Hi(),B.recordStatus=F.start}}const nt=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}]]]),pe=e=>{const t=nt.get(e);return t===void 0?!1:t},ge=(e,t)=>{const a=pe(e);if(a)return t==="null"?!0:a.some(n=>n.n===t)},uc=(e,t)=>{const a=pe(e);if(a)return a.find(n=>n.n===t)?.d},K=(e,t)=>{const a=t.replace("-","")==="utf8"?e:P.encodeToBuf(e,t);return[a instanceof Array?"a":"s",a]},rt=(e,t,a)=>{const n=K(a,e.charset);return samp.callNative("SendClientMessage",`ii${n[0]}`,e.id,E(t),n[1])},mc=(e,t,a)=>(e.forEach(n=>rt(n,t,a)),1),it=(e,t,a)=>{const n=K(a,e.charset);return samp.callNative("SendPlayerMessageToPlayer",`ii${n[0]}`,e.id,t,n[1])},pc=(e,t,a)=>(e.forEach(n=>{it(n,t,a)}),1),gc=(e,t,a)=>{const{charset:n}=e,{style:r,caption:i,info:s,button1:o,button2:l}=a,[c,u]=K(i||"",n),[,p]=K(s||"",n),[,g]=K(o||"",n),[,y]=K(l||"",n);return samp.callNative("ShowPlayerDialog",`iii${c.repeat(4)}`,e.id,t,r,u,p,g,y)},Sc=e=>{const[t]=samp.callNative("GetPlayerName","iAi",e.id,G.MAX_PLAYER_NAME);return P.decodeFromBuf(P.getValidStr(t),e.charset)},fc=(e,t)=>samp.callNative("SetPlayerName","ia",e.id,P.encodeToBuf(t,e.charset)),yc=(e,t,a)=>{const n=P.encodeToBuf(t,a);return samp.callNative("BanEx","ia",e,n)},Pc=(e,t="utf8")=>{const[a,n]=K(e,t);return samp.callNative("SendRconCommand",a,n)},Ec=(e,t,a,n,r,i,s,o,l,c,u,p,g,y,I,R)=>{const O=P.encodeToBuf(t,e);return samp.callNative("CreateDynamic3DTextLabel","aiffffiiiiiifii",O,a,n,r,i,s,o,l,c,u,p,g,y,I,R)},Ic=(e,t,a,n,r,i,s,o,l,c,u,p,g,y,I,R)=>{const O=P.encodeToBuf(e,R);return samp.callNative("CreateDynamic3DTextLabelEx","aiffffiiifaaaaiiiii",O,t,a,n,r,i,s,o,l,c,u,p,g,y,I,u.length,p.length,g.length,y.length)},Ac=(e,t,a,n)=>{const r=P.encodeToBuf(a,n);return samp.callNative("UpdateDynamic3DTextLabelText","iia",e,t,r)},Tc=(e,t)=>{const[a]=samp.callNative("GetDynamic3DTextLabelText","iAi",e,1024);return P.decodeFromBuf(P.getValidStr(a),t)},Cc=(e,t,a,n,r,i,s,o,l,c,u)=>{const p=P.encodeToBuf(n,e),g=P.encodeToBuf(i,e);return samp.callNative("SetDynamicObjectMaterialText","iiaiaiiiii",t,a,p,r,g,s,o,l,c,u)},Dc=(e,t,a)=>{const[n,r,i,s,o,l,c]=samp.callNative("GetDynamicObjectMaterialText","iiAIAIIIIIii",e,t,2048,32),u=P.decodeFromBuf(n,a),p=P.decodeFromBuf(i,a);return{text:u,materialSize:r,fontFace:p,bold:s,fontColor:o,backColor:l,textAlignment:c}},wc=(e,t,a,n,r,i)=>{const s=P.encodeToBuf(t,i);return!!samp.callNative("SetPlayerChatBubble","iaifi",e,s,E(a),n,r)},bc=[8,9,10,25,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,96,97,98],Nc=[[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],[],[],[],[],[],[],[],[]],Rc=(e,t)=>{if(!Se(e))return!1;const a=Nc[e-400];if(a===null)return!1;const n=t-1e3;return bc.includes(n)||a.includes(n)},Se=e=>e>=400&&e<=611,Lc=(e,t)=>{if(t<0||t>2)return!1;const a=new Map([[483,0],[534,2],[535,2],[536,2],[558,2],[559,2],[560,2],[561,2],[562,2],[565,2],[567,2],[575,1],[576,2]]).get(e);return a===void 0?!1:t<=a};class A{static vehicles=new Map;static createdCount=0;sourceInfo;isStatic;_id=-1;get id(){return this._id}constructor(t,a=!1){this.sourceInfo=t,this.isStatic=a}create(t=!1){if(this.id!==-1)throw new Error("[Vehicle]: Unable to create the vehicle again");if(A.createdCount===G.MAX_VEHICLES)throw new Error("[Vehicle]: Unable to continue to create vehicle, maximum allowable quantity has been reached");const{modelId:a,x:n,y:r,z:i,zAngle:s,color:o,respawnDelay:l,addSiren:c}=this.sourceInfo;if(!(!t&&!Se(a))){if(this.isStatic){if(l===void 0){this._id=_o(a,n,r,i,s,o[0],o[1]);return}this._id=ho(a,n,r,i,s,o[0],o[1],l||-1,c||!1)}else this._id=Es(a,n,r,i,s,o[0],o[1],l||-1,c||!1);A.createdCount++,A.vehicles.set(this._id,this)}}destroy(){if(this.id===-1)throw new Error("[Vehicle]: Unable to destroy the vehicle before create");Is(this.id),A.createdCount--,A.vehicles.delete(this._id),this._id=-1}addComponent(t){if(this.id===-1)return 0;if(!Rc(this.getModel(),t))throw new Error(`[Vehicle]: Invalid component id ${t} attempted to attach to the vehicle ${this}`);return Vs(this.id,t)}removeComponent(t){if(this.getComponentInSlot(A.getComponentType(t))===0)throw new Error(`[Vehicle]: component id ${t} does not exist on this vehicle`);return Us(this.id,t)}getComponentInSlot(t){return qs(this.id,t)}linkToInterior(t){return this.id===-1?0:Hs(this.id,t)}setVirtualWorld(t){return this.id===-1?0:lo(this.id,t)}getVirtualWorld(){return this.id===-1?0:co(this.id)}repair(){return this.id===-1?0:to(this.id)}setPos(t,a,n){return this.id===-1?0:Cs(this.id,t,a,n)}getPos(){if(this.id===-1)throw new Error("[Vehicle]: Unable to getPos before create");return Ts(this.id)}getHealth(){return this.id===-1?0:Zs(this.id)}setHealth(t){return this.id===-1?0:js(this.id,t)}isPlayerIn(t){return this.id===-1?!1:mi(t.id,this.id)}putPlayerIn(t,a){if(this.id===-1||a<0)return 0;if(a>4)throw new Error("[Vehicle]: If the seat is invalid or is taken, will cause a crash when they EXIT the vehicle.");return Zr(t.id,this.id,a)}getZAngle(){return this.id===-1?0:Ds(this.id)}setZAngle(t){return this.id===-1?0:Ns(this.id,t)}setNumberPlate(t){if(this.id===-1)return 0;if(t.length<1||t.length>32)throw new Error("[Vehicle]: The length of the number plate ranges from 32 characters");if(!/^[a-zA-Z0-9]+$/.test(t))throw new Error("[Vehicle]: number plates only allow letters and numbers");return Js(this.id,t)}changeColors(t,a){return this.id===-1?0:Ws(this.id,t,a)}setVelocity(t,a,n){return this.id===-1?!1:no(this.id,t,a,n)}getVelocity(){if(this.id===-1)throw new Error("[Vehicle]: Unable to getVelocity before create");const[t,a,n]=ao(this.id);return{x:t,y:a,z:n}}getSpeed(t=180){if(this.id===-1)return 0;const{x:a,y:n,z:r}=this.getVelocity();return _e(a,n,r)*t}setAngularVelocity(t,a,n){return this.id===-1?0:ro(this.id,t,a,n)}getDamageStatus(){if(this.id!==-1)return io(this.id)}updateDamageStatus(t,a,n,r){this.id!==-1&&so(this.id,t,a,n,r)}getDistanceFromPoint(t,a,n){return bs(this.id,t,a,n)}getModel(){return Qs(this.id)}static getModelInfo(t,a){return oo(t,a)}getModelInfo(t){if(this.id===-1)throw new Error("[Vehicle]: Unable to getModelInfo before create");return A.getModelInfo(this.getModel(),t)}getRotationQuat(){if(this.id===-1)return;const[t,a,n,r]=ws(this.id);return{w:t,x:a,y:n,z:r}}setRespawn(){return this.id===-1?0:xs(this.id)}isStreamedIn(t){return this.id===-1?!1:As(this.id,t.id)}setParamsCarDoors(t,a,n,r){return this.id===-1?0:Fs(this.id,t,a,n,r)}setParamsCarWindows(t,a,n,r){return this.id===-1?0:ks(this.id,t,a,n,r)}getParamsCarDoors(){if(this.id!==-1)return Bs(this.id)}getParamsCarWindows(){if(this.id!==-1)return Ms(this.id)}setParamsEx(t,a,n,r,i,s,o){return this.id===-1?0:vs(this.id,t,a,n,r,i,s,o)}getParamsEx(){if(this.id===-1)return{engine:-1,lights:-1,alarm:-1,doors:-1,bonnet:-1,boot:-1,objective:-1};const[t,a,n,r,i,s,o]=Os(this.id);return{engine:t,lights:a,alarm:n,doors:r,bonnet:i,boot:s,objective:o}}toggleEngine(t){if(this.id===-1)return 0;const{lights:a,alarm:n,doors:r,bonnet:i,boot:s,objective:o}=this.getParamsEx();return this.setParamsEx(t,a,n,r,i,s,o)}toggleLights(t){if(this.id===-1)return 0;const{engine:a,alarm:n,doors:r,bonnet:i,boot:s,objective:o}=this.getParamsEx();return this.setParamsEx(a,t,n,r,i,s,o)}toggleAlarm(t){if(this.id===-1)return 0;const{engine:a,lights:n,doors:r,bonnet:i,boot:s,objective:o}=this.getParamsEx();return this.setParamsEx(a,n,t,r,i,s,o)}toggleDoors(t){if(this.id===-1)return 0;const{engine:a,lights:n,alarm:r,bonnet:i,boot:s,objective:o}=this.getParamsEx();return this.setParamsEx(a,n,r,t,i,s,o)}toggleBonnet(t){if(this.id===-1)return 0;const{engine:a,lights:n,alarm:r,doors:i,boot:s,objective:o}=this.getParamsEx();return this.setParamsEx(a,n,r,i,t,s,o)}toggleBoot(t){if(this.id===-1)return 0;const{engine:a,lights:n,alarm:r,doors:i,bonnet:s,objective:o}=this.getParamsEx();return this.setParamsEx(a,n,r,i,s,t,o)}toggleObjective(t){if(this.id===-1)return 0;const{engine:a,lights:n,alarm:r,doors:i,bonnet:s,boot:o}=this.getParamsEx();return this.setParamsEx(a,n,r,i,s,o,t)}getParamsSirenState(){return this.id===-1?-2:Gs(this.id)}setParamsForPlayer(t,a,n){return this.id===-1?0:Rs(this.id,t.id,a,n)}isTrailerAttached(){return this.id===-1?!1:zs(this.id)}changePaintjob(t){return this.id===-1||!Lc(this.getModel(),t)?0:(this.changeColors("#fff","#fff"),Ks(this.id,t),1)}attachTrailer(t){return this.id===-1?0:Xs(t.id,this.id)}detachTrailer(){this.id!==-1&&this.isTrailerAttached()&&Ys(this.id)}getTrailer(){if(this.id!==-1)return A.getInstances().find(t=>t.id===$s(this.id))}isValid(){return Ne(this.id)}getMatrix(){if(this.id!==-1)return ys(this.id)}getTrainSpeed(){return this.id===-1?0:fs(this.id)}getHydraReactorAngle(){return this.id===-1?0:Ss(this.id)}getLandingGearState(){return this.id===-1?0:gs(this.id)}getSirenState(){return this.id===-1?0:ps(this.id)}getDriver(t){if(this.id!==-1)return t.get(us(this.id))}getLastDriver(t){if(this.id!==-1)return t.get(hs(this.id))}isSirenEnabled(){return cs(this.id)}toggleSirenEnabled(t){return this.id===-1?0:ls(this.id,t)}setParamsSirenState(t){return this.id===-1?0:ds(this.id,t)}isDead(){return this.id===-1?!0:is(this.id)}setDead(t){return this.id===-1?!1:ss(this.id,t)}setBeenOccupied(t){return this.id===-1?!1:os(this.id,t)}getRespawnTick(){return this.id===-1?0:ns(this.id)}setRespawnTick(t){return this.id===-1?!1:rs(this.id,t)}isOccupied(){return this.id===-1?!1:as(this.id)}hasBeenOccupied(){return this.id===-1?!1:ts(this.id)}getOccupiedTick(){return this.id===-1?0:qi(this.id)}setOccupiedTick(t){return this.id===-1?0:es(this.id,t)}getCab(){return this.id===-1?0:Qi(this.id)}getRespawnDelay(){return this.id===-1?0:Ji(this.id)}setRespawnDelay(t){return this.id===-1?0:$i(this.id,t)}getNumberPlate(){return this.id===-1?"":zi(this.id)}getInterior(){return this.id===-1?0:Yi(this.id)}getPaintjob(){return this.id===-1?-1:Xi(this.id)}getColors(){if(this.id!==-1)return Zi(this.id)}setSpawnInfo(t,a,n,r,i,s,o,l=-2,c=-2,u=!1){return this.id===-1||!u&&!Se(t)?0:ji(this.id,t,a,n,r,i,E(s),E(o),l,c)}getSpawnInfo(){if(this.id!==-1)return Ki(this.id)}getRandomColorPair(){if(this.id!==-1)return be(this.getModel())}show(){return this.id===-1?!1:uo(this.id)}hide(){return this.id===-1?!1:mo(this.id)}isHidden(){return this.id===-1?!1:po(this.id)}getVehicleOccupant(t){return Eo(this.id,t)}getVehicleMaxPassengers(){return Re(this.getModel())}countVehicleOccupants(){return Io(this.getModel())}static getVehicleMaxPassengers=Re;static getRandomColorPair=be;static getComponentType=eo;static colorIndexToColor=Ps;static isValid=Ne;static getModelsUsed=ms;static getModelCount=_s;static getInstance(t){return this.vehicles.get(t)}static getInstances(){return[...this.vehicles.values()]}}const[st]=h({name:"OnClientCheckResponse",beforeEach(e,t,a,n){return{player:m.getInstance(e),actionId:t,memAddr:a,data:n}}}),[vc,Oc]=h({name:"OnPlayerLocaleChange",isNative:!1,beforeEach(e,t,a){return{player:e,newLocale:t,oldLocale:a}}}),[Gc,Fc]=h({name:"OnPlayerCharsetChange",isNative:!1,beforeEach(e,t,a){return{player:e,newCharset:t,oldCharset:a}}});class m{constructor(t){this.id=t;const a=m.getInstance(t);if(a)return a}static players=new Map;static MAX_CHECK_ANDROID_DELAY=10;static SKIP_CHECK_ANDROID=!1;_charset="ISO-8859-1";_locale="en_US";_isAndroid=!0;lastDrunkLevel=0;lastFps=0;lastUpdateTick=0;lastUpdateFpsTick=0;isPaused=!1;isRecording=!1;get charset(){return this._charset}set charset(t){const a=this._charset;this._charset=t,Fc(this,t,a)}get locale(){return this._locale}set locale(t){const a=this._locale;this._locale=t,Oc(this,t,a)}sendClientMessage(t,a){return rt(this,t,a)}static sendClientMessageToAll(t,a){mc(m.getInstances(),t,a)}sendMessageToPlayer(t,a){return it(t,this.id,a)}sendMessageToAll(t){return pc(m.getInstances(),this.id,t)}isNpc(){return Hn(this.id)}getFps(){return this.lastFps}getDrunkLevel(){return lr(this.id)}setDrunkLevel(t){if(t<0||t>5e4)throw new Error("[Player]: player's drunk level ranges from 0 to 50000");return dr(this.id,t)}allowTeleport(t){return vn(this.id,t)}isTeleportAllowed(){return On(this.id)}enableCameraTarget(t){return wi(this.id,t)}enableStuntBonus(t){return si(this.id,t)}getInterior(){return zn(this.id)}setInterior(t){return Yn(this.id,t)}showNameTag(t,a){return Pi(this.id,t.id,a)}setColor(t){return cr(this.id,t)}getColor(){return _r(this.id)}setMarker(t,a){fi(this.id,t.id,a)}getMarker(t){return yi(this.id,t.id)}resetMoney(){return yr(this.id)}getMoney(){return Pr(this.id)}giveMoney(t){return fr(this.id,t)}resetWeapons(){return pr(this.id)}spawn(){return this.isSpectating()?(this.toggleSpectating(!1),1):ka(this.id)}setHealth(t){return $n(this.id,t)}getHealth(){return Jn(this.id)}toggleClock(t){return wr(this.id,t)}toggleControllable(t){return $r(this.id,t)}toggleSpectating(t){return _i(this.id,t)}spectatePlayer(t,a=oe.NORMAL){return hi(this.id,t.id,a)}spectateVehicle(t,a=oe.NORMAL){return ui(this.id,t.id,a)}forceClassSelection(){return Nr(this.id)}kick(){return $a(this.id)}ban(){return Ja(this.id)}banEx(t,a){return yc(this.id,t,a)}isAdmin(){return Ya(this.id)}isInRangeOfPoint(t,a,n,r){return jn(this.id,t,a,n,r)}isStreamedIn(t){return Xn(this.id,t.id)}setSkin(t,a=!1){return!a&&(t<0||t>311||t===74)||this.getHealth()<=0||this.isInAnyVehicle()||this.getSpecialAction()===ue.DUCK?!1:hr(this.id,t)}getSkin(){return ur(this.id)}isInAnyVehicle(){return pi(this.id)}getSpecialAction(){return ti(this.id)}setSpecialAction(t){return ai(this.id,t)}setScore(t){return sr(this.id,t)}getScore(){return or(this.id)}getPing(){return Ir(this.id)||0}setPos(t,a,n){return De(this.id,t,a,n)}getPos(){if(this.isSpectating()||this.isWasted()||this.getState()===$.NONE)return;const[t,a,n]=Un(this.id);return{x:t,y:a,z:n}}isSpectating(){return this.getState()===$.SPECTATING}isWasted(){return this.getState()===$.WASTED}getState(){return Er(this.id)}getVersion(){return this.isNpc()?"":dn(this.id)}setVirtualWorld(t){return ri(this.id,t)}getVirtualWorld(){return ii(this.id)}removeFromVehicle(){return zr(this.id)}setWantedLevel(t){if(t<0||t>6)throw new Error("[Player]: player's wanted level ranges from 0 to 6");return Rr(this.id,t)}getWantedLevel(){return Lr(this.id)}setFacingAngle(t){return Wn(this.id,t)}getFacingAngle(){return Kn(this.id)}setWeather(t){if(t<0||t>255)throw new Error("[Player]: The valid weather value is only 0 to 255");return br(this.id,t)}getWeather(){return un(this.id)}setTime(t,a){if(t<0||t>23)throw new Error("[Player]: The valid hour value is only 0 to 23");if(a<0||a>59)throw new Error("[Player]: The valid minute value is only 0 to 59");return Cr(this.id,t,a)}getTime(){const[t,a]=Dr(this.id);return{hour:t,minute:a}}removeBuilding(t,a,n,r,i){return Kr(this.id,t,a,n,r,i)}setTeam(t){t<0||t>C.NO_TEAM||rr(this.id,t)}getTeam(){return ir(this.id)}setSkillLevel(t,a){if(a<0||a>999)throw new Error("[Player]: The valid skill level is only 0 to 999");return Hr(this.id,t,a)}getName(){return Sc(this)}setName(t){return fc(this,t)}setVelocity(t,a,n){return Gr(this.id,t,a,n)}getVelocity(){const[t,a,n]=Fr(this.id);return{x:t,y:a,z:n}}getSpeed(t=180){if(this.id===-1)return 0;const{x:a,y:n,z:r}=this.getVelocity();return _e(a,n,r)*t}getKeys(){const[t,a,n]=Tr(this.id);return{keys:t,upDown:a,leftRight:n}}getIp(){return ln(this.id)}getFightingStyle(){return Or(this.id)}setFightingStyle(t){return vr(this.id,t)}setArmour(t){return Qn(this.id,t)}getArmour(){return qn(this.id)}setCameraBehind(){return Ai(this.id)}setCameraPos(t,a,n){return Ei(this.id,t,a,n)}setCameraLookAt(t,a,n,r=ae.CUT){return Ii(this.id,t,a,n,r)}getCameraAspectRatio(){return Ri(this.id)}getCameraFrontVector(){const[t,a,n]=Ci(this.id);return{x:t,y:a,z:n}}getCameraMode(){return Di(this.id)}getCameraPos(){const[t,a,n]=Ti(this.id);return{x:t,y:a,z:n}}getCameraTargetPlayer(){const t=Ni(this.id);return m.getInstances().find(a=>a.id===t)}getCameraTargetVehicle(){const t=bi(this.id);return A.getInstances().find(a=>a.id===t)}getCameraZoom(){return Li(this.id)}playAudioStream(t,a=0,n=0,r=0,i=5){let s=!1;return(a!==0||n!==0||r!==0)&&(s=!0),kr(this.id,t,a,n,r,i,s)}stopAudioStream(){return Mr(this.id)}playSound(t,a=0,n=0,r=0){return Jr(this.id,t,a,n,r)}static getMaxPlayers(){return ia()}playCrimeReport(t,a){if(a<3||a>22)throw new Error("[Player]: Available crime ids range from 3 to 22");return Br(this.id,t.id,a)}interpolateCameraPos(t,a,n,r,i,s,o,l=ae.CUT){return vi(this.id,t,a,n,r,i,s,o,l)}interpolateCameraLookAt(t,a,n,r,i,s,o,l=ae.CUT){return Oi(this.id,t,a,n,r,i,s,o,l)}createExplosion(t,a,n,r,i){if(r<0||r>13)throw new Error("[Player]: The valid explosion type value is only 0 to 13");return li(this.id,t,a,n,r,i)}static isConnected(t){return we(t)}isConnected(){return we(this.id)}disableRemoteVehicleCollisions(t){return ni(this.id,t)}getVehicle(){if(!this.isInAnyVehicle())return;const t=Xr(this.id);return A.getInstances().find(a=>a.id===t)}getVehicleSeat(){return Yr(this.id)}getSurfingVehicle(){const t=Vr(this.id);if(t!==C.VEHICLE_ID)return A.getInstances().find(a=>a.id===t)}applyAnimation(t,a,n=4.1,r=!1,i=!0,s=!0,o=!1,l=0,c=!1){if(!ge(t,a))throw new Error("[Player]: Invalid anim library or name");return Qr(this.id,t,a,n,r,i,s,o,l,+c)}clearAnimations(t=!1){return qr(this.id,t)}getAnimationIndex(){return ei(this.id)}getAnimationName(t=this.getAnimationIndex()){const[a,n]=Ca(t);return{index:t,animLib:a,animName:n}}setShopName(t){return xr(this.id,t)}setPosFindZ(t,a,n=150){return new Promise(r=>{De(this.id,t,a,n),setTimeout(()=>r(Vn(this.id,t,a,n)))})}setWorldBounds(t,a,n,r){return gi(this.id,t,a,n,r)}clearWorldBounds(){return Si(this.id)}setChatBubble(t,a,n,r,i=this.charset){return wc(this.id,t,a,n,r,i)}getDistanceFromPoint(t,a,n){return Zn(this.id,t,a,n)}getCustomSkin(){return oi(this.id)}getTargetPlayer(){const t=nr(this.id);if(t!==C.PLAYER_ID)return m.getInstances().find(a=>a.id===t)}getLastShotVectors(){const[t,a,n,r,i,s]=jr(this.id);return{fOriginX:t,fOriginY:a,fOriginZ:n,fHitPosX:r,fHitPosY:i,fHitPosZ:s}}getWeapon(){return Ar(this.id)}getWeaponData(t){if(t<0||t>12)throw new Error("[Player]: weapon slots range from 0 to 12");const[a,n]=Sr(this.id,t);return{weapons:a,ammo:n}}getWeaponState(){return ar(this.id)}giveWeapon(t,a){return mr(this.id,t,a)}setAmmo(t,a){return er(this.id,t,a)}getAmmo(){return tr(this.id)}setArmedWeapon(t){return gr(this.id,t)}clearDeathMessage(){for(let t=0;t<5;t++)this.sendDeathMessageToPlayer(C.PLAYER_ID,C.PLAYER_ID,me.CONNECT)}sendDeathMessage(t,a){return ra(t===C.PLAYER_ID?t:t.id,this.id,a)}sendDeathMessageToPlayer(t,a,n){return Mn(this.id,t===C.PLAYER_ID?t:t.id,a===C.PLAYER_ID?a:a.id,n)}setSpawnInfo(t,a,n,r,i,s,o,l,c,u,p,g){return t<0||t>C.NO_TEAM||a<0||a>311||a===74||l<0||u<0||g<0?!1:Ba(this.id,t,a,n,r,i,s,o,l,c,u,p,g)}redirectDownload(t){return ic(this.id,t)}sendClientCheck(t,a,n,r){const i=[2,5,69,70,71,72];if(!i.includes(t))throw new Error(`[Player]: sendClientCheck valid types are ${i.toString()}`);return 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 l="[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=st(({player:y,actionId:I,memAddr:R,data:O,next:ee})=>(y!==this||(p&&(clearTimeout(p),p=null),s({actionId:I,memAddr:R,data:O})),ee()));p=setTimeout(()=>{g(),o(l)},u),nn(this.id,t,a,n,r)})}selectTextDraw(t){_d(this.id,t)}cancelSelectTextDraw(){hd(this.id)}beginObjectSelecting(){return ec(this.id)}endObjectEditing(){return tc(this.id)}getSurfingObject(t){const a=Ur(this.id);if(a!==C.OBJECT_ID)return t.get(a)}getSurfingPlayerObject(t){const a=Wr(this.id);if(a!==C.OBJECT_ID)return t.get(a)}isAttachedObjectSlotUsed(t){return _c(this.id,t)}editAttachedObject(t){return qd(this.id,t)}setAttachedObject(t,a,n,r=0,i=0,s=0,o=0,l=0,c=0,u=1,p=1,g=1,y=0,I=0){return this.isAttachedObjectSlotUsed(t)?0:dc(this.id,t,a,n,r,i,s,o,l,c,u,p,g,y,I)}removeAttachedObject(t){return this.isAttachedObjectSlotUsed(t)?cc(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 cn(this.id,t)}isWidescreenToggled(){return _n(this.id)}getSpawnInfo(){return Ma(this.id)}getSkillLevel(t){return hn(this.id,t)}isCheckpointActive(){return Ao(this.id)}getCheckpoint(){return To(this.id)}isRaceCheckpointActive(){return Co(this.id)}getRaceCheckpoint(){return Do(this.id)}getWorldBounds(){mn(this.id)}isInModShop(){return go(this.id)}getSirenState(){return So(this.id)}getLandingGearState(){return fo(this.id)}getHydraReactorAngle(){return yo(this.id)}getTrainSpeed(){return Po(this.id)}getZAim(){return pn(this.id)}getSurfingOffsets(){return gn(this.id)}getRotationQuat(){return Sn(this.id)}getDialogID(){return fn(this.id)}getSpectateID(){return yn(this.id)}getSpectateType(){return Pn(this.id)}getRawIp(){return on(this.id)}setGravity(t){return En(this.id,t)}getGravity(){return In(this.id)}setAdmin(t){return za(this.id,t)}isSpawned(){return An(this.id)}isControllable(){return Tn(this.id)}isCameraTargetEnabled(){return Cn(this.id)}toggleGhostMode(t){return Dn(this.id,t)}getGhostMode(){return wn(this.id)}getBuildingsRemoved(){return bn(this.id)}getAttachedObject(t){return lc(this.id,t)}removeWeapon(t){return Nn(this.id,t)}isUsingOfficialClient(){return Ln(this.id)}allowWeapons(t){return Gn(this.id,t)}areWeaponsAllowed(){return Fn(this.id)}gpci(t=this.charset){return an(this.id,t)}isCuffed(){return Gi(this.id)}isInDriveByMode(){return Fi(this.id)}isAndroid(){return this.isConnected()&&this._isAndroid}isPC(){return this.isConnected()&&!this._isAndroid}isUsingOmp(){return Bi(this.id)}static getInstance(t){return this.players.get(t)}static getInstances(){return[...this.players.values()]}}const[ot]=h({name:"OnDialogResponseI18n",identifier:"iiiiai",beforeEach(e,t,a,n,r){return{player:m.getInstance(e),dialogId:t,response:a,listItem:n,buffer:r}}});ot(({next:e,player:t,dialogId:a,response:n,listItem:r,buffer:i})=>{const s=D.waitingQueue.get(t);return!s||s.showId!==a||setTimeout(()=>s.resolve({response:n,listItem:r,buffer:i})),e()});class D{id=-1;static showingIds=[];static maxDialogId=32767;dialog;static waitingQueue=new WeakMap;constructor(t={style:he.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 r=D.showingIds.indexOf(n.showId);return r>-1&&D.showingIds.splice(r,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.maxDialogId;)this.id=Math.floor(Math.random()*(D.maxDialogId+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}),gc(t,this.id,this.dialog)}).then(a=>{const{response:n,listItem:r}=a,i=P.decodeFromBuf(a.buffer,t.charset);return Promise.resolve({response:n,listItem:r,inputText:i})}).catch(a=>Promise.reject(a)).finally(()=>D.delDialogTask(t))}static close(t){D.delDialogTask(t,!0),Rn(t.id)}}const[lt]=h({name:"OnPlayerConnect",beforeEach(e){const t=new m(e);return m.players.set(e,t),D.close(t),{player:t}}}),[dt]=h({name:"OnPlayerDisconnect",beforeEach(e,t){return{player:m.players.get(e),reason:t}},afterEach({player:e}){m.players.delete(e.id)}}),[ct]=h({name:"OnPlayerUpdate",beforeEach(e){return{player:m.getInstance(e)}}}),[Bc]=h({name:"OnPlayerTextI18n",identifier:"iai",beforeEach(e,t){const a=m.getInstance(e);return{player:a,text:P.decodeFromBuf(t,a.charset),buffer:t}}}),[kc]=h({name:"OnPlayerEnterExitModShop",beforeEach(e,t,a){return{player:m.getInstance(e),enterExit:!!t,interior:a}}}),[Mc]=h({name:"OnPlayerClickMap",beforeEach(e,t,a,n){return{player:m.getInstance(e),fX:t,fY:a,fZ:n}}}),[xc]=h({name:"OnPlayerClickPlayer",beforeEach(e,t,a){return{player:m.getInstance(e),clickedPlayer:m.getInstance(t),source:a}}}),[Hc]=h({name:"OnPlayerDeath",beforeEach(e,t,a){return{player:m.getInstance(e),killer:m.getInstance(t)||C.PLAYER_ID,reason:a}}}),[Vc]=h({name:"OnPlayerGiveDamage",beforeEach(e,t,a,n,r){return{player:m.getInstance(e),damage:m.getInstance(t),amount:a,weapon:n,bodyPart:r}}}),[Uc]=h({name:"OnPlayerKeyStateChange",beforeEach(e,t,a){return{player:m.getInstance(e),newKeys:t,oldKeys:a}}}),[Wc]=h({name:"OnPlayerRequestClass",beforeEach(e,t){return{player:m.getInstance(e),classId:t}}}),[Kc]=h({name:"OnPlayerRequestSpawn",beforeEach(e){return{player:m.getInstance(e)}}}),[jc]=h({name:"OnPlayerSpawn",beforeEach(e){return{player:m.getInstance(e)}}}),[Zc]=h({name:"OnPlayerStateChange",beforeEach(e,t,a){return{player:m.getInstance(e),newState:t,oldState:a}}}),[Xc]=h({name:"OnPlayerSteamIn",beforeEach(e,t){return{player:m.getInstance(e),forPlayer:m.getInstance(t)}}}),[Yc]=h({name:"OnPlayerSteamOut",beforeEach(e,t){return{player:m.getInstance(e),forPlayer:m.getInstance(t)}}}),[zc]=h({name:"OnPlayerTakeDamage",beforeEach(e,t,a,n,r){return{player:m.getInstance(e),damage:m.getInstance(t)||C.PLAYER_ID,amount:a,weapon:n,bodyPart:r}}}),[$c]=h({name:"OnPlayerInteriorChange",beforeEach(e,t,a){return{player:m.getInstance(e),newInteriorId:t,oldInteriorId:a}}}),[Jc]=h({name:"OnPlayerRequestDownload",beforeEach(e,t,a){return{player:m.getInstance(e),type:t,crc:a}}}),[Qc]=h({name:"OnPlayerFinishedDownloading",beforeEach(e,t){return{player:m.getInstance(e),virtualWorld:t}}}),[qc]=h({name:"OnPlayerWeaponShot",beforeEach(e,t,a,n,r,i,s){return{player:m.getInstance(e),weapon:t,hitType:a,hitId:n,fX:r,fY:i,fZ:s}}});let re=null;const V=new Map,fe=new Map;function _t(e){if(!e.isConnected()){V.has(e)&&clearInterval(V.get(e));return}let t=fe.get(e)||1;if(t>=m.MAX_CHECK_ANDROID_DELAY){clearInterval(V.get(e)),ye(e,!0);return}e.sendClientCheck(72,0,0,2).then(({actionId:a})=>{a===72&&(e._isAndroid=!1,V.has(e)&&clearInterval(V.get(e)),ye(e,!1))}).catch(()=>{}),t++,fe.set(e,t)}const[e_,t_]=h({name:"OnPlayerPause",isNative:!1,beforeEach(e,t){return{player:e,pausedAt:t}}}),[a_,n_]=h({name:"OnPlayerResume",isNative:!1,beforeEach(e,t,a,n){return{player:e,pausedAt:t,now:a,diff:n}}}),[r_,i_]=h({name:"OnPlayerFpsUpdate",isNative:!1,beforeEach(e,t,a){return{player:e,newFps:t,oldFps:a}}}),[s_,ye]=h({name:"OnAndroidCheck",isNative:!1,beforeEach(e,t){return{player:e,result:t}}});lt(({player:e,next:t})=>{if(!re&&m.getInstances().length&&(re=setInterval(()=>{m.getInstances().filter(n=>{const r=n.getState()!==$.NONE;return!n.isPaused&&!n.isNpc()&&r}).forEach(n=>{Date.now()-n.lastUpdateTick>1e3&&(n.isPaused=!0,t_(n,n.lastUpdateTick))})},500)),e.isNpc())return e._isAndroid=!1,t();if(m.SKIP_CHECK_ANDROID)return e._isAndroid=!e.isUsingOfficialClient(),ye(e,e._isAndroid),t();_t(e);const a=setInterval(()=>_t(e),1e3);return V.set(e,a),t()}),dt(({player:e,next:t})=>(re&&m.getInstances().length<=1&&(clearInterval(re),re=null),V.has(e)&&(clearInterval(V.get(e)),V.delete(e),fe.delete(e)),t()));function o_(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;const n=e.lastFps,r=e.lastDrunkLevel-a-1;e.lastFps=r,e.lastDrunkLevel=a,i_(e,r,n)}}ct(({player:e,next:t})=>{if(!e.isNpc()){const a=Date.now();e.isPaused&&(e.isPaused=!1,n_(e,e.lastUpdateTick,a,a-e.lastUpdateTick)),e.lastUpdateTick=a,o_(e)}return t()});const J=new Map,Q=new Map,ht=/[^/\s]+/gi,ie={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"},RECEIVED_THROW:{code:4,msg:"An event registered through onCommandReceived throw an error"},RECEIVED_REJECTED:{code:5,msg:"An event registered through onCommandReceived returned false"}},[l_,d_]=h({name:"OnCommandReceived",isNative:!1,throwOnError:!0,beforeEach(e,t,a,n,r,i,s,o,l){return{player:e,command:t,cmdText:a,buffer:n,strictMainCmd:r,noStrictMainCmd:i,hasStrict:s,hasNoStrict:o,subcommand:l}}}),[c_,__]=h({name:"OnCommandPerformed",isNative:!1,beforeEach(e,t,a,n,r,i,s,o,l){return{player:e,command:t,cmdText:a,buffer:n,strictMainCmd:r,noStrictMainCmd:i,hasStrict:s,hasNoStrict:o,subcommand:l}}}),[h_,se]=h({name:"OnCommandError",isNative:!1,defaultValue:!1,beforeEach(e,t,a,n,r,i,s,o,l,c){return{player:e,error:t,command:a,cmdText:n,buffer:r,strictMainCmd:i,noStrictMainCmd:s,hasStrict:o,hasNoStrict:l,subcommand:c}}}),[u_]=h({name:"OnPlayerCommandTextI18n",identifier:"iai",beforeEach(e,t){const a=m.getInstance(e),n=P.decodeFromBuf(t,a.charset);return{player:a,buffer:t,cmdText:n}}});function m_(e){const t=[];let a="";for(let n=0;n<e.length;n++)a+=e[n]+" ",t.push(a.trimEnd());return t.reverse()}u_(({player:e,buffer:t,cmdText:a,next:n})=>{const r=a.match(ht),i=m_(r),s=i.find(I=>J.has(I)),o=i.map(I=>I.toLowerCase()).find(I=>Q.has(I)),l=!!s,c=!!o,u=r.join(" ");let p=[];const g=[[s,J,!0],[o,Q,!1]],y=[u,a,t,s,o,l,c,p];if(l||c){const I=g[0][0]||g[1][0];p=u.replace(I,"").trim().split(" ")}else return se(e,ie.NOT_EXIST,...y);try{if(!d_(e,...y))return se(e,ie.RECEIVED_REJECTED,...y)}catch(I){return se(e,{...ie.RECEIVED_THROW,error:I},...y)}for(const[I,R,O]of g){if(!I)continue;const ee=R.get(I),[,pt]=ee;if(!pt(e,I,p,a,t,O))return se(e,ie.REJECTED,...y)}return __(e,u,a,t,s,o,l,c,p)?n():se(e,ie.PERFORMED,...y)});function p_(e,t,a,n,r,i){return{player:e,mainCommand:t,subcommand:a,cmdText:n,buffer:r,isStrict:i}}class x{static caseSensitive=!1;constructor(){}static on(t,a){let n=x.caseSensitive,r,i;typeof t=="string"||t instanceof Array?(r=t,i=a):(r=t.command,i=t.run,typeof t.caseSensitive<"u"&&(n=t.caseSensitive));const s=Array.isArray(r)?r:[r],o=s.find(u=>!u.match(ht));if(o)return console.log(`error command ${o} format`),()=>{};const l=n?J:Q,c=s.map(u=>{const p=u.replaceAll("/",""),g=n?p:p.toLowerCase();if(!l.has(g)){const I=h({name:n?"$"+g:g,isNative:!1,beforeEach:p_});l.set(g,I)}const[y]=l.get(g);return[g,y(i)]});return()=>{c.forEach(u=>{const[p,g]=u;g()===0&&l.delete(p)})}}static off(t){(Array.isArray(t)?t:[t]).forEach(a=>{let n=a.replaceAll("/","");J.has(n)&&(v.has(n)&&v.delete(n),J.has(n)&&J.delete(n)),n=n.toLowerCase(),Q.has(n)&&(v.has(n)&&v.delete(n),Q.has(n)&&Q.delete(n))})}static enableCaseSensitive(){x.caseSensitive=!0}static disableCaseSensitive(){x.caseSensitive=!1}static isCaseSensitive(){return x.caseSensitive}}const Pe=Object.freeze({onConnect:lt,onDisconnect:dt,onPause:e_,onResume:a_,onUpdate:ct,onText:Bc,onEnterExitModShop:kc,onClickMap:Mc,onClickPlayer:xc,onDeath:Hc,onGiveDamage:Vc,onKeyStateChange:Uc,onRequestClass:Wc,onRequestSpawn:Kc,onSpawn:jc,onStateChange:Zc,onStreamIn:Xc,onStreamOut:Yc,onTakeDamage:zc,onInteriorChange:$c,onRequestDownload:Jc,onFinishedDownloading:Qc,onCheckResponse:st,onCommandReceived:l_,onCommandPerformed:c_,onCommandError:h_,onCommandText:x.on,offCommandText:x.off,onDialogResponse:ot,onLocaleChange:vc,onCharsetChange:Gc,onFpsUpdate:r_,onWeaponShot:qc,onAndroidCheck:s_}),[ut]=h({name:"OnGameModeInit"}),[mt]=h({name:"OnGameModeExit"}),[g_]=h({name:"OnIncomingConnection",beforeEach(e,t,a){return{playerId:e,ipAddress:t,port:a}}}),[S_]=h({name:"OnRconCommandI18n",identifier:"ai",beforeEach(e){return{buffer:e,cmd:P.decodeFromBuf(e)}}}),[f_]=h({name:"OnRconLoginAttemptI18n",identifier:"aiaii",beforeEach(e,t,a){return{ip:P.decodeFromBuf(e),password:P.decodeFromBuf(t),success:!!a,ipBuffer:e,passwordBuffer:t}}}),j=[],q=[],Ee=new Map,Ie=async e=>{try{return await new Promise((t,a)=>{const n=j.findIndex(o=>o.name===e);if(n===-1)return;const r=j[n];function i(o){o.length&&Ee.set(e,o),j.splice(n,1),q.push(r),setTimeout(t)}const s=r.load();s instanceof Promise?s.then(i).catch(a):i(s)})}catch(t){throw new Error(`[GameMode]: script ${e} load fail
|
|
3
|
+
err:${t}`)}},Ae=async e=>{try{return await new Promise((t,a)=>{const n=q.findIndex(l=>l.name===e);if(n===-1)return;const r=q[n],i=Ee.get(e);i&&(i.forEach(l=>l()),Ee.delete(e));function s(){q.splice(n,1),j.push(r),setTimeout(t)}const o=r.unload();o instanceof Promise?o.then(s).catch(a):s()})}catch(t){throw new Error(`[GameMode]: script ${e} unload fail
|
|
4
|
+
${t}`)}},y_=async e=>{await Ae(e),await Ie(e)};ut(async({next:e})=>{const t=j.map(a=>a.name);for(const a of t)await Ie(a);return e()}),mt(async({next:e})=>{const t=q.map(a=>a.name);for(const a of t)await Ae(a);return e()});const P_=function(e,...t){if(j.some(a=>a.name===e.name)||q.some(a=>a.name===e.name))throw new Error(`[GameMode]: script ${e.name} has already been applied`);e.load=e.load.bind(e,...t),j.push(e)};class b{constructor(){throw new Error("This is a static class and cannot be instantiated.")}static onInit=ut;static onExit=mt;static onIncomingConnection=g_;static onRconCommand=S_;static onRconLoginAttempt=f_;static use(t,...a){return P_(t,...a),this}static loadUseScript=Ie;static reloadUseScript=y_;static unloadUseScript=Ae;static enableCmdCaseSensitive=x.enableCaseSensitive;static disableCmdCaseSensitive=x.disableCaseSensitive;static isCmdCaseSensitive=x.isCaseSensitive;static supportAllNickname(){for(let t=0;t<=255;t++)this.isNickNameCharacterAllowed(t)||this.allowNickNameCharacter(t,!0)}static setWeather(t){if(t<0||t>255)throw new Error("[GameMode]: The valid weather value is only 0 to 255");return ha(t)}static setWorldTime(t){if(t<0||t>23)throw new Error("[GameMode]: The valid hour value is only 0 to 23");return da(t)}static getWorldTime=ca;static setTeamCount=Oa;static sendRconCommand=Pc;static addPlayerClass=Ga;static addPlayerClassEx=Fa;static createExplosion(t,a,n,r,i){if(r<0||r>13)throw new Error("[GameMode]: The valid explosion type value is only 0 to 13");return pa(t,a,n,r,i)}static manualVehicleEngineAndLights=Ls;static blockIpAddress=en;static unBlockIpAddress=tn;static getServerTickRate=Ta;static addSimpleModel(t,a,n,r,i){return this.checkSimpleModel(t,a,n,r,i)?nc(t,a,n,r,i):0}static addSimpleModelTimed(t,a,n,r,i,s,o){return this.checkSimpleModel(t,a,n,r,i,s,o)?rc(t,a,n,r,i,s,o):0}static checkSimpleModel(t,a,n,r,i,s,o){if(t<-1)throw new Error("[GameMode]: AddSimpleModel - Error virtual world");if(a<0)throw new Error("[GameMode]: AddSimpleModel - Error baseId");if(n>-1e3||n<-3e4)throw new Error("[GameMode]: AddSimpleModel - Error newId range");if(r.trim().length<0)throw new Error("[GameMode]: AddSimpleModel - Empty dffName");if(i.trim().length<0)throw new Error("[GameMode]: AddSimpleModel - Empty txdName");if(s!==void 0&&(s<0||s>23))throw new Error("[GameMode]: AddSimpleModel - Error time on range");if(o!==void 0&&(o<0||o>23))throw new Error("[GameMode]: AddSimpleModel - Error time off range");return 1}static isValidCustomModel=Le;static getCustomModePath=hc;static getConsoleVarAsString(t,a="utf8"){const n=Yt(t);return P.decodeFromBuf(P.getValidStr(n),a)}static getRestartTime=ta;static setRestartTime=ea;static allowAdminTeleport=Ut;static isAdminTeleportAllowed=Wt;static allowInteriorWeapons=Kt;static areInteriorWeaponsAllowed=jt;static areAllAnimationsEnabled=Zt;static enableAllAnimations=Xt;static enableStuntBonusForAll=Da;static enableVehicleFriendlyFire=_a;static enableZoneNames=ga;static disableInteriorEnterExits=fa;static setGameModeText=sa;static getGravity=ua;static setGravity=ma;static showNameTags=oa;static disableNameTagLOS=Pa;static usePlayerPedAnims=Sa;static showPlayerMarkers=la;static limitPlayerMarkerRadius=Ia;static limitGlobalChatRadius=Ea;static setNameTagDrawDistance=ya;static findModelFileNameFromCRC=sc;static findTextureFileNameFromCRC=oc;static getWeaponName=Ra;static setObjectsDefaultCameraCollision=ac;static vectorSize=_e;static clearBanList=rn;static isBanned=sn;static isValidNickName=Ft;static allowNickNameCharacter=Bt;static isNickNameCharacterAllowed=kt;static addServerRule=Mt;static setServerRule=xt;static isValidServerRule=Ht;static removeServerRule=Vt;static getWeaponSlot=Na;static getAvailableClasses=Ce;static getPlayerClass=La;static editPlayerClass=va;static toggleChatTextReplacement=wa;static chatTextReplacementToggled=ba;static getConsoleVarAsInt=zt;static getConsoleVarAsBool=$t;static getWeather=Jt;static getServerRuleFlag=Qt;static setServerRuleFlags=qt}b.onExit(({next:e})=>(A.getInstances().forEach(t=>t.destroy()),e()));const[E_]=h({name:"OnVehicleDamageStatusUpdate",beforeEach(e,t){return{vehicle:A.getInstance(e),player:m.getInstance(t)}}}),[I_]=h({name:"OnVehicleDeath",beforeEach(e,t){return{vehicle:A.getInstance(e),killer:m.getInstance(t)}}}),[A_]=h({name:"OnVehicleMod",beforeEach(e,t,a){return{player:m.getInstance(e),vehicle:A.getInstance(t),componentId:a}}}),[T_]=h({name:"OnVehiclePaintjob",beforeEach(e,t,a){return{player:m.getInstance(e),vehicle:A.getInstance(t),paintjobId:a}}}),[C_]=h({name:"OnVehicleRespray",beforeEach(e,t,a,n){return{player:m.getInstance(e),vehicle:A.getInstance(t),color:[a,n]}}}),[D_]=h({name:"OnVehicleSirenStateChange",beforeEach(e,t,a){return{player:m.getInstance(e),vehicle:A.getInstance(t),state:!!a}}}),[w_]=h({name:"OnVehicleSpawn",beforeEach(e){return{vehicle:A.getInstance(e)}}}),[b_]=h({name:"OnVehicleStreamIn",beforeEach(e,t){return{vehicle:A.getInstance(e),forPlayer:m.getInstance(t)}}}),[N_]=h({name:"OnVehicleStreamOut",beforeEach(e,t){return{vehicle:A.getInstance(e),forPlayer:m.getInstance(t)}}}),[R_]=h({name:"OnPlayerEnterVehicle",beforeEach(e,t,a){return{player:m.getInstance(e),vehicle:A.getInstance(t),isPassenger:!!a}}}),[L_]=h({name:"OnPlayerExitVehicle",beforeEach(e,t){return{player:m.getInstance(e),vehicle:A.getInstance(t)}}}),[v_]=h({name:"OnNpcEnterVehicle",beforeEach(e,t){return{vehicle:A.getInstance(e),seatId:t}}}),[O_]=h({name:"OnNpcExitVehicle"}),[G_]=h({name:"OnTrailerUpdate",beforeEach(e,t){return{player:m.getInstance(e),vehicle:A.getInstance(t)}}}),[F_]=h({name:"OnUnoccupiedVehicleUpdate",beforeEach(e,t,a,n,r,i,s,o,l){return{vehicle:A.getInstance(e),player:m.getInstance(t),passengerSeat:a,newX:n,newY:r,newZ:i,velX:s,velY:o,velZ:l}}}),B_=Object.freeze({onDamageStatusUpdate:E_,onDeath:I_,onMod:A_,onPaintjob:T_,onRespray:C_,onSirenStateChange:D_,onSpawn:w_,onStreamIn:b_,onStreamOut:N_,onPlayerEnter:R_,onPlayerExit:L_,onNpcEnter:v_,onNpcExit:O_,onTrailerUpdate:G_,onUnoccupiedUpdate:F_});class k_{constructor(){throw new Error("This is a static class and cannot be instantiated.")}static getNetworkStats(){return qa()}static getPlayerNetworkStats(t){return Qa(t.id)}static getBytesReceived(t){return Va(t.id)}static getBytesSent(t){return Wa(t.id)}static getConnectionStatus(t){return Za(t.id)}static getConnectedTime(t){return xa(t.id)}static getIpPort(t){return Xa(t.id)}static getMessagesReceived(t){return Ha(t.id)}static getMessagesRecvPerSecond(t){return Ka(t.id)}static getMessagesSent(t){return Ua(t.id)}static getPacketLossPercent(t){return ja(t.id)}}class M_{_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){na(t)}static has(t,a){return kn(t.id,a)}forAll(t="win1252"){aa(P.encodeToBuf(P.convertSpecialChar(this.text),t),this.time,this.style)}forPlayer(t,a="win1252"){Bn(t.id,P.encodeToBuf(P.convertSpecialChar(this.text),a),this.time,this.style)}hideForPlayer(t){return xn(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)throw new Error("[Menu]: The menu column number interval is between 1 and 2");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,r,i,s){this._title=t,this.columns=a,this._x=n,this._y=r,this._col1width=i,this._col2width=s}create(){if(this._id!==-1)throw new Error("[Menu]: Cannot be created twice");if(z.getInstances().length===G.MAX_MENUS)throw new Error("[Menu]: The maximum number of menus allowed to be created has been reached 128");return this._id=Go(this.title,this.columns,this.x,this.y,this.col1width,this.col2width),z.menus.set(this._id,this),this}destroy(){if(this._id===-1)throw new Error("[Menu]: Cannot destroy before create");return Fo(this.id),z.menus.delete(this._id),this._id=-1,this}addItem(t,a){if(this._id===-1)throw new Error("[Menu]: Cannot addItem before create");if(this._itemCount===G.MAX_MENU_ROW)throw new Error("[Menu]: The maximum number of items allowed to be added has been reached 12");if(t!==0&&t!==1)throw new Error("[Menu]: Wrong number of columns");return Bo(this.id,t,a),this._itemCount++,this}setColumnHeader(t,a){if(this._id===-1)throw new Error("[Menu]: Cannot setColumnHeader before create");if(t!==0&&t!==1)throw new Error("[Menu]: Wrong number of columns");return ko(this.id,t,a),this}disable(){if(this._id===-1)throw new Error("[Menu]: Cannot disable menu before create");return Vo(this.id),this}disableRow(t){if(this._id===-1)throw new Error("[Menu]: Cannot disable row before create");if(t<0||t>this.itemCount-1)throw new Error("[Menu]: Wrong number of rows");Uo(this.id,t)}isValid(){return Ho(this.id)}showForPlayer(t){if(this._id===-1)throw new Error("[Menu]: Cannot show menu before create");return Mo(this.id,t.id)}hideForPlayer(t){if(this._id===-1)throw new Error("[Menu]: Cannot hide menu before create");return xo(this.id,t.id)}isDisabled(){return this._id===-1?!1:wo(this.id)}isRowDisabled(t){return this._id===-1||t<0||t>this._itemCount?!1:bo(this.id,t)}getItems(t){return this._id===-1?0:No(this.id,t)}getPos(){return this._id===-1?{fX:this.x,fY:this.y}:Ro(this.id)}getColumnWidth(){return this.id===-1?{fColumn1:this.col1width,fColumn2:this.col2width}:Lo(this.id)}getColumnHeader(t){if(this._id===-1)throw new Error("[Menu]: Cannot get column header before create");return vo(this.id,t)}getItem(t,a){if(this._id===-1)throw new Error("[Menu]: Cannot get item before create");if(a<0||a>this.getItems(t)-1)throw new Error("[Menu]: invalid getItem range");return Oo(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===Wo(t.id))}}b.onExit(({next:e})=>(z.getInstances().forEach(t=>t.destroy()),e()));const[x_]=h({name:"OnPlayerExitedMenu",beforeEach(e){return{player:m.getInstance(e)}}}),[H_]=h({name:"OnPlayerSelectedMenuRow",beforeEach(e,t){const a=m.getInstance(e),n=z.getInstanceByPlayer(a);return{player:a,menu:n,row:t}}}),V_=Object.freeze({onPlayerExited:x_,onPlayerSelectedRow:H_});class w{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)throw new Error("[GangZone]: Unable to create the gangzone again");const{player:t}=this.sourceInfo;if(t){if(w.getInstances(!1).length===G.MAX_GANG_ZONES)throw new Error("[GangZone]: Unable to continue to create gangzone, maximum allowable quantity has been reached");const{minX:a,minY:n,maxX:r,maxY:i}=this.sourceInfo;this._id=ll(t.id,a,n,r,i);const s=Pe.onDisconnect(({player:o,next:l})=>{l(),o===this.sourceInfo.player&&(this.destroy(),s())});w.playerGangZones.set(this.id,this)}else{if(w.getInstances(!0).length===G.MAX_GANG_ZONES)throw new Error("[GangZone]: Unable to continue to create gangzone, maximum allowable quantity has been reached");const{minX:a,minY:n,maxX:r,maxY:i}=this.sourceInfo;this._id=Qo(a,n,r,i),w.globalGangZones.set(this.id,this)}}destroy(){if(this.id===-1)throw new Error("[GangZone]: Unable to destroy the gangzone before create");const{player:t}=this.sourceInfo;t?(dl(t.id,this.id),w.playerGangZones.delete(this.id)):(qo(this.id),w.globalGangZones.delete(this.id)),this._id=-1}showForAll(t){if(this.id===-1)throw new Error("[GangZone]: Unable to show the gangzone before create");if(!this.sourceInfo.player)return tl(this.id,t),this;throw new Error("[GangZone]: player's gangzone should not be show for all.")}showForPlayer(t,a){if(this.id===-1)throw new Error("[GangZone]: Unable to show the gangzone before create");const n=this.sourceInfo.player;if(n)cl(n.id,this.id,E(t));else if(a)el(a.id,this.id,t);else throw new Error("[GangZone]: invalid player for show");return this}hideForAll(){if(this.id===-1)throw new Error("[GangZone]: Unable to hide the gangzone before create");if(!this.sourceInfo.player)return nl(this.id),this;throw new Error("[GangZone]: player's gangzone should not be hide for all.")}hideForPlayer(t){if(this.id===-1)throw new Error("[GangZone]: Unable to hide the gangzone before create");const a=this.sourceInfo.player;if(a)_l(a.id,this.id);else if(t)al(t.id,this.id);else throw new Error("[GangZone]: invalid player for hide");return this}flashForAll(t){if(this.id===-1)throw new Error("[GangZone]: Unable to flash the gangzone before create");if(!this.sourceInfo.player)return il(this.id,t),this;throw new Error("[GangZone]: player's gangzone should not be flash for all.")}flashForPlayer(t,a){if(this.id===-1)throw new Error("[GangZone]: Unable to flash the gangzone before create");const n=this.sourceInfo.player;if(n)hl(n.id,this.id,E(a));else if(t)rl(t.id,this.id,a);else throw new Error("[GangZone]: invalid player for flash");return this}stopFlashForAll(){if(this.id===-1)throw new Error("[GangZone]: Unable to stop flash the gangzone before create");if(!this.sourceInfo.player)return ol(this.id),this;throw new Error("[GangZone]: player's gangzone should not be stop flash for all.")}stopFlashForPlayer(t){if(this.id===-1)throw new Error("[GangZone]: Unable to stop flash the gangzone before create");const a=this.sourceInfo.player;if(a)ul(a.id,this.id);else if(t)sl(t.id,this.id);else throw new Error("[GangZone]: invalid player for flash");return this}isValid(){if(this.id===-1)return!1;const t=this.sourceInfo.player;return t?ml(t.id,this.id):Ko(this.id)}isPlayerIn(t){if(this.id===-1)return!1;const a=this.sourceInfo.player;return a?pl(a.id,this.id):jo(t.id,this.id)}isVisibleForPlayer(t){if(this.id===-1)return!1;const a=this.sourceInfo.player;return a?gl(a.id,this.id):Zo(t.id,this.id)}getColorForPlayer(t){if(this.id===-1)throw new Error("[GangZone]: Unable to get color before create");const a=this.sourceInfo.player;return a?Sl(a.id,this.id):Xo(t.id,this.id)}getFlashColorForPlayer(t){if(this.id===-1)throw new Error("[GangZone]: Unable to get flash color before create");const a=this.sourceInfo.player;return a?fl(a.id,this.id):Yo(t.id,this.id)}isFlashingForPlayer(t){if(this.id===-1)return!1;const a=this.sourceInfo.player;return a?yl(a.id,this.id):zo(t.id,this.id)}getPos(){if(this.id===-1)throw new Error("[GangZone]: Unable to get position before create");const t=this.sourceInfo.player;return t?Pl(t.id,this.id):$o(this.id)}useCheck(t){if(this.id===-1)throw new Error("[GangZone]: Unable to use check before create");const a=this.sourceInfo.player;return a?El(a.id,this.id,t):Jo(this.id,t),this}static getInstance(t,a){return a?this.globalGangZones.get(t):this.playerGangZones.get(t)}static getInstances(t){return t?[...this.globalGangZones.values()]:[...this.playerGangZones.values()]}}b.onExit(({next:e})=>(w.getInstances(!0).forEach(t=>t.destroy()),w.getInstances(!1).forEach(t=>t.destroy()),e()));const[U_]=h({name:"OnPlayerEnterGangZone",beforeEach(e,t){return{player:m.getInstance(e),gangZone:w.getInstance(t,!0)}}}),[W_]=h({name:"OnPlayerLeaveGangZone",beforeEach(e,t){return{player:m.getInstance(e),gangZone:w.getInstance(t,!0)}}}),[K_]=h({name:"OnPlayerEnterPlayerGangZone",beforeEach(e,t){return{player:m.getInstance(e),gangZone:w.getInstance(t,!1)}}}),[j_]=h({name:"OnPlayerLeavePlayerGangZone",beforeEach(e,t){return{player:m.getInstance(e),gangZone:w.getInstance(t,!1)}}}),[Z_]=h({name:"OnPlayerClickGangZone",beforeEach(e,t){return{player:m.getInstance(e),gangZone:w.getInstance(t,!0)}}}),[X_]=h({name:"OnPlayerClickPlayerGangZone",beforeEach(e,t){return{player:m.getInstance(e),gangZone:w.getInstance(t,!1)}}}),Y_=Object.freeze({onPlayerEnterGlobal:U_,onPlayerLeaveGlobal:W_,onPlayerEnterPlayer:K_,onPlayerLeavePlayer:j_,onPlayerClickGlobal:Z_,onPlayerClickPlayer:X_}),T={skip:!1};b.onInit(({next:e})=>(T.skip=!1,e())),b.onExit(({next:e})=>(T.skip=!0,e()));const[Z]=h({name:"Streamer_OnItemStreamIn",identifier:"iii",beforeEach(e,t,a){return{type:e,id:t,forPlayer:m.getInstance(a)}}}),[X]=h({name:"Streamer_OnItemStreamOut",identifier:"iii",beforeEach(e,t,a){return{type:e,id:t,forPlayer:m.getInstance(a)}}}),[z_]=h({name:"Streamer_OnPluginError",identifier:"s",beforeEach(e){return{error:e}}});class S{constructor(){throw new Error("This is a static class and cannot be instantiated.")}static getTickRate=d.Streamer_GetTickRate;static setTickRate=d.Streamer_SetTickRate;static getPlayerTickRate(t){return d.Streamer_GetPlayerTickRate(t.id)}static setPlayerTickRate(t,a=50){return d.Streamer_SetPlayerTickRate(t.id,a)}static toggleChunkStream=d.Streamer_ToggleChunkStream;static isToggleChunkStream=d.Streamer_IsToggleChunkStream;static getChunkTickRate(t,a=-1){return a instanceof m?d.Streamer_GetChunkTickRate(t,a.id):d.Streamer_GetChunkTickRate(t,a)}static setChunkTickRate(t,a,n=-1){return n instanceof m?d.Streamer_SetChunkTickRate(t,a,n.id):d.Streamer_SetChunkTickRate(t,a,n)}static getChunkSize=d.Streamer_GetChunkSize;static setChunkSize=d.Streamer_SetChunkSize;static getMaxItems=d.Streamer_GetMaxItems;static setMaxItems=d.Streamer_SetMaxItems;static getVisibleItems(t,a=-1){return a instanceof m?d.Streamer_GetVisibleItems(t,a.id):d.Streamer_GetVisibleItems(t,a)}static setVisibleItems(t,a,n=-1){return n instanceof m?d.Streamer_SetVisibleItems(t,a,n.id):d.Streamer_SetVisibleItems(t,a,n)}static getRadiusMultiplier(t,a=-1){return a instanceof m?d.Streamer_GetRadiusMultiplier(t,a.id):d.Streamer_GetRadiusMultiplier(t,a)}static setRadiusMultiplier(t,a,n=-1){return n instanceof m?d.Streamer_SetRadiusMultiplier(t,n.id):d.Streamer_SetRadiusMultiplier(t,a,n)}static getTypePriority=d.Streamer_GetTypePriority;static setTypePriority=d.Streamer_SetTypePriority;static getCellDistance=d.Streamer_GetCellDistance;static setCellDistance=d.Streamer_SetCellDistance;static getCellSize=d.Streamer_GetCellSize;static setCellSize=d.Streamer_SetCellSize;static toggleItemStatic=d.Streamer_ToggleItemStatic;static isToggleItemStatic=d.Streamer_IsToggleItemStatic;static toggleItemInvAreas=d.Streamer_ToggleItemInvAreas;static isToggleItemInvAreas=d.Streamer_IsToggleItemInvAreas;static toggleItemCallbacks=d.Streamer_ToggleItemCallbacks;static isToggleItemCallbacks=d.Streamer_IsToggleItemCallbacks;static toggleErrorCallback=d.Streamer_ToggleErrorCallback;static isToggleErrorCallback=d.Streamer_IsToggleErrorCallback;static amxUnloadDestroyItems=d.Streamer_AmxUnloadDestroyItems;static processActiveItems=d.Streamer_ProcessActiveItems;static toggleIdleUpdate(t,a){return d.Streamer_ToggleIdleUpdate(t.id,a)}static isToggleIdleUpdate(t){return d.Streamer_IsToggleIdleUpdate(t.id)}static toggleCameraUpdate(t,a){return d.Streamer_ToggleCameraUpdate(t.id,a)}static isToggleCameraUpdate(t){return d.Streamer_IsToggleCameraUpdate(t.id)}static toggleItemUpdate(t,a,n){return d.Streamer_ToggleItemUpdate(t.id,a,n)}static isToggleItemUpdate(t,a){return d.Streamer_IsToggleItemUpdate(t.id,a)}static getLastUpdateTime(){return d.Streamer_GetLastUpdateTime()}static update(t,a=-1){return d.Streamer_Update(t.id,a)}static updateEx(t,a,n,r,i,s,o,l,c){return d.Streamer_UpdateEx(t.id,a,n,r,i,s,o,l,c)}static getDistanceToItem=d.Streamer_GetDistanceToItem;static toggleItem(t,a,n,r){return d.Streamer_ToggleItem(t.id,a,n,r)}static isToggleItem(t,a,n){return d.Streamer_IsToggleItem(t.id,a,n)}static toggleAllItems(t,a,n,r=[-1]){return d.Streamer_ToggleAllItems(t.id,a,n,r)}static getItemInternalID(t,a,n){return d.Streamer_GetItemInternalID(t.id,a,n)}static getItemStreamerID(t,a,n){return d.Streamer_GetItemStreamerID(t.id,a,n)}static isItemVisible(t,a,n){return d.Streamer_IsItemVisible(t.id,a,n)}static destroyAllVisibleItems(t,a,n=1){return d.Streamer_DestroyAllVisibleItems(t.id,a,n)}static countVisibleItems(t,a,n=1){return d.Streamer_CountVisibleItems(t.id,a,n)}static destroyAllItems=d.Streamer_DestroyAllItems;static countItems=d.Streamer_CountItems;static getNearbyItems=d.Streamer_GetNearbyItems;static getAllVisibleItems(t,a,n){return d.Streamer_GetAllVisibleItems(t.id,a,n)}static getItemPos=d.Streamer_GetItemPos;static setItemPos=d.Streamer_SetItemPos;static getItemOffset=d.Streamer_GetItemOffset;static setItemOffset=d.Streamer_SetItemOffset;static getFloatData=d.Streamer_GetFloatData;static setFloatData=d.Streamer_SetFloatData;static getIntData=d.Streamer_GetIntData;static setIntData=d.Streamer_SetIntData;static getArrayData=d.Streamer_GetArrayData;static setArrayData=d.Streamer_SetArrayData;static isInArrayData=d.Streamer_IsInArrayData;static appendArrayData=d.Streamer_AppendArrayData;static removeArrayData=d.Streamer_RemoveArrayData;static getArrayDataLength=d.Streamer_GetArrayDataLength;static getUpperBound=d.Streamer_GetUpperBound;static onPluginError=z_}class W{static mapIcons=new Map;sourceInfo;_id=-1;get id(){return this._id}constructor(t){this.sourceInfo=t}create(){if(this.id!==-1)throw new Error("[StreamerMapIcon]: Unable to create map icon again");let{style:t,streamDistance:a,worldId:n,interiorId:r,playerId:i,areaId:s,priority:o}=this.sourceInfo;const{x:l,y:c,z:u,type:p,color:g,extended:y}=this.sourceInfo;if(p<0||p>63)throw new Error("[StreamerMapIcon]: Invalid map icon type");return t??=d.MapIconStyles.LOCAL,a??=d.StreamerDistances.MAP_ICON_SD,o??=0,y?(typeof n=="number"?n=[-1]:n??=[-1],typeof r=="number"?r=[-1]:r??=[-1],typeof i=="number"?i=[-1]:i??=[-1],typeof s=="number"?s=[-1]:s??=[-1],this._id=d.CreateDynamicMapIconEx(l,c,u,p,E(g),t,a,n,r,i,s,o),W.mapIcons.set(this._id,this),this):(Array.isArray(n)?n=-1:n??=-1,Array.isArray(r)?r=-1:r??=-1,Array.isArray(i)?i=-1:i??=-1,Array.isArray(s)?s=-1:s??=-1,this._id=d.CreateDynamicMapIcon(l,c,u,p,E(g),n,r,i,a,t,s,o),W.mapIcons.set(this._id,this),this)}destroy(){if(this.id===-1&&!T.skip)throw new Error("[StreamerMapIcon]: Unable to destroy the map icon before create");return T.skip||d.DestroyDynamicMapIcon(this.id),W.mapIcons.delete(this._id),this._id=-1,this}isValid(){return T.skip&&this.id!==-1?!0:d.IsValidDynamicMapIcon(this.id)}toggleCallbacks(t=!0){if(this.id===-1)throw new Error("[StreamerMapIcon]: Unable to toggle callbacks before create");return S.toggleItemCallbacks(d.StreamerItemTypes.MAP_ICON,this.id,t)}isToggleCallbacks(){return this.id===-1?!1:S.isToggleItemCallbacks(d.StreamerItemTypes.MAP_ICON,this.id)}static togglePlayerUpdate(t,a=!0){return S.toggleItemUpdate(t,d.StreamerItemTypes.MAP_ICON,a)}static hideForPlayer(t,a=-5e4){return S.updateEx(t,0,0,a),this.togglePlayerUpdate(t,!1)}static showForPlayer(t,a=-5e4){const n=t.getPos();return n?S.updateEx(t,n.x,n.y,n.z):S.updateEx(t,0,0,a),this.togglePlayerUpdate(t,!0)}static getInstance(t){return this.mapIcons.get(t)}static getInstances(){return[...this.mapIcons.values()]}}b.onExit(({next:e})=>(W.getInstances().forEach(t=>t.destroy()),e()));const[$_,J_]=h({name:"OnDynamicMapIconStreamIn",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}}),[Q_,q_]=h({name:"OnDynamicMapIconStreamOut",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}});Z(({type:e,id:t,forPlayer:a,next:n})=>e===d.StreamerItemTypes.MAP_ICON?J_(a,W.getInstance(t)):n()),X(({type:e,id:t,forPlayer:a,next:n})=>e===d.StreamerItemTypes.MAP_ICON?q_(a,W.getInstance(t)):n());const eh=Object.freeze({onStreamIn:$_,onStreamOut:Q_});class U{static pickups=new Map;sourceInfo;_id=-1;get id(){return this._id}constructor(t){this.sourceInfo=t}create(){if(this.id!==-1)throw new Error("[StreamerPickup]: Unable to create pickup again");let{streamDistance:t,worldId:a,interiorId:n,playerId:r,areaId:i,priority:s}=this.sourceInfo;const{type:o,modelId:l,x:c,y:u,z:p,extended:g}=this.sourceInfo;if(o<0)throw new Error("[StreamerPickup]: Invalid pickup type");return t??=_.StreamerDistances.PICKUP_SD,s??=0,g?(typeof a=="number"?a=[-1]:a??=[-1],typeof n=="number"?n=[-1]:n??=[-1],typeof r=="number"?r=[-1]:r??=[-1],typeof i=="number"?i=[-1]:i??=[-1],this._id=_.CreateDynamicPickupEx(l,o,c,u,p,t,a,n,r,i,s)):(Array.isArray(a)?a=-1:a??=-1,Array.isArray(n)?n=-1:n??=-1,Array.isArray(r)?r=-1:r??=-1,Array.isArray(i)?i=-1:i??=-1,this._id=_.CreateDynamicPickup(l,o,c,u,p,a,n,r,t,i,s)),U.pickups.set(this._id,this),this}destroy(){if(this.id===-1&&!T.skip)throw new Error("[StreamerPickup]: Unable to destroy the pickup before create");return T.skip||_.DestroyDynamicPickup(this.id),U.pickups.delete(this.id),this._id=-1,this}isValid(){return T.skip&&this.id!==-1?!0:_.IsValidDynamicPickup(this.id)}toggleCallbacks(t=!0){if(this.id===-1)throw new Error("[StreamerPickup]: Unable to toggle callbacks before create");return S.toggleItemCallbacks(_.StreamerItemTypes.PICKUP,this.id,t)}isToggleCallbacks(){return this.id===-1?!1:S.isToggleItemCallbacks(_.StreamerItemTypes.PICKUP,this.id)}static togglePlayerUpdate(t,a=!0){return S.toggleItemUpdate(t,_.StreamerItemTypes.PICKUP,a)}static hideForPlayer(t,a=-5e4){return S.updateEx(t,0,0,a),this.togglePlayerUpdate(t,!1)}static showForPlayer(t,a=-5e4){const n=t.getPos();return n?S.updateEx(t,n.x,n.y,n.z):S.updateEx(t,0,0,a),this.togglePlayerUpdate(t,!0)}static getInstance(t){return this.pickups.get(t)}static getInstances(){return[...this.pickups.values()]}}b.onExit(({next:e})=>(U.getInstances().forEach(t=>t.destroy()),e()));const[th,ah]=h({name:"OnDynamicPickupStreamIn",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}}),[nh,rh]=h({name:"OnDynamicPickupStreamOut",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}});Z(({type:e,id:t,forPlayer:a,next:n})=>e===d.StreamerItemTypes.PICKUP?ah(a,U.getInstance(t)):n()),X(({type:e,id:t,forPlayer:a,next:n})=>e===d.StreamerItemTypes.PICKUP?rh(a,U.getInstance(t)):n());const[ih]=h({name:"OnPlayerPickUpDynamicPickup",identifier:"ii",beforeEach(e,t){return{player:m.getInstance(e),pickup:U.getInstance(t)}}}),sh=Object.freeze({onPlayerPickUp:ih,onStreamIn:th,onStreamOut:nh});class k{static checkpoints=new Map;sourceInfo;_id=-1;get id(){return this._id}constructor(t){this.sourceInfo=t}create(){if(this.id!==-1)throw new Error("[StreamerCheckpoint]: Unable to create checkpoint again");let{streamDistance:t,worldId:a,interiorId:n,playerId:r,areaId:i,priority:s}=this.sourceInfo;const{size:o,x:l,y:c,z:u,extended:p}=this.sourceInfo;if(o<0)throw new Error("[StreamerCheckpoint]: Invalid checkpoint size");return t??=d.StreamerDistances.CP_SD,s??=0,p?(typeof a=="number"?a=[-1]:a??=[-1],typeof n=="number"?n=[-1]:n??=[-1],typeof r=="number"?r=[-1]:r??=[-1],typeof i=="number"?i=[-1]:i??=[-1],this._id=d.CreateDynamicCPEx(l,c,u,o,t,a,n,r,i,s)):(Array.isArray(a)?a=-1:a??=-1,Array.isArray(n)?n=-1:n??=-1,Array.isArray(r)?r=-1:r??=-1,Array.isArray(i)?i=-1:i??=-1,this._id=d.CreateDynamicCP(l,c,u,o,a,n,r,t,i,s)),k.checkpoints.set(this._id,this),this}destroy(){if(this.id===-1&&!T.skip)throw new Error("[StreamerCheckpoint]: Unable to destroy the checkpoint before create");return T.skip||d.DestroyDynamicCP(this.id),k.checkpoints.delete(this.id),this._id=-1,this}isValid(){return T.skip&&this.id!==-1?!0:d.IsValidDynamicCP(this.id)}togglePlayer(t,a){if(this.id===-1)throw new Error("[StreamerCheckpoint]: Unable to toggle the player before create");return d.TogglePlayerDynamicCP(t.id,this.id,a),this}static togglePlayerAll(t,a){return d.TogglePlayerAllDynamicCPs(t.id,a)}isPlayerIn(t){return this.id===-1?!1:d.IsPlayerInDynamicCP(t.id,this.id)}static getPlayerVisible(t){return k.checkpoints.get(d.GetPlayerVisibleDynamicCP(t.id))}toggleCallbacks(t=!0){if(this.id===-1)throw new Error("[StreamerCheckpoint]: Unable to toggle callbacks before create");return S.toggleItemCallbacks(d.StreamerItemTypes.CP,this.id,t)}isToggleCallbacks(){return this.id===-1?!1:S.isToggleItemCallbacks(d.StreamerItemTypes.CP,this.id)}static togglePlayerUpdate(t,a=!0){return S.toggleItemUpdate(t,d.StreamerItemTypes.CP,a)}static hideForPlayer(t,a=-5e4){return S.updateEx(t,0,0,a),this.togglePlayerUpdate(t,!1)}static showForPlayer(t,a=-5e4){const n=t.getPos();return n?S.updateEx(t,n.x,n.y,n.z):S.updateEx(t,0,0,a),this.togglePlayerUpdate(t,!0)}static getInstance(t){return this.checkpoints.get(t)}static getInstances(){return[...this.checkpoints.values()]}}b.onExit(({next:e})=>(k.checkpoints.forEach(t=>t.destroy()),e()));const[oh,lh]=h({name:"OnDynamicCheckPointStreamIn",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}}),[dh,ch]=h({name:"OnDynamicCheckPointStreamOut",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}});Z(({type:e,id:t,forPlayer:a,next:n})=>e===d.StreamerItemTypes.CP?lh(a,k.getInstance(t)):n()),X(({type:e,id:t,forPlayer:a,next:n})=>e===d.StreamerItemTypes.CP?ch(a,k.getInstance(t)):n());const[_h]=h({name:"OnPlayerEnterDynamicCP",identifier:"ii",beforeEach(e,t){return{player:m.getInstance(e),cp:k.getInstance(t)}}}),[hh]=h({name:"OnPlayerLeaveDynamicCP",identifier:"ii",beforeEach(e,t){return{player:m.getInstance(e),cp:k.getInstance(t)}}}),uh=Object.freeze({onPlayerEnter:_h,onPlayerLeave:hh,onStreamIn:oh,onStreamOut:dh});class M{static checkpoints=new Map;sourceInfo;_id=-1;get id(){return this._id}constructor(t){this.sourceInfo=t}create(){if(this.id!==-1)throw new Error("[StreamerRaceCP]: Unable to create checkpoint again");let{streamDistance:t,worldId:a,interiorId:n,playerId:r,areaId:i,priority:s}=this.sourceInfo;const{type:o,size:l,x:c,y:u,z:p,nextX:g,nextY:y,nextZ:I,extended:R}=this.sourceInfo;if(o<0||o>8)throw new Error("[StreamerRaceCP]: Invalid type");if(l<0)throw new Error("[StreamerRaceCP]: Invalid size");return t??=d.StreamerDistances.RACE_CP_SD,s??=0,R?(typeof a=="number"?a=[-1]:a??=[-1],typeof n=="number"?n=[-1]:n??=[-1],typeof r=="number"?r=[-1]:r??=[-1],typeof i=="number"?i=[-1]:i??=[-1],this._id=d.CreateDynamicRaceCPEx(o,c,u,p,g,y,I,l,t,a,n,r,i,s)):(Array.isArray(a)?a=-1:a??=-1,Array.isArray(n)?n=-1:n??=-1,Array.isArray(r)?r=-1:r??=-1,Array.isArray(i)?i=-1:i??=-1,this._id=d.CreateDynamicRaceCP(o,c,u,p,g,y,I,l,a,n,r,t,i,s)),M.checkpoints.set(this._id,this),this}destroy(){if(this.id===-1&&!T.skip)throw new Error("[StreamerRaceCP]: Unable to destroy the checkpoint before create");return T.skip||d.DestroyDynamicCP(this.id),M.checkpoints.delete(this.id),this._id=-1,this}isValid(){return T.skip&&this.id!==-1?!0:d.IsValidDynamicCP(this.id)}togglePlayer(t,a){if(this.id===-1)throw new Error("[StreamerRaceCP]: Unable to toggle the player before create");return d.TogglePlayerDynamicRaceCP(t.id,this.id,a),this}static togglePlayerAll(t,a){return d.TogglePlayerAllDynamicRaceCPs(t.id,a)}isPlayerIn(t){return this.id===-1?!1:d.IsPlayerInDynamicRaceCP(t.id,this.id)}static getPlayerVisible(t){return M.checkpoints.get(d.GetPlayerVisibleDynamicRaceCP(t.id))}toggleCallbacks(t=!0){if(this.id===-1)throw new Error("[StreamerRaceCP]: Unable to toggle callbacks before create");return S.toggleItemCallbacks(d.StreamerItemTypes.RACE_CP,this.id,t)}isToggleCallbacks(){return this.id===-1?!1:S.isToggleItemCallbacks(d.StreamerItemTypes.RACE_CP,this.id)}static togglePlayerUpdate(t,a=!0){return S.toggleItemUpdate(t,d.StreamerItemTypes.RACE_CP,a)}static hideForPlayer(t,a=-5e4){return S.updateEx(t,0,0,a),this.togglePlayerUpdate(t,!1)}static showForPlayer(t,a=-5e4){const n=t.getPos();return n?S.updateEx(t,n.x,n.y,n.z):S.updateEx(t,0,0,a),this.togglePlayerUpdate(t,!0)}static getInstance(t){return this.checkpoints.get(t)}static getInstances(){return[...this.checkpoints.values()]}}b.onExit(({next:e})=>(M.getInstances().forEach(t=>t.destroy()),e()));const[mh,ph]=h({name:"OnDynamicRaceCPStreamIn",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}}),[gh,Sh]=h({name:"OnDynamicRaceCPStreamOut",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}});Z(({type:e,id:t,forPlayer:a,next:n})=>e===d.StreamerItemTypes.RACE_CP?ph(a,M.getInstance(t)):n()),X(({type:e,id:t,forPlayer:a,next:n})=>e===d.StreamerItemTypes.RACE_CP?Sh(a,M.getInstance(t)):n());const[fh]=h({name:"OnPlayerEnterDynamicRaceCP",identifier:"ii",beforeEach(e,t){return{player:m.getInstance(e),raceCP:M.getInstance(t)}}}),[yh]=h({name:"OnPlayerLeaveDynamicRaceCP",identifier:"ii",beforeEach(e,t){return{player:m.getInstance(e),raceCp:M.getInstance(t)}}}),Ph=Object.freeze({onPlayerEnter:fh,onPlayerLeave:yh,onStreamIn:mh,onStreamOut:gh});class H{static actors=new Map;sourceInfo;_id=-1;get id(){return this._id}constructor(t){this.sourceInfo=t}create(){if(this.id!==-1)throw new Error("[StreamerActor]: Unable to create actor again");let{streamDistance:t,worldId:a,interiorId:n,playerId:r,areaId:i,priority:s}=this.sourceInfo;const{modelId:o,x:l,y:c,z:u,r:p,invulnerable:g,health:y,extended:I}=this.sourceInfo;return t??=_.StreamerDistances.ACTOR_SD,s??=0,I?(typeof a=="number"?a=[0]:a??=[0],typeof n=="number"?n=[-1]:n??=[-1],typeof r=="number"?r=[-1]:r??=[-1],typeof i=="number"?i=[-1]:i??=[-1],this._id=_.CreateDynamicActorEx(o,l,c,u,p,g,y,t,a,n,r,i,s)):(Array.isArray(a)?a=0:a??=0,Array.isArray(n)?n=-1:n??=-1,Array.isArray(r)?r=-1:r??=-1,Array.isArray(i)?i=-1:i??=-1,this._id=_.CreateDynamicActor(o,l,c,u,p,g,y,a,n,r,t,i,s)),H.actors.set(this.id,this),this}destroy(){if(this.id===-1&&!T.skip)throw new Error("[StreamerActor]: Unable to destroy the actor before create");return T.skip||_.DestroyDynamicActor(this.id),H.actors.delete(this.id),this._id=-1,this}isValid(){return T.skip&&this.id!==-1?!0:_.IsValidDynamicActor(this.id)}isStreamedIn(t){return this.id===-1?!1:_.IsDynamicActorStreamedIn(this.id,t.id)}getVirtualWorld(){if(this.id===-1)throw new Error("[StreamerActor]: Unable to get virtual world before create");return _.GetDynamicActorVirtualWorld(this.id)}setVirtualWorld(t){if(this.id===-1)throw new Error("[StreamerActor]: Unable to set virtual world before create");return _.SetDynamicActorVirtualWorld(this.id,t)}applyAnimation(t,a,n=4.1,r=!1,i=!0,s=!0,o=!1,l=0){if(this.id===-1)throw new Error("[StreamerActor]: Unable to apply animation before create");if(!ge(t,a))throw new Error("[StreamerActor]: Invalid anim library or name");return _.ApplyDynamicActorAnimation(this.id,t,a,n,r,i,s,o,l)}clearAnimations(){if(this.id===-1)throw new Error("[StreamerActor]: Unable to clear animation before create");return _.ClearDynamicActorAnimations(this.id)}getFacingAngle(){if(this.id===-1)throw new Error("[StreamerActor]: Unable to get facing angle before create");return _.GetDynamicActorFacingAngle(this.id)}setFacingAngle(t){if(this.id===-1)throw new Error("[StreamerActor]: Unable to set facing angle before create");return _.SetDynamicActorFacingAngle(this.id,t)}getPos(){if(this.id===-1)throw new Error("[StreamerActor]: Unable to get pos before create");return _.GetDynamicActorPos(this.id)}setPos(t,a,n){if(this.id===-1)throw new Error("[StreamerActor]: Unable to set pos before create");return _.SetDynamicActorPos(this.id,t,a,n)}getHealth(){if(this.id===-1)throw new Error("[StreamerActor]: Unable to get health before create");return _.GetDynamicActorHealth(this.id)}setHealth(t){if(this.id===-1)throw new Error("[StreamerActor]: Unable to set health before create");return _.SetDynamicActorHealth(this.id,t)}isInvulnerable(){return this.id===-1?!1:_.IsDynamicActorInvulnerable(this.id)}setInvulnerable(t=!0){if(this.id===-1)throw new Error("[StreamerActor]: Unable to set invulnerable before create");return _.SetDynamicActorInvulnerable(this.id,t)}getPlayerTarget(t){if(this.id===-1)return;const a=_.GetPlayerTargetDynamicActor(t.id);return H.actors.get(a)}getPlayerCameraTarget(t){if(this.id===-1)return;const a=_.GetPlayerCameraTargetDynActor(t.id);return H.actors.get(a)}getSkin(){if(this.id===-1)throw new Error("[StreamerActor]: Unable to get skin before create");return Vi(this.id)}setSkin(t,a=!1){if(this.id===-1)throw new Error("[StreamerActor]: Unable to set skin before create");return!a&&(t<0||t>311||t===74)?0:Ui(this.id,t)}getSpawnInfo(){if(this.id===-1)throw new Error("[StreamerActor]: Unable to get spawn info before create");return Wi(this.id)}getAnimation(){if(this.id===-1)throw new Error("[StreamerActor]: Unable to get animation before create");return _.GetDynamicActorAnimation(this.id)}toggleCallbacks(t=!0){if(this.id===-1)throw new Error("[StreamerActor]: Unable to toggle callbacks before create");return S.toggleItemCallbacks(_.StreamerItemTypes.ACTOR,this.id,t)}isToggleCallbacks(){return this.id===-1?!1:S.isToggleItemCallbacks(_.StreamerItemTypes.ACTOR,this.id)}static togglePlayerUpdate(t,a=!0){return S.toggleItemUpdate(t,_.StreamerItemTypes.ACTOR,a)}static hideForPlayer(t,a=-5e4){return S.updateEx(t,0,0,a),this.togglePlayerUpdate(t,!1)}static showForPlayer(t,a=-5e4){const n=t.getPos();return n?S.updateEx(t,n.x,n.y,n.z):S.updateEx(t,0,0,a),this.togglePlayerUpdate(t,!0)}static getInstance(t){return this.actors.get(t)}static getInstances(){return[...this.actors.values()]}}b.onExit(({next:e})=>(H.getInstances().forEach(t=>t.destroy()),e()));const[Eh]=h({name:"OnDynamicActorStreamIn",identifier:"ii",beforeEach(e,t){return{actor:H.getInstance(e),forPlayer:m.getInstance(t)}}}),[Ih]=h({name:"OnDynamicActorStreamOut",identifier:"ii",beforeEach(e,t){return{actor:H.getInstance(e),forPlayer:m.getInstance(t)}}}),[Ah]=h({name:"OnPlayerGiveDamageDynamicActor",identifier:"iiiii",beforeEach(e,t,a,n,r){return{player:m.getInstance(e),actor:H.getInstance(t),amount:a,weapon:n,bodyPart:r}}}),Th=Object.freeze({onStreamIn:Eh,onStreamOut:Ih,onPlayerGiveDamage:Ah});class Y{static texts=new Map;sourceInfo;_id=-1;get id(){return this._id}constructor(t){this.sourceInfo=t}create(){if(this.id!==-1)throw new Error("[Streamer3DTextLabel]: Unable to create again");let{attachedPlayer:t,attachedVehicle:a,testLos:n,streamDistance:r,worldId:i,interiorId:s,playerId:o,areaId:l,priority:c}=this.sourceInfo;const{charset:u,text:p,color:g,drawDistance:y,x:I,y:R,z:O,extended:ee}=this.sourceInfo;return t??=C.PLAYER_ID,a??=C.VEHICLE_ID,r??=d.StreamerDistances.TEXT_3D_LABEL_SD,n??=!1,c??=0,ee?(typeof i=="number"?i=[-1]:i??=[-1],typeof s=="number"?s=[-1]:s??=[-1],typeof o=="number"?o=[-1]:o??=[-1],typeof l=="number"?l=[-1]:l??=[-1],this._id=Ic(p,E(g),I,R,O,y,t,a,n,r,i,s,o,l,c,u||"utf8")):(Array.isArray(i)?i=-1:i??=-1,Array.isArray(s)?s=-1:s??=-1,Array.isArray(o)?o=-1:o??=-1,Array.isArray(l)?l=-1:l??=-1,this._id=Ec(u||"utf8",p,E(g),I,R,O,y,t,a,n,i,s,o,r,l,c)),Y.texts.set(this.id,this),this}destroy(){if(this.id===-1&&!T.skip)throw new Error("[Streamer3DTextLabel]: Unable to destroy before create");return T.skip||d.DestroyDynamic3DTextLabel(this.id),Y.texts.delete(this.id),this._id=-1,this}isValid(){return T.skip&&this.id!==-1?!0:d.IsValidDynamic3DTextLabel(this.id)}getColor(){if(this.id===-1)throw new Error("[Streamer3DTextLabel]: Unable to get color before create");return this.sourceInfo.color}getCharset(){if(this.id===-1)throw new Error("[Streamer3DTextLabel]: Unable to get charset before create");return this.sourceInfo.charset}getText(){if(this.id===-1)throw new Error("[Streamer3DTextLabel]: Unable to get text before create");return Tc(this.id,this.sourceInfo.charset||"utf8")}updateText(t,a,n=this.sourceInfo.charset){if(this.id===-1)throw new Error("[Streamer3DTextLabel]: Unable to update text before create");return this.sourceInfo.charset=n,Ac(this.id,E(t),a,n||"utf8")}toggleCallbacks(t=!0){if(this.id===-1)throw new Error("[Streamer3DTextLabel]: Unable to toggle callbacks before create");return S.toggleItemCallbacks(d.StreamerItemTypes.TEXT_3D_LABEL,this.id,t)}isToggleCallbacks(){return this.id===-1?!1:S.isToggleItemCallbacks(d.StreamerItemTypes.TEXT_3D_LABEL,this.id)}setOffsets(t,a,n){if(this.id===-1)return 0;const r=S.setFloatData(d.StreamerItemTypes.TEXT_3D_LABEL,this.id,d.E_STREAMER.ATTACH_OFFSET_X,t);return S.setFloatData(d.StreamerItemTypes.TEXT_3D_LABEL,this.id,d.E_STREAMER.ATTACH_OFFSET_Y,a),S.setFloatData(d.StreamerItemTypes.TEXT_3D_LABEL,this.id,d.E_STREAMER.ATTACH_OFFSET_Z,n),this.sourceInfo.x=t,this.sourceInfo.y=a,this.sourceInfo.z=n,r}attachToPlayer(t,a,n,r){if(this.id===-1)throw new Error("[Streamer3DTextLabel]: Cannot attachToPlayer before created");const i=typeof t=="number"?t:t.id,s=S.setIntData(d.StreamerItemTypes.TEXT_3D_LABEL,this.id,d.E_STREAMER.ATTACHED_PLAYER,i);return i!==C.PLAYER_ID&&this.setOffsets(a,n,r),this.sourceInfo.attachedPlayer=i,s}attachToVehicle(t,a,n,r){if(this.id===-1)throw new Error("[Streamer3DTextLabel]: Cannot attachToVehicle before created");const i=typeof t=="number"?t:t.id,s=S.setIntData(d.StreamerItemTypes.TEXT_3D_LABEL,this.id,d.E_STREAMER.ATTACHED_VEHICLE,i);return i!==C.VEHICLE_ID&&this.setOffsets(a,n,r),this.sourceInfo.attachedVehicle=i,s}static togglePlayerUpdate(t,a=!0){return S.toggleItemUpdate(t,d.StreamerItemTypes.TEXT_3D_LABEL,a)}static hideForPlayer(t,a=-5e4){return S.updateEx(t,0,0,a),this.togglePlayerUpdate(t,!1)}static showForPlayer(t,a=-5e4){const n=t.getPos();return n?S.updateEx(t,n.x,n.y,n.z):S.updateEx(t,0,0,a),this.togglePlayerUpdate(t,!0)}static getInstance(t){return this.texts.get(t)}static getInstances(){return[...this.texts.values()]}}b.onExit(({next:e})=>(Y.getInstances().forEach(t=>t.destroy()),e()));const[Ch,Dh]=h({name:"OnDynamic3dTextStreamIn",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}}),[wh,bh]=h({name:"OnDynamic3dTextStreamOut",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}});Z(({type:e,id:t,forPlayer:a,next:n})=>e===d.StreamerItemTypes.TEXT_3D_LABEL?Dh(a,Y.getInstance(t)):n()),X(({type:e,id:t,forPlayer:a,next:n})=>e===d.StreamerItemTypes.TEXT_3D_LABEL?bh(a,Y.getInstance(t)):n());const Nh=Object.freeze({onStreamIn:Ch,onStreamOut:wh});class L{static objects=new Map;sourceInfo;_id=-1;get id(){return this._id}constructor(t){this.sourceInfo=t}create(){if(this.id!==-1)throw new Error("[StreamerObject]: Unable to create object again");let{streamDistance:t,drawDistance:a,worldId:n,interiorId:r,playerId:i,areaId:s,priority:o}=this.sourceInfo;const{modelId:l,x:c,y:u,z:p,rx:g,ry:y,rz:I,extended:R}=this.sourceInfo;return t??=_.StreamerDistances.OBJECT_SD,a??=_.StreamerDistances.OBJECT_DD,o??=0,R?(typeof n=="number"?n=[-1]:n??=[-1],typeof r=="number"?r=[-1]:r??=[-1],typeof i=="number"?i=[-1]:i??=[-1],typeof s=="number"?s=[-1]:s??=[-1],this._id=_.CreateDynamicObjectEx(l,c,u,p,g,y,I,t,a,n,r,i,s,o)):(Array.isArray(n)?n=-1:n??=-1,Array.isArray(r)?r=-1:r??=-1,Array.isArray(i)?i=-1:i??=-1,Array.isArray(s)?s=-1:s??=-1,this._id=_.CreateDynamicObject(l,c,u,p,g,y,I,n,r,i,t,a,s,o)),L.objects.set(this._id,this),this}destroy(){if(this.id===-1&&!T.skip)throw new Error("[StreamerObject]: Unable to destroy the object before create");return T.skip||_.DestroyDynamicObject(this.id),L.objects.delete(this.id),this._id=-1,this}isValid(){return T.skip&&this.id!==-1?!0:_.IsValidDynamicObject(this.id)}getModel(){return this.sourceInfo.modelId}getPos(){if(this.id===-1)throw new Error("[StreamerObject]: Cannot get position before create");return _.GetDynamicObjectPos(this.id)}setPos(t,a,n){if(this.id===-1)throw new Error("[StreamerObject]: Cannot set position before create");return _.SetDynamicObjectPos(this.id,t,a,n)}getRot(){if(this.id===-1)throw new Error("[StreamerObject]: Cannot get rotation before create");return _.GetDynamicObjectRot(this.id)}setRot(t,a,n){if(this.id===-1)throw new Error("[StreamerObject]: Cannot set rotation before create");return _.SetDynamicObjectRot(this.id,t,a,n)}move(t,a,n,r,i=-1e3,s=-1e3,o=-1e3){if(this.id===-1)throw new Error("[StreamerObject]: Cannot start moving before create");if(r<0)throw new Error("[StreamerObject]: speed must not be less than 0");if(r>120*1e3)throw new Error("[StreamerObject]: speed more than 120 seconds, warn if it's not intentional");return this.isMoving()&&this.stop(),_.MoveDynamicObject(this.id,t,a,n,r,i,s,o)}stop(){if(this.id===-1)throw new Error("[StreamerObject]: Cannot stop moving before create");return _.StopDynamicObject(this.id)}isMoving(){return this.id===-1?!1:_.IsDynamicObjectMoving(this.id)}attachCamera(t){if(this.id===-1||t.id===-1)throw new Error("[StreamerObject]: Cannot attachCamera before both are created");return _.AttachCameraToDynamicObject(t.id,this.id)}attachToObject(t,a,n,r,i,s,o,l=!0){if(this.id===-1||t.id===-1)throw new Error("[StreamerObject]: Cannot attachToObject before both are created");return _.AttachDynamicObjectToObject(this.id,t.id,a,n,r,i,s,o,l)}attachToPlayer(t,a,n,r,i,s,o){if(this.id===-1||t.id===-1)throw new Error("[StreamerObject]: Cannot attachToPlayer before both are created");return _.AttachDynamicObjectToPlayer(this.id,t.id,a,n,r,i,s,o)}attachToVehicle(t,a,n,r,i,s,o){if(this.id===-1||t.id===-1)throw new Error("[StreamerObject]: Cannot attachToVehicle before both are created");return _.AttachDynamicObjectToVehicle(this.id,t.id,a,n,r,i,s,o)}edit(t){if(this.id===-1)throw new Error("[StreamerObject]: Unable to edit before create");return 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){if(this.id===-1)throw new Error("[StreamerObject]: Unable to get material before create");return _.GetDynamicObjectMaterial(this.id,t,a,n)}setMaterial(t,a,n,r,i="#000"){if(this.id===-1)throw new Error("[StreamerObject]: Unable to set material before create");return _.SetDynamicObjectMaterial(this.id,t,a,n,r,E(i))}isMaterialTextUsed(t){return this.id===-1?!1:_.IsDynamicObjectMaterialTextUsed(this.id,t)}removeMaterialText(t){return this.isMaterialTextUsed(t)?_.RemoveDynamicObjectMaterialText(this.id,t):0}getMaterialText(t){if(this.id===-1)throw new Error("[StreamerObject]: Unable to get material text before create");return Dc(this.id,t,this.sourceInfo.charset||"utf8")}setMaterialText(t=this.sourceInfo.charset,a,n,r=_.MaterialTextSizes.SIZE_256x128,i="Arial",s=24,o=1,l="#fff",c="#000",u=0){if(this.id===-1)throw new Error("[StreamerObject]: Unable to set material text before create");return this.sourceInfo.charset=t,Cc(t||"utf8",this.id,a,n,r,i,s,o,E(l),E(c),u)}getPlayerCameraTarget(t){const a=_.GetPlayerCameraTargetDynObject(t.id);if(a!==C.OBJECT_ID)return L.objects.get(a)}toggleCallbacks(t=!0){if(this.id===-1)throw new Error("[StreamerObject]: Unable to toggle callbacks before create");return S.toggleItemCallbacks(_.StreamerItemTypes.OBJECT,this.id,t)}isToggleCallbacks(){return this.id===-1?!1:S.isToggleItemCallbacks(_.StreamerItemTypes.OBJECT,this.id)}setNoCameraCollision(){return _.SetDynamicObjectNoCameraCol(this.id)}getNoCameraCollision(){return _.GetDynamicObjectNoCameraCol(this.id)}static togglePlayerUpdate(t,a=!0){return S.toggleItemUpdate(t,_.StreamerItemTypes.OBJECT,a)}static hideForPlayer(t,a=-5e4){return S.updateEx(t,0,0,a),this.togglePlayerUpdate(t,!1)}static showForPlayer(t,a=-5e4){const n=t.getPos();return n?S.updateEx(t,n.x,n.y,n.z):S.updateEx(t,0,0,a),this.togglePlayerUpdate(t,!0)}static getInstance(t){return this.objects.get(t)}static getInstances(){return[...this.objects.values()]}}b.onExit(({next:e})=>(L.getInstances().forEach(t=>t.destroy()),e()));const[Rh,Lh]=h({name:"OnDynamicObjectStreamIn",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}}),[vh,Oh]=h({name:"OnDynamicObjectStreamOut",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}});Z(({type:e,id:t,forPlayer:a,next:n})=>e===d.StreamerItemTypes.OBJECT?Lh(a,L.getInstance(t)):n()),X(({type:e,id:t,forPlayer:a,next:n})=>e===d.StreamerItemTypes.OBJECT?Oh(a,L.getInstance(t)):n());const[Gh]=h({name:"OnDynamicObjectMoved",identifier:"i",beforeEach(e){return{object:L.getInstance(e)}}}),[Fh]=h({name:"OnPlayerEditDynamicObject",identifier:"iiiiiiiii",beforeEach(e,t,a,n,r,i,s,o,l){return{player:m.getInstance(e),object:L.getInstance(t),response:a,x:n,y:r,z:i,rX:s,rY:o,rZ:l}}}),[Bh]=h({name:"OnPlayerSelectDynamicObject",identifier:"iiiiii",beforeEach(e,t,a,n,r,i){return{player:m.getInstance(e),object:L.getInstance(t),modelId:a,x:n,y:r,z:i}}}),[kh]=h({name:"OnPlayerShootDynamicObject",identifier:"iiiiii",beforeEach(e,t,a,n,r,i){return{player:m.getInstance(e),object:L.getInstance(a),weapon:t,x:n,y:r,z:i}}}),[Mh]=h({name:"OnPlayerEditAttachedObject",beforeEach(e,t,a,n,r,i,s,o,l,c,u,p,g,y){return{player:m.getInstance(e),response:t,index:a,modelId:n,boneId:r,fOffsetX:i,fOffsetY:s,fOffsetZ:o,fRotX:l,fRotY:c,fRotZ:u,fScaleX:p,fScaleY:g,fScaleZ:y}}}),xh=Object.freeze({onMoved:Gh,onPlayerEdit:Fh,onPlayerSelect:Bh,onPlayerShoot:kh,onPlayerEditAttached:Mh,onStreamIn:Rh,onStreamOut:vh});class N{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)throw new Error("[StreamerArea]: Unable to create area again");let{worldId:t,interiorId:a,playerId:n}=this.sourceInfo;const{type:r,extended:i}=this.sourceInfo;if(i)if(typeof t=="number"?t=[-1]:t??=[-1],typeof a=="number"?a=[-1]:a??=[-1],typeof n=="number"?n=[-1]:n??=[-1],r==="circle"){const{x:s,y:o,size:l}=this.sourceInfo;if(l<0)throw new Error("[StreamerArea]: Invalid circle extend size");this._id=_.CreateDynamicCircleEx(s,o,l,t,a,n)}else if(r==="cuboid"){const{minX:s,minY:o,minZ:l,maxX:c,maxY:u,maxZ:p}=this.sourceInfo;this._id=_.CreateDynamicCuboidEx(s,o,l,c,u,p,t,a,n)}else if(r==="cylinder"){const{x:s,y:o,minZ:l,maxZ:c,size:u}=this.sourceInfo;if(u<0)throw new Error("[StreamerArea]: Invalid cylinder extend size");this._id=_.CreateDynamicCylinderEx(s,o,l,c,u,t,a,n)}else if(r==="polygon"){const{points:s,minZ:o,maxZ:l}=this.sourceInfo;if(s.length%2!==0)throw new Error("[StreamerArea]: Unable to create polygon extended with asymmetrical points");this._id=_.CreateDynamicPolygonEx(s,o,l,t,a,n)}else if(r==="rectangle"){const{minX:s,minY:o,maxX:l,maxY:c}=this.sourceInfo;this._id=_.CreateDynamicRectangleEx(s,o,l,c,t,a,n)}else{const{x:s,y:o,z:l,size:c}=this.sourceInfo;if(c<0)throw new Error("[StreamerArea]: Invalid sphere extended size");this._id=_.CreateDynamicSphereEx(s,o,l,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,r==="circle"){const{x:s,y:o,size:l}=this.sourceInfo;if(l<0)throw new Error("[StreamerArea]: Invalid circle size");this._id=_.CreateDynamicCircle(s,o,l,t,a,n)}else if(r==="cuboid"){const{minX:s,minY:o,minZ:l,maxX:c,maxY:u,maxZ:p}=this.sourceInfo;this._id=_.CreateDynamicCuboid(s,o,l,c,u,p,t,a,n)}else if(r==="cylinder"){const{x:s,y:o,minZ:l,maxZ:c,size:u}=this.sourceInfo;if(u<0)throw new Error("[StreamerArea]: Invalid cylinder size");this._id=_.CreateDynamicCylinder(s,o,l,c,u,t,a,n)}else if(r==="polygon"){const{points:s,minZ:o,maxZ:l}=this.sourceInfo;if(s.length%2!==0)throw new Error("[StreamerArea]: Unable to create polygon with asymmetrical points");this._id=_.CreateDynamicPolygon(s,o,l,t,a,n)}else if(r==="rectangle"){const{minX:s,minY:o,maxX:l,maxY:c}=this.sourceInfo;this._id=_.CreateDynamicRectangle(s,o,l,c,t,a,n)}else{const{x:s,y:o,z:l,size:c}=this.sourceInfo;if(c<0)throw new Error("[StreamerArea]: Invalid sphere size");this._id=_.CreateDynamicSphere(s,o,l,c,t,a,n)}return N.areas.set(this._id,this),this}destroy(){if(this.id===-1&&!T.skip)throw new Error("[StreamerArea]: Unable to destroy the area before create");return T.skip||_.DestroyDynamicArea(this.id),N.areas.delete(this.id),this._id=-1,this}isValid(){return T.skip&&this.id!==-1?!0:_.IsValidDynamicArea(this.id)}getType(){if(this.id!==-1)throw new Error("[StreamerArea]: Unable to get type before create");return _.GetDynamicAreaType(this.id)}getPolygonPoints(){if(this.id!==-1)throw new Error("[StreamerArea]: Unable to getPolygonPoints before create");if(this.type!=="polygon")throw new Error("[StreamerArea]: getPolygonPoints invalid area type");return _.GetDynamicPolygonPoints(this.id)}getPolygonNumberPoints(){if(this.id!==-1)throw new Error("[StreamerArea]: Unable to getPolygonNumberPoints number before create");if(this.type!=="polygon")throw new Error("[StreamerArea]: getPolygonNumberPoints invalid area type");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 N.getPlayerAreasNumber(t)?_.GetPlayerDynamicAreas(t.id).map(a=>N.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,r,i,s){return this.id===-1?!1:_.IsLineInDynamicArea(this.id,t,a,n,r,i,s)}static isLineInAny(t,a,n,r,i,s){return _.IsLineInAnyDynamicArea(t,a,n,r,i,s)}static getForPoint(t,a,n){return N.getNumberForPoint(t,a,n)?_.GetDynamicAreasForPoint(t,a,n).map(r=>N.getInstance(r)):[]}static getNumberForPoint(t,a,n){return _.GetNumberDynamicAreasForPoint(t,a,n)}static getForLine(t,a,n,r,i,s){return N.getNumberForLine(t,a,n,r,i,s)?_.GetDynamicAreasForLine(t,a,n,r,i,s).map(o=>N.areas.get(o)):[]}static getNumberForLine(t,a,n,r,i,s){return _.GetNumberDynamicAreasForLine(t,a,n,r,i,s)}attachToObject(t,a=0,n=0,r=0){if(this.id===-1||t.id===-1)throw new Error("[StreamerArea]: Unable to toggle attach to object before create");return _.AttachDynamicAreaToObject(this.id,t.id,_.StreamerObjectTypes.DYNAMIC,C.PLAYER_ID,a,n,r)}attachToPlayer(t,a=0,n=0,r=0){if(this.id===-1||t.id===-1)throw new Error("[StreamerArea]: Unable to toggle attach to player before create");return _.AttachDynamicAreaToPlayer(this.id,t.id,a,n,r)}attachToVehicle(t,a=0,n=0,r=0){if(this.id===-1||t.id===-1)throw new Error("[StreamerArea]: Unable to toggle attach to vehicle before create");return _.AttachDynamicAreaToVehicle(this.id,t.id,a,n,r)}toggleSpectateMode(t){if(this.id===-1)throw new Error("[StreamerArea]: Unable to toggle specate mode before create");return _.ToggleDynAreaSpectateMode(this.id,t)}isToggleSpectateMode(){return this.id===-1?!1:_.IsToggleDynAreaSpectateMode(this.id)}toggleCallbacks(t=!0){if(this.id===-1)throw new Error("[StreamerArea]: Unable to toggle callbacks before create");return S.toggleItemCallbacks(_.StreamerItemTypes.AREA,this.id,t)}isToggleCallbacks(){return this.id===-1?!1:S.isToggleItemCallbacks(_.StreamerItemTypes.AREA,this.id)}static togglePlayerUpdate(t,a=!0){return S.toggleItemUpdate(t,_.StreamerItemTypes.AREA,a)}static hideForPlayer(t,a=-5e4){return S.updateEx(t,0,0,a),this.togglePlayerUpdate(t,!1)}static showForPlayer(t,a=-5e4){const n=t.getPos();return n?S.updateEx(t,n.x,n.y,n.z):S.updateEx(t,0,0,a),this.togglePlayerUpdate(t,!0)}static getInstance(t){return this.areas.get(t)}static getInstances(){return[...this.areas.values()]}}b.onExit(({next:e})=>(N.getInstances().forEach(t=>t.destroy()),e()));const[Hh,Vh]=h({name:"OnDynamicAreaStreamIn",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}}),[Uh,Wh]=h({name:"OnDynamicAreaStreamOut",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}});Z(({type:e,id:t,forPlayer:a,next:n})=>e===d.StreamerItemTypes.AREA?Vh(a,N.getInstance(t)):n()),X(({type:e,id:t,forPlayer:a,next:n})=>e===d.StreamerItemTypes.AREA?Wh(a,N.getInstance(t)):n());const[Kh]=h({name:"OnPlayerEnterDynamicArea",identifier:"ii",beforeEach(e,t){return{player:m.getInstance(e),area:N.getInstance(t)}}}),[jh]=h({name:"OnPlayerLeaveDynamicArea",identifier:"ii",beforeEach(e,t){return{player:m.getInstance(e),area:N.getInstance(t)}}}),Zh=Object.freeze({onStreamIn:Hh,onStreamOut:Uh,onPlayerEnter:Kh,onPlayerLeave:jh});class f{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)throw new Error("[TextDraw]: Unable to create the textdraw again");const{x:t,y:a,text:n,player:r,charset:i="iso-8859-1"}=this.sourceInfo,s=P.encodeToBuf(P.convertSpecialChar(n),i);if(r){if(f.getInstances(!1).length===G.MAX_TEXT_DRAWS)throw new Error("[TextDraw]: Unable to continue to create textdraw, maximum allowable quantity has been reached");this._id=Od(r.id,t,a,s);const o=Pe.onDisconnect(({player:l,next:c})=>{const u=c();return l===r&&(this.destroy(),o()),u});f.playerTextDraws.set(this.id,this)}else{if(f.getInstances(!0).length===G.MAX_TEXT_DRAWS)throw new Error("[TextDraw]: Unable to continue to create textdraw, maximum allowable quantity has been reached");this._id=Wl(t,a,s),f.globalTextDraws.set(this.id,this)}return this}destroy(){this.id===-1&&f.beforeCreateWarn("destroy the textdraw");const{player:t}=this.sourceInfo;return t?(Gd(t.id,this.id),f.playerTextDraws.delete(this.id)):(Kl(this.id),f.globalTextDraws.delete(this.id)),this._id=-1,this}setFont(t){if(this.id===-1)return f.beforeCreateWarn("set font"),this;const{player:a}=this.sourceInfo;return a?Kd(a.id,this.id,t):ed(this.id,t),this}setColor(t){if(this.id===-1)return f.beforeCreateWarn("set color"),this;const{player:a}=this.sourceInfo;return a?Md(a.id,this.id,t):Yl(this.id,t),this}setBoxColors(t){if(this.id===-1)return f.beforeCreateWarn("set box color"),this;const{player:a}=this.sourceInfo;return a?Hd(a.id,this.id,t):$l(this.id,t),this}setBackgroundColors(t){if(this.id===-1)return f.beforeCreateWarn("set background color"),this;const{player:a}=this.sourceInfo;return a?Wd(a.id,this.id,t):ql(this.id,t),this}setAlignment(t){if(this.id===-1)return f.beforeCreateWarn("set alignment"),this;const{player:a}=this.sourceInfo;return a?kd(a.id,this.id,t):Xl(this.id,t),this}setLetterSize(t,a){if(this.id===-1)return f.beforeCreateWarn("set letter size"),this;const{player:n}=this.sourceInfo;return n?Fd(n.id,this.id,t,a):jl(this.id,t,a),this}setOutline(t){if(this.id===-1)return f.beforeCreateWarn("set outline model"),this;if(t<0)throw new Error("[TextDraw]: Invalid outline value");const{player:a}=this.sourceInfo;return a?Ud(a.id,this.id,t):Ql(this.id,t),this}setPreviewModel(t){if(this.id===-1)return f.beforeCreateWarn("set preview model"),this;this.setFont(ne.MODEL_PREVIEW);const{player:a}=this.sourceInfo;return a?$d(a.id,this.id,t):ld(this.id,t),this}setPreviewRot(t,a,n,r=1){if(this.id===-1)return f.beforeCreateWarn("set preview rot"),this;this.setFont(ne.MODEL_PREVIEW);const{player:i}=this.sourceInfo;return i?Jd(i.id,this.id,t,a,n,r):dd(this.id,t,a,n,r),this}setPreviewVehColors(t,a){if(this.id===-1)return f.beforeCreateWarn("set preview veh col"),this;this.setFont(ne.MODEL_PREVIEW);const{player:n}=this.sourceInfo;return n?Qd(n.id,this.id,t,a):cd(this.id,t,a),this}setProportional(t=!0){if(this.id===-1)return f.beforeCreateWarn("set Proportional"),this;const{player:a}=this.sourceInfo;return a?jd(a.id,this.id,t):td(this.id,t),this}setSelectable(t){if(this.id===-1)return f.beforeCreateWarn("set Selectable"),this;const{player:a}=this.sourceInfo;return a?Zd(a.id,this.id,t):ad(this.id,t),this}setShadow(t){if(this.id===-1)return f.beforeCreateWarn("set shadow"),this;if(t<0)throw new Error("[TextDraw]: Invalid shadow value");const{player:a}=this.sourceInfo;return a?Vd(a.id,this.id,t):Jl(this.id,t),this}setString(t,a){if(this.id===-1)return f.beforeCreateWarn("set string"),this;if(t.length===0||t.length>1024)throw new Error("[TextDraw]: Invalid text length");const{player:n,charset:r="iso-8859-1"}=this.sourceInfo,i=P.encodeToBuf(P.convertSpecialChar(t),r);return n?zd(n.id,this.id,i):a?Ul(this.id,a.id,i):od(this.id,i),this}setTextSize(t,a){if(this.id===-1)return f.beforeCreateWarn("set TextSize"),this;const{player:n}=this.sourceInfo;return n?Bd(n.id,this.id,t,a):Zl(this.id,t,a),this}useBox(t){if(this.id===-1)return f.beforeCreateWarn("set TextSize"),this;const{player:a}=this.sourceInfo;return a?xd(a.id,this.id,t):zl(this.id,t),this}static beforeCreateWarn(t){throw new Error(`[TextDraw]: Unable to ${t} before create`)}show(t){if(this.id===-1)return f.beforeCreateWarn("show"),this;const a=this.sourceInfo.player;if(a)Xd(a.id,this.id);else if(t)nd(t.id,this.id);else throw new Error("[TextDraw]: invalid player for show");return this}hide(t){if(this.id===-1)return f.beforeCreateWarn("hide"),this;const a=this.sourceInfo.player;if(a)Yd(a.id,this.id);else if(t)rd(t.id,this.id);else throw new Error("[TextDraw]: invalid player for hide");return this}showAll(){if(this.id===-1)return f.beforeCreateWarn("show"),this;if(!this.sourceInfo.player)return id(this.id),this;throw new Error("[TextDraw]: player's textdraw should not be show for all.")}hideAll(){if(this.id===-1)return f.beforeCreateWarn("hideAll"),this;if(!this.sourceInfo.player)return sd(this.id),this;throw new Error("[TextDraw]: player's textdraw should not be hide for all.")}isValid(){const t=this.sourceInfo.player;return t?ud(t.id,this.id):Il(this.id)}isVisibleForPlayer(t){if(this.id===-1)return!1;const{player:a}=this.sourceInfo;return a?md(a.id,this.id):t?Al(t.id,this.id):!1}getString(){if(this.id===-1)return this.sourceInfo.text;const t=this.sourceInfo.player;return t?pd(t.id,this.id):Tl(this.id)}setPos(t,a){if(this.id===-1)return f.beforeCreateWarn("set position"),this;const n=this.sourceInfo.player;return n?gd(n.id,this.id,t,a):Cl(this.id,t,a),this}getLetterSize(){if(this.id===-1)return f.beforeCreateWarn("get letter size");const t=this.sourceInfo.player;return t?Sd(t.id,this.id):Dl(this.id)}getTextSize(){if(this.id===-1)return f.beforeCreateWarn("get text size");const t=this.sourceInfo.player;return t?fd(t.id,this.id):wl(this.id)}getPos(){if(this.id===-1)return f.beforeCreateWarn("get position");const t=this.sourceInfo.player;return t?yd(t.id,this.id):bl(this.id)}getColor(){if(this.id===-1)return f.beforeCreateWarn("get color");const t=this.sourceInfo.player;return t?Pd(t.id,this.id):Nl(this.id)}getBoxColor(){if(this.id===-1)return f.beforeCreateWarn("get box color");const t=this.sourceInfo.player;return t?Ed(t.id,this.id):Rl(this.id)}getBackgroundColor(){if(this.id===-1)return f.beforeCreateWarn("get bg color");const t=this.sourceInfo.player;return t?Id(t.id,this.id):Ll(this.id)}getShadow(){if(this.id===-1)return f.beforeCreateWarn("get shadow");const t=this.sourceInfo.player;return t?Ad(t.id,this.id):vl(this.id)}getOutline(){if(this.id===-1)return f.beforeCreateWarn("get outline");const t=this.sourceInfo.player;return t?Td(t.id,this.id):Ol(this.id)}getFont(){if(this.id===-1)return f.beforeCreateWarn("get font");const t=this.sourceInfo.player;return t?Cd(t.id,this.id):Gl(this.id)}isBox(){if(this.id===-1)return!1;const t=this.sourceInfo.player;return t?Dd(t.id,this.id):Fl(this.id)}isProportional(){if(this.id===-1)return!1;const t=this.sourceInfo.player;return t?wd(t.id,this.id):Bl(this.id)}isSelectable(){if(this.id===-1)return!1;const t=this.sourceInfo.player;return t?bd(t.id,this.id):kl(this.id)}getAlignment(){if(this.id===-1)return f.beforeCreateWarn("get alignment");const t=this.sourceInfo.player;return t?Nd(t.id,this.id):Ml(this.id)}getPreviewModel(){if(this.id===-1)return f.beforeCreateWarn("get preview model");const t=this.sourceInfo.player;return t?Rd(t.id,this.id):xl(this.id)}getPreviewRot(){if(this.id===-1)return f.beforeCreateWarn("get preview rotation");const t=this.sourceInfo.player;return t?Ld(t.id,this.id):Hl(this.id)}getPreviewVehColors(){if(this.id===-1)return f.beforeCreateWarn("get preview vel colors");const t=this.sourceInfo.player;return t?vd(t.id,this.id):Vl(this.id)}isGlobal(){return!!this.sourceInfo.player}static getInstance(t,a){return a?this.globalTextDraws.get(t):this.playerTextDraws.get(t)}static getInstances(t){return t?[...this.globalTextDraws.values()]:[...this.playerTextDraws.values()]}}b.onExit(({next:e})=>(f.getInstances(!0).forEach(t=>t.destroy()),f.getInstances(!1).forEach(t=>t.destroy()),e()));const[Xh]=h({name:"OnPlayerClickTextDraw",beforeEach(e,t){return{player:m.getInstance(e),textDraw:t===C.TEXT_DRAW?t:f.getInstance(t,!0)}}}),[Yh]=h({name:"OnPlayerClickPlayerTextDraw",beforeEach(e,t){return{player:m.getInstance(e),textDraw:t===C.TEXT_DRAW?t:f.getInstance(t,!1)}}}),zh=Object.freeze({onPlayerClickGlobal:Xh,onPlayerClickPlayer:Yh});function $h(e,t){return(e&t)===t}function Jh(e,t,a){return(e&a)===a&&(t&a)!==a}function Qh(e,t){return!!(e&t)}function qh(e,t,a){return(e&a)!==a&&(t&a)===a}function eu(e){const t=new Set,a=e.prototype,n=Object.getOwnPropertyNames(a).filter(i=>typeof a[i]=="function"&&i!=="constructor").reduce((i,s)=>(i[s]=a[s],i),{});function r(i,s){if(t.has(i))throw new Error(`Method '${String(i)}' of class '${e.name}' has already been hooked. Each method can only be hooked once per defineHooks call. `);if(typeof Reflect.get(a,i)!="function")throw new Error(`Invalid method: ${String(i)}`);return Reflect.set(a,i,s),t.add(i),s}return[n,r]}Object.defineProperty(exports,"E_STREAMER",{enumerable:!0,get:function(){return d.E_STREAMER}}),Object.defineProperty(exports,"MapIconStyles",{enumerable:!0,get:function(){return d.MapIconStyles}}),Object.defineProperty(exports,"MaterialTextAlign",{enumerable:!0,get:function(){return d.MaterialTextAlign}}),Object.defineProperty(exports,"MaterialTextSizes",{enumerable:!0,get:function(){return d.MaterialTextSizes}}),Object.defineProperty(exports,"StreamerAreaTypes",{enumerable:!0,get:function(){return d.StreamerAreaTypes}}),Object.defineProperty(exports,"StreamerDistances",{enumerable:!0,get:function(){return d.StreamerDistances}}),Object.defineProperty(exports,"StreamerItemTypes",{enumerable:!0,get:function(){return d.StreamerItemTypes}}),Object.defineProperty(exports,"StreamerMiscellaneous",{enumerable:!0,get:function(){return d.StreamerMiscellaneous}}),Object.defineProperty(exports,"StreamerObjectTypes",{enumerable:!0,get:function(){return d.StreamerObjectTypes}}),exports.ArtworkEnum=ve,exports.BodyPartsEnum=je,exports.BoneIdsEnum=Ze,exports.BulletHitTypesEnum=et,exports.CameraCutStylesEnum=ae,exports.CameraModesEnum=Ke,exports.CarModTypeEnum=ze,exports.ClickSourcesEnum=Oe,exports.ConnectionStatusEnum=Fe,exports.DamageDeathReasonEnum=me,exports.Dialog=D,exports.DialogStylesEnum=he,exports.Dynamic3DTextLabel=Y,exports.Dynamic3DTextLabelEvent=Nh,exports.DynamicActor=H,exports.DynamicActorEvent=Th,exports.DynamicArea=N,exports.DynamicAreaEvent=Zh,exports.DynamicCheckPointEvent=uh,exports.DynamicCheckpoint=k,exports.DynamicMapIcon=W,exports.DynamicMapIconEvent=eh,exports.DynamicObject=L,exports.DynamicObjectEvent=xh,exports.DynamicPickup=U,exports.DynamicPickupEvent=sh,exports.DynamicRaceCP=M,exports.DynamicRaceCPEvent=Ph,exports.ERecordStatus=F,exports.EditResponseTypesEnum=Ge,exports.FightingStylesEnum=Ue,exports.ForceSyncEnum=Xe,exports.GameMode=b,exports.GameText=M_,exports.GangZone=w,exports.GangZoneEvent=Y_,exports.I18n=P,exports.InvalidEnum=C,exports.KeysEnum=Be,exports.LimitsEnum=G,exports.MapIconStylesEnum=We,exports.MarkerModesEnum=ke,exports.Menu=z,exports.MenuEvent=V_,exports.NPCPlaybackEnum=Me,exports.NetStats=k_,exports.Npc=B,exports.NpcEvent=Gt,exports.ObjectMaterialAlignmmentEnum=He,exports.ObjectMaterialTextSizeEnum=xe,exports.Player=m,exports.PlayerEvent=Pe,exports.PlayerStateEnum=$,exports.RecordTypesEnum=at,exports.SelectObjectTypesEnum=Ve,exports.SpecialActionsEnum=ue,exports.SpectateModesEnum=oe,exports.Streamer=S,exports.TextDraw=f,exports.TextDrawAlignEnum=Ye,exports.TextDrawEvent=zh,exports.TextDrawFontsEnum=ne,exports.Vehicle=A,exports.VehicleEvent=B_,exports.VehicleModelInfoEnum=Je,exports.VehicleParamsEnum=$e,exports.WeaponEnum=Qe,exports.WeaponSkillsEnum=qe,exports.WeaponStatesEnum=tt,exports.animateLib=nt,exports.defineEvent=h,exports.defineHooks=eu,exports.getAnimateDurationByLibName=uc,exports.isHolding=$h,exports.isPressed=Jh,exports.isPressing=Qh,exports.isReleased=qh,exports.isValidAnimateLib=pe,exports.isValidAnimateName=ge,exports.rgba=E;
|