@infernus/core 0.11.0-beta.11 → 0.11.0-beta.12
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/bundle.d.ts +3 -3
- package/dist/bundle.js +1 -1
- package/dist/bundle.mjs +1 -1
- package/package.json +1 -1
package/dist/bundle.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";var ne=require("iconv-lite"),dt=require("pino"),x=require("lodash-unified"),c=require("@infernus/streamer");function ct(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 u=ct(c);const o=dt({transport:{target:"pino-pretty",options:{translateTime:"SYS:standard",ignore:"pid,hostname"}}});process.on("uncaughtException",e=>{o.error(e),process.exit(1)}),process.on("unhandledRejection",e=>{if(e instanceof Error){o.warn(e);return}o.warn(new Error(JSON.stringify(e)))});class f{constructor(t,a){this.defaultLocale=t,this.locales=a,this.defaultLocale=x.snakeCase(t),this.locales=f.snakeLocaleKeys(a)}addLocales=t=>{x.merge(this.locales,f.snakeLocaleKeys(t))};removeLocales=(...t)=>{this.locales=x.omit(this.locales,t)};$t=(t,a,n=this.defaultLocale)=>{const i=this.locales[x.snakeCase(n)],r=x.get(this.locales[this.defaultLocale],t),s=x.get(i,t,r);if(s===void 0)return o.warn(`[i18n]: cannot find ${n}["${t}"]`),"undefined";if(typeof s!="string")return JSON.stringify(s);let l=s;if(a&&a.length){const d=/%s/i;for(let _=0;_<a.length&&l.match(d)!==null;_++)l=l.replace(d,a[_])}return l};static isValidate(t){ne.encodingExists(t)||(o.fatal(`[i18n]: unknown charset ${t}`),process.exit(1))}static encodeToBuf(t,a){return f.isValidate(a),[...ne.encode(t,a),0]}static decodeFromBuf(t,a="utf8"){f.isValidate(a);const n=t instanceof Buffer?t:Buffer.from(t);return ne.decode(n,a)}static getValidStr(t){return t.indexOf(0)===-1?t:t.slice(0,t.indexOf(0))}static snakeLocaleKeys(t){return x.mapKeys(t,(a,n)=>x.snakeCase(n))}}const J=new Map;function pe(e){J.set(e,[])}function _t(e,t){return typeof e=="boolean"?+e:typeof e=="number"&&!isNaN(e)?e:+t}function ht(e,...t){const{defaultValue:a=!0,name:n,beforeEach:i,afterEach:r}=e,s=J.get(n);if(!s||!s.length)return+a;const l=i?i(...t):{},d=[];let _=-1;const p=()=>{if(_++,_<s.length){try{const g=s[_]({next:p,...l});return g instanceof Promise&&d.push(g),g}catch(g){const S=`executing event [name:${n},index:${_}] error:`;o.error(S),o.error(g)}return a}return r&&(d.length?Promise.allSettled(d).then(()=>r(l)):r(l)),a};return _t(p(),a)}function h(e){const{name:t,identifier:a,isNative:n=!0}=e;if(J.has(t)){const l=`event [name:${t}] error: already defined.`;throw o.error(l),new Error(l)}pe(t);function i(...l){return ht(e,...l)}function r(l){const d=J.get(t).push(l)-1;return()=>{const _=J.get(t)||[],p=_.length-1,g=p<d?p:d;for(let S=g;S>=0;S--)if(_[S]===l){_.splice(S,1);break}}}const s=[r,i];return n&&(a&&samp.registerEvent(t,a),samp.on(t,i)),s}const[ut]=h({name:"OnNpcConnect",beforeEach(e){return{myPlayerId:e}}}),[mt]=h({name:"OnNpcDisconnect",beforeEach(e){return{reason:e}}}),[pt]=h({name:"OnNpcModeInit"}),[gt]=h({name:"OnNpcModeExit"}),[St]=h({name:"OnNpcSpawn"}),[yt]=h({name:"OnClientMessageI18n",identifier:"iai",beforeEach(e,t){return{color:e,buffer:t,string:f.decodeFromBuf(t)}}}),It=Object.freeze({onConnect:ut,onDisconnect:mt,onModeInit:pt,onModeExit:gt,onSpawn:St,onClientMessage:yt}),Pt=e=>!!samp.callNative("IsValidNickName","s",e),ft=(e,t)=>{samp.callNative("AllowNickNameCharacter","ii",e,t)},At=e=>!!samp.callNative("IsNickNameCharacterAllowed","i",e),Et=(e,t)=>!!samp.callNative("AddServerRule","ss",e,t),Tt=(e,t)=>!!samp.callNative("SetServerRule","ss",e,t),Ct=e=>!!samp.callNative("IsValidServerRule","s",e),Dt=e=>!!samp.callNative("RemoveServerRule","s",e),Nt=e=>{samp.callNative("AllowAdminTeleport","i",e)},Rt=()=>!!samp.callNative("IsAdminTeleportAllowed",""),Lt=e=>{samp.callNative("AllowInteriorWeapons","i",e)},bt=()=>!!samp.callNative("AreInteriorWeaponsAllowed",""),vt=()=>!!samp.callNative("AreAllAnimationsEnabled",""),wt=e=>{samp.callNative("EnableAllAnimations","i",e)},Ot=e=>{const[t]=samp.callNative("GetConsoleVarAsString","sAi",e,64);return t},Gt=e=>samp.callNative("GetConsoleVarAsInt","s",e),Bt=e=>!!samp.callNative("GetConsoleVarAsBool","s",e),Ft=()=>samp.callNative("GetWeather",""),kt=e=>samp.callNative("GetServerRuleFlags","s",e),Mt=(e,t)=>!!samp.callNative("SetServerRuleFlags","si",e,t),xt=e=>!!samp.callNative("SetModeRestartTime","f",e),Ht=()=>samp.callNativeFloat("GetModeRestartTime",""),Vt=(e,t,a)=>samp.callNative("GameTextForAll","sii",e,t,a),Ut=e=>{samp.callNative("HideGameTextForAll","i",e)},Wt=(e,t,a)=>samp.callNative("SendDeathMessage","iii",e,t,a),Kt=()=>samp.callNative("GetMaxPlayers",""),Zt=(e,t,a)=>Math.sqrt(e*e+t*t+a*a),jt=e=>samp.callNative("SetGameModeText","s",e),Xt=e=>samp.callNative("ShowNameTags","i",e),Yt=e=>samp.callNative("ShowPlayerMarkers","i",e),zt=e=>samp.callNative("SetWorldTime","i",e),$t=()=>samp.callNative("GetWorldTime",""),Jt=()=>samp.callNative("EnableVehicleFriendlyFire",""),Qt=e=>samp.callNative("SetWeather","i",e),qt=()=>samp.callNativeFloat("GetGravity",""),ea=e=>samp.callNative("SetGravity","f",e),ta=(e,t,a,n,i)=>samp.callNative("CreateExplosion","fffif",e,t,a,n,i),aa=e=>samp.callNative("EnableZoneNames","i",e),na=()=>samp.callNative("UsePlayerPedAnims",""),ia=()=>samp.callNative("DisableInteriorEnterExits",""),ra=e=>samp.callNative("SetNameTagDrawDistance","f",e),sa=()=>samp.callNative("DisableNameTagLOS",""),la=e=>samp.callNative("LimitGlobalChatRadius","f",e),oa=e=>samp.callNative("LimitPlayerMarkerRadius","f",e),da=(e,t)=>samp.callNative("ConnectNPC","ss",e,t),ca=()=>samp.callNative("GetServerTickRate",""),_a=e=>samp.callNative("GetAnimationName","iSiSi",e,32,32),ha=e=>samp.callNative("EnableStuntBonusForAll","i",e),ua=e=>{samp.callNative("ToggleChatTextReplacement","i",e)},ma=()=>!!samp.callNative("ChatTextReplacementToggled",""),pa=e=>samp.callNative("GetWeaponSlot","i",e),ga=e=>{const[t]=samp.callNative("GetWeaponName","iSi",e,32);return t},ge=()=>samp.callNative("GetAvailableClasses",""),Sa=e=>{if(e<ge()||e>319)return!1;const t=samp.callNative("GetPlayerClass","iIIFFFFIIIIII",e),[a,n=0,i=0,r=0,s=0,l=0,d=0,_=0,p=0,g=0,S=0,P=0]=t;return{teamId:a,modelId:n,spawnX:i,spawnY:r,spawnZ:s,zAngle:l,weapon1:d,weapon1Ammo:_,weapon2:p,weapon2Ammo:g,weapon3:S,weapon3Ammo:P}},ya=(e,t,a,n,i,r,s,l,d,_,p,g,S)=>!!samp.callNative("EditPlayerClass","iiiffffiiiiii",e,t,a,n,i,r,s,l,d,_,p,g,S),Ia=e=>samp.callNative("SetTeamCount","i",e),Pa=(e,t,a,n,i,r,s,l,d,_,p)=>samp.callNative("AddPlayerClass","iffffiiiiii",e,t,a,n,i,r,s,l,d,_,p),fa=(e,t,a,n,i,r,s,l,d,_,p,g)=>samp.callNative("AddPlayerClassEx","iiffffiiiiii",e,t,a,n,i,r,s,l,d,_,p,g),Aa=(e,t,a,n,i,r,s,l,d,_,p,g,S)=>samp.callNative("SetSpawnInfo","iiiffffiiiiii",e,t,a,n,i,r,s,l,d,_,p,g,S),Ea=e=>samp.callNative("SpawnPlayer","i",e),Ta=e=>{const[t,a=0,n=0,i=0,r=0,s=0,l=0,d=0,_=0,p=0,g=0,S=0]=samp.callNative("GetSpawnInfo","iIIFFFFIIIIII",e);return{teamId:t,modelId:a,spawnX:n,spawnY:i,spawnZ:r,zAngle:s,weapon1:l,weapon1Ammo:d,weapon2:_,weapon2Ammo:p,weapon3:g,weapon3Ammo:S}},Ca=e=>samp.callNative("NetStats_GetConnectedTime","i",e),Da=e=>samp.callNative("NetStats_MessagesReceived","i",e),Na=e=>samp.callNative("NetStats_BytesReceived","i",e),Ra=e=>samp.callNative("NetStats_MessagesSent","i",e),La=e=>samp.callNative("NetStats_BytesSent","i",e),ba=e=>samp.callNative("NetStats_MessagesRecvPerSecond","i",e),va=e=>samp.callNativeFloat("NetStats_PacketLossPercent","i",e),wa=e=>samp.callNative("NetStats_ConnectionStatus","i",e),Oa=e=>{const[t]=samp.callNative("NetStats_GetIpPort","iSi",e,134);return t},Ga=e=>!!samp.callNative("IsPlayerAdmin","i",e),Ba=(e,t)=>!!samp.callNative("SetPlayerAdmin","ii",e,t),Fa=e=>!!samp.callNative("Kick","i",e),ka=e=>!!samp.callNative("Ban","i",e),Ma=e=>{const[t]=samp.callNative("GetPlayerNetworkStats","iSi",e,1024);return t},xa=()=>samp.callNative("GetNetworkStats","Si",1024),Ha=(e,t)=>samp.callNative("BlockIpAddress","si",e,t),Va=e=>samp.callNative("UnBlockIpAddress","s",e),Ua=(e,t)=>{const[a]=samp.callNative("gpci","iAi",e,41);return f.decodeFromBuf(f.getValidStr(a),t)},Wa=(e,t,a,n,i)=>samp.callNative("SendClientCheck","iiiii",e,t,a,n,i),Ka=()=>{samp.callNative("ClearBanList","")},Za=e=>!!samp.callNative("IsBanned","s",e),ja=e=>samp.callNative("GetPlayerRawIp","i",e),Xa=e=>{const[t]=samp.callNative("GetPlayerIp","iSi",e,128);return t},Ya=e=>{const[t]=samp.callNative("GetPlayerVersion","iSi",e,24);return t},I=e=>{if(typeof e=="number")return e;if(typeof+e=="number"&&!isNaN(+e))return+e;if(e.charAt(0)==="#")return e.length===4?parseInt(e.charAt(1)+e.charAt(1)+e.charAt(2)+e.charAt(2)+e.charAt(3)+e.charAt(3)+"FF",16):e.length===7?parseInt(e.slice(1,e.length)+"FF",16):e.length===9?parseInt(e.slice(1,e.length),16):255;const t=(e.match(/([0-9])+/g)||[]).map(n=>parseInt(n,10));if(t.length!==4&&t.length!==3)return 255;t.length===3?t.push(255):t[3]=t[3]<1?Math.floor(t[3]*255):255;let a=0;return t.reverse().forEach((n,i)=>{n!==0&&(a+=Math.pow(16,i*2)*n)}),a},za=(e,t)=>!!samp.callNative("TogglePlayerWidescreen","ii",e,t),$a=e=>!!samp.callNative("IsPlayerWidescreenToggled","i",e),Ja=(e,t)=>samp.callNative("GetPlayerSkillLevel","ii",e,t),Qa=e=>samp.callNative("GetPlayerWeather","i",e),qa=e=>{const[t=0,a=0,n=0,i=0]=samp.callNative("GetPlayerWorldBounds","iFFFF",e);return{xMax:t,xMin:a,yMax:n,yMin:i}},en=e=>samp.callNativeFloat("GetPlayerZAim","i",e),tn=e=>{const[t=0,a=0,n=0]=samp.callNative("GetPlayerSurfingOffsets","iFFF",e);return{fOffsetX:t,fOffsetY:a,fOffsetZ:n}},an=e=>{const[t=0,a=0,n=0,i=0]=samp.callNative("GetPlayerRotationQuat","iFFFF",e);return{w:t,x:a,y:n,z:i}},nn=e=>samp.callNative("GetPlayerDialogID","i",e),rn=e=>samp.callNative("GetPlayerSpectateID","i",e),sn=e=>samp.callNative("GetPlayerSpectateType","i",e),ln=(e,t)=>!!samp.callNative("SetPlayerGravity","if",e,t),on=e=>samp.callNativeFloat("GetPlayerGravity","i",e),dn=e=>!!samp.callNative("IsPlayerSpawned","i",e),cn=e=>!!samp.callNative("IsPlayerControllable","i",e),_n=e=>!!samp.callNative("IsPlayerCameraTargetEnabled","i",e),hn=(e,t)=>!!samp.callNative("TogglePlayerGhostMode","ii",e,t),un=e=>!!samp.callNative("GetPlayerGhostMode","i",e),mn=e=>samp.callNative("GetPlayerBuildingsRemoved","i",e),pn=(e,t)=>!!samp.callNative("RemovePlayerWeapon","ii",e,t),gn=e=>!!samp.callNative("HidePlayerDialog","i",e),Sn=e=>!!samp.callNative("IsPlayerUsingOfficialClient","i",e),yn=(e,t)=>!!samp.callNative("AllowPlayerTeleport","ii",e,t),In=e=>!!samp.callNative("IsPlayerTeleportAllowed","i",e),Pn=(e,t)=>!!samp.callNative("AllowPlayerWeapons","i",e,t),fn=e=>!!samp.callNative("ArePlayerWeaponsAllowed","i",e),An=(e,t,a,n)=>!!samp.callNative("GameTextForPlayer","isii",e,t,a,n),En=(e,t)=>!!samp.callNative("HasGameText","ii",e,t),Tn=(e,t,a,n)=>!!samp.callNative("SendDeathMessageToPlayer","iiii",e,t,a,n),Cn=(e,t)=>!!samp.callNative("HideGameTextForPlayer","ii",e,t),Dn=e=>!!samp.callNative("IsPlayerNPC","i",e),Se=(e,t,a,n)=>!!samp.callNative("SetPlayerPos","ifff",e,t,a,n),Nn=(e,t,a,n)=>!!samp.callNative("SetPlayerPosFindZ","ifff",e,t,a,n),Rn=e=>samp.callNative("GetPlayerPos","iFFF",e),Ln=(e,t)=>!!samp.callNative("SetPlayerFacingAngle","if",e,t),bn=e=>{const[t]=samp.callNative("GetPlayerFacingAngle","iF",e);return t},vn=(e,t,a,n,i)=>!!samp.callNative("IsPlayerInRangeOfPoint","iffff",e,t,a,n,i),wn=(e,t,a,n)=>!!samp.callNativeFloat("GetPlayerDistanceFromPoint","ifff",e,t,a,n),On=(e,t)=>!!samp.callNative("IsPlayerStreamedIn","ii",e,t),Gn=(e,t)=>!!samp.callNative("SetPlayerInterior","ii",e,t),Bn=e=>samp.callNative("GetPlayerInterior","i",e),Fn=(e,t)=>!!samp.callNative("SetPlayerHealth","if",e,t),kn=e=>{const[t]=samp.callNative("GetPlayerHealth","iF",e);return t},Mn=(e,t)=>!!samp.callNative("SetPlayerArmour","if",e,t),xn=e=>{const[t]=samp.callNative("GetPlayerArmour","iF",e);return t},Hn=(e,t,a)=>!!samp.callNative("SetPlayerAmmo","iii",e,t,a),Vn=e=>samp.callNative("GetPlayerAmmo","i",e),Un=e=>samp.callNative("GetPlayerWeaponState","i",e),Wn=e=>samp.callNative("GetPlayerTargetPlayer","i",e),Kn=(e,t)=>{samp.callNative("SetPlayerTeam","ii",e,t)},Zn=e=>samp.callNative("GetPlayerTeam","i",e),jn=(e,t)=>!!samp.callNative("SetPlayerScore","ii",e,t),Xn=e=>samp.callNative("GetPlayerScore","i",e),Yn=e=>samp.callNative("GetPlayerDrunkLevel","i",e),zn=(e,t)=>!!samp.callNative("SetPlayerDrunkLevel","ii",e,t),$n=(e,t)=>!!samp.callNative("SetPlayerColor","ii",e,I(t)),Jn=e=>samp.callNative("GetPlayerColor","i",e),Qn=(e,t)=>!!samp.callNative("SetPlayerSkin","ii",e,t),qn=e=>samp.callNative("GetPlayerSkin","i",e),ei=(e,t,a)=>!!samp.callNative("GivePlayerWeapon","iii",e,t,a),ti=e=>!!samp.callNative("ResetPlayerWeapons","i",e),ai=(e,t)=>!!samp.callNative("SetPlayerArmedWeapon","ii",e,t),ni=(e,t)=>samp.callNative("GetPlayerWeaponData","iiII",e,t),ii=(e,t)=>!!samp.callNative("GivePlayerMoney","ii",e,t),ri=e=>!!samp.callNative("ResetPlayerMoney","i",e),si=e=>samp.callNative("GetPlayerMoney","i",e),li=e=>samp.callNative("GetPlayerState","i",e),oi=e=>samp.callNative("GetPlayerPing","i",e),di=e=>samp.callNative("GetPlayerWeapon","i",e),ci=e=>samp.callNative("GetPlayerKeys","iIII",e),_i=(e,t,a)=>!!samp.callNative("SetPlayerTime","iii",e,t,a),hi=e=>samp.callNative("GetPlayerTime","iII",e),ui=(e,t)=>!!samp.callNative("TogglePlayerClock","ii",e,t),mi=(e,t)=>!!samp.callNative("SetPlayerWeather","ii",e,t),pi=e=>!!samp.callNative("ForceClassSelection","i",e),gi=(e,t)=>!!samp.callNative("SetPlayerWantedLevel","ii",e,t),Si=e=>samp.callNative("GetPlayerWantedLevel","i",e),yi=(e,t)=>!!samp.callNative("SetPlayerFightingStyle","ii",e,t),Ii=e=>samp.callNative("GetPlayerFightingStyle","i",e),Pi=(e,t,a,n)=>!!samp.callNative("SetPlayerVelocity","ifff",e,t,a,n),fi=e=>samp.callNative("GetPlayerVelocity","iFFF",e),Ai=(e,t,a)=>!!samp.callNative("PlayCrimeReportForPlayer","iii",e,t,a),Ei=(e,t,a,n,i,r,s=!1)=>!!samp.callNative("PlayAudioStreamForPlayer","isffffi",e,t,a,n,i,r,s),Ti=e=>!!samp.callNative("StopAudioStreamForPlayer","i",e),Ci=(e,t)=>!!samp.callNative("SetPlayerShopName","is",e,t),Di=(e,t,a)=>!!samp.callNative("SetPlayerSkillLevel","iii",e,t,a),Ni=e=>samp.callNative("GetPlayerSurfingVehicleID","i",e),Ri=e=>samp.callNative("GetPlayerSurfingObjectID","i",e),Li=e=>samp.callNative("GetPlayerSurfingPlayerObjectID","i",e),bi=(e,t,a,n,i,r)=>!!samp.callNative("RemoveBuildingForPlayer","iiffff",e,t,a,n,i,r),vi=e=>samp.callNative("GetPlayerLastShotVectors","iFFFFFF",e),wi=(e,t,a,n,i)=>!!samp.callNative("SetPlayerChatBubble","isifi",e,t,I(a),n,i),Oi=(e,t,a)=>!!samp.callNative("PutPlayerInVehicle","iii",e,t,a),Gi=e=>samp.callNative("GetPlayerVehicleID","i",e),Bi=e=>samp.callNative("GetPlayerVehicleSeat","i",e),Fi=e=>!!samp.callNative("RemovePlayerFromVehicle","i",e),ki=(e,t)=>!!samp.callNative("TogglePlayerControllable","ii",e,t),Mi=(e,t,a,n,i)=>!!samp.callNative("PlayerPlaySound","iifff",e,t,a,n,i),xi=(e,t,a,n,i,r,s,l,d,_)=>!!samp.callNative("ApplyAnimation","issfiiiiii",e,t,a,n,i,r,s,l,d,_),Hi=(e,t)=>!!samp.callNative("ClearAnimations","ii",e,t),Vi=e=>samp.callNative("GetPlayerAnimationIndex","i",e),Ui=e=>samp.callNative("GetPlayerSpecialAction","i",e),Wi=(e,t)=>!!samp.callNative("SetPlayerSpecialAction","ii",e,t),Ki=(e,t)=>!!samp.callNative("DisableRemoteVehicleCollisions","ii",e,t),Zi=(e,t)=>!!samp.callNative("SetPlayerVirtualWorld","ii",e,t),ji=e=>samp.callNative("GetPlayerVirtualWorld","i",e),Xi=(e,t)=>!!samp.callNative("EnableStuntBonusForPlayer","ii",e,t),Yi=e=>samp.callNative("GetPlayerCustomSkin","i",e),zi=(e,t,a,n,i,r)=>!!samp.callNative("CreateExplosionForPlayer","ifffif",e,t,a,n,i,r),$i=(e,t,a)=>!!samp.callNative("StartRecordingPlayerData","iis",e,t,a),Ji=e=>!!samp.callNative("StopRecordingPlayerData","i",e),Qi=(e,t)=>!!samp.callNative("TogglePlayerSpectating","ii",e,t),qi=(e,t,a)=>!!samp.callNative("PlayerSpectatePlayer","iii",e,t,a),er=(e,t,a)=>!!samp.callNative("PlayerSpectateVehicle","iii",e,t,a),ye=e=>!!samp.callNative("IsPlayerConnected","i",e),tr=(e,t)=>!!samp.callNative("IsPlayerInVehicle","ii",e,t),ar=e=>!!samp.callNative("IsPlayerInAnyVehicle","i",e),nr=(e,t,a,n,i)=>!!samp.callNative("SetPlayerWorldBounds","iffff",e,t,a,n,i),ir=e=>!!samp.callNative("ClearPlayerWorldBounds","i",e),rr=(e,t,a)=>!!samp.callNative("SetPlayerMarkerForPlayer","iii",e,t,I(a));function sr(e,t){return samp.callNative("GetPlayerMarkerForPlayer","ii",t)}const lr=(e,t,a)=>!!samp.callNative("ShowPlayerNameTagForPlayer","iii",e,t,a),or=(e,t,a,n)=>!!samp.callNative("SetPlayerCameraPos","ifff",e,t,a,n),dr=(e,t,a,n,i)=>!!samp.callNative("SetPlayerCameraLookAt","ifffi",e,t,a,n,i),cr=e=>!!samp.callNative("SetCameraBehindPlayer","i",e),_r=e=>samp.callNative("GetPlayerCameraPos","iFFF",e),hr=e=>samp.callNative("GetPlayerCameraFrontVector","iFFF",e),ur=e=>samp.callNative("GetPlayerCameraMode","i",e),mr=(e,t)=>!!samp.callNative("EnablePlayerCameraTarget","ii",e,t),pr=e=>samp.callNative("GetPlayerCameraTargetVehicle","i",e),gr=e=>samp.callNative("GetPlayerCameraTargetPlayer","i",e),Sr=e=>samp.callNativeFloat("GetPlayerCameraAspectRatio","i",e),yr=e=>samp.callNativeFloat("GetPlayerCameraZoom","i",e),Ir=(e,t,a,n,i,r,s,l,d)=>!!samp.callNative("InterpolateCameraPos","iffffffii",e,t,a,n,i,r,s,l,d),Pr=(e,t,a,n,i,r,s,l,d)=>!!samp.callNative("InterpolateCameraLookAt","iffffffii",e,t,a,n,i,r,s,l,d),fr=e=>!!samp.callNative("IsPlayerCuffed","i",e),Ar=e=>!!samp.callNative("IsPlayerInDriveByMode","i",e),Er=(e,t)=>samp.callNative("StartRecordingPlayback","is",e,t),Tr=()=>samp.callNative("StopRecordingPlayback",""),Cr=()=>samp.callNative("PauseRecordingPlayback",""),Dr=()=>samp.callNative("ResumeRecordingPlayback",""),Nr=e=>samp.callNative("GetActorSkin","i",e),Rr=(e,t)=>samp.callNative("SetActorSkin","ii",e,t),Lr=e=>{const[t=0,a=0,n=0,i=0,r=0]=samp.callNative("GetActorSpawnInfo","iIFFFF",e);return{skinId:t,fX:a,fY:n,fZ:i,fAngle:r}},br=e=>{const[t=0,a=0,n=0,i=0,r=0,s=0]=samp.callNative("GetVehicleSpawnInfo","iFFFFII",e);return{fX:t,fY:a,fZ:n,fRot:i,color1:r,color2:s}},vr=(e,t,a,n,i,r,s,l,d=-2,_=-2)=>samp.callNative("SetVehicleSpawnInfo","iiFFFFiiii",e,t,a,n,i,r,s,l,d,_),wr=e=>{const[t=0,a=0]=samp.callNative("GetVehicleColor","i",e);return{color1:t,color2:a}},Or=e=>samp.callNative("GetVehiclePaintjob","i",e),Gr=e=>samp.callNative("GetVehicleInterior","i",e),Br=e=>{const[t]=samp.callNative("GetVehicleNumberPlate","iSi",e,33);return t},Fr=(e,t)=>samp.callNative("SetVehicleRespawnDelay","ii",e,t),kr=e=>samp.callNative("GetVehicleRespawnDelay","i",e),Mr=e=>samp.callNative("GetVehicleCab","i",e),xr=e=>samp.callNative("GetVehicleOccupiedTick","i",e),Hr=(e,t)=>samp.callNative("SetVehicleOccupiedTick","ii",e,t),Vr=e=>!!samp.callNative("HasVehicleBeenOccupied","i",e),Ur=e=>!!samp.callNative("IsVehicleOccupied","i",e),Wr=e=>samp.callNative("GetVehicleRespawnTick","i",e),Kr=(e,t)=>samp.callNative("SetVehicleRespawnTick","ii",e,t),Zr=e=>!!samp.callNative("IsVehicleDead","i",e),jr=(e,t)=>!!samp.callNative("SetVehicleDead","ii",e,t),Xr=(e,t)=>!!samp.callNative("SetVehicleBeenOccupied","ii",e,t),Yr=(e,t)=>samp.callNative("ToggleVehicleSirenEnabled","ii",e,t),zr=(e,t)=>samp.callNative("SetVehicleParamsSirenState","ii",e,t),$r=e=>!!samp.callNative("IsVehicleSirenEnabled","i",e),Jr=e=>samp.callNative("GetVehicleModelCount","i",e),Qr=e=>samp.callNative("GetVehicleLastDriver","i",e),qr=e=>samp.callNative("GetVehicleDriver","i",e),es=()=>samp.callNative("GetVehicleModelsUsed",""),ts=e=>samp.callNative("GetVehicleSirenState","i",e),as=e=>samp.callNative("GetVehicleLandingGearState","i",e),ns=e=>samp.callNativeFloat("GetVehicleHydraReactorAngle","i",e),is=e=>samp.callNativeFloat("GetVehicleTrainSpeed","i",e),rs=e=>{const[t=0,a=0,n=0,i=0,r=0,s=0,l=0,d=0,_=0]=samp.callNative("GetVehicleMatrix","iFFFFFFFFF",e);return{rightX:t,rightY:a,rightZ:n,upX:i,upY:r,upZ:s,atX:l,atY:d,atZ:_}},Ie=e=>{const[t=0,a=0,n=0,i=0]=samp.callNative("GetRandomCarColPair","iIIII",e);return{color:[t,a,n,i]}},ss=(e,t=255)=>samp.callNative("CarColIndexToColour","ii",e,t),ls=(e,t,a,n,i,r,s,l,d)=>samp.callNative("CreateVehicle","iffffiiii",e,t,a,n,i,I(r),I(s),l,d),os=e=>samp.callNative("DestroyVehicle","i",e),ds=(e,t)=>!!samp.callNative("IsVehicleStreamedIn","ii",e,t),cs=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]}},_s=(e,t,a,n)=>samp.callNative("SetVehiclePos","ifff",e,t,a,n),hs=e=>{const[t]=samp.callNative("GetVehicleZAngle","iF",e);return t},us=e=>samp.callNative("GetVehicleRotationQuat","iFFFF",e),ms=(e,t,a,n)=>samp.callNativeFloat("GetVehicleDistanceFromPoint","ifff",e,t,a,n),ps=(e,t)=>samp.callNative("SetVehicleZAngle","if",e,t),gs=(e,t,a,n)=>samp.callNative("SetVehicleParamsForPlayer","iiii",e,t,a,n),Ss=()=>samp.callNative("ManualVehicleEngineAndLights",""),ys=(e,t,a,n,i,r,s,l)=>samp.callNative("SetVehicleParamsEx","iiiiiiii",e,t,a,n,i,r,s,l),Is=e=>samp.callNative("GetVehicleParamsEx","iIIIIIII",e),Ps=e=>samp.callNative("GetVehicleParamsSirenState","i",e),fs=(e,t,a,n,i)=>samp.callNative("SetVehicleParamsCarDoors","iiiii",e,t,a,n,i),As=e=>{const t=samp.callNative("GetVehicleParamsCarDoors","iIIII",e);return{driver:t[0],passenger:t[1],backLeft:t[2],backRight:t[3]}},Es=(e,t,a,n,i)=>samp.callNative("SetVehicleParamsCarWindows","iiiii",e,t,a,n,i),Ts=e=>{const t=samp.callNative("GetVehicleParamsCarWindows","iIIII",e);return{driver:t[0],passenger:t[1],backLeft:t[2],backRight:t[3]}},Cs=e=>samp.callNative("SetVehicleToRespawn","i",e),Ds=(e,t)=>samp.callNative("LinkVehicleToInterior","ii",e,t),Ns=(e,t)=>samp.callNative("AddVehicleComponent","ii",e,t),Rs=(e,t)=>samp.callNative("RemoveVehicleComponent","ii",e,t),Ls=(e,t,a)=>samp.callNative("ChangeVehicleColor","iii",e,I(t),I(a)),bs=(e,t)=>samp.callNative("ChangeVehiclePaintjob","ii",e,t),vs=(e,t)=>samp.callNative("SetVehicleHealth","if",e,t),ws=e=>{const[t]=samp.callNative("GetVehicleHealth","iF",e);return t},Os=(e,t)=>samp.callNative("AttachTrailerToVehicle","ii",e,t),Gs=e=>samp.callNative("DetachTrailerFromVehicle","i",e),Bs=e=>!!samp.callNative("IsTrailerAttachedToVehicle","i",e),Fs=e=>samp.callNative("GetVehicleTrailer","i",e),ks=(e,t)=>samp.callNative("SetVehicleNumberPlate","is",e,t),Ms=e=>samp.callNative("GetVehicleModel","i",e),xs=(e,t)=>samp.callNative("GetVehicleComponentInSlot","ii",e,t),Hs=e=>samp.callNative("GetVehicleComponentType","i",e),Vs=e=>samp.callNative("RepairVehicle","i",e),Us=e=>samp.callNative("GetVehicleVelocity","iFFF",e),Ws=(e,t,a,n)=>!!samp.callNative("SetVehicleVelocity","ifff",e,t,a,n),Ks=(e,t,a,n)=>samp.callNative("SetVehicleAngularVelocity","ifff",e,t,a,n),Zs=e=>{const t=samp.callNative("GetVehicleDamageStatus","iIIII",e);if(t.length<4)throw new Error("VehicleID "+e+" not found");return{panels:t[0],doors:t[1],lights:t[2],tires:t[3]}},js=(e,t,a,n,i)=>samp.callNative("UpdateVehicleDamageStatus","iiiii",e,t,a,n,i),Xs=(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]}},Ys=(e,t)=>samp.callNative("SetVehicleVirtualWorld","ii",e,t),zs=e=>samp.callNative("GetVehicleVirtualWorld","i",e),Pe=e=>!!samp.callNative("IsValidVehicle","i",e),$s=(e,t,a,n,i,r,s)=>samp.callNative("AddStaticVehicle","iffffii",e,t,a,n,i,I(r),I(s)),Js=(e,t,a,n,i,r,s,l,d)=>samp.callNative("AddStaticVehicleEx","iffffiiii",e,t,a,n,i,I(r),I(s),l,d),Qs=e=>!!samp.callNative("ShowVehicle","i",e),qs=e=>!!samp.callNative("HideVehicle","i",e),el=e=>!!samp.callNative("IsVehicleHidden","i",e),tl=e=>!!samp.callNative("IsPlayerInModShop","i",e),al=e=>samp.callNative("GetPlayerSirenState","i",e),nl=e=>samp.callNative("GetPlayerLandingGearState","i",e),il=e=>samp.callNative("GetPlayerHydraReactorAngle","i",e),rl=e=>samp.callNativeFloat("GetPlayerTrainSpeed","i",e),sl=(e,t)=>samp.callNative("GetVehicleOccupant","ii",e,t),fe=e=>samp.callNative("GetVehicleMaxPassengers","i",e),ll=e=>samp.callNative("CountVehicleOccupants","i",e),ol=e=>!!samp.callNative("IsPlayerCheckpointActive","i",e),dl=e=>{const[t=0,a=0,n=0,i=0]=samp.callNative("GetPlayerCheckpoint","iFFFF",e);return{fX:t,fY:a,fZ:n,fSize:i}},cl=e=>!!samp.callNative("IsPlayerRaceCheckpointActive","i",e),_l=e=>{const[t=0,a=0,n=0,i=0,r=0,s=0,l=0]=samp.callNative("GetPlayerRaceCheckpoint","iFFFFFFF",e);return{fX:t,fY:a,fZ:n,fNextX:i,fNextY:r,fNextZ:s,fSize:l}},hl=e=>!!samp.callNative("IsMenuDisabled","i",e),ul=(e,t)=>!!samp.callNative("IsMenuRowDisabled","ii",e,t),ml=(e,t)=>samp.callNative("GetMenuItems","ii",e,t),pl=e=>{const[t=0,a=0]=samp.callNative("GetMenuPos","iFF",e);return{fX:t,fY:a}},gl=e=>{const[t=0,a=0]=samp.callNative("GetMenuColumnWidth","iFF",e);return{fColumn1:t,fColumn2:a}},Sl=(e,t)=>{const[a]=samp.callNative("GetMenuColumnHeader","iiSi",e,t,31);return a},yl=(e,t,a)=>{const[n]=samp.callNative("GetMenuItem","iiiSi",e,t,a,31);return n},Il=(e,t,a,n,i,r)=>samp.callNative("CreateMenu","siffff",e,t,a,n,i,r),Pl=e=>samp.callNative("DestroyMenu","i",e),fl=(e,t,a)=>samp.callNative("AddMenuItem","iis",e,t,a),Al=(e,t,a)=>samp.callNative("SetMenuColumnHeader","iis",e,t,a),El=(e,t)=>samp.callNative("ShowMenuForPlayer","ii",e,t),Tl=(e,t)=>samp.callNative("HideMenuForPlayer","ii",e,t),Cl=e=>!!samp.callNative("IsValidMenu","i",e),Dl=e=>samp.callNative("DisableMenu","i",e),Nl=(e,t)=>samp.callNative("DisableMenuRow","ii",e,t),Rl=e=>samp.callNative("GetPlayerMenu","i",e),Ll=e=>!!samp.callNative("IsValidGangZone","i",e),bl=(e,t)=>!!samp.callNative("IsPlayerInGangZone","ii",e,t),vl=(e,t)=>!!samp.callNative("IsGangZoneVisibleForPlayer","ii",e,t),wl=(e,t)=>samp.callNative("GangZoneGetColorForPlayer","ii",e,t),Ol=(e,t)=>samp.callNative("GangZoneGetFlashColorForPlayer","ii",e,t),Gl=(e,t)=>!!samp.callNative("IsGangZoneFlashingForPlayer","ii",e,t),Bl=e=>{const[t=0,a=0,n=0,i=0]=samp.callNative("GangZoneGetPos","iFFFF",e);return{fMinX:t,fMinY:a,fMaxX:n,fMaxY:i}},Fl=(e,t)=>{samp.callNative("UseGangZoneCheck","ii",e,t)},kl=(e,t,a,n)=>samp.callNative("GangZoneCreate","ffff",e,t,a,n),Ml=e=>samp.callNative("GangZoneDestroy","i",e),xl=(e,t,a)=>samp.callNative("GangZoneShowForPlayer","iii",e,t,I(a)),Hl=(e,t)=>samp.callNative("GangZoneShowForAll","ii",e,I(t)),Vl=(e,t)=>samp.callNative("GangZoneHideForPlayer","ii",e,t),Ul=e=>samp.callNative("GangZoneHideForAll","i",e),Wl=(e,t,a)=>samp.callNative("GangZoneFlashForPlayer","iii",e,t,I(a)),Kl=(e,t)=>samp.callNative("GangZoneFlashForAll","ii",e,I(t)),Zl=(e,t)=>samp.callNative("GangZoneStopFlashForPlayer","ii",e,t),jl=e=>samp.callNative("GangZoneStopFlashForAll","i",e),Xl=(e,t,a,n,i)=>samp.callNative("CreatePlayerGangZone","iffff",e,t,a,n,i),Yl=(e,t)=>samp.callNative("PlayerGangZoneDestroy","ii",e,t),zl=(e,t,a)=>samp.callNative("PlayerGangZoneShow","iii",e,t,a),$l=(e,t)=>samp.callNative("PlayerGangZoneHide","ii",e,t),Jl=(e,t,a)=>samp.callNative("PlayerGangZoneFlash","iii",e,t,a),Ql=(e,t)=>samp.callNative("PlayerGangZoneStopFlash","ii",e,t),ql=(e,t)=>!!samp.callNative("IsValidPlayerGangZone","ii",e,t),eo=(e,t)=>!!samp.callNative("IsPlayerInPlayerGangZone","ii",e,t),to=(e,t)=>!!samp.callNative("IsPlayerGangZoneVisible","ii",e,t),ao=(e,t)=>samp.callNative("PlayerGangZoneGetColor","ii",e,t),no=(e,t)=>samp.callNative("PlayerGangZoneGetFlashColor","ii",e,t),io=(e,t)=>!!samp.callNative("IsPlayerGangZoneFlashing","ii",e,t),ro=(e,t)=>{const[a=0,n=0,i=0,r=0]=samp.callNative("PlayerGangZoneGetPos","iiFFFF",e,t);return{fMinX:a,fMinY:n,fMaxX:i,fMaxY:r}},so=(e,t,a)=>{samp.callNative("UsePlayerGangZoneCheck","iii",e,t,a)},lo=e=>!!samp.callNative("IsValidTextDraw","i",e),oo=(e,t)=>!!samp.callNative("IsTextDrawVisibleForPlayer","ii",e,t),co=e=>{const[t]=samp.callNative("TextDrawGetString","iSi",e,1024);return t},_o=(e,t,a)=>{samp.callNative("TextDrawSetPos","iff",e,t,a)},ho=e=>{const[t=0,a=0]=samp.callNative("TextDrawGetLetterSize","iFF",e);return{fX:t,fY:a}},uo=e=>{const[t=0,a=0]=samp.callNative("TextDrawGetTextSize","iFF",e);return{fX:t,fY:a}},mo=e=>{const[t=0,a=0]=samp.callNative("TextDrawGetPos","iFF",e);return{fX:t,fY:a}},po=e=>samp.callNative("TextDrawGetColor","i",e),go=e=>samp.callNative("TextDrawGetBoxColor","i",e),So=e=>samp.callNative("TextDrawGetBackgroundColor","i",e),yo=e=>samp.callNative("TextDrawGetShadow","i",e),Io=e=>samp.callNative("TextDrawGetOutline","i",e),Po=e=>samp.callNative("TextDrawGetFont","i",e),fo=e=>!!samp.callNative("TextDrawIsBox","i",e),Ao=e=>!!samp.callNative("TextDrawIsProportional","i",e),Eo=e=>!!samp.callNative("TextDrawIsSelectable","i",e),To=e=>samp.callNative("TextDrawGetAlignment","i",e),Co=e=>samp.callNative("TextDrawGetPreviewModel","i",e),Do=e=>{const[t=0,a=0,n=0,i=0]=samp.callNative("TextDrawGetPreviewRot","iFFFF",e);return{fRotX:t,fRotY:a,fRotZ:n,fZoom:i}},No=e=>{const[t,a]=samp.callNative("TextDrawGetPreviewVehCol","iII",e);return{color1:t,color2:a}},Ro=(e,t,a)=>{samp.callNative("TextDrawSetStringForPlayer","iis",e,t,a)},Lo=(e,t,a)=>samp.callNative("TextDrawCreate","ffs",e,t,a),bo=e=>samp.callNative("TextDrawDestroy","i",e),vo=(e,t,a)=>samp.callNative("TextDrawLetterSize","iff",e,t,a),wo=(e,t,a)=>samp.callNative("TextDrawTextSize","iff",e,t,a),Oo=(e,t)=>samp.callNative("TextDrawAlignment","ii",e,t),Go=(e,t)=>!!samp.callNative("TextDrawColor","ii",e,I(t)),Bo=(e,t)=>samp.callNative("TextDrawUseBox","ii",e,t),Fo=(e,t)=>!!samp.callNative("TextDrawBoxColor","ii",e,I(t)),ko=(e,t)=>samp.callNative("TextDrawSetShadow","ii",e,t),Mo=(e,t)=>samp.callNative("TextDrawSetOutline","ii",e,t),xo=(e,t)=>!!samp.callNative("TextDrawBackgroundColor","ii",e,I(t)),Ho=(e,t)=>samp.callNative("TextDrawFont","ii",e,t),Vo=(e,t)=>samp.callNative("TextDrawSetProportional","ii",e,t),Uo=(e,t)=>samp.callNative("TextDrawSetSelectable","ii",e,t),Wo=(e,t)=>samp.callNative("TextDrawShowForPlayer","ii",e,t),Ko=(e,t)=>samp.callNative("TextDrawHideForPlayer","ii",e,t),Zo=e=>samp.callNative("TextDrawShowForAll","i",e),jo=e=>samp.callNative("TextDrawHideForAll","i",e),Xo=(e,t)=>samp.callNative("TextDrawSetString","is",e,t),Yo=(e,t)=>samp.callNative("TextDrawSetPreviewModel","ii",e,t),zo=(e,t,a,n,i=1)=>{samp.callNative("TextDrawSetPreviewRot","iffff",e,t,a,n,i)},$o=(e,t,a)=>!!samp.callNative("TextDrawSetPreviewVehCol","iii",e,I(t),I(a)),Jo=(e,t)=>{samp.callNative("SelectTextDraw","ii",e,I(t))},Qo=e=>{samp.callNative("CancelSelectTextDraw","i",e)},qo=(e,t)=>!!samp.callNative("IsValidPlayerTextDraw","ii",e,t),ed=(e,t)=>!!samp.callNative("IsPlayerTextDrawVisible","ii",e,t),td=(e,t)=>{const[a]=samp.callNative("PlayerTextDrawGetString","iiSi",e,t,1024);return a},ad=(e,t,a,n)=>{samp.callNative("PlayerTextDrawSetPos","iiff",e,t,a,n)},nd=(e,t)=>{const[a=0,n=0]=samp.callNative("PlayerTextDrawGetLetterSize","iiFF",e,t);return{fX:a,fY:n}},id=(e,t)=>{const[a=0,n=0]=samp.callNative("PlayerTextDrawGetTextSize","iiFF",e,t);return{fX:a,fY:n}},rd=(e,t)=>{const[a=0,n=0]=samp.callNative("PlayerTextDrawGetPos","iiFF",e,t);return{fX:a,fY:n}},sd=(e,t)=>samp.callNative("PlayerTextDrawGetColor","ii",e,t),ld=(e,t)=>samp.callNative("PlayerTextDrawGetBoxColor","ii",e,t),od=(e,t)=>samp.callNative("PlayerTextDrawGetBackgroundColor","ii",e,t),dd=(e,t)=>samp.callNative("PlayerTextDrawGetShadow","ii",e,t),cd=(e,t)=>samp.callNative("PlayerTextDrawGetOutline","ii",e,t),_d=(e,t)=>samp.callNative("PlayerTextDrawGetFont","ii",e,t),hd=(e,t)=>!!samp.callNative("PlayerTextDrawIsBox","ii",e,t),ud=(e,t)=>!!samp.callNative("PlayerTextDrawIsProportional","ii",e,t),md=(e,t)=>!!samp.callNative("PlayerTextDrawIsSelectable","ii",e,t),pd=(e,t)=>samp.callNative("PlayerTextDrawGetAlignment","ii",e,t),gd=(e,t)=>samp.callNative("PlayerTextDrawGetPreviewModel","ii",e,t),Sd=(e,t)=>{const[a=0,n=0,i=0,r=0]=samp.callNative("PlayerTextDrawGetPreviewRot","iiFFFF",e,t);return{fRotX:a,fRotY:n,fRotZ:i,fZoom:r}},yd=(e,t)=>{const[a,n]=samp.callNative("PlayerTextDrawGetPreviewVehCol","iiII",e,t);return{color1:a,color2:n}},Id=(e,t,a,n)=>samp.callNative("CreatePlayerTextDraw","iffs",e,t,a,n),Pd=(e,t)=>{samp.callNative("PlayerTextDrawDestroy","ii",e,t)},fd=(e,t,a,n)=>samp.callNative("PlayerTextDrawLetterSize","iiff",e,t,a,n),Ad=(e,t,a,n)=>samp.callNative("PlayerTextDrawTextSize","iiff",e,t,a,n),Ed=(e,t,a)=>samp.callNative("PlayerTextDrawAlignment","iii",e,t,a),Td=(e,t,a)=>!!samp.callNative("PlayerTextDrawColor","iii",e,t,I(a)),Cd=(e,t,a)=>samp.callNative("PlayerTextDrawUseBox","iii",e,t,a),Dd=(e,t,a)=>!!samp.callNative("PlayerTextDrawBoxColor","iii",e,t,I(a)),Nd=(e,t,a)=>samp.callNative("PlayerTextDrawSetShadow","iii",e,t,a),Rd=(e,t,a)=>samp.callNative("PlayerTextDrawSetOutline","iii",e,t,a),Ld=(e,t,a)=>!!samp.callNative("PlayerTextDrawBackgroundColor","iii",e,t,I(a)),bd=(e,t,a)=>samp.callNative("PlayerTextDrawFont","iii",e,t,a),vd=(e,t,a)=>samp.callNative("PlayerTextDrawSetProportional","iii",e,t,a),wd=(e,t,a)=>samp.callNative("PlayerTextDrawSetSelectable","iii",e,t,a),Od=(e,t)=>samp.callNative("PlayerTextDrawShow","ii",e,t),Gd=(e,t)=>samp.callNative("PlayerTextDrawHide","ii",e,t),Bd=(e,t,a)=>samp.callNative("PlayerTextDrawSetString","iis",e,t,a),Fd=(e,t,a)=>samp.callNative("PlayerTextDrawSetPreviewModel","iii",e,t,a),kd=(e,t,a,n,i,r)=>samp.callNative("PlayerTextDrawSetPreviewRot","iiffff",e,t,a,n,i,r),Md=(e,t,a,n)=>!!samp.callNative("PlayerTextDrawSetPreviewVehCol","iiii",e,t,a,n),xd=(e,t)=>!!samp.callNative("EditAttachedObject","ii",e,t),Hd=e=>!!samp.callNative("BeginObjectSelecting","i",e),Vd=e=>!!samp.callNative("EndObjectEditing","i",e),Ud=e=>!!samp.callNative("SetObjectsDefaultCameraCol","i",e),Wd=(e,t,a,n,i)=>samp.callNative("AddSimpleModel","iiiss",e,t,a,n,i),Kd=(e,t,a,n,i,r,s)=>samp.callNative("AddSimpleModelTimed","iiissii",e,t,a,n,i,r,s),Zd=(e,t)=>samp.callNative("RedirectDownload","is",e,t),jd=e=>{const[t]=samp.callNative("FindModelFileNameFromCRC","iSi",e,255);return t},Xd=e=>{const[t]=samp.callNative("FindTextureFileNameFromCRC","iSi",e,255);return t},Yd=(e,t)=>{const[a=0,n=0,i=0,r=0,s=0,l=0,d=0,_=0,p=0,g=0,S=0,P=0,E=0]=samp.callNative("GetPlayerAttachedObject","iiIIFFFFFFFFFII",e,t);return{modelId:a,bone:n,fX:i,fY:r,fZ:s,fRotX:l,fRotY:d,fRotZ:_,fScaleX:p,fScaleY:g,fScaleZ:S,materialColor1:P,materialColor2:E}},zd=(e,t,a,n,i,r,s,l,d,_,p,g,S,P,E)=>samp.callNative("SetPlayerAttachedObject","iiiifffffffffii",e,t,a,n,i,r,s,l,d,_,p,g,S,I(P),I(E)),$d=(e,t)=>samp.callNative("RemovePlayerAttachedObject","ii",e,t),Jd=(e,t)=>!!samp.callNative("IsPlayerAttachedObjectSlotUsed","ii",e,t),Ae=e=>!!samp.callNative("IsValidCustomModel","i",e),Qd=e=>{if(!Ae(e))return null;const[t,a]=samp.callNative("GetCustomModePath","iSiSi",e,255,255);return{dffPath:t,txdPath:a}};var Ee=(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))(Ee||{}),Te=(e=>(e[e.SCOREBOARD=0]="SCOREBOARD",e))(Te||{}),ie=(e=>(e[e.MSGBOX=0]="MSGBOX",e[e.INPUT=1]="INPUT",e[e.LIST=2]="LIST",e[e.PASSWORD=3]="PASSWORD",e[e.TABLIST=4]="TABLIST",e[e.TABLIST_HEADERS=5]="TABLIST_HEADERS",e))(ie||{}),Ce=(e=>(e[e.CANCEL=0]="CANCEL",e[e.FINAL=1]="FINAL",e[e.UPDATE=2]="UPDATE",e))(Ce||{}),De=(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))(De||{}),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||{}),Ne=(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))(Ne||{}),w=(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))(w||{}),Re=(e=>(e[e.OFF=0]="OFF",e[e.GLOBAL=1]="GLOBAL",e[e.STREAMED=2]="STREAMED",e))(Re||{}),Le=(e=>(e[e.NONE=1]="NONE",e[e.DRIVER=2]="DRIVER",e[e.ONFOOT=3]="ONFOOT",e))(Le||{}),O=(e=>(e[e.none=0]="none",e[e.start=1]="start",e[e.pause=2]="pause",e))(O||{}),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||{}),ve=(e=>(e[e.LEFT=0]="LEFT",e[e.CENTER=1]="CENTER",e[e.RIGHT=2]="RIGHT",e))(ve||{}),we=(e=>(e[e.GLOBAL_OBJECT=1]="GLOBAL_OBJECT",e[e.PLAYER_OBJECT=2]="PLAYER_OBJECT",e))(we||{}),Oe=(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))(Oe||{}),Ge=(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))(Ge||{}),te=(e=>(e[e.MOVE=1]="MOVE",e[e.CUT=2]="CUT",e))(te||{}),Be=(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))(Be||{}),ae=(e=>(e[e.NORMAL=1]="NORMAL",e[e.FIXED=2]="FIXED",e[e.SIDE=3]="SIDE",e))(ae||{}),Y=(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))(Y||{}),Fe=(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))(Fe||{}),ke=(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))(ke||{}),Me=(e=>(e[e.UNKNOWN=-1]="UNKNOWN",e[e.NONE=0]="NONE",e[e.ALL=1]="ALL",e[e.OTHER=2]="OTHER",e))(Me||{}),re=(e=>(e[e.NONE=0]="NONE",e[e.DUCK=1]="DUCK",e[e.USEJETPACK=2]="USEJETPACK",e[e.ENTER_VEHICLE=3]="ENTER_VEHICLE",e[e.EXIT_VEHICLE=4]="EXIT_VEHICLE",e[e.DANCE1=5]="DANCE1",e[e.DANCE2=6]="DANCE2",e[e.DANCE3=7]="DANCE3",e[e.DANCE4=8]="DANCE4",e[e.HANDSUP=10]="HANDSUP",e[e.USECELLPHONE=11]="USECELLPHONE",e[e.SITTING=12]="SITTING",e[e.STOPUSECELLPHONE=13]="STOPUSECELLPHONE",e[e.DRINK_BEER=20]="DRINK_BEER",e[e.SMOKE_CIGGY=21]="SMOKE_CIGGY",e[e.DRINK_WINE=22]="DRINK_WINE",e[e.DRINK_SPRUNK=23]="DRINK_SPRUNK",e[e.CUFFED=24]="CUFFED",e[e.CARRY=25]="CARRY",e[e.PISSING=68]="PISSING",e))(re||{}),Q=(e=>(e[e.FONT_0=0]="FONT_0",e[e.FONT_1=1]="FONT_1",e[e.FONT_2=2]="FONT_2",e[e.FONT_3=3]="FONT_3",e[e.SPRITE_DRAW=4]="SPRITE_DRAW",e[e.MODEL_PREVIEW=5]="MODEL_PREVIEW",e[e.BANK=0]="BANK",e[e.STANDARD=1]="STANDARD",e[e.SPACEAGE=2]="SPACEAGE",e[e.HEADING=3]="HEADING",e[e.BECKETT_REGULAR=0]="BECKETT_REGULAR",e[e.AHARONI_BOLD=1]="AHARONI_BOLD",e[e.BANK_GOTHIC=2]="BANK_GOTHIC",e[e.PRICEDOWN=3]="PRICEDOWN",e[e.SPRITE=4]="SPRITE",e[e.PREVIEW=5]="PREVIEW",e))(Q||{}),xe=(e=>(e[e.LEFT=1]="LEFT",e[e.CENTER=2]="CENTER",e[e.RIGHT=3]="RIGHT",e))(xe||{}),He=(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))(He||{}),Ve=(e=>(e[e.UNSET=0]="UNSET",e[e.OFF=1]="OFF",e[e.ON=2]="ON",e))(Ve||{}),Ue=(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))(Ue||{}),We=(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))(We||{}),Ke=(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))(Ke||{}),Ze=(e=>(e[e.NONE=0]="NONE",e[e.PLAYER=1]="PLAYER",e[e.VEHICLE=2]="VEHICLE",e[e.OBJECT=3]="OBJECT",e[e.PLAYER_OBJECT=4]="PLAYER_OBJECT",e))(Ze||{}),je=(e=>(e[e.UNKNOWN=-1]="UNKNOWN",e[e.NO_BULLETS=0]="NO_BULLETS",e[e.LAST_BULLET=1]="LAST_BULLET",e[e.MORE_BULLETS=2]="MORE_BULLETS",e[e.RELOADING=3]="RELOADING",e))(je||{}),se=(e=>(e[e.VEHICLE=49]="VEHICLE",e[e.HELICOPTERBLADES=50]="HELICOPTERBLADES",e[e.EXPLOSION=51]="EXPLOSION",e[e.DROWN=53]="DROWN",e[e.COLLISION=54]="COLLISION",e[e.CONNECT=200]="CONNECT",e[e.DISCONNECT=201]="DISCONNECT",e[e.SUICIDE=255]="SUICIDE",e))(se||{}),Xe=(e=>(e[e.NONE=0]="NONE",e[e.DRIVER=1]="DRIVER",e[e.ONFOOT=2]="ONFOOT",e))(Xe||{});class G{constructor(){throw new Error("This is a static class and cannot be instantiated.")}static recordStatus;static connectNPC=da;static startRecordingPlayerData(t,a,n){if(t.isRecording)return o.warn("[NpcFunc]: It should be stopped before recording");$i(t.id,a,n),t.isRecording=!0}static stopRecordingPlayerData(t){if(!t.isRecording)return o.warn("[NpcFunc]: It should be started before stop");Ji(t.id),t.isRecording=!1}static startRecordingPlayback(t,a){if(G.recordStatus>=O.start)return o.warn("[NpcFunc]: The current status cannot be replayed");Er(t,a),G.recordStatus=O.start}static stopRecordingPlayback(){if(G.recordStatus<O.start)return o.warn("[NpcFunc]: The current status cannot be stopped");Tr(),G.recordStatus=O.none}static pauseRecordingPlayback(){if(G.recordStatus!==O.start)return o.warn("[NpcFunc]: The current status cannot be paused");Cr(),G.recordStatus=O.pause}static resumeRecordingPlayback(){if(G.recordStatus!==O.pause)return o.warn("[NpcFunc]: The current status cannot be paused");Dr(),G.recordStatus=O.start}}const Ye=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}]]]),le=e=>{const t=Ye.get(e);return t===void 0?!1:t},ze=(e,t)=>{const a=le(e);if(a)return t==="null"?!0:a.some(n=>n.n===t)},$e=(e,t)=>{const a=le(e);if(a)return a.find(n=>n.n===t)?.d},U=(e,t)=>{const a=t.replace("-","")==="utf8"?e:f.encodeToBuf(e,t);return[a instanceof Array?"a":"s",a]},Je=(e,t,a)=>{const n=U(a,e.charset);return samp.callNative("SendClientMessage",`ii${n[0]}`,e.id,I(t),n[1])},qd=(e,t,a)=>(e.forEach(n=>Je(n,t,a)),1),Qe=(e,t,a)=>{const n=U(a,e.charset);return samp.callNative("SendPlayerMessageToPlayer",`ii${n[0]}`,e.id,t,n[1])},ec=(e,t,a)=>(e.forEach(n=>{Qe(n,t,a)}),1),tc=(e,t,a)=>{const{charset:n}=e,{style:i,caption:r,info:s,button1:l,button2:d}=a,[_,p]=U(r||"",n),[,g]=U(s||"",n),[,S]=U(l||"",n),[,P]=U(d||"",n);return samp.callNative("ShowPlayerDialog",`iii${_.repeat(4)}`,e.id,t,i,p,g,S,P)},ac=e=>{const[t]=samp.callNative("GetPlayerName","iAi",e.id,w.MAX_PLAYER_NAME);return f.decodeFromBuf(f.getValidStr(t),e.charset)},nc=(e,t)=>samp.callNative("SetPlayerName","ia",e.id,f.encodeToBuf(t,e.charset)),ic=(e,t,a)=>{const n=f.encodeToBuf(t,a);return samp.callNative("BanEx","ia",e,n)},rc=(e,t="utf8")=>{const[a,n]=U(e,t);return samp.callNative("SendRconCommand",a,n)},sc=(e,t,a,n,i,r,s,l,d,_,p,g,S,P,E,b)=>{const M=f.encodeToBuf(t,e);return samp.callNative("CreateDynamic3DTextLabel","aiffffiiiiiifii",M,a,n,i,r,s,l,d,_,p,g,S,P,E,b)},lc=(e,t,a,n,i,r,s,l,d,_,p,g,S,P,E,b)=>{const M=f.encodeToBuf(e,b);return samp.callNative("CreateDynamic3DTextLabelEx","aiffffiiifaaaaiiiii",M,t,a,n,i,r,s,l,d,_,p,g,S,P,E,p.length,g.length,S.length,P.length)},oc=(e,t,a,n)=>{const i=f.encodeToBuf(a,n);return samp.callNative("UpdateDynamic3DTextLabelText","iia",e,t,i)},dc=(e,t)=>{const[a]=samp.callNative("GetDynamic3DTextLabelText","iAi",e,1024);return f.decodeFromBuf(f.getValidStr(a),t)},cc=(e,t,a,n,i,r,s,l,d,_,p)=>{const g=f.encodeToBuf(n,e),S=f.encodeToBuf(r,e);return samp.callNative("SetDynamicObjectMaterialText","iiaiaiiiii",t,a,g,i,S,s,l,d,_,p)},_c=(e,t,a)=>{const[n,i,r,s,l,d,_]=samp.callNative("GetDynamicObjectMaterialText","iiAIAIIIIIii",e,t,2048,32),p=f.decodeFromBuf(n,a),g=f.decodeFromBuf(r,a);return{text:p,materialSize:i,fontFace:g,bold:s,fontColor:l,backColor:d,textAlignment:_}},[qe]=h({name:"OnGameModeInit"}),[et]=h({name:"OnGameModeExit"}),[hc]=h({name:"OnIncomingConnection",beforeEach(e,t,a){return{playerId:e,ipAddress:t,port:a}}}),[uc]=h({name:"OnRconCommandI18n",identifier:"ai",beforeEach(e){return{buffer:e,cmd:f.decodeFromBuf(e)}}}),[mc]=h({name:"OnRconLoginAttemptI18n",identifier:"aiaii",beforeEach(e,t,a){return{ip:f.decodeFromBuf(e),password:f.decodeFromBuf(t),success:!!a,ipBuffer:e,passwordBuffer:t}}}),W=[],z=[],oe=new Map,de=async e=>{try{return await new Promise((t,a)=>{const n=W.findIndex(l=>l.name===e);if(n===-1)return;const i=W[n];function r(l){l.length&&oe.set(e,l),W.splice(n,1),z.push(i),setTimeout(t)}const s=i.load();s instanceof Promise?s.then(r).catch(a):r(s)})}catch(t){o.error(`[GameMode]: script ${e} load fail`),o.warn(t)}},ce=async e=>{try{return await new Promise((t,a)=>{const n=z.findIndex(d=>d.name===e);if(n===-1)return;const i=z[n],r=oe.get(e);r&&(r.forEach(d=>d()),oe.delete(e));function s(){z.splice(n,1),W.push(i),setTimeout(t)}const l=i.unload();l instanceof Promise?l.then(s).catch(a):s()})}catch(t){o.error(`[GameMode]: script ${e} unload fail`),o.warn(t)}},pc=async e=>{await ce(e),await de(e)};qe(async({next:e})=>{const t=W.map(a=>a.name);for(const a of t)await de(a);return e()}),et(async({next:e})=>{const t=z.map(a=>a.name);for(const a of t)await ce(a);return e()});const gc=function(e,...t){if(W.some(a=>a.name===e.name)||z.some(a=>a.name===e.name)){o.warn(`[GameMode]: script ${e.name} has already been applied`);return}e.load=e.load.bind(e,...t),W.push(e)};class R{constructor(){throw new Error("This is a static class and cannot be instantiated.")}static onInit=qe;static onExit=et;static onIncomingConnection=hc;static onRconCommand=uc;static onRconLoginAttempt=mc;static use(t,...a){return gc(t,...a),this}static loadUseScript=de;static reloadUseScript=pc;static unloadUseScript=ce;static supportAllNickname(){for(let t=0;t<=255;t++)this.isNickNameCharacterAllowed(t)||this.allowNickNameCharacter(t,!0)}static setWeather(t){return t<0||t>255?(o.error("[GameMode]: The valid weather value is only 0 to 255"),0):Qt(t)}static setWorldTime(t){return t<0||t>23?(o.error("[GameMode]: The valid hour value is only 0 to 23"),0):zt(t)}static getWorldTime=$t;static setTeamCount=Ia;static sendRconCommand=rc;static addPlayerClass=Pa;static addPlayerClassEx=fa;static createExplosion(t,a,n,i,r){return i<0||i>13?(o.error("[GameMode]: The valid explosion type value is only 0 to 13"),0):ta(t,a,n,i,r)}static manualVehicleEngineAndLights=Ss;static blockIpAddress=Ha;static unBlockIpAddress=Va;static getServerTickRate=ca;static addSimpleModel(t,a,n,i,r){return this.checkSimpleModel(t,a,n,i,r)?Wd(t,a,n,i,r):0}static addSimpleModelTimed(t,a,n,i,r,s,l){return this.checkSimpleModel(t,a,n,i,r,s,l)?Kd(t,a,n,i,r,s,l):0}static checkSimpleModel(t,a,n,i,r,s,l){return t<-1?(o.error("[GameMode]: AddSimpleModel - Error virtual world"),0):a<0?(o.error("[GameMode]: AddSimpleModel - Error baseId"),0):n>-1e3||n<-3e4?(o.error("[GameMode]: AddSimpleModel - Error newId range"),0):i.trim().length<0?(o.error("[GameMode]: AddSimpleModel - Empty dffName"),0):r.trim().length<0?(o.error("[GameMode]: AddSimpleModel - Empty txdName"),0):s!==void 0&&(s<0||s>23)?(o.error("[GameMode]: AddSimpleModel - Error time on range"),0):l!==void 0&&(l<0||l>23)?(o.error("[GameMode]: AddSimpleModel - Error time off range"),0):1}static isValidCustomModel=Ae;static getCustomModePath=Qd;static getConsoleVarAsString(t,a="utf8"){const n=Ot(t);return f.decodeFromBuf(f.getValidStr(n),a)}static getRestartTime=Ht;static setRestartTime=xt;static allowAdminTeleport=Nt;static isAdminTeleportAllowed=Rt;static allowInteriorWeapons=Lt;static areInteriorWeaponsAllowed=bt;static areAllAnimationsEnabled=vt;static enableAllAnimations=wt;static enableStuntBonusForAll=ha;static enableVehicleFriendlyFire=Jt;static enableZoneNames=aa;static disableInteriorEnterExits=ia;static setGameModeText=jt;static getGravity=qt;static setGravity=ea;static showNameTags=Xt;static disableNameTagLOS=sa;static usePlayerPedAnims=na;static showPlayerMarkers=Yt;static limitPlayerMarkerRadius=oa;static limitGlobalChatRadius=la;static setNameTagDrawDistance=ra;static findModelFileNameFromCRC=jd;static findTextureFileNameFromCRC=Xd;static getWeaponName=ga;static setObjectsDefaultCameraCollision=Ud;static vectorSize=Zt;static clearBanList=Ka;static isBanned=Za;static isValidNickName=Pt;static allowNickNameCharacter=ft;static isNickNameCharacterAllowed=At;static addServerRule=Et;static setServerRule=Tt;static isValidServerRule=Ct;static removeServerRule=Dt;static getWeaponSlot=pa;static getAvailableClasses=ge;static getPlayerClass=Sa;static editPlayerClass=ya;static toggleChatTextReplacement=ua;static chatTextReplacementToggled=ma;static getConsoleVarAsInt=Gt;static getConsoleVarAsBool=Bt;static getWeather=Ft;static getServerRuleFlag=kt;static setServerRuleFlags=Mt}const[tt]=h({name:"OnClientCheckResponse",beforeEach(e,t,a,n){return{player:m.getInstance(e),actionId:t,memAddr:a,data:n}}}),[Sc,yc]=h({name:"OnPlayerLocaleChange",isNative:!1,beforeEach(e,t,a){return{player:e,newLocale:t,oldLocale:a}}}),[Ic,Pc]=h({name:"OnPlayerCharsetChange",isNative:!1,beforeEach(e,t,a){return{player:e,newCharset:t,oldCharset:a}}});class m{constructor(t){this.id=t}static players=new Map;_charset="ISO-8859-1";_locale="en_US";lastDrunkLevel=0;lastFps=0;lastUpdateTick=0;lastUpdateFpsTick=0;isPaused=!1;isRecording=!1;get charset(){return this._charset}set charset(t){const a=this._charset;this._charset=t,Pc(this,t,a)}get locale(){return this._locale}set locale(t){const a=this._locale;this._locale=t,yc(this,t,a)}sendClientMessage(t,a){return Je(this,t,a)}static sendClientMessageToAll(t,a){qd(m.getInstances(),t,a)}sendMessageToPlayer(t,a){return Qe(t,this.id,a)}sendMessageToAll(t){return ec(m.getInstances(),this.id,t)}isNpc(){return Dn(this.id)}getFps(){return this.lastFps}getDrunkLevel(){return Yn(this.id)}setDrunkLevel(t){return t<0||t>5e4?(o.error(new Error("[Player]: player's drunk level ranges from 0 to 50000")),!1):zn(this.id,t)}allowTeleport(t){return yn(this.id,t)}isTeleportAllowed(){return In(this.id)}enableCameraTarget(t){return mr(this.id,t)}enableStuntBonus(t){return Xi(this.id,t)}getInterior(){return Bn(this.id)}setInterior(t){return Gn(this.id,t)}showNameTag(t,a){return lr(this.id,t.id,a)}setColor(t){return $n(this.id,t)}getColor(){return Jn(this.id)}setMarker(t,a){rr(this.id,t.id,a)}getMarker(t){return sr(this.id,t.id)}resetMoney(){return ri(this.id)}getMoney(){return si(this.id)}giveMoney(t){return ii(this.id,t)}resetWeapons(){return ti(this.id)}spawn(){return this.isSpectating()?(this.toggleSpectating(!1),1):Ea(this.id)}setHealth(t){return Fn(this.id,t)}getHealth(){return kn(this.id)}toggleClock(t){return ui(this.id,t)}toggleControllable(t){return ki(this.id,t)}toggleSpectating(t){return Qi(this.id,t)}spectatePlayer(t,a=ae.NORMAL){return qi(this.id,t.id,a)}spectateVehicle(t,a=ae.NORMAL){return er(this.id,t.id,a)}forceClassSelection(){return pi(this.id)}kick(){return Fa(this.id)}ban(){return ka(this.id)}banEx(t,a){return ic(this.id,t,a)}isAdmin(){return Ga(this.id)}isInRangeOfPoint(t,a,n,i){return vn(this.id,t,a,n,i)}isStreamedIn(t){return On(this.id,t.id)}setSkin(t,a=!1){return!a&&(t<0||t>311||t==74)||this.getHealth()<=0||this.isInAnyVehicle()||this.getSpecialAction()===re.DUCK?!1:Qn(this.id,t)}getSkin(){return qn(this.id)}isInAnyVehicle(){return ar(this.id)}getSpecialAction(){return Ui(this.id)}setSpecialAction(t){return Wi(this.id,t)}setScore(t){return jn(this.id,t)}getScore(){return Xn(this.id)}getPing(){return oi(this.id)||0}setPos(t,a,n){return Se(this.id,t,a,n)}getPos(){if(this.isSpectating()||this.isWasted()||this.getState()===Y.NONE)return;const[t,a,n]=Rn(this.id);return{x:t,y:a,z:n}}isSpectating(){return this.getState()===Y.SPECTATING}isWasted(){return this.getState()===Y.WASTED}getState(){return li(this.id)}getVersion(){return this.isNpc()?"":Ya(this.id)}setVirtualWorld(t){return Zi(this.id,t)}getVirtualWorld(){return ji(this.id)}removeFromVehicle(){return Fi(this.id)}setWantedLevel(t){return t<0||t>6?(o.error("[Player]: player's wanted level ranges from 0 to 6"),!1):gi(this.id,t)}getWantedLevel(){return Si(this.id)}setFacingAngle(t){return Ln(this.id,t)}getFacingAngle(){return bn(this.id)}setWeather(t){return t<0||t>255?(o.warn("[Player]: The valid weather value is only 0 to 255"),!1):mi(this.id,t)}getWeather(){return Qa(this.id)}setTime(t,a){return t<0||t>23?(o.warn("[Player]: The valid hour value is only 0 to 23"),!1):a<0||a>59?(o.warn("[Player]: The valid minute value is only 0 to 59"),!1):_i(this.id,t,a)}getTime(){const[t,a]=hi(this.id);return{hour:t,minute:a}}removeBuilding(t,a,n,i,r){return bi(this.id,t,a,n,i,r)}setTeam(t){t<0||t>T.NO_TEAM||Kn(this.id,t)}getTeam(){return Zn(this.id)}setSkillLevel(t,a){return a<0||a>999?(o.warn("[Player]: The valid skill level is only 0 to 999"),!1):Di(this.id,t,a)}getName(){return ac(this)}setName(t){return nc(this,t)}setVelocity(t,a,n){return Pi(this.id,t,a,n)}getVelocity(){const[t,a,n]=fi(this.id);return{x:t,y:a,z:n}}getSpeed(t=180){if(this.id===-1)return 0;const{x:a,y:n,z:i}=this.getVelocity();return R.vectorSize(a,n,i)*t}getKeys(){const[t,a,n]=ci(this.id);return{keys:t,upDown:a,leftRight:n}}getIp(){return Xa(this.id)}getFightingStyle(){return Ii(this.id)}setFightingStyle(t){return yi(this.id,t)}setArmour(t){return Mn(this.id,t)}getArmour(){return xn(this.id)}setCameraBehind(){return cr(this.id)}setCameraPos(t,a,n){return or(this.id,t,a,n)}setCameraLookAt(t,a,n,i){return dr(this.id,t,a,n,i)}getCameraAspectRatio(){return Sr(this.id)}getCameraFrontVector(){const[t,a,n]=hr(this.id);return{x:t,y:a,z:n}}getCameraMode(){return ur(this.id)}getCameraPos(){const[t,a,n]=_r(this.id);return{x:t,y:a,z:n}}getCameraTargetPlayer(t){const a=gr(this.id);return t.find(n=>n.id===a)}getCameraTargetVehicle(t){const a=pr(this.id);return t.find(n=>n.id===a)}getCameraZoom(){return yr(this.id)}playAudioStream(t,a=0,n=0,i=0,r=5){let s=!1;return(a!==0||n!==0||i!==0)&&(s=!0),Ei(this.id,t,a,n,i,r,s)}stopAudioStream(){return Ti(this.id)}playSound(t,a=0,n=0,i=0){return Mi(this.id,t,a,n,i)}static getMaxPlayers(){return Kt()}playCrimeReport(t,a){return a<3||a>22?(o.warn("[Player]: Available crime ids range from 3 to 22"),!1):Ai(this.id,t.id,a)}interpolateCameraPos(t,a,n,i,r,s,l,d=te.CUT){return Ir(this.id,t,a,n,i,r,s,l,d)}interpolateCameraLookAt(t,a,n,i,r,s,l,d=te.CUT){return Pr(this.id,t,a,n,i,r,s,l,d)}createExplosion(t,a,n,i,r){return i<0||i>13?(o.error("[Player]: The valid explosion type value is only 0 to 13"),!1):zi(this.id,t,a,n,i,r)}static isConnected(t){return ye(t)}isConnected(){return ye(this.id)}disableRemoteVehicleCollisions(t){return Ki(this.id,t)}getVehicle(t){if(!this.isInAnyVehicle())return;const a=Gi(this.id);return t.find(n=>n.id===a)}getVehicleSeat(){return Bi(this.id)}getSurfingVehicle(t){const a=Ni(this.id);if(a!==T.VEHICLE_ID)return t.find(n=>n.id===a)}applyAnimation(t,a,n=4.1,i=!1,r=!0,s=!0,l=!1,d=0,_=!1){return ze(t,a)?xi(this.id,t,a,n,i,r,s,l,d,+_):(o.error("[Player]: Invalid anim library or name"),!1)}clearAnimations(t=!1){return Hi(this.id,t)}getAnimationIndex(){return Vi(this.id)}getAnimationName(){const[t,a]=_a(this.getAnimationIndex());return{animLib:t,animName:a}}setShopName(t){return Ci(this.id,t)}setPosFindZ(t,a,n=150){return new Promise(i=>{Se(this.id,t,a,n),setTimeout(()=>i(Nn(this.id,t,a,n)))})}setWorldBounds(t,a,n,i){return nr(this.id,t,a,n,i)}clearWorldBounds(){return ir(this.id)}setChatBubble(t,a,n,i){return wi(this.id,t,a,n,i)}getDistanceFromPoint(t,a,n){return wn(this.id,t,a,n)}getCustomSkin(){return Yi(this.id)}getTargetPlayer(t){const a=Wn(this.id);if(a!==T.PLAYER_ID)return t.find(n=>n.id===a)}getLastShotVectors(){const[t,a,n,i,r,s]=vi(this.id);return{fOriginX:t,fOriginY:a,fOriginZ:n,fHitPosX:i,fHitPosY:r,fHitPosZ:s}}getWeapon(){return di(this.id)}getWeaponData(t){if(t<0||t>12){o.error("[Player]: weapon slots range from 0 to 12");return}const[a,n]=ni(this.id,t);return{weapons:a,ammo:n}}getWeaponState(){return Un(this.id)}giveWeapon(t,a){return ei(this.id,t,a)}setAmmo(t,a){return Hn(this.id,t,a)}getAmmo(){return Vn(this.id)}setArmedWeapon(t){return ai(this.id,t)}clearDeathMessage(){for(let t=0;t<5;t++)this.sendDeathMessageToPlayer(T.PLAYER_ID,T.PLAYER_ID,se.CONNECT)}sendDeathMessage(t,a){return Wt(t===T.PLAYER_ID?t:t.id,this.id,a)}sendDeathMessageToPlayer(t,a,n){return Tn(this.id,t===T.PLAYER_ID?t:t.id,a===T.PLAYER_ID?a:a.id,n)}setSpawnInfo(t,a,n,i,r,s,l,d,_,p,g,S){return t<0||t>T.NO_TEAM||a<0||a>311||a==74||d<0||p<0||S<0?!1:Aa(this.id,t,a,n,i,r,s,l,d,_,p,g,S)}redirectDownload(t){return Zd(this.id,t)}sendClientCheck(t,a,n,i){const r=[2,5,69,70,71,72];return r.includes(t)?new Promise((s,l)=>{if(this.isPaused)return l("[Player]: An attempt to check the player client response, but the player paused the game");const d="[Player]: An attempt to check the player client response timed out",_=this.getPing(),p=(_>=200?0:_)+200;let g=null;const S=tt(({player:P,actionId:E,memAddr:b,data:M,next:ee})=>{if(P!==this)return ee();g?(clearTimeout(g),g=null,l(d)):s({actionId:E,memAddr:b,data:M});const ot=ee();return S(),ot});g=setTimeout(()=>{S(),l(d)},p),Wa(this.id,t,a,n,i)}):o.error(`[Player]: sendClientCheck valid types are ${r.toString()}`)}selectTextDraw(t){Jo(this.id,t)}cancelSelectTextDraw(){Qo(this.id)}beginObjectSelecting(){return Hd(this.id)}endObjectEditing(){return Vd(this.id)}getSurfingObject(t){const a=Ri(this.id);if(a!==T.OBJECT_ID)return t.get(a)}getSurfingPlayerObject(t){const a=Li(this.id);if(a!==T.OBJECT_ID)return t.get(a)}isAttachedObjectSlotUsed(t){return Jd(this.id,t)}editAttachedObject(t){return xd(this.id,t)}setAttachedObject(t,a,n,i=0,r=0,s=0,l=0,d=0,_=0,p=1,g=1,S=1,P=0,E=0){return this.isAttachedObjectSlotUsed(t)?0:zd(this.id,t,a,n,i,r,s,l,d,_,p,g,S,P,E)}removeAttachedObject(t){return this.isAttachedObjectSlotUsed(t)?$d(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 za(this.id,t)}isWidescreenToggled(){return $a(this.id)}getSpawnInfo(){return Ta(this.id)}getSkillLevel(t){return Ja(this.id,t)}isCheckpointActive(){return ol(this.id)}getCheckpoint(){return dl(this.id)}isRaceCheckpointActive(){return cl(this.id)}getRaceCheckpoint(){return _l(this.id)}getWorldBounds(){qa(this.id)}isInModShop(){return tl(this.id)}getSirenState(){return al(this.id)}getLandingGearState(){return nl(this.id)}getHydraReactorAngle(){return il(this.id)}getTrainSpeed(){return rl(this.id)}getZAim(){return en(this.id)}getSurfingOffsets(){return tn(this.id)}getRotationQuat(){return an(this.id)}getDialogID(){return nn(this.id)}getSpectateID(){return rn(this.id)}getSpectateType(){return sn(this.id)}getRawIp(){return ja(this.id)}setGravity(t){return ln(this.id,t)}getGravity(){return on(this.id)}setAdmin(t){return Ba(this.id,t)}isSpawned(){return dn(this.id)}isControllable(){return cn(this.id)}isCameraTargetEnabled(){return _n(this.id)}toggleGhostMode(t){return hn(this.id,t)}getGhostMode(){return un(this.id)}getBuildingsRemoved(){return mn(this.id)}getAttachedObject(t){return Yd(this.id,t)}removeWeapon(t){return pn(this.id,t)}isUsingOfficialClient(){return Sn(this.id)}allowWeapons(t){return Pn(this.id,t)}areWeaponsAllowed(){return fn(this.id)}gpci(t=this.charset){return Ua(this.id,t)}isCuffed(){return fr(this.id)}isInDriveByMode(){return Ar(this.id)}static getInstance(t){return this.players.get(t)}static getInstances(){return[...this.players.values()]}}const[at]=h({name:"OnDialogResponseI18n",identifier:"iiiiai",beforeEach(e,t,a,n,i){return{player:m.getInstance(e),dialogId:t,response:a,listItem:n,buffer:i}}});at(({next:e,player:t,dialogId:a,response:n,listItem:i,buffer:r})=>{const s=D.waitingQueue.get(t);return!s||s.showId!==a||setTimeout(()=>s.resolve({response:n,listItem:i,buffer:r})),e()});class D{id=-1;static showingIds=[];static maxDialogId=32767;dialog;static waitingQueue=new Map;constructor(t={style:ie.MSGBOX,caption:"",info:"",button1:"",button2:""}){this.dialog=t}get style(){return this.dialog.style}set style(t){this.dialog.style=t}get caption(){return this.dialog.caption}set caption(t){this.dialog.caption=t}get info(){return this.dialog.info}set info(t){this.dialog.info=t}get button1(){return this.dialog.button1}set button1(t){this.dialog.button1=t}get button2(){return this.dialog.button2}set button2(t){this.dialog.button2=t}static delDialogTask(t,a=!1){const n=D.waitingQueue.get(t);if(!n)return!1;a&&n.reject("[Dialog]: player timeout does not respond or second request show dialog"),D.waitingQueue.delete(t);const i=D.showingIds.indexOf(n.showId);return i>-1&&D.showingIds.splice(i,1),!0}show(t){return new Promise((a,n)=>{for(D.close(t);(this.id===-1||D.showingIds.includes(this.id))&&D.showingIds.length!==D.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}),tc(t,this.id,this.dialog)}).then(a=>{const{response:n,listItem:i}=a,r=f.decodeFromBuf(a.buffer,t.charset);return Promise.resolve({response:n,listItem:i,inputText:r})}).catch(a=>Promise.reject(a)).finally(()=>D.delDialogTask(t))}static close(t){D.delDialogTask(t,!0),gn(t.id)}}const[nt]=h({name:"OnPlayerConnect",beforeEach(e){const t=new m(e);return m.players.set(e,t),D.close(t),{player:t}}}),[it]=h({name:"OnPlayerDisconnect",beforeEach(e,t){return{player:m.players.get(e),reason:t}},afterEach({player:e}){m.players.delete(e.id)}}),[rt]=h({name:"OnPlayerUpdate",beforeEach(e){return{player:m.getInstance(e)}}}),[fc]=h({name:"OnPlayerTextI18n",identifier:"iai",beforeEach(e,t){const a=m.getInstance(e);return{player:a,text:f.decodeFromBuf(t,a.charset),buffer:t}}}),[Ac]=h({name:"OnPlayerEnterExitModShop",beforeEach(e,t,a){return{player:m.getInstance(e),enterExit:!!t,interior:a}}}),[Ec]=h({name:"OnPlayerClickMap",beforeEach(e,t,a,n){return{player:m.getInstance(e),fX:t,fY:a,fZ:n}}}),[Tc]=h({name:"OnPlayerClickPlayer",beforeEach(e,t,a){return{player:m.getInstance(e),clickedPlayer:m.getInstance(t),source:a}}}),[Cc]=h({name:"OnPlayerDeath",beforeEach(e,t,a){return{player:m.getInstance(e),killer:m.getInstance(t)||T.PLAYER_ID,reason:a}}}),[Dc]=h({name:"OnPlayerGiveDamage",beforeEach(e,t,a,n,i){return{player:m.getInstance(e),damage:m.getInstance(t),amount:a,weapon:n,bodyPart:i}}}),[Nc]=h({name:"OnPlayerKeyStateChange",beforeEach(e,t,a){return{player:m.getInstance(e),newKeys:t,oldKeys:a}}}),[Rc]=h({name:"OnPlayerRequestClass",beforeEach(e,t){return{player:m.getInstance(e),classId:t}}}),[Lc]=h({name:"OnPlayerRequestSpawn",beforeEach(e){return{player:m.getInstance(e)}}}),[bc]=h({name:"OnPlayerSpawn",beforeEach(e){return{player:m.getInstance(e)}}}),[vc]=h({name:"OnPlayerStateChange",beforeEach(e,t,a){return{player:m.getInstance(e),newState:t,oldState:a}}}),[wc]=h({name:"OnPlayerSteamIn",beforeEach(e,t){return{player:m.getInstance(e),forPlayer:m.getInstance(t)}}}),[Oc]=h({name:"OnPlayerSteamOut",beforeEach(e,t){return{player:m.getInstance(e),forPlayer:m.getInstance(t)}}}),[Gc]=h({name:"OnPlayerTakeDamage",beforeEach(e,t,a,n,i){return{player:m.getInstance(e),damage:m.getInstance(t)||T.PLAYER_ID,amount:a,weapon:n,bodyPart:i}}}),[Bc]=h({name:"OnPlayerInteriorChange",beforeEach(e,t,a){return{player:m.getInstance(e),newInteriorId:t,oldInteriorId:a}}}),[Fc]=h({name:"OnPlayerRequestDownload",beforeEach(e,t,a){return{player:m.getInstance(e),type:t,crc:a}}}),[kc]=h({name:"OnPlayerFinishedDownloading",beforeEach(e,t){return{player:m.getInstance(e),virtualWorld:t}}});let q=null;const[Mc,xc]=h({name:"OnPlayerPause",isNative:!1,beforeEach(e,t){return{player:e,pausedAt:t}}}),[Hc,Vc]=h({name:"OnPlayerResume",isNative:!1,beforeEach(e,t,a,n){return{player:e,pausedAt:t,now:a,diff:n}}}),[Uc,Wc]=h({name:"OnPlayerFpsUpdate",isNative:!1,beforeEach(e,t,a){return{player:e,newFps:t,oldFps:a}}});nt(({next:e})=>(!q&&m.getInstances().length&&(q=setInterval(()=>{m.getInstances().filter(t=>{const a=t.getState()!==Y.NONE;return!t.isPaused&&!t.isNpc()&&a}).forEach(t=>{Date.now()-t.lastUpdateTick>1e3&&(t.isPaused=!0,xc(t,t.lastUpdateTick))})},500)),e())),it(({next:e})=>(q&&m.getInstances().length<=1&&(clearInterval(q),q=null),e()));function Kc(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,i=e.lastDrunkLevel-a-1;e.lastFps=i,e.lastDrunkLevel=a,Wc(e,i,n)}}rt(({player:e,next:t})=>{if(!e.isNpc()){const a=Date.now();e.isPaused&&(e.isPaused=!1,Vc(e,e.lastUpdateTick,a,a-e.lastUpdateTick)),e.lastUpdateTick=a,Kc(e)}return t()});const $=new Map,st=/[^/\s]+/gi,_e={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"}},[Zc,jc]=h({name:"OnCommandReceived",isNative:!1,beforeEach(e,t){return{player:e,command:t}}}),[Xc,Yc]=h({name:"OnCommandPerformed",isNative:!1,beforeEach(e,t){return{player:e,command:t}}}),[zc,he]=h({name:"OnCommandError",isNative:!1,defaultValue:!1,beforeEach(e,t,a){return{player:e,command:t,error:a}}}),[$c]=h({name:"OnPlayerCommandTextI18n",identifier:"iai",beforeEach(e,t){return{player:m.getInstance(e),buffer:t}}});function Jc(e){const t=[];let a="";for(let n=0;n<e.length;n++)a+=e[n]+" ",t.push(a.trimEnd());return t.reverse()}$c(({player:e,buffer:t,next:a})=>{const n=f.decodeFromBuf(t,e.charset).match(st),i=Jc(n).find(p=>$.get(p)),r=n.join(" ");if(!i)return he(e,r,_e.NOT_EXIST);const s=jc(e,r);if(!s)return s;const l=$.get(i),[,d]=l,_=r.replace(i,"").trim().split(" ");return d(e,_)?Yc(e,r)?a():he(e,r,_e.PERFORMED):he(e,r,_e.REJECTED)});function Qc(e,t){return{player:e,subcommand:t}}const lt={on(e,t){const a=Array.isArray(e)?e:[e],n=a.find(r=>!r.match(st));if(n)return console.log(`error command ${n} format`),()=>{};const i=a.map(r=>{const s=r.replaceAll("/","");if(!$.has(s)){const d=h({name:s,isNative:!1,beforeEach:Qc});$.set(s,d)}const[l]=$.get(s);return l(t)});return()=>{i.forEach(r=>r())}},off(e){(Array.isArray(e)?e:[e]).forEach(t=>{$.has(t)&&pe(t)})}},ue=Object.freeze({onConnect:nt,onDisconnect:it,onPause:Mc,onResume:Hc,onUpdate:rt,onText:fc,onEnterExitModShop:Ac,onClickMap:Ec,onClickPlayer:Tc,onDeath:Cc,onGiveDamage:Dc,onKeyStateChange:Nc,onRequestClass:Rc,onRequestSpawn:Lc,onSpawn:bc,onStateChange:vc,onStreamIn:wc,onStreamOut:Oc,onTakeDamage:Gc,onInteriorChange:Bc,onRequestDownload:Fc,onFinishedDownloading:kc,onCheckResponse:tt,onCommandReceived:Zc,onCommandPerformed:Xc,onCommandError:zc,onCommandText:lt.on,offCommandText:lt.off,onDialogResponse:at,onLocaleChange:Sc,onCharsetChange:Ic,onFpsUpdate:Uc}),qc=[8,9,10,25,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,96,97,98],e_=[[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],[],[],[],[],[],[],[],[]],t_=(e,t)=>{if(!me(e))return o.error("[vehicleUtils]: Invalid model id"),!1;const a=e_[e-400];if(a===null)return!1;const n=t-1e3;return qc.includes(n)||a.includes(n)},me=e=>e>=400&&e<=611,a_=(e,t)=>{if(t<0||t>2)return!1;const a=new Map([[483,0],[534,2],[535,2],[536,2],[558,2],[559,2],[560,2],[561,2],[562,2],[565,2],[567,2],[575,1],[576,2]]).get(e);return a===void 0?!1:t<=a};class A{static vehicles=new Map;static createdCount=0;sourceInfo;isStatic;_id=-1;get id(){return this._id}constructor(t,a=!1){this.sourceInfo=t,this.isStatic=a}create(t=!1){if(this.id!==-1)return o.warn("[Vehicle]: Unable to create the vehicle again");if(A.createdCount===w.MAX_VEHICLES)return o.warn("[Vehicle]: Unable to continue to create vehicle, maximum allowable quantity has been reached");const{modelId:a,x:n,y:i,z:r,zAngle:s,color:l,respawnDelay:d,addSiren:_}=this.sourceInfo;if(!(!t&&!me(a))){if(this.isStatic){if(d===void 0){this._id=$s(a,n,i,r,s,l[0],l[1]);return}this._id=Js(a,n,i,r,s,l[0],l[1],d||-1,_||!1)}else this._id=ls(a,n,i,r,s,l[0],l[1],d||-1,_||!1);A.createdCount++,A.vehicles.set(this._id,this)}}destroy(){if(this.id===-1)return o.warn("[Vehicle]: Unable to destroy the vehicle before create");os(this.id),A.createdCount--,A.vehicles.delete(this._id),this._id=-1}addComponent(t){return this.id===-1?0:t_(this.getModel(),t)?Ns(this.id,t):(o.warn(`[Vehicle]: Invalid component id ${t} attempted to attach to the vehicle ${this}`),0)}removeComponent(t){return this.getComponentInSlot(A.getComponentType(t))===0?(o.warn(`[Vehicle]: component id ${t} does not exist on this vehicle`),0):Rs(this.id,t)}getComponentInSlot(t){return xs(this.id,t)}linkToInterior(t){return this.id===-1?0:Ds(this.id,t)}setVirtualWorld(t){return this.id===-1?0:Ys(this.id,t)}getVirtualWorld(){return this.id===-1?0:zs(this.id)}repair(){return this.id===-1?0:Vs(this.id)}setPos(t,a,n){return this.id===-1?0:_s(this.id,t,a,n)}getPos(){if(this.id!==-1)return cs(this.id)}getHealth(){return this.id===-1?0:ws(this.id)}setHealth(t){return this.id===-1?0:vs(this.id,t)}isPlayerIn(t){return this.id===-1?!1:tr(t.id,this.id)}putPlayerIn(t,a){return this.id===-1||a<0?0:(a>4&&o.warn("[Vehicle]: If the seat is invalid or is taken, will cause a crash when they EXIT the vehicle."),Oi(t.id,this.id,a))}getZAngle(){return this.id===-1?0:hs(this.id)}setZAngle(t){return this.id===-1?0:ps(this.id,t)}setNumberPlate(t){return this.id===-1?0:t.length<1||t.length>32?(o.error("[Vehicle]: The length of the number plate ranges from 32 characters"),0):/^[a-zA-Z0-9]+$/.test(t)?ks(this.id,t):(o.error("[Vehicle]: number plates only allow letters and numbers"),0)}changeColors(t,a){return this.id===-1?0:Ls(this.id,t,a)}setVelocity(t,a,n){return this.id===-1?!1:Ws(this.id,t,a,n)}getVelocity(){if(this.id===-1)return;const[t,a,n]=Us(this.id);return{x:t,y:a,z:n}}getSpeed(t=180){if(this.id===-1)return 0;const{x:a,y:n,z:i}=this.getVelocity();return R.vectorSize(a,n,i)*t}setAngularVelocity(t,a,n){return this.id===-1?0:Ks(this.id,t,a,n)}getDamageStatus(){if(this.id!==-1)return Zs(this.id)}updateDamageStatus(t,a,n,i){this.id!==-1&&js(this.id,t,a,n,i)}getDistanceFromPoint(t,a,n){return ms(this.id,t,a,n)}getModel(){return Ms(this.id)}static getModelInfo(t,a){return Xs(t,a)}getModelInfo(t){if(this.id!==-1)return A.getModelInfo(this.getModel(),t)}getRotationQuat(){if(this.id===-1)return;const[t,a,n,i]=us(this.id);return{w:t,x:a,y:n,z:i}}setRespawn(){return this.id===-1?0:Cs(this.id)}isStreamedIn(t){return this.id===-1?!1:ds(this.id,t.id)}setParamsCarDoors(t,a,n,i){return this.id===-1?0:fs(this.id,t,a,n,i)}setParamsCarWindows(t,a,n,i){return this.id===-1?0:Es(this.id,t,a,n,i)}getParamsCarDoors(){if(this.id!==-1)return As(this.id)}getParamsCarWindows(){if(this.id!==-1)return Ts(this.id)}setParamsEx(t,a,n,i,r,s,l){return this.id===-1?0:ys(this.id,t,a,n,i,r,s,l)}getParamsEx(){if(this.id===-1)return;const[t,a,n,i,r,s,l]=Is(this.id);return{engine:t,lights:a,alarm:n,doors:i,bonnet:r,boot:s,objective:l}}getParamsSirenState(){return this.id===-1?-2:Ps(this.id)}setParamsForPlayer(t,a,n){return this.id===-1?0:gs(this.id,t.id,a,n)}isTrailerAttached(){return this.id===-1?!1:Bs(this.id)}changePaintjob(t){return this.id===-1||!a_(this.getModel(),t)?0:(this.changeColors("#fff","#fff"),bs(this.id,t),1)}attachTrailer(t){return this.id===-1?0:Os(t.id,this.id)}detachTrailer(){this.id!==-1&&this.isTrailerAttached()&&Gs(this.id)}getTrailer(){if(this.id!==-1)return A.getInstances().find(t=>t.id===Fs(this.id))}isValid(){return Pe(this.id)}getMatrix(){if(this.id!==-1)return rs(this.id)}getTrainSpeed(){return this.id===-1?0:is(this.id)}getHydraReactorAngle(){return this.id===-1?0:ns(this.id)}getLandingGearState(){return this.id===-1?0:as(this.id)}getSirenState(){return this.id===-1?0:ts(this.id)}getDriver(t){if(this.id!==-1)return t.get(qr(this.id))}getLastDriver(t){if(this.id!==-1)return t.get(Qr(this.id))}isSirenEnabled(){return $r(this.id)}toggleSirenEnabled(t){return this.id===-1?0:Yr(this.id,t)}setParamsSirenState(t){return this.id===-1?0:zr(this.id,t)}isDead(){return this.id===-1?!0:Zr(this.id)}setDead(t){return this.id===-1?!1:jr(this.id,t)}setBeenOccupied(t){return this.id===-1?!1:Xr(this.id,t)}getRespawnTick(){return this.id===-1?0:Wr(this.id)}setRespawnTick(t){return this.id===-1?!1:Kr(this.id,t)}isOccupied(){return this.id===-1?!1:Ur(this.id)}hasBeenOccupied(){return this.id===-1?!1:Vr(this.id)}getOccupiedTick(){return this.id===-1?0:xr(this.id)}setOccupiedTick(t){return this.id===-1?0:Hr(this.id,t)}getCab(){return this.id===-1?0:Mr(this.id)}getRespawnDelay(){return this.id===-1?0:kr(this.id)}setRespawnDelay(t){return this.id===-1?0:Fr(this.id,t)}getNumberPlate(){return this.id===-1?"":Br(this.id)}getInterior(){return this.id===-1?0:Gr(this.id)}getPaintjob(){return this.id===-1?-1:Or(this.id)}getColors(){if(this.id!==-1)return wr(this.id)}setSpawnInfo(t,a,n,i,r,s,l,d=-2,_=-2,p=!1){return this.id===-1||!p&&!me(t)?0:vr(this.id,t,a,n,i,r,I(s),I(l),d,_)}getSpawnInfo(){if(this.id!==-1)return br(this.id)}getRandomColorPair(){if(this.id!==-1)return Ie(this.getModel())}show(){return this.id===-1?!1:Qs(this.id)}hide(){return this.id===-1?!1:qs(this.id)}isHidden(){return this.id===-1?!1:el(this.id)}getVehicleOccupant(t){return sl(this.id,t)}getVehicleMaxPassengers(){return fe(this.getModel())}countVehicleOccupants(){return ll(this.getModel())}static getVehicleMaxPassengers=fe;static getRandomColorPair=Ie;static getComponentType=Hs;static colorIndexToColor=ss;static isValid=Pe;static getModelsUsed=es;static getModelCount=Jr;static getInstance(t){return this.vehicles.get(t)}static getInstances(){return[...this.vehicles.values()]}}R.onExit(({next:e})=>(A.getInstances().forEach(t=>t.destroy()),e()));const[n_]=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)}}}),[r_]=h({name:"OnVehicleMod",beforeEach(e,t,a){return{player:m.getInstance(e),vehicle:A.getInstance(t),componentId:a}}}),[s_]=h({name:"OnVehiclePaintjob",beforeEach(e,t,a){return{player:m.getInstance(e),vehicle:A.getInstance(t),paintjobId:a}}}),[l_]=h({name:"OnVehicleRespray",beforeEach(e,t,a,n){return{player:m.getInstance(e),vehicle:A.getInstance(t),color:[a,n]}}}),[o_]=h({name:"OnVehicleSirenStateChange",beforeEach(e,t,a){return{player:m.getInstance(e),vehicle:A.getInstance(t),state:!!a}}}),[d_]=h({name:"OnVehicleSpawn",beforeEach(e){return{vehicle:A.getInstance(e)}}}),[c_]=h({name:"OnVehicleStreamIn",beforeEach(e,t){return{vehicle:A.getInstance(e),forPlayer:m.getInstance(t)}}}),[__]=h({name:"OnVehicleStreamOut",beforeEach(e,t){return{vehicle:A.getInstance(e),forPlayer:m.getInstance(t)}}}),[h_]=h({name:"OnPlayerEnterVehicle",beforeEach(e,t,a){return{player:m.getInstance(e),vehicle:A.getInstance(t),isPassenger:!!a}}}),[u_]=h({name:"OnPlayerExitVehicle",beforeEach(e,t){return{player:m.getInstance(e),vehicle:A.getInstance(t)}}}),[m_]=h({name:"OnNpcEnterVehicle",beforeEach(e,t){return{vehicle:A.getInstance(e),seatId:t}}}),[p_]=h({name:"OnNpcExitVehicle"}),[g_]=h({name:"OnTrailerUpdate",beforeEach(e,t){return{player:m.getInstance(e),vehicle:A.getInstance(t)}}}),S_=Object.freeze({onDamageStatusUpdate:n_,onDeath:i_,onMod:r_,onPaintjob:s_,onRespray:l_,onSirenStateChange:o_,onSpawn:d_,onStreamIn:c_,onStreamOut:__,onPlayerEnter:h_,onPlayerExit:u_,onNpcEnter:m_,onNpcExit:p_,onTrailerUpdate:g_});class y_{constructor(){throw new Error("This is a static class and cannot be instantiated.")}static getNetworkStats(){return xa()}static getPlayerNetworkStats(t){return Ma(t.id)}static getBytesReceived(t){return Na(t.id)}static getBytesSent(t){return La(t.id)}static getConnectionStatus(t){return wa(t.id)}static getConnectedTime(t){return Ca(t.id)}static getIpPort(t){return Oa(t.id)}static getMessagesReceived(t){return Da(t.id)}static getMessagesRecvPerSecond(t){return ba(t.id)}static getMessagesSent(t){return Ra(t.id)}static getPacketLossPercent(t){return va(t.id)}}class I_{_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){Ut(t)}static has(t,a){return En(t.id,a)}forAll(){Vt(this.text,this.time,this.style)}forPlayer(t){An(t.id,this.text,this.time,this.style)}hideForPlayer(t){return Cn(t.id,this.style)}}class X{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){o.error("[Menu]: The menu column number interval is between 1 and 2");return}this._columns=t}_x;get x(){return this._x}set x(t){this._x=t}_y;get y(){return this._y}set y(t){this._y=t}_col1width;get col1width(){return this._col1width}set col1width(t){this._col1width=t}_col2width;get col2width(){return this._col2width}set col2width(t){this._col2width=t}constructor(t,a,n,i,r,s){this._title=t,this.columns=a,this._x=n,this._y=i,this._col1width=r,this._col2width=s}create(){return this._id!==-1?o.error("[Menu]: Cannot be created twice"):X.getInstances().length===w.MAX_MENUS?o.error("[Menu]: The maximum number of menus allowed to be created has been reached 128"):(this._id=Il(this.title,this.columns,this.x,this.y,this.col1width,this.col2width),X.menus.set(this._id,this),this)}destroy(){return this._id===-1?o.error("[Menu]: Cannot destroy before create"):(Pl(this.id),X.menus.delete(this._id),this._id=-1,this)}addItem(t,a){return this._id===-1?o.error("[Menu]: Cannot addItem before create"):this._itemCount===w.MAX_MENU_ROW?o.error("[Menu]: The maximum number of items allowed to be added has been reached 12"):t!==0&&t!==1?o.error("[Menu]: Wrong number of columns"):(fl(this.id,t,a),this._itemCount++,this)}setColumnHeader(t,a){return this._id===-1?o.error("[Menu]: Cannot setColumnHeader before create"):t!==0&&t!==1?o.error("[Menu]: Wrong number of columns"):(Al(this.id,t,a),this)}disable(){return this._id===-1?o.error("[Menu]: Cannot disable menu before create"):(Dl(this.id),this)}disableRow(t){if(this._id===-1)return o.error("[Menu]: Cannot disable row before create");if(t<0||t>this.itemCount-1)return o.error("[Menu]: Wrong number of rows");Nl(this.id,t)}isValid(){return Cl(this.id)}showForPlayer(t){return this._id===-1?o.error("[Menu]: Cannot show menu before create"):El(this.id,t.id)}hideForPlayer(t){return this._id===-1?o.error("[Menu]: Cannot hide menu before create"):Tl(this.id,t.id)}isDisabled(){return this._id===-1?!1:hl(this.id)}isRowDisabled(t){return this._id===-1||t<0||t>this._itemCount?!1:ul(this.id,t)}getItems(t){return this._id===-1?0:ml(this.id,t)}getPos(){return this._id===-1?{fX:this.x,fY:this.y}:pl(this.id)}getColumnWidth(){return this.id===-1?{fColumn1:this.col1width,fColumn2:this.col2width}:gl(this.id)}getColumnHeader(t){return this._id===-1?o.error("[Menu]: Cannot get column header before create"):Sl(this.id,t)}getItem(t,a){if(this._id===-1)return o.error("[Menu]: Cannot get item before create");if(!(a<0||a>this.getItems(t)-1))return yl(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===Rl(t.id))}}R.onExit(({next:e})=>(X.getInstances().forEach(t=>t.destroy()),e()));const[P_]=h({name:"OnPlayerExitedMenu",beforeEach(e){return{player:m.getInstance(e)}}}),[f_]=h({name:"OnPlayerSelectedMenuRow",beforeEach(e,t){const a=m.getInstance(e),n=X.getInstanceByPlayer(a);return{player:a,menu:n,row:t}}}),A_=Object.freeze({onPlayerExited:P_,onPlayerSelectedRow:f_});class N{static globalGangZones=new Map;static playerGangZones=new Map;sourceInfo;constructor(t){this.sourceInfo=t}_id=-1;get id(){return this._id}create(){if(this.id!==-1)return o.warn("[GangZone]: Unable to create the gangzone again");const{player:t}=this.sourceInfo;if(t){if(N.getInstances(!1).length===w.MAX_GANG_ZONES)return o.warn("[GangZone]: Unable to continue to create gangzone, maximum allowable quantity has been reached");const{minX:a,minY:n,maxX:i,maxY:r}=this.sourceInfo;this._id=Xl(t.id,a,n,i,r);const s=ue.onDisconnect(({player:l,next:d})=>{d(),l===this.sourceInfo.player&&(this.destroy(),s())});N.playerGangZones.set(this.id,this)}else{if(N.getInstances(!0).length===w.MAX_GANG_ZONES)return o.warn("[GangZone]: Unable to continue to create gangzone, maximum allowable quantity has been reached");const{minX:a,minY:n,maxX:i,maxY:r}=this.sourceInfo;this._id=kl(a,n,i,r),N.globalGangZones.set(this.id,this)}}destroy(){if(this.id===-1)return o.warn("[GangZone]: Unable to destroy the gangzone before create");const{player:t}=this.sourceInfo;t?(Yl(t.id,this.id),N.playerGangZones.delete(this.id)):(Ml(this.id),N.globalGangZones.delete(this.id)),this._id=-1}showForAll(t){return this.id===-1?(o.warn("[GangZone]: Unable to show the gangzone before create"),this):this.sourceInfo.player?(o.warn("[GangZone]: player's gangzone should not be show for all."),this):(Hl(this.id,t),this)}showForPlayer(t,a){if(this.id===-1)return o.warn("[GangZone]: Unable to show the gangzone before create"),this;const n=this.sourceInfo.player;if(n)zl(n.id,this.id,I(t));else if(a)xl(a.id,this.id,t);else return o.warn("[GangZone]: invalid player for show"),this;return this}hideForAll(){return this.id===-1?(o.warn("[GangZone]: Unable to hide the gangzone before create"),this):this.sourceInfo.player?(o.warn("[GangZone]: player's gangzone should not be hide for all."),this):(Ul(this.id),this)}hideForPlayer(t){if(this.id===-1)return o.warn("[GangZone]: Unable to hide the gangzone before create"),this;const a=this.sourceInfo.player;if(a)$l(a.id,this.id);else if(t)Vl(t.id,this.id);else return o.warn("[GangZone]: invalid player for hide"),this;return this}flashForAll(t){return this.id===-1?(o.warn("[GangZone]: Unable to flash the gangzone before create"),this):this.sourceInfo.player?(o.warn("[GangZone]: player's gangzone should not be flash for all."),this):(Kl(this.id,t),this)}flashForPlayer(t,a){if(this.id===-1)return o.warn("[GangZone]: Unable to flash the gangzone before create"),this;const n=this.sourceInfo.player;if(n)Jl(n.id,this.id,I(a));else if(t)Wl(t.id,this.id,a);else return o.warn("[GangZone]: invalid player for flash"),this;return this}stopFlashForAll(){return this.id===-1?(o.warn("[GangZone]: Unable to stop flash the gangzone before create"),this):this.sourceInfo.player?(o.warn("[GangZone]: player's gangzone should not be stop flash for all."),this):(jl(this.id),this)}stopFlashForPlayer(t){if(this.id===-1)return o.warn("[GangZone]: Unable to stop flash the gangzone before create"),this;const a=this.sourceInfo.player;if(a)Ql(a.id,this.id);else if(t)Zl(t.id,this.id);else return o.warn("[GangZone]: invalid player for flash"),this;return this}isValid(){if(this.id===-1)return!1;const t=this.sourceInfo.player;return t?ql(t.id,this.id):Ll(this.id)}isPlayerIn(t){if(this.id===-1)return!1;const a=this.sourceInfo.player;return a?eo(a.id,this.id):bl(t.id,this.id)}isVisibleForPlayer(t){if(this.id===-1)return!1;const a=this.sourceInfo.player;return a?to(a.id,this.id):vl(t.id,this.id)}getColorForPlayer(t){if(this.id===-1)return o.warn("[GangZone]: Unable to get color before create");const a=this.sourceInfo.player;return a?ao(a.id,this.id):wl(t.id,this.id)}getFlashColorForPlayer(t){if(this.id===-1)return o.warn("[GangZone]: Unable to get flash color before create");const a=this.sourceInfo.player;return a?no(a.id,this.id):Ol(t.id,this.id)}isFlashingForPlayer(t){if(this.id===-1)return!1;const a=this.sourceInfo.player;return a?io(a.id,this.id):Gl(t.id,this.id)}getPos(){if(this.id===-1)return o.warn("[GangZone]: Unable to get position before create");const t=this.sourceInfo.player;return t?ro(t.id,this.id):Bl(this.id)}useCheck(t){if(this.id===-1)return o.warn("[GangZone]: Unable to use check before create"),this;const a=this.sourceInfo.player;return a?so(a.id,this.id,t):Fl(this.id,t),this}static getInstance(t,a){return a?this.globalGangZones.get(t):this.playerGangZones.get(t)}static getInstances(t){return t?[...this.globalGangZones.values()]:[...this.playerGangZones.values()]}}R.onExit(({next:e})=>(N.getInstances(!0).forEach(t=>t.destroy()),N.getInstances(!1).forEach(t=>t.destroy()),e()));const[E_]=h({name:"OnPlayerEnterGangZone",beforeEach(e,t){return{player:m.getInstance(e),gangZone:N.getInstance(t,!0)}}}),[T_]=h({name:"OnPlayerLeaveGangZone",beforeEach(e,t){return{player:m.getInstance(e),gangZone:N.getInstance(t,!0)}}}),[C_]=h({name:"OnPlayerEnterPlayerGangZone",beforeEach(e,t){return{player:m.getInstance(e),gangZone:N.getInstance(t,!1)}}}),[D_]=h({name:"OnPlayerLeavePlayerGangZone",beforeEach(e,t){return{player:m.getInstance(e),gangZone:N.getInstance(t,!1)}}}),[N_]=h({name:"OnPlayerClickGangZone",beforeEach(e,t){return{player:m.getInstance(e),gangZone:N.getInstance(t,!0)}}}),[R_]=h({name:"OnPlayerClickPlayerGangZone",beforeEach(e,t){return{player:m.getInstance(e),gangZone:N.getInstance(t,!1)}}}),L_=Object.freeze({onPlayerEnterGlobal:E_,onPlayerLeaveGlobal:T_,onPlayerEnterPlayer:C_,onPlayerLeavePlayer:D_,onPlayerClickGlobal:N_,onPlayerClickPlayer:R_}),[K]=h({name:"Streamer_OnItemStreamIn",identifier:"iii",beforeEach(e,t,a){return{type:e,id:t,forPlayer:m.getInstance(a)}}}),[Z]=h({name:"Streamer_OnItemStreamOut",identifier:"iii",beforeEach(e,t,a){return{type:e,id:t,forPlayer:m.getInstance(a)}}}),[b_]=h({name:"Streamer_OnPluginError",identifier:"s",beforeEach(e){return{error:e}}});class C{constructor(){throw new Error("This is a static class and cannot be instantiated.")}static getTickRate=c.Streamer_GetTickRate;static setTickRate=c.Streamer_SetTickRate;static getPlayerTickRate(t){return c.Streamer_GetPlayerTickRate(t.id)}static setPlayerTickRate(t,a=50){return c.Streamer_SetPlayerTickRate(t.id,a)}static toggleChunkStream=c.Streamer_ToggleChunkStream;static isToggleChunkStream=c.Streamer_IsToggleChunkStream;static getChunkTickRate(t,a=-1){return a instanceof m?c.Streamer_GetChunkTickRate(t,a.id):c.Streamer_GetChunkTickRate(t,a)}static setChunkTickRate(t,a,n=-1){return n instanceof m?c.Streamer_SetChunkTickRate(t,a,n.id):c.Streamer_SetChunkTickRate(t,a,n)}static getChunkSize=c.Streamer_GetChunkSize;static setChunkSize=c.Streamer_SetChunkSize;static getMaxItems=c.Streamer_GetMaxItems;static setMaxItems=c.Streamer_SetMaxItems;static getVisibleItems(t,a=-1){return a instanceof m?c.Streamer_GetVisibleItems(t,a.id):c.Streamer_GetVisibleItems(t,a)}static setVisibleItems(t,a,n=-1){return n instanceof m?c.Streamer_SetVisibleItems(t,a,n.id):c.Streamer_SetVisibleItems(t,a,n)}static getRadiusMultiplier(t,a=-1){return a instanceof m?c.Streamer_GetRadiusMultiplier(t,a.id):c.Streamer_GetRadiusMultiplier(t,a)}static setRadiusMultiplier(t,a,n=-1){return n instanceof m?c.Streamer_SetRadiusMultiplier(t,n.id):c.Streamer_SetRadiusMultiplier(t,a,n)}static getTypePriority=c.Streamer_GetTypePriority;static setTypePriority=c.Streamer_SetTypePriority;static getCellDistance=c.Streamer_GetCellDistance;static setCellDistance=c.Streamer_SetCellDistance;static getCellSize=c.Streamer_GetCellSize;static setCellSize=c.Streamer_SetCellSize;static toggleItemStatic=c.Streamer_ToggleItemStatic;static isToggleItemStatic=c.Streamer_IsToggleItemStatic;static toggleItemInvAreas=c.Streamer_ToggleItemInvAreas;static isToggleItemInvAreas=c.Streamer_IsToggleItemInvAreas;static toggleItemCallbacks=c.Streamer_ToggleItemCallbacks;static isToggleItemCallbacks=c.Streamer_IsToggleItemCallbacks;static toggleErrorCallback=c.Streamer_ToggleErrorCallback;static isToggleErrorCallback=c.Streamer_IsToggleErrorCallback;static amxUnloadDestroyItems=c.Streamer_AmxUnloadDestroyItems;static processActiveItems=c.Streamer_ProcessActiveItems;static toggleIdleUpdate(t,a){return c.Streamer_ToggleIdleUpdate(t.id,a)}static isToggleIdleUpdate(t){return c.Streamer_IsToggleIdleUpdate(t.id)}static toggleCameraUpdate(t,a){return c.Streamer_ToggleCameraUpdate(t.id,a)}static isToggleCameraUpdate(t){return c.Streamer_IsToggleCameraUpdate(t.id)}static toggleItemUpdate(t,a,n){return c.Streamer_ToggleItemUpdate(t.id,a,n)}static isToggleItemUpdate(t,a){return c.Streamer_IsToggleItemUpdate(t.id,a)}static getLastUpdateTime(){return c.Streamer_GetLastUpdateTime()}static update(t,a=-1){return c.Streamer_Update(t.id,a)}static updateEx(t,a,n,i,r,s,l,d,_){return c.Streamer_UpdateEx(t.id,a,n,i,r,s,l,d,_)}static getDistanceToItem=c.Streamer_GetDistanceToItem;static toggleItem(t,a,n,i){return c.Streamer_ToggleItem(t.id,a,n,i)}static isToggleItem(t,a,n){return c.Streamer_IsToggleItem(t.id,a,n)}static toggleAllItems(t,a,n,i=[-1]){return c.Streamer_ToggleAllItems(t.id,a,n,i)}static getItemInternalID(t,a,n){return c.Streamer_GetItemInternalID(t.id,a,n)}static getItemStreamerID(t,a,n){return c.Streamer_GetItemStreamerID(t.id,a,n)}static isItemVisible(t,a,n){return c.Streamer_IsItemVisible(t.id,a,n)}static destroyAllVisibleItems(t,a,n=1){return c.Streamer_DestroyAllVisibleItems(t.id,a,n)}static countVisibleItems(t,a,n=1){return c.Streamer_CountVisibleItems(t.id,a,n)}static destroyAllItems=c.Streamer_DestroyAllItems;static countItems=c.Streamer_CountItems;static getNearbyItems=c.Streamer_GetNearbyItems;static getAllVisibleItems(t,a,n){return c.Streamer_GetAllVisibleItems(t.id,a,n)}static getItemPos=c.Streamer_GetItemPos;static setItemPos=c.Streamer_SetItemPos;static getItemOffset=c.Streamer_GetItemOffset;static setItemOffset=c.Streamer_SetItemOffset;static getFloatData=c.Streamer_GetFloatData;static setFloatData=c.Streamer_SetFloatData;static getIntData=c.Streamer_GetIntData;static setIntData=c.Streamer_SetIntData;static getArrayData=c.Streamer_GetArrayData;static setArrayData=c.Streamer_SetArrayData;static isInArrayData=c.Streamer_IsInArrayData;static appendArrayData=c.Streamer_AppendArrayData;static removeArrayData=c.Streamer_RemoveArrayData;static getArrayDataLength=c.Streamer_GetArrayDataLength;static getUpperBound=c.Streamer_GetUpperBound;static onPluginError=b_}class V{static mapIcons=new Map;sourceInfo;_id=-1;get id(){return this._id}constructor(t){this.sourceInfo=t}create(){if(this.id!==-1)return o.warn("[StreamerMapIcon]: Unable to create map icon again");let{style:t,streamDistance:a,worldId:n,interiorId:i,playerId:r,areaId:s,priority:l}=this.sourceInfo;const{x:d,y:_,z:p,type:g,color:S,extended:P}=this.sourceInfo;return g<0||g>63?o.error("[StreamerMapIcon]: Invalid map icon type"):(t??=c.MapIconStyles.LOCAL,a??=c.StreamerDistances.MAP_ICON_SD,l??=0,P?(typeof n=="number"?n=[-1]:n??=[-1],typeof i=="number"?i=[-1]:i??=[-1],typeof r=="number"?r=[-1]:r??=[-1],typeof s=="number"?s=[-1]:s??=[-1],this._id=c.CreateDynamicMapIconEx(d,_,p,g,I(S),t,a,n,i,r,s,l),V.mapIcons.set(this._id,this),this):(Array.isArray(n)?n=-1:n??=-1,Array.isArray(i)?i=-1:i??=-1,Array.isArray(r)?r=-1:r??=-1,Array.isArray(s)?s=-1:s??=-1,this._id=c.CreateDynamicMapIcon(d,_,p,g,I(S),n,i,r,a,t,s,l),V.mapIcons.set(this._id,this),this))}destroy(){return this.id===-1?o.warn("[StreamerMapIcon]: Unable to destroy the map icon before create"):(c.DestroyDynamicMapIcon(this.id),V.mapIcons.delete(this._id),this._id=-1,this)}isValid(){return c.IsValidDynamicMapIcon(this.id)}toggleCallbacks(t=!0){return this.id===-1?o.warn("[StreamerMapIcon]: Unable to toggle callbacks before create"):C.toggleItemCallbacks(c.StreamerItemTypes.MAP_ICON,this.id,t)}isToggleCallbacks(){return this.id,C.isToggleItemCallbacks(c.StreamerItemTypes.MAP_ICON,this.id)}static getInstance(t){return this.mapIcons.get(t)}static getInstances(){return[...this.mapIcons.values()]}}R.onExit(({next:e})=>(V.getInstances().forEach(t=>t.destroy()),e()));const[v_,w_]=h({name:"OnDynamicMapIconStreamIn",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}}),[O_,G_]=h({name:"OnDynamicMapIconStreamOut",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}});K(({type:e,id:t,forPlayer:a,next:n})=>e===c.StreamerItemTypes.MAP_ICON?w_(a,V.getInstance(t)):n()),Z(({type:e,id:t,forPlayer:a,next:n})=>e===c.StreamerItemTypes.MAP_ICON?G_(a,V.getInstance(t)):n());const B_=Object.freeze({onStreamIn:v_,onStreamOut:O_});class H{static pickups=new Map;sourceInfo;_id=-1;get id(){return this._id}constructor(t){this.sourceInfo=t}create(){if(this.id!==-1)return o.warn("[StreamerPickup]: Unable to create pickup again");let{streamDistance:t,worldId:a,interiorId:n,playerId:i,areaId:r,priority:s}=this.sourceInfo;const{type:l,modelId:d,x:_,y:p,z:g,extended:S}=this.sourceInfo;return l<0?o.error("[StreamerPickup]: Invalid pickup type"):(t??=u.StreamerDistances.PICKUP_SD,s??=0,S?(typeof a=="number"?a=[-1]:a??=[-1],typeof n=="number"?n=[-1]:n??=[-1],typeof i=="number"?i=[-1]:i??=[-1],typeof r=="number"?r=[-1]:r??=[-1],this._id=u.CreateDynamicPickupEx(d,l,_,p,g,t,a,n,i,r,s)):(Array.isArray(a)?a=-1:a??=-1,Array.isArray(n)?n=-1:n??=-1,Array.isArray(i)?i=-1:i??=-1,Array.isArray(r)?r=-1:r??=-1,this._id=u.CreateDynamicPickup(d,l,_,p,g,a,n,i,t,r,s)),H.pickups.set(this._id,this),this)}destroy(){return this.id===-1?o.warn("[StreamerPickup]: Unable to destroy the pickup before create"):(u.DestroyDynamicPickup(this.id),H.pickups.delete(this.id),this._id=-1,this)}isValid(){return u.IsValidDynamicPickup(this.id)}toggleCallbacks(t=!0){return this.id===-1?o.warn("[StreamerPickup]: Unable to toggle callbacks before create"):C.toggleItemCallbacks(u.StreamerItemTypes.PICKUP,this.id,t)}isToggleCallbacks(){return this.id,C.isToggleItemCallbacks(u.StreamerItemTypes.PICKUP,this.id)}static getInstance(t){return this.pickups.get(t)}static getInstances(){return[...this.pickups.values()]}}R.onExit(({next:e})=>(H.getInstances().forEach(t=>t.destroy()),e()));const[F_,k_]=h({name:"OnDynamicPickupStreamIn",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}}),[M_,x_]=h({name:"OnDynamicPickupStreamOut",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}});K(({type:e,id:t,forPlayer:a,next:n})=>e===c.StreamerItemTypes.PICKUP?k_(a,H.getInstance(t)):n()),Z(({type:e,id:t,forPlayer:a,next:n})=>e===c.StreamerItemTypes.PICKUP?x_(a,H.getInstance(t)):n());const[H_]=h({name:"OnPlayerPickUpDynamicPickup",identifier:"ii",beforeEach(e,t){return{player:m.getInstance(e),pickup:H.getInstance(t)}}}),V_=Object.freeze({onPlayerPickUp:H_,onStreamIn:F_,onStreamOut:M_});class B{static checkpoints=new Map;sourceInfo;_id=-1;get id(){return this._id}constructor(t){this.sourceInfo=t}create(){if(this.id!==-1)return o.warn("[StreamerCheckpoint]: Unable to create checkpoint again");let{streamDistance:t,worldId:a,interiorId:n,playerId:i,areaId:r,priority:s}=this.sourceInfo;const{size:l,x:d,y:_,z:p,extended:g}=this.sourceInfo;return l<0?o.error("[StreamerCheckpoint]: Invalid checkpoint size"):(t??=c.StreamerDistances.CP_SD,s??=0,g?(typeof a=="number"?a=[-1]:a??=[-1],typeof n=="number"?n=[-1]:n??=[-1],typeof i=="number"?i=[-1]:i??=[-1],typeof r=="number"?r=[-1]:r??=[-1],this._id=c.CreateDynamicCPEx(d,_,p,l,t,a,n,i,r,s)):(Array.isArray(a)?a=-1:a??=-1,Array.isArray(n)?n=-1:n??=-1,Array.isArray(i)?i=-1:i??=-1,Array.isArray(r)?r=-1:r??=-1,this._id=c.CreateDynamicCP(d,_,p,l,a,n,i,t,r,s)),B.checkpoints.set(this._id,this),this)}destroy(){return this.id===-1?o.warn("[StreamerCheckpoint]: Unable to destroy the checkpoint before create"):(c.DestroyDynamicCP(this.id),B.checkpoints.delete(this.id),this._id=-1,this)}isValid(){return c.IsValidDynamicCP(this.id)}togglePlayer(t,a){return this.id===-1?o.warn("[StreamerCheckpoint]: Unable to toggle the player before create"):(c.TogglePlayerDynamicCP(t.id,this.id,a),this)}static togglePlayerAll(t,a){return c.TogglePlayerAllDynamicCPs(t.id,a)}isPlayerIn(t){return this.id===-1?!1:c.IsPlayerInDynamicCP(t.id,this.id)}static getPlayerVisible(t){return B.checkpoints.get(c.GetPlayerVisibleDynamicCP(t.id))}toggleCallbacks(t=!0){return this.id===-1?o.warn("[StreamerCheckpoint]: Unable to toggle callbacks before create"):C.toggleItemCallbacks(c.StreamerItemTypes.CP,this.id,t)}isToggleCallbacks(){return this.id,C.isToggleItemCallbacks(c.StreamerItemTypes.CP,this.id)}static getInstance(t){return this.checkpoints.get(t)}static getInstances(){return[...this.checkpoints.values()]}}R.onExit(({next:e})=>(B.checkpoints.forEach(t=>t.destroy()),e()));const[U_,W_]=h({name:"OnDynamicCheckPointStreamIn",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}}),[K_,Z_]=h({name:"OnDynamicCheckPointStreamOut",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}});K(({type:e,id:t,forPlayer:a,next:n})=>e===c.StreamerItemTypes.CP?W_(a,B.getInstance(t)):n()),Z(({type:e,id:t,forPlayer:a,next:n})=>e===c.StreamerItemTypes.CP?Z_(a,B.getInstance(t)):n());const[j_]=h({name:"OnPlayerEnterDynamicCP",identifier:"ii",beforeEach(e,t){return{player:m.getInstance(e),cp:B.getInstance(t)}}}),[X_]=h({name:"OnPlayerLeaveDynamicCP",identifier:"ii",beforeEach(e,t){return{player:m.getInstance(e),cp:B.getInstance(t)}}}),Y_=Object.freeze({onPlayerEnter:j_,onPlayerLeave:X_,onStreamIn:U_,onStreamOut:K_});class F{static checkpoints=new Map;sourceInfo;_id=-1;get id(){return this._id}constructor(t){this.sourceInfo=t}create(){if(this.id!==-1)return o.warn("[StreamerRaceCP]: Unable to create checkpoint again");let{streamDistance:t,worldId:a,interiorId:n,playerId:i,areaId:r,priority:s}=this.sourceInfo;const{type:l,size:d,x:_,y:p,z:g,nextX:S,nextY:P,nextZ:E,extended:b}=this.sourceInfo;return l<0||l>8?o.error("[StreamerRaceCP]: Invalid type"):d<0?o.error("[StreamerRaceCP]: Invalid size"):(t??=c.StreamerDistances.RACE_CP_SD,s??=0,b?(typeof a=="number"?a=[-1]:a??=[-1],typeof n=="number"?n=[-1]:n??=[-1],typeof i=="number"?i=[-1]:i??=[-1],typeof r=="number"?r=[-1]:r??=[-1],this._id=c.CreateDynamicRaceCPEx(l,_,p,g,S,P,E,d,t,a,n,i,r,s)):(Array.isArray(a)?a=-1:a??=-1,Array.isArray(n)?n=-1:n??=-1,Array.isArray(i)?i=-1:i??=-1,Array.isArray(r)?r=-1:r??=-1,this._id=c.CreateDynamicRaceCP(l,_,p,g,S,P,E,d,a,n,i,t,r,s)),F.checkpoints.set(this._id,this),this)}destroy(){return this.id===-1?o.warn("[StreamerRaceCP]: Unable to destroy the checkpoint before create"):(c.DestroyDynamicCP(this.id),F.checkpoints.delete(this.id),this._id=-1,this)}isValid(){return c.IsValidDynamicCP(this.id)}togglePlayer(t,a){return this.id===-1?o.warn("[StreamerRaceCP]: Unable to toggle the player before create"):(c.TogglePlayerDynamicRaceCP(t.id,this.id,a),this)}static togglePlayerAll(t,a){return c.TogglePlayerAllDynamicRaceCPs(t.id,a)}isPlayerIn(t){return this.id===-1?!1:c.IsPlayerInDynamicRaceCP(t.id,this.id)}static getPlayerVisible(t){return F.checkpoints.get(c.GetPlayerVisibleDynamicRaceCP(t.id))}toggleCallbacks(t=!0){return this.id===-1?o.warn("[StreamerRaceCP]: Unable to toggle callbacks before create"):C.toggleItemCallbacks(c.StreamerItemTypes.RACE_CP,this.id,t)}isToggleCallbacks(){return this.id,C.isToggleItemCallbacks(c.StreamerItemTypes.RACE_CP,this.id)}static getInstance(t){return this.checkpoints.get(t)}static getInstances(){return[...this.checkpoints.values()]}}R.onExit(({next:e})=>(F.getInstances().forEach(t=>t.destroy()),e()));const[z_,$_]=h({name:"OnDynamicRaceCPStreamIn",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}}),[J_,Q_]=h({name:"OnDynamicRaceCPStreamOut",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}});K(({type:e,id:t,forPlayer:a,next:n})=>e===c.StreamerItemTypes.RACE_CP?$_(a,F.getInstance(t)):n()),Z(({type:e,id:t,forPlayer:a,next:n})=>e===c.StreamerItemTypes.RACE_CP?Q_(a,F.getInstance(t)):n());const[q_]=h({name:"OnPlayerEnterDynamicRaceCP",identifier:"ii",beforeEach(e,t){return{player:m.getInstance(e),raceCP:F.getInstance(t)}}}),[eh]=h({name:"OnPlayerLeaveDynamicRaceCP",identifier:"ii",beforeEach(e,t){return{player:m.getInstance(e),raceCp:F.getInstance(t)}}}),th=Object.freeze({onPlayerEnter:q_,onPlayerLeave:eh,onStreamIn:z_,onStreamOut:J_});class k{static actors=new Map;sourceInfo;_id=-1;get id(){return this._id}constructor(t){this.sourceInfo=t}create(){if(this.id!==-1)return o.warn("[StreamerActor]: Unable to create actor again");let{streamDistance:t,worldId:a,interiorId:n,playerId:i,areaId:r,priority:s}=this.sourceInfo;const{modelId:l,x:d,y:_,z:p,r:g,invulnerable:S,health:P,extended:E}=this.sourceInfo;return t??=u.StreamerDistances.ACTOR_SD,s??=0,E?(typeof a=="number"?a=[0]:a??=[0],typeof n=="number"?n=[-1]:n??=[-1],typeof i=="number"?i=[-1]:i??=[-1],typeof r=="number"?r=[-1]:r??=[-1],this._id=u.CreateDynamicActorEx(l,d,_,p,g,S,P,t,a,n,i,r,s)):(Array.isArray(a)?a=0:a??=0,Array.isArray(n)?n=-1:n??=-1,Array.isArray(i)?i=-1:i??=-1,Array.isArray(r)?r=-1:r??=-1,this._id=u.CreateDynamicActor(l,d,_,p,g,S,P,a,n,i,t,r,s)),k.actors.set(this.id,this),this}destroy(){return this.id===-1?o.warn("[StreamerActor]: Unable to destroy the actor before create"):(u.DestroyDynamicActor(this.id),k.actors.delete(this.id),this._id=-1,this)}isValid(){return u.IsValidDynamicActor(this.id)}isStreamedIn(t){return this.id===-1?!1:u.IsDynamicActorStreamedIn(this.id,t.id)}getVirtualWorld(){return this.id===-1?o.warn("[StreamerActor]: Unable to get virtual world before create"):u.GetDynamicActorVirtualWorld(this.id)}setVirtualWorld(t){return this.id===-1?o.warn("[StreamerActor]: Unable to set virtual world before create"):u.SetDynamicActorVirtualWorld(this.id,t)}applyAnimation(t,a,n=!1,i=!0,r=!0,s=!1){if(this.id===-1)return o.warn("[StreamerActor]: Unable to apply animation before create");const l=$e(t,a);return l===void 0?o.error("[StreamerActor]: Invalid anim library or name"):u.ApplyDynamicActorAnimation(this.id,t,a,4.1,n,i,r,s,n?0:l)}clearAnimations(){return this.id===-1?o.warn("[StreamerActor]: Unable to clear animation before create"):u.ClearDynamicActorAnimations(this.id)}getFacingAngle(){return this.id===-1?o.warn("[StreamerActor]: Unable to get facing angle before create"):u.GetDynamicActorFacingAngle(this.id)}setFacingAngle(t){return this.id===-1?o.warn("[StreamerActor]: Unable to set facing angle before create"):u.SetDynamicActorFacingAngle(this.id,t)}getPos(){return this.id===-1?o.warn("[StreamerActor]: Unable to get pos before create"):u.GetDynamicActorPos(this.id)}setPos(t,a,n){return this.id===-1?o.warn("[StreamerActor]: Unable to set pos before create"):u.SetDynamicActorPos(this.id,t,a,n)}getHealth(){return this.id===-1?o.warn("[StreamerActor]: Unable to get health before create"):u.GetDynamicActorHealth(this.id)}setHealth(t){return this.id===-1?o.warn("[StreamerActor]: Unable to set health before create"):u.SetDynamicActorHealth(this.id,t)}isInvulnerable(){return this.id===-1?!1:u.IsDynamicActorInvulnerable(this.id)}setInvulnerable(t=!0){return this.id===-1?o.warn("[StreamerActor]: Unable to set invulnerable before create"):u.SetDynamicActorInvulnerable(this.id,t)}getPlayerTarget(t){if(this.id===-1)return;const a=u.GetPlayerTargetDynamicActor(t.id);return k.actors.get(a)}getPlayerCameraTarget(t){if(this.id===-1)return;const a=u.GetPlayerCameraTargetDynActor(t.id);return k.actors.get(a)}getSkin(){return this.id===-1?o.warn("[StreamerActor]: Unable to get skin before create"):Nr(this.id)}setSkin(t,a=!1){return this.id===-1?o.warn("[StreamerActor]: Unable to set skin before create"):!a&&(t<0||t>311||t==74)?0:Rr(this.id,t)}getSpawnInfo(){return this.id===-1?o.warn("[StreamerActor]: Unable to get spawn info before create"):Lr(this.id)}getAnimation(){return this.id===-1?o.warn("[StreamerActor]: Unable to get animation before create"):u.GetDynamicActorAnimation(this.id)}toggleCallbacks(t=!0){return this.id===-1?o.warn("[StreamerActor]: Unable to toggle callbacks before create"):C.toggleItemCallbacks(u.StreamerItemTypes.ACTOR,this.id,t)}isToggleCallbacks(){return this.id,C.isToggleItemCallbacks(u.StreamerItemTypes.ACTOR,this.id)}static getInstance(t){return this.actors.get(t)}static getInstances(){return[...this.actors.values()]}}R.onExit(({next:e})=>(k.getInstances().forEach(t=>t.destroy()),e()));const[ah]=h({name:"OnDynamicActorStreamIn",identifier:"ii",beforeEach(e,t){return{actor:k.getInstance(e),forPlayer:m.getInstance(t)}}}),[nh]=h({name:"OnDynamicActorStreamOut",identifier:"ii",beforeEach(e,t){return{actor:k.getInstance(e),forPlayer:m.getInstance(t)}}}),[ih]=h({name:"OnPlayerGiveDamageDynamicActor",identifier:"iiiii",beforeEach(e,t,a,n,i){return{player:m.getInstance(e),actor:k.getInstance(t),amount:a,weapon:n,bodyPart:i}}}),rh=Object.freeze({onStreamIn:ah,onStreamOut:nh,onPlayerGiveDamage:ih});class j{static texts=new Map;sourceInfo;_id=-1;get id(){return this._id}constructor(t){this.sourceInfo=t}create(){if(this.id!==-1)return o.warn("[Streamer3DTextLabel]: Unable to create again");let{attachedPlayer:t,attachedVehicle:a,testLos:n,streamDistance:i,worldId:r,interiorId:s,playerId:l,areaId:d,priority:_}=this.sourceInfo;const{charset:p,text:g,color:S,drawDistance:P,x:E,y:b,z:M,extended:ee}=this.sourceInfo;return t??=T.PLAYER_ID,a??=T.VEHICLE_ID,i??=c.StreamerDistances.TEXT_3D_LABEL_SD,n??=!1,_??=0,ee?(typeof r=="number"?r=[-1]:r??=[-1],typeof s=="number"?s=[-1]:s??=[-1],typeof l=="number"?l=[-1]:l??=[-1],typeof d=="number"?d=[-1]:d??=[-1],this._id=lc(g,I(S),E,b,M,P,t,a,n,i,r,s,l,d,_,p||"utf8")):(Array.isArray(r)?r=-1:r??=-1,Array.isArray(s)?s=-1:s??=-1,Array.isArray(l)?l=-1:l??=-1,Array.isArray(d)?d=-1:d??=-1,this._id=sc(p||"utf8",g,I(S),E,b,M,P,t,a,n,r,s,l,i,d,_)),j.texts.set(this.id,this),this}destroy(){return this.id===-1?o.warn("[Streamer3DTextLabel]: Unable to destroy before create"):(c.DestroyDynamic3DTextLabel(this.id),j.texts.delete(this.id),this._id=-1,this)}isValid(){return c.IsValidDynamic3DTextLabel(this.id)}getColor(){return this.id===-1?o.warn("[Streamer3DTextLabel]: Unable to get color before create"):this.sourceInfo.color}getCharset(){return this.id===-1?o.warn("[Streamer3DTextLabel]: Unable to get charset before create"):this.sourceInfo.charset}getText(){return this.id===-1?o.warn("[Streamer3DTextLabel]: Unable to get text before create"):dc(this.id,this.sourceInfo.charset||"utf8")}updateText(t,a,n=this.sourceInfo.charset){return this.id===-1?o.warn("[Streamer3DTextLabel]: Unable to update text before create"):(this.sourceInfo.charset=n,oc(this.id,I(t),a,n||"utf8"))}toggleCallbacks(t=!0){return this.id===-1?o.warn("[Streamer3DTextLabel]: Unable to toggle callbacks before create"):C.toggleItemCallbacks(c.StreamerItemTypes.TEXT_3D_LABEL,this.id,t)}isToggleCallbacks(){return this.id,C.isToggleItemCallbacks(c.StreamerItemTypes.TEXT_3D_LABEL,this.id)}static getInstance(t){return this.texts.get(t)}static getInstances(){return[...this.texts.values()]}}R.onExit(({next:e})=>(j.getInstances().forEach(t=>t.destroy()),e()));const[sh,lh]=h({name:"OnDynamic3dTextStreamIn",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}}),[oh,dh]=h({name:"OnDynamic3dTextStreamOut",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}});K(({type:e,id:t,forPlayer:a,next:n})=>e===c.StreamerItemTypes.TEXT_3D_LABEL?lh(a,j.getInstance(t)):n()),Z(({type:e,id:t,forPlayer:a,next:n})=>e===c.StreamerItemTypes.TEXT_3D_LABEL?dh(a,j.getInstance(t)):n());const ch=Object.freeze({onStreamIn:sh,onStreamOut:oh});class v{static objects=new Map;sourceInfo;_id=-1;get id(){return this._id}constructor(t){this.sourceInfo=t}create(){if(this.id!==-1)return o.warn("[StreamerObject]: Unable to create object again");let{streamDistance:t,drawDistance:a,worldId:n,interiorId:i,playerId:r,areaId:s,priority:l}=this.sourceInfo;const{modelId:d,x:_,y:p,z:g,rx:S,ry:P,rz:E,extended:b}=this.sourceInfo;return t??=u.StreamerDistances.OBJECT_SD,a??=u.StreamerDistances.OBJECT_DD,l??=0,b?(typeof n=="number"?n=[-1]:n??=[-1],typeof i=="number"?i=[-1]:i??=[-1],typeof r=="number"?r=[-1]:r??=[-1],typeof s=="number"?s=[-1]:s??=[-1],this._id=u.CreateDynamicObjectEx(d,_,p,g,S,P,E,t,a,n,i,r,s,l)):(Array.isArray(n)?n=-1:n??=-1,Array.isArray(i)?i=-1:i??=-1,Array.isArray(r)?r=-1:r??=-1,Array.isArray(s)?s=-1:s??=-1,this._id=u.CreateDynamicObject(d,_,p,g,S,P,E,n,i,r,t,a,s,l)),v.objects.set(this._id,this),this}destroy(){return this.id===-1?o.warn("[StreamerObject]: Unable to destroy the object before create"):(u.DestroyDynamicObject(this.id),v.objects.delete(this.id),this._id=-1,this)}isValid(){return u.IsValidDynamicObject(this.id)}getModel(){return this.sourceInfo.modelId}getPos(){return this.id===-1?o.warn("[StreamerObject]: Cannot get position before create"):u.GetDynamicObjectPos(this.id)}setPos(t,a,n){return this.id===-1?o.warn("[StreamerObject]: Cannot set position before create"):u.SetDynamicObjectPos(this.id,t,a,n)}getRot(){return this.id===-1?o.warn("[StreamerObject]: Cannot get rotation before create"):u.GetDynamicObjectRot(this.id)}setRot(t,a,n){return this.id===-1?o.warn("[StreamerObject]: Cannot set rotation before create"):u.SetDynamicObjectRot(this.id,t,a,n)}move(t,a,n,i,r=-1e3,s=-1e3,l=-1e3){return this.id===-1?o.warn("[StreamerObject]: Cannot start moving before create"):i<0?o.warn("[StreamerObject]: speed must not be less than 0"):(i>120*1e3&&o.warn("[StreamerObject]: speed more than 120 seconds, warn if it's not intentional"),this.isMoving()&&this.stop(),u.MoveDynamicObject(this.id,t,a,n,i,r,s,l))}stop(){return this.id===-1?o.warn("[StreamerObject]: Cannot stop moving before create"):u.StopDynamicObject(this.id)}isMoving(){return this.id===-1?!1:u.IsDynamicObjectMoving(this.id)}attachCamera(t){return this.id===-1||t.id===-1?o.warn("[StreamerObject]: Cannot attachCamera before both are created"):u.AttachCameraToDynamicObject(t.id,this.id)}attachToObject(t,a,n,i,r,s,l,d=!0){return this.id===-1||t.id===-1?o.warn("[StreamerObject]: Cannot attachToObject before both are created"):u.AttachDynamicObjectToObject(this.id,t.id,a,n,i,r,s,l,d)}attachToPlayer(t,a,n,i,r,s,l){return this.id===-1||t.id===-1?o.warn("[StreamerObject]: Cannot attachToVehicle before both are created"):u.AttachDynamicObjectToPlayer(this.id,t.id,a,n,i,r,s,l)}attachToVehicle(t,a,n,i,r,s,l){return this.id===-1||t.id===-1?o.warn("[StreamerObject]: Cannot attachToVehicle before both are created"):u.AttachDynamicObjectToVehicle(this.id,t.id,a,n,i,r,s,l)}edit(t){return this.id===-1?o.warn("[StreamerObject]: Unable to edit before create"):(t.endObjectEditing(),u.EditDynamicObject(t.id,this.id))}isMaterialUsed(t){return this.id===-1?!1:u.IsDynamicObjectMaterialUsed(this.id,t)}removeMaterial(t){return this.id===-1||!this.isMaterialUsed(t)?0:u.RemoveDynamicObjectMaterial(this.id,t)}getMaterial(t,a,n){return this.id===-1?o.warn("[StreamerObject]: Unable to get material before create"):u.GetDynamicObjectMaterial(this.id,t,a,n)}setMaterial(t,a,n,i,r="#000"){return this.id===-1?o.warn("[StreamerObject]: Unable to set material before create"):u.SetDynamicObjectMaterial(this.id,t,a,n,i,I(r))}isMaterialTextUsed(t){return this.id===-1?!1:u.IsDynamicObjectMaterialTextUsed(this.id,t)}removeMaterialText(t){return this.isMaterialTextUsed(t)?u.RemoveDynamicObjectMaterialText(this.id,t):0}getMaterialText(t){return this.id===-1?o.warn("[StreamerObject]: Unable to get material text before create"):_c(this.id,t,this.sourceInfo.charset||"utf8")}setMaterialText(t=this.sourceInfo.charset,a,n,i=u.MaterialTextSizes.SIZE_256x128,r="Arial",s=24,l=1,d="#fff",_="#000",p=0){return this.id===-1?o.warn("[StreamerObject]: Unable to set material text before create"):(this.sourceInfo.charset=t,cc(t||"utf8",this.id,a,n,i,r,s,l,I(d),I(_),p))}getPlayerCameraTarget(t){const a=u.GetPlayerCameraTargetDynObject(t.id);if(a!==T.OBJECT_ID)return v.objects.get(a)}toggleCallbacks(t=!0){return this.id===-1?o.warn("[StreamerObject]: Unable to toggle callbacks before create"):C.toggleItemCallbacks(u.StreamerItemTypes.OBJECT,this.id,t)}isToggleCallbacks(){return this.id,C.isToggleItemCallbacks(u.StreamerItemTypes.OBJECT,this.id)}setNoCameraCollision(){return u.SetDynamicObjectNoCameraCol(this.id)}getNoCameraCollision(){return u.GetDynamicObjectNoCameraCol(this.id)}static getInstance(t){return this.objects.get(t)}static getInstances(){return[...this.objects.values()]}}R.onExit(({next:e})=>(v.getInstances().forEach(t=>t.destroy()),e()));const[_h,hh]=h({name:"OnDynamicObjectStreamIn",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}}),[uh,mh]=h({name:"OnDynamicObjectStreamOut",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}});K(({type:e,id:t,forPlayer:a,next:n})=>e===c.StreamerItemTypes.OBJECT?hh(a,v.getInstance(t)):n()),Z(({type:e,id:t,forPlayer:a,next:n})=>e===c.StreamerItemTypes.OBJECT?mh(a,v.getInstance(t)):n());const[ph]=h({name:"OnDynamicObjectMoved",identifier:"i",beforeEach(e){return{object:v.getInstance(e)}}}),[gh]=h({name:"OnPlayerEditDynamicObject",identifier:"iiiiiiiii",beforeEach(e,t,a,n,i,r,s,l,d){return{player:m.getInstance(e),object:v.getInstance(t),response:a,x:n,y:i,z:r,rX:s,rY:l,rZ:d}}}),[Sh]=h({name:"OnPlayerSelectDynamicObject",identifier:"iiiiii",beforeEach(e,t,a,n,i,r){return{player:m.getInstance(e),object:v.getInstance(t),modelId:a,x:n,y:i,z:r}}}),[yh]=h({name:"OnPlayerShootDynamicObject",identifier:"iiiiii",beforeEach(e,t,a,n,i,r){return{player:m.getInstance(e),object:v.getInstance(a),weapon:t,x:n,y:i,z:r}}}),[Ih]=h({name:"OnPlayerEditAttachedObject",beforeEach(e,t,a,n,i,r,s,l,d,_,p,g,S,P){return{player:m.getInstance(e),response:t,index:a,modelId:n,boneId:i,fOffsetX:r,fOffsetY:s,fOffsetZ:l,fRotX:d,fRotY:_,fRotZ:p,fScaleX:g,fScaleY:S,fScaleZ:P}}}),Ph=Object.freeze({onMoved:ph,onPlayerEdit:gh,onPlayerSelect:Sh,onPlayerShoot:yh,onPlayerEditAttached:Ih,onStreamIn:_h,onStreamOut:uh});class L{static areas=new Map;sourceInfo;_id=-1;get type(){return this.sourceInfo.type}get id(){return this._id}constructor(t){this.sourceInfo=t}create(){if(this.id!==-1)return o.warn("[StreamerArea]: Unable to create area again");let{worldId:t,interiorId:a,playerId:n}=this.sourceInfo;const{type:i,extended:r}=this.sourceInfo;if(r)if(typeof t=="number"?t=[-1]:t??=[-1],typeof a=="number"?a=[-1]:a??=[-1],typeof n=="number"?n=[-1]:n??=[-1],i==="circle"){const{x:s,y:l,size:d}=this.sourceInfo;if(d<0)return o.error("[StreamerArea]: Invalid circle extend size");this._id=u.CreateDynamicCircleEx(s,l,d,t,a,n)}else if(i==="cuboid"){const{minX:s,minY:l,minZ:d,maxX:_,maxY:p,maxZ:g}=this.sourceInfo;this._id=u.CreateDynamicCuboidEx(s,l,d,_,p,g,t,a,n)}else if(i==="cylinder"){const{x:s,y:l,minZ:d,maxZ:_,size:p}=this.sourceInfo;if(p<0)return o.error("[StreamerArea]: Invalid cylinder extend size");this._id=u.CreateDynamicCylinderEx(s,l,d,_,p,t,a,n)}else if(i==="polygon"){const{points:s,minZ:l,maxZ:d}=this.sourceInfo;if(s.length%2!==0)return o.warn("[StreamerArea]: Unable to create polygon extended with asymmetrical points");this._id=u.CreateDynamicPolygonEx(s,l,d,t,a,n)}else if(i==="rectangle"){const{minX:s,minY:l,maxX:d,maxY:_}=this.sourceInfo;this._id=u.CreateDynamicRectangleEx(s,l,d,_,t,a,n)}else{const{x:s,y:l,z:d,size:_}=this.sourceInfo;if(_<0)return o.error("[StreamerArea]: Invalid sphere extended size");this._id=u.CreateDynamicSphereEx(s,l,d,_,t,a,n)}else if(Array.isArray(t)?t=-1:t??=-1,Array.isArray(a)?a=-1:a??=-1,Array.isArray(n)?n=-1:n??=-1,i==="circle"){const{x:s,y:l,size:d}=this.sourceInfo;if(d<0)return o.error("[StreamerArea]: Invalid circle size");this._id=u.CreateDynamicCircle(s,l,d,t,a,n)}else if(i==="cuboid"){const{minX:s,minY:l,minZ:d,maxX:_,maxY:p,maxZ:g}=this.sourceInfo;this._id=u.CreateDynamicCuboid(s,l,d,_,p,g,t,a,n)}else if(i==="cylinder"){const{x:s,y:l,minZ:d,maxZ:_,size:p}=this.sourceInfo;if(p<0)return o.error("[StreamerArea]: Invalid cylinder size");this._id=u.CreateDynamicCylinder(s,l,d,_,p,t,a,n)}else if(i==="polygon"){const{points:s,minZ:l,maxZ:d}=this.sourceInfo;if(s.length%2!==0)return o.warn("[StreamerArea]: Unable to create polygon with asymmetrical points");this._id=u.CreateDynamicPolygon(s,l,d,t,a,n)}else if(i==="rectangle"){const{minX:s,minY:l,maxX:d,maxY:_}=this.sourceInfo;this._id=u.CreateDynamicRectangle(s,l,d,_,t,a,n)}else{const{x:s,y:l,z:d,size:_}=this.sourceInfo;if(_<0)return o.error("[StreamerArea]: Invalid sphere size");this._id=u.CreateDynamicSphere(s,l,d,_,t,a,n)}return L.areas.set(this._id,this),this}destroy(){return this.id===-1?o.warn("[StreamerArea]: Unable to destroy the area before create"):(u.DestroyDynamicArea(this.id),L.areas.delete(this.id),this._id=-1,this)}isValid(){return this.id===-1?!1:u.IsValidDynamicArea(this.id)}getType(){return this.id!==-1?o.warn("[StreamerArea]: Unable to get type before create"):u.GetDynamicAreaType(this.id)}getPolygonPoints(){if(this.id!==-1)return o.warn("[StreamerArea]: Unable to get polygon points before create");if(this.type==="polygon")return u.GetDynamicPolygonPoints(this.id)}getPolygonNumberPoints(){if(this.id!==-1)return o.warn("[StreamerArea]: Unable to get polygon points number before create");if(this.type==="polygon")return u.GetDynamicPolygonNumberPoints(this.id)}isPlayerIn(t,a=!1){return this.id===-1?!1:u.IsPlayerInDynamicArea(t.id,this.id,a)}static isPlayerInAny(t,a=!1){return u.IsPlayerInAnyDynamicArea(t.id,a)}isAnyPlayerIn(t=!1){return this.id===-1?!1:u.IsAnyPlayerInDynamicArea(this.id,t)}static isAnyPlayerInAny(t=!1){return u.IsAnyPlayerInAnyDynamicArea(t)}static getPlayerAreas(t){return L.getPlayerAreasNumber(t)?u.GetPlayerDynamicAreas(t.id).map(a=>L.areas.get(a)):[]}static getPlayerAreasNumber(t){return u.GetPlayerNumberDynamicAreas(t.id)}isPointIn(t,a,n){return this.id===-1?!1:u.IsPointInDynamicArea(this.id,t,a,n)}static isPointInAny(t,a,n){return u.IsPointInAnyDynamicArea(t,a,n)}isLineIn(t,a,n,i,r,s){return this.id===-1?!1:u.IsLineInDynamicArea(this.id,t,a,n,i,r,s)}static isLineInAny(t,a,n,i,r,s){return u.IsLineInAnyDynamicArea(t,a,n,i,r,s)}static getForPoint(t,a,n){return L.getNumberForPoint(t,a,n)?u.GetDynamicAreasForPoint(t,a,n).map(i=>L.getInstance(i)):[]}static getNumberForPoint(t,a,n){return u.GetNumberDynamicAreasForPoint(t,a,n)}static getForLine(t,a,n,i,r,s){return L.getNumberForLine(t,a,n,i,r,s)?u.GetDynamicAreasForLine(t,a,n,i,r,s).map(l=>L.areas.get(l)):[]}static getNumberForLine(t,a,n,i,r,s){return u.GetNumberDynamicAreasForLine(t,a,n,i,r,s)}attachToObject(t,a=0,n=0,i=0){return this.id===-1||t.id===-1?o.warn("[StreamerArea]: Unable to toggle attach to object before create"):u.AttachDynamicAreaToObject(this.id,t.id,u.StreamerObjectTypes.DYNAMIC,T.PLAYER_ID,a,n,i)}attachToPlayer(t,a=0,n=0,i=0){return this.id===-1||t.id===-1?o.warn("[StreamerArea]: Unable to toggle attach to player before create"):u.AttachDynamicAreaToPlayer(this.id,t.id,a,n,i)}attachToVehicle(t,a=0,n=0,i=0){return this.id===-1||t.id===-1?o.warn("[StreamerArea]: Unable to toggle attach to vehicle before create"):u.AttachDynamicAreaToVehicle(this.id,t.id,a,n,i)}toggleSpectateMode(t){return this.id===-1?o.warn("[StreamerArea]: Unable to toggle specate mode before create"):u.ToggleDynAreaSpectateMode(this.id,t)}isToggleSpectateMode(){return this.id===-1?!1:u.IsToggleDynAreaSpectateMode(this.id)}toggleCallbacks(t=!0){return this.id===-1?o.warn("[StreamerArea]: Unable to toggle callbacks before create"):C.toggleItemCallbacks(u.StreamerItemTypes.AREA,this.id,t)}isToggleCallbacks(){return this.id,C.isToggleItemCallbacks(u.StreamerItemTypes.AREA,this.id)}static getInstance(t){return this.areas.get(t)}static getInstances(){return[...this.areas.values()]}}R.onExit(({next:e})=>(L.getInstances().forEach(t=>t.destroy()),e()));const[fh,Ah]=h({name:"OnDynamicAreaStreamIn",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}}),[Eh,Th]=h({name:"OnDynamicAreaStreamOut",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}});K(({type:e,id:t,forPlayer:a,next:n})=>e===c.StreamerItemTypes.AREA?Ah(a,L.getInstance(t)):n()),Z(({type:e,id:t,forPlayer:a,next:n})=>e===c.StreamerItemTypes.AREA?Th(a,L.getInstance(t)):n());const[Ch]=h({name:"OnPlayerEnterDynamicArea",identifier:"ii",beforeEach(e,t){return{player:m.getInstance(e),area:L.getInstance(t)}}}),[Dh]=h({name:"OnPlayerLeaveDynamicArea",identifier:"ii",beforeEach(e,t){return{player:m.getInstance(e),area:L.getInstance(t)}}}),Nh=Object.freeze({onStreamIn:fh,onStreamOut:Eh,onPlayerEnter:Ch,onPlayerLeave:Dh});class y{static globalTextDraws=new Map;static playerTextDraws=new Map;sourceInfo;_id=-1;get id(){return this._id}constructor(t){this.sourceInfo=t}create(){if(this.id!==-1)return o.warn("[TextDraw]: Unable to create the textdraw again");const{x:t,y:a,text:n,player:i}=this.sourceInfo;if(i){if(y.getInstances(!1).length===w.MAX_TEXT_DRAWS)return o.warn("[TextDraw]: Unable to continue to create textdraw, maximum allowable quantity has been reached");this._id=Id(i.id,t,a,n);const r=ue.onDisconnect(({player:s,next:l})=>{const d=l();return s===i&&(this.destroy(),r()),d});y.playerTextDraws.set(this.id,this)}else{if(y.getInstances(!0).length===w.MAX_TEXT_DRAWS)return o.warn("[TextDraw]: Unable to continue to create textdraw, maximum allowable quantity has been reached");this._id=Lo(t,a,n),y.globalTextDraws.set(this.id,this)}return this}destroy(){if(this.id===-1)return y.beforeCreateWarn("destroy the textdraw");const{player:t}=this.sourceInfo;return t?(Pd(t.id,this.id),y.playerTextDraws.delete(this.id)):(bo(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?bd(a.id,this.id,t):Ho(this.id,t),this}setColor(t){if(this.id===-1)return y.beforeCreateWarn("set color"),this;const{player:a}=this.sourceInfo;return a?Td(a.id,this.id,t):Go(this.id,t),this}setBoxColors(t){if(this.id===-1)return y.beforeCreateWarn("set box color"),this;const{player:a}=this.sourceInfo;return a?Dd(a.id,this.id,t):Fo(this.id,t),this}setBackgroundColors(t){if(this.id===-1)return y.beforeCreateWarn("set background color"),this;const{player:a}=this.sourceInfo;return a?Ld(a.id,this.id,t):xo(this.id,t),this}setAlignment(t){if(this.id===-1)return y.beforeCreateWarn("set alignment"),this;const{player:a}=this.sourceInfo;return a?Ed(a.id,this.id,t):Oo(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?fd(n.id,this.id,t,a):vo(this.id,t,a),this}setOutline(t){if(this.id===-1)return y.beforeCreateWarn("set outline model"),this;if(t<0)return o.warn("[TextDraw]: Invalid outline value"),this;const{player:a}=this.sourceInfo;return a?Rd(a.id,this.id,t):Mo(this.id,t),this}setPreviewModel(t){if(this.id===-1)return y.beforeCreateWarn("set preview model"),this;this.setFont(Q.MODEL_PREVIEW);const{player:a}=this.sourceInfo;return a?Fd(a.id,this.id,t):Yo(this.id,t),this}setPreviewRot(t,a,n,i=1){if(this.id===-1)return y.beforeCreateWarn("set preview rot"),this;this.setFont(Q.MODEL_PREVIEW);const{player:r}=this.sourceInfo;return r?kd(r.id,this.id,t,a,n,i):zo(this.id,t,a,n,i),this}setPreviewVehColors(t,a){if(this.id===-1)return y.beforeCreateWarn("set preview veh col"),this;this.setFont(Q.MODEL_PREVIEW);const{player:n}=this.sourceInfo;return n?Md(n.id,this.id,t,a):$o(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?vd(a.id,this.id,t):Vo(this.id,t),this}setSelectable(t){if(this.id===-1)return y.beforeCreateWarn("set Selectable"),this;const{player:a}=this.sourceInfo;return a?wd(a.id,this.id,t):Uo(this.id,t),this}setShadow(t){if(this.id===-1)return y.beforeCreateWarn("set shadow"),this;if(t<0)return o.warn("[TextDraw]: Invalid shadow value"),this;const{player:a}=this.sourceInfo;return a?Nd(a.id,this.id,t):ko(this.id,t),this}setString(t,a){if(this.id===-1)return y.beforeCreateWarn("set string"),this;if(t.length===0||t.length>1024)return o.warn("[TextDraw]: Invalid text length"),this;const{player:n}=this.sourceInfo;return n?Bd(n.id,this.id,t):a?Ro(this.id,a.id,t):Xo(this.id,t),this}setTextSize(t,a){if(this.id===-1)return y.beforeCreateWarn("set TextSize"),this;const{player:n}=this.sourceInfo;return n?Ad(n.id,this.id,t,a):wo(this.id,t,a),this}useBox(t){if(this.id===-1)return y.beforeCreateWarn("set TextSize"),this;const{player:a}=this.sourceInfo;return a?Cd(a.id,this.id,t):Bo(this.id,t),this}static beforeCreateWarn(t){o.warn(`[TextDraw]: Unable to ${t} before create`)}show(t){if(this.id===-1)return y.beforeCreateWarn("show"),this;const a=this.sourceInfo.player;if(a)Od(a.id,this.id);else if(t)Wo(t.id,this.id);else return o.warn("[TextDraw]: invalid player for show"),this;return this}hide(t){if(this.id===-1)return y.beforeCreateWarn("hide"),this;const a=this.sourceInfo.player;if(a)Gd(a.id,this.id);else if(t)Ko(t.id,this.id);else return o.warn("[TextDraw]: invalid player for hide"),this;return this}showAll(){return this.id===-1?(y.beforeCreateWarn("show"),this):this.sourceInfo.player?(o.warn("[TextDraw]: player's textdraw should not be show for all."),this):(Zo(this.id),this)}hideAll(){return this.id===-1?(y.beforeCreateWarn("hideAll"),this):this.sourceInfo.player?(o.warn("[TextDraw]: player's textdraw should not be hide for all."),this):(jo(this.id),this)}isValid(){const t=this.sourceInfo.player;return t?qo(t.id,this.id):lo(this.id)}isVisibleForPlayer(t){if(this.id===-1)return!1;const{player:a}=this.sourceInfo;return a?ed(a.id,this.id):t?oo(t.id,this.id):!1}getString(){if(this.id===-1)return this.sourceInfo.text;const t=this.sourceInfo.player;return t?td(t.id,this.id):co(this.id)}setPos(t,a){if(this.id===-1)return y.beforeCreateWarn("set position"),this;const n=this.sourceInfo.player;return n?ad(n.id,this.id,t,a):_o(this.id,t,a),this}getLetterSize(){if(this.id===-1)return y.beforeCreateWarn("get letter size");const t=this.sourceInfo.player;return t?nd(t.id,this.id):ho(this.id)}getTextSize(){if(this.id===-1)return y.beforeCreateWarn("get text size");const t=this.sourceInfo.player;return t?id(t.id,this.id):uo(this.id)}getPos(){if(this.id===-1)return y.beforeCreateWarn("get position");const t=this.sourceInfo.player;return t?rd(t.id,this.id):mo(this.id)}getColor(){if(this.id===-1)return y.beforeCreateWarn("get color");const t=this.sourceInfo.player;return t?sd(t.id,this.id):po(this.id)}getBoxColor(){if(this.id===-1)return y.beforeCreateWarn("get box color");const t=this.sourceInfo.player;return t?ld(t.id,this.id):go(this.id)}getBackgroundColor(){if(this.id===-1)return y.beforeCreateWarn("get bg color");const t=this.sourceInfo.player;return t?od(t.id,this.id):So(this.id)}getShadow(){if(this.id===-1)return y.beforeCreateWarn("get shadow");const t=this.sourceInfo.player;return t?dd(t.id,this.id):yo(this.id)}getOutline(){if(this.id===-1)return y.beforeCreateWarn("get outline");const t=this.sourceInfo.player;return t?cd(t.id,this.id):Io(this.id)}getFont(){if(this.id===-1)return y.beforeCreateWarn("get font");const t=this.sourceInfo.player;return t?_d(t.id,this.id):Po(this.id)}isBox(){if(this.id===-1)return!1;const t=this.sourceInfo.player;return t?hd(t.id,this.id):fo(this.id)}isProportional(){if(this.id===-1)return!1;const t=this.sourceInfo.player;return t?ud(t.id,this.id):Ao(this.id)}isSelectable(){if(this.id===-1)return!1;const t=this.sourceInfo.player;return t?md(t.id,this.id):Eo(this.id)}getAlignment(){if(this.id===-1)return y.beforeCreateWarn("get alignment");const t=this.sourceInfo.player;return t?pd(t.id,this.id):To(this.id)}getPreviewModel(){if(this.id===-1)return y.beforeCreateWarn("get preview model");const t=this.sourceInfo.player;return t?gd(t.id,this.id):Co(this.id)}getPreviewRot(){if(this.id===-1)return y.beforeCreateWarn("get preview rotation");const t=this.sourceInfo.player;return t?Sd(t.id,this.id):Do(this.id)}getPreviewVehColors(){if(this.id===-1)return y.beforeCreateWarn("get preview vel colors");const t=this.sourceInfo.player;return t?yd(t.id,this.id):No(this.id)}isGlobal(){return!!this.sourceInfo.player}static getInstance(t,a){return a?this.globalTextDraws.get(t):this.playerTextDraws.get(t)}static getInstances(t){return t?[...this.globalTextDraws.values()]:[...this.playerTextDraws.values()]}}R.onExit(({next:e})=>(y.getInstances(!0).forEach(t=>t.destroy()),y.getInstances(!1).forEach(t=>t.destroy()),e()));const[Rh]=h({name:"OnPlayerClickTextDraw",beforeEach(e,t){return{player:m.getInstance(e),textDraw:t===T.TEXT_DRAW?t:y.getInstance(t,!0)}}}),[Lh]=h({name:"OnPlayerClickPlayerTextDraw",beforeEach(e,t){return{player:m.getInstance(e),textDraw:t===T.TEXT_DRAW?t:y.getInstance(t,!1)}}}),bh=Object.freeze({onPlayerClickGlobal:Rh,onPlayerClickPlayer:Lh});function vh(e,t){return(e&t)===t}function wh(e,t,a){return(e&a)===a&&(t&a)!==a}function Oh(e,t){return!!(e&t)}function Gh(e,t,a){return(e&a)!==a&&(t&a)===a}Object.defineProperty(exports,"E_STREAMER",{enumerable:!0,get:function(){return c.E_STREAMER}}),Object.defineProperty(exports,"MapIconStyles",{enumerable:!0,get:function(){return c.MapIconStyles}}),Object.defineProperty(exports,"MaterialTextSizes",{enumerable:!0,get:function(){return c.MaterialTextSizes}}),Object.defineProperty(exports,"StreamerAreaTypes",{enumerable:!0,get:function(){return c.StreamerAreaTypes}}),Object.defineProperty(exports,"StreamerDistances",{enumerable:!0,get:function(){return c.StreamerDistances}}),Object.defineProperty(exports,"StreamerItemTypes",{enumerable:!0,get:function(){return c.StreamerItemTypes}}),Object.defineProperty(exports,"StreamerMiscellaneous",{enumerable:!0,get:function(){return c.StreamerMiscellaneous}}),Object.defineProperty(exports,"StreamerObjectTypes",{enumerable:!0,get:function(){return c.StreamerObjectTypes}}),exports.ArtworkEnum=Ee,exports.BodyPartsEnum=Fe,exports.BoneIdsEnum=ke,exports.BulletHitTypesEnum=Ze,exports.CameraCutStylesEnum=te,exports.CameraModesEnum=Be,exports.CarModTypeEnum=He,exports.ClickSourcesEnum=Te,exports.ConnectionStatusEnum=De,exports.DamageDeathReasonEnum=se,exports.Dialog=D,exports.DialogStylesEnum=ie,exports.Dynamic3DTextLabel=j,exports.Dynamic3DTextLabelEvent=ch,exports.DynamicActor=k,exports.DynamicActorEvent=rh,exports.DynamicArea=L,exports.DynamicAreaEvent=Nh,exports.DynamicCheckPointEvent=Y_,exports.DynamicCheckpoint=B,exports.DynamicMapIcon=V,exports.DynamicMapIconEvent=B_,exports.DynamicObject=v,exports.DynamicObjectEvent=Ph,exports.DynamicPickup=H,exports.DynamicPickupEvent=V_,exports.DynamicRaceCP=F,exports.DynamicRaceCPEvent=th,exports.ERecordStatus=O,exports.EditResponseTypesEnum=Ce,exports.FightingStylesEnum=Oe,exports.ForceSyncEnum=Me,exports.GameMode=R,exports.GameText=I_,exports.GangZone=N,exports.GangZoneEvent=L_,exports.I18n=f,exports.InvalidEnum=T,exports.KeysEnum=Ne,exports.LimitsEnum=w,exports.MapIconStylesEnum=Ge,exports.MarkerModesEnum=Re,exports.Menu=X,exports.MenuEvent=A_,exports.NPCPlaybackEnum=Le,exports.NetStats=y_,exports.Npc=G,exports.NpcEvent=It,exports.ObjectMaterialAlignmmentEnum=ve,exports.ObjectMaterialTextSizeEnum=be,exports.Player=m,exports.PlayerEvent=ue,exports.PlayerStateEnum=Y,exports.RecordTypesEnum=Xe,exports.SelectObjectTypesEnum=we,exports.SpecialActionsEnum=re,exports.SpectateModesEnum=ae,exports.Streamer=C,exports.TextDraw=y,exports.TextDrawAlignEnum=xe,exports.TextDrawEvent=bh,exports.TextDrawFontsEnum=Q,exports.Vehicle=A,exports.VehicleEvent=S_,exports.VehicleModelInfoEnum=Ue,exports.VehicleParamsEnum=Ve,exports.WeaponEnum=We,exports.WeaponSkillsEnum=Ke,exports.WeaponStatesEnum=je,exports.animateLib=Ye,exports.defineEvent=h,exports.getAnimateDurationByLibName=$e,exports.isHolding=vh,exports.isPressed=wh,exports.isPressing=Oh,exports.isReleased=Gh,exports.isValidAnimateLib=le,exports.isValidAnimateName=ze,exports.rgba=I;
|
|
1
|
+
"use strict";var ie=require("iconv-lite"),ct=require("pino"),H=require("lodash-unified"),c=require("@infernus/streamer");function _t(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 u=_t(c);const o=ct({transport:{target:"pino-pretty",options:{translateTime:"SYS:standard",ignore:"pid,hostname"}}});process.on("uncaughtException",e=>{o.error(e),process.exit(1)}),process.on("unhandledRejection",e=>{if(e instanceof Error){o.warn(e);return}o.warn(new Error(JSON.stringify(e)))});class f{constructor(t,a){this.defaultLocale=t,this.locales=a,this.defaultLocale=H.snakeCase(t),this.locales=f.snakeLocaleKeys(a)}addLocales=t=>{H.merge(this.locales,f.snakeLocaleKeys(t))};removeLocales=(...t)=>{this.locales=H.omit(this.locales,t)};$t=(t,a,n=this.defaultLocale)=>{const i=this.locales[H.snakeCase(n)],r=H.get(this.locales[this.defaultLocale],t),s=H.get(i,t,r);if(s===void 0)return o.warn(`[i18n]: cannot find ${n}["${t}"]`),"undefined";if(typeof s!="string")return JSON.stringify(s);let l=s;if(a&&a.length){const d=/%s/i;for(let _=0;_<a.length&&l.match(d)!==null;_++)l=l.replace(d,a[_])}return l};static isValidate(t){ie.encodingExists(t)||(o.fatal(`[i18n]: unknown charset ${t}`),process.exit(1))}static encodeToBuf(t,a){return f.isValidate(a),[...ie.encode(t,a),0]}static decodeFromBuf(t,a="utf8"){f.isValidate(a);const n=t instanceof Buffer?t:Buffer.from(t);return ie.decode(n,a)}static getValidStr(t){return t.indexOf(0)===-1?t:t.slice(0,t.indexOf(0))}static snakeLocaleKeys(t){return H.mapKeys(t,(a,n)=>H.snakeCase(n))}}const Q=new Map;function ge(e){Q.set(e,[])}function ht(e,t){return typeof e=="boolean"?+e:typeof e=="number"&&!isNaN(e)?e:+t}function ut(e,...t){const{defaultValue:a=!0,name:n,beforeEach:i,afterEach:r}=e,s=Q.get(n);if(!s||!s.length)return+a;const l=i?i(...t):{},d=[];let _=-1;const p=()=>{if(_++,_<s.length){try{const g=s[_]({next:p,...l});return g instanceof Promise&&d.push(g),g}catch(g){const S=`executing event [name:${n},index:${_}] error:`;o.error(S),o.error(g)}return a}return r&&(d.length?Promise.allSettled(d).then(()=>r(l)):r(l)),a};return ht(p(),a)}function h(e){const{name:t,identifier:a,isNative:n=!0}=e;if(Q.has(t)){const l=`event [name:${t}] error: already defined.`;throw o.error(l),new Error(l)}ge(t);function i(...l){return ut(e,...l)}function r(l){const d=Q.get(t).push(l)-1;return()=>{const _=Q.get(t)||[],p=_.length-1,g=p<d?p:d;for(let S=g;S>=0;S--)if(_[S]===l){_.splice(S,1);break}}}const s=[r,i];return n&&(a&&samp.registerEvent(t,a),samp.on(t,i)),s}const[mt]=h({name:"OnNpcConnect",beforeEach(e){return{myPlayerId:e}}}),[pt]=h({name:"OnNpcDisconnect",beforeEach(e){return{reason:e}}}),[gt]=h({name:"OnNpcModeInit"}),[St]=h({name:"OnNpcModeExit"}),[yt]=h({name:"OnNpcSpawn"}),[It]=h({name:"OnClientMessageI18n",identifier:"iai",beforeEach(e,t){return{color:e,buffer:t,string:f.decodeFromBuf(t)}}}),Pt=Object.freeze({onConnect:mt,onDisconnect:pt,onModeInit:gt,onModeExit:St,onSpawn:yt,onClientMessage:It}),ft=e=>!!samp.callNative("IsValidNickName","s",e),At=(e,t)=>{samp.callNative("AllowNickNameCharacter","ii",e,t)},Et=e=>!!samp.callNative("IsNickNameCharacterAllowed","i",e),Tt=(e,t)=>!!samp.callNative("AddServerRule","ss",e,t),Ct=(e,t)=>!!samp.callNative("SetServerRule","ss",e,t),Dt=e=>!!samp.callNative("IsValidServerRule","s",e),Nt=e=>!!samp.callNative("RemoveServerRule","s",e),Rt=e=>{samp.callNative("AllowAdminTeleport","i",e)},Lt=()=>!!samp.callNative("IsAdminTeleportAllowed",""),bt=e=>{samp.callNative("AllowInteriorWeapons","i",e)},vt=()=>!!samp.callNative("AreInteriorWeaponsAllowed",""),wt=()=>!!samp.callNative("AreAllAnimationsEnabled",""),Ot=e=>{samp.callNative("EnableAllAnimations","i",e)},Gt=e=>{const[t]=samp.callNative("GetConsoleVarAsString","sAi",e,64);return t},Bt=e=>samp.callNative("GetConsoleVarAsInt","s",e),Ft=e=>!!samp.callNative("GetConsoleVarAsBool","s",e),kt=()=>samp.callNative("GetWeather",""),Mt=e=>samp.callNative("GetServerRuleFlags","s",e),xt=(e,t)=>!!samp.callNative("SetServerRuleFlags","si",e,t),Ht=e=>!!samp.callNative("SetModeRestartTime","f",e),Vt=()=>samp.callNativeFloat("GetModeRestartTime",""),Ut=(e,t,a)=>samp.callNative("GameTextForAll","sii",e,t,a),Wt=e=>{samp.callNative("HideGameTextForAll","i",e)},Kt=(e,t,a)=>samp.callNative("SendDeathMessage","iii",e,t,a),Zt=()=>samp.callNative("GetMaxPlayers",""),jt=(e,t,a)=>Math.sqrt(e*e+t*t+a*a),Xt=e=>samp.callNative("SetGameModeText","s",e),Yt=e=>samp.callNative("ShowNameTags","i",e),zt=e=>samp.callNative("ShowPlayerMarkers","i",e),$t=e=>samp.callNative("SetWorldTime","i",e),Jt=()=>samp.callNative("GetWorldTime",""),Qt=()=>samp.callNative("EnableVehicleFriendlyFire",""),qt=e=>samp.callNative("SetWeather","i",e),ea=()=>samp.callNativeFloat("GetGravity",""),ta=e=>samp.callNative("SetGravity","f",e),aa=(e,t,a,n,i)=>samp.callNative("CreateExplosion","fffif",e,t,a,n,i),na=e=>samp.callNative("EnableZoneNames","i",e),ia=()=>samp.callNative("UsePlayerPedAnims",""),ra=()=>samp.callNative("DisableInteriorEnterExits",""),sa=e=>samp.callNative("SetNameTagDrawDistance","f",e),la=()=>samp.callNative("DisableNameTagLOS",""),oa=e=>samp.callNative("LimitGlobalChatRadius","f",e),da=e=>samp.callNative("LimitPlayerMarkerRadius","f",e),ca=(e,t)=>samp.callNative("ConnectNPC","ss",e,t),_a=()=>samp.callNative("GetServerTickRate",""),ha=e=>samp.callNative("GetAnimationName","iSiSi",e,32,32),ua=e=>samp.callNative("EnableStuntBonusForAll","i",e),ma=e=>{samp.callNative("ToggleChatTextReplacement","i",e)},pa=()=>!!samp.callNative("ChatTextReplacementToggled",""),ga=e=>samp.callNative("GetWeaponSlot","i",e),Sa=e=>{const[t]=samp.callNative("GetWeaponName","iSi",e,32);return t},Se=()=>samp.callNative("GetAvailableClasses",""),ya=e=>{if(e<Se()||e>319)return!1;const t=samp.callNative("GetPlayerClass","iIIFFFFIIIIII",e),[a,n=0,i=0,r=0,s=0,l=0,d=0,_=0,p=0,g=0,S=0,P=0]=t;return{teamId:a,modelId:n,spawnX:i,spawnY:r,spawnZ:s,zAngle:l,weapon1:d,weapon1Ammo:_,weapon2:p,weapon2Ammo:g,weapon3:S,weapon3Ammo:P}},Ia=(e,t,a,n,i,r,s,l,d,_,p,g,S)=>!!samp.callNative("EditPlayerClass","iiiffffiiiiii",e,t,a,n,i,r,s,l,d,_,p,g,S),Pa=e=>samp.callNative("SetTeamCount","i",e),fa=(e,t,a,n,i,r,s,l,d,_,p)=>samp.callNative("AddPlayerClass","iffffiiiiii",e,t,a,n,i,r,s,l,d,_,p),Aa=(e,t,a,n,i,r,s,l,d,_,p,g)=>samp.callNative("AddPlayerClassEx","iiffffiiiiii",e,t,a,n,i,r,s,l,d,_,p,g),Ea=(e,t,a,n,i,r,s,l,d,_,p,g,S)=>samp.callNative("SetSpawnInfo","iiiffffiiiiii",e,t,a,n,i,r,s,l,d,_,p,g,S),Ta=e=>samp.callNative("SpawnPlayer","i",e),Ca=e=>{const[t,a=0,n=0,i=0,r=0,s=0,l=0,d=0,_=0,p=0,g=0,S=0]=samp.callNative("GetSpawnInfo","iIIFFFFIIIIII",e);return{teamId:t,modelId:a,spawnX:n,spawnY:i,spawnZ:r,zAngle:s,weapon1:l,weapon1Ammo:d,weapon2:_,weapon2Ammo:p,weapon3:g,weapon3Ammo:S}},Da=e=>samp.callNative("NetStats_GetConnectedTime","i",e),Na=e=>samp.callNative("NetStats_MessagesReceived","i",e),Ra=e=>samp.callNative("NetStats_BytesReceived","i",e),La=e=>samp.callNative("NetStats_MessagesSent","i",e),ba=e=>samp.callNative("NetStats_BytesSent","i",e),va=e=>samp.callNative("NetStats_MessagesRecvPerSecond","i",e),wa=e=>samp.callNativeFloat("NetStats_PacketLossPercent","i",e),Oa=e=>samp.callNative("NetStats_ConnectionStatus","i",e),Ga=e=>{const[t]=samp.callNative("NetStats_GetIpPort","iSi",e,134);return t},Ba=e=>!!samp.callNative("IsPlayerAdmin","i",e),Fa=(e,t)=>!!samp.callNative("SetPlayerAdmin","ii",e,t),ka=e=>!!samp.callNative("Kick","i",e),Ma=e=>!!samp.callNative("Ban","i",e),xa=e=>{const[t]=samp.callNative("GetPlayerNetworkStats","iSi",e,1024);return t},Ha=()=>samp.callNative("GetNetworkStats","Si",1024),Va=(e,t)=>samp.callNative("BlockIpAddress","si",e,t),Ua=e=>samp.callNative("UnBlockIpAddress","s",e),Wa=(e,t)=>{const[a]=samp.callNative("gpci","iAi",e,41);return f.decodeFromBuf(f.getValidStr(a),t)},Ka=(e,t,a,n,i)=>samp.callNative("SendClientCheck","iiiii",e,t,a,n,i),Za=()=>{samp.callNative("ClearBanList","")},ja=e=>!!samp.callNative("IsBanned","s",e),Xa=e=>samp.callNative("GetPlayerRawIp","i",e),Ya=e=>{const[t]=samp.callNative("GetPlayerIp","iSi",e,128);return t},za=e=>{const[t]=samp.callNative("GetPlayerVersion","iSi",e,24);return t},I=e=>{if(typeof e=="number")return e;if(typeof+e=="number"&&!isNaN(+e))return+e;if(e.charAt(0)==="#")return e.length===4?parseInt(e.charAt(1)+e.charAt(1)+e.charAt(2)+e.charAt(2)+e.charAt(3)+e.charAt(3)+"FF",16):e.length===7?parseInt(e.slice(1,e.length)+"FF",16):e.length===9?parseInt(e.slice(1,e.length),16):255;const t=(e.match(/([0-9])+/g)||[]).map(n=>parseInt(n,10));if(t.length!==4&&t.length!==3)return 255;t.length===3?t.push(255):t[3]=t[3]<1?Math.floor(t[3]*255):255;let a=0;return t.reverse().forEach((n,i)=>{n!==0&&(a+=Math.pow(16,i*2)*n)}),a},$a=(e,t)=>!!samp.callNative("TogglePlayerWidescreen","ii",e,t),Ja=e=>!!samp.callNative("IsPlayerWidescreenToggled","i",e),Qa=(e,t)=>samp.callNative("GetPlayerSkillLevel","ii",e,t),qa=e=>samp.callNative("GetPlayerWeather","i",e),en=e=>{const[t=0,a=0,n=0,i=0]=samp.callNative("GetPlayerWorldBounds","iFFFF",e);return{xMax:t,xMin:a,yMax:n,yMin:i}},tn=e=>samp.callNativeFloat("GetPlayerZAim","i",e),an=e=>{const[t=0,a=0,n=0]=samp.callNative("GetPlayerSurfingOffsets","iFFF",e);return{fOffsetX:t,fOffsetY:a,fOffsetZ:n}},nn=e=>{const[t=0,a=0,n=0,i=0]=samp.callNative("GetPlayerRotationQuat","iFFFF",e);return{w:t,x:a,y:n,z:i}},rn=e=>samp.callNative("GetPlayerDialogID","i",e),sn=e=>samp.callNative("GetPlayerSpectateID","i",e),ln=e=>samp.callNative("GetPlayerSpectateType","i",e),on=(e,t)=>!!samp.callNative("SetPlayerGravity","if",e,t),dn=e=>samp.callNativeFloat("GetPlayerGravity","i",e),cn=e=>!!samp.callNative("IsPlayerSpawned","i",e),_n=e=>!!samp.callNative("IsPlayerControllable","i",e),hn=e=>!!samp.callNative("IsPlayerCameraTargetEnabled","i",e),un=(e,t)=>!!samp.callNative("TogglePlayerGhostMode","ii",e,t),mn=e=>!!samp.callNative("GetPlayerGhostMode","i",e),pn=e=>samp.callNative("GetPlayerBuildingsRemoved","i",e),gn=(e,t)=>!!samp.callNative("RemovePlayerWeapon","ii",e,t),Sn=e=>!!samp.callNative("HidePlayerDialog","i",e),yn=e=>!!samp.callNative("IsPlayerUsingOfficialClient","i",e),In=(e,t)=>!!samp.callNative("AllowPlayerTeleport","ii",e,t),Pn=e=>!!samp.callNative("IsPlayerTeleportAllowed","i",e),fn=(e,t)=>!!samp.callNative("AllowPlayerWeapons","i",e,t),An=e=>!!samp.callNative("ArePlayerWeaponsAllowed","i",e),En=(e,t,a,n)=>!!samp.callNative("GameTextForPlayer","isii",e,t,a,n),Tn=(e,t)=>!!samp.callNative("HasGameText","ii",e,t),Cn=(e,t,a,n)=>!!samp.callNative("SendDeathMessageToPlayer","iiii",e,t,a,n),Dn=(e,t)=>!!samp.callNative("HideGameTextForPlayer","ii",e,t),Nn=e=>!!samp.callNative("IsPlayerNPC","i",e),ye=(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),bn=(e,t)=>!!samp.callNative("SetPlayerFacingAngle","if",e,t),vn=e=>{const[t]=samp.callNative("GetPlayerFacingAngle","iF",e);return t},wn=(e,t,a,n,i)=>!!samp.callNative("IsPlayerInRangeOfPoint","iffff",e,t,a,n,i),On=(e,t,a,n)=>!!samp.callNativeFloat("GetPlayerDistanceFromPoint","ifff",e,t,a,n),Gn=(e,t)=>!!samp.callNative("IsPlayerStreamedIn","ii",e,t),Bn=(e,t)=>!!samp.callNative("SetPlayerInterior","ii",e,t),Fn=e=>samp.callNative("GetPlayerInterior","i",e),kn=(e,t)=>!!samp.callNative("SetPlayerHealth","if",e,t),Mn=e=>{const[t]=samp.callNative("GetPlayerHealth","iF",e);return t},xn=(e,t)=>!!samp.callNative("SetPlayerArmour","if",e,t),Hn=e=>{const[t]=samp.callNative("GetPlayerArmour","iF",e);return t},Vn=(e,t,a)=>!!samp.callNative("SetPlayerAmmo","iii",e,t,a),Un=e=>samp.callNative("GetPlayerAmmo","i",e),Wn=e=>samp.callNative("GetPlayerWeaponState","i",e),Kn=e=>samp.callNative("GetPlayerTargetPlayer","i",e),Zn=(e,t)=>{samp.callNative("SetPlayerTeam","ii",e,t)},jn=e=>samp.callNative("GetPlayerTeam","i",e),Xn=(e,t)=>!!samp.callNative("SetPlayerScore","ii",e,t),Yn=e=>samp.callNative("GetPlayerScore","i",e),zn=e=>samp.callNative("GetPlayerDrunkLevel","i",e),$n=(e,t)=>!!samp.callNative("SetPlayerDrunkLevel","ii",e,t),Jn=(e,t)=>!!samp.callNative("SetPlayerColor","ii",e,I(t)),Qn=e=>samp.callNative("GetPlayerColor","i",e),qn=(e,t)=>!!samp.callNative("SetPlayerSkin","ii",e,t),ei=e=>samp.callNative("GetPlayerSkin","i",e),ti=(e,t,a)=>!!samp.callNative("GivePlayerWeapon","iii",e,t,a),ai=e=>!!samp.callNative("ResetPlayerWeapons","i",e),ni=(e,t)=>!!samp.callNative("SetPlayerArmedWeapon","ii",e,t),ii=(e,t)=>samp.callNative("GetPlayerWeaponData","iiII",e,t),ri=(e,t)=>!!samp.callNative("GivePlayerMoney","ii",e,t),si=e=>!!samp.callNative("ResetPlayerMoney","i",e),li=e=>samp.callNative("GetPlayerMoney","i",e),oi=e=>samp.callNative("GetPlayerState","i",e),di=e=>samp.callNative("GetPlayerPing","i",e),ci=e=>samp.callNative("GetPlayerWeapon","i",e),_i=e=>samp.callNative("GetPlayerKeys","iIII",e),hi=(e,t,a)=>!!samp.callNative("SetPlayerTime","iii",e,t,a),ui=e=>samp.callNative("GetPlayerTime","iII",e),mi=(e,t)=>!!samp.callNative("TogglePlayerClock","ii",e,t),pi=(e,t)=>!!samp.callNative("SetPlayerWeather","ii",e,t),gi=e=>!!samp.callNative("ForceClassSelection","i",e),Si=(e,t)=>!!samp.callNative("SetPlayerWantedLevel","ii",e,t),yi=e=>samp.callNative("GetPlayerWantedLevel","i",e),Ii=(e,t)=>!!samp.callNative("SetPlayerFightingStyle","ii",e,t),Pi=e=>samp.callNative("GetPlayerFightingStyle","i",e),fi=(e,t,a,n)=>!!samp.callNative("SetPlayerVelocity","ifff",e,t,a,n),Ai=e=>samp.callNative("GetPlayerVelocity","iFFF",e),Ei=(e,t,a)=>!!samp.callNative("PlayCrimeReportForPlayer","iii",e,t,a),Ti=(e,t,a,n,i,r,s=!1)=>!!samp.callNative("PlayAudioStreamForPlayer","isffffi",e,t,a,n,i,r,s),Ci=e=>!!samp.callNative("StopAudioStreamForPlayer","i",e),Di=(e,t)=>!!samp.callNative("SetPlayerShopName","is",e,t),Ni=(e,t,a)=>!!samp.callNative("SetPlayerSkillLevel","iii",e,t,a),Ri=e=>samp.callNative("GetPlayerSurfingVehicleID","i",e),Li=e=>samp.callNative("GetPlayerSurfingObjectID","i",e),bi=e=>samp.callNative("GetPlayerSurfingPlayerObjectID","i",e),vi=(e,t,a,n,i,r)=>!!samp.callNative("RemoveBuildingForPlayer","iiffff",e,t,a,n,i,r),wi=e=>samp.callNative("GetPlayerLastShotVectors","iFFFFFF",e),Oi=(e,t,a,n,i)=>!!samp.callNative("SetPlayerChatBubble","isifi",e,t,I(a),n,i),Gi=(e,t,a)=>!!samp.callNative("PutPlayerInVehicle","iii",e,t,a),Bi=e=>samp.callNative("GetPlayerVehicleID","i",e),Fi=e=>samp.callNative("GetPlayerVehicleSeat","i",e),ki=e=>!!samp.callNative("RemovePlayerFromVehicle","i",e),Mi=(e,t)=>!!samp.callNative("TogglePlayerControllable","ii",e,t),xi=(e,t,a,n,i)=>!!samp.callNative("PlayerPlaySound","iifff",e,t,a,n,i),Hi=(e,t,a,n,i,r,s,l,d,_)=>!!samp.callNative("ApplyAnimation","issfiiiiii",e,t,a,n,i,r,s,l,d,_),Vi=(e,t)=>!!samp.callNative("ClearAnimations","ii",e,t),Ui=e=>samp.callNative("GetPlayerAnimationIndex","i",e),Wi=e=>samp.callNative("GetPlayerSpecialAction","i",e),Ki=(e,t)=>!!samp.callNative("SetPlayerSpecialAction","ii",e,t),Zi=(e,t)=>!!samp.callNative("DisableRemoteVehicleCollisions","ii",e,t),ji=(e,t)=>!!samp.callNative("SetPlayerVirtualWorld","ii",e,t),Xi=e=>samp.callNative("GetPlayerVirtualWorld","i",e),Yi=(e,t)=>!!samp.callNative("EnableStuntBonusForPlayer","ii",e,t),zi=e=>samp.callNative("GetPlayerCustomSkin","i",e),$i=(e,t,a,n,i,r)=>!!samp.callNative("CreateExplosionForPlayer","ifffif",e,t,a,n,i,r),Ji=(e,t,a)=>!!samp.callNative("StartRecordingPlayerData","iis",e,t,a),Qi=e=>!!samp.callNative("StopRecordingPlayerData","i",e),qi=(e,t)=>!!samp.callNative("TogglePlayerSpectating","ii",e,t),er=(e,t,a)=>!!samp.callNative("PlayerSpectatePlayer","iii",e,t,a),tr=(e,t,a)=>!!samp.callNative("PlayerSpectateVehicle","iii",e,t,a),Ie=e=>!!samp.callNative("IsPlayerConnected","i",e),ar=(e,t)=>!!samp.callNative("IsPlayerInVehicle","ii",e,t),nr=e=>!!samp.callNative("IsPlayerInAnyVehicle","i",e),ir=(e,t,a,n,i)=>!!samp.callNative("SetPlayerWorldBounds","iffff",e,t,a,n,i),rr=e=>!!samp.callNative("ClearPlayerWorldBounds","i",e),sr=(e,t,a)=>!!samp.callNative("SetPlayerMarkerForPlayer","iii",e,t,I(a));function lr(e,t){return samp.callNative("GetPlayerMarkerForPlayer","ii",t)}const or=(e,t,a)=>!!samp.callNative("ShowPlayerNameTagForPlayer","iii",e,t,a),dr=(e,t,a,n)=>!!samp.callNative("SetPlayerCameraPos","ifff",e,t,a,n),cr=(e,t,a,n,i)=>!!samp.callNative("SetPlayerCameraLookAt","ifffi",e,t,a,n,i),_r=e=>!!samp.callNative("SetCameraBehindPlayer","i",e),hr=e=>samp.callNative("GetPlayerCameraPos","iFFF",e),ur=e=>samp.callNative("GetPlayerCameraFrontVector","iFFF",e),mr=e=>samp.callNative("GetPlayerCameraMode","i",e),pr=(e,t)=>!!samp.callNative("EnablePlayerCameraTarget","ii",e,t),gr=e=>samp.callNative("GetPlayerCameraTargetVehicle","i",e),Sr=e=>samp.callNative("GetPlayerCameraTargetPlayer","i",e),yr=e=>samp.callNativeFloat("GetPlayerCameraAspectRatio","i",e),Ir=e=>samp.callNativeFloat("GetPlayerCameraZoom","i",e),Pr=(e,t,a,n,i,r,s,l,d)=>!!samp.callNative("InterpolateCameraPos","iffffffii",e,t,a,n,i,r,s,l,d),fr=(e,t,a,n,i,r,s,l,d)=>!!samp.callNative("InterpolateCameraLookAt","iffffffii",e,t,a,n,i,r,s,l,d),Ar=e=>!!samp.callNative("IsPlayerCuffed","i",e),Er=e=>!!samp.callNative("IsPlayerInDriveByMode","i",e),Tr=(e,t)=>samp.callNative("StartRecordingPlayback","is",e,t),Cr=()=>samp.callNative("StopRecordingPlayback",""),Dr=()=>samp.callNative("PauseRecordingPlayback",""),Nr=()=>samp.callNative("ResumeRecordingPlayback",""),Rr=e=>samp.callNative("GetActorSkin","i",e),Lr=(e,t)=>samp.callNative("SetActorSkin","ii",e,t),br=e=>{const[t=0,a=0,n=0,i=0,r=0]=samp.callNative("GetActorSpawnInfo","iIFFFF",e);return{skinId:t,fX:a,fY:n,fZ:i,fAngle:r}},vr=e=>{const[t=0,a=0,n=0,i=0,r=0,s=0]=samp.callNative("GetVehicleSpawnInfo","iFFFFII",e);return{fX:t,fY:a,fZ:n,fRot:i,color1:r,color2:s}},wr=(e,t,a,n,i,r,s,l,d=-2,_=-2)=>samp.callNative("SetVehicleSpawnInfo","iiFFFFiiii",e,t,a,n,i,r,s,l,d,_),Or=e=>{const[t=0,a=0]=samp.callNative("GetVehicleColor","iII",e);return{color1:t,color2:a}},Gr=e=>samp.callNative("GetVehiclePaintjob","i",e),Br=e=>samp.callNative("GetVehicleInterior","i",e),Fr=e=>{const[t]=samp.callNative("GetVehicleNumberPlate","iSi",e,33);return t},kr=(e,t)=>samp.callNative("SetVehicleRespawnDelay","ii",e,t),Mr=e=>samp.callNative("GetVehicleRespawnDelay","i",e),xr=e=>samp.callNative("GetVehicleCab","i",e),Hr=e=>samp.callNative("GetVehicleOccupiedTick","i",e),Vr=(e,t)=>samp.callNative("SetVehicleOccupiedTick","ii",e,t),Ur=e=>!!samp.callNative("HasVehicleBeenOccupied","i",e),Wr=e=>!!samp.callNative("IsVehicleOccupied","i",e),Kr=e=>samp.callNative("GetVehicleRespawnTick","i",e),Zr=(e,t)=>samp.callNative("SetVehicleRespawnTick","ii",e,t),jr=e=>!!samp.callNative("IsVehicleDead","i",e),Xr=(e,t)=>!!samp.callNative("SetVehicleDead","ii",e,t),Yr=(e,t)=>!!samp.callNative("SetVehicleBeenOccupied","ii",e,t),zr=(e,t)=>samp.callNative("ToggleVehicleSirenEnabled","ii",e,t),$r=(e,t)=>samp.callNative("SetVehicleParamsSirenState","ii",e,t),Jr=e=>!!samp.callNative("IsVehicleSirenEnabled","i",e),Qr=e=>samp.callNative("GetVehicleModelCount","i",e),qr=e=>samp.callNative("GetVehicleLastDriver","i",e),es=e=>samp.callNative("GetVehicleDriver","i",e),ts=()=>samp.callNative("GetVehicleModelsUsed",""),as=e=>samp.callNative("GetVehicleSirenState","i",e),ns=e=>samp.callNative("GetVehicleLandingGearState","i",e),is=e=>samp.callNativeFloat("GetVehicleHydraReactorAngle","i",e),rs=e=>samp.callNativeFloat("GetVehicleTrainSpeed","i",e),ss=e=>{const[t=0,a=0,n=0,i=0,r=0,s=0,l=0,d=0,_=0]=samp.callNative("GetVehicleMatrix","iFFFFFFFFF",e);return{rightX:t,rightY:a,rightZ:n,upX:i,upY:r,upZ:s,atX:l,atY:d,atZ:_}},Pe=e=>{const[t=0,a=0,n=0,i=0]=samp.callNative("GetRandomCarColPair","iIIII",e);return{color:[t,a,n,i]}},ls=(e,t=255)=>samp.callNative("CarColIndexToColour","ii",e,t),os=(e,t,a,n,i,r,s,l,d)=>samp.callNative("CreateVehicle","iffffiiii",e,t,a,n,i,I(r),I(s),l,d),ds=e=>samp.callNative("DestroyVehicle","i",e),cs=(e,t)=>!!samp.callNative("IsVehicleStreamedIn","ii",e,t),_s=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]}},hs=(e,t,a,n)=>samp.callNative("SetVehiclePos","ifff",e,t,a,n),us=e=>{const[t]=samp.callNative("GetVehicleZAngle","iF",e);return t},ms=e=>samp.callNative("GetVehicleRotationQuat","iFFFF",e),ps=(e,t,a,n)=>samp.callNativeFloat("GetVehicleDistanceFromPoint","ifff",e,t,a,n),gs=(e,t)=>samp.callNative("SetVehicleZAngle","if",e,t),Ss=(e,t,a,n)=>samp.callNative("SetVehicleParamsForPlayer","iiii",e,t,a,n),ys=()=>samp.callNative("ManualVehicleEngineAndLights",""),Is=(e,t,a,n,i,r,s,l)=>samp.callNative("SetVehicleParamsEx","iiiiiiii",e,t,a,n,i,r,s,l),Ps=e=>samp.callNative("GetVehicleParamsEx","iIIIIIII",e),fs=e=>samp.callNative("GetVehicleParamsSirenState","i",e),As=(e,t,a,n,i)=>samp.callNative("SetVehicleParamsCarDoors","iiiii",e,t,a,n,i),Es=e=>{const t=samp.callNative("GetVehicleParamsCarDoors","iIIII",e);return{driver:t[0],passenger:t[1],backLeft:t[2],backRight:t[3]}},Ts=(e,t,a,n,i)=>samp.callNative("SetVehicleParamsCarWindows","iiiii",e,t,a,n,i),Cs=e=>{const t=samp.callNative("GetVehicleParamsCarWindows","iIIII",e);return{driver:t[0],passenger:t[1],backLeft:t[2],backRight:t[3]}},Ds=e=>samp.callNative("SetVehicleToRespawn","i",e),Ns=(e,t)=>samp.callNative("LinkVehicleToInterior","ii",e,t),Rs=(e,t)=>samp.callNative("AddVehicleComponent","ii",e,t),Ls=(e,t)=>samp.callNative("RemoveVehicleComponent","ii",e,t),bs=(e,t,a)=>samp.callNative("ChangeVehicleColor","iii",e,I(t),I(a)),vs=(e,t)=>samp.callNative("ChangeVehiclePaintjob","ii",e,t),ws=(e,t)=>samp.callNative("SetVehicleHealth","if",e,t),Os=e=>{const[t]=samp.callNative("GetVehicleHealth","iF",e);return t},Gs=(e,t)=>samp.callNative("AttachTrailerToVehicle","ii",e,t),Bs=e=>samp.callNative("DetachTrailerFromVehicle","i",e),Fs=e=>!!samp.callNative("IsTrailerAttachedToVehicle","i",e),ks=e=>samp.callNative("GetVehicleTrailer","i",e),Ms=(e,t)=>samp.callNative("SetVehicleNumberPlate","is",e,t),xs=e=>samp.callNative("GetVehicleModel","i",e),Hs=(e,t)=>samp.callNative("GetVehicleComponentInSlot","ii",e,t),Vs=e=>samp.callNative("GetVehicleComponentType","i",e),Us=e=>samp.callNative("RepairVehicle","i",e),Ws=e=>samp.callNative("GetVehicleVelocity","iFFF",e),Ks=(e,t,a,n)=>!!samp.callNative("SetVehicleVelocity","ifff",e,t,a,n),Zs=(e,t,a,n)=>samp.callNative("SetVehicleAngularVelocity","ifff",e,t,a,n),js=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]}},Xs=(e,t,a,n,i)=>samp.callNative("UpdateVehicleDamageStatus","iiiii",e,t,a,n,i),Ys=(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]}},zs=(e,t)=>samp.callNative("SetVehicleVirtualWorld","ii",e,t),$s=e=>samp.callNative("GetVehicleVirtualWorld","i",e),fe=e=>!!samp.callNative("IsValidVehicle","i",e),Js=(e,t,a,n,i,r,s)=>samp.callNative("AddStaticVehicle","iffffii",e,t,a,n,i,I(r),I(s)),Qs=(e,t,a,n,i,r,s,l,d)=>samp.callNative("AddStaticVehicleEx","iffffiiii",e,t,a,n,i,I(r),I(s),l,d),qs=e=>!!samp.callNative("ShowVehicle","i",e),el=e=>!!samp.callNative("HideVehicle","i",e),tl=e=>!!samp.callNative("IsVehicleHidden","i",e),al=e=>!!samp.callNative("IsPlayerInModShop","i",e),nl=e=>samp.callNative("GetPlayerSirenState","i",e),il=e=>samp.callNative("GetPlayerLandingGearState","i",e),rl=e=>samp.callNative("GetPlayerHydraReactorAngle","i",e),sl=e=>samp.callNativeFloat("GetPlayerTrainSpeed","i",e),ll=(e,t)=>samp.callNative("GetVehicleOccupant","ii",e,t),Ae=e=>samp.callNative("GetVehicleMaxPassengers","i",e),ol=e=>samp.callNative("CountVehicleOccupants","i",e),dl=e=>!!samp.callNative("IsPlayerCheckpointActive","i",e),cl=e=>{const[t=0,a=0,n=0,i=0]=samp.callNative("GetPlayerCheckpoint","iFFFF",e);return{fX:t,fY:a,fZ:n,fSize:i}},_l=e=>!!samp.callNative("IsPlayerRaceCheckpointActive","i",e),hl=e=>{const[t=0,a=0,n=0,i=0,r=0,s=0,l=0]=samp.callNative("GetPlayerRaceCheckpoint","iFFFFFFF",e);return{fX:t,fY:a,fZ:n,fNextX:i,fNextY:r,fNextZ:s,fSize:l}},ul=e=>!!samp.callNative("IsMenuDisabled","i",e),ml=(e,t)=>!!samp.callNative("IsMenuRowDisabled","ii",e,t),pl=(e,t)=>samp.callNative("GetMenuItems","ii",e,t),gl=e=>{const[t=0,a=0]=samp.callNative("GetMenuPos","iFF",e);return{fX:t,fY:a}},Sl=e=>{const[t=0,a=0]=samp.callNative("GetMenuColumnWidth","iFF",e);return{fColumn1:t,fColumn2:a}},yl=(e,t)=>{const[a]=samp.callNative("GetMenuColumnHeader","iiSi",e,t,31);return a},Il=(e,t,a)=>{const[n]=samp.callNative("GetMenuItem","iiiSi",e,t,a,31);return n},Pl=(e,t,a,n,i,r)=>samp.callNative("CreateMenu","siffff",e,t,a,n,i,r),fl=e=>samp.callNative("DestroyMenu","i",e),Al=(e,t,a)=>samp.callNative("AddMenuItem","iis",e,t,a),El=(e,t,a)=>samp.callNative("SetMenuColumnHeader","iis",e,t,a),Tl=(e,t)=>samp.callNative("ShowMenuForPlayer","ii",e,t),Cl=(e,t)=>samp.callNative("HideMenuForPlayer","ii",e,t),Dl=e=>!!samp.callNative("IsValidMenu","i",e),Nl=e=>samp.callNative("DisableMenu","i",e),Rl=(e,t)=>samp.callNative("DisableMenuRow","ii",e,t),Ll=e=>samp.callNative("GetPlayerMenu","i",e),bl=e=>!!samp.callNative("IsValidGangZone","i",e),vl=(e,t)=>!!samp.callNative("IsPlayerInGangZone","ii",e,t),wl=(e,t)=>!!samp.callNative("IsGangZoneVisibleForPlayer","ii",e,t),Ol=(e,t)=>samp.callNative("GangZoneGetColorForPlayer","ii",e,t),Gl=(e,t)=>samp.callNative("GangZoneGetFlashColorForPlayer","ii",e,t),Bl=(e,t)=>!!samp.callNative("IsGangZoneFlashingForPlayer","ii",e,t),Fl=e=>{const[t=0,a=0,n=0,i=0]=samp.callNative("GangZoneGetPos","iFFFF",e);return{fMinX:t,fMinY:a,fMaxX:n,fMaxY:i}},kl=(e,t)=>{samp.callNative("UseGangZoneCheck","ii",e,t)},Ml=(e,t,a,n)=>samp.callNative("GangZoneCreate","ffff",e,t,a,n),xl=e=>samp.callNative("GangZoneDestroy","i",e),Hl=(e,t,a)=>samp.callNative("GangZoneShowForPlayer","iii",e,t,I(a)),Vl=(e,t)=>samp.callNative("GangZoneShowForAll","ii",e,I(t)),Ul=(e,t)=>samp.callNative("GangZoneHideForPlayer","ii",e,t),Wl=e=>samp.callNative("GangZoneHideForAll","i",e),Kl=(e,t,a)=>samp.callNative("GangZoneFlashForPlayer","iii",e,t,I(a)),Zl=(e,t)=>samp.callNative("GangZoneFlashForAll","ii",e,I(t)),jl=(e,t)=>samp.callNative("GangZoneStopFlashForPlayer","ii",e,t),Xl=e=>samp.callNative("GangZoneStopFlashForAll","i",e),Yl=(e,t,a,n,i)=>samp.callNative("CreatePlayerGangZone","iffff",e,t,a,n,i),zl=(e,t)=>samp.callNative("PlayerGangZoneDestroy","ii",e,t),$l=(e,t,a)=>samp.callNative("PlayerGangZoneShow","iii",e,t,a),Jl=(e,t)=>samp.callNative("PlayerGangZoneHide","ii",e,t),Ql=(e,t,a)=>samp.callNative("PlayerGangZoneFlash","iii",e,t,a),ql=(e,t)=>samp.callNative("PlayerGangZoneStopFlash","ii",e,t),eo=(e,t)=>!!samp.callNative("IsValidPlayerGangZone","ii",e,t),to=(e,t)=>!!samp.callNative("IsPlayerInPlayerGangZone","ii",e,t),ao=(e,t)=>!!samp.callNative("IsPlayerGangZoneVisible","ii",e,t),no=(e,t)=>samp.callNative("PlayerGangZoneGetColor","ii",e,t),io=(e,t)=>samp.callNative("PlayerGangZoneGetFlashColor","ii",e,t),ro=(e,t)=>!!samp.callNative("IsPlayerGangZoneFlashing","ii",e,t),so=(e,t)=>{const[a=0,n=0,i=0,r=0]=samp.callNative("PlayerGangZoneGetPos","iiFFFF",e,t);return{fMinX:a,fMinY:n,fMaxX:i,fMaxY:r}},lo=(e,t,a)=>{samp.callNative("UsePlayerGangZoneCheck","iii",e,t,a)},oo=e=>!!samp.callNative("IsValidTextDraw","i",e),co=(e,t)=>!!samp.callNative("IsTextDrawVisibleForPlayer","ii",e,t),_o=e=>{const[t]=samp.callNative("TextDrawGetString","iSi",e,1024);return t},ho=(e,t,a)=>{samp.callNative("TextDrawSetPos","iff",e,t,a)},uo=e=>{const[t=0,a=0]=samp.callNative("TextDrawGetLetterSize","iFF",e);return{fX:t,fY:a}},mo=e=>{const[t=0,a=0]=samp.callNative("TextDrawGetTextSize","iFF",e);return{fX:t,fY:a}},po=e=>{const[t=0,a=0]=samp.callNative("TextDrawGetPos","iFF",e);return{fX:t,fY:a}},go=e=>samp.callNative("TextDrawGetColor","i",e),So=e=>samp.callNative("TextDrawGetBoxColor","i",e),yo=e=>samp.callNative("TextDrawGetBackgroundColor","i",e),Io=e=>samp.callNative("TextDrawGetShadow","i",e),Po=e=>samp.callNative("TextDrawGetOutline","i",e),fo=e=>samp.callNative("TextDrawGetFont","i",e),Ao=e=>!!samp.callNative("TextDrawIsBox","i",e),Eo=e=>!!samp.callNative("TextDrawIsProportional","i",e),To=e=>!!samp.callNative("TextDrawIsSelectable","i",e),Co=e=>samp.callNative("TextDrawGetAlignment","i",e),Do=e=>samp.callNative("TextDrawGetPreviewModel","i",e),No=e=>{const[t=0,a=0,n=0,i=0]=samp.callNative("TextDrawGetPreviewRot","iFFFF",e);return{fRotX:t,fRotY:a,fRotZ:n,fZoom:i}},Ro=e=>{const[t,a]=samp.callNative("TextDrawGetPreviewVehCol","iII",e);return{color1:t,color2:a}},Lo=(e,t,a)=>{samp.callNative("TextDrawSetStringForPlayer","iis",e,t,a)},bo=(e,t,a)=>samp.callNative("TextDrawCreate","ffs",e,t,a),vo=e=>samp.callNative("TextDrawDestroy","i",e),wo=(e,t,a)=>samp.callNative("TextDrawLetterSize","iff",e,t,a),Oo=(e,t,a)=>samp.callNative("TextDrawTextSize","iff",e,t,a),Go=(e,t)=>samp.callNative("TextDrawAlignment","ii",e,t),Bo=(e,t)=>!!samp.callNative("TextDrawColor","ii",e,I(t)),Fo=(e,t)=>samp.callNative("TextDrawUseBox","ii",e,t),ko=(e,t)=>!!samp.callNative("TextDrawBoxColor","ii",e,I(t)),Mo=(e,t)=>samp.callNative("TextDrawSetShadow","ii",e,t),xo=(e,t)=>samp.callNative("TextDrawSetOutline","ii",e,t),Ho=(e,t)=>!!samp.callNative("TextDrawBackgroundColor","ii",e,I(t)),Vo=(e,t)=>samp.callNative("TextDrawFont","ii",e,t),Uo=(e,t)=>samp.callNative("TextDrawSetProportional","ii",e,t),Wo=(e,t)=>samp.callNative("TextDrawSetSelectable","ii",e,t),Ko=(e,t)=>samp.callNative("TextDrawShowForPlayer","ii",e,t),Zo=(e,t)=>samp.callNative("TextDrawHideForPlayer","ii",e,t),jo=e=>samp.callNative("TextDrawShowForAll","i",e),Xo=e=>samp.callNative("TextDrawHideForAll","i",e),Yo=(e,t)=>samp.callNative("TextDrawSetString","is",e,t),zo=(e,t)=>samp.callNative("TextDrawSetPreviewModel","ii",e,t),$o=(e,t,a,n,i=1)=>{samp.callNative("TextDrawSetPreviewRot","iffff",e,t,a,n,i)},Jo=(e,t,a)=>!!samp.callNative("TextDrawSetPreviewVehCol","iii",e,I(t),I(a)),Qo=(e,t)=>{samp.callNative("SelectTextDraw","ii",e,I(t))},qo=e=>{samp.callNative("CancelSelectTextDraw","i",e)},ed=(e,t)=>!!samp.callNative("IsValidPlayerTextDraw","ii",e,t),td=(e,t)=>!!samp.callNative("IsPlayerTextDrawVisible","ii",e,t),ad=(e,t)=>{const[a]=samp.callNative("PlayerTextDrawGetString","iiSi",e,t,1024);return a},nd=(e,t,a,n)=>{samp.callNative("PlayerTextDrawSetPos","iiff",e,t,a,n)},id=(e,t)=>{const[a=0,n=0]=samp.callNative("PlayerTextDrawGetLetterSize","iiFF",e,t);return{fX:a,fY:n}},rd=(e,t)=>{const[a=0,n=0]=samp.callNative("PlayerTextDrawGetTextSize","iiFF",e,t);return{fX:a,fY:n}},sd=(e,t)=>{const[a=0,n=0]=samp.callNative("PlayerTextDrawGetPos","iiFF",e,t);return{fX:a,fY:n}},ld=(e,t)=>samp.callNative("PlayerTextDrawGetColor","ii",e,t),od=(e,t)=>samp.callNative("PlayerTextDrawGetBoxColor","ii",e,t),dd=(e,t)=>samp.callNative("PlayerTextDrawGetBackgroundColor","ii",e,t),cd=(e,t)=>samp.callNative("PlayerTextDrawGetShadow","ii",e,t),_d=(e,t)=>samp.callNative("PlayerTextDrawGetOutline","ii",e,t),hd=(e,t)=>samp.callNative("PlayerTextDrawGetFont","ii",e,t),ud=(e,t)=>!!samp.callNative("PlayerTextDrawIsBox","ii",e,t),md=(e,t)=>!!samp.callNative("PlayerTextDrawIsProportional","ii",e,t),pd=(e,t)=>!!samp.callNative("PlayerTextDrawIsSelectable","ii",e,t),gd=(e,t)=>samp.callNative("PlayerTextDrawGetAlignment","ii",e,t),Sd=(e,t)=>samp.callNative("PlayerTextDrawGetPreviewModel","ii",e,t),yd=(e,t)=>{const[a=0,n=0,i=0,r=0]=samp.callNative("PlayerTextDrawGetPreviewRot","iiFFFF",e,t);return{fRotX:a,fRotY:n,fRotZ:i,fZoom:r}},Id=(e,t)=>{const[a,n]=samp.callNative("PlayerTextDrawGetPreviewVehCol","iiII",e,t);return{color1:a,color2:n}},Pd=(e,t,a,n)=>samp.callNative("CreatePlayerTextDraw","iffs",e,t,a,n),fd=(e,t)=>{samp.callNative("PlayerTextDrawDestroy","ii",e,t)},Ad=(e,t,a,n)=>samp.callNative("PlayerTextDrawLetterSize","iiff",e,t,a,n),Ed=(e,t,a,n)=>samp.callNative("PlayerTextDrawTextSize","iiff",e,t,a,n),Td=(e,t,a)=>samp.callNative("PlayerTextDrawAlignment","iii",e,t,a),Cd=(e,t,a)=>!!samp.callNative("PlayerTextDrawColor","iii",e,t,I(a)),Dd=(e,t,a)=>samp.callNative("PlayerTextDrawUseBox","iii",e,t,a),Nd=(e,t,a)=>!!samp.callNative("PlayerTextDrawBoxColor","iii",e,t,I(a)),Rd=(e,t,a)=>samp.callNative("PlayerTextDrawSetShadow","iii",e,t,a),Ld=(e,t,a)=>samp.callNative("PlayerTextDrawSetOutline","iii",e,t,a),bd=(e,t,a)=>!!samp.callNative("PlayerTextDrawBackgroundColor","iii",e,t,I(a)),vd=(e,t,a)=>samp.callNative("PlayerTextDrawFont","iii",e,t,a),wd=(e,t,a)=>samp.callNative("PlayerTextDrawSetProportional","iii",e,t,a),Od=(e,t,a)=>samp.callNative("PlayerTextDrawSetSelectable","iii",e,t,a),Gd=(e,t)=>samp.callNative("PlayerTextDrawShow","ii",e,t),Bd=(e,t)=>samp.callNative("PlayerTextDrawHide","ii",e,t),Fd=(e,t,a)=>samp.callNative("PlayerTextDrawSetString","iis",e,t,a),kd=(e,t,a)=>samp.callNative("PlayerTextDrawSetPreviewModel","iii",e,t,a),Md=(e,t,a,n,i,r)=>samp.callNative("PlayerTextDrawSetPreviewRot","iiffff",e,t,a,n,i,r),xd=(e,t,a,n)=>!!samp.callNative("PlayerTextDrawSetPreviewVehCol","iiii",e,t,a,n),Hd=(e,t)=>!!samp.callNative("EditAttachedObject","ii",e,t),Vd=e=>!!samp.callNative("BeginObjectSelecting","i",e),Ud=e=>!!samp.callNative("EndObjectEditing","i",e),Wd=e=>!!samp.callNative("SetObjectsDefaultCameraCol","i",e),Kd=(e,t,a,n,i)=>samp.callNative("AddSimpleModel","iiiss",e,t,a,n,i),Zd=(e,t,a,n,i,r,s)=>samp.callNative("AddSimpleModelTimed","iiissii",e,t,a,n,i,r,s),jd=(e,t)=>samp.callNative("RedirectDownload","is",e,t),Xd=e=>{const[t]=samp.callNative("FindModelFileNameFromCRC","iSi",e,255);return t},Yd=e=>{const[t]=samp.callNative("FindTextureFileNameFromCRC","iSi",e,255);return t},zd=(e,t)=>{const[a=0,n=0,i=0,r=0,s=0,l=0,d=0,_=0,p=0,g=0,S=0,P=0,T=0]=samp.callNative("GetPlayerAttachedObject","iiIIFFFFFFFFFII",e,t);return{modelId:a,bone:n,fX:i,fY:r,fZ:s,fRotX:l,fRotY:d,fRotZ:_,fScaleX:p,fScaleY:g,fScaleZ:S,materialColor1:P,materialColor2:T}},$d=(e,t,a,n,i,r,s,l,d,_,p,g,S,P,T)=>samp.callNative("SetPlayerAttachedObject","iiiifffffffffii",e,t,a,n,i,r,s,l,d,_,p,g,S,I(P),I(T)),Jd=(e,t)=>samp.callNative("RemovePlayerAttachedObject","ii",e,t),Qd=(e,t)=>!!samp.callNative("IsPlayerAttachedObjectSlotUsed","ii",e,t),Ee=e=>!!samp.callNative("IsValidCustomModel","i",e),qd=e=>{if(!Ee(e))return null;const[t,a]=samp.callNative("GetCustomModePath","iSiSi",e,255,255);return{dffPath:t,txdPath:a}};var Te=(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))(Te||{}),Ce=(e=>(e[e.SCOREBOARD=0]="SCOREBOARD",e))(Ce||{}),re=(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))(re||{}),De=(e=>(e[e.CANCEL=0]="CANCEL",e[e.FINAL=1]="FINAL",e[e.UPDATE=2]="UPDATE",e))(De||{}),Ne=(e=>(e[e.NO_ACTION=0]="NO_ACTION",e[e.DISCONNECT_ASAP=1]="DISCONNECT_ASAP",e[e.DISCONNECT_ASAP_SILENTLY=2]="DISCONNECT_ASAP_SILENTLY",e[e.DISCONNECT_ON_NO_ACK=3]="DISCONNECT_ON_NO_ACK",e[e.REQUESTED_CONNECTION=4]="REQUESTED_CONNECTION",e[e.HANDLING_CONNECTION_REQUEST=5]="HANDLING_CONNECTION_REQUEST",e[e.UNVERIFIED_SENDER=6]="UNVERIFIED_SENDER",e[e.SET_ENCRYPTION_ON_MULTIPLE_16_BYTE_PACKET=7]="SET_ENCRYPTION_ON_MULTIPLE_16_BYTE_PACKET",e[e.CONNECTED=8]="CONNECTED",e))(Ne||{}),C=(e=>(e[e.NO_TEAM=255]="NO_TEAM",e[e.PLAYER_ID=65535]="PLAYER_ID",e[e.VEHICLE_ID=65535]="VEHICLE_ID",e[e.ACTOR_ID=65535]="ACTOR_ID",e[e.OBJECT_ID=65535]="OBJECT_ID",e[e.MENU=-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||{}),Re=(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))(Re||{}),O=(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))(O||{}),Le=(e=>(e[e.OFF=0]="OFF",e[e.GLOBAL=1]="GLOBAL",e[e.STREAMED=2]="STREAMED",e))(Le||{}),be=(e=>(e[e.NONE=1]="NONE",e[e.DRIVER=2]="DRIVER",e[e.ONFOOT=3]="ONFOOT",e))(be||{}),G=(e=>(e[e.none=0]="none",e[e.start=1]="start",e[e.pause=2]="pause",e))(G||{}),ve=(e=>(e[e._32x32=10]="_32x32",e[e._64x32=20]="_64x32",e[e._64x64=30]="_64x64",e[e._128x32=40]="_128x32",e[e._128x64=50]="_128x64",e[e._128x128=60]="_128x128",e[e._256x32=70]="_256x32",e[e._256x64=80]="_256x64",e[e._256x128=90]="_256x128",e[e._256x256=100]="_256x256",e[e._512x64=110]="_512x64",e[e._512x128=120]="_512x128",e[e._512x256=130]="_512x256",e[e._512x512=140]="_512x512",e))(ve||{}),we=(e=>(e[e.LEFT=0]="LEFT",e[e.CENTER=1]="CENTER",e[e.RIGHT=2]="RIGHT",e))(we||{}),Oe=(e=>(e[e.GLOBAL_OBJECT=1]="GLOBAL_OBJECT",e[e.PLAYER_OBJECT=2]="PLAYER_OBJECT",e))(Oe||{}),Ge=(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))(Ge||{}),Be=(e=>(e[e.LOCAL=0]="LOCAL",e[e.GLOBAL=1]="GLOBAL",e[e.LOCAL_CHECKPOINT=2]="LOCAL_CHECKPOINT",e[e.GLOBAL_CHECKPOINT=3]="GLOBAL_CHECKPOINT",e))(Be||{}),ae=(e=>(e[e.MOVE=1]="MOVE",e[e.CUT=2]="CUT",e))(ae||{}),Fe=(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))(Fe||{}),ne=(e=>(e[e.NORMAL=1]="NORMAL",e[e.FIXED=2]="FIXED",e[e.SIDE=3]="SIDE",e))(ne||{}),z=(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))(z||{}),ke=(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))(ke||{}),Me=(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))(Me||{}),xe=(e=>(e[e.UNKNOWN=-1]="UNKNOWN",e[e.NONE=0]="NONE",e[e.ALL=1]="ALL",e[e.OTHER=2]="OTHER",e))(xe||{}),se=(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))(se||{}),q=(e=>(e[e.FONT_0=0]="FONT_0",e[e.FONT_1=1]="FONT_1",e[e.FONT_2=2]="FONT_2",e[e.FONT_3=3]="FONT_3",e[e.SPRITE_DRAW=4]="SPRITE_DRAW",e[e.MODEL_PREVIEW=5]="MODEL_PREVIEW",e[e.BANK=0]="BANK",e[e.STANDARD=1]="STANDARD",e[e.SPACEAGE=2]="SPACEAGE",e[e.HEADING=3]="HEADING",e[e.BECKETT_REGULAR=0]="BECKETT_REGULAR",e[e.AHARONI_BOLD=1]="AHARONI_BOLD",e[e.BANK_GOTHIC=2]="BANK_GOTHIC",e[e.PRICEDOWN=3]="PRICEDOWN",e[e.SPRITE=4]="SPRITE",e[e.PREVIEW=5]="PREVIEW",e))(q||{}),He=(e=>(e[e.LEFT=1]="LEFT",e[e.CENTER=2]="CENTER",e[e.RIGHT=3]="RIGHT",e))(He||{}),Ve=(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))(Ve||{}),Ue=(e=>(e[e.UNSET=0]="UNSET",e[e.OFF=1]="OFF",e[e.ON=2]="ON",e))(Ue||{}),We=(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))(We||{}),Ke=(e=>(e[e.UNKNOWN=-1]="UNKNOWN",e[e.REASON_VEHICLE=49]="REASON_VEHICLE",e[e.REASON_DROWN=53]="REASON_DROWN",e[e.REASON_COLLISION=54]="REASON_COLLISION",e[e.REASON_SPLAT=54]="REASON_SPLAT",e[e.REASON_CONNECT=200]="REASON_CONNECT",e[e.REASON_DISCONNECT=200]="REASON_DISCONNECT",e[e.REASON_SUICIDE=255]="REASON_SUICIDE",e[e.FIST=0]="FIST",e[e.BRASSKNUCKLE=1]="BRASSKNUCKLE",e[e.GOLFCLUB=2]="GOLFCLUB",e[e.NITESTICK=3]="NITESTICK",e[e.KNIFE=4]="KNIFE",e[e.BAT=5]="BAT",e[e.SHOVEL=6]="SHOVEL",e[e.POOLSTICK=7]="POOLSTICK",e[e.KATANA=8]="KATANA",e[e.CHAINSAW=9]="CHAINSAW",e[e.DILDO=10]="DILDO",e[e.DILDO2=11]="DILDO2",e[e.VIBRATOR=12]="VIBRATOR",e[e.VIBRATOR2=13]="VIBRATOR2",e[e.FLOWER=14]="FLOWER",e[e.CANE=15]="CANE",e[e.GRENADE=16]="GRENADE",e[e.TEARGAS=17]="TEARGAS",e[e.MOLTOV=18]="MOLTOV",e[e.COLT45=22]="COLT45",e[e.SILENCED=23]="SILENCED",e[e.DEAGLE=24]="DEAGLE",e[e.SHOTGUN=25]="SHOTGUN",e[e.SAWEDOFF=26]="SAWEDOFF",e[e.SHOTGSPA=27]="SHOTGSPA",e[e.UZI=28]="UZI",e[e.MP5=29]="MP5",e[e.AK47=30]="AK47",e[e.M4=31]="M4",e[e.TEC9=32]="TEC9",e[e.RIFLE=33]="RIFLE",e[e.SNIPER=34]="SNIPER",e[e.ROCKETLAUNCHER=35]="ROCKETLAUNCHER",e[e.HEATSEEKER=36]="HEATSEEKER",e[e.FLAMETHROWER=37]="FLAMETHROWER",e[e.MINIGUN=38]="MINIGUN",e[e.SATCHEL=39]="SATCHEL",e[e.BOMB=40]="BOMB",e[e.SPRAYCAN=41]="SPRAYCAN",e[e.FIREEXTINGUISHER=42]="FIREEXTINGUISHER",e[e.CAMERA=43]="CAMERA",e[e.NIGHT_VISION_GOGGLES=44]="NIGHT_VISION_GOGGLES",e[e.THERMAL_GOGGLES=45]="THERMAL_GOGGLES",e[e.PARACHUTE=46]="PARACHUTE",e))(Ke||{}),Ze=(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))(Ze||{}),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||{}),Xe=(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))(Xe||{}),le=(e=>(e[e.VEHICLE=49]="VEHICLE",e[e.HELICOPTERBLADES=50]="HELICOPTERBLADES",e[e.EXPLOSION=51]="EXPLOSION",e[e.DROWN=53]="DROWN",e[e.COLLISION=54]="COLLISION",e[e.CONNECT=200]="CONNECT",e[e.DISCONNECT=201]="DISCONNECT",e[e.SUICIDE=255]="SUICIDE",e))(le||{}),Ye=(e=>(e[e.NONE=0]="NONE",e[e.DRIVER=1]="DRIVER",e[e.ONFOOT=2]="ONFOOT",e))(Ye||{});class B{constructor(){throw new Error("This is a static class and cannot be instantiated.")}static recordStatus;static connectNPC=ca;static startRecordingPlayerData(t,a,n){if(t.isRecording)return o.warn("[NpcFunc]: It should be stopped before recording");Ji(t.id,a,n),t.isRecording=!0}static stopRecordingPlayerData(t){if(!t.isRecording)return o.warn("[NpcFunc]: It should be started before stop");Qi(t.id),t.isRecording=!1}static startRecordingPlayback(t,a){if(B.recordStatus>=G.start)return o.warn("[NpcFunc]: The current status cannot be replayed");Tr(t,a),B.recordStatus=G.start}static stopRecordingPlayback(){if(B.recordStatus<G.start)return o.warn("[NpcFunc]: The current status cannot be stopped");Cr(),B.recordStatus=G.none}static pauseRecordingPlayback(){if(B.recordStatus!==G.start)return o.warn("[NpcFunc]: The current status cannot be paused");Dr(),B.recordStatus=G.pause}static resumeRecordingPlayback(){if(B.recordStatus!==G.pause)return o.warn("[NpcFunc]: The current status cannot be paused");Nr(),B.recordStatus=G.start}}const ze=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}]]]),oe=e=>{const t=ze.get(e);return t===void 0?!1:t},$e=(e,t)=>{const a=oe(e);if(a)return t==="null"?!0:a.some(n=>n.n===t)},Je=(e,t)=>{const a=oe(e);if(a)return a.find(n=>n.n===t)?.d},W=(e,t)=>{const a=t.replace("-","")==="utf8"?e:f.encodeToBuf(e,t);return[a instanceof Array?"a":"s",a]},Qe=(e,t,a)=>{const n=W(a,e.charset);return samp.callNative("SendClientMessage",`ii${n[0]}`,e.id,I(t),n[1])},ec=(e,t,a)=>(e.forEach(n=>Qe(n,t,a)),1),qe=(e,t,a)=>{const n=W(a,e.charset);return samp.callNative("SendPlayerMessageToPlayer",`ii${n[0]}`,e.id,t,n[1])},tc=(e,t,a)=>(e.forEach(n=>{qe(n,t,a)}),1),ac=(e,t,a)=>{const{charset:n}=e,{style:i,caption:r,info:s,button1:l,button2:d}=a,[_,p]=W(r||"",n),[,g]=W(s||"",n),[,S]=W(l||"",n),[,P]=W(d||"",n);return samp.callNative("ShowPlayerDialog",`iii${_.repeat(4)}`,e.id,t,i,p,g,S,P)},nc=e=>{const[t]=samp.callNative("GetPlayerName","iAi",e.id,O.MAX_PLAYER_NAME);return f.decodeFromBuf(f.getValidStr(t),e.charset)},ic=(e,t)=>samp.callNative("SetPlayerName","ia",e.id,f.encodeToBuf(t,e.charset)),rc=(e,t,a)=>{const n=f.encodeToBuf(t,a);return samp.callNative("BanEx","ia",e,n)},sc=(e,t="utf8")=>{const[a,n]=W(e,t);return samp.callNative("SendRconCommand",a,n)},lc=(e,t,a,n,i,r,s,l,d,_,p,g,S,P,T,v)=>{const x=f.encodeToBuf(t,e);return samp.callNative("CreateDynamic3DTextLabel","aiffffiiiiiifii",x,a,n,i,r,s,l,d,_,p,g,S,P,T,v)},oc=(e,t,a,n,i,r,s,l,d,_,p,g,S,P,T,v)=>{const x=f.encodeToBuf(e,v);return samp.callNative("CreateDynamic3DTextLabelEx","aiffffiiifaaaaiiiii",x,t,a,n,i,r,s,l,d,_,p,g,S,P,T,p.length,g.length,S.length,P.length)},dc=(e,t,a,n)=>{const i=f.encodeToBuf(a,n);return samp.callNative("UpdateDynamic3DTextLabelText","iia",e,t,i)},cc=(e,t)=>{const[a]=samp.callNative("GetDynamic3DTextLabelText","iAi",e,1024);return f.decodeFromBuf(f.getValidStr(a),t)},_c=(e,t,a,n,i,r,s,l,d,_,p)=>{const g=f.encodeToBuf(n,e),S=f.encodeToBuf(r,e);return samp.callNative("SetDynamicObjectMaterialText","iiaiaiiiii",t,a,g,i,S,s,l,d,_,p)},hc=(e,t,a)=>{const[n,i,r,s,l,d,_]=samp.callNative("GetDynamicObjectMaterialText","iiAIAIIIIIii",e,t,2048,32),p=f.decodeFromBuf(n,a),g=f.decodeFromBuf(r,a);return{text:p,materialSize:i,fontFace:g,bold:s,fontColor:l,backColor:d,textAlignment:_}},[et]=h({name:"OnGameModeInit"}),[tt]=h({name:"OnGameModeExit"}),[uc]=h({name:"OnIncomingConnection",beforeEach(e,t,a){return{playerId:e,ipAddress:t,port:a}}}),[mc]=h({name:"OnRconCommandI18n",identifier:"ai",beforeEach(e){return{buffer:e,cmd:f.decodeFromBuf(e)}}}),[pc]=h({name:"OnRconLoginAttemptI18n",identifier:"aiaii",beforeEach(e,t,a){return{ip:f.decodeFromBuf(e),password:f.decodeFromBuf(t),success:!!a,ipBuffer:e,passwordBuffer:t}}}),K=[],$=[],de=new Map,ce=async e=>{try{return await new Promise((t,a)=>{const n=K.findIndex(l=>l.name===e);if(n===-1)return;const i=K[n];function r(l){l.length&&de.set(e,l),K.splice(n,1),$.push(i),setTimeout(t)}const s=i.load();s instanceof Promise?s.then(r).catch(a):r(s)})}catch(t){o.error(`[GameMode]: script ${e} load fail`),o.warn(t)}},_e=async e=>{try{return await new Promise((t,a)=>{const n=$.findIndex(d=>d.name===e);if(n===-1)return;const i=$[n],r=de.get(e);r&&(r.forEach(d=>d()),de.delete(e));function s(){$.splice(n,1),K.push(i),setTimeout(t)}const l=i.unload();l instanceof Promise?l.then(s).catch(a):s()})}catch(t){o.error(`[GameMode]: script ${e} unload fail`),o.warn(t)}},gc=async e=>{await _e(e),await ce(e)};et(async({next:e})=>{const t=K.map(a=>a.name);for(const a of t)await ce(a);return e()}),tt(async({next:e})=>{const t=$.map(a=>a.name);for(const a of t)await _e(a);return e()});const Sc=function(e,...t){if(K.some(a=>a.name===e.name)||$.some(a=>a.name===e.name)){o.warn(`[GameMode]: script ${e.name} has already been applied`);return}e.load=e.load.bind(e,...t),K.push(e)};class D{constructor(){throw new Error("This is a static class and cannot be instantiated.")}static onInit=et;static onExit=tt;static onIncomingConnection=uc;static onRconCommand=mc;static onRconLoginAttempt=pc;static use(t,...a){return Sc(t,...a),this}static loadUseScript=ce;static reloadUseScript=gc;static unloadUseScript=_e;static supportAllNickname(){for(let t=0;t<=255;t++)this.isNickNameCharacterAllowed(t)||this.allowNickNameCharacter(t,!0)}static setWeather(t){return t<0||t>255?(o.error("[GameMode]: The valid weather value is only 0 to 255"),0):qt(t)}static setWorldTime(t){return t<0||t>23?(o.error("[GameMode]: The valid hour value is only 0 to 23"),0):$t(t)}static getWorldTime=Jt;static setTeamCount=Pa;static sendRconCommand=sc;static addPlayerClass=fa;static addPlayerClassEx=Aa;static createExplosion(t,a,n,i,r){return i<0||i>13?(o.error("[GameMode]: The valid explosion type value is only 0 to 13"),0):aa(t,a,n,i,r)}static manualVehicleEngineAndLights=ys;static blockIpAddress=Va;static unBlockIpAddress=Ua;static getServerTickRate=_a;static addSimpleModel(t,a,n,i,r){return this.checkSimpleModel(t,a,n,i,r)?Kd(t,a,n,i,r):0}static addSimpleModelTimed(t,a,n,i,r,s,l){return this.checkSimpleModel(t,a,n,i,r,s,l)?Zd(t,a,n,i,r,s,l):0}static checkSimpleModel(t,a,n,i,r,s,l){return t<-1?(o.error("[GameMode]: AddSimpleModel - Error virtual world"),0):a<0?(o.error("[GameMode]: AddSimpleModel - Error baseId"),0):n>-1e3||n<-3e4?(o.error("[GameMode]: AddSimpleModel - Error newId range"),0):i.trim().length<0?(o.error("[GameMode]: AddSimpleModel - Empty dffName"),0):r.trim().length<0?(o.error("[GameMode]: AddSimpleModel - Empty txdName"),0):s!==void 0&&(s<0||s>23)?(o.error("[GameMode]: AddSimpleModel - Error time on range"),0):l!==void 0&&(l<0||l>23)?(o.error("[GameMode]: AddSimpleModel - Error time off range"),0):1}static isValidCustomModel=Ee;static getCustomModePath=qd;static getConsoleVarAsString(t,a="utf8"){const n=Gt(t);return f.decodeFromBuf(f.getValidStr(n),a)}static getRestartTime=Vt;static setRestartTime=Ht;static allowAdminTeleport=Rt;static isAdminTeleportAllowed=Lt;static allowInteriorWeapons=bt;static areInteriorWeaponsAllowed=vt;static areAllAnimationsEnabled=wt;static enableAllAnimations=Ot;static enableStuntBonusForAll=ua;static enableVehicleFriendlyFire=Qt;static enableZoneNames=na;static disableInteriorEnterExits=ra;static setGameModeText=Xt;static getGravity=ea;static setGravity=ta;static showNameTags=Yt;static disableNameTagLOS=la;static usePlayerPedAnims=ia;static showPlayerMarkers=zt;static limitPlayerMarkerRadius=da;static limitGlobalChatRadius=oa;static setNameTagDrawDistance=sa;static findModelFileNameFromCRC=Xd;static findTextureFileNameFromCRC=Yd;static getWeaponName=Sa;static setObjectsDefaultCameraCollision=Wd;static vectorSize=jt;static clearBanList=Za;static isBanned=ja;static isValidNickName=ft;static allowNickNameCharacter=At;static isNickNameCharacterAllowed=Et;static addServerRule=Tt;static setServerRule=Ct;static isValidServerRule=Dt;static removeServerRule=Nt;static getWeaponSlot=ga;static getAvailableClasses=Se;static getPlayerClass=ya;static editPlayerClass=Ia;static toggleChatTextReplacement=ma;static chatTextReplacementToggled=pa;static getConsoleVarAsInt=Bt;static getConsoleVarAsBool=Ft;static getWeather=kt;static getServerRuleFlag=Mt;static setServerRuleFlags=xt}const[at]=h({name:"OnClientCheckResponse",beforeEach(e,t,a,n){return{player:m.getInstance(e),actionId:t,memAddr:a,data:n}}}),[yc,Ic]=h({name:"OnPlayerLocaleChange",isNative:!1,beforeEach(e,t,a){return{player:e,newLocale:t,oldLocale:a}}}),[Pc,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;_charset="ISO-8859-1";_locale="en_US";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,Ic(this,t,a)}sendClientMessage(t,a){return Qe(this,t,a)}static sendClientMessageToAll(t,a){ec(m.getInstances(),t,a)}sendMessageToPlayer(t,a){return qe(t,this.id,a)}sendMessageToAll(t){return tc(m.getInstances(),this.id,t)}isNpc(){return Nn(this.id)}getFps(){return this.lastFps}getDrunkLevel(){return zn(this.id)}setDrunkLevel(t){return t<0||t>5e4?(o.error(new Error("[Player]: player's drunk level ranges from 0 to 50000")),!1):$n(this.id,t)}allowTeleport(t){return In(this.id,t)}isTeleportAllowed(){return Pn(this.id)}enableCameraTarget(t){return pr(this.id,t)}enableStuntBonus(t){return Yi(this.id,t)}getInterior(){return Fn(this.id)}setInterior(t){return Bn(this.id,t)}showNameTag(t,a){return or(this.id,t.id,a)}setColor(t){return Jn(this.id,t)}getColor(){return Qn(this.id)}setMarker(t,a){sr(this.id,t.id,a)}getMarker(t){return lr(this.id,t.id)}resetMoney(){return si(this.id)}getMoney(){return li(this.id)}giveMoney(t){return ri(this.id,t)}resetWeapons(){return ai(this.id)}spawn(){return this.isSpectating()?(this.toggleSpectating(!1),1):Ta(this.id)}setHealth(t){return kn(this.id,t)}getHealth(){return Mn(this.id)}toggleClock(t){return mi(this.id,t)}toggleControllable(t){return Mi(this.id,t)}toggleSpectating(t){return qi(this.id,t)}spectatePlayer(t,a=ne.NORMAL){return er(this.id,t.id,a)}spectateVehicle(t,a=ne.NORMAL){return tr(this.id,t.id,a)}forceClassSelection(){return gi(this.id)}kick(){return ka(this.id)}ban(){return Ma(this.id)}banEx(t,a){return rc(this.id,t,a)}isAdmin(){return Ba(this.id)}isInRangeOfPoint(t,a,n,i){return wn(this.id,t,a,n,i)}isStreamedIn(t){return Gn(this.id,t.id)}setSkin(t,a=!1){return!a&&(t<0||t>311||t==74)||this.getHealth()<=0||this.isInAnyVehicle()||this.getSpecialAction()===se.DUCK?!1:qn(this.id,t)}getSkin(){return ei(this.id)}isInAnyVehicle(){return nr(this.id)}getSpecialAction(){return Wi(this.id)}setSpecialAction(t){return Ki(this.id,t)}setScore(t){return Xn(this.id,t)}getScore(){return Yn(this.id)}getPing(){return di(this.id)||0}setPos(t,a,n){return ye(this.id,t,a,n)}getPos(){if(this.isSpectating()||this.isWasted()||this.getState()===z.NONE)return;const[t,a,n]=Ln(this.id);return{x:t,y:a,z:n}}isSpectating(){return this.getState()===z.SPECTATING}isWasted(){return this.getState()===z.WASTED}getState(){return oi(this.id)}getVersion(){return this.isNpc()?"":za(this.id)}setVirtualWorld(t){return ji(this.id,t)}getVirtualWorld(){return Xi(this.id)}removeFromVehicle(){return ki(this.id)}setWantedLevel(t){return t<0||t>6?(o.error("[Player]: player's wanted level ranges from 0 to 6"),!1):Si(this.id,t)}getWantedLevel(){return yi(this.id)}setFacingAngle(t){return bn(this.id,t)}getFacingAngle(){return vn(this.id)}setWeather(t){return t<0||t>255?(o.warn("[Player]: The valid weather value is only 0 to 255"),!1):pi(this.id,t)}getWeather(){return qa(this.id)}setTime(t,a){return t<0||t>23?(o.warn("[Player]: The valid hour value is only 0 to 23"),!1):a<0||a>59?(o.warn("[Player]: The valid minute value is only 0 to 59"),!1):hi(this.id,t,a)}getTime(){const[t,a]=ui(this.id);return{hour:t,minute:a}}removeBuilding(t,a,n,i,r){return vi(this.id,t,a,n,i,r)}setTeam(t){t<0||t>C.NO_TEAM||Zn(this.id,t)}getTeam(){return jn(this.id)}setSkillLevel(t,a){return a<0||a>999?(o.warn("[Player]: The valid skill level is only 0 to 999"),!1):Ni(this.id,t,a)}getName(){return nc(this)}setName(t){return ic(this,t)}setVelocity(t,a,n){return fi(this.id,t,a,n)}getVelocity(){const[t,a,n]=Ai(this.id);return{x:t,y:a,z:n}}getSpeed(t=180){if(this.id===-1)return 0;const{x:a,y:n,z:i}=this.getVelocity();return D.vectorSize(a,n,i)*t}getKeys(){const[t,a,n]=_i(this.id);return{keys:t,upDown:a,leftRight:n}}getIp(){return Ya(this.id)}getFightingStyle(){return Pi(this.id)}setFightingStyle(t){return Ii(this.id,t)}setArmour(t){return xn(this.id,t)}getArmour(){return Hn(this.id)}setCameraBehind(){return _r(this.id)}setCameraPos(t,a,n){return dr(this.id,t,a,n)}setCameraLookAt(t,a,n,i){return cr(this.id,t,a,n,i)}getCameraAspectRatio(){return yr(this.id)}getCameraFrontVector(){const[t,a,n]=ur(this.id);return{x:t,y:a,z:n}}getCameraMode(){return mr(this.id)}getCameraPos(){const[t,a,n]=hr(this.id);return{x:t,y:a,z:n}}getCameraTargetPlayer(t){const a=Sr(this.id);return t.find(n=>n.id===a)}getCameraTargetVehicle(t){const a=gr(this.id);return t.find(n=>n.id===a)}getCameraZoom(){return Ir(this.id)}playAudioStream(t,a=0,n=0,i=0,r=5){let s=!1;return(a!==0||n!==0||i!==0)&&(s=!0),Ti(this.id,t,a,n,i,r,s)}stopAudioStream(){return Ci(this.id)}playSound(t,a=0,n=0,i=0){return xi(this.id,t,a,n,i)}static getMaxPlayers(){return Zt()}playCrimeReport(t,a){return a<3||a>22?(o.warn("[Player]: Available crime ids range from 3 to 22"),!1):Ei(this.id,t.id,a)}interpolateCameraPos(t,a,n,i,r,s,l,d=ae.CUT){return Pr(this.id,t,a,n,i,r,s,l,d)}interpolateCameraLookAt(t,a,n,i,r,s,l,d=ae.CUT){return fr(this.id,t,a,n,i,r,s,l,d)}createExplosion(t,a,n,i,r){return i<0||i>13?(o.error("[Player]: The valid explosion type value is only 0 to 13"),!1):$i(this.id,t,a,n,i,r)}static isConnected(t){return Ie(t)}isConnected(){return Ie(this.id)}disableRemoteVehicleCollisions(t){return Zi(this.id,t)}getVehicle(t){if(!this.isInAnyVehicle())return;const a=Bi(this.id);return t.find(n=>n.id===a)}getVehicleSeat(){return Fi(this.id)}getSurfingVehicle(t){const a=Ri(this.id);if(a!==C.VEHICLE_ID)return t.find(n=>n.id===a)}applyAnimation(t,a,n=4.1,i=!1,r=!0,s=!0,l=!1,d=0,_=!1){return $e(t,a)?Hi(this.id,t,a,n,i,r,s,l,d,+_):(o.error("[Player]: Invalid anim library or name"),!1)}clearAnimations(t=!1){return Vi(this.id,t)}getAnimationIndex(){return Ui(this.id)}getAnimationName(){const[t,a]=ha(this.getAnimationIndex());return{animLib:t,animName:a}}setShopName(t){return Di(this.id,t)}setPosFindZ(t,a,n=150){return new Promise(i=>{ye(this.id,t,a,n),setTimeout(()=>i(Rn(this.id,t,a,n)))})}setWorldBounds(t,a,n,i){return ir(this.id,t,a,n,i)}clearWorldBounds(){return rr(this.id)}setChatBubble(t,a,n,i){return Oi(this.id,t,a,n,i)}getDistanceFromPoint(t,a,n){return On(this.id,t,a,n)}getCustomSkin(){return zi(this.id)}getTargetPlayer(t){const a=Kn(this.id);if(a!==C.PLAYER_ID)return t.find(n=>n.id===a)}getLastShotVectors(){const[t,a,n,i,r,s]=wi(this.id);return{fOriginX:t,fOriginY:a,fOriginZ:n,fHitPosX:i,fHitPosY:r,fHitPosZ:s}}getWeapon(){return ci(this.id)}getWeaponData(t){if(t<0||t>12){o.error("[Player]: weapon slots range from 0 to 12");return}const[a,n]=ii(this.id,t);return{weapons:a,ammo:n}}getWeaponState(){return Wn(this.id)}giveWeapon(t,a){return ti(this.id,t,a)}setAmmo(t,a){return Vn(this.id,t,a)}getAmmo(){return Un(this.id)}setArmedWeapon(t){return ni(this.id,t)}clearDeathMessage(){for(let t=0;t<5;t++)this.sendDeathMessageToPlayer(C.PLAYER_ID,C.PLAYER_ID,le.CONNECT)}sendDeathMessage(t,a){return Kt(t===C.PLAYER_ID?t:t.id,this.id,a)}sendDeathMessageToPlayer(t,a,n){return Cn(this.id,t===C.PLAYER_ID?t:t.id,a===C.PLAYER_ID?a:a.id,n)}setSpawnInfo(t,a,n,i,r,s,l,d,_,p,g,S){return t<0||t>C.NO_TEAM||a<0||a>311||a==74||d<0||p<0||S<0?!1:Ea(this.id,t,a,n,i,r,s,l,d,_,p,g,S)}redirectDownload(t){return jd(this.id,t)}sendClientCheck(t,a,n,i){const r=[2,5,69,70,71,72];return r.includes(t)?new Promise((s,l)=>{if(this.isPaused)return l("[Player]: An attempt to check the player client response, but the player paused the game");const d="[Player]: An attempt to check the player client response timed out",_=this.getPing(),p=(_>=200?0:_)+200;let g=null;const S=at(({player:P,actionId:T,memAddr:v,data:x,next:te})=>{if(P!==this)return te();g?(clearTimeout(g),g=null,l(d)):s({actionId:T,memAddr:v,data:x});const dt=te();return S(),dt});g=setTimeout(()=>{S(),l(d)},p),Ka(this.id,t,a,n,i)}):o.error(`[Player]: sendClientCheck valid types are ${r.toString()}`)}selectTextDraw(t){Qo(this.id,t)}cancelSelectTextDraw(){qo(this.id)}beginObjectSelecting(){return Vd(this.id)}endObjectEditing(){return Ud(this.id)}getSurfingObject(t){const a=Li(this.id);if(a!==C.OBJECT_ID)return t.get(a)}getSurfingPlayerObject(t){const a=bi(this.id);if(a!==C.OBJECT_ID)return t.get(a)}isAttachedObjectSlotUsed(t){return Qd(this.id,t)}editAttachedObject(t){return Hd(this.id,t)}setAttachedObject(t,a,n,i=0,r=0,s=0,l=0,d=0,_=0,p=1,g=1,S=1,P=0,T=0){return this.isAttachedObjectSlotUsed(t)?0:$d(this.id,t,a,n,i,r,s,l,d,_,p,g,S,P,T)}removeAttachedObject(t){return this.isAttachedObjectSlotUsed(t)?Jd(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 $a(this.id,t)}isWidescreenToggled(){return Ja(this.id)}getSpawnInfo(){return Ca(this.id)}getSkillLevel(t){return Qa(this.id,t)}isCheckpointActive(){return dl(this.id)}getCheckpoint(){return cl(this.id)}isRaceCheckpointActive(){return _l(this.id)}getRaceCheckpoint(){return hl(this.id)}getWorldBounds(){en(this.id)}isInModShop(){return al(this.id)}getSirenState(){return nl(this.id)}getLandingGearState(){return il(this.id)}getHydraReactorAngle(){return rl(this.id)}getTrainSpeed(){return sl(this.id)}getZAim(){return tn(this.id)}getSurfingOffsets(){return an(this.id)}getRotationQuat(){return nn(this.id)}getDialogID(){return rn(this.id)}getSpectateID(){return sn(this.id)}getSpectateType(){return ln(this.id)}getRawIp(){return Xa(this.id)}setGravity(t){return on(this.id,t)}getGravity(){return dn(this.id)}setAdmin(t){return Fa(this.id,t)}isSpawned(){return cn(this.id)}isControllable(){return _n(this.id)}isCameraTargetEnabled(){return hn(this.id)}toggleGhostMode(t){return un(this.id,t)}getGhostMode(){return mn(this.id)}getBuildingsRemoved(){return pn(this.id)}getAttachedObject(t){return zd(this.id,t)}removeWeapon(t){return gn(this.id,t)}isUsingOfficialClient(){return yn(this.id)}allowWeapons(t){return fn(this.id,t)}areWeaponsAllowed(){return An(this.id)}gpci(t=this.charset){return Wa(this.id,t)}isCuffed(){return Ar(this.id)}isInDriveByMode(){return Er(this.id)}static getInstance(t){return this.players.get(t)}static getInstances(){return[...this.players.values()]}}const[nt]=h({name:"OnDialogResponseI18n",identifier:"iiiiai",beforeEach(e,t,a,n,i){return{player:m.getInstance(e),dialogId:t,response:a,listItem:n,buffer:i}}});nt(({next:e,player:t,dialogId:a,response:n,listItem:i,buffer:r})=>{const s=R.waitingQueue.get(t);return!s||s.showId!==a||setTimeout(()=>s.resolve({response:n,listItem:i,buffer:r})),e()});class R{id=-1;static showingIds=[];static maxDialogId=32767;dialog;static waitingQueue=new WeakMap;constructor(t={style:re.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=R.waitingQueue.get(t);if(!n)return!1;a&&n.reject("[Dialog]: player timeout does not respond or second request show dialog"),R.waitingQueue.delete(t);const i=R.showingIds.indexOf(n.showId);return i>-1&&R.showingIds.splice(i,1),!0}show(t){return new Promise((a,n)=>{for(R.close(t);(this.id===-1||R.showingIds.includes(this.id))&&R.showingIds.length!==R.maxDialogId;)this.id=Math.floor(Math.random()*(R.maxDialogId+1));if(this.id===-1){n("[Dialog]: The maximum number of dialogs is reached");return}R.showingIds.push(this.id),R.waitingQueue.set(t,{resolve:a,reject:n,showId:this.id}),ac(t,this.id,this.dialog)}).then(a=>{const{response:n,listItem:i}=a,r=f.decodeFromBuf(a.buffer,t.charset);return Promise.resolve({response:n,listItem:i,inputText:r})}).catch(a=>Promise.reject(a)).finally(()=>R.delDialogTask(t))}static close(t){R.delDialogTask(t,!0),Sn(t.id)}}const[it]=h({name:"OnPlayerConnect",beforeEach(e){const t=new m(e);return m.players.set(e,t),R.close(t),{player:t}}}),[rt]=h({name:"OnPlayerDisconnect",beforeEach(e,t){return{player:m.players.get(e),reason:t}},afterEach({player:e}){m.players.delete(e.id)}}),[st]=h({name:"OnPlayerUpdate",beforeEach(e){return{player:m.getInstance(e)}}}),[Ac]=h({name:"OnPlayerTextI18n",identifier:"iai",beforeEach(e,t){const a=m.getInstance(e);return{player:a,text:f.decodeFromBuf(t,a.charset),buffer:t}}}),[Ec]=h({name:"OnPlayerEnterExitModShop",beforeEach(e,t,a){return{player:m.getInstance(e),enterExit:!!t,interior:a}}}),[Tc]=h({name:"OnPlayerClickMap",beforeEach(e,t,a,n){return{player:m.getInstance(e),fX:t,fY:a,fZ:n}}}),[Cc]=h({name:"OnPlayerClickPlayer",beforeEach(e,t,a){return{player:m.getInstance(e),clickedPlayer:m.getInstance(t),source:a}}}),[Dc]=h({name:"OnPlayerDeath",beforeEach(e,t,a){return{player:m.getInstance(e),killer:m.getInstance(t)||C.PLAYER_ID,reason:a}}}),[Nc]=h({name:"OnPlayerGiveDamage",beforeEach(e,t,a,n,i){return{player:m.getInstance(e),damage:m.getInstance(t),amount:a,weapon:n,bodyPart:i}}}),[Rc]=h({name:"OnPlayerKeyStateChange",beforeEach(e,t,a){return{player:m.getInstance(e),newKeys:t,oldKeys:a}}}),[Lc]=h({name:"OnPlayerRequestClass",beforeEach(e,t){return{player:m.getInstance(e),classId:t}}}),[bc]=h({name:"OnPlayerRequestSpawn",beforeEach(e){return{player:m.getInstance(e)}}}),[vc]=h({name:"OnPlayerSpawn",beforeEach(e){return{player:m.getInstance(e)}}}),[wc]=h({name:"OnPlayerStateChange",beforeEach(e,t,a){return{player:m.getInstance(e),newState:t,oldState:a}}}),[Oc]=h({name:"OnPlayerSteamIn",beforeEach(e,t){return{player:m.getInstance(e),forPlayer:m.getInstance(t)}}}),[Gc]=h({name:"OnPlayerSteamOut",beforeEach(e,t){return{player:m.getInstance(e),forPlayer:m.getInstance(t)}}}),[Bc]=h({name:"OnPlayerTakeDamage",beforeEach(e,t,a,n,i){return{player:m.getInstance(e),damage:m.getInstance(t)||C.PLAYER_ID,amount:a,weapon:n,bodyPart:i}}}),[Fc]=h({name:"OnPlayerInteriorChange",beforeEach(e,t,a){return{player:m.getInstance(e),newInteriorId:t,oldInteriorId:a}}}),[kc]=h({name:"OnPlayerRequestDownload",beforeEach(e,t,a){return{player:m.getInstance(e),type:t,crc:a}}}),[Mc]=h({name:"OnPlayerFinishedDownloading",beforeEach(e,t){return{player:m.getInstance(e),virtualWorld:t}}});let ee=null;const[xc,Hc]=h({name:"OnPlayerPause",isNative:!1,beforeEach(e,t){return{player:e,pausedAt:t}}}),[Vc,Uc]=h({name:"OnPlayerResume",isNative:!1,beforeEach(e,t,a,n){return{player:e,pausedAt:t,now:a,diff:n}}}),[Wc,Kc]=h({name:"OnPlayerFpsUpdate",isNative:!1,beforeEach(e,t,a){return{player:e,newFps:t,oldFps:a}}});it(({next:e})=>(!ee&&m.getInstances().length&&(ee=setInterval(()=>{m.getInstances().filter(t=>{const a=t.getState()!==z.NONE;return!t.isPaused&&!t.isNpc()&&a}).forEach(t=>{Date.now()-t.lastUpdateTick>1e3&&(t.isPaused=!0,Hc(t,t.lastUpdateTick))})},500)),e())),rt(({next:e})=>(ee&&m.getInstances().length<=1&&(clearInterval(ee),ee=null),e()));function Zc(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,i=e.lastDrunkLevel-a-1;e.lastFps=i,e.lastDrunkLevel=a,Kc(e,i,n)}}st(({player:e,next:t})=>{if(!e.isNpc()){const a=Date.now();e.isPaused&&(e.isPaused=!1,Uc(e,e.lastUpdateTick,a,a-e.lastUpdateTick)),e.lastUpdateTick=a,Zc(e)}return t()});const J=new Map,lt=/[^/\s]+/gi,he={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"}},[jc,Xc]=h({name:"OnCommandReceived",isNative:!1,beforeEach(e,t){return{player:e,command:t}}}),[Yc,zc]=h({name:"OnCommandPerformed",isNative:!1,beforeEach(e,t){return{player:e,command:t}}}),[$c,ue]=h({name:"OnCommandError",isNative:!1,defaultValue:!1,beforeEach(e,t,a){return{player:e,command:t,error:a}}}),[Jc]=h({name:"OnPlayerCommandTextI18n",identifier:"iai",beforeEach(e,t){return{player:m.getInstance(e),buffer:t}}});function Qc(e){const t=[];let a="";for(let n=0;n<e.length;n++)a+=e[n]+" ",t.push(a.trimEnd());return t.reverse()}Jc(({player:e,buffer:t,next:a})=>{const n=f.decodeFromBuf(t,e.charset).match(lt),i=Qc(n).find(p=>J.get(p)),r=n.join(" ");if(!i)return ue(e,r,he.NOT_EXIST);const s=Xc(e,r);if(!s)return s;const l=J.get(i),[,d]=l,_=r.replace(i,"").trim().split(" ");return d(e,_)?zc(e,r)?a():ue(e,r,he.PERFORMED):ue(e,r,he.REJECTED)});function qc(e,t){return{player:e,subcommand:t}}const ot={on(e,t){const a=Array.isArray(e)?e:[e],n=a.find(r=>!r.match(lt));if(n)return console.log(`error command ${n} format`),()=>{};const i=a.map(r=>{const s=r.replaceAll("/","");if(!J.has(s)){const d=h({name:s,isNative:!1,beforeEach:qc});J.set(s,d)}const[l]=J.get(s);return l(t)});return()=>{i.forEach(r=>r())}},off(e){(Array.isArray(e)?e:[e]).forEach(t=>{J.has(t)&&ge(t)})}},me=Object.freeze({onConnect:it,onDisconnect:rt,onPause:xc,onResume:Vc,onUpdate:st,onText:Ac,onEnterExitModShop:Ec,onClickMap:Tc,onClickPlayer:Cc,onDeath:Dc,onGiveDamage:Nc,onKeyStateChange:Rc,onRequestClass:Lc,onRequestSpawn:bc,onSpawn:vc,onStateChange:wc,onStreamIn:Oc,onStreamOut:Gc,onTakeDamage:Bc,onInteriorChange:Fc,onRequestDownload:kc,onFinishedDownloading:Mc,onCheckResponse:at,onCommandReceived:jc,onCommandPerformed:Yc,onCommandError:$c,onCommandText:ot.on,offCommandText:ot.off,onDialogResponse:nt,onLocaleChange:yc,onCharsetChange:Pc,onFpsUpdate:Wc}),e_=[8,9,10,25,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,96,97,98],t_=[[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],[],[],[],[],[],[],[],[]],a_=(e,t)=>{if(!pe(e))return o.error("[vehicleUtils]: Invalid model id"),!1;const a=t_[e-400];if(a===null)return!1;const n=t-1e3;return e_.includes(n)||a.includes(n)},pe=e=>e>=400&&e<=611,n_=(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 E{static vehicles=new Map;static createdCount=0;sourceInfo;isStatic;_id=-1;get id(){return this._id}constructor(t,a=!1){this.sourceInfo=t,this.isStatic=a}create(t=!1){if(this.id!==-1)return o.warn("[Vehicle]: Unable to create the vehicle again");if(E.createdCount===O.MAX_VEHICLES)return o.warn("[Vehicle]: Unable to continue to create vehicle, maximum allowable quantity has been reached");const{modelId:a,x:n,y:i,z:r,zAngle:s,color:l,respawnDelay:d,addSiren:_}=this.sourceInfo;if(!(!t&&!pe(a))){if(this.isStatic){if(d===void 0){this._id=Js(a,n,i,r,s,l[0],l[1]);return}this._id=Qs(a,n,i,r,s,l[0],l[1],d||-1,_||!1)}else this._id=os(a,n,i,r,s,l[0],l[1],d||-1,_||!1);E.createdCount++,E.vehicles.set(this._id,this)}}destroy(){if(this.id===-1)return o.warn("[Vehicle]: Unable to destroy the vehicle before create");ds(this.id),E.createdCount--,E.vehicles.delete(this._id),this._id=-1}addComponent(t){return this.id===-1?0:a_(this.getModel(),t)?Rs(this.id,t):(o.warn(`[Vehicle]: Invalid component id ${t} attempted to attach to the vehicle ${this}`),0)}removeComponent(t){return this.getComponentInSlot(E.getComponentType(t))===0?(o.warn(`[Vehicle]: component id ${t} does not exist on this vehicle`),0):Ls(this.id,t)}getComponentInSlot(t){return Hs(this.id,t)}linkToInterior(t){return this.id===-1?0:Ns(this.id,t)}setVirtualWorld(t){return this.id===-1?0:zs(this.id,t)}getVirtualWorld(){return this.id===-1?0:$s(this.id)}repair(){return this.id===-1?0:Us(this.id)}setPos(t,a,n){return this.id===-1?0:hs(this.id,t,a,n)}getPos(){if(this.id!==-1)return _s(this.id)}getHealth(){return this.id===-1?0:Os(this.id)}setHealth(t){return this.id===-1?0:ws(this.id,t)}isPlayerIn(t){return this.id===-1?!1:ar(t.id,this.id)}putPlayerIn(t,a){return this.id===-1||a<0?0:(a>4&&o.warn("[Vehicle]: If the seat is invalid or is taken, will cause a crash when they EXIT the vehicle."),Gi(t.id,this.id,a))}getZAngle(){return this.id===-1?0:us(this.id)}setZAngle(t){return this.id===-1?0:gs(this.id,t)}setNumberPlate(t){return this.id===-1?0:t.length<1||t.length>32?(o.error("[Vehicle]: The length of the number plate ranges from 32 characters"),0):/^[a-zA-Z0-9]+$/.test(t)?Ms(this.id,t):(o.error("[Vehicle]: number plates only allow letters and numbers"),0)}changeColors(t,a){return this.id===-1?0:bs(this.id,t,a)}setVelocity(t,a,n){return this.id===-1?!1:Ks(this.id,t,a,n)}getVelocity(){if(this.id===-1)return;const[t,a,n]=Ws(this.id);return{x:t,y:a,z:n}}getSpeed(t=180){if(this.id===-1)return 0;const{x:a,y:n,z:i}=this.getVelocity();return D.vectorSize(a,n,i)*t}setAngularVelocity(t,a,n){return this.id===-1?0:Zs(this.id,t,a,n)}getDamageStatus(){if(this.id!==-1)return js(this.id)}updateDamageStatus(t,a,n,i){this.id!==-1&&Xs(this.id,t,a,n,i)}getDistanceFromPoint(t,a,n){return ps(this.id,t,a,n)}getModel(){return xs(this.id)}static getModelInfo(t,a){return Ys(t,a)}getModelInfo(t){if(this.id!==-1)return E.getModelInfo(this.getModel(),t)}getRotationQuat(){if(this.id===-1)return;const[t,a,n,i]=ms(this.id);return{w:t,x:a,y:n,z:i}}setRespawn(){return this.id===-1?0:Ds(this.id)}isStreamedIn(t){return this.id===-1?!1:cs(this.id,t.id)}setParamsCarDoors(t,a,n,i){return this.id===-1?0:As(this.id,t,a,n,i)}setParamsCarWindows(t,a,n,i){return this.id===-1?0:Ts(this.id,t,a,n,i)}getParamsCarDoors(){if(this.id!==-1)return Es(this.id)}getParamsCarWindows(){if(this.id!==-1)return Cs(this.id)}setParamsEx(t,a,n,i,r,s,l){return this.id===-1?0:Is(this.id,t,a,n,i,r,s,l)}getParamsEx(){if(this.id===-1)return;const[t,a,n,i,r,s,l]=Ps(this.id);return{engine:t,lights:a,alarm:n,doors:i,bonnet:r,boot:s,objective:l}}getParamsSirenState(){return this.id===-1?-2:fs(this.id)}setParamsForPlayer(t,a,n){return this.id===-1?0:Ss(this.id,t.id,a,n)}isTrailerAttached(){return this.id===-1?!1:Fs(this.id)}changePaintjob(t){return this.id===-1||!n_(this.getModel(),t)?0:(this.changeColors("#fff","#fff"),vs(this.id,t),1)}attachTrailer(t){return this.id===-1?0:Gs(t.id,this.id)}detachTrailer(){this.id!==-1&&this.isTrailerAttached()&&Bs(this.id)}getTrailer(){if(this.id!==-1)return E.getInstances().find(t=>t.id===ks(this.id))}isValid(){return fe(this.id)}getMatrix(){if(this.id!==-1)return ss(this.id)}getTrainSpeed(){return this.id===-1?0:rs(this.id)}getHydraReactorAngle(){return this.id===-1?0:is(this.id)}getLandingGearState(){return this.id===-1?0:ns(this.id)}getSirenState(){return this.id===-1?0:as(this.id)}getDriver(t){if(this.id!==-1)return t.get(es(this.id))}getLastDriver(t){if(this.id!==-1)return t.get(qr(this.id))}isSirenEnabled(){return Jr(this.id)}toggleSirenEnabled(t){return this.id===-1?0:zr(this.id,t)}setParamsSirenState(t){return this.id===-1?0:$r(this.id,t)}isDead(){return this.id===-1?!0:jr(this.id)}setDead(t){return this.id===-1?!1:Xr(this.id,t)}setBeenOccupied(t){return this.id===-1?!1:Yr(this.id,t)}getRespawnTick(){return this.id===-1?0:Kr(this.id)}setRespawnTick(t){return this.id===-1?!1:Zr(this.id,t)}isOccupied(){return this.id===-1?!1:Wr(this.id)}hasBeenOccupied(){return this.id===-1?!1:Ur(this.id)}getOccupiedTick(){return this.id===-1?0:Hr(this.id)}setOccupiedTick(t){return this.id===-1?0:Vr(this.id,t)}getCab(){return this.id===-1?0:xr(this.id)}getRespawnDelay(){return this.id===-1?0:Mr(this.id)}setRespawnDelay(t){return this.id===-1?0:kr(this.id,t)}getNumberPlate(){return this.id===-1?"":Fr(this.id)}getInterior(){return this.id===-1?0:Br(this.id)}getPaintjob(){return this.id===-1?-1:Gr(this.id)}getColors(){if(this.id!==-1)return Or(this.id)}setSpawnInfo(t,a,n,i,r,s,l,d=-2,_=-2,p=!1){return this.id===-1||!p&&!pe(t)?0:wr(this.id,t,a,n,i,r,I(s),I(l),d,_)}getSpawnInfo(){if(this.id!==-1)return vr(this.id)}getRandomColorPair(){if(this.id!==-1)return Pe(this.getModel())}show(){return this.id===-1?!1:qs(this.id)}hide(){return this.id===-1?!1:el(this.id)}isHidden(){return this.id===-1?!1:tl(this.id)}getVehicleOccupant(t){return ll(this.id,t)}getVehicleMaxPassengers(){return Ae(this.getModel())}countVehicleOccupants(){return ol(this.getModel())}static getVehicleMaxPassengers=Ae;static getRandomColorPair=Pe;static getComponentType=Vs;static colorIndexToColor=ls;static isValid=fe;static getModelsUsed=ts;static getModelCount=Qr;static getInstance(t){return this.vehicles.get(t)}static getInstances(){return[...this.vehicles.values()]}}D.onExit(({next:e})=>(E.getInstances().forEach(t=>t.destroy()),e()));const[i_]=h({name:"OnVehicleDamageStatusUpdate",beforeEach(e,t){return{vehicle:E.getInstance(e),player:m.getInstance(t)}}}),[r_]=h({name:"OnVehicleDeath",beforeEach(e,t){return{vehicle:E.getInstance(e),killer:m.getInstance(t)}}}),[s_]=h({name:"OnVehicleMod",beforeEach(e,t,a){return{player:m.getInstance(e),vehicle:E.getInstance(t),componentId:a}}}),[l_]=h({name:"OnVehiclePaintjob",beforeEach(e,t,a){return{player:m.getInstance(e),vehicle:E.getInstance(t),paintjobId:a}}}),[o_]=h({name:"OnVehicleRespray",beforeEach(e,t,a,n){return{player:m.getInstance(e),vehicle:E.getInstance(t),color:[a,n]}}}),[d_]=h({name:"OnVehicleSirenStateChange",beforeEach(e,t,a){return{player:m.getInstance(e),vehicle:E.getInstance(t),state:!!a}}}),[c_]=h({name:"OnVehicleSpawn",beforeEach(e){return{vehicle:E.getInstance(e)}}}),[__]=h({name:"OnVehicleStreamIn",beforeEach(e,t){return{vehicle:E.getInstance(e),forPlayer:m.getInstance(t)}}}),[h_]=h({name:"OnVehicleStreamOut",beforeEach(e,t){return{vehicle:E.getInstance(e),forPlayer:m.getInstance(t)}}}),[u_]=h({name:"OnPlayerEnterVehicle",beforeEach(e,t,a){return{player:m.getInstance(e),vehicle:E.getInstance(t),isPassenger:!!a}}}),[m_]=h({name:"OnPlayerExitVehicle",beforeEach(e,t){return{player:m.getInstance(e),vehicle:E.getInstance(t)}}}),[p_]=h({name:"OnNpcEnterVehicle",beforeEach(e,t){return{vehicle:E.getInstance(e),seatId:t}}}),[g_]=h({name:"OnNpcExitVehicle"}),[S_]=h({name:"OnTrailerUpdate",beforeEach(e,t){return{player:m.getInstance(e),vehicle:E.getInstance(t)}}}),y_=Object.freeze({onDamageStatusUpdate:i_,onDeath:r_,onMod:s_,onPaintjob:l_,onRespray:o_,onSirenStateChange:d_,onSpawn:c_,onStreamIn:__,onStreamOut:h_,onPlayerEnter:u_,onPlayerExit:m_,onNpcEnter:p_,onNpcExit:g_,onTrailerUpdate:S_});class I_{constructor(){throw new Error("This is a static class and cannot be instantiated.")}static getNetworkStats(){return Ha()}static getPlayerNetworkStats(t){return xa(t.id)}static getBytesReceived(t){return Ra(t.id)}static getBytesSent(t){return ba(t.id)}static getConnectionStatus(t){return Oa(t.id)}static getConnectedTime(t){return Da(t.id)}static getIpPort(t){return Ga(t.id)}static getMessagesReceived(t){return Na(t.id)}static getMessagesRecvPerSecond(t){return va(t.id)}static getMessagesSent(t){return La(t.id)}static getPacketLossPercent(t){return wa(t.id)}}class P_{_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){Wt(t)}static has(t,a){return Tn(t.id,a)}forAll(){Ut(this.text,this.time,this.style)}forPlayer(t){En(t.id,this.text,this.time,this.style)}hideForPlayer(t){return Dn(t.id,this.style)}}class Y{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){o.error("[Menu]: The menu column number interval is between 1 and 2");return}this._columns=t}_x;get x(){return this._x}set x(t){this._x=t}_y;get y(){return this._y}set y(t){this._y=t}_col1width;get col1width(){return this._col1width}set col1width(t){this._col1width=t}_col2width;get col2width(){return this._col2width}set col2width(t){this._col2width=t}constructor(t,a,n,i,r,s){this._title=t,this.columns=a,this._x=n,this._y=i,this._col1width=r,this._col2width=s}create(){return this._id!==-1?o.error("[Menu]: Cannot be created twice"):Y.getInstances().length===O.MAX_MENUS?o.error("[Menu]: The maximum number of menus allowed to be created has been reached 128"):(this._id=Pl(this.title,this.columns,this.x,this.y,this.col1width,this.col2width),Y.menus.set(this._id,this),this)}destroy(){return this._id===-1?o.error("[Menu]: Cannot destroy before create"):(fl(this.id),Y.menus.delete(this._id),this._id=-1,this)}addItem(t,a){return this._id===-1?o.error("[Menu]: Cannot addItem before create"):this._itemCount===O.MAX_MENU_ROW?o.error("[Menu]: The maximum number of items allowed to be added has been reached 12"):t!==0&&t!==1?o.error("[Menu]: Wrong number of columns"):(Al(this.id,t,a),this._itemCount++,this)}setColumnHeader(t,a){return this._id===-1?o.error("[Menu]: Cannot setColumnHeader before create"):t!==0&&t!==1?o.error("[Menu]: Wrong number of columns"):(El(this.id,t,a),this)}disable(){return this._id===-1?o.error("[Menu]: Cannot disable menu before create"):(Nl(this.id),this)}disableRow(t){if(this._id===-1)return o.error("[Menu]: Cannot disable row before create");if(t<0||t>this.itemCount-1)return o.error("[Menu]: Wrong number of rows");Rl(this.id,t)}isValid(){return Dl(this.id)}showForPlayer(t){return this._id===-1?o.error("[Menu]: Cannot show menu before create"):Tl(this.id,t.id)}hideForPlayer(t){return this._id===-1?o.error("[Menu]: Cannot hide menu before create"):Cl(this.id,t.id)}isDisabled(){return this._id===-1?!1:ul(this.id)}isRowDisabled(t){return this._id===-1||t<0||t>this._itemCount?!1:ml(this.id,t)}getItems(t){return this._id===-1?0:pl(this.id,t)}getPos(){return this._id===-1?{fX:this.x,fY:this.y}:gl(this.id)}getColumnWidth(){return this.id===-1?{fColumn1:this.col1width,fColumn2:this.col2width}:Sl(this.id)}getColumnHeader(t){return this._id===-1?o.error("[Menu]: Cannot get column header before create"):yl(this.id,t)}getItem(t,a){if(this._id===-1)return o.error("[Menu]: Cannot get item before create");if(!(a<0||a>this.getItems(t)-1))return Il(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===Ll(t.id))}}D.onExit(({next:e})=>(Y.getInstances().forEach(t=>t.destroy()),e()));const[f_]=h({name:"OnPlayerExitedMenu",beforeEach(e){return{player:m.getInstance(e)}}}),[A_]=h({name:"OnPlayerSelectedMenuRow",beforeEach(e,t){const a=m.getInstance(e),n=Y.getInstanceByPlayer(a);return{player:a,menu:n,row:t}}}),E_=Object.freeze({onPlayerExited:f_,onPlayerSelectedRow:A_});class L{static globalGangZones=new Map;static playerGangZones=new Map;sourceInfo;constructor(t){this.sourceInfo=t}_id=-1;get id(){return this._id}create(){if(this.id!==-1)return o.warn("[GangZone]: Unable to create the gangzone again");const{player:t}=this.sourceInfo;if(t){if(L.getInstances(!1).length===O.MAX_GANG_ZONES)return o.warn("[GangZone]: Unable to continue to create gangzone, maximum allowable quantity has been reached");const{minX:a,minY:n,maxX:i,maxY:r}=this.sourceInfo;this._id=Yl(t.id,a,n,i,r);const s=me.onDisconnect(({player:l,next:d})=>{d(),l===this.sourceInfo.player&&(this.destroy(),s())});L.playerGangZones.set(this.id,this)}else{if(L.getInstances(!0).length===O.MAX_GANG_ZONES)return o.warn("[GangZone]: Unable to continue to create gangzone, maximum allowable quantity has been reached");const{minX:a,minY:n,maxX:i,maxY:r}=this.sourceInfo;this._id=Ml(a,n,i,r),L.globalGangZones.set(this.id,this)}}destroy(){if(this.id===-1)return o.warn("[GangZone]: Unable to destroy the gangzone before create");const{player:t}=this.sourceInfo;t?(zl(t.id,this.id),L.playerGangZones.delete(this.id)):(xl(this.id),L.globalGangZones.delete(this.id)),this._id=-1}showForAll(t){return this.id===-1?(o.warn("[GangZone]: Unable to show the gangzone before create"),this):this.sourceInfo.player?(o.warn("[GangZone]: player's gangzone should not be show for all."),this):(Vl(this.id,t),this)}showForPlayer(t,a){if(this.id===-1)return o.warn("[GangZone]: Unable to show the gangzone before create"),this;const n=this.sourceInfo.player;if(n)$l(n.id,this.id,I(t));else if(a)Hl(a.id,this.id,t);else return o.warn("[GangZone]: invalid player for show"),this;return this}hideForAll(){return this.id===-1?(o.warn("[GangZone]: Unable to hide the gangzone before create"),this):this.sourceInfo.player?(o.warn("[GangZone]: player's gangzone should not be hide for all."),this):(Wl(this.id),this)}hideForPlayer(t){if(this.id===-1)return o.warn("[GangZone]: Unable to hide the gangzone before create"),this;const a=this.sourceInfo.player;if(a)Jl(a.id,this.id);else if(t)Ul(t.id,this.id);else return o.warn("[GangZone]: invalid player for hide"),this;return this}flashForAll(t){return this.id===-1?(o.warn("[GangZone]: Unable to flash the gangzone before create"),this):this.sourceInfo.player?(o.warn("[GangZone]: player's gangzone should not be flash for all."),this):(Zl(this.id,t),this)}flashForPlayer(t,a){if(this.id===-1)return o.warn("[GangZone]: Unable to flash the gangzone before create"),this;const n=this.sourceInfo.player;if(n)Ql(n.id,this.id,I(a));else if(t)Kl(t.id,this.id,a);else return o.warn("[GangZone]: invalid player for flash"),this;return this}stopFlashForAll(){return this.id===-1?(o.warn("[GangZone]: Unable to stop flash the gangzone before create"),this):this.sourceInfo.player?(o.warn("[GangZone]: player's gangzone should not be stop flash for all."),this):(Xl(this.id),this)}stopFlashForPlayer(t){if(this.id===-1)return o.warn("[GangZone]: Unable to stop flash the gangzone before create"),this;const a=this.sourceInfo.player;if(a)ql(a.id,this.id);else if(t)jl(t.id,this.id);else return o.warn("[GangZone]: invalid player for flash"),this;return this}isValid(){if(this.id===-1)return!1;const t=this.sourceInfo.player;return t?eo(t.id,this.id):bl(this.id)}isPlayerIn(t){if(this.id===-1)return!1;const a=this.sourceInfo.player;return a?to(a.id,this.id):vl(t.id,this.id)}isVisibleForPlayer(t){if(this.id===-1)return!1;const a=this.sourceInfo.player;return a?ao(a.id,this.id):wl(t.id,this.id)}getColorForPlayer(t){if(this.id===-1)return o.warn("[GangZone]: Unable to get color before create");const a=this.sourceInfo.player;return a?no(a.id,this.id):Ol(t.id,this.id)}getFlashColorForPlayer(t){if(this.id===-1)return o.warn("[GangZone]: Unable to get flash color before create");const a=this.sourceInfo.player;return a?io(a.id,this.id):Gl(t.id,this.id)}isFlashingForPlayer(t){if(this.id===-1)return!1;const a=this.sourceInfo.player;return a?ro(a.id,this.id):Bl(t.id,this.id)}getPos(){if(this.id===-1)return o.warn("[GangZone]: Unable to get position before create");const t=this.sourceInfo.player;return t?so(t.id,this.id):Fl(this.id)}useCheck(t){if(this.id===-1)return o.warn("[GangZone]: Unable to use check before create"),this;const a=this.sourceInfo.player;return a?lo(a.id,this.id,t):kl(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()]}}D.onExit(({next:e})=>(L.getInstances(!0).forEach(t=>t.destroy()),L.getInstances(!1).forEach(t=>t.destroy()),e()));const[T_]=h({name:"OnPlayerEnterGangZone",beforeEach(e,t){return{player:m.getInstance(e),gangZone:L.getInstance(t,!0)}}}),[C_]=h({name:"OnPlayerLeaveGangZone",beforeEach(e,t){return{player:m.getInstance(e),gangZone:L.getInstance(t,!0)}}}),[D_]=h({name:"OnPlayerEnterPlayerGangZone",beforeEach(e,t){return{player:m.getInstance(e),gangZone:L.getInstance(t,!1)}}}),[N_]=h({name:"OnPlayerLeavePlayerGangZone",beforeEach(e,t){return{player:m.getInstance(e),gangZone:L.getInstance(t,!1)}}}),[R_]=h({name:"OnPlayerClickGangZone",beforeEach(e,t){return{player:m.getInstance(e),gangZone:L.getInstance(t,!0)}}}),[L_]=h({name:"OnPlayerClickPlayerGangZone",beforeEach(e,t){return{player:m.getInstance(e),gangZone:L.getInstance(t,!1)}}}),b_=Object.freeze({onPlayerEnterGlobal:T_,onPlayerLeaveGlobal:C_,onPlayerEnterPlayer:D_,onPlayerLeavePlayer:N_,onPlayerClickGlobal:R_,onPlayerClickPlayer:L_}),A={skip:!1};D.onInit(({next:e})=>(A.skip=!1,e())),D.onExit(({next:e})=>(A.skip=!0,e()));const[Z]=h({name:"Streamer_OnItemStreamIn",identifier:"iii",beforeEach(e,t,a){return{type:e,id:t,forPlayer:m.getInstance(a)}}}),[j]=h({name:"Streamer_OnItemStreamOut",identifier:"iii",beforeEach(e,t,a){return{type:e,id:t,forPlayer:m.getInstance(a)}}}),[v_]=h({name:"Streamer_OnPluginError",identifier:"s",beforeEach(e){return{error:e}}});class N{constructor(){throw new Error("This is a static class and cannot be instantiated.")}static getTickRate=c.Streamer_GetTickRate;static setTickRate=c.Streamer_SetTickRate;static getPlayerTickRate(t){return c.Streamer_GetPlayerTickRate(t.id)}static setPlayerTickRate(t,a=50){return c.Streamer_SetPlayerTickRate(t.id,a)}static toggleChunkStream=c.Streamer_ToggleChunkStream;static isToggleChunkStream=c.Streamer_IsToggleChunkStream;static getChunkTickRate(t,a=-1){return a instanceof m?c.Streamer_GetChunkTickRate(t,a.id):c.Streamer_GetChunkTickRate(t,a)}static setChunkTickRate(t,a,n=-1){return n instanceof m?c.Streamer_SetChunkTickRate(t,a,n.id):c.Streamer_SetChunkTickRate(t,a,n)}static getChunkSize=c.Streamer_GetChunkSize;static setChunkSize=c.Streamer_SetChunkSize;static getMaxItems=c.Streamer_GetMaxItems;static setMaxItems=c.Streamer_SetMaxItems;static getVisibleItems(t,a=-1){return a instanceof m?c.Streamer_GetVisibleItems(t,a.id):c.Streamer_GetVisibleItems(t,a)}static setVisibleItems(t,a,n=-1){return n instanceof m?c.Streamer_SetVisibleItems(t,a,n.id):c.Streamer_SetVisibleItems(t,a,n)}static getRadiusMultiplier(t,a=-1){return a instanceof m?c.Streamer_GetRadiusMultiplier(t,a.id):c.Streamer_GetRadiusMultiplier(t,a)}static setRadiusMultiplier(t,a,n=-1){return n instanceof m?c.Streamer_SetRadiusMultiplier(t,n.id):c.Streamer_SetRadiusMultiplier(t,a,n)}static getTypePriority=c.Streamer_GetTypePriority;static setTypePriority=c.Streamer_SetTypePriority;static getCellDistance=c.Streamer_GetCellDistance;static setCellDistance=c.Streamer_SetCellDistance;static getCellSize=c.Streamer_GetCellSize;static setCellSize=c.Streamer_SetCellSize;static toggleItemStatic=c.Streamer_ToggleItemStatic;static isToggleItemStatic=c.Streamer_IsToggleItemStatic;static toggleItemInvAreas=c.Streamer_ToggleItemInvAreas;static isToggleItemInvAreas=c.Streamer_IsToggleItemInvAreas;static toggleItemCallbacks=c.Streamer_ToggleItemCallbacks;static isToggleItemCallbacks=c.Streamer_IsToggleItemCallbacks;static toggleErrorCallback=c.Streamer_ToggleErrorCallback;static isToggleErrorCallback=c.Streamer_IsToggleErrorCallback;static amxUnloadDestroyItems=c.Streamer_AmxUnloadDestroyItems;static processActiveItems=c.Streamer_ProcessActiveItems;static toggleIdleUpdate(t,a){return c.Streamer_ToggleIdleUpdate(t.id,a)}static isToggleIdleUpdate(t){return c.Streamer_IsToggleIdleUpdate(t.id)}static toggleCameraUpdate(t,a){return c.Streamer_ToggleCameraUpdate(t.id,a)}static isToggleCameraUpdate(t){return c.Streamer_IsToggleCameraUpdate(t.id)}static toggleItemUpdate(t,a,n){return c.Streamer_ToggleItemUpdate(t.id,a,n)}static isToggleItemUpdate(t,a){return c.Streamer_IsToggleItemUpdate(t.id,a)}static getLastUpdateTime(){return c.Streamer_GetLastUpdateTime()}static update(t,a=-1){return c.Streamer_Update(t.id,a)}static updateEx(t,a,n,i,r,s,l,d,_){return c.Streamer_UpdateEx(t.id,a,n,i,r,s,l,d,_)}static getDistanceToItem=c.Streamer_GetDistanceToItem;static toggleItem(t,a,n,i){return c.Streamer_ToggleItem(t.id,a,n,i)}static isToggleItem(t,a,n){return c.Streamer_IsToggleItem(t.id,a,n)}static toggleAllItems(t,a,n,i=[-1]){return c.Streamer_ToggleAllItems(t.id,a,n,i)}static getItemInternalID(t,a,n){return c.Streamer_GetItemInternalID(t.id,a,n)}static getItemStreamerID(t,a,n){return c.Streamer_GetItemStreamerID(t.id,a,n)}static isItemVisible(t,a,n){return c.Streamer_IsItemVisible(t.id,a,n)}static destroyAllVisibleItems(t,a,n=1){return c.Streamer_DestroyAllVisibleItems(t.id,a,n)}static countVisibleItems(t,a,n=1){return c.Streamer_CountVisibleItems(t.id,a,n)}static destroyAllItems=c.Streamer_DestroyAllItems;static countItems=c.Streamer_CountItems;static getNearbyItems=c.Streamer_GetNearbyItems;static getAllVisibleItems(t,a,n){return c.Streamer_GetAllVisibleItems(t.id,a,n)}static getItemPos=c.Streamer_GetItemPos;static setItemPos=c.Streamer_SetItemPos;static getItemOffset=c.Streamer_GetItemOffset;static setItemOffset=c.Streamer_SetItemOffset;static getFloatData=c.Streamer_GetFloatData;static setFloatData=c.Streamer_SetFloatData;static getIntData=c.Streamer_GetIntData;static setIntData=c.Streamer_SetIntData;static getArrayData=c.Streamer_GetArrayData;static setArrayData=c.Streamer_SetArrayData;static isInArrayData=c.Streamer_IsInArrayData;static appendArrayData=c.Streamer_AppendArrayData;static removeArrayData=c.Streamer_RemoveArrayData;static getArrayDataLength=c.Streamer_GetArrayDataLength;static getUpperBound=c.Streamer_GetUpperBound;static onPluginError=v_}class U{static mapIcons=new Map;sourceInfo;_id=-1;get id(){return this._id}constructor(t){this.sourceInfo=t}create(){if(this.id!==-1)return o.warn("[StreamerMapIcon]: Unable to create map icon again");let{style:t,streamDistance:a,worldId:n,interiorId:i,playerId:r,areaId:s,priority:l}=this.sourceInfo;const{x:d,y:_,z:p,type:g,color:S,extended:P}=this.sourceInfo;return g<0||g>63?o.error("[StreamerMapIcon]: Invalid map icon type"):(t??=c.MapIconStyles.LOCAL,a??=c.StreamerDistances.MAP_ICON_SD,l??=0,P?(typeof n=="number"?n=[-1]:n??=[-1],typeof i=="number"?i=[-1]:i??=[-1],typeof r=="number"?r=[-1]:r??=[-1],typeof s=="number"?s=[-1]:s??=[-1],this._id=c.CreateDynamicMapIconEx(d,_,p,g,I(S),t,a,n,i,r,s,l),U.mapIcons.set(this._id,this),this):(Array.isArray(n)?n=-1:n??=-1,Array.isArray(i)?i=-1:i??=-1,Array.isArray(r)?r=-1:r??=-1,Array.isArray(s)?s=-1:s??=-1,this._id=c.CreateDynamicMapIcon(d,_,p,g,I(S),n,i,r,a,t,s,l),U.mapIcons.set(this._id,this),this))}destroy(){return this.id===-1&&!A.skip?o.warn("[StreamerMapIcon]: Unable to destroy the map icon before create"):(!A.skip&&c.DestroyDynamicMapIcon(this.id),U.mapIcons.delete(this._id),this._id=-1,this)}isValid(){return A.skip&&this.id!==-1?!0:c.IsValidDynamicMapIcon(this.id)}toggleCallbacks(t=!0){return this.id===-1?o.warn("[StreamerMapIcon]: Unable to toggle callbacks before create"):N.toggleItemCallbacks(c.StreamerItemTypes.MAP_ICON,this.id,t)}isToggleCallbacks(){return this.id,N.isToggleItemCallbacks(c.StreamerItemTypes.MAP_ICON,this.id)}static getInstance(t){return this.mapIcons.get(t)}static getInstances(){return[...this.mapIcons.values()]}}D.onExit(({next:e})=>(U.getInstances().forEach(t=>t.destroy()),e()));const[w_,O_]=h({name:"OnDynamicMapIconStreamIn",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}}),[G_,B_]=h({name:"OnDynamicMapIconStreamOut",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}});Z(({type:e,id:t,forPlayer:a,next:n})=>e===c.StreamerItemTypes.MAP_ICON?O_(a,U.getInstance(t)):n()),j(({type:e,id:t,forPlayer:a,next:n})=>e===c.StreamerItemTypes.MAP_ICON?B_(a,U.getInstance(t)):n());const F_=Object.freeze({onStreamIn:w_,onStreamOut:G_});class V{static pickups=new Map;sourceInfo;_id=-1;get id(){return this._id}constructor(t){this.sourceInfo=t}create(){if(this.id!==-1)return o.warn("[StreamerPickup]: Unable to create pickup again");let{streamDistance:t,worldId:a,interiorId:n,playerId:i,areaId:r,priority:s}=this.sourceInfo;const{type:l,modelId:d,x:_,y:p,z:g,extended:S}=this.sourceInfo;return l<0?o.error("[StreamerPickup]: Invalid pickup type"):(t??=u.StreamerDistances.PICKUP_SD,s??=0,S?(typeof a=="number"?a=[-1]:a??=[-1],typeof n=="number"?n=[-1]:n??=[-1],typeof i=="number"?i=[-1]:i??=[-1],typeof r=="number"?r=[-1]:r??=[-1],this._id=u.CreateDynamicPickupEx(d,l,_,p,g,t,a,n,i,r,s)):(Array.isArray(a)?a=-1:a??=-1,Array.isArray(n)?n=-1:n??=-1,Array.isArray(i)?i=-1:i??=-1,Array.isArray(r)?r=-1:r??=-1,this._id=u.CreateDynamicPickup(d,l,_,p,g,a,n,i,t,r,s)),V.pickups.set(this._id,this),this)}destroy(){return this.id===-1&&!A.skip?o.warn("[StreamerPickup]: Unable to destroy the pickup before create"):(!A.skip&&u.DestroyDynamicPickup(this.id),V.pickups.delete(this.id),this._id=-1,this)}isValid(){return A.skip&&this.id!==-1?!0:u.IsValidDynamicPickup(this.id)}toggleCallbacks(t=!0){return this.id===-1?o.warn("[StreamerPickup]: Unable to toggle callbacks before create"):N.toggleItemCallbacks(u.StreamerItemTypes.PICKUP,this.id,t)}isToggleCallbacks(){return this.id,N.isToggleItemCallbacks(u.StreamerItemTypes.PICKUP,this.id)}static getInstance(t){return this.pickups.get(t)}static getInstances(){return[...this.pickups.values()]}}D.onExit(({next:e})=>(V.getInstances().forEach(t=>t.destroy()),e()));const[k_,M_]=h({name:"OnDynamicPickupStreamIn",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}}),[x_,H_]=h({name:"OnDynamicPickupStreamOut",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}});Z(({type:e,id:t,forPlayer:a,next:n})=>e===c.StreamerItemTypes.PICKUP?M_(a,V.getInstance(t)):n()),j(({type:e,id:t,forPlayer:a,next:n})=>e===c.StreamerItemTypes.PICKUP?H_(a,V.getInstance(t)):n());const[V_]=h({name:"OnPlayerPickUpDynamicPickup",identifier:"ii",beforeEach(e,t){return{player:m.getInstance(e),pickup:V.getInstance(t)}}}),U_=Object.freeze({onPlayerPickUp:V_,onStreamIn:k_,onStreamOut:x_});class F{static checkpoints=new Map;sourceInfo;_id=-1;get id(){return this._id}constructor(t){this.sourceInfo=t}create(){if(this.id!==-1)return o.warn("[StreamerCheckpoint]: Unable to create checkpoint again");let{streamDistance:t,worldId:a,interiorId:n,playerId:i,areaId:r,priority:s}=this.sourceInfo;const{size:l,x:d,y:_,z:p,extended:g}=this.sourceInfo;return l<0?o.error("[StreamerCheckpoint]: Invalid checkpoint size"):(t??=c.StreamerDistances.CP_SD,s??=0,g?(typeof a=="number"?a=[-1]:a??=[-1],typeof n=="number"?n=[-1]:n??=[-1],typeof i=="number"?i=[-1]:i??=[-1],typeof r=="number"?r=[-1]:r??=[-1],this._id=c.CreateDynamicCPEx(d,_,p,l,t,a,n,i,r,s)):(Array.isArray(a)?a=-1:a??=-1,Array.isArray(n)?n=-1:n??=-1,Array.isArray(i)?i=-1:i??=-1,Array.isArray(r)?r=-1:r??=-1,this._id=c.CreateDynamicCP(d,_,p,l,a,n,i,t,r,s)),F.checkpoints.set(this._id,this),this)}destroy(){return this.id===-1&&!A.skip?o.warn("[StreamerCheckpoint]: Unable to destroy the checkpoint before create"):(!A.skip&&c.DestroyDynamicCP(this.id),F.checkpoints.delete(this.id),this._id=-1,this)}isValid(){return A.skip&&this.id!==-1?!0:c.IsValidDynamicCP(this.id)}togglePlayer(t,a){return this.id===-1?o.warn("[StreamerCheckpoint]: Unable to toggle the player before create"):(c.TogglePlayerDynamicCP(t.id,this.id,a),this)}static togglePlayerAll(t,a){return c.TogglePlayerAllDynamicCPs(t.id,a)}isPlayerIn(t){return this.id===-1?!1:c.IsPlayerInDynamicCP(t.id,this.id)}static getPlayerVisible(t){return F.checkpoints.get(c.GetPlayerVisibleDynamicCP(t.id))}toggleCallbacks(t=!0){return this.id===-1?o.warn("[StreamerCheckpoint]: Unable to toggle callbacks before create"):N.toggleItemCallbacks(c.StreamerItemTypes.CP,this.id,t)}isToggleCallbacks(){return this.id,N.isToggleItemCallbacks(c.StreamerItemTypes.CP,this.id)}static getInstance(t){return this.checkpoints.get(t)}static getInstances(){return[...this.checkpoints.values()]}}D.onExit(({next:e})=>(F.checkpoints.forEach(t=>t.destroy()),e()));const[W_,K_]=h({name:"OnDynamicCheckPointStreamIn",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}}),[Z_,j_]=h({name:"OnDynamicCheckPointStreamOut",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}});Z(({type:e,id:t,forPlayer:a,next:n})=>e===c.StreamerItemTypes.CP?K_(a,F.getInstance(t)):n()),j(({type:e,id:t,forPlayer:a,next:n})=>e===c.StreamerItemTypes.CP?j_(a,F.getInstance(t)):n());const[X_]=h({name:"OnPlayerEnterDynamicCP",identifier:"ii",beforeEach(e,t){return{player:m.getInstance(e),cp:F.getInstance(t)}}}),[Y_]=h({name:"OnPlayerLeaveDynamicCP",identifier:"ii",beforeEach(e,t){return{player:m.getInstance(e),cp:F.getInstance(t)}}}),z_=Object.freeze({onPlayerEnter:X_,onPlayerLeave:Y_,onStreamIn:W_,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)return o.warn("[StreamerRaceCP]: Unable to create checkpoint again");let{streamDistance:t,worldId:a,interiorId:n,playerId:i,areaId:r,priority:s}=this.sourceInfo;const{type:l,size:d,x:_,y:p,z:g,nextX:S,nextY:P,nextZ:T,extended:v}=this.sourceInfo;return l<0||l>8?o.error("[StreamerRaceCP]: Invalid type"):d<0?o.error("[StreamerRaceCP]: Invalid size"):(t??=c.StreamerDistances.RACE_CP_SD,s??=0,v?(typeof a=="number"?a=[-1]:a??=[-1],typeof n=="number"?n=[-1]:n??=[-1],typeof i=="number"?i=[-1]:i??=[-1],typeof r=="number"?r=[-1]:r??=[-1],this._id=c.CreateDynamicRaceCPEx(l,_,p,g,S,P,T,d,t,a,n,i,r,s)):(Array.isArray(a)?a=-1:a??=-1,Array.isArray(n)?n=-1:n??=-1,Array.isArray(i)?i=-1:i??=-1,Array.isArray(r)?r=-1:r??=-1,this._id=c.CreateDynamicRaceCP(l,_,p,g,S,P,T,d,a,n,i,t,r,s)),k.checkpoints.set(this._id,this),this)}destroy(){return this.id===-1&&!A.skip?o.warn("[StreamerRaceCP]: Unable to destroy the checkpoint before create"):(!A.skip&&c.DestroyDynamicCP(this.id),k.checkpoints.delete(this.id),this._id=-1,this)}isValid(){return A.skip&&this.id!==-1?!0:c.IsValidDynamicCP(this.id)}togglePlayer(t,a){return this.id===-1?o.warn("[StreamerRaceCP]: Unable to toggle the player before create"):(c.TogglePlayerDynamicRaceCP(t.id,this.id,a),this)}static togglePlayerAll(t,a){return c.TogglePlayerAllDynamicRaceCPs(t.id,a)}isPlayerIn(t){return this.id===-1?!1:c.IsPlayerInDynamicRaceCP(t.id,this.id)}static getPlayerVisible(t){return k.checkpoints.get(c.GetPlayerVisibleDynamicRaceCP(t.id))}toggleCallbacks(t=!0){return this.id===-1?o.warn("[StreamerRaceCP]: Unable to toggle callbacks before create"):N.toggleItemCallbacks(c.StreamerItemTypes.RACE_CP,this.id,t)}isToggleCallbacks(){return this.id,N.isToggleItemCallbacks(c.StreamerItemTypes.RACE_CP,this.id)}static getInstance(t){return this.checkpoints.get(t)}static getInstances(){return[...this.checkpoints.values()]}}D.onExit(({next:e})=>(k.getInstances().forEach(t=>t.destroy()),e()));const[$_,J_]=h({name:"OnDynamicRaceCPStreamIn",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}}),[Q_,q_]=h({name:"OnDynamicRaceCPStreamOut",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}});Z(({type:e,id:t,forPlayer:a,next:n})=>e===c.StreamerItemTypes.RACE_CP?J_(a,k.getInstance(t)):n()),j(({type:e,id:t,forPlayer:a,next:n})=>e===c.StreamerItemTypes.RACE_CP?q_(a,k.getInstance(t)):n());const[eh]=h({name:"OnPlayerEnterDynamicRaceCP",identifier:"ii",beforeEach(e,t){return{player:m.getInstance(e),raceCP:k.getInstance(t)}}}),[th]=h({name:"OnPlayerLeaveDynamicRaceCP",identifier:"ii",beforeEach(e,t){return{player:m.getInstance(e),raceCp:k.getInstance(t)}}}),ah=Object.freeze({onPlayerEnter:eh,onPlayerLeave:th,onStreamIn:$_,onStreamOut:Q_});class M{static actors=new Map;sourceInfo;_id=-1;get id(){return this._id}constructor(t){this.sourceInfo=t}create(){if(this.id!==-1)return o.warn("[StreamerActor]: Unable to create actor again");let{streamDistance:t,worldId:a,interiorId:n,playerId:i,areaId:r,priority:s}=this.sourceInfo;const{modelId:l,x:d,y:_,z:p,r:g,invulnerable:S,health:P,extended:T}=this.sourceInfo;return t??=u.StreamerDistances.ACTOR_SD,s??=0,T?(typeof a=="number"?a=[0]:a??=[0],typeof n=="number"?n=[-1]:n??=[-1],typeof i=="number"?i=[-1]:i??=[-1],typeof r=="number"?r=[-1]:r??=[-1],this._id=u.CreateDynamicActorEx(l,d,_,p,g,S,P,t,a,n,i,r,s)):(Array.isArray(a)?a=0:a??=0,Array.isArray(n)?n=-1:n??=-1,Array.isArray(i)?i=-1:i??=-1,Array.isArray(r)?r=-1:r??=-1,this._id=u.CreateDynamicActor(l,d,_,p,g,S,P,a,n,i,t,r,s)),M.actors.set(this.id,this),this}destroy(){return this.id===-1&&!A.skip?o.warn("[StreamerActor]: Unable to destroy the actor before create"):(!A.skip&&u.DestroyDynamicActor(this.id),M.actors.delete(this.id),this._id=-1,this)}isValid(){return A.skip&&this.id!==-1?!0:u.IsValidDynamicActor(this.id)}isStreamedIn(t){return this.id===-1?!1:u.IsDynamicActorStreamedIn(this.id,t.id)}getVirtualWorld(){return this.id===-1?o.warn("[StreamerActor]: Unable to get virtual world before create"):u.GetDynamicActorVirtualWorld(this.id)}setVirtualWorld(t){return this.id===-1?o.warn("[StreamerActor]: Unable to set virtual world before create"):u.SetDynamicActorVirtualWorld(this.id,t)}applyAnimation(t,a,n=!1,i=!0,r=!0,s=!1){if(this.id===-1)return o.warn("[StreamerActor]: Unable to apply animation before create");const l=Je(t,a);return l===void 0?o.error("[StreamerActor]: Invalid anim library or name"):u.ApplyDynamicActorAnimation(this.id,t,a,4.1,n,i,r,s,n?0:l)}clearAnimations(){return this.id===-1?o.warn("[StreamerActor]: Unable to clear animation before create"):u.ClearDynamicActorAnimations(this.id)}getFacingAngle(){return this.id===-1?o.warn("[StreamerActor]: Unable to get facing angle before create"):u.GetDynamicActorFacingAngle(this.id)}setFacingAngle(t){return this.id===-1?o.warn("[StreamerActor]: Unable to set facing angle before create"):u.SetDynamicActorFacingAngle(this.id,t)}getPos(){return this.id===-1?o.warn("[StreamerActor]: Unable to get pos before create"):u.GetDynamicActorPos(this.id)}setPos(t,a,n){return this.id===-1?o.warn("[StreamerActor]: Unable to set pos before create"):u.SetDynamicActorPos(this.id,t,a,n)}getHealth(){return this.id===-1?o.warn("[StreamerActor]: Unable to get health before create"):u.GetDynamicActorHealth(this.id)}setHealth(t){return this.id===-1?o.warn("[StreamerActor]: Unable to set health before create"):u.SetDynamicActorHealth(this.id,t)}isInvulnerable(){return this.id===-1?!1:u.IsDynamicActorInvulnerable(this.id)}setInvulnerable(t=!0){return this.id===-1?o.warn("[StreamerActor]: Unable to set invulnerable before create"):u.SetDynamicActorInvulnerable(this.id,t)}getPlayerTarget(t){if(this.id===-1)return;const a=u.GetPlayerTargetDynamicActor(t.id);return M.actors.get(a)}getPlayerCameraTarget(t){if(this.id===-1)return;const a=u.GetPlayerCameraTargetDynActor(t.id);return M.actors.get(a)}getSkin(){return this.id===-1?o.warn("[StreamerActor]: Unable to get skin before create"):Rr(this.id)}setSkin(t,a=!1){return this.id===-1?o.warn("[StreamerActor]: Unable to set skin before create"):!a&&(t<0||t>311||t==74)?0:Lr(this.id,t)}getSpawnInfo(){return this.id===-1?o.warn("[StreamerActor]: Unable to get spawn info before create"):br(this.id)}getAnimation(){return this.id===-1?o.warn("[StreamerActor]: Unable to get animation before create"):u.GetDynamicActorAnimation(this.id)}toggleCallbacks(t=!0){return this.id===-1?o.warn("[StreamerActor]: Unable to toggle callbacks before create"):N.toggleItemCallbacks(u.StreamerItemTypes.ACTOR,this.id,t)}isToggleCallbacks(){return this.id,N.isToggleItemCallbacks(u.StreamerItemTypes.ACTOR,this.id)}static getInstance(t){return this.actors.get(t)}static getInstances(){return[...this.actors.values()]}}D.onExit(({next:e})=>(M.getInstances().forEach(t=>t.destroy()),e()));const[nh]=h({name:"OnDynamicActorStreamIn",identifier:"ii",beforeEach(e,t){return{actor:M.getInstance(e),forPlayer:m.getInstance(t)}}}),[ih]=h({name:"OnDynamicActorStreamOut",identifier:"ii",beforeEach(e,t){return{actor:M.getInstance(e),forPlayer:m.getInstance(t)}}}),[rh]=h({name:"OnPlayerGiveDamageDynamicActor",identifier:"iiiii",beforeEach(e,t,a,n,i){return{player:m.getInstance(e),actor:M.getInstance(t),amount:a,weapon:n,bodyPart:i}}}),sh=Object.freeze({onStreamIn:nh,onStreamOut:ih,onPlayerGiveDamage:rh});class X{static texts=new Map;sourceInfo;_id=-1;get id(){return this._id}constructor(t){this.sourceInfo=t}create(){if(this.id!==-1)return o.warn("[Streamer3DTextLabel]: Unable to create again");let{attachedPlayer:t,attachedVehicle:a,testLos:n,streamDistance:i,worldId:r,interiorId:s,playerId:l,areaId:d,priority:_}=this.sourceInfo;const{charset:p,text:g,color:S,drawDistance:P,x:T,y:v,z:x,extended:te}=this.sourceInfo;return t??=C.PLAYER_ID,a??=C.VEHICLE_ID,i??=c.StreamerDistances.TEXT_3D_LABEL_SD,n??=!1,_??=0,te?(typeof r=="number"?r=[-1]:r??=[-1],typeof s=="number"?s=[-1]:s??=[-1],typeof l=="number"?l=[-1]:l??=[-1],typeof d=="number"?d=[-1]:d??=[-1],this._id=oc(g,I(S),T,v,x,P,t,a,n,i,r,s,l,d,_,p||"utf8")):(Array.isArray(r)?r=-1:r??=-1,Array.isArray(s)?s=-1:s??=-1,Array.isArray(l)?l=-1:l??=-1,Array.isArray(d)?d=-1:d??=-1,this._id=lc(p||"utf8",g,I(S),T,v,x,P,t,a,n,r,s,l,i,d,_)),X.texts.set(this.id,this),this}destroy(){return this.id===-1&&!A.skip?o.warn("[Streamer3DTextLabel]: Unable to destroy before create"):(!A.skip&&c.DestroyDynamic3DTextLabel(this.id),X.texts.delete(this.id),this._id=-1,this)}isValid(){return A.skip&&this.id!==-1?!0:c.IsValidDynamic3DTextLabel(this.id)}getColor(){return this.id===-1?o.warn("[Streamer3DTextLabel]: Unable to get color before create"):this.sourceInfo.color}getCharset(){return this.id===-1?o.warn("[Streamer3DTextLabel]: Unable to get charset before create"):this.sourceInfo.charset}getText(){return this.id===-1?o.warn("[Streamer3DTextLabel]: Unable to get text before create"):cc(this.id,this.sourceInfo.charset||"utf8")}updateText(t,a,n=this.sourceInfo.charset){return this.id===-1?o.warn("[Streamer3DTextLabel]: Unable to update text before create"):(this.sourceInfo.charset=n,dc(this.id,I(t),a,n||"utf8"))}toggleCallbacks(t=!0){return this.id===-1?o.warn("[Streamer3DTextLabel]: Unable to toggle callbacks before create"):N.toggleItemCallbacks(c.StreamerItemTypes.TEXT_3D_LABEL,this.id,t)}isToggleCallbacks(){return this.id,N.isToggleItemCallbacks(c.StreamerItemTypes.TEXT_3D_LABEL,this.id)}static getInstance(t){return this.texts.get(t)}static getInstances(){return[...this.texts.values()]}}D.onExit(({next:e})=>(X.getInstances().forEach(t=>t.destroy()),e()));const[lh,oh]=h({name:"OnDynamic3dTextStreamIn",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}}),[dh,ch]=h({name:"OnDynamic3dTextStreamOut",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}});Z(({type:e,id:t,forPlayer:a,next:n})=>e===c.StreamerItemTypes.TEXT_3D_LABEL?oh(a,X.getInstance(t)):n()),j(({type:e,id:t,forPlayer:a,next:n})=>e===c.StreamerItemTypes.TEXT_3D_LABEL?ch(a,X.getInstance(t)):n());const _h=Object.freeze({onStreamIn:lh,onStreamOut:dh});class w{static objects=new Map;sourceInfo;_id=-1;get id(){return this._id}constructor(t){this.sourceInfo=t}create(){if(this.id!==-1)return o.warn("[StreamerObject]: Unable to create object again");let{streamDistance:t,drawDistance:a,worldId:n,interiorId:i,playerId:r,areaId:s,priority:l}=this.sourceInfo;const{modelId:d,x:_,y:p,z:g,rx:S,ry:P,rz:T,extended:v}=this.sourceInfo;return t??=u.StreamerDistances.OBJECT_SD,a??=u.StreamerDistances.OBJECT_DD,l??=0,v?(typeof n=="number"?n=[-1]:n??=[-1],typeof i=="number"?i=[-1]:i??=[-1],typeof r=="number"?r=[-1]:r??=[-1],typeof s=="number"?s=[-1]:s??=[-1],this._id=u.CreateDynamicObjectEx(d,_,p,g,S,P,T,t,a,n,i,r,s,l)):(Array.isArray(n)?n=-1:n??=-1,Array.isArray(i)?i=-1:i??=-1,Array.isArray(r)?r=-1:r??=-1,Array.isArray(s)?s=-1:s??=-1,this._id=u.CreateDynamicObject(d,_,p,g,S,P,T,n,i,r,t,a,s,l)),w.objects.set(this._id,this),this}destroy(){return this.id===-1&&!A.skip?o.warn("[StreamerObject]: Unable to destroy the object before create"):(!A.skip&&u.DestroyDynamicObject(this.id),w.objects.delete(this.id),this._id=-1,this)}isValid(){return A.skip&&this.id!==-1?!0:u.IsValidDynamicObject(this.id)}getModel(){return this.sourceInfo.modelId}getPos(){return this.id===-1?o.warn("[StreamerObject]: Cannot get position before create"):u.GetDynamicObjectPos(this.id)}setPos(t,a,n){return this.id===-1?o.warn("[StreamerObject]: Cannot set position before create"):u.SetDynamicObjectPos(this.id,t,a,n)}getRot(){return this.id===-1?o.warn("[StreamerObject]: Cannot get rotation before create"):u.GetDynamicObjectRot(this.id)}setRot(t,a,n){return this.id===-1?o.warn("[StreamerObject]: Cannot set rotation before create"):u.SetDynamicObjectRot(this.id,t,a,n)}move(t,a,n,i,r=-1e3,s=-1e3,l=-1e3){return this.id===-1?o.warn("[StreamerObject]: Cannot start moving before create"):i<0?o.warn("[StreamerObject]: speed must not be less than 0"):(i>120*1e3&&o.warn("[StreamerObject]: speed more than 120 seconds, warn if it's not intentional"),this.isMoving()&&this.stop(),u.MoveDynamicObject(this.id,t,a,n,i,r,s,l))}stop(){return this.id===-1?o.warn("[StreamerObject]: Cannot stop moving before create"):u.StopDynamicObject(this.id)}isMoving(){return this.id===-1?!1:u.IsDynamicObjectMoving(this.id)}attachCamera(t){return this.id===-1||t.id===-1?o.warn("[StreamerObject]: Cannot attachCamera before both are created"):u.AttachCameraToDynamicObject(t.id,this.id)}attachToObject(t,a,n,i,r,s,l,d=!0){return this.id===-1||t.id===-1?o.warn("[StreamerObject]: Cannot attachToObject before both are created"):u.AttachDynamicObjectToObject(this.id,t.id,a,n,i,r,s,l,d)}attachToPlayer(t,a,n,i,r,s,l){return this.id===-1||t.id===-1?o.warn("[StreamerObject]: Cannot attachToVehicle before both are created"):u.AttachDynamicObjectToPlayer(this.id,t.id,a,n,i,r,s,l)}attachToVehicle(t,a,n,i,r,s,l){return this.id===-1||t.id===-1?o.warn("[StreamerObject]: Cannot attachToVehicle before both are created"):u.AttachDynamicObjectToVehicle(this.id,t.id,a,n,i,r,s,l)}edit(t){return this.id===-1?o.warn("[StreamerObject]: Unable to edit before create"):(t.endObjectEditing(),u.EditDynamicObject(t.id,this.id))}isMaterialUsed(t){return this.id===-1?!1:u.IsDynamicObjectMaterialUsed(this.id,t)}removeMaterial(t){return this.id===-1||!this.isMaterialUsed(t)?0:u.RemoveDynamicObjectMaterial(this.id,t)}getMaterial(t,a,n){return this.id===-1?o.warn("[StreamerObject]: Unable to get material before create"):u.GetDynamicObjectMaterial(this.id,t,a,n)}setMaterial(t,a,n,i,r="#000"){return this.id===-1?o.warn("[StreamerObject]: Unable to set material before create"):u.SetDynamicObjectMaterial(this.id,t,a,n,i,I(r))}isMaterialTextUsed(t){return this.id===-1?!1:u.IsDynamicObjectMaterialTextUsed(this.id,t)}removeMaterialText(t){return this.isMaterialTextUsed(t)?u.RemoveDynamicObjectMaterialText(this.id,t):0}getMaterialText(t){return this.id===-1?o.warn("[StreamerObject]: Unable to get material text before create"):hc(this.id,t,this.sourceInfo.charset||"utf8")}setMaterialText(t=this.sourceInfo.charset,a,n,i=u.MaterialTextSizes.SIZE_256x128,r="Arial",s=24,l=1,d="#fff",_="#000",p=0){return this.id===-1?o.warn("[StreamerObject]: Unable to set material text before create"):(this.sourceInfo.charset=t,_c(t||"utf8",this.id,a,n,i,r,s,l,I(d),I(_),p))}getPlayerCameraTarget(t){const a=u.GetPlayerCameraTargetDynObject(t.id);if(a!==C.OBJECT_ID)return w.objects.get(a)}toggleCallbacks(t=!0){return this.id===-1?o.warn("[StreamerObject]: Unable to toggle callbacks before create"):N.toggleItemCallbacks(u.StreamerItemTypes.OBJECT,this.id,t)}isToggleCallbacks(){return this.id,N.isToggleItemCallbacks(u.StreamerItemTypes.OBJECT,this.id)}setNoCameraCollision(){return u.SetDynamicObjectNoCameraCol(this.id)}getNoCameraCollision(){return u.GetDynamicObjectNoCameraCol(this.id)}static getInstance(t){return this.objects.get(t)}static getInstances(){return[...this.objects.values()]}}D.onExit(({next:e})=>(w.getInstances().forEach(t=>t.destroy()),e()));const[hh,uh]=h({name:"OnDynamicObjectStreamIn",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}}),[mh,ph]=h({name:"OnDynamicObjectStreamOut",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}});Z(({type:e,id:t,forPlayer:a,next:n})=>e===c.StreamerItemTypes.OBJECT?uh(a,w.getInstance(t)):n()),j(({type:e,id:t,forPlayer:a,next:n})=>e===c.StreamerItemTypes.OBJECT?ph(a,w.getInstance(t)):n());const[gh]=h({name:"OnDynamicObjectMoved",identifier:"i",beforeEach(e){return{object:w.getInstance(e)}}}),[Sh]=h({name:"OnPlayerEditDynamicObject",identifier:"iiiiiiiii",beforeEach(e,t,a,n,i,r,s,l,d){return{player:m.getInstance(e),object:w.getInstance(t),response:a,x:n,y:i,z:r,rX:s,rY:l,rZ:d}}}),[yh]=h({name:"OnPlayerSelectDynamicObject",identifier:"iiiiii",beforeEach(e,t,a,n,i,r){return{player:m.getInstance(e),object:w.getInstance(t),modelId:a,x:n,y:i,z:r}}}),[Ih]=h({name:"OnPlayerShootDynamicObject",identifier:"iiiiii",beforeEach(e,t,a,n,i,r){return{player:m.getInstance(e),object:w.getInstance(a),weapon:t,x:n,y:i,z:r}}}),[Ph]=h({name:"OnPlayerEditAttachedObject",beforeEach(e,t,a,n,i,r,s,l,d,_,p,g,S,P){return{player:m.getInstance(e),response:t,index:a,modelId:n,boneId:i,fOffsetX:r,fOffsetY:s,fOffsetZ:l,fRotX:d,fRotY:_,fRotZ:p,fScaleX:g,fScaleY:S,fScaleZ:P}}}),fh=Object.freeze({onMoved:gh,onPlayerEdit:Sh,onPlayerSelect:yh,onPlayerShoot:Ih,onPlayerEditAttached:Ph,onStreamIn:hh,onStreamOut:mh});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)return o.warn("[StreamerArea]: Unable to create area again");let{worldId:t,interiorId:a,playerId:n}=this.sourceInfo;const{type:i,extended:r}=this.sourceInfo;if(r)if(typeof t=="number"?t=[-1]:t??=[-1],typeof a=="number"?a=[-1]:a??=[-1],typeof n=="number"?n=[-1]:n??=[-1],i==="circle"){const{x:s,y:l,size:d}=this.sourceInfo;if(d<0)return o.error("[StreamerArea]: Invalid circle extend size");this._id=u.CreateDynamicCircleEx(s,l,d,t,a,n)}else if(i==="cuboid"){const{minX:s,minY:l,minZ:d,maxX:_,maxY:p,maxZ:g}=this.sourceInfo;this._id=u.CreateDynamicCuboidEx(s,l,d,_,p,g,t,a,n)}else if(i==="cylinder"){const{x:s,y:l,minZ:d,maxZ:_,size:p}=this.sourceInfo;if(p<0)return o.error("[StreamerArea]: Invalid cylinder extend size");this._id=u.CreateDynamicCylinderEx(s,l,d,_,p,t,a,n)}else if(i==="polygon"){const{points:s,minZ:l,maxZ:d}=this.sourceInfo;if(s.length%2!==0)return o.warn("[StreamerArea]: Unable to create polygon extended with asymmetrical points");this._id=u.CreateDynamicPolygonEx(s,l,d,t,a,n)}else if(i==="rectangle"){const{minX:s,minY:l,maxX:d,maxY:_}=this.sourceInfo;this._id=u.CreateDynamicRectangleEx(s,l,d,_,t,a,n)}else{const{x:s,y:l,z:d,size:_}=this.sourceInfo;if(_<0)return o.error("[StreamerArea]: Invalid sphere extended size");this._id=u.CreateDynamicSphereEx(s,l,d,_,t,a,n)}else if(Array.isArray(t)?t=-1:t??=-1,Array.isArray(a)?a=-1:a??=-1,Array.isArray(n)?n=-1:n??=-1,i==="circle"){const{x:s,y:l,size:d}=this.sourceInfo;if(d<0)return o.error("[StreamerArea]: Invalid circle size");this._id=u.CreateDynamicCircle(s,l,d,t,a,n)}else if(i==="cuboid"){const{minX:s,minY:l,minZ:d,maxX:_,maxY:p,maxZ:g}=this.sourceInfo;this._id=u.CreateDynamicCuboid(s,l,d,_,p,g,t,a,n)}else if(i==="cylinder"){const{x:s,y:l,minZ:d,maxZ:_,size:p}=this.sourceInfo;if(p<0)return o.error("[StreamerArea]: Invalid cylinder size");this._id=u.CreateDynamicCylinder(s,l,d,_,p,t,a,n)}else if(i==="polygon"){const{points:s,minZ:l,maxZ:d}=this.sourceInfo;if(s.length%2!==0)return o.warn("[StreamerArea]: Unable to create polygon with asymmetrical points");this._id=u.CreateDynamicPolygon(s,l,d,t,a,n)}else if(i==="rectangle"){const{minX:s,minY:l,maxX:d,maxY:_}=this.sourceInfo;this._id=u.CreateDynamicRectangle(s,l,d,_,t,a,n)}else{const{x:s,y:l,z:d,size:_}=this.sourceInfo;if(_<0)return o.error("[StreamerArea]: Invalid sphere size");this._id=u.CreateDynamicSphere(s,l,d,_,t,a,n)}return b.areas.set(this._id,this),this}destroy(){return this.id===-1&&!A.skip?o.warn("[StreamerArea]: Unable to destroy the area before create"):(!A.skip&&u.DestroyDynamicArea(this.id),b.areas.delete(this.id),this._id=-1,this)}isValid(){return A.skip&&this.id!==-1?!0:u.IsValidDynamicArea(this.id)}getType(){return this.id!==-1?o.warn("[StreamerArea]: Unable to get type before create"):u.GetDynamicAreaType(this.id)}getPolygonPoints(){if(this.id!==-1)return o.warn("[StreamerArea]: Unable to get polygon points before create");if(this.type==="polygon")return u.GetDynamicPolygonPoints(this.id)}getPolygonNumberPoints(){if(this.id!==-1)return o.warn("[StreamerArea]: Unable to get polygon points number before create");if(this.type==="polygon")return u.GetDynamicPolygonNumberPoints(this.id)}isPlayerIn(t,a=!1){return this.id===-1?!1:u.IsPlayerInDynamicArea(t.id,this.id,a)}static isPlayerInAny(t,a=!1){return u.IsPlayerInAnyDynamicArea(t.id,a)}isAnyPlayerIn(t=!1){return this.id===-1?!1:u.IsAnyPlayerInDynamicArea(this.id,t)}static isAnyPlayerInAny(t=!1){return u.IsAnyPlayerInAnyDynamicArea(t)}static getPlayerAreas(t){return b.getPlayerAreasNumber(t)?u.GetPlayerDynamicAreas(t.id).map(a=>b.areas.get(a)):[]}static getPlayerAreasNumber(t){return u.GetPlayerNumberDynamicAreas(t.id)}isPointIn(t,a,n){return this.id===-1?!1:u.IsPointInDynamicArea(this.id,t,a,n)}static isPointInAny(t,a,n){return u.IsPointInAnyDynamicArea(t,a,n)}isLineIn(t,a,n,i,r,s){return this.id===-1?!1:u.IsLineInDynamicArea(this.id,t,a,n,i,r,s)}static isLineInAny(t,a,n,i,r,s){return u.IsLineInAnyDynamicArea(t,a,n,i,r,s)}static getForPoint(t,a,n){return b.getNumberForPoint(t,a,n)?u.GetDynamicAreasForPoint(t,a,n).map(i=>b.getInstance(i)):[]}static getNumberForPoint(t,a,n){return u.GetNumberDynamicAreasForPoint(t,a,n)}static getForLine(t,a,n,i,r,s){return b.getNumberForLine(t,a,n,i,r,s)?u.GetDynamicAreasForLine(t,a,n,i,r,s).map(l=>b.areas.get(l)):[]}static getNumberForLine(t,a,n,i,r,s){return u.GetNumberDynamicAreasForLine(t,a,n,i,r,s)}attachToObject(t,a=0,n=0,i=0){return this.id===-1||t.id===-1?o.warn("[StreamerArea]: Unable to toggle attach to object before create"):u.AttachDynamicAreaToObject(this.id,t.id,u.StreamerObjectTypes.DYNAMIC,C.PLAYER_ID,a,n,i)}attachToPlayer(t,a=0,n=0,i=0){return this.id===-1||t.id===-1?o.warn("[StreamerArea]: Unable to toggle attach to player before create"):u.AttachDynamicAreaToPlayer(this.id,t.id,a,n,i)}attachToVehicle(t,a=0,n=0,i=0){return this.id===-1||t.id===-1?o.warn("[StreamerArea]: Unable to toggle attach to vehicle before create"):u.AttachDynamicAreaToVehicle(this.id,t.id,a,n,i)}toggleSpectateMode(t){return this.id===-1?o.warn("[StreamerArea]: Unable to toggle specate mode before create"):u.ToggleDynAreaSpectateMode(this.id,t)}isToggleSpectateMode(){return this.id===-1?!1:u.IsToggleDynAreaSpectateMode(this.id)}toggleCallbacks(t=!0){return this.id===-1?o.warn("[StreamerArea]: Unable to toggle callbacks before create"):N.toggleItemCallbacks(u.StreamerItemTypes.AREA,this.id,t)}isToggleCallbacks(){return this.id,N.isToggleItemCallbacks(u.StreamerItemTypes.AREA,this.id)}static getInstance(t){return this.areas.get(t)}static getInstances(){return[...this.areas.values()]}}D.onExit(({next:e})=>(b.getInstances().forEach(t=>t.destroy()),e()));const[Ah,Eh]=h({name:"OnDynamicAreaStreamIn",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}}),[Th,Ch]=h({name:"OnDynamicAreaStreamOut",isNative:!1,beforeEach(e,t){return{player:e,instance:t}}});Z(({type:e,id:t,forPlayer:a,next:n})=>e===c.StreamerItemTypes.AREA?Eh(a,b.getInstance(t)):n()),j(({type:e,id:t,forPlayer:a,next:n})=>e===c.StreamerItemTypes.AREA?Ch(a,b.getInstance(t)):n());const[Dh]=h({name:"OnPlayerEnterDynamicArea",identifier:"ii",beforeEach(e,t){return{player:m.getInstance(e),area:b.getInstance(t)}}}),[Nh]=h({name:"OnPlayerLeaveDynamicArea",identifier:"ii",beforeEach(e,t){return{player:m.getInstance(e),area:b.getInstance(t)}}}),Rh=Object.freeze({onStreamIn:Ah,onStreamOut:Th,onPlayerEnter:Dh,onPlayerLeave:Nh});class y{static globalTextDraws=new Map;static playerTextDraws=new Map;sourceInfo;_id=-1;get id(){return this._id}constructor(t){this.sourceInfo=t}create(){if(this.id!==-1)return o.warn("[TextDraw]: Unable to create the textdraw again");const{x:t,y:a,text:n,player:i}=this.sourceInfo;if(i){if(y.getInstances(!1).length===O.MAX_TEXT_DRAWS)return o.warn("[TextDraw]: Unable to continue to create textdraw, maximum allowable quantity has been reached");this._id=Pd(i.id,t,a,n);const r=me.onDisconnect(({player:s,next:l})=>{const d=l();return s===i&&(this.destroy(),r()),d});y.playerTextDraws.set(this.id,this)}else{if(y.getInstances(!0).length===O.MAX_TEXT_DRAWS)return o.warn("[TextDraw]: Unable to continue to create textdraw, maximum allowable quantity has been reached");this._id=bo(t,a,n),y.globalTextDraws.set(this.id,this)}return this}destroy(){if(this.id===-1)return y.beforeCreateWarn("destroy the textdraw");const{player:t}=this.sourceInfo;return t?(fd(t.id,this.id),y.playerTextDraws.delete(this.id)):(vo(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?vd(a.id,this.id,t):Vo(this.id,t),this}setColor(t){if(this.id===-1)return y.beforeCreateWarn("set color"),this;const{player:a}=this.sourceInfo;return a?Cd(a.id,this.id,t):Bo(this.id,t),this}setBoxColors(t){if(this.id===-1)return y.beforeCreateWarn("set box color"),this;const{player:a}=this.sourceInfo;return a?Nd(a.id,this.id,t):ko(this.id,t),this}setBackgroundColors(t){if(this.id===-1)return y.beforeCreateWarn("set background color"),this;const{player:a}=this.sourceInfo;return a?bd(a.id,this.id,t):Ho(this.id,t),this}setAlignment(t){if(this.id===-1)return y.beforeCreateWarn("set alignment"),this;const{player:a}=this.sourceInfo;return a?Td(a.id,this.id,t):Go(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?Ad(n.id,this.id,t,a):wo(this.id,t,a),this}setOutline(t){if(this.id===-1)return y.beforeCreateWarn("set outline model"),this;if(t<0)return o.warn("[TextDraw]: Invalid outline value"),this;const{player:a}=this.sourceInfo;return a?Ld(a.id,this.id,t):xo(this.id,t),this}setPreviewModel(t){if(this.id===-1)return y.beforeCreateWarn("set preview model"),this;this.setFont(q.MODEL_PREVIEW);const{player:a}=this.sourceInfo;return a?kd(a.id,this.id,t):zo(this.id,t),this}setPreviewRot(t,a,n,i=1){if(this.id===-1)return y.beforeCreateWarn("set preview rot"),this;this.setFont(q.MODEL_PREVIEW);const{player:r}=this.sourceInfo;return r?Md(r.id,this.id,t,a,n,i):$o(this.id,t,a,n,i),this}setPreviewVehColors(t,a){if(this.id===-1)return y.beforeCreateWarn("set preview veh col"),this;this.setFont(q.MODEL_PREVIEW);const{player:n}=this.sourceInfo;return n?xd(n.id,this.id,t,a):Jo(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?wd(a.id,this.id,t):Uo(this.id,t),this}setSelectable(t){if(this.id===-1)return y.beforeCreateWarn("set Selectable"),this;const{player:a}=this.sourceInfo;return a?Od(a.id,this.id,t):Wo(this.id,t),this}setShadow(t){if(this.id===-1)return y.beforeCreateWarn("set shadow"),this;if(t<0)return o.warn("[TextDraw]: Invalid shadow value"),this;const{player:a}=this.sourceInfo;return a?Rd(a.id,this.id,t):Mo(this.id,t),this}setString(t,a){if(this.id===-1)return y.beforeCreateWarn("set string"),this;if(t.length===0||t.length>1024)return o.warn("[TextDraw]: Invalid text length"),this;const{player:n}=this.sourceInfo;return n?Fd(n.id,this.id,t):a?Lo(this.id,a.id,t):Yo(this.id,t),this}setTextSize(t,a){if(this.id===-1)return y.beforeCreateWarn("set TextSize"),this;const{player:n}=this.sourceInfo;return n?Ed(n.id,this.id,t,a):Oo(this.id,t,a),this}useBox(t){if(this.id===-1)return y.beforeCreateWarn("set TextSize"),this;const{player:a}=this.sourceInfo;return a?Dd(a.id,this.id,t):Fo(this.id,t),this}static beforeCreateWarn(t){o.warn(`[TextDraw]: Unable to ${t} before create`)}show(t){if(this.id===-1)return y.beforeCreateWarn("show"),this;const a=this.sourceInfo.player;if(a)Gd(a.id,this.id);else if(t)Ko(t.id,this.id);else return o.warn("[TextDraw]: invalid player for show"),this;return this}hide(t){if(this.id===-1)return y.beforeCreateWarn("hide"),this;const a=this.sourceInfo.player;if(a)Bd(a.id,this.id);else if(t)Zo(t.id,this.id);else return o.warn("[TextDraw]: invalid player for hide"),this;return this}showAll(){return this.id===-1?(y.beforeCreateWarn("show"),this):this.sourceInfo.player?(o.warn("[TextDraw]: player's textdraw should not be show for all."),this):(jo(this.id),this)}hideAll(){return this.id===-1?(y.beforeCreateWarn("hideAll"),this):this.sourceInfo.player?(o.warn("[TextDraw]: player's textdraw should not be hide for all."),this):(Xo(this.id),this)}isValid(){const t=this.sourceInfo.player;return t?ed(t.id,this.id):oo(this.id)}isVisibleForPlayer(t){if(this.id===-1)return!1;const{player:a}=this.sourceInfo;return a?td(a.id,this.id):t?co(t.id,this.id):!1}getString(){if(this.id===-1)return this.sourceInfo.text;const t=this.sourceInfo.player;return t?ad(t.id,this.id):_o(this.id)}setPos(t,a){if(this.id===-1)return y.beforeCreateWarn("set position"),this;const n=this.sourceInfo.player;return n?nd(n.id,this.id,t,a):ho(this.id,t,a),this}getLetterSize(){if(this.id===-1)return y.beforeCreateWarn("get letter size");const t=this.sourceInfo.player;return t?id(t.id,this.id):uo(this.id)}getTextSize(){if(this.id===-1)return y.beforeCreateWarn("get text size");const t=this.sourceInfo.player;return t?rd(t.id,this.id):mo(this.id)}getPos(){if(this.id===-1)return y.beforeCreateWarn("get position");const t=this.sourceInfo.player;return t?sd(t.id,this.id):po(this.id)}getColor(){if(this.id===-1)return y.beforeCreateWarn("get color");const t=this.sourceInfo.player;return t?ld(t.id,this.id):go(this.id)}getBoxColor(){if(this.id===-1)return y.beforeCreateWarn("get box color");const t=this.sourceInfo.player;return t?od(t.id,this.id):So(this.id)}getBackgroundColor(){if(this.id===-1)return y.beforeCreateWarn("get bg color");const t=this.sourceInfo.player;return t?dd(t.id,this.id):yo(this.id)}getShadow(){if(this.id===-1)return y.beforeCreateWarn("get shadow");const t=this.sourceInfo.player;return t?cd(t.id,this.id):Io(this.id)}getOutline(){if(this.id===-1)return y.beforeCreateWarn("get outline");const t=this.sourceInfo.player;return t?_d(t.id,this.id):Po(this.id)}getFont(){if(this.id===-1)return y.beforeCreateWarn("get font");const t=this.sourceInfo.player;return t?hd(t.id,this.id):fo(this.id)}isBox(){if(this.id===-1)return!1;const t=this.sourceInfo.player;return t?ud(t.id,this.id):Ao(this.id)}isProportional(){if(this.id===-1)return!1;const t=this.sourceInfo.player;return t?md(t.id,this.id):Eo(this.id)}isSelectable(){if(this.id===-1)return!1;const t=this.sourceInfo.player;return t?pd(t.id,this.id):To(this.id)}getAlignment(){if(this.id===-1)return y.beforeCreateWarn("get alignment");const t=this.sourceInfo.player;return t?gd(t.id,this.id):Co(this.id)}getPreviewModel(){if(this.id===-1)return y.beforeCreateWarn("get preview model");const t=this.sourceInfo.player;return t?Sd(t.id,this.id):Do(this.id)}getPreviewRot(){if(this.id===-1)return y.beforeCreateWarn("get preview rotation");const t=this.sourceInfo.player;return t?yd(t.id,this.id):No(this.id)}getPreviewVehColors(){if(this.id===-1)return y.beforeCreateWarn("get preview vel colors");const t=this.sourceInfo.player;return t?Id(t.id,this.id):Ro(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()]}}D.onExit(({next:e})=>(y.getInstances(!0).forEach(t=>t.destroy()),y.getInstances(!1).forEach(t=>t.destroy()),e()));const[Lh]=h({name:"OnPlayerClickTextDraw",beforeEach(e,t){return{player:m.getInstance(e),textDraw:t===C.TEXT_DRAW?t:y.getInstance(t,!0)}}}),[bh]=h({name:"OnPlayerClickPlayerTextDraw",beforeEach(e,t){return{player:m.getInstance(e),textDraw:t===C.TEXT_DRAW?t:y.getInstance(t,!1)}}}),vh=Object.freeze({onPlayerClickGlobal:Lh,onPlayerClickPlayer:bh});function wh(e,t){return(e&t)===t}function Oh(e,t,a){return(e&a)===a&&(t&a)!==a}function Gh(e,t){return!!(e&t)}function Bh(e,t,a){return(e&a)!==a&&(t&a)===a}Object.defineProperty(exports,"E_STREAMER",{enumerable:!0,get:function(){return c.E_STREAMER}}),Object.defineProperty(exports,"MapIconStyles",{enumerable:!0,get:function(){return c.MapIconStyles}}),Object.defineProperty(exports,"MaterialTextSizes",{enumerable:!0,get:function(){return c.MaterialTextSizes}}),Object.defineProperty(exports,"StreamerAreaTypes",{enumerable:!0,get:function(){return c.StreamerAreaTypes}}),Object.defineProperty(exports,"StreamerDistances",{enumerable:!0,get:function(){return c.StreamerDistances}}),Object.defineProperty(exports,"StreamerItemTypes",{enumerable:!0,get:function(){return c.StreamerItemTypes}}),Object.defineProperty(exports,"StreamerMiscellaneous",{enumerable:!0,get:function(){return c.StreamerMiscellaneous}}),Object.defineProperty(exports,"StreamerObjectTypes",{enumerable:!0,get:function(){return c.StreamerObjectTypes}}),exports.ArtworkEnum=Te,exports.BodyPartsEnum=ke,exports.BoneIdsEnum=Me,exports.BulletHitTypesEnum=je,exports.CameraCutStylesEnum=ae,exports.CameraModesEnum=Fe,exports.CarModTypeEnum=Ve,exports.ClickSourcesEnum=Ce,exports.ConnectionStatusEnum=Ne,exports.DamageDeathReasonEnum=le,exports.Dialog=R,exports.DialogStylesEnum=re,exports.Dynamic3DTextLabel=X,exports.Dynamic3DTextLabelEvent=_h,exports.DynamicActor=M,exports.DynamicActorEvent=sh,exports.DynamicArea=b,exports.DynamicAreaEvent=Rh,exports.DynamicCheckPointEvent=z_,exports.DynamicCheckpoint=F,exports.DynamicMapIcon=U,exports.DynamicMapIconEvent=F_,exports.DynamicObject=w,exports.DynamicObjectEvent=fh,exports.DynamicPickup=V,exports.DynamicPickupEvent=U_,exports.DynamicRaceCP=k,exports.DynamicRaceCPEvent=ah,exports.ERecordStatus=G,exports.EditResponseTypesEnum=De,exports.FightingStylesEnum=Ge,exports.ForceSyncEnum=xe,exports.GameMode=D,exports.GameText=P_,exports.GangZone=L,exports.GangZoneEvent=b_,exports.I18n=f,exports.InvalidEnum=C,exports.KeysEnum=Re,exports.LimitsEnum=O,exports.MapIconStylesEnum=Be,exports.MarkerModesEnum=Le,exports.Menu=Y,exports.MenuEvent=E_,exports.NPCPlaybackEnum=be,exports.NetStats=I_,exports.Npc=B,exports.NpcEvent=Pt,exports.ObjectMaterialAlignmmentEnum=we,exports.ObjectMaterialTextSizeEnum=ve,exports.Player=m,exports.PlayerEvent=me,exports.PlayerStateEnum=z,exports.RecordTypesEnum=Ye,exports.SelectObjectTypesEnum=Oe,exports.SpecialActionsEnum=se,exports.SpectateModesEnum=ne,exports.Streamer=N,exports.TextDraw=y,exports.TextDrawAlignEnum=He,exports.TextDrawEvent=vh,exports.TextDrawFontsEnum=q,exports.Vehicle=E,exports.VehicleEvent=y_,exports.VehicleModelInfoEnum=We,exports.VehicleParamsEnum=Ue,exports.WeaponEnum=Ke,exports.WeaponSkillsEnum=Ze,exports.WeaponStatesEnum=Xe,exports.animateLib=ze,exports.defineEvent=h,exports.getAnimateDurationByLibName=Je,exports.isHolding=wh,exports.isPressed=Oh,exports.isPressing=Gh,exports.isReleased=Bh,exports.isValidAnimateLib=oe,exports.isValidAnimateName=$e,exports.rgba=I;
|