yolkbot 1.2.0 → 1.2.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (52) hide show
  1. package/browser/build/global.js +2 -2
  2. package/browser/build/module.js +2 -2
  3. package/dist/api.js +1 -1
  4. package/dist/bot/GamePlayer.js +1 -1
  5. package/dist/bot.js +1 -1
  6. package/dist/comm/CommIn.js +1 -1
  7. package/dist/comm/CommOut.js +1 -1
  8. package/dist/constants/CommCode.js +1 -1
  9. package/dist/constants/guns.js +1 -1
  10. package/dist/dispatches/BanPlayerDispatch.js +1 -1
  11. package/dist/dispatches/BootPlayerDispatch.js +1 -1
  12. package/dist/dispatches/ChatDispatch.js +1 -1
  13. package/dist/dispatches/FireDispatch.js +1 -1
  14. package/dist/dispatches/GameOptionsDispatch.js +1 -1
  15. package/dist/dispatches/GoToAmmoDispatch.js +1 -1
  16. package/dist/dispatches/GoToCoopDispatch.js +1 -1
  17. package/dist/dispatches/GoToGrenadeDispatch.js +1 -1
  18. package/dist/dispatches/GoToPlayerDispatch.js +1 -1
  19. package/dist/dispatches/GoToSpatulaDispatch.js +1 -1
  20. package/dist/dispatches/LookAtDispatch.js +1 -1
  21. package/dist/dispatches/LookAtPosDispatch.js +1 -1
  22. package/dist/dispatches/MeleeDispatch.js +1 -1
  23. package/dist/dispatches/MovementDispatch.js +1 -1
  24. package/dist/dispatches/PauseDispatch.js +1 -1
  25. package/dist/dispatches/ReloadDispatch.js +1 -1
  26. package/dist/dispatches/ReportPlayerDispatch.js +1 -1
  27. package/dist/dispatches/SaveLoadoutDispatch.js +1 -1
  28. package/dist/dispatches/SpawnDispatch.js +1 -1
  29. package/dist/dispatches/SwapWeaponDispatch.js +1 -1
  30. package/dist/dispatches/SwitchTeamDispatch.js +1 -1
  31. package/dist/dispatches/ThrowGrenadeDispatch.js +1 -1
  32. package/dist/matchmaker.js +1 -1
  33. package/dist/pathing/astar.js +1 -1
  34. package/dist/pathing/binaryheap.js +1 -1
  35. package/dist/pathing/mapnode.js +1 -1
  36. package/dist/socket.js +1 -1
  37. package/dist/types/api.d.ts +13 -6
  38. package/dist/types/bot.d.ts +36 -28
  39. package/dist/util.js +1 -1
  40. package/dist/wasm/bytes.js +1 -1
  41. package/dist/wasm/imports.js +2 -2
  42. package/dist/wasm/utils.js +1 -1
  43. package/dist/wasm/wrapper.js +1 -1
  44. package/package.json +7 -7
  45. package/dist/constants/changelog.js +0 -3
  46. package/dist/constants/housePromo.js +0 -3
  47. package/dist/constants/language.js +0 -49
  48. package/dist/constants/notices.js +0 -3
  49. package/dist/constants/shellNews.js +0 -3
  50. package/dist/constants/shellYoutube.js +0 -3
  51. package/dist/constants/shopItems.js +0 -3
  52. package/dist/constants/sounds.js +0 -3
@@ -1,4 +1,4 @@
1
- var He=Object.defineProperty;var QA=(I,A)=>{for(var e in A)He(I,e,{get:A[e],enumerable:!0})};var f={};if(typeof process<"u")f.fetch=({}).fetch,f.SocksProxyAgent=({}).SocksProxyAgent,f.ProxyAgent=({}).ProxyAgent,f.WebSocket=({}).default;else if(typeof window<"u")f.fetch=fetch.bind(window),f.SocksProxyAgent=null,f.ProxyAgent=class{},f.WebSocket=WebSocket;else throw new Error("unknown environment...could not detect node.js or browser...open an issue in the yolkbot github");var p=f;var te={};QA(te,{BanDuration:()=>pA,ChallengeSubType:()=>be,ChallengeType:()=>_e,ChatFlag:()=>Pe,ChiknWinnerDailyLimit:()=>mA,CollectType:()=>X,CoopState:()=>W,FirebaseKey:()=>R,FramesBetweenSyncs:()=>x,GameAction:()=>V,GameMode:()=>u,GameOptionFlag:()=>yA,GunEquipTime:()=>wA,GunList:()=>U,IsBrowser:()=>M,ItemType:()=>F,Movement:()=>m,PlayType:()=>$,ProxiesEnabled:()=>L,ShellStreak:()=>h,SocialMedia:()=>kA,SocialReward:()=>ze,StateBufferSize:()=>b,Team:()=>qe,URLRewards:()=>Ze,UserAgent:()=>_,findItemById:()=>E});var ee={};QA(ee,{AUG:()=>uA,CSG1:()=>CA,Cluck9mm:()=>EA,DozenGauge:()=>cA,Eggk47:()=>rA,M24:()=>dA,RPEGG:()=>lA,SMG:()=>hA});var G=class{constructor(){this.adsMod=.5,this.burst=0,this.burstRof=0,this.movementAccuracyMod=1,this.radius=0,this.reloadBloom=!0,this.reloadTimeMod=1,this.tracer=0}},rA=class extends G{constructor(){super(),this.ammo={rounds:30,capacity:30,reload:30,store:240,storeMax:240,pickup:30},this.longReloadTime=205,this.shortReloadTime=160,this.weaponName="EggK-47",this.internalName="Eggk47",this.standardMeshName="eggk47",this.automatic=!0,this.damage=30,this.range=20,this.recoil=7,this.rof=3,this.totalDamage=30,this.velocity=1.5,this.accuracyMin=.15,this.accuracyMax=.03,this.accuracyLoss=.05,this.accuracyRecover=.025,this.tracer=1}},cA=class extends G{constructor(){super(),this.ammo={rounds:2,capacity:2,reload:2,store:24,storeMax:24,pickup:8},this.longReloadTime=155,this.shortReloadTime=155,this.weaponName="Scrambler",this.internalName="Dozen Gauge",this.standardMeshName="dozenGauge",this.automatic=!1,this.damage=8.5,this.range=8,this.recoil=10,this.rof=8,this.totalDamage=170,this.velocity=1,this.accuracyMin=.16,this.accuracyMax=.13,this.accuracyLoss=.17,this.accuracyRecover=.02,this.adsMod=.6,this.movementAccuracyMod=.2,this.tracer=0}},CA=class extends G{constructor(){super(),this.ammo={rounds:15,capacity:15,reload:15,store:60,storeMax:60,pickup:15},this.longReloadTime=225,this.shortReloadTime=165,this.weaponName="Free Ranger",this.internalName="CSG-1",this.standardMeshName="csg1",this.automatic=!1,this.damage=105,this.range=50,this.recoil=13,this.rof=13,this.totalDamage=105,this.velocity=1.75,this.accuracyMin=.3,this.accuracyMax=.004,this.accuracyLoss=.3,this.accuracyRecover=.025,this.tracer=0}},EA=class extends G{constructor(){super(),this.ammo={rounds:15,capacity:15,reload:15,store:60,storeMax:60,pickup:15},this.longReloadTime=195,this.shortReloadTime=160,this.weaponName="Cluck 9mm",this.internalName="Cluck 9mm",this.standardMeshName="cluck9mm",this.automatic=!1,this.damage=26,this.range=15,this.recoil=6,this.rof=4,this.totalDamage=26,this.velocity=1,this.accuracyMin=.15,this.accuracyMax=.035,this.accuracyLoss=.09,this.accuracyRecover=.08,this.adsMod=.8,this.movementAccuracyMod=.6,this.tracer=0}},lA=class extends G{constructor(){super(),this.ammo={rounds:1,capacity:1,reload:1,store:3,storeMax:3,pickup:1},this.longReloadTime=170,this.shortReloadTime=170,this.weaponName="RPEGG",this.internalName="Eggsploder",this.standardMeshName="rpegg",this.automatic=!1,this.damage=140,this.range=45,this.recoil=60,this.rof=40,this.totalDamage=192.5,this.velocity=.4,this.accuracyMin=.3,this.accuracyMax=.015,this.accuracyLoss=.3,this.accuracyRecover=.02,this.radius=2.75}},hA=class extends G{constructor(){super(),this.ammo={rounds:40,capacity:40,reload:40,store:200,storeMax:200,pickup:40},this.longReloadTime=225,this.shortReloadTime=190,this.weaponName="Whipper",this.internalName="SMEGG",this.standardMeshName="smg",this.automatic=!0,this.damage=23,this.range=20,this.recoil=7,this.rof=2,this.totalDamage=23,this.velocity=1.25,this.accuracyMin=.19,this.accuracyMax=.06,this.accuracyLoss=.045,this.accuracyRecover=.05,this.adsMod=.6,this.movementAccuracyMod=.7,this.tracer=2}},dA=class extends G{constructor(){super(),this.ammo={rounds:1,capacity:1,reload:1,store:12,storeMax:12,pickup:4},this.longReloadTime=144,this.shortReloadTime=144,this.weaponName="Crackshot",this.internalName="M2DZ",this.standardMeshName="m24",this.automatic=!0,this.damage=170,this.range=60,this.recoil=20,this.rof=15,this.totalDamage=170,this.velocity=2,this.accuracyMin=.35,this.accuracyMax=0,this.accuracyLoss=.1,this.accuracyRecover=.023,this.movementAccuracyMod=1.3,this.reloadBloom=!1,this.reloadTimeMod=.8,this.tracer=0}},uA=class extends G{constructor(){super(),this.ammo={rounds:24,capacity:24,reload:24,store:150,storeMax:150,pickup:24},this.longReloadTime=205,this.shortReloadTime=160,this.weaponName="Tri-Hard",this.internalName="AUG",this.standardMeshName="aug",this.automatic=!1,this.damage=32,this.range=20,this.recoil=18,this.rof=15,this.totalDamage=34,this.velocity=1.5,this.accuracyMin=.15,this.accuracyMax=.03,this.accuracyLoss=.037,this.accuracyRecover=.03,this.adsMod=.6,this.burst=3,this.burstRof=3,this.movementAccuracyMod=.8,this.movementInstability=2,this.tracer=0}};var E=()=>null;var pA={FiveMinutes:0,FifteenMinutes:1,OneHour:2},be={Killstreak:0,KillWithWeapon:1,MovementDistance:3,Jumping:4,TimePlayed:6,TimeAlive:7,KillWithCondition:8,TotalKills:10,SpatulaKills:10,Collecting:18,FromTheCoop:20,SpecialOffensive:21,WinKOTC:23,KillWithSpatula:23},_e={Kill:0,Damage:1,Death:2,Movement:3,Collect:4,Time:5,KOTC:6,Spatula:7},Pe={None:0,Pinned:2,Team:4,Mod:254,Server:255},mA=3,X={Ammo:0,Grenade:1},W={Start:0,Score:1,Win:2,Capturing:3,Contested:4,Takeover:5,Abandoned:6,Unclaimed:7},R="AIzaSyDP4SIjKaw6A4c-zvfYxICpbEjn1rRnN50",x=3,V={Reset:1,Pause:2},u={FFA:0,Team:1,Spatula:2,KOTC:3},yA={Locked:1,NoTeamChange:2,NoTeamShuffle:4},wA=13,U=[rA,cA,CA,lA,hA,dA,uA],M=typeof window<"u",F={Hat:1,Stamp:2,Primary:3,Secondary:4,Grenade:6,Melee:7},m={Forward:1,Backward:2,Left:4,Right:8,Jump:16,Fire:32,Melee:64,Scope:128},$={JoinPublic:0,CreatePrivate:1,JoinPrivate:2},L=!M&&typeof Bun>"u",h={HardBoiled:1,EggBreaker:2,Restock:4,OverHeal:8,DoubleEggs:16,MiniEgg:32},kA={Facebook:0,Instagram:1,Tiktok:2,Discord:3,Youtube:4,Twitter:5,Twitch:6},ze={Discord:"rew_1200",Tiktok:"rew_1208",Instagram:"rew_1219",Steam:"rew_1223",Facebook:"rew_1227",Twitter:"rew_1234",Twitch:"rew_twitch_social"},b=256,qe={Blue:1,Red:2},Ze=["giveBasketBrosReward","mercZoneFinalGift","midMonthGiveMeEggs","newYolkerSignupReward","newYolkerItemReward","newYolkerWelcomeBack","WelcomeBack"],_=M?null:"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/127.0.0.0 Safari/537.36";var DA=class{url="";proxy="";binaryType="";maxRetries=5;constructor(A,e){this.url=A,!L&&e&&(console.error("You cannot pass a proxy to a yolkws in this environment."),process.exit(1)),this.proxy=e}async tryConnect(A=1){let e=new URL(this.url),t=async()=>A===5?!1:await this.tryConnect(A+1);try{this.socket=M?new p.WebSocket(this.url):new p.WebSocket(this.url,{agent:this.proxy?new p.SocksProxyAgent(this.proxy):void 0,headers:{"accept-encoding":"gzip, deflate, br, zstd","accept-language":"en-US,en;q=0.9","cache-control":"no-cache",connection:"Upgrade",host:e.host,origin:e.origin.replace("ws","http"),pragma:"no-cache","sec-websocket-extensions":"permessage-deflate; client_max_window_bits","user-agent":_}}),this.binaryType&&(this.socket.binaryType=this.binaryType)}catch(a){return console.error(`Failed to connect on try ${A}, trying again...`,a),await t()}return new Promise(a=>{let s=setTimeout(async()=>{M?this.socket.close():this.socket.terminate(),a(await t())},5e3),i=async o=>{clearTimeout(s),console.error("WebSocket error",o),a(await t())};this.socket.addEventListener("open",async()=>{clearTimeout(s),this.socket.removeEventListener("error",i),a(!0)}),this.socket.addEventListener("error",i)})}get onmessage(){return this.socket?.onmessage}set onmessage(A){this.socket?this.socket.onmessage=A:console.error("set onmessage before socket existed")}get onclose(){return this.socket?.onclose}set onclose(A){this.socket?this.socket.onclose=A:console.error("set onclose before socket existed")}get onerror(){return this.socket?.onerror}set onerror(A){this.socket?this.socket.onerror=A:console.error("set onclose before socket existed")}send(A){return this.socket?.send(A)}close(A){return this.socket?.close(A)}},Y=DA;var P={origin:"https://shellshock.io","user-agent":_,"x-client-version":"Chrome/JsCore/9.17.2/FirebaseCore-web","x-firebase-locale":"en"},AA=class{constructor(A={}){this.instance=A.instance||"shellshock.io",this.protocol=A.protocol||"wss",this.httpProxy=A.httpProxy||A.proxy?.replace(/socks([4|5|4a|5h]+):\/\//g,"https://")||"",this.socksProxy=A.proxy,this.maxRetries=A.maxRetries||5,this.suppressErrors=A.suppressErrors||!1}queryServices=async A=>{let e=new Y(`${this.protocol}://${this.instance}/services/`,this.socksProxy);return await e.tryConnect(-2)?new Promise(a=>{let s=!1;e.onmessage=i=>{s=!0;try{let o=JSON.parse(i.data);a(o)}catch{this.suppressErrors||(console.error("queryServices: Bad API JSON response with call: "+A.cmd+" and data:",JSON.stringify(A)),console.error("queryServices: Full data sent: ",JSON.stringify(A))),a("bad_json")}e.close()},e.onerror=()=>!s&&a("unknown_socket_error"),e.onclose=()=>!s&&a("services_closed_early"),e.send(JSON.stringify(A))}):"websocket_connect_fail"};#A=async(A,e,t)=>{if(!A||!e)return"firebase_no_credentials";let a,s;try{a=await(await p.fetch(`https://identitytoolkit.googleapis.com/v1/accounts:${t}?key=${R}`,{method:"POST",body:JSON.stringify({email:A,password:e,returnSecureToken:!0}),headers:{...P,"content-type":"application/json"},dispatcher:this.httpProxy?new p.ProxyAgent(this.httpProxy):void 0})).json(),s=a.idToken}catch(o){return o.code==="auth/network-request-failed"?(this.suppressErrors||console.error("loginWithCredentials: Network req failed (auth/network-request-failed)"),"firebase_network_failed"):o.code==="auth/missing-email"?"firebase_no_credentials":o.code==="ERR_BAD_REQUEST"?(this.suppressErrors||console.error("loginWithCredentials: Error:",A,e),this.suppressErrors||console.error("loginWithCredentials: Error:",o.response?.data||o),"firebase_bad_request"):(this.suppressErrors||console.error("loginWithCredentials: Error:",A,e,o),"firebase_unknown_error")}if(!s)return this.suppressErrors||console.error("loginWithCredentials: the game sent no idToken",a),"firebase_no_token";this.idToken=s;let i=await this.queryServices({cmd:"auth",firebaseToken:s});return typeof i=="object"?{firebase:a,...i}:i};createAccount=async(A,e)=>await this.#A(A,e,"signUp");loginWithCredentials=async(A,e)=>await this.#A(A,e,"signInWithPassword");loginWithRefreshToken=async A=>{if(!A)return"firebase_no_credentials";let e=new URLSearchParams;e.append("grant_type","refresh_token"),e.append("refresh_token",A);let t,a;try{t=await(await p.fetch(`https://securetoken.googleapis.com/v1/token?key=${R}`,{method:"POST",body:e,headers:{...P,"content-type":"application/x-www-form-urlencoded"},dispatcher:this.httpProxy?new p.ProxyAgent(this.httpProxy):void 0})).json(),a=t.id_token}catch(i){return i.code==="auth/network-request-failed"?(this.suppressErrors||console.error("loginWithRefreshToken: Network req failed (auth/network-request-failed)"),"firebase_network_failed"):i.code==="auth/missing-email"?"firebase_no_credentials":(this.suppressErrors||console.error("loginWithRefreshToken: Error:",i,A),"firebase_unknown_error")}if(!a)return this.suppressErrors||console.error("loginWithRefreshToken: the game sent no idToken",t),"firebase_no_token";this.idToken=a;let s=await this.queryServices({cmd:"auth",firebaseToken:a});return typeof s=="object"?{firebase:t,...s}:s};loginAnonymously=async()=>{let e=await(await p.fetch("https://identitytoolkit.googleapis.com/v1/accounts:signUp?key="+R,{method:"POST",body:JSON.stringify({returnSecureToken:!0}),headers:{...P,"content-type":"application/json"},dispatcher:this.httpProxy?new p.ProxyAgent(this.httpProxy):void 0})).json(),t=e.idToken;if(!t)return this.suppressErrors||console.error("loginAnonymously: the game sent no idToken",e),"firebase_no_token";this.idToken=t;let a=await this.queryServices({cmd:"auth",firebaseToken:t});return typeof a=="object"?{firebase:e,...a}:a};sendEmailVerification=async(A=this.idToken)=>{if(!A)return"no_idtoken_passed";let t=await(await p.fetch("https://identitytoolkit.googleapis.com/v1/accounts:sendOobCode?key="+R,{method:"POST",body:JSON.stringify({requestType:"VERIFY_EMAIL",idToken:A}),headers:{...P,"content-type":"application/json"},dispatcher:this.httpProxy?new p.ProxyAgent(this.httpProxy):void 0})).json();return t.kind!=="identitytoolkit#GetOobConfirmationCodeResponse"?(this.suppressErrors||console.error("sendEmailVerification: the game sent an invalid response",t),"firebase_invalid_response"):t.email};verifyOobCode=async A=>{if(!A)return"no_oob_code_passed";let t=await(await p.fetch("https://www.googleapis.com/identitytoolkit/v3/relyingparty/setAccountInfo?key="+R,{method:"POST",body:JSON.stringify({oobCode:A}),headers:{...P,"x-client-version":"Chrome/JsCore/3.7.5/FirebaseCore-web",referer:"https://shellshockio-181719.firebaseapp.com/","content-type":"application/json"},dispatcher:this.httpProxy?new p.ProxyAgent(this.httpProxy):void 0})).json();return t.emailVerified?t.email:(this.suppressErrors||console.error("verifyOobCode: the game sent an invalid response",t),"firebase_invalid_response")}},eA=AA;var fA=class{static buffer;static idx;static init(A){this.buffer=new Uint8Array(A),this.idx=0}static isMoreDataAvailable(){return Math.max(0,this.buffer.length-this.idx)}static unPackInt8U(){let A=this.idx;return this.idx++,this.buffer[A]}static unPackInt8(){return(this.unPackInt8U()+128)%256-128}static unPackInt16U(){let A=this.idx;return this.idx+=2,this.buffer[A]+this.buffer[A+1]*256}static unPackInt24U(){let A=this.idx;return this.idx+=3,this.buffer[A]+this.buffer[A+1]*256+this.buffer[A+2]*65536}static unPackInt32U(){let A=this.idx;return this.idx+=4,this.buffer[A]+this.buffer[A+1]*256+this.buffer[A+2]*65536+this.buffer[A+3]*16777216}static unPackInt16(){return(this.unPackInt16U()+32768)%65536-32768}static unPackInt32(){return(this.unPackInt32U()+2147483648)%4294967296-2147483648}static unPackRadU(){return this.unPackInt24U()/2097152}static unPackRad(){return this.unPackInt16U()/8192-Math.PI}static unPackFloat(){return this.unPackInt16()/256}static unPackDouble(){return this.unPackInt32()/1048576}static unPackString(A){A=A||255;let e=Math.min(this.unPackInt8U(),A);return this.unPackStringHelper(e)}static unPackLongString(A){A=A||16383;let e=Math.min(this.unPackInt16U(),A);return this.unPackStringHelper(e)}static unPackStringHelper(A){if(this.isMoreDataAvailable()<A)return 0;let t="";for(let a=0;a<A;a++){let s=this.unPackInt16U();s>0&&(t+=String.fromCodePoint(s))}return t}},g=fA;var NA=class{constructor(A=16384){this.idx=0,this.arrayBuffer=new ArrayBuffer(A),this.buffer=new Uint8Array(this.arrayBuffer,0,A)}send(A){let e=new Uint8Array(this.arrayBuffer,0,this.idx);A.send(e)}packInt8(A){this.buffer[this.idx]=A&255,this.idx++}packInt16(A){this.buffer[this.idx]=A&255,this.buffer[this.idx+1]=A>>8&255,this.idx+=2}packInt24(A){this.buffer[this.idx]=A&255,this.buffer[this.idx+1]=A>>8&255,this.buffer[this.idx+2]=A>>16&255,this.idx+=3}packInt32(A){this.buffer[this.idx]=A&255,this.buffer[this.idx+1]=A>>8&255,this.buffer[this.idx+2]=A>>16&255,this.buffer[this.idx+3]=A>>24&255,this.idx+=4}packRadU(A){this.packInt24(A*2097152)}packRad(A){this.packInt16((A+Math.PI)*8192)}packFloat(A){this.packInt16(A*256)}packDouble(A){this.packInt32(A*1048576)}packString(A){typeof A!="string"&&(A=""),this.packInt8(A.length);for(let e=0;e<A.length;e++)this.packInt16(A.charCodeAt(e))}packLongString(A){typeof A!="string"&&(A=""),this.packInt16(A.length);for(let e=0;e<A.length;e++)this.packInt16(A.charCodeAt(e))}},C=NA;var je={gameNotFound:4e3,gameFull:4001,badName:4002,mainMenu:4003,gameIdleExceeded:4004,corruptedLoginData0:4005,corruptedLoginData1:4006,corruptedLoginData2:4007,corruptedLoginData3:4008,corruptedLoginData4:4009,corruptedLoginData5:4010,gameMaxPlayersExceeded:4011,gameDestroyUser:4012,joinGameOutOfOrder:4013,gameShuttingDown:4014,readyBeforeReady:4015,booted:4016,gameErrorOnUserSocket:4017,uuidNotFound:4018,sessionNotFound:4019,clusterFullCpu:4020,clusterFullMem:4021,noClustersAvailable:4022,locked:4023},tA=je;var Oe={swapWeapon:0,joinGame:1,refreshGameState:2,spawnItem:3,observeGame:4,ping:5,bootPlayer:6,banPlayer:7,loginRequired:8,gameLocked:9,switchTeam:13,changeCharacter:14,pause:15,gameOptions:16,gameAction:17,requestGameOptions:18,gameJoined:19,socketReady:20,addPlayer:21,removePlayer:22,fire:23,melee:24,throwGrenade:25,eventModifier:27,hitThem:28,hitMe:29,collectItem:30,challengeResetInGame:31,chat:34,syncThem:35,die:37,beginShellStreak:38,endShellStreak:39,updateBalance:42,reload:43,respawn:44,respawnDenied:45,clientReady:47,requestRespawn:48,switchTeamFail:51,expireUpgrade:52,metaGameState:53,syncMe:54,explode:55,keepAlive:56,musicInfo:57,hitMeHardBoiled:58,playerInfo:59,challengeCompleted:60},B=Oe;var Xe=Object.fromEntries(Object.entries(kA).map(([I,A])=>[A,I.toLowerCase()])),iA=class{constructor(A,e=null){this.id=A.id,this.uniqueId=A.uniqueId,this.name=A.name,this.safeName=A.safeName,this.team=A.team,this.playing=A.playing,this.socials=A.social&&JSON.parse(A.social),this.socials&&this.socials.forEach(t=>t.type=Xe[t.id]),this.isVip=A.upgradeProductId>0,this.showBadge=!A.hideBadge||!1,this.streak=A.score,this.streakRewards=Object.values(h).filter(t=>A.activeShellStreaks&t),this.scale=this.streakRewards.includes(h.MiniEgg)?.5:1,this.position={x:A.x,y:A.y,z:A.z},this.jumping=A.$controlKeys&m.Jump,this.scoping=A.$controlKeys&m.Scope,this.climbing=!1,this.view={yaw:A.yaw,pitch:A.pitch},this.updateKotcZone(e),this.character={eggColor:A.shellColor,primaryGun:A.primaryWeaponItem,secondaryGun:A.secondaryWeaponItem,stamp:A.stampItem,hat:A.hatItem,grenade:A.grenadeItem,melee:A.meleeItem,stampPos:{x:A.stampPosX,y:A.stampPosY}},this.stats={totalKills:A.totalKills,totalDeaths:A.totalDeaths,bestStreak:A.bestStreak},this.activeGun=A.weaponIdx,this.selectedGun=A.charClass,this.weapons=[],this.character.primaryGun&&(this.weapons[0]=new U[this.selectedGun],this.weapons[1]=new EA),this.grenades=1,this.hp=A.hp,this.hpShield=0,this.spawnShield=A.shield,this.randomSeed=0}updateKotcZone(A){if(!A)return this.inKotcZone=!1;let e=Math.floor(this.position.x),t=Math.floor(this.position.y),a=Math.floor(this.position.z);this.inKotcZone=A.some(s=>s.x===e&&s.y===t&&s.z===a)&&this.playing}},aA=iA;var v=(I,A,e)=>(A>>>=0,new TextDecoder().decode(new Uint8Array(I.memory.buffer).subarray(A,A+e))),T=(I,A)=>{let e=new TextEncoder().encode(A),t=I.__wbindgen_malloc(e.length,1)>>>0;return new Uint8Array(I.memory.buffer).subarray(t,t+e.length).set(e),[t,e.length]},z=(I,A)=>{let e=I.__externref_table_alloc();return I.__wbindgen_export_2.set(e,A),e};var We=`
1
+ var qt=Object.defineProperty;var nA=(B,A)=>{for(var t in A)qt(B,t,{get:A[t],enumerable:!0})};var N={};if(typeof process<"u")N.fetch=({}).fetch,N.SocksProxyAgent=({}).SocksProxyAgent,N.ProxyAgent=({}).ProxyAgent,N.WebSocket=({}).default;else if(typeof window<"u")N.fetch=fetch.bind(window),N.SocksProxyAgent=null,N.ProxyAgent=class{},N.WebSocket=WebSocket;else throw new Error("unknown environment...could not detect node.js or browser...open an issue in the yolkbot github");var y=N;var et={};nA(et,{BanDuration:()=>yA,ChallengeSubType:()=>zt,ChallengeType:()=>Tt,ChatFlag:()=>bt,ChiknWinnerDailyLimit:()=>DA,CollectType:()=>W,CoopState:()=>_,FirebaseKey:()=>R,FramesBetweenSyncs:()=>J,GameAction:()=>V,GameMode:()=>w,GameOptionFlag:()=>mA,GunEquipTime:()=>pA,GunList:()=>U,IsBrowser:()=>G,ItemType:()=>F,Movement:()=>D,PlayType:()=>$,ProxiesEnabled:()=>L,ShellStreak:()=>d,SocialMedia:()=>kA,SocialReward:()=>vt,StateBufferSize:()=>z,Team:()=>Zt,URLRewards:()=>Ot,UserAgent:()=>T,findItemById:()=>r});var tt={};nA(tt,{AUG:()=>wA,CSG1:()=>cA,Cluck9mm:()=>rA,DozenGauge:()=>EA,Eggk47:()=>CA,M24:()=>lA,RPEGG:()=>hA,SMG:()=>dA});var M=class{constructor(){this.adsMod=.5,this.burst=0,this.burstRof=0,this.movementAccuracyMod=1,this.radius=0,this.reloadBloom=!0,this.reloadTimeMod=1,this.tracer=0}},CA=class extends M{constructor(){super(),this.ammo={rounds:30,capacity:30,reload:30,store:240,storeMax:240,pickup:30},this.longReloadTime=205,this.shortReloadTime=160,this.weaponName="EggK-47",this.internalName="Eggk47",this.standardMeshName="eggk47",this.automatic=!0,this.damage=30,this.range=20,this.recoil=7,this.rof=3,this.totalDamage=30,this.velocity=1.5,this.accuracyMin=.15,this.accuracyMax=.03,this.accuracyLoss=.05,this.accuracyRecover=.025,this.tracer=1}},EA=class extends M{constructor(){super(),this.ammo={rounds:2,capacity:2,reload:2,store:24,storeMax:24,pickup:8},this.longReloadTime=155,this.shortReloadTime=155,this.weaponName="Scrambler",this.internalName="Dozen Gauge",this.standardMeshName="dozenGauge",this.automatic=!1,this.damage=8.5,this.range=8,this.recoil=10,this.rof=8,this.totalDamage=170,this.velocity=1,this.accuracyMin=.16,this.accuracyMax=.13,this.accuracyLoss=.17,this.accuracyRecover=.02,this.adsMod=.6,this.movementAccuracyMod=.2,this.tracer=0}},cA=class extends M{constructor(){super(),this.ammo={rounds:15,capacity:15,reload:15,store:60,storeMax:60,pickup:15},this.longReloadTime=225,this.shortReloadTime=165,this.weaponName="Free Ranger",this.internalName="CSG-1",this.standardMeshName="csg1",this.automatic=!1,this.damage=105,this.range=50,this.recoil=13,this.rof=13,this.totalDamage=105,this.velocity=1.75,this.accuracyMin=.3,this.accuracyMax=.004,this.accuracyLoss=.3,this.accuracyRecover=.025,this.tracer=0}},rA=class extends M{constructor(){super(),this.ammo={rounds:15,capacity:15,reload:15,store:60,storeMax:60,pickup:15},this.longReloadTime=195,this.shortReloadTime=160,this.weaponName="Cluck 9mm",this.internalName="Cluck 9mm",this.standardMeshName="cluck9mm",this.automatic=!1,this.damage=26,this.range=15,this.recoil=6,this.rof=4,this.totalDamage=26,this.velocity=1,this.accuracyMin=.15,this.accuracyMax=.035,this.accuracyLoss=.09,this.accuracyRecover=.08,this.adsMod=.8,this.movementAccuracyMod=.6,this.tracer=0}},hA=class extends M{constructor(){super(),this.ammo={rounds:1,capacity:1,reload:1,store:3,storeMax:3,pickup:1},this.longReloadTime=170,this.shortReloadTime=170,this.weaponName="RPEGG",this.internalName="Eggsploder",this.standardMeshName="rpegg",this.automatic=!1,this.damage=140,this.range=45,this.recoil=60,this.rof=40,this.totalDamage=192.5,this.velocity=.4,this.accuracyMin=.3,this.accuracyMax=.015,this.accuracyLoss=.3,this.accuracyRecover=.02,this.radius=2.75}},dA=class extends M{constructor(){super(),this.ammo={rounds:40,capacity:40,reload:40,store:200,storeMax:200,pickup:40},this.longReloadTime=225,this.shortReloadTime=190,this.weaponName="Whipper",this.internalName="SMEGG",this.standardMeshName="smg",this.automatic=!0,this.damage=23,this.range=20,this.recoil=7,this.rof=2,this.totalDamage=23,this.velocity=1.25,this.accuracyMin=.19,this.accuracyMax=.06,this.accuracyLoss=.045,this.accuracyRecover=.05,this.adsMod=.6,this.movementAccuracyMod=.7,this.tracer=2}},lA=class extends M{constructor(){super(),this.ammo={rounds:1,capacity:1,reload:1,store:12,storeMax:12,pickup:4},this.longReloadTime=144,this.shortReloadTime=144,this.weaponName="Crackshot",this.internalName="M2DZ",this.standardMeshName="m24",this.automatic=!0,this.damage=170,this.range=60,this.recoil=20,this.rof=15,this.totalDamage=170,this.velocity=2,this.accuracyMin=.35,this.accuracyMax=0,this.accuracyLoss=.1,this.accuracyRecover=.023,this.movementAccuracyMod=1.3,this.reloadBloom=!1,this.reloadTimeMod=.8,this.tracer=0}},wA=class extends M{constructor(){super(),this.ammo={rounds:24,capacity:24,reload:24,store:150,storeMax:150,pickup:24},this.longReloadTime=205,this.shortReloadTime=160,this.weaponName="Tri-Hard",this.internalName="AUG",this.standardMeshName="aug",this.automatic=!1,this.damage=32,this.range=20,this.recoil=18,this.rof=15,this.totalDamage=34,this.velocity=1.5,this.accuracyMin=.15,this.accuracyMax=.03,this.accuracyLoss=.037,this.accuracyRecover=.03,this.adsMod=.6,this.burst=3,this.burstRof=3,this.movementAccuracyMod=.8,this.movementInstability=2,this.tracer=0}};var r=()=>null;var yA={FiveMinutes:0,FifteenMinutes:1,OneHour:2},zt={Killstreak:0,KillWithWeapon:1,MovementDistance:3,Jumping:4,TimePlayed:6,TimeAlive:7,KillWithCondition:8,TotalKills:10,SpatulaKills:10,Collecting:18,FromTheCoop:20,SpecialOffensive:21,WinKOTC:23,KillWithSpatula:23},Tt={Kill:0,Damage:1,Death:2,Movement:3,Collect:4,Time:5,KOTC:6,Spatula:7},bt={None:0,Pinned:2,Team:4,Mod:254,Server:255},DA=3,W={Ammo:0,Grenade:1},_={Start:0,Score:1,Win:2,Capturing:3,Contested:4,Takeover:5,Abandoned:6,Unclaimed:7},R="AIzaSyDP4SIjKaw6A4c-zvfYxICpbEjn1rRnN50",J=3,V={Reset:1,Pause:2},w={FFA:0,Team:1,Spatula:2,KOTC:3},mA={Locked:1,NoTeamChange:2,NoTeamShuffle:4},pA=13,U=[CA,EA,cA,hA,dA,lA,wA],G=typeof window<"u",F={Hat:1,Stamp:2,Primary:3,Secondary:4,Grenade:6,Melee:7},D={Forward:1,Backward:2,Left:4,Right:8,Jump:16,Fire:32,Melee:64,Scope:128},$={JoinPublic:0,CreatePrivate:1,JoinPrivate:2},L=!G&&typeof Bun>"u",d={HardBoiled:1,EggBreaker:2,Restock:4,OverHeal:8,DoubleEggs:16,MiniEgg:32},kA={Facebook:0,Instagram:1,Tiktok:2,Discord:3,Youtube:4,Twitter:5,Twitch:6},vt={Discord:"rew_1200",Tiktok:"rew_1208",Instagram:"rew_1219",Steam:"rew_1223",Facebook:"rew_1227",Twitter:"rew_1234",Twitch:"rew_twitch_social"},z=256,Zt={Blue:1,Red:2},Ot=["giveBasketBrosReward","mercZoneFinalGift","midMonthGiveMeEggs","newYolkerSignupReward","newYolkerItemReward","newYolkerWelcomeBack","WelcomeBack"],T=G?null:"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/127.0.0.0 Safari/537.36";var uA=class{url="";proxy="";binaryType="";maxRetries=5;constructor(A,t){this.url=A,!L&&t&&(console.error("You cannot pass a proxy to a yolkws in this environment."),process.exit(1)),this.proxy=t}async tryConnect(A=1){let t=new URL(this.url),e=async()=>A===5?!1:await this.tryConnect(A+1);try{this.socket=G?new y.WebSocket(this.url):new y.WebSocket(this.url,{agent:this.proxy?new y.SocksProxyAgent(this.proxy):void 0,headers:{"accept-encoding":"gzip, deflate, br, zstd","accept-language":"en-US,en;q=0.9","cache-control":"no-cache",connection:"Upgrade",host:t.host,origin:t.origin.replace("ws","http"),pragma:"no-cache","sec-websocket-extensions":"permessage-deflate; client_max_window_bits","user-agent":T}}),this.binaryType&&(this.socket.binaryType=this.binaryType)}catch(I){return console.error(`Failed to connect on try ${A}, trying again...`,I),await e()}return new Promise(I=>{let s=setTimeout(async()=>{G?this.socket.close():this.socket.terminate(),I(await e())},5e3),g=async Q=>{clearTimeout(s),console.error("WebSocket error",Q),I(await e())};this.socket.addEventListener("open",async()=>{clearTimeout(s),this.socket.removeEventListener("error",g),I(!0)}),this.socket.addEventListener("error",g)})}get onmessage(){return this.socket?.onmessage}set onmessage(A){this.socket?this.socket.onmessage=A:console.error("set onmessage before socket existed")}get onclose(){return this.socket?.onclose}set onclose(A){this.socket?this.socket.onclose=A:console.error("set onclose before socket existed")}get onerror(){return this.socket?.onerror}set onerror(A){this.socket?this.socket.onerror=A:console.error("set onclose before socket existed")}send(A){return this.socket?.send(A)}close(A){return this.socket?.close(A)}},x=uA;var b={origin:"https://shellshock.io","user-agent":T,"x-client-version":"Chrome/JsCore/9.17.2/FirebaseCore-web","x-firebase-locale":"en"},AA=class{constructor(A={}){this.instance=A.instance||"shellshock.io",this.protocol=A.protocol||"wss",this.httpProxy=A.httpProxy||A.proxy?.replace(/socks([4|5|4a|5h]+):\/\//g,"https://")||void 0,this.socksProxy=A.proxy,this.maxRetries=A.maxRetries||5,this.suppressErrors=A.suppressErrors||!1}queryServices=async A=>{let t=new x(`${this.protocol}://${this.instance}/services/`,this.socksProxy);return!await t.tryConnect(-2)||t.socket.readyState<1?"websocket_connect_fail":new Promise(I=>{let s=!1;t.onmessage=g=>{s=!0;try{let Q=JSON.parse(g.data);I(Q)}catch{this.suppressErrors||(console.error("queryServices: Bad API JSON response with call: "+A.cmd+" and data:",JSON.stringify(A)),console.error("queryServices: Full data sent: ",JSON.stringify(A))),I("bad_json")}t.close()},t.onerror=()=>!s&&I("unknown_socket_error"),t.onclose=()=>!s&&I("services_closed_early"),t.send(JSON.stringify(A))})};#A=async(A,t,e)=>{if(!A||!t)return"firebase_no_credentials";let I,s;try{I=await(await y.fetch(`https://identitytoolkit.googleapis.com/v1/accounts:${e}?key=${R}`,{method:"POST",body:JSON.stringify({email:A,password:t,returnSecureToken:!0}),headers:{...b,"content-type":"application/json"},dispatcher:this.httpProxy?new y.ProxyAgent(this.httpProxy):void 0})).json(),s=I.idToken}catch(Q){return Q.code==="auth/network-request-failed"?(this.suppressErrors||console.error("loginWithCredentials: Network req failed (auth/network-request-failed)"),"firebase_network_failed"):Q.code==="auth/missing-email"?"firebase_no_credentials":Q.code==="ERR_BAD_REQUEST"?(this.suppressErrors||console.error("loginWithCredentials: Error:",A,t),this.suppressErrors||console.error("loginWithCredentials: Error:",I||Q),"firebase_bad_request"):(this.suppressErrors||console.error("loginWithCredentials: Error:",A,t,Q),"firebase_unknown_error")}if(!s)return this.suppressErrors||console.error("loginWithCredentials: the game sent no idToken",I),"firebase_no_token";this.idToken=s;let g=await this.queryServices({cmd:"auth",firebaseToken:s});return typeof g=="object"?{firebase:I,...g}:g};createAccount=async(A,t)=>await this.#A(A,t,"signUp");loginWithCredentials=async(A,t)=>await this.#A(A,t,"signInWithPassword");loginWithRefreshToken=async A=>{if(!A)return"firebase_no_credentials";let t=new URLSearchParams;t.append("grant_type","refresh_token"),t.append("refresh_token",A);let e,I;try{e=await(await y.fetch(`https://securetoken.googleapis.com/v1/token?key=${R}`,{method:"POST",body:t,headers:{...b,"content-type":"application/x-www-form-urlencoded"},dispatcher:this.httpProxy?new y.ProxyAgent(this.httpProxy):void 0})).json(),I=e.id_token}catch(g){return g.code==="auth/network-request-failed"?(this.suppressErrors||console.error("loginWithRefreshToken: Network req failed (auth/network-request-failed)"),"firebase_network_failed"):g.code==="auth/missing-email"?"firebase_no_credentials":(this.suppressErrors||console.error("loginWithRefreshToken: Error:",g,A),"firebase_unknown_error")}if(!I)return this.suppressErrors||console.error("loginWithRefreshToken: the game sent no idToken",e),"firebase_no_token";this.idToken=I;let s=await this.queryServices({cmd:"auth",firebaseToken:I});return typeof s=="object"?{firebase:e,...s}:s};loginAnonymously=async()=>{let t=await(await y.fetch("https://identitytoolkit.googleapis.com/v1/accounts:signUp?key="+R,{method:"POST",body:JSON.stringify({returnSecureToken:!0}),headers:{...b,"content-type":"application/json"},dispatcher:this.httpProxy?new y.ProxyAgent(this.httpProxy):void 0})).json(),e=t.idToken;if(!e)return this.suppressErrors||console.error("loginAnonymously: the game sent no idToken",t),"firebase_no_token";this.idToken=e;let I=await this.queryServices({cmd:"auth",firebaseToken:e});return typeof I=="object"?{firebase:t,...I}:I};sendEmailVerification=async(A=this.idToken)=>{if(!A)return"no_idtoken_passed";let e=await(await y.fetch("https://identitytoolkit.googleapis.com/v1/accounts:sendOobCode?key="+R,{method:"POST",body:JSON.stringify({requestType:"VERIFY_EMAIL",idToken:A}),headers:{...b,"content-type":"application/json"},dispatcher:this.httpProxy?new y.ProxyAgent(this.httpProxy):void 0})).json();return e.kind!=="identitytoolkit#GetOobConfirmationCodeResponse"?(this.suppressErrors||console.error("sendEmailVerification: the game sent an invalid response",e),"firebase_invalid_response"):{email:e.email}};verifyOobCode=async A=>{if(!A)return"no_oob_code_passed";let e=await(await y.fetch("https://www.googleapis.com/identitytoolkit/v3/relyingparty/setAccountInfo?key="+R,{method:"POST",body:JSON.stringify({oobCode:A}),headers:{...b,"x-client-version":"Chrome/JsCore/3.7.5/FirebaseCore-web",referer:"https://shellshockio-181719.firebaseapp.com/","content-type":"application/json"},dispatcher:this.httpProxy?new y.ProxyAgent(this.httpProxy):void 0})).json();return e.emailVerified?e.email:(this.suppressErrors||console.error("verifyOobCode: the game sent an invalid response",e),"firebase_invalid_response")}},tA=AA;var NA=class{static buffer;static idx;static init(A){this.buffer=new Uint8Array(A),this.idx=0}static isMoreDataAvailable(){return Math.max(0,this.buffer.length-this.idx)}static unPackInt8U(){let A=this.idx;return this.idx++,this.buffer[A]}static unPackInt8(){return(this.unPackInt8U()+128)%256-128}static unPackInt16U(){let A=this.idx;return this.idx+=2,this.buffer[A]+this.buffer[A+1]*256}static unPackInt24U(){let A=this.idx;return this.idx+=3,this.buffer[A]+this.buffer[A+1]*256+this.buffer[A+2]*65536}static unPackInt32U(){let A=this.idx;return this.idx+=4,this.buffer[A]+this.buffer[A+1]*256+this.buffer[A+2]*65536+this.buffer[A+3]*16777216}static unPackInt16(){return(this.unPackInt16U()+32768)%65536-32768}static unPackInt32(){return(this.unPackInt32U()+2147483648)%4294967296-2147483648}static unPackRadU(){return this.unPackInt24U()/2097152}static unPackRad(){return this.unPackInt16U()/8192-Math.PI}static unPackFloat(){return this.unPackInt16()/256}static unPackDouble(){return this.unPackInt32()/1048576}static unPackString(A){A=A||255;let t=Math.min(this.unPackInt8U(),A);return this.unPackStringHelper(t)}static unPackLongString(A){A=A||16383;let t=Math.min(this.unPackInt16U(),A);return this.unPackStringHelper(t)}static unPackStringHelper(A){if(this.isMoreDataAvailable()<A)return 0;let e="";for(let I=0;I<A;I++){let s=this.unPackInt16U();s>0&&(e+=String.fromCodePoint(s))}return e}},i=NA;var fA=class{constructor(A=16384){this.idx=0,this.arrayBuffer=new ArrayBuffer(A),this.buffer=new Uint8Array(this.arrayBuffer,0,A)}send(A){let t=new Uint8Array(this.arrayBuffer,0,this.idx);A.send(t)}packInt8(A){this.buffer[this.idx]=A&255,this.idx++}packInt16(A){this.buffer[this.idx]=A&255,this.buffer[this.idx+1]=A>>8&255,this.idx+=2}packInt24(A){this.buffer[this.idx]=A&255,this.buffer[this.idx+1]=A>>8&255,this.buffer[this.idx+2]=A>>16&255,this.idx+=3}packInt32(A){this.buffer[this.idx]=A&255,this.buffer[this.idx+1]=A>>8&255,this.buffer[this.idx+2]=A>>16&255,this.buffer[this.idx+3]=A>>24&255,this.idx+=4}packRadU(A){this.packInt24(A*2097152)}packRad(A){this.packInt16((A+Math.PI)*8192)}packFloat(A){this.packInt16(A*256)}packDouble(A){this.packInt32(A*1048576)}packString(A){typeof A!="string"&&(A=""),this.packInt8(A.length);for(let t=0;t<A.length;t++)this.packInt16(A.charCodeAt(t))}packLongString(A){typeof A!="string"&&(A=""),this.packInt16(A.length);for(let t=0;t<A.length;t++)this.packInt16(A.charCodeAt(t))}},c=fA;var Xt={gameNotFound:4e3,gameFull:4001,badName:4002,mainMenu:4003,gameIdleExceeded:4004,corruptedLoginData0:4005,corruptedLoginData1:4006,corruptedLoginData2:4007,corruptedLoginData3:4008,corruptedLoginData4:4009,corruptedLoginData5:4010,gameMaxPlayersExceeded:4011,gameDestroyUser:4012,joinGameOutOfOrder:4013,gameShuttingDown:4014,readyBeforeReady:4015,booted:4016,gameErrorOnUserSocket:4017,uuidNotFound:4018,sessionNotFound:4019,clusterFullCpu:4020,clusterFullMem:4021,noClustersAvailable:4022,locked:4023},eA=Xt;var jt={},o=jt;var Wt=Object.fromEntries(Object.entries(kA).map(([B,A])=>[A,B.toLowerCase()])),gA=class{constructor(A,t=null){this.id=A.id,this.uniqueId=A.uniqueId,this.name=A.name,this.safeName=A.safeName,this.team=A.team,this.playing=A.playing,this.socials=A.social&&JSON.parse(A.social),this.socials&&this.socials.forEach(e=>e.type=Wt[e.id]),this.isVip=A.upgradeProductId>0,this.showBadge=!A.hideBadge||!1,this.streak=A.score,this.streakRewards=Object.values(d).filter(e=>A.activeShellStreaks&e),this.scale=this.streakRewards.includes(d.MiniEgg)?.5:1,this.position={x:A.x,y:A.y,z:A.z},this.jumping=A.$controlKeys&D.Jump,this.scoping=A.$controlKeys&D.Scope,this.climbing=!1,this.view={yaw:A.yaw,pitch:A.pitch},this.updateKotcZone(t),this.character={eggColor:A.shellColor,primaryGun:A.primaryWeaponItem,secondaryGun:A.secondaryWeaponItem,stamp:A.stampItem,hat:A.hatItem,grenade:A.grenadeItem,melee:A.meleeItem,stampPos:{x:A.stampPosX,y:A.stampPosY}},this.stats={totalKills:A.totalKills,totalDeaths:A.totalDeaths,bestStreak:A.bestStreak},this.activeGun=A.weaponIdx,this.selectedGun=A.charClass,this.weapons=[],this.character.primaryGun&&(this.weapons[0]=new U[this.selectedGun],this.weapons[1]=new rA),this.grenades=1,this.hp=A.hp,this.hpShield=0,this.spawnShield=A.shield,this.randomSeed=0}updateKotcZone(A){if(!A)return this.inKotcZone=!1;let t=Math.floor(this.position.x),e=Math.floor(this.position.y),I=Math.floor(this.position.z);this.inKotcZone=A.some(s=>s.x===t&&s.y===e&&s.z===I)&&this.playing}},IA=gA;var Y=(B,A,t)=>(A>>>=0,new TextDecoder().decode(new Uint8Array(B.memory.buffer).subarray(A,A+t))),H=(B,A)=>{let t=new TextEncoder().encode(A),e=B.__wbindgen_malloc(t.length,1)>>>0;return new Uint8Array(B.memory.buffer).subarray(e,e+t.length).set(t),[e,t.length]},v=(B,A)=>{let t=B.__externref_table_alloc();return B.__wbindgen_export_2.set(t,A),t};var _t=`
2
2
  var comp_spinner_overlay = {
3
3
  template: '#spinner-overlay-template',
4
4
  components: {
@@ -120,4 +120,4 @@ var comp_spinner_overlay = {
120
120
  }
121
121
  }
122
122
  };
123
- `,gA={},q={textContent:""},ie=(I,A)=>{let e=new FinalizationRegistry(i=>{I().__wbindgen_export_5.get(i.dtor)(i.a,i.b)}),t=(i,o,n,Q)=>{let c={a:i,b:o,cnt:1,dtor:n},r=(...l)=>{c.cnt++;let k=c.a;c.a=0;try{return Q(k,c.b,...l)}finally{--c.cnt===0?(I().__wbindgen_export_5.get(c.dtor)(k,c.b),e.unregister(c)):c.a=k}};return r.original=c,e.register(r,c,c),r},a=(i,o,n)=>I().closure28_externref_shim(i,o,n),s=1;return{wbg:{__wbg_addEventListener_90e553fdce254421:(i,o,n,Q)=>gA[v(I(),o,n)]=Q,__wbg_appendChild_8204974b7328bf98:()=>{},__wbg_axes_b1da727bd9ea422d:()=>{},__wbg_body_942ea927546a04ba:()=>z(I(),null),__wbg_call_672a4d21634d4a24:()=>{},__wbg_childNodes_c4423003f3a9441f:()=>[],__wbg_createElement_8c9931a732ee2fea:()=>q,__wbg_document_d249400bd7bd996d:()=>z(I(),{}),__wbg_from_2a5d3e218e67aa85:(...i)=>Array.from(i[0]),__wbg_getGamepads_1f997cef580c9088:(...i)=>i[0].getGamepads(),__wbg_get_67b2ba62fc30de12:(...i)=>Reflect.get(i[0],i[1]),__wbg_get_b9b93047fe3cf45b:(...i)=>i[0][i[1]>>>0],__wbg_has_a5ea9117f258a0ec:()=>!0,__wbg_innerText_df9aeb9435e40973:()=>{},__wbg_instanceof_Gamepad_365ec8404255ce00:()=>!0,__wbg_instanceof_HtmlElement_51378c201250b16c:()=>!0,__wbg_instanceof_Window_def73ea0955fc569:()=>!0,__wbg_isTrusted_cc994b7949c53593:()=>!0,__wbg_item_8be407c958853a13:(...i)=>z(I(),i[0][i[1]>>>0]),__wbg_length_49b2ba67f0897e97:()=>(s--,s<=0?(s=1,0):s),__wbg_length_e2d2a49132c1b256:(...i)=>i[0].length,__wbg_movementX_1aa05f864931369b:(...i)=>i[0].movementX,__wbg_movementY_8acfedb38a70e624:(...i)=>i[0].movementY,__wbg_navigator_1577371c070c8947:(...i)=>i[0].navigator,__wbg_new_405e22f390576ce2:()=>new Object,__wbg_newnoargs_105ed471475aaf50:()=>{},__wbg_nodeType_5e1153141daac26a:()=>3,__wbg_now_807e54c39636c349:()=>A.processDate||Date.now(),__wbg_set_bb8cecf6a62b9f46:(...i)=>Reflect.set(i[0],i[1],i[2]),__wbg_settextContent_d29397f7b994d314:async(...i)=>{q.textContent=v(I(),i[1],i[2]),A.processListeners.forEach(o=>o(q.textContent))},__wbg_static_accessor_GLOBAL_88a902d13a557d07:()=>{},__wbg_static_accessor_GLOBAL_THIS_56578be7e9f832b0:()=>{},__wbg_static_accessor_SELF_37c5d418e4bf5819:()=>z(I(),{}),__wbg_static_accessor_WINDOW_5de37043a91a9c40:()=>{},__wbg_textContent_215d0f87d539368a:(i,o)=>{let[n,Q]=T(I(),o===q?q.textContent:We),c=new DataView(I().memory.buffer);c.setInt32(i+4*1,Q,!0),c.setInt32(i+4*0,n,!0)},__wbindgen_debug_string:()=>{},__wbindgen_init_externref_table:()=>{},__wbindgen_throw:()=>{},__wbindgen_number_new:i=>i,__wbindgen_string_new:(i,o)=>v(I(),i,o),__wbindgen_string_get:(i,o)=>{let n=v(I(),i,o),[Q,c]=T(I(),n),r=new DataView(I().memory.buffer);r.setInt32(i+4*1,c,!0),r.setInt32(i+4*0,Q,!0)},__wbindgen_is_undefined:i=>i===void 0?1:0,__wbindgen_is_null:i=>i===null?1:0,__wbindgen_boolean_get:i=>{let o=i;return typeof o=="boolean"?o?1:0:2},__wbindgen_closure_wrapper94:(i,o)=>t(i,o,31,a),__wbindgen_closure_wrapper95:(i,o)=>t(i,o,31,a),__wbindgen_number_get:(i,o)=>{let n=o,Q=typeof n=="number"?n:void 0,c=new DataView(I().memory.buffer);c.setFloat64(i+8*1,Q,!0),c.setInt32(i+4*0,1,!0)}}}};var Ve=I=>typeof atob=="function"?new Uint8Array(atob(I).split("").map(A=>A.charCodeAt(0))):Buffer.from(I,"base64"),ae=Ve("AGFzbQEAAAABpwItYAN/f38Bf2ACf38Bf2ABfwBgAn9/AGADf39/AGABbwF/YAABf2AAAGABfwF/YAFvAW9gBX9/f39/AX9gBH9/f38AYAJ/bwBgAm9vAW9gBH9/f38Bf2AFf39/f38AYAJ/fwFvYAABb2ADf39/AW9gAAJ/f2ACb38Bf2ACb28Bf2AEb39/bwBgAAF8YANvf38Bb2ADb39/AGABfAFvYANvb28Bf2ACb38Bb2AGfHx8f39/AGAHf39/f39/fwF/YAZ/f39/f38AYAF8AXxgCX98fH98b29/fwBgAn9/An9/YAZ/f39/f38Bf2AFf399f38AYAR/fX9/AGAFf398f38AYAR/fH9/AGAFf39+f38AYAR/fn9/AGABfAF/YAN/f28AYAJ8fAF8AsYNLgN3YmcVX193YmluZGdlbl9zdHJpbmdfbmV3ABADd2JnGl9fd2JnX2dldF82N2IyYmE2MmZjMzBkZTEyAA0Dd2JnFV9fd2JpbmRnZW5fbnVtYmVyX2dldAAMA3diZx9fX3diZ19ub2RlVHlwZV81ZTExNTMxNDFkYWFjMjZhAAUDd2JnLV9fd2JnX2luc3RhbmNlb2ZfSHRtbEVsZW1lbnRfNTEzNzhjMjAxMjUwYjE2YwAFA3diZyBfX3diZ19pbm5lclRleHRfZGY5YWViOTQzNWU0MDk3MwAMA3diZyJfX3diZ190ZXh0Q29udGVudF8yMTVkMGY4N2Q1MzkzNjhhAAwDd2JnIV9fd2JnX2NoaWxkTm9kZXNfYzQ0MjMwMDNmM2E5NDQxZgAJA3diZx1fX3diZ19sZW5ndGhfNDliMmJhNjdmMDg5N2U5NwAFA3diZxtfX3diZ19pdGVtXzhiZTQwN2M5NTg4NTNhMTMAFAN3YmcgX193YmdfaXNUcnVzdGVkX2NjOTk0Yjc5NDljNTM1OTMABQN3YmcgX193YmdfbW92ZW1lbnRYXzFhYTA1Zjg2NDkzMTM2OWIABQN3YmcgX193YmdfbW92ZW1lbnRZXzhhY2ZlZGIzOGE3MGU2MjQABQN3YmcaX193YmdfaGFzX2E1ZWE5MTE3ZjI1OGEwZWMAFQN3YmcnX193YmdfYWRkRXZlbnRMaXN0ZW5lcl85MGU1NTNmZGNlMjU0NDIxABYDd2JnGl9fd2JnX25vd184MDdlNTRjMzk2MzZjMzQ5ABcDd2JnH19fd2JnX2RvY3VtZW50X2QyNDk0MDBiZDdiZDk5NmQABQN3YmckX193YmdfY3JlYXRlRWxlbWVudF84Yzk5MzFhNzMyZWUyZmVhABgDd2JnJV9fd2JnX3NldHRleHRDb250ZW50X2QyOTM5N2Y3Yjk5NGQzMTQAGQN3YmcbX193YmdfYm9keV85NDJlYTkyNzU0NmEwNGJhAAUDd2JnIl9fd2JnX2FwcGVuZENoaWxkXzgyMDQ5NzRiNzMyOGJmOTgADQN3YmcaX193YmdfbmV3XzQwNWUyMmYzOTA1NzZjZTIAEQN3YmcVX193YmluZGdlbl9udW1iZXJfbmV3ABoDd2JnGl9fd2JnX3NldF9iYjhjZWNmNmE2MmI5ZjQ2ABsDd2JnIF9fd2JnX25hdmlnYXRvcl8xNTc3MzcxYzA3MGM4OTQ3AAkDd2JnIl9fd2JnX2dldEdhbWVwYWRzXzFmOTk3Y2VmNTgwYzkwODgACQN3YmcaX193YmdfZ2V0X2I5YjkzMDQ3ZmUzY2Y0NWIAHAN3YmcSX193YmluZGdlbl9pc19udWxsAAUDd2JnF19fd2JpbmRnZW5faXNfdW5kZWZpbmVkAAUDd2JnKV9fd2JnX2luc3RhbmNlb2ZfR2FtZXBhZF8zNjVlYzg0MDQyNTVjZTAwAAUDd2JnG19fd2JnX2Zyb21fMmE1ZDNlMjE4ZTY3YWE4NQAJA3diZx1fX3diZ19sZW5ndGhfZTJkMmE0OTEzMmMxYjI1NgAFA3diZxZfX3diaW5kZ2VuX2Jvb2xlYW5fZ2V0AAUDd2JnG19fd2JnX2F4ZXNfYjFkYTcyN2JkOWVhNDIyZAAJA3diZyBfX3diZ19uZXdub2FyZ3NfMTA1ZWQ0NzE0NzVhYWY1MAAQA3diZxtfX3diZ19jYWxsXzY3MmE0ZDIxNjM0ZDRhMjQADQN3YmctX193Ymdfc3RhdGljX2FjY2Vzc29yX0dMT0JBTF84OGE5MDJkMTNhNTU3ZDA3AAYDd2JnMl9fd2JnX3N0YXRpY19hY2Nlc3Nvcl9HTE9CQUxfVEhJU181NjU3OGJlN2U5ZjgzMmIwAAYDd2JnLV9fd2JnX3N0YXRpY19hY2Nlc3Nvcl9XSU5ET1dfNWRlMzcwNDNhOTFhOWM0MAAGA3diZytfX3diZ19zdGF0aWNfYWNjZXNzb3JfU0VMRl8zN2M1ZDQxOGU0YmY1ODE5AAYDd2JnF19fd2JpbmRnZW5fZGVidWdfc3RyaW5nAAwDd2JnEF9fd2JpbmRnZW5fdGhyb3cAAwN3YmcoX193YmdfaW5zdGFuY2VvZl9XaW5kb3dfZGVmNzNlYTA5NTVmYzU2OQAFA3diZxxfX3diaW5kZ2VuX2Nsb3N1cmVfd3JhcHBlcjk0ABIDd2JnHF9fd2JpbmRnZW5fY2xvc3VyZV93cmFwcGVyOTUAEgN3YmcfX193YmluZGdlbl9pbml0X2V4dGVybnJlZl90YWJsZQAHA4wBigEEAwgAAQcHAgMOAwAEAwQKAAABAQMdAwYEAQEKBwMeAQEDAwYBAQMBAh8DAwICBAQBAQQCAgICAgICAgICAgICAgICAgMPIAILBAQEBAEDACEBAgQKAg4DIiMKDyQmKAcLAAQBAwIBAgICAgICASorAQsEBAsBAQIBCAIEBBEBAQcDAwMsCAgICAcECQJwAUREbwCAAQUDAQARBg8CfwFBgIDAAAt/AUGAAQsHuAIRBm1lbW9yeQIABXN0YXJ0ADMHcHJvY2VzcwAvCHZhbGlkYXRlAIYBEHNldF9tb3VzZV9wYXJhbXMAQw9yZXNldF95YXdfcGl0Y2gAjQENZ2V0X3lhd19waXRjaACrAQxwb2xsX2dhbWVwYWQAfhRfX3diaW5kZ2VuX2V4bl9zdG9yZQClARdfX2V4dGVybnJlZl90YWJsZV9hbGxvYwBFE19fd2JpbmRnZW5fZXhwb3J0XzIBARFfX3diaW5kZ2VuX21hbGxvYwB7El9fd2JpbmRnZW5fcmVhbGxvYwCEARNfX3diaW5kZ2VuX2V4cG9ydF81AQAPX193YmluZGdlbl9mcmVlAHgYY2xvc3VyZTI4X2V4dGVybnJlZl9zaGltAJ0BEF9fd2JpbmRnZW5fc3RhcnQAtwEJcAMAQQELBp4BowFBXlNOAEEJCzqsAaQBQDKIAVeJAYgBhwGPAY4BiQGJAYoBiwGMAbEBrwGmAZABcpABb2djcGZrcWFuZW1saGppYmSVAVV1X1pZO5IBkgFSP3+tAVGXAZkBmAGWAZoBAEHDAAsBnQEK984DigHMPgEhfyABIAJBBnRqISMgACgCHCEhIAAoAhghHyAAKAIUIR4gACgCECEcIAAo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59Cl07aN27buADcAABAPIRQgAkUNDUI0IRBCASERIAIhAQNAAkAgAUEBcQRAIBAgEX4hESABQQFGDQELIAFBAXYhASAQIBB+IRAMAQsLIBFQDQxCACESQn8CfiAURAAAAAAAAAAAZiIAIBREAAAAAAAA8ENjcQRAIBSxDAELQgALQgAgABsgFET////////vQ2QbIBGCIRMgAkEnaiEOAkADQEGQvsAALQAAGiASIBN8IBGCIRAgBi0AACEAIAIQMCEIAkAgAEUEQCAIRQ0IIAhBBGstAABBA3FFDQEgCEEAIAIQRgwBCyAIRQ0IIAggACACEEYLIBJCAXwhEiACIQEDQCAQIBBCNIAiEELM////D358pyIAQTNLDQYgAUEBayIBIAhqIAAgBmotAAA6AAAgAQ0ACyAHIQAgBCEBA0AgASACSQ0CIAFBAWshASAAIAggAhB9IABBAWohAA0ACyAIQQRrKAIAIgBBeHEiAUEEQQggAEEDcSIAGyACakkNESAAQQAgASAOSxsNECAIEDUgESASUg0AC0G8hsAAQShB5IbAABCBAQALIAZBBGsoAgAiAEF4cSIBQThBPCAAQQNxIgAbSQ0PIABBACABQdwATxsNDiAGEDUgDCANaiIAIAI2AgggACAINgIEIAAgAjYCACAKQQFqIgpBDUcNAAtBACECIAMoAiQhACADKAIgIQ0DQAJAIAAgBSACQQxsIgFqIggoAggiBEkNACAAIARrIQcgASAMaiEKQQAhAQNAAkACQAJAIAEgASAEaiIGTQRAIAAgBkkNASAEIAgoAghHDQMgASANaiIGIAgoAgQgBBB9DQMgBCAKKAIIIg5HDQIgBiAKKAIEIAQQORoMAwsgASAGQcyIwAAQqQEACyAGIABBzIjAABCqAQALIwBBMGsiACQAIAAgBDYCBCAAIA42AgAgAEEDNgIMIABBkKTAADYCCCAAQgI3AhQgACAAQQRqrUKAgICAkAGENwMoIAAgAK1CgICAgJABhDcDICAAIABBIGo2AhAgAEEIakHciMAAEIUBAAsgASAHTw0BIAEgASAHSWoiASAHTQ0ACwsgAkEBaiICQQ1HDQALIAMoAiAhASADIAMoAiQiADYCXCADIAE2AlggA0HEAGogA0HYAGoQRCADKAJEIgRFBEBBACEBQQEhBAwKCyADKAJIIQEgAygC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rcAAEIEBAAtBqK3AAEEuQditwAAQgQEACyAAIAQ2AjxBAUEAIABBPGpBuILAAEHsh8AAEHMACyAAIAg3AkggACAHNwJAIAAgAjYCPAwEC0HprMAAQS5BmK3AABCBAQALQaitwABBLkHYrcAAEIEBAAsgACAENgI8QQFBACAAQTxqQbiCwABB3IfAABBzAAsgACABNgI8C0EBQQAgAEE8akHMhMAAQdyEwAAQcwALuQkCDH8FfiMAQaACayIAJABBkL7AAC0AABoCQAJAAkACQAJAQRMQMCIDBEAgA0EPaiICQYeDwAAoAAA2AAAgA0EIaiIBQYCDwAApAAA3AAAgA0H4gsAAKQAANwAAIABB4ABqQgA3AwAgAEHYAGpCADcDACAAQdAAakIANwMAIABByABqQgA3AwAgAEFAa0IANwMAIABBOGpCADcDACAAQTBqIgRCADcDACAAQQhqQZCBwAApAwA3AwAgAEEQakGYgcAAKQMANwMAIABBGGpBoIHAACkDADcDACAAQgA3AyggAEGIgcAAKQMANwMAIABBADoAaCAAQgA3AyAgBCABKQAANwMAIABBN2ogAigAADYAACAAQRM6AGggACADKQAANwMoIABBkAFqIgUgAEHwABA5GiAAQZgCaiICQgA3AwAgAEGQAmoiAUIANwMAIABBiAJqIgRCADcDACAAQgA3A4ACIAUgAEG4AWoiCSAAQYACahA8IABBiAFqIgYgAikDADcDACAAQYABaiIHIAEpAwA3AwAgAEH4AGoiASAEKQMANwMAIAAgACkDgAI3A3BBkL7AAC0AABpBIBAwIgJFDQEgAiAAKQNwNwAAIAJBGGogBikDADcAACACQRBqIAcpAwA3AAAgAkEIaiABKQMANwAAIANBBGsoAgAiAUF4cSIEQRdBGyABQQNxIgEbSQ0CIAFBACAEQTpLGw0DIAMQNUJ+IQwgAEEoaiIBQThqIQYgAUEwaiEHIAFBKGohCkGQgcAAKQMAIQ1BmIHAACkDACEOQaCBwAApAwAhD0GIgcAAKQMAIRADQCABQgA3AwAgBkIANwMAIAdCADcDACAKQgA3AwAgAUEgakIANwMAIAFBGGoiA0IANwMAIAFBEGoiBEIANwMAIAFBCGoiBUIANwMAIABBCGogDTcDACAAQRBqIA43AwAgAEEYaiAPNwMAIABBADoA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aiAFQRBqKQIANwMAIAZBMGogBUEYaigCADYCACAGIAUpAhw3AgggBSkCACEJIAZBwI/AADYCOCAGIAk3AxggBiAGQRdqNgIQIAYgBkEIaiIFNgI0IAUgASACED8NACAFQayPwABBAhA/DQAgAyAGQRhqIAQRAQANACAGKAI0QeSPwABBAiAGKAI4KAIMEQAAIQcLIABBAToABSAAIAc6AAQgBkFAayQAIAALoAQBBn8jAEEwayIAJAACQAJAAkACQEHIucAAKAIARQRAQeC5wAAoAgAhAUHgucAAQQA2AgAgAUUNASAAQRhqIAERAgAgAEEQaiICIABBJGopAgA3AwAgACAAKQIcNwMIIAAoAhghAUHIucAAKAIAIgQNBAJAIARFDQBBzLnAACgCACICRQ0AQdC5wAAoAgAiBEEEaygCACIDQXhxIgUgAkECdCICQQRBCCADQQNxIgMbakkNAyADQQAgBSACQSdqSxsNBCAEEDULQcy5wAAgATYCAEHIucAAQQE2AgBB0LnAACAAKQMINwIAQdi5wAAgAEEQaikDADcCAAsgAEEwaiQADwsgAEEANgIoIABBATYCHCAAQcixwAA2AhggAEIENwIgIABBGGpB8K/AABCFAQALQemswABBLkGYrcAAEIEBAAtBqK3AAEEuQditwAAQgQEACyAAQShqIAIpAwA3AgAgACAAKQMINwIgIAAgATYCHCAAQQE2AhgCQCAAQRhqIgEoAgBFDQAgASgCBCICRQ0AAkAgASgCCCIEQQRrKAIAIgNBeHEiBSACQQJ0IgJBBEEIIANBA3EiAxtqTwRAIANBACAFIAJBJ2pLGw0BIAQQNQwCC0HprMAAQS5BmK3AABCBAQALQaitwABBLkHYrcAAEIEBAAsgAEEANgIoIABBATYCHCAAQZCwwAA2AhggAEIENwIgIAFBmLDAABCFAQAL8QIBBH8gACgCDCECAkACQCABQYACTwRAIAAoAhghAwJAAkAgACACRgRAIABBFEEQIAAoAhQiAhtqKAIAIgENAUEAIQIMAgsgACgCCCIBIAI2AgwgAiABNgIIDAELIABBFGogAEEQaiACGyEEA0AgBCEFIAEiAkEUaiACQRBqIAIoAhQiARshBCACQRRBECABG2ooAgAiAQ0ACyAFQQA2AgALIANFDQIgACAAKAIcQQJ0QcC6wABqIgEoAgBHBEAgA0EQQRQgAygCECAARhtqIAI2AgAgAkUNAwwCCyABIAI2AgAgAg0BQdy9wABB3L3AACgCAEF+IAAoAhx3cTYCAAwCCyAAKAIIIgAgAkcEQCAAIAI2AgwgAiAANgIIDwtB2L3AAEHYvcAAKAIAQX4gAUEDdndxNgIADwsgAiADNgIYIAAoAhAiAQRAIAIgATYCECABIAI2AhgLIAAoAhQiAEUNACACIAA2AhQgACACNgIYCwvKAgEGfyABIAJBAXRqIQkgAEGA/gNxQQh2IQogAEH/AXEhDAJAAkACQAJAA0AgAUECaiELIAcgAS0AASICaiEIIAogAS0AACIBRwRAIAEgCksNBCAIIQcgCyIBIAlHDQEMBAsgByAISw0BIAQgCEkNAiADIAdqIQEDQCACRQRAIAghByALIgEgCUcNAgwFCyACQQFrIQIgAS0AACABQQFqIQEgDEcNAAsLQQAhAgwDCyAHIAhB/JXAABCpAQALIAggBEH8lcAAEKoBAAsgAEH//wNxIQcgBSAGaiEDQQEhAgNAIAVBAWohAAJAIAUsAAAiAUEATgRAIAAhBQwBCyAAIANHBEAgBS0AASABQf8AcUEIdHIhASAFQQJqIQUMAQtB7JXAABCoAQALIAcgAWsiB0EASA0BIAJBAXMhAiADIAVHDQALCyACQQFxC7sCAQZ/IwBBEGsiAyQAQQohAgJAIABBkM4ASQRAIAAhBAwBCwNAIANBBmogAmoiBUEEayAAQZDOAG4iBEHwsQNsIABqIgZB//8DcUHkAG4iB0EBdEHwj8AAai8AADsAACAFQQJrIAdBnH9sIAZqQf//A3FBAXRB8I/AAGovAAA7AAAgAkEEayECIABB/8HXL0sgBCEADQALCwJAIARB4wBNBEAgBCEADAELIAJBAmsiAiADQQZqaiAEQf//A3FB5ABuIgBBnH9sIARqQf//A3FBAXRB8I/AAGovAAA7AAALAkAgAEEKTwRAIAJBAmsiAiADQQZqaiAAQQF0QfCPwABqLwAAOwAADAELIAJBAWsiAiADQQZqaiAAQTByOgAACyABQQFBACADQQZqIAJqQQogAmsQPSADQRBqJAAL1wIBBX8jAEFAaiICJAACQCAAKAIAIgQtAABFBEAgASgCHEGTscAAQQQgASgCICgCDBEAACEADAELQQEhACABKAIcIgNBl7HAAEEEIAEoAiAiBigCDCIFEQAADQAgBEEBaiEEAkAgAS0AFEEEcUUEQCADQemPwABBASAFEQAADQIgBCABEEcNAiABKAIcIQMgASgCICgCDCEFDAELIANB6o/AAEECIAURAAANASACQQE6ABcgAkEgaiABQQhqKQIANwMAIAJBKGogAUEQaikCADcDACACQTBqIAFBGGooAgA2AgAgAiAGNgIMIAIgAzYCCCACQcCPwAA2AjggAiABKQIANwMYIAIgAkEXajYCECACIAJBCGo2AjQgBCACQRhqEEcNASACKAI0QeSPwABBAiACKAI4KAIMEQAADQELIANBsLDAAEEBIAURAAAhAAsgAkFAayQAIAALugIBBH9BHyECIABCADcCECABQf///wdNBEAgAUEGIAFBCHZnIgNrdkEBcSADQQF0a0E+aiECCyAAIAI2AhwgAkECdEHAusAAaiEEQQEgAnQiA0HcvcAAKAIAcUUEQCAEIAA2AgAgACAENgIYIAAgADYCDCAAIAA2AghB3L3AAEHcvcAAKAIAIANyNgIADwsCQAJAIAEgBCgCACIDKAIEQXhxRgRAIAMhAgwBCyABQRkgAkEBdmtBACACQR9HG3QhBQNAIAMgBUEddkEEcWpBEGoiBCgCACICRQ0CIAVBAXQhBSACIQMgAigCBEF4cSABRw0ACwsgAigCCCIBIAA2AgwgAiAANgIIIABBADYCGCAAIAI2AgwgACABNgIIDwsgBCAANgIAIAAgAzYCGCAAIAA2AgwgACAANgIIC5UCAQl/AkACQCABKAIEIgQgASgCACIFayIDQQBOBH8gBCAFRgRAQQEhBkEAIQMMAwtBkL7AAC0AABogAxAwIgYNAUEBBSACCyADQbyEwAAQoQEACyABKAIMIQcgASgCCCEBIAUgBEEBa0cEQCADQf7///8HcSEEA0AgAiAGaiIIIAIgBWoiCS0AACABIAJqIgogBy0AAGpB/wBxczoAACAIQQFqIAlBAWotAAAgCiAHLQAAakEBakH/AHFzOgAAIAQgAkECaiICRw0ACyABIAJqIQELIANBAXFFDQAgAiAGaiACIAVqLQAAIActAAAgAWpB/wBxczoAACACQQFqIQILIAAgAjYCCCAAIAY2AgQgACADNgIAC9wCAgV/AW8jAEEgayIBJAAgAUEYakGk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mLrAACABNgIAQZS6wABBAToAAAsgARCnASIBJQEQKiIDIAFBhAFJckUEQCABEJMBCyAAIAE2AgQgACADQQBHNgIAIAJBIGokAA8LIAJBADYCGCACQQE2AgwgAkHIscAANgIIIAJCBDcCECACQQhqQfCvwAAQhQEACyABQYMBSwRAIAEQkwELIAJBADYCGCACQQE2AgwgAkGQsMAANgIIIAJCBDcCECACQQhqQZiwwAAQhQEAC7kBAQJ/IwBBIGsiAyQAAkACf0EAIAEgASACaiICSw0AGkEAQQggACgCACIBQQF0IgQgAiACIARJGyICIAJBCE0bIgRBAEgNABpBACECIAMgAQR/IAMgATYCHCADIAAoAgQ2AhRBAQUgAgs2AhggA0EIaiAEIANBFGoQeSADKAIIQQFHDQEgAygCECEAIAMoAgwLIABB2IzAABChAQALIAMoAgwhASAAIAQ2AgAgACABNgIEIANBIGokAAu5AQECfyMAQSBrIgMkAAJAAn9BACABIAEgAmoiAksNABpBAEEIIAAoAgAiAUEBdCIEIAIgAiAESRsiAiACQQhNGyIEQQBIDQAaQQAhAiADIAEEfyADIAE2AhwgAyAAKAIENgIUQQEFIAILNgIYIANBCGogBCADQRRqEHkgAygCCEEBRw0BIAMoAhAhACADKAIMCyAAQfSzwAAQoQEACyADKAIMIQEgACAENgIAIAAgATYCBCADQSBqJAAL4AEBA38jAEEQayICJAAgAiAAKAIAIgBBBGo2AgQgASgCHEH2sMAAQQkgASgCICgCDBEAACEDIAJBADoADSACIAM6AAwgAiABNgIIIAJBCGpB/7DAAEELIABBBRBJQYqxwABBCSACQQRqQQYQSSEAIAItAA0iAyACLQAMIgRyIQECQCAEQQFxIANBAUdyDQAgACgCACIALQAUQQRxRQRAIAAoAhxB54/AAEECIAAoAiAoAgwRAAAhAQwBCyAAKAIcQeaPwABBASAAKAIgKAIMEQAAIQELIAJBEGokACABQQFxC9sBAQN/IwBBEGsiAiQAIAIgAEEMajYCBCABKAIcQYS0wABBDSABKAIgKAIMEQAAIQMgAkEAOgANIAIgAzoADCACIAE2AgggAkEIakGRtMAAQQUgAEEDEElBlrTAAEEFIAJBBGpBBBBJIQAgAi0ADSIDIAItAAwi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LEUEQCABKQMQIQMgAq0hBAwBCyABKQIUIQMgASkCMCEEIAEoAhAiAkGAgICAeEYNACABIAQ3AjggASADNwIwIAEgAjYCLEEBQQAgAUEsakHMhMAAQdyEwAAQcwALIAAgBD4CCCAAIAM3AgAgAUFAayQAC9MBAgJ/An4jAEFAaiIBJAAgAUEANgIkIAFBz4HAADYCICABQc2BwAA2AhwgAUHYADoADyABIAFBD2o2AiggAUEQaiABQRxqEFAgAUEsaiABKAIUIAEoAhgiAhA6AkAgASgCLEUEQCABKQMQIQMgAq0hBAwBCyABKQIUIQMgASkCMCEEIAEoAhAiAkGAgICAeEYNACABIAQ3AjggASADNwIwIAEgAjYCLEEBQQAgAUEsakHMhMAAQdyEwAAQcwALIAAgBD4CCCAAIAM3AgAgAUFAayQAC4IBAQJ/AkACQAJAIABFDQAgASgCACICBEAgACACEQIACyABKAIEIgFFDQAgAEEEaygCACICQXhxIgNBBEEIIAJBA3EiAhsgAWpJDQEgAkEAIAMgAUEnaksbDQIgABA1Cw8LQemswABBLkGYrcAAEIEBAAtBqK3AAEEuQditwAAQgQEAC3oBAX8jAEFAaiIFJAAgBSABNgIMIAUgADYCCCAFIAM2AhQgBSACNgIQIAVBAjYCHCAFQbCPwAA2AhggBUICNwIkIAUgBUEQaq1CgICAgBCENwM4IAUgBUEIaq1CgICAgCCENwMwIAUgBUEwajYCICAFQRhqIAQQhQEAC4oBAgN+AX8jAEEQayEEAkAgAL1CgICAgICAgICAf4NC/////////+8/hL8gAKAiAL0iAkI0iCIBQv8PgyIDQrIIVg0AQv///////////wBCfyABQg18iCADQv8HVBsiASACg1ANACAEIABEAAAAAAAAcEegOQMIIAFCf4UgAoO/IQAgBCsDCBoLIAALbgEDfwJAAkAgACgCACICBEAgACgCBCIAQQRrKAIAIgFBeHEiA0EEQQggAUEDcSIBGyACakkNASABQQAgAyACQSdqSxsNAiAAEDULDwtB6azAAEEuQZitwAAQgQEAC0GorcAAQS5B2K3AABCBAQALewEBfyMAQRBrIgMkAEGsusAAQay6wAAoAgAiBEEBajYCAAJAIARBAEgNAAJAQYi+wAAtAABFBEBBhL7AAEGEvsAAKAIAQQFqNgIAQai6wAAoAgBBAE4NAQwCCyADQQhqIAAgAREDAAALQYi+wABBADoAACACRQ0AAAsAC2oCAX8BfiMAQTBrIgMkACADIAE2AgQgAyAANgIAIANBAjYCDCADQYSOwAA2AgggA0ICNwIUIANCgICAgJABIgQgA62ENwMoIAMgBCADQQRqrYQ3AyAgAyADQSBqNgIQIANBCGogAhCFAQALZAEBfwJAAkAgAQRAIABBBGsoAgAiAkF4cSIDQQRBCCACQQNxIgIbIAFqSQ0BIAJBACADIAFBJ2pLGw0CIAAQNQsPC0HprMAAQS5BmK3AABCBAQALQaitwABBLkHYrcAAEIEBAAtYAQF/An8gAigCBARAAkAgAigCCCIDRQRADAELIAIoAgAgA0EBIAEQNwwCCwtBkL7AAC0AABogARAwCyECIAAgATYCCCAAIAJBASACGzYCBCAAIAJFNgIAC1oBAX8jAEEwayIDJAAgAyABNgIMIAMgADYCCCADQQE2AhQgA0GcjcAANgIQIANCATcCHCADIANBCGqtQoCAgIAghDcDKCADIANBKGo2AhggA0EQaiACEIUBAAtIAAJAIAFpQQFHQYCAgIB4IAFrIABJcg0AIAAEQEGQvsAALQAAGgJ/IAFBCU8EQCABIAAQSAwBCyAAEDALIgFFDQELIAEPCwAL0QsBCX8jAEEgayIGJAAgBiABNgIIIAYgAEEEajYCDCAGIAZBH2o2AhggBiAGQQxqNgIUIAYgBkEIajYCECAGQRBqIQQjAEEwayIDJAAgACIBKAIAIQACQAJAAkACQAJAA0ACQAJAAkAgAEEDcSIIQQFrDgMBBAcACyAEDQELIANBGGogCHIhCQJAA0AgACECAkACQAJ/QYy+wAAoAgAiAEECTQRAIANBCGogABBYIAMoAgghByADKAIMDAELIABBCGshBQJAIABBoLrAAEYiAARAQQAhBwwBC0EBIQcgBSAFKAIAIgpBAWo2AgAgCkEASA0CC0GgusAAIAUgABsLIQUgASAJIAEoAgAiACAAIAJGGzYCACADQQA6ACQgAyAHNgIYIAMgBTYCHCADIAJBfHE2AiAgACACRw0BIAMtACRFBEADQAJ/QYy+wAAoAgAiAEECTQRAIAMgABBYIAMoAgAhACADKAIEDAELIABBCGshAgJAIABBoLrAAEYiBwRAQQAhAAwBC0EBIQAgAiACKAIAIgVBAWo2AgAgBUEASA0EC0GgusAAIAIgBxsLIQICQCAARQ0AIAIgAigCACIAQQFrNgIAIABBAUcNACACEFYLIAMtACRFDQALCyADKAIYIgBBAkYgAEVyDQMgAygCHCIAIAAoAgAiAEEBazYCACAAQQFHDQMgAygCHBBWDAMLAAsgCCAAQQNxRgRAIAMoAhgiAkECRiACRXINASADKAIcIgIgAigCACICQQFrNgIAIAJBAUcNASADKAIcEFYMAQsLIAMoAhgiAEECRiAARXINACADKAIcIgAgACgCACIAQQFrNgIAIABBAUcNACADKAIcEFYLIAEoAgAhAAwBCyABIABBAWogASgCACICIAAgAkYbNgIAIAAgAkcgAiEADQALAn8gBCgCACEAIARBBGooAgAhByMAQSBrIgIkACAAKAIAIQQgAEEANgIAIAQoAhAhACAEQQA2AhACQAJAIAAEQCACQQhqIAARAgAgBygCACIAKAIAIgRBgICAgHhGIARFckUEQCAAKAIEIgBBBGsoAgAiBUF4cSIIQQRBCCAFQQNxIgUbIARqSQ0CIAVBACAIIARBJ2pLGw0DIAAQNSAHKAIAIQALIAAgAikCCDcCACAAQQhqIAJBEGooAgA2AgAgAkEgaiQAQQEMAwsgAkEANgIYIAJBATYCDCACQcixwAA2AgggAkIENwIQIAJBCGpBrLLAABCFAQALQemswABBLkGYrcAAEIEBAAtBqK3AAEEuQditwAAQgQEACyECIAEoAgAhACABQQJBACACGzYCACADIABBA3EiATYCFCABQQFHDQEgAEEBayIARQ0AA0AgACIBKAIAIQQgAEECNgIAIARBAkYNAyAAKAIEIQIgACgCCCEAIAFBAToADAJAIARFDQAgAiACKAIAIgFBAWs2AgAgAUEBRw0AIAIQVgsgAA0ACwsgA0EwaiQADAMLIANBADYCGCMAQRBrIgEkACABQbyrwAA2AgwgASADQRRqNgIIIwBB8ABrIgAkACAAQZSOwAA2AgwgACABQQhqNgIIIABBlI7AADYCFCAAIAFBDGo2AhAgAEECNgIcIABBpI7AADYCGAJAIANBGGoiASgCAEUEQCAAQQM2AlwgAEHYjsAANgJYIABCAzcCZCAAIABBEGqtQoCAgIAQhDcDSCAA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fyMAQRBrIgskACMAQYAGayICJAAgAiABNgLQAiACIAA2AswCIAIgATYCyAIgAkEQaiACQcgCakGktsAAEGAgAigCFCEJIAIoAhAhCkHqucAALQAARQRAQei5wABBAToAAAsgAkEIahBbAkACQAJAIAIoAggEQCACKAIMIgAQtAEiAUUNASAAQYQBTwRAIAAQkwELIAIgATYCyAIgAkEBOgCwASACQbABaiACQcgCahA2IAItALABDQIMAwtB7ITAABCoAQALQfyEwAAQqAEAC0HoucAAQQE6AAAQNAsgAUGEAU8EQCABEJMBC0EAIQAgAkEYagJ/Qei5wAAtAABFBEAgAkHQAmpB9IjAACkAADcDACACQdgCakIANwMAIAJB4AJqQgA3AwAgAkHoAmpCADcDACACQfACakIANwMAIAJB+AJqQgA3AwAgAkGAA2pCADcDACACQeyIwAApAAA3A8gCA0AgAkHIAmoiAyAAaiIEIAQtAABBNnM6AAAgBEEBaiIBIAEtAABBNnM6AAAgBEECaiIBIAEtAABBNnM6AAAgBEEDaiIBIAEtAABBNnM6AAAgAEEEaiIAQcAARw0AC0EAIQAgAkEwakGggcAAKQMANwMAIAJBKGpBmIHAACkDADcDACACQSBqQZCBwAApAwA3AwAgAkIBNwM4IAJBiIHAACkDADcDGCACQRhqIANBARAuA0AgAkHIAmoiByAAaiIDIAMtAABB6gBzOgAAIANBAWoiASABLQAAQeoAczoAACADQQJqIgEgAS0AAEHqAHM6AAAgA0EDaiIBIAEtAABB6gBzOgAAIABBBGoiAEHAAEcNAAsgAkHIAWoiBEGggcAAKQMANwMAIAJBwAFqIgNBmIHAACkDADcDACACQbgBaiIBQZCBwAApAwA3AwAgAkHQAWoiAEIBNwMAIAJBiIHAACkDADcDsAEgAkGwAWogB0EBEC4gAkHIBGogACkDADcDACACQcAEaiAEKQMANwMAIAJBuARqIAMpAwA3AwAgAkGwBGogASkDADcDACACQYgEaiACQSBqKQMANwMAIAJBkARqIAJBKGopAwA3AwAgAkGYBGogAkEwaikDADcDACACQaAEaiACQThqKQMANwMAIAIgAikDsAE3A6gEIAIgAikDGDcDgAQgAkGYA2pBAEHBABBGIAcgAkGABGpB0AAQORogBwwBCyACQdACakGEicAAKQAANwMAIAJB2AJqQgA3AwAgAkHgAmpCADcDACACQegCakIANwMAIAJB8AJqQgA3AwAgAkH4AmpCADcDACACQYADakIANwMAIAJB/IjAACkAADcDyAIDQCACQcgCaiIDIABqIgQgBC0AAEE2czoAACAEQQFqIgEgAS0AAEE2czoAACAEQQJqIgEgAS0AAEE2czoAACAEQQNqIgEgAS0AAEE2czoAACAAQQRqIgBBwABHDQALQQAhACACQTBqQaCBwAApAwA3AwAgAkEoakGYgcAAKQMANwMAIAJBIGpBkIHAACkDADcDACACQgE3AzggAkGIgcAAKQMANwMYIAJBGGogA0EBEC4DQCACQcgCaiIHIABqIgMgAy0AAEHqAHM6AAAgA0EBaiIBIAEtAABB6gBzOgAAIANBAmoiASABLQAAQeoAczoAACADQQNqIgEgAS0AAEHqAHM6AAAgAEEEaiIAQcAARw0ACyACQcgBaiIEQaCBwAApAwA3AwAgAkHAAWoiA0GYgcAAKQMANwMAIAJBuAFqIgFBkIHAACkDADcDACACQdABaiIAQgE3AwAgAkGIgcAAKQMANwOwASACQbABaiAHQQEQLiACQcgEaiAAKQMANwMAIAJBwARqIAQpAwA3AwAgAkG4BGogAykDADcDACACQbAEaiABKQMANwMAIAJBiARqIAJBIGopAwA3AwAgAkGQBGogAkEoaikDADcDACACQZgEaiACQTBqKQMANwMAIAJBoARqIAJBOGopAwA3AwAgAiACKQOwATcDqAQgAiACKQMYNwOABCACQZgDakEAQcEAEEYgByACQYAEakHQABA5GiAHC0GYARA5GiACQegAaiEEAkACQAJAQcAAIAItAKgBIgNrIgEgCU0EQCAJIQYgCiEAIAMNAQwCCyADIARqIAogCRA5GiADIAlqIQMMAgsgAyAEaiAKIAEQORogAiACKQM4QgF8NwM4IAJBGGogBEEBEC4gASAKaiEAIAkgAWshBgsgBkE/cSEDIAZBwABPBEAgAiACKQM4IAZBBnYiAa18NwM4IAJBGGogACABEC4LIAQgACAGQUBxaiADEDkaCyACIAM6AKgBIAJBsAFqIgUgAkEYakGYARA5GiACQfgDaiIEQgA3AwAgAkHwA2oiA0IANwMAIAJB6ANqIgFCADcDACACQgA3A+ADIAJB6ARqIgZCADcDACACQeAEaiIMQgA3AwAgAkHYBGoiB0IANwMAIAJCADcD0AQgBSACQYACaiIAIAJB0ARqEDwgAkGYAmogBikDADcDACACQZACaiAMKQMANwMAIAJBiAJqIAcpAwA3AwAgAkEgOgDAAiACIAIpA9AENwOAAiACQdgBaiAAIAJB4ANqEDwgBiAEKQMANwMAIAwgAykDADcDACAHIAEpAwA3AwAgAiACKQPgAzcD0AQgAkEANgL8BSACQoCAgIAQNwL0BSACQfQFakEAQcAAEF0gBUEDciEMIAVBAnIhByAFQQFyIQRBgIDEACEDQQAhBgNAAkACQCADQYCAxABHBEBBgIDEACEBDAELIAZBIEYNASACQdAEaiAGaiAGQQFqIQYtAAAiAEEPcUG8ssAAai0AACEBIABBBHZBvLLAAGotAAAhAwsgA0GAAU8EQCACQQA2ArABAn8gA0GAEE8EQCADQYCABE8EQCACIANBEnZB8AFyOgCwASACIANBBnZBP3FBgAFyOgCyASACIANBDHZBP3FBgAFyOgCxASAMIQBBBAwCCyACIANBDHZB4AFyOgCwASACIANBBnZBP3FBgAFyOgCxASAHIQBBAwwBCyACIANBBnZBwAFyOgCwASAEIQBBAgshBSAAIANBP3FBgAFyOgAAIAUgAigC9AUgAigC/AUiA2tLBEAgAkH0BWogAyAFEF0gAigC/AUhAwsgAigC+AUgA2ogAkGwAWogBRA5GiACIAMgBWo2AvwFIAEhAwwCCyACKAL8BSIPIAIoAvQFRgRAIwBBIGsiCCQAIAJB9AVqIg4oAgAiDUF/RgRAQQBBAEGYs8AAEKEBAAtBCCANQQF0IgUgDUEBaiIAIAAgBUkbIgAgAEEITRsiBUEASARAQQBBAEGYs8AAEKEBAAsgCCANBH8gCCANNgIcIAggDigCBDYCFEEBBUEACzYCGCAIQQhqIAUgCEEUahB5IAgoAghBAUYEQCAIKAIMIAgoAhBBmLPAABChAQALIAgoAgwhACAOIAU2AgAgDiAANgIEIAhBIGokAAsgAigC+AUgD2ogAzoAACACIA9BAWo2AvwFIAEhAwwBCwsCQAJAAkAgCQRAIApBBGsoAgAiAEF4cSIBQQRBCCAAQQNxIgAbIAlqSQ0BIABBACABIAlBJ2pLGw0CIAoQNQsgAiACQfQFakGsq8AAEGAgAigCBCEAIAsgAigCADYCACALIAA2AgQgAkGABmokAAwCC0HprMAAQS5BmK3AABCBAQALQaitwABBLkHYrcAAEIEBAAsgCygCACALKAIEIAtBEGokAAseACAARQRAEK4BAAsgACACIAMgBCAFIAEoAhARCgALHAAgAEUEQBCuAQALIAAgAiADIAQgASgCEBEOAAscACAARQRAEK4BAAsgACACIAMgBCABKAIQEQsACxwAIABFBEAQrgEACyAAIAIgAyAEIAEoAhARJQALHAAgAEUEQBCuAQALIAAgAiADIAQgASgCEBEnAAscACAARQRAEK4BAAsgACACIAMgBCABKAIQESkACzIBAXwQDyEAQfi5wABCADcDAEHwucAAIABEAAAAAABAj0CjRBgtRFT7IRlAELIBOQMACxoAIABFBEAQrgEACyAAIAIgAyABKAIQEQQACxgAIABFBEAQrgEACyAAIAIgASgCEBEBAAsYACAARQRAEK4BAAsgACACIAEoAhARAwALGgEBbyAAJQEgASUBEAEhAhBFIgAgAiYBIAALGgBBkLrAAEEBOgAAIAFBhAFPBEAgARCTAQsLFgAgAEGEAU8EQCAA0G8mASAAEIABCwsYAQFvIAAlASABEBohAhBFIgAgAiYBIAALFQAgACgCACIAQYQBTwRAIAAQkwELCxcBAX8gABAkIgE2AgQgACABQQBHNgIACxcBAX8gABAlIgE2AgQgACABQQBHNgIACxcBAX8gABAmIgE2AgQgACABQQBHNgIACxcBAX8gABAnIgE2AgQgACABQQBHNgIACxwAIABBADYCECAAQgA3AgggAEKAgICAwAA3AgALFgEBbyAAIAEQACECEEUiACACJgEgAAsWAgFvAX8gABAWIQEQRSICIAEmASACCxMAIAAQRSIAIAImASABIAAQkAELFAAgACgCACABIAAoAgQoAgwRAQALEAAgACUBIAEgAiADJQEQDgsRACAAJQEgASUBIAIlARAXGgsOACAARQRAIAIQgwELAAvCCAEFfyMAQfAAayIEJAAgBCADNgIMIAQgAjYCCAJAAkACQAJAAkACQCAEAn8gAAJ/AkAgAUGBAk8EQEEDIAAsAIACQb9/Sg0CGiAALAD/AUG/f0wNAUECDAILIAQgATYC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FgAAAP4AEAAKAAAA3wIAABUAAAD+ABAACgAAAKcAAAAeAAAA/gAQAAoAAACoAAAAMgAAAEEE7aUviXpcq8xRA0AMAAsR+BJmdAGgiD+zG/7BnRMM/gAQAAoAAADRAQAAIwAAAAAAAkFCQ0RFRkdISUpLTE1OT1BRUlNUVVZXWFlaYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXowMTIzNDU2Nzg5Ky//////////////////////////////////////////////////////////Pv///z80NTY3ODk6Ozw9/////////wABAgMEBQYHCAkKCwwNDg8QERITFBUWFxgZ////////GhscHR4fICEiIyQlJicoKSorLC0uLzAxMjP/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AP4AEAAKAAAABgIAAHMAAAD+ABAACgAAAAUCAABsAAAA/gAQAAoAAAAEAgAAaAAAAP4AEAAKAAAAKQIAABsAAABjYXBhY2l0eSBvdmVyZmxvdwAAACAGEAARAAAAbGlicmFyeS9hbGxvYy9zcmMvcmF3X3ZlYy5yczwGEAAcAAAAKAIAABEAAABsaWJyYXJ5L2FsbG9jL3NyYy9zdHJpbmcucnMAaAYQABsAAADqAQAAFwAAAO+/vQAuLgAAAQAAAAAAAABbY2FsbGVkIGBPcHRpb246OnVud3JhcCgpYCBvbiBhIGBOb25lYCB2YWx1ZWluZGV4IG91dCBvZiBib3VuZHM6IHRoZSBsZW4gaXMgIGJ1dCB0aGUgaW5kZXggaXMgAADQBhAAIAAAAPAGEAASAAAAAAAAAAQAAAAEAAAAOQAAAD09YXNzZXJ0aW9uIGBsZWZ0ICByaWdodGAgZmFpbGVkCiAgbGVmdDogCiByaWdodDogAAAmBxAAEAAAADYHEAAXAAAATQcQAAkAAAAgcmlnaHRgIGZhaWxlZDogCiAgbGVmdDogAAAAJgcQABAAAABwBxAAEAAAAIAHEAAJAAAATQcQAAkAAAA6IAAAAQAAAAAAAACsBxAA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T2/hVJ28YVUAz2FWZdGhVgDaIVcA4KFYruIhWuzk4VvQ6GFcIADuXPABf10AcAAHAC0BAQECAQIBAUgLMBUQAWUHAgYCAgEEIwEeG1sLOgkJARgEAQkBAwEFKwM7CSoYASA3AQEBBAgEAQMHCgIdAToBAQECBAgBCQEKAhoBAgI5AQQCBAICAwMBHgIDAQsCOQEEBQECBAEUAhYGAQE6AQECAQQIAQcDCgIeATsBAQEMAQkBKAEDATcBAQMFAwEEBwILAh0BOgECAgEBAwMBBAcCCwIcAjkCAQECBAgBCQEKAh0BSAEEAQIDAQEIAVEBAgcMCGIBAgkLB0kCGwEBAQEBNw4BBQECBQsBJAkBZgQBBgECAgIZAgQDEAQNAQICBgEPAQADAAQcAx0CHgJAAgEHCAECCwkBLQMBAXUCIgF2AwQCCQEGA9sCAgE6AQEHAQEBAQIIBgoCATAfMQQwCgQDJgkMAiAEAgY4AQECAwEBBTgIAgKYAwENAQcEAQYBAwLGQAABwyEAA40BYCAABmkCAAQBCiACUAIAAQMBBAEZAgUBlwIaEg0BJggZCwEBLAMwAQIEAgICASQBQwYCAgICDAEIAS8BMwEBAwICBQIBASoCCAHuAQIBBAEAAQAQEBAAAgAB4gGVBQADAQIFBCgDBAGlAgAEQQUAAk8ERgsxBHsBNg8pAQICCgMxBAICBwE9AyQFAQg+AQwCNAkBAQgEAgFfAwIEBgECAZ0BAwgVAjkCAQEBAQwBCQEOBwMFQwECBgEBAgEBAwQDAQEOAlUIAgMBARcBUQECBgEBAgEBAgEC6wECBAYCAQIbAlUIAgEBAmoBAQECCGUBAQECBAEFAAkBAvUBCgQEAZAEAgIEASAKKAYCBAgBCQYCAy4NAQIABwEGAQFSFgIHAQIBAnoGAwEBAgEHAQFIAgMBAQEAAgsCNAUFAxcBAAEGDwAMAwMABTsHAAE/BFEBCwIAAgAuAhcABQMGCAgCBx4ElAMANwQyCAEOARYFAQ8ABwERAgcBAgEFZAGgBwABPQQABP4CAAdtBwBggPAAcmV0dXJuIHRoaXMAALgaEABqAAAAJAEAAA4AAAABAAAAL2hvbWUvam9zaC8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby0xOTQ5Y2Y4YzZiNWI1NTdmL29uY2VfY2VsbC0xLjIxLjMvc3JjL2ltcF9zdGQucnMAwBUQAF8AAACbAAAACQAAAMAVEABfAAAAoQAAADYAAAAvcnVzdC9kZXBzL2RsbWFsbG9jLTAuMi43L3NyYy9kbG1hbGxvYy5yc2Fzc2VydGlvbiBmYWlsZWQ6IHBzaXplID49IHNpemUgKyBtaW5fb3ZlcmhlYWQAQBYQACkAAACoBAAACQAAAGFzc2VydGlvbiBmYWlsZWQ6IHBzaXplIDw9IHNpemUgKyBtYXhfb3ZlcmhlYWQAAEAWEAApAAAArgQAAA0AAAB1c2Ugb2Ygc3RkOjp0aHJlYWQ6OmN1cnJlbnQoKSBpcyBub3QgcG9zc2libGUgYWZ0ZXIgdGhlIHRocmVhZCdzIGxvY2FsIGRhdGEgaGFzIGJlZW4gZGVzdHJveWVkAADoFhAAXgAAAGxpYnJhcnkvc3RkL3NyYy90aHJlYWQvY3VycmVudC5ycwAAAFAXEAAhAAAA/gAAAAkAAABsaWJyYXJ5L3N0ZC9zcmMvdGhyZWFkL21vZC5yc2ZhaWxlZCB0byBnZW5lcmF0ZSB1bmlxdWUgdGhyZWFkIElEOiBiaXRzcGFjZSBleGhhdXN0ZWShFxAANwAAAIQXEAAdAAAArgQAAA0AAADQGBAAWwAAAAgDAAAZAAAAcmVlbnRyYW50IGluaXQAAAAYEAAOAAAA0BgQAFsAAAB6AgAADQAAAEpzVmFsdWUoKQAAACgYEAAIAAAAMBgQAAEAAABjbG9zdXJlIGludm9rZWQgcmVjdXJzaXZlbHkgb3IgYWZ0ZXIgYmVpbmcgZHJvcHBlZFV0ZjhFcnJvcnZhbGlkX3VwX3RvZXJyb3JfbGVuTm9uZVNvbWVMYXp5IGluc3RhbmNlIGhhcyBwcmV2aW91c2x5IGJlZW4gcG9pc29uZWQAAACbGBAAKgAAAC9ob21lL2pvc2gvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tMTk0OWNmOGM2YjViNTU3Zi9vbmNlX2NlbGwtMS4yMS4zL3NyYy9saWIucnMA0BgQAFsAAAAfBQAAGQAAADAxMjM0NTY3ODlhYmNkZWYvcnVzdGMvNGViMTYxMjUwZTM0MGM4ZjQ4ZjY2ZTJiOTI5ZWY0YTViZWQ3YzE4MS9saWJyYXJ5L2FsbG9jL3NyYy9zdHJpbmcucnMATBkQAEsAAACNBQAAGwAAAC9ydXN0Yy80ZWIxNjEyNTBlMzQwYzhmNDhmNjZlMmI5MjllZjRhNWJlZDdjMTgxL2xpYnJhcnkvYWxsb2Mvc3JjL3Jhd192ZWMucnOoGRAATAAAACgCAAARAAAARnJvbVV0ZjhFcnJvcmJ5dGVzZXJyb3IvaG9tZS9qb3NoLy5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTE5NDljZjhjNmI1YjU1N2YvYmFzZTY0LTAuMjIuMS9zcmMvZW5naW5lL21vZC5ycwAAGxoQAF8AAAB7AAAAGwAAADIAAAAUAAAABAAAADMAAABJbnZhbGlkIFVURjgbGhAAXwAAAH8AAAAkAAAAL2hvbWUvam9zaC8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby0xOTQ5Y2Y4YzZiNWI1NTdmL3dhc20tYmluZGdlbi0wLjIuMTAwL3NyYy9jb252ZXJ0L3NsaWNlcy5ycwAAuBoQAGoAAADoAAAAAQBBvrbAAAsT8D8AAAAAAAAAgAAAAAAAAAAAHwBB27bAAAsKgAAAAAAAAAAAIABB77bAAAsKgAAAAAAAAAAAIQBBg7fAAAsKgAAAAAAAAAAAIgBBl7fAAAsKgAAAAAAAAAAAIwBBq7fAAAsKgAAAAAAAAAAAJABBv7fAAAsKgAAAAAAAAAAAJQBB07fAAAsKgAAAAAAAAAAAJgBB57fAAAsKgAAAAAAAAAAAJwBB+7fAAAsKgAAAAAAAAAAAKABBj7jAAAsKgAAAAAAAAAAAKQBBo7jAAAsKgAAAAAAAAAAAKgBBt7jAAAsKgAAAAAAAAAAAKwBBy7jAAAsKgAAAAAAAAAAALABB37jAAAsKgAAAAAAAAAAALQBB87jAAAsKgAAAAAAAAAAALgBBh7nAAAs+gAAAAAAAAAAALwAAAD0AAAACAAAAAAAAAD4AAAACAAAAAAAAAD8AAAACAAAAAAAAAEAAAAACAAAAAAAAAEEAQeC5wAALAUIAcAlwcm9kdWNlcnMCCGxhbmd1YWdlAQRSdXN0AAxwcm9jZXNzZWQtYnkDBXJ1c3RjHTEuODUuMSAoNGViMTYxMjUwIDIwMjUtMDMtMTUpBndhbHJ1cwYwLjIzLjMMd2FzbS1iaW5kZ2VuBzAuMi4xMDAASQ90YXJnZXRfZmVhdHVyZXMEKw9tdXRhYmxlLWdsb2JhbHMrCHNpZ24tZXh0Kw9yZWZlcmVuY2UtdHlwZXMrCm11bHRpdmFsdWU=");var $e={processListeners:[],processDate:null},Ie={},D;Object.assign(Ie,ie(()=>D,$e));var At=await WebAssembly.instantiate(ae,Ie);D=At.instance.exports;var ge=I=>Math.floor(Math.random()*I)+1;D.start();var[et,tt]=T(D,[...Array(14)].map(()=>Math.random().toString(36)[2]).join(""));D.set_mouse_params(50,1,.9,!1,et,tt);for(let I=0;I<5;I++)gA.pointermove({movementX:ge(5),movementY:ge(10)});var oe=I=>{let A,e;try{let[t,a]=T(D,I),s=D.validate(t,a);return A=s[0],e=s[1],v(D,A,e)}finally{D.__wbindgen_free(A,e,1)}},se=I=>{for(;I<0;)I+=2*Math.PI;for(;I>=2*Math.PI;)I-=2*Math.PI;return I},it=(I,A,e,t)=>{let a=se(I),i=se(e)-a;Math.abs(i)>Math.PI&&(i=i>0?i-2*Math.PI:i+2*Math.PI);let o=t-A,n=.0025,Q=.0025,c=Math.round(-i/n),r=Math.round(-o/Q);return{movementX:c,movementY:r}};var ne=(I,A)=>{let e=D.get_yaw_pitch(),t=it(e.yaw,e.pitch,I,A);return gA.pointermove({movementX:t.movementX,movementY:t.movementY}),D.get_yaw_pitch().coords};var sA=class{connected=!1;onceConnected=[];regionList=[];proxy=null;sessionId="";onListeners=new Map;onceListeners=new Map;#A=!1;#e=!1;constructor(A={}){this.#A=A.noExitOnError||!1,A.instance||(A.instance="shellshock.io"),A.protocol||(A.protocol="wss"),A.api?this.api=A.api:this.api=new eA({instance:A.instance,protocol:A.protocol,proxy:A.proxy}),A.sessionId||A.noLogin?this.sessionId=A.sessionId:this.#t(),A.proxy&&!L?this.#i("proxies do not work and hence are not supported in the browser"):A.proxy&&(this.proxy=A.proxy),this.#g(A.instance,A.protocol,A.noLogin)}async#g(A,e,t){if(this.ws=new Y(`${e}://${A}/matchmaker/`,this.proxy),!await this.ws.tryConnect())return this.#i("WebSocket did not connect...");this.ws.onmessage=s=>{let i=JSON.parse(s.data);if(i.command==="validateUUID")return this.ws.send(JSON.stringify({command:"validateUUID",hash:oe(i.uuid)}));this.#a("msg",i)},this.ws.onclose=()=>{this.connected=!1,this.#e||this.#g(A,e,t)},this.connected=!0,(this.sessionId||t)&&this.onceConnected.forEach(s=>s())}async#t(){let A=await this.api.loginAnonymously();(!A||typeof A=="string")&&this.#a("authFail",A),this.sessionId=A.sessionId,this.connected&&this.onceConnected.forEach(e=>e())}send(A){this.ws.send(JSON.stringify(A))}async waitForConnect(){return new Promise(A=>{this.connected?A():this.onceConnected.push(A)})}async getRegions(){await this.waitForConnect();let A=this;return new Promise(e=>{let t=a=>{a.command==="regionList"&&(this.regionList=a.regionList,this.off("msg",t),e(a.regionList))};this.on("msg",t),this.ws.onerror=a=>A.#i("failed to get regions",a),this.ws.send(JSON.stringify({command:"regionList"}))})}close(){this.#e=!0,this.connected=!1,this.ws.close()}on(A,e){this.onListeners.has(A)||this.onListeners.set(A,[]),this.onListeners.get(A).push(e)}once(A,e){this.onceListeners.has(A)||this.onceListeners.set(A,[]),this.onceListeners.get(A).push(e)}off(A,e){this.onListeners.has(A)&&this.onListeners.set(A,this.onListeners.get(A).filter(t=>t!==e)),this.onceListeners.has(A)&&this.onceListeners.set(A,this.onceListeners.get(A).filter(t=>t!==e))}#a(A,...e){this.onListeners.has(A)&&this.onListeners.get(A).forEach(t=>t(...e)),this.onceListeners.has(A)&&(this.onceListeners.get(A).forEach(t=>t(...e)),this.onceListeners.delete(A))}#i(A){this.onListeners.has("error")?this.#a("error",A):(console.error(A),this.#A||process.exit(1))}},Be=sA;var at=(I,A)=>(I%A+A)%A,gt=Math.PI*2,Qe=I=>Math.round(I*8192)/8192,st=I=>Qe(at(Math.atan2(-I.x,-I.z),gt)),It=I=>Qe(Math.atan2(I.y,Math.hypot(I.x,I.z))),GA=class{constructor(A){this.pos=A}validate(){return this.pos&&this.pos.x&&this.pos.y&&this.pos.z}check(A){return A.me.playing}execute(A){let e={x:this.pos.x-A.me.position.x,y:this.pos.y-A.me.position.y,z:this.pos.z-A.me.position.z},t=st(e),a=It(e);A.state.yaw=t,A.state.pitch=a}},Z=GA;var MA=class{constructor(A){typeof A=="number"?this.inputKeys=A:typeof A==typeof[]&&(this.inputKeys=A.reduce((e,t)=>e|t,0))}validate(){return!(typeof this.inputKeys!="number"||this.inputKeys&m.Forward&&this.inputKeys&m.Backward||this.inputKeys&m.Left&&this.inputKeys&m.Right)}check(A){return A.me.playing}execute(A){A.state.controlKeys=this.inputKeys}},j=MA;var IA=class{constructor(A,e){this.x=e.x,this.y=e.y,this.z=e.z,this.positionStr=`${this.x},${this.y},${this.z}`,this.position={x:this.x,y:this.y,z:this.z},this.meshType=A.split(".").pop(),this.f=0,this.g=0,this.h=0,this.visited=null,this.parent=null,this.closed=null,this.links=[],this.isStair()&&(e.ry?this.ry=e.ry:this.ry=0)}isFull(){return this.meshType==="full"}canWalkThrough(){return this.meshType==="none"||this.meshType==="ladder"}canWalkOn(){return this.meshType==="full"}isLadder(){return this.meshType==="ladder"}isStair(){return this.meshType==="wedge"}isAir(){return this.meshType==="none"}canLink(A,e){let t=this.x-A.x,a=this.z-A.z,s=this.y-A.y,i=Math.abs(t),o=Math.abs(s),n=Math.abs(a);if(i+o+n===0||i+n>1||this.isFull()||A.isFull())return!1;let Q=e.at(this.x,this.y-1,this.z),c=e.at(A.x,A.y-1,A.z);if(!Q||!c)return!1;let r={0:{x:0,z:-1},1:{x:-1,z:0},2:{x:0,z:1},3:{x:1,z:0}};switch(this.meshType){case"none":return!!(s===1&&A.canWalkThrough()||(Q.canWalkOn()||Q.isLadder())&&(A.meshType==="none"||A.meshType==="ladder"&&o===0||A.meshType==="wedge"&&s===0&&t===-r[A.ry].x&&a===-r[A.ry].z));case"ladder":return!!(o===1&&A.canWalkThrough()||o===0&&Q.canWalkOn()||A.meshType==="ladder"&&(o===1||Q.canWalkOn()&&c.canWalkOn()));case"wedge":return this.x+r[this.ry].x===A.x&&this.z+r[this.ry].z===A.z&&this.y+1===A.y||this.x-r[this.ry].x===A.x&&this.z-r[this.ry].z===A.z&&(this.y===A.y||this.y-1===A.y);default:return!1}}flatCenter(){return{x:this.x+.5,y:this.y+0,z:this.z+.5}}flatRadialDistance(A){let e=this.flatCenter();return Math.hypot(e.x-A.x,e.z-A.z)}},oA=class{list=[];constructor(A){let e={};for(let a of Object.keys(A.data))for(let s of A.data[a])e[s.x<<16|s.y<<8|s.z]=!0,this.list.push(new IA(a,s));for(let a=0;a<A.width;a++)for(let s=0;s<A.height;s++)for(let i=0;i<A.depth;i++)e[a<<16|s<<8|i]||this.list.push(new IA("SPECIAL.air.none",{x:a,y:s,z:i}));let t=new Map;for(let a of this.list)t.set(a.positionStr,a);for(let a of this.list){let s=[{x:a.x+1,y:a.y,z:a.z},{x:a.x-1,y:a.y,z:a.z},{x:a.x,y:a.y+1,z:a.z},{x:a.x,y:a.y-1,z:a.z},{x:a.x,y:a.y,z:a.z+1},{x:a.x,y:a.y,z:a.z-1}];for(let i of s){let o=`${i.x},${i.y},${i.z}`,n=t.get(o);n&&a.canLink(n,this)&&a.links.push(n)}}}at(A,e,t){if(!this.nodeMap){this.nodeMap=new Map;for(let s of this.list){let i=`${s.x},${s.y},${s.z}`;this.nodeMap.set(i,s)}}let a=`${A},${e},${t}`;return this.nodeMap.get(a)}clean(){for(let A of this.list)A.f=0,A.g=0,A.h=0,A.visited=null,A.parent=null,A.closed=null}hasLineOfSight(A,e){let t=e.x-A.x,a=e.y-A.y,s=e.z-A.z,i=Math.max(Math.abs(t),Math.abs(a),Math.abs(s)),o=t/i,n=a/i,Q=s/i,c=A.x,r=A.y,l=A.z;for(let k=0;k<=i;k++){let N=this.at(Math.round(c),Math.round(r),Math.round(l));if(N&&N.isFull())return!1;c+=o,r+=n,l+=Q}return!0}};var re=async(I,A)=>{if(M)return await(await fetch(`https://esm.sh/gh/yolkorg/maps/maps/${I}.json?${A}`)).json();{let{existsSync:e,mkdirSync:t,readFileSync:a,writeFileSync:s}={},{join:i}={},{homedir:o}={},n=i(o(),".yolkbot"),Q=i(n,"maps");e(n)||t(n),e(Q)||t(Q);let c=i(Q,`${I}-${A}.json`);if(e(c))return JSON.parse(a(c,"utf-8"));let r=await(await fetch(`https://esm.sh/gh/yolkorg/maps/maps/${I}.json?${A}`)).json();return s(c,JSON.stringify(r,null,4),{flag:"w+"}),r}},ce=I=>{let A=0,e={},t=[];for(let i of I)e[i.x]||(e[i.x]={}),e[i.x][i.y]||(e[i.x][i.y]={}),e[i.x][i.y][i.z]={zone:null};let a=[{x:-1,z:0},{x:1,z:0},{x:0,z:-1},{x:0,z:1}],s=(i,o,n)=>e[i]&&e[i][o]&&e[i][o][n]?e[i][o][n]:null;for(let i of I)if(!e[i.x][i.y][i.z].zone){i.zone=++A,e[i.x][i.y][i.z].zone=i.zone;let o=[i],n;do{n=0;for(let Q of I)if(!e[Q.x][Q.y][Q.z].zone)for(let c of a){let r=s(Q.x+c.x,Q.y,Q.z+c.z);if(r&&r.zone===i.zone){n++,Q.zone=i.zone,e[Q.x][Q.y][Q.z].zone=i.zone,o.push(Q);break}}}while(n>0);t.push(o)}return t};var Ce=[{id:1,loc_ref:"chlg_kill_streak_five",type:0,subType:0,period:0,goal:1,reward:100,conditional:0,value:"5",valueTwo:null,tier:2,loc:{title:"Master Chef",desc:"Get a 5 killstreak"}},{id:2,loc_ref:"chlg_kill_streak_ten",type:0,subType:0,period:0,goal:1,reward:200,conditional:0,value:"10",valueTwo:null,tier:2,loc:{title:"Butcher",desc:"Get a 10 killstreak"}},{id:3,loc_ref:"chlg_kill_streak_fifteen",type:0,subType:0,period:0,goal:1,reward:500,conditional:0,value:"15",valueTwo:null,tier:3,loc:{title:"Eggsassin",desc:"Get a 15 killstreak"}},{id:4,loc_ref:"chlg_kill_streak_twenty",type:0,subType:0,period:0,goal:1,reward:1e3,conditional:0,value:"20",valueTwo:null,tier:3,loc:{title:"Eggsecutioner",desc:"Get a 20 killstreak"}},{id:5,loc_ref:"chlg_kill_streak_fifty",type:0,subType:0,period:0,goal:1,reward:5e3,conditional:0,value:"50",valueTwo:null,tier:3,loc:{title:"Shell Smasher",desc:"Get a 50 killstreak"}},{id:6,loc_ref:"chlg_kill_kills_ten",type:0,subType:10,period:0,goal:10,reward:100,conditional:null,value:null,valueTwo:null,tier:0,loc:{title:"Shell Shocker",desc:"Get 10 total kills"}},{id:7,loc_ref:"chlg_kill_kills_twenty",type:0,subType:10,period:0,goal:20,reward:200,conditional:null,value:null,valueTwo:null,tier:1,loc:{title:"Yolk Drinker",desc:"Get 20 total kills"}},{id:8,loc_ref:"chlg_kill_kills_fifty",type:0,subType:10,period:0,goal:50,reward:500,conditional:null,value:null,valueTwo:null,tier:2,loc:{title:"Clutch Master",desc:"Get 50 total kills"}},{id:9,loc_ref:"chlg_kill_kills_hundred",type:0,subType:10,period:0,goal:100,reward:1e3,conditional:null,value:null,valueTwo:null,tier:3,loc:{title:"Eggsterminator",desc:"Get 100 total kills"}},{id:10,loc_ref:"chlg_kill_kills_two_fifty",type:0,subType:10,period:0,goal:250,reward:2500,conditional:null,value:null,valueTwo:null,tier:3,loc:{title:"Ovum Overlord",desc:"Get 250 total kills"}},{id:11,loc_ref:"chlg_kill_timePlayed_two",type:0,subType:6,period:0,goal:1,reward:100,conditional:null,value:"2",valueTwo:"60",tier:0,loc:{title:"Back to Back",desc:"Spawn and get 2 kills in 1 min"}},{id:12,loc_ref:"chlg_kill_timePlayed_four",type:0,subType:6,period:0,goal:1,reward:500,conditional:null,value:"4",valueTwo:"60",tier:2,loc:{title:"C-C-C-COMBO",desc:"Spawn and get 4 kills in 1 min"}},{id:13,loc_ref:"chlg_kill_timePlayed_seven",type:0,subType:6,period:0,goal:1,reward:1e3,conditional:null,value:"7",valueTwo:"60",tier:3,loc:{title:"Eggcellerator",desc:"Spawn and get 7 kills in 1 min"}},{id:14,loc_ref:"chlg_kill_timePlayed_ten",type:0,subType:6,period:0,goal:1,reward:2500,conditional:null,value:"10",valueTwo:"60",tier:3,loc:{title:"Need for Speed",desc:"Spawn and get 10 kills in 1 min"}},{id:15,loc_ref:"chlg_kill_con_kill_one_shot",type:0,subType:8,period:0,goal:1,reward:100,conditional:11,value:"1",valueTwo:"1",tier:1,loc:{title:"Bullseye",desc:"Kill an egg with 1 shot"}},{id:16,loc_ref:"chlg_kill_con_kill_hp_ten",type:0,subType:8,period:0,goal:1,reward:500,conditional:12,value:"1",valueTwo:"10",tier:1,loc:{title:"Cutting it Close",desc:"Get a kill with less than 10 HP"}},{id:17,loc_ref:"chlg_kill_con_kill_five_streak",type:0,subType:8,period:0,goal:1,reward:1e3,conditional:0,value:"0",valueTwo:"5",tier:2,loc:{title:"Soft Boiled",desc:"Kill an egg on a 5+ streak"}},{id:18,loc_ref:"chlg_kill_con_kill_ten_streak",type:0,subType:8,period:0,goal:1,reward:2500,conditional:0,value:"0",valueTwo:"10",tier:3,loc:{title:"Breaker-breaker",desc:"Kill an egg on a 10+ streak"}},{id:19,loc_ref:"chlg_kill_con_kill_scoped",type:0,subType:8,period:0,goal:1,reward:200,conditional:13,value:null,valueTwo:null,tier:2,loc:{title:"Eye 2 Eye",desc:"Snipe a zoomed-in sniper"}},{id:20,loc_ref:"chlg_kill_con_two_kills_one_shot",type:0,subType:8,period:0,goal:1,reward:200,conditional:16,value:"2",valueTwo:null,tier:2,loc:{title:"Collateral Damage",desc:"Kill two eggs at once"}},{id:21,loc_ref:"chlg_kill_con_reloading",type:0,subType:8,period:0,goal:1,reward:100,conditional:17,value:null,valueTwo:null,tier:1,loc:{title:"Owned",desc:"Kill an egg while they reload"}},{id:22,loc_ref:"chlg_kill_con_kill_scoped_melee",type:0,subType:8,period:0,goal:1,reward:200,conditional:13,value:null,valueTwo:"9",tier:2,loc:{title:"Behind You!",desc:"Melee kill a zoomed-in egg"}},{id:23,loc_ref:"chlg_kill_con_kill_two_grenade",type:0,subType:8,period:0,goal:1,reward:200,conditional:16,value:"2",valueTwo:"8",tier:2,loc:{title:"2 Birds 1 Stone",desc:"Kill 2 eggs with 1 Grenade"}},{id:24,loc_ref:"chlg_kill_con_kill_three_grenade",type:0,subType:8,period:0,goal:1,reward:1e3,conditional:16,value:"3",valueTwo:"8",tier:3,loc:{title:"M-M-M-Multikill",desc:"Kill 3 eggs with 1 Grenade"}},{id:25,loc_ref:"chlg_kill_con_kill_two_rpegg",type:0,subType:8,period:0,goal:1,reward:200,conditional:16,value:"2",valueTwo:"4",tier:2,loc:{title:"Splash Damage",desc:"Kill 2 eggs with 1 RPEGG shot"}},{id:26,loc_ref:"chlg_kill_con_kill_three_rpegg",type:0,subType:8,period:0,goal:1,reward:1e3,conditional:16,value:"3",valueTwo:"4",tier:3,loc:{title:"Big Boomer",desc:"Kill 3 eggs with 1 RPEGG shot"}},{id:27,loc_ref:"chlg_kill_weaponType_Cluck9mm_five",type:0,subType:1,period:0,goal:5,reward:200,conditional:null,value:null,valueTwo:"3",tier:1,loc:{title:"Pew Pew",desc:"Get 5 Cluck 9mm kills"}},{id:28,loc_ref:"chlg_kill_weaponType_Cluck9mm_ten",type:0,subType:1,period:0,goal:10,reward:500,conditional:null,value:null,valueTwo:"3",tier:1,loc:{title:"Trigger Happy",desc:"Get 10 Cluck 9mm kills"}},{id:29,loc_ref:"chlg_kill_weaponType_Cluck9mm_twenty",type:0,subType:1,period:0,goal:20,reward:1e3,conditional:null,value:null,valueTwo:"3",tier:2,loc:{title:"Sidearm Specialist",desc:"Get 20 Cluck 9mm kills"}},{id:30,loc_ref:"chlg_kill_weaponType_Cluck9mm_fifty",type:0,subType:1,period:0,goal:50,reward:2500,conditional:null,value:null,valueTwo:"3",tier:3,loc:{title:"9mm Master",desc:"Get 50 Cluck 9mm kills"}},{id:31,loc_ref:"chlg_kill_weaponType_Scrambler_five",type:0,subType:1,period:0,goal:5,reward:100,conditional:null,value:null,valueTwo:"1",tier:1,loc:{title:"Scrambled Eggs",desc:"Get 5 Scrambler kills"}},{id:32,loc_ref:"chlg_kill_weaponType_Scrambler_ten",type:0,subType:1,period:0,goal:10,reward:200,conditional:null,value:null,valueTwo:"1",tier:1,loc:{title:"Hunting Wabbits",desc:"Get 10 Scrambler kills"}},{id:33,loc_ref:"chlg_kill_weaponType_Scrambler_twenty",type:0,subType:1,period:0,goal:20,reward:500,conditional:null,value:null,valueTwo:"1",tier:2,loc:{title:"Boomstick",desc:"Get 20 Scrambler kills"}},{id:34,loc_ref:"chlg_kill_weaponType_Scrambler_fifty",type:0,subType:1,period:0,goal:50,reward:1e3,conditional:null,value:null,valueTwo:"1",tier:3,loc:{title:"Splat-o-matic",desc:"Get 50 Scrambler kills"}},{id:35,loc_ref:"chlg_kill_weaponType_Rpegg_five",type:0,subType:1,period:0,goal:5,reward:100,conditional:null,value:null,valueTwo:"4",tier:2,loc:{title:"Eggsploder",desc:"Get 5 RPEGG kills"}},{id:36,loc_ref:"chlg_kill_weaponType_Rpegg_ten",type:0,subType:1,period:0,goal:10,reward:200,conditional:null,value:null,valueTwo:"4",tier:2,loc:{title:"Arm Cannons",desc:"Get 10 RPEGG kills"}},{id:37,loc_ref:"chlg_kill_weaponType_Rpegg_twenty",type:0,subType:1,period:0,goal:20,reward:500,conditional:null,value:null,valueTwo:"4",tier:2,loc:{title:"Bazooka Joe",desc:"Get 20 RPEGG kills"}},{id:38,loc_ref:"chlg_kill_weaponType_Rpegg_fifty",type:0,subType:1,period:0,goal:50,reward:1e3,conditional:null,value:null,valueTwo:"4",tier:3,loc:{title:"Master Eggsploder",desc:"Get 50 RPEGG kills"}},{id:39,loc_ref:"chlg_kill_weaponType_Whipper_five",type:0,subType:1,period:0,goal:5,reward:100,conditional:null,value:null,valueTwo:"5",tier:1,loc:{title:"Whip it Good",desc:"Get 5 Whipper kills"}},{id:40,loc_ref:"chlg_kill_weaponType_Whipper_ten",type:0,subType:1,period:0,goal:10,reward:200,conditional:null,value:null,valueTwo:"5",tier:1,loc:{title:"Cool Whip",desc:"Get 10 Whipper kills"}},{id:41,loc_ref:"chlg_kill_weaponType_Whipper_twenty",type:0,subType:1,period:0,goal:20,reward:500,conditional:null,value:null,valueTwo:"5",tier:2,loc:{title:"Whip it REAL Good",desc:"Get 20 Whipper kills"}},{id:42,loc_ref:"chlg_kill_weaponType_Whipper_fifty",type:0,subType:1,period:0,goal:50,reward:1e3,conditional:null,value:null,valueTwo:"5",tier:3,loc:{title:"Whip up a Storm",desc:"Get 50 Whipper kills"}},{id:43,loc_ref:"chlg_kill_weaponType_Eggk47_five",type:0,subType:1,period:0,goal:5,reward:100,conditional:null,value:null,valueTwo:"0",tier:0,loc:{title:"Lock & Load",desc:"Get 5 EggK-47 kills"}},{id:44,loc_ref:"chlg_kill_weaponType_Eggk47_ten",type:0,subType:1,period:0,goal:10,reward:200,conditional:null,value:null,valueTwo:"0",tier:1,loc:{title:"Almost a Dozen",desc:"Get 10 EggK-47 kills"}},{id:45,loc_ref:"chlg_kill_weaponType_Eggk47_twenty",type:0,subType:1,period:0,goal:20,reward:500,conditional:null,value:null,valueTwo:"0",tier:2,loc:{title:"Spray Down",desc:"Get 20 EggK-47 kills"}},{id:46,loc_ref:"chlg_kill_weaponType_Eggk47_fifty",type:0,subType:1,period:0,goal:50,reward:1e3,conditional:null,value:null,valueTwo:"0",tier:3,loc:{title:"Eggk-47 Eggspert",desc:"Get 50 EggK-47 kills"}},{id:47,loc_ref:"chlg_kill_weaponType_FreeRanger_five",type:0,subType:1,period:0,goal:5,reward:100,conditional:null,value:null,valueTwo:"2",tier:1,loc:{title:"Poacher",desc:"Get 5 Free Ranger kills"}},{id:48,loc_ref:"chlg_kill_weaponType_FreeRanger_ten",type:0,subType:1,period:0,goal:10,reward:200,conditional:null,value:null,valueTwo:"2",tier:1,loc:{title:"Bounty Hunter",desc:"Get 10 Free Ranger kills"}},{id:49,loc_ref:"chlg_kill_weaponType_FreeRanger_twenty",type:0,subType:1,period:0,goal:20,reward:500,conditional:null,value:null,valueTwo:"2",tier:2,loc:{title:"Hired Gun",desc:"Get 20 Free Ranger kills"}},{id:50,loc_ref:"chlg_kill_weaponType_FreeRanger_fifty",type:0,subType:1,period:0,goal:50,reward:1e3,conditional:null,value:null,valueTwo:"2",tier:3,loc:{title:"Big-Game Hunter",desc:"Get 50 Free Ranger kills"}},{id:51,loc_ref:"chlg_kill_weaponType_Crackshot_five",type:0,subType:1,period:0,goal:5,reward:100,conditional:null,value:null,valueTwo:"6",tier:1,loc:{title:"Sniper",desc:"Get 5 Crackshot kills"}},{id:52,loc_ref:"chlg_kill_weaponType_Crackshot_ten",type:0,subType:1,period:0,goal:10,reward:200,conditional:null,value:null,valueTwo:"6",tier:1,loc:{title:"Sharpshooter",desc:"Get 10 Crackshot kills"}},{id:53,loc_ref:"chlg_kill_weaponType_Crackshot_twenty",type:0,subType:1,period:0,goal:20,reward:500,conditional:null,value:null,valueTwo:"6",tier:2,loc:{title:"Marksman",desc:"Get 20 Crackshot kills"}},{id:54,loc_ref:"chlg_kill_weaponType_Crackshot_fifty",type:0,subType:1,period:0,goal:50,reward:1e3,conditional:null,value:null,valueTwo:"6",tier:3,loc:{title:"Cracked",desc:"Get 50 Crackshot kills"}},{id:55,loc_ref:"chlg_kill_weaponType_TriHard_five",type:0,subType:1,period:0,goal:5,reward:100,conditional:null,value:null,valueTwo:"7",tier:1,loc:{title:"Tri-Hard",desc:"Get 5 Tri-Hard kills"}},{id:56,loc_ref:"chlg_kill_weaponType_TriHard_ten",type:0,subType:1,period:0,goal:10,reward:200,conditional:null,value:null,valueTwo:"7",tier:1,loc:{title:"Tri-Harder",desc:"Get 10 Tri-Hard kills"}},{id:57,loc_ref:"chlg_kill_weaponType_TriHard_twenty",type:0,subType:1,period:0,goal:20,reward:500,conditional:null,value:null,valueTwo:"7",tier:2,loc:{title:"Tri-Even-Harder",desc:"Get 20 Tri-Hard kills"}},{id:58,loc_ref:"chlg_kill_weaponType_TriHard_fifty",type:0,subType:1,period:0,goal:50,reward:1e3,conditional:null,value:null,valueTwo:"7",tier:3,loc:{title:"Tri-Hardest",desc:"Get 50 Tri-Hard kills"}},{id:59,loc_ref:"chlg_kill_weaponType_Melee_five",type:0,subType:1,period:0,goal:5,reward:200,conditional:null,value:null,valueTwo:"9",tier:2,loc:{title:"Whisky Business",desc:"Get 5 Melee kills"}},{id:60,loc_ref:"chlg_kill_weaponType_Melee_ten",type:0,subType:1,period:0,goal:10,reward:500,conditional:null,value:null,valueTwo:"9",tier:2,loc:{title:"Slap the Bass",desc:"Get 10 Melee kills"}},{id:61,loc_ref:"chlg_kill_weaponType_Melee_twenty",type:0,subType:1,period:0,goal:20,reward:1e3,conditional:null,value:null,valueTwo:"9",tier:3,loc:{title:"Whack & Slash",desc:"Get 20 Melee kills"}},{id:62,loc_ref:"chlg_kill_weaponType_Melee_fifty",type:0,subType:1,period:0,goal:50,reward:2500,conditional:null,value:null,valueTwo:"9",tier:3,loc:{title:"Melee Master",desc:"Get 50 Melee kills"}},{id:63,loc_ref:"chlg_damage_five_hundred",type:1,subType:null,period:0,goal:500,reward:100,conditional:null,value:null,valueTwo:null,tier:0,loc:{title:"Shattered Shells",desc:"Deal 500 damage"}},{id:64,loc_ref:"chlg_damage_one_thousand",type:1,subType:null,period:0,goal:1e3,reward:100,conditional:null,value:null,valueTwo:null,tier:1,loc:{title:"Decimator",desc:"Deal 1000 damage"}},{id:65,loc_ref:"chlg_damage_twenty_five_hundred",type:1,subType:null,period:0,goal:2500,reward:200,conditional:null,value:null,valueTwo:null,tier:1,loc:{title:"Tormentor",desc:"Deal 2500 damage"}},{id:66,loc_ref:"chlg_damage_five_thousand",type:1,subType:null,period:0,goal:5e3,reward:500,conditional:null,value:null,valueTwo:null,tier:2,loc:{title:"Devastator",desc:"Deal 5000 damage"}},{id:67,loc_ref:"chlg_damage_ten_thousand",type:1,subType:null,period:0,goal:1e4,reward:1e3,conditional:null,value:null,valueTwo:null,tier:3,loc:{title:"Boomsauce",desc:"Deal 10000 damage"}},{id:68,loc_ref:"chlg_damage_twenty_five_thousand",type:1,subType:null,period:0,goal:25e3,reward:2500,conditional:null,value:null,valueTwo:null,tier:3,loc:{title:"Maximum Damage",desc:"Deal 25000 damage"}},{id:69,loc_ref:"chlg_deaths_ten",type:2,subType:null,period:0,goal:10,reward:100,conditional:null,value:null,valueTwo:null,tier:1,loc:{title:"Cracked",desc:"Die 10 times"}},{id:70,loc_ref:"chlg_deaths_twenty",type:2,subType:null,period:0,goal:20,reward:200,conditional:null,value:null,valueTwo:null,tier:1,loc:{title:"Fried",desc:"Die 20 times"}},{id:71,loc_ref:"chlg_deaths_fifty",type:2,subType:null,period:0,goal:50,reward:500,conditional:null,value:null,valueTwo:null,tier:2,loc:{title:"Death Wish",desc:"Die 50 times"}},{id:72,loc_ref:"chlg_movement_distance_five_hunderd",type:3,subType:3,period:0,goal:500,reward:100,conditional:null,value:null,valueTwo:null,tier:0,loc:{title:"Runny Egg",desc:"Travel 500m"}},{id:73,loc_ref:"chlg_movement_distance_one_thousand",type:3,subType:3,period:0,goal:1e3,reward:500,conditional:null,value:null,valueTwo:null,tier:1,loc:{title:"Poultry in Motion",desc:"Travel 1000m"}},{id:74,loc_ref:"chlg_movement_distance_five_thousand",type:3,subType:3,period:0,goal:5e3,reward:2500,conditional:null,value:null,valueTwo:null,tier:2,loc:{title:"Gaming Marathon",desc:"Travel 5000m"}},{id:75,loc_ref:"chlg_movement_jump_one_hundred",type:3,subType:4,period:0,goal:100,reward:100,conditional:null,value:null,valueTwo:null,tier:1,loc:{title:"Jumpman",desc:"Jump 100 times"}},{id:76,loc_ref:"chlg_movement_jump_five_hundred",type:3,subType:4,period:0,goal:500,reward:500,conditional:null,value:null,valueTwo:null,tier:1,loc:{title:"Bouncing Bomb",desc:"Jump 500 times"}},{id:77,loc_ref:"chlg_kill_jump_one",type:0,subType:4,period:0,goal:1,reward:200,conditional:null,value:null,valueTwo:null,tier:2,loc:{title:"Aerial Assault",desc:"Get a kill while jumping"}},{id:78,loc_ref:"chlg_kill_jump_five",type:0,subType:4,period:0,goal:5,reward:1e3,conditional:null,value:null,valueTwo:null,tier:3,loc:{title:"Do a Barrel Roll",desc:"Get 5 kills while airborne"}},{id:79,loc_ref:"chlg_kill_jump_victim_jump",type:0,subType:4,period:0,goal:1,reward:2500,conditional:4,value:null,valueTwo:null,tier:3,loc:{title:"Aerial Acrobatics",desc:"Kill an egg while both airborne"}},{id:80,loc_ref:"chlg_movement_collect_ammo_ten",type:4,subType:18,period:0,goal:10,reward:100,conditional:16,value:"0",valueTwo:null,tier:1,loc:{title:"We Need Supplies!",desc:"Collect 10 ammo boxes"}},{id:81,loc_ref:"chlg_movement_collect_ammo_twenty_five",type:4,subType:18,period:0,goal:25,reward:500,conditional:16,value:"0",valueTwo:null,tier:2,loc:{title:"Quartermaster",desc:"Collect 25 ammo boxes"}},{id:82,loc_ref:"chlg_movement_collect_ammo_fifty",type:4,subType:18,period:0,goal:50,reward:1e3,conditional:16,value:"0",valueTwo:null,tier:3,loc:{title:"Locked & Loaded",desc:"Collect 50 ammo boxes"}},{id:83,loc_ref:"chlg_movement_collect_grenade_ten",type:4,subType:18,period:0,goal:10,reward:100,conditional:17,value:"1",valueTwo:null,tier:1,loc:{title:"Explosives expert",desc:"Collect 10 grenades"}},{id:84,loc_ref:"chlg_movement_collect_grenade_twenty_five",type:4,subType:18,period:0,goal:25,reward:500,conditional:17,value:"1",valueTwo:null,tier:2,loc:{title:"Bombardier",desc:"Collect 25 grenades"}},{id:85,loc_ref:"chlg_movement_collect_grenade_fifty",type:4,subType:18,period:0,goal:50,reward:1e3,conditional:17,value:"1",valueTwo:null,tier:3,loc:{title:"Explosive Temper",desc:"Collect 50 grenades"}},{id:86,loc_ref:"chlg_timed_timeAlive_thirty",type:5,subType:7,period:0,goal:1,reward:100,conditional:7,value:"30",valueTwo:null,tier:1,loc:{title:"Running Scared",desc:"Stay alive for 30 sec"}},{id:87,loc_ref:"chlg_timed_timeAlive_sixty",type:5,subType:7,period:0,goal:1,reward:200,conditional:7,value:"60",valueTwo:null,tier:2,loc:{title:"Hard to Beat",desc:"Stay alive for 1 min"}},{id:88,loc_ref:"chlg_timed_timeAlive_three_hundred",type:5,subType:7,period:0,goal:1,reward:2500,conditional:7,value:"300",valueTwo:null,tier:3,loc:{title:"Happily Ever After",desc:"Stay alive for 5 min"}},{id:90,loc_ref:"chlg_timed_timePlayed_three_hundred",type:5,subType:6,period:0,goal:300,reward:200,conditional:6,value:"300",valueTwo:null,tier:0,loc:{title:"Shell Shocked!",desc:"Play for 5 min"}},{id:91,loc_ref:"chlg_timed_timePlayed_nine_hundred",type:5,subType:6,period:0,goal:900,reward:500,conditional:6,value:"900",valueTwo:null,tier:1,loc:{title:"Not so Noob",desc:"Play for 15 min"}},{id:92,loc_ref:"chlg_timed_timePlayed_eighteen_hundred",type:5,subType:6,period:0,goal:1800,reward:1e3,conditional:6,value:"1800",valueTwo:null,tier:2,loc:{title:"Oval Office",desc:"Play for 30 min"}},{id:93,loc_ref:"chlg_timed_timePlayed_thirty_six_hundred",type:5,subType:6,period:0,goal:3600,reward:2500,conditional:6,value:"3600",valueTwo:null,tier:3,loc:{title:"On That Grind",desc:"Play for 60 min"}},{id:94,loc_ref:"chlg_kotc_capturing_timeAlive_twenty",type:6,subType:20,period:0,goal:1,reward:100,conditional:7,value:"10",valueTwo:null,tier:1,loc:{title:"Hold the Fort",desc:"Stand on Coop for 10 sec"}},{id:95,loc_ref:"chlg_kotc_capture",type:6,subType:21,period:0,goal:1,reward:100,conditional:null,value:null,valueTwo:null,tier:1,loc:{title:"Coop King",desc:"Capture a Coop"}},{id:96,loc_ref:"chlg_kotc_win_one",type:6,subType:23,period:0,goal:1,reward:200,conditional:null,value:null,valueTwo:null,tier:1,loc:{title:"King of the Coop",desc:"Win a KotC match"}},{id:97,loc_ref:"chlg_kotc_win_three",type:6,subType:23,period:0,goal:3,reward:500,conditional:null,value:null,valueTwo:null,tier:2,loc:{title:"Team Sports",desc:"Win 3 KotC matches"}},{id:98,loc_ref:"chlg_kotc_win_five",type:6,subType:23,period:0,goal:5,reward:1e3,conditional:null,value:null,valueTwo:null,tier:3,loc:{title:"Rule the Roost",desc:"Win 5 KotC matches"}},{id:99,loc_ref:"chlg_kotc_win_ten",type:6,subType:23,period:0,goal:10,reward:2500,conditional:null,value:null,valueTwo:null,tier:3,loc:{title:"Coop Commander",desc:"Win 10 KotC matches"}},{id:100,loc_ref:"chlg_kotc_coop_kill",type:6,subType:20,period:0,goal:1,reward:200,conditional:10,value:null,valueTwo:null,tier:1,loc:{title:"Defender",desc:"Kill an egg from the Coop"}},{id:101,loc_ref:"chlg_kotc_coop_kill_victim_capturing",type:6,subType:20,period:0,goal:1,reward:200,conditional:10,value:"18",valueTwo:null,tier:1,loc:{title:"Offender",desc:"Kill an egg on a Coop"}},{id:102,loc_ref:"chlg_cts_pick_up",type:7,subType:21,period:0,goal:1,reward:200,conditional:null,value:null,valueTwo:null,tier:1,loc:{title:"Fry Cook",desc:"CTS: Pick up the Spatula"}},{id:103,loc_ref:"chlg_cts_capture_timeAlive_thirty",type:7,subType:21,period:0,goal:1,reward:500,conditional:7,value:"30",valueTwo:null,tier:2,loc:{title:"Keepaway",desc:"CTS: Hold the Spatula for 30s"}},{id:104,loc_ref:"chlg_cts_win_ten",type:7,subType:23,period:0,goal:20,reward:1e3,conditional:null,value:null,valueTwo:null,tier:1,loc:{title:"Sunny Side Up!",desc:"CTS: Gain 20+ kills holding the spatula"}},{id:105,loc_ref:"chlg_cts_win_twenty_five",type:7,subType:23,period:0,goal:50,reward:4e3,conditional:null,value:null,valueTwo:null,tier:2,loc:{title:"Flippin 'em",desc:"CTS: Gain 50+ kills holding the spatula"}},{id:106,loc_ref:"chlg_cts_win_fifty",type:7,subType:23,period:0,goal:100,reward:1e4,conditional:null,value:null,valueTwo:null,tier:3,loc:{title:"Makin' Bacon",desc:"CTS: Gain 100+ kills holding the spatula"}},{id:107,loc_ref:"chlg_cts_kills_victim_spatula",type:7,subType:10,period:0,goal:1,reward:200,conditional:null,value:null,valueTwo:null,tier:2,loc:{title:"Kill the Cook",desc:"CTS: Kill the Spatula holder"}},{id:108,loc_ref:"chlg_cts_kills_killstreak_five",type:7,subType:10,period:0,goal:1,reward:500,conditional:0,value:"5",valueTwo:null,tier:3,loc:{title:"Flippin' Dangerous",desc:"CTS: Get a 5 KS with the spatula"}}];var nA=[{filename:"aqueduct",hash:"11dp765kifr",name:"Aqueduct",modes:{FFA:!0,Teams:!0,Spatula:!0,King:!0},availability:"private",numPlayers:"18"},{filename:"backstage",hash:"9dsromfqr1",name:"Backstage",modes:{FFA:!0,Teams:!0,Spatula:!0,King:!0},availability:"both",numPlayers:"14"},{filename:"bastion",hash:"uuwh7401no",name:"Bastion",modes:{FFA:!0,Teams:!0,Spatula:!0,King:!0},availability:"both",numPlayers:"12"},{filename:"bedrock",hash:"yqbkimntiu",name:"Bedrock",modes:{FFA:!0,Teams:!0,Spatula:!0,King:!0},availability:"private",numPlayers:"12"},{filename:"biohazard",hash:"kzarr9ebqx",name:"BioHazard",modes:{FFA:!0,Teams:!0,Spatula:!0,King:!1},availability:"private",numPlayers:"18"},{filename:"blender",hash:"1vvfxp9rt8u",name:"Blender",modes:{FFA:!0,Teams:!0,Spatula:!0,King:!0},availability:"private",numPlayers:"14"},{filename:"blue",hash:"2e7izzo70bk",name:"Blue",modes:{FFA:!0,Teams:!0,Spatula:!0,King:!0},availability:"private",numPlayers:"14"},{filename:"bridge",hash:"20vcy8e1ev0",name:"Bridge",modes:{FFA:!0,Teams:!0,Spatula:!0,King:!1},availability:"private",numPlayers:"6"},{filename:"canyon",hash:"2avqtv9ygk1",name:"Canyon",modes:{FFA:!0,Teams:!0,Spatula:!0,King:!0},availability:"both",numPlayers:"18"},{filename:"cash",hash:"1427gfre8ma",name:"Cash",modes:{FFA:!0,Teams:!0,Spatula:!0,King:!0},availability:"private",numPlayers:"18"},{filename:"castle",hash:"2d2tcz2mw7e",name:"Castle",modes:{FFA:!0,Teams:!0,Spatula:!0,King:!0},availability:"private",numPlayers:"12"},{filename:"castleArena",hash:"9dhs3kms6l",name:"Castle Arena",modes:{FFA:!0,Teams:!0,Spatula:!0,King:!1},availability:"private",numPlayers:"8"},{filename:"catacombs",hash:"2el91jtcun0",name:"Catacombs",modes:{FFA:!0,Teams:!0,Spatula:!0,King:!0},availability:"private",numPlayers:"18"},{filename:"chickenItza",hash:"hyjqbat0i3",name:"Chicken Itza",modes:{FFA:!0,Teams:!0,Spatula:!0,King:!0},availability:"private",numPlayers:"18"},{filename:"cluckgrounds",hash:"1h9z3hj51g5",name:"Cluckgrounds",modes:{FFA:!0,Teams:!0,Spatula:!0,King:!0},availability:"both",numPlayers:"16"},{filename:"crossed",hash:"ead3tcf30r",name:"Crossed",modes:{FFA:!0,Teams:!0,Spatula:!0,King:!0},availability:"private",numPlayers:"12"},{filename:"crowsnest",hash:"1ze2s5zr9bm",name:"Crowsnest",modes:{FFA:!0,Teams:!0,Spatula:!0,King:!0},availability:"private",numPlayers:"8"},{filename:"deathpit",hash:"1cc9cvjf607",name:"Death Pit",modes:{FFA:!0,Teams:!0,Spatula:!0,King:!0},availability:"private",numPlayers:"12"},{filename:"dirt",hash:"1u3k5nfvwuh",name:"Dirt",modes:{FFA:!0,Teams:!0,Spatula:!0,King:!0},availability:"private",numPlayers:"18"},{filename:"dirt2",hash:"494aka3mb4",name:"Dirt 2",modes:{FFA:!0,Teams:!0,Spatula:!0,King:!0},availability:"private",numPlayers:"18"},{filename:"dirtbase",hash:"6e9r2y7dxk",name:"Dirt Base",modes:{FFA:!0,Teams:!0,Spatula:!0,King:!1},availability:"private",numPlayers:"10"},{filename:"downfall",hash:"26g5aj8aruc",name:"Downfall",modes:{FFA:!0,Teams:!0,Spatula:!0,King:!1},availability:"private",numPlayers:"18"},{filename:"duelPyramid",hash:"vmg0rj2e3b",name:"Duel Pyramid",modes:{FFA:!0,Teams:!0,Spatula:!0,King:!1},availability:"private",numPlayers:"6"},{filename:"eggcrates",hash:"j0i36e808n",name:"Eggcrates",modes:{FFA:!0,Teams:!0,Spatula:!0,King:!0},availability:"private",numPlayers:"6"},{filename:"enchanted",hash:"1igxtcyetaw",name:"Enchanted",modes:{FFA:!0,Teams:!0,Spatula:!0,King:!0},availability:"private",numPlayers:"16"},{filename:"exposure",hash:"15hv3cme1fh",name:"Exposure",modes:{FFA:!0,Teams:!0,Spatula:!0,King:!0},availability:"private",numPlayers:"18"},{filename:"facility",hash:"18djbmo35ru",name:"Facility",modes:{FFA:!0,Teams:!0,Spatula:!0,King:!0},availability:"both",numPlayers:"18"},{filename:"feedlot",hash:"iuj8rc7kyh",name:"Feedlot",modes:{FFA:!0,Teams:!0,Spatula:!0,King:!0},availability:"private",numPlayers:"16"},{filename:"field",hash:"e4aszuch87",name:"Field",modes:{FFA:!0,Teams:!0,Spatula:!0,King:!1},availability:"private",numPlayers:"10"},{filename:"fortFlip",hash:"1w1b6dkalc2",name:"Fort Flip",modes:{FFA:!0,Teams:!0,Spatula:!0,King:!0},availability:"private",numPlayers:"18"},{filename:"foundation",hash:"11y636vc64b",name:"Foundation",modes:{FFA:!0,Teams:!0,Spatula:!0,King:!0},availability:"private",numPlayers:"18"},{filename:"fourQuarters",hash:"1a0w7vbz8is",name:"Four Quarters",modes:{FFA:!0,Teams:!0,Spatula:!0,King:!1},availability:"private",numPlayers:"10"},{filename:"greenhouse",hash:"ffvpjhqou6",name:"Greenhouse",modes:{FFA:!0,Teams:!0,Spatula:!0,King:!0},availability:"private",numPlayers:"18"},{filename:"growler",hash:"1izyni7tb1e",name:"Growler",modes:{FFA:!0,Teams:!0,Spatula:!0,King:!0},availability:"both",numPlayers:"12"},{filename:"haunted",hash:"2dma8z1jdev",name:"Haunted",modes:{FFA:!0,Teams:!0,Spatula:!0,King:!0},availability:"private",numPlayers:"16"},{filename:"helix",hash:"i2sl4vsg3h",name:"Helix",modes:{FFA:!0,Teams:!0,Spatula:!0,King:!0},availability:"private",numPlayers:"18"},{filename:"hydro",hash:"8znnxbxfss",name:"Hydro",modes:{FFA:!0,Teams:!0,Spatula:!0,King:!0},availability:"both",numPlayers:"18"},{filename:"indigo",hash:"1vrzzn6ym9q",name:"Indigo",modes:{FFA:!0,Teams:!0,Spatula:!0,King:!0},availability:"both",numPlayers:"18"},{filename:"inmates",hash:"19wzahko4nm",name:"Inmates",modes:{FFA:!0,Teams:!0,Spatula:!0,King:!0},availability:"both",numPlayers:"18"},{filename:"jailbreak",hash:"2a3blmd9hf4",name:"Jail Break",modes:{FFA:!0,Teams:!0,Spatula:!0,King:!0},availability:"both",numPlayers:"14"},{filename:"jinx",hash:"24u6pohagnj",name:"Jinx",modes:{FFA:!0,Teams:!0,Spatula:!0,King:!0},availability:"private",numPlayers:"18"},{filename:"junction",hash:"bkca8j2ppd",name:"Junction",modes:{FFA:!0,Teams:!0,Spatula:!0,King:!0},availability:"private",numPlayers:"18"},{filename:"kingsCourt",hash:"aq1t2lsjza",name:"King's Court",modes:{FFA:!0,Teams:!0,Spatula:!0,King:!0},availability:"private",numPlayers:"18"},{filename:"lunarmodule",hash:"1448aqjdqvl",name:"Lunar Module",modes:{FFA:!0,Teams:!0,Spatula:!0,King:!0},availability:"private",numPlayers:"18"},{filename:"mansion",hash:"nqhtvwj3fo",name:"Mansion",modes:{FFA:!0,Teams:!0,Spatula:!0,King:!0},availability:"private",numPlayers:"18"},{filename:"mazerunner",hash:"j16i30k9dz",name:"Maze Runner",modes:{FFA:!0,Teams:!0,Spatula:!0,King:!0},availability:"private",numPlayers:"18"},{filename:"metamorph",hash:"l9o69l8e1b",name:"Metamorph",modes:{FFA:!0,Teams:!0,Spatula:!0,King:!1},availability:"private",numPlayers:"14"},{filename:"moonbase",hash:"1yzocf1mex3",name:"Moonbase",modes:{FFA:!0,Teams:!0,Spatula:!0,King:!0},availability:"both",numPlayers:"18"},{filename:"mudGulch",hash:"kto278skze",name:"Mud Gulch",modes:{FFA:!0,Teams:!0,Spatula:!0,King:!0},availability:"private",numPlayers:"14"},{filename:"nextdoor",hash:"s2i5za1kx9",name:"Nextdoor",modes:{FFA:!0,Teams:!0,Spatula:!0,King:!0},availability:"both",numPlayers:"18"},{filename:"outer",hash:"w1biqokp89",name:"Outer Reach",modes:{FFA:!0,Teams:!0,Spatula:!0,King:!0},availability:"private",numPlayers:"18"},{filename:"overcooked",hash:"29ca98hgdeh",name:"Overcooked",modes:{FFA:!0,Teams:!0,Spatula:!0,King:!0},availability:"private",numPlayers:"12"},{filename:"palaceSiege",hash:"1enghs5hsxe",name:"Palace Siege",modes:{FFA:!0,Teams:!0,Spatula:!0,King:!0},availability:"private",numPlayers:"14"},{filename:"quarry",hash:"2crjk106pa",name:"Quarry",modes:{FFA:!0,Teams:!0,Spatula:!0,King:!0},availability:"private",numPlayers:"14"},{filename:"queenscourt",hash:"raudy4h9pv",name:"Queen's Court",modes:{FFA:!0,Teams:!0,Spatula:!0,King:!0},availability:"private",numPlayers:"18"},{filename:"raceway",hash:"1a3eo6xaoju",name:"Raceway",modes:{FFA:!0,Teams:!0,Spatula:!0,King:!0},availability:"private",numPlayers:"18"},{filename:"rameses",hash:"177jt4j8so9",name:"Rameses",modes:{FFA:!0,Teams:!0,Spatula:!0,King:!0},availability:"private",numPlayers:"16"},{filename:"rats",hash:"13r2oqql8se",name:"Rats",modes:{FFA:!0,Teams:!0,Spatula:!0,King:!0},availability:"private",numPlayers:"18"},{filename:"relic",hash:"lxzknz53a2",name:"Relic",modes:{FFA:!0,Teams:!0,Spatula:!0,King:!0},availability:"both",numPlayers:"18"},{filename:"rivals",hash:"26fkvcef2h6",name:"Rivals",modes:{FFA:!0,Teams:!0,Spatula:!0,King:!1},availability:"private",numPlayers:"6"},{filename:"road",hash:"2h312vlocd",name:"Road",modes:{FFA:!0,Teams:!0,Spatula:!0,King:!0},availability:"private",numPlayers:"14"},{filename:"ruins",hash:"3ycs8z9bcu",name:"Ruins",modes:{FFA:!0,Teams:!0,Spatula:!0,King:!0},availability:"private",numPlayers:"18"},{filename:"scales",hash:"101v5lpkv1s",name:"Scales",modes:{FFA:!0,Teams:!0,Spatula:!0,King:!0},availability:"both",numPlayers:"18"},{filename:"shadyglen",hash:"2d0d4bj7aq3",name:"Shady Glen",modes:{FFA:!0,Teams:!0,Spatula:!0,King:!0},availability:"both",numPlayers:"12"},{filename:"shellville",hash:"fdgmkbfe7n",name:"Shellville",modes:{FFA:!0,Teams:!0,Spatula:!0,King:!0},availability:"private",numPlayers:"16"},{filename:"shipyard",hash:"1n1sptszksq",name:"Shipyard",modes:{FFA:!0,Teams:!0,Spatula:!0,King:!0},availability:"private",numPlayers:"18"},{filename:"skyScratcher",hash:"1th1c8epp95",name:"Sky Scratcher",modes:{FFA:!0,Teams:!0,Spatula:!0,King:!0},availability:"both",numPlayers:"18"},{filename:"spaceFactory",hash:"10802a2az0f",name:"Space Factory",modes:{FFA:!0,Teams:!0,Spatula:!0,King:!0},availability:"private",numPlayers:"10"},{filename:"spacearena",hash:"k9zf5lqzze",name:"Space Arena",modes:{FFA:!0,Teams:!0,Spatula:!0,King:!1},availability:"private",numPlayers:"14"},{filename:"sparta",hash:"274wwdyll9w",name:"Sparta",modes:{FFA:!0,Teams:!0,Spatula:!0,King:!0},availability:"private",numPlayers:"18"},{filename:"spellbound",hash:"1curtd0i4ls",name:"Spellbound",modes:{FFA:!0,Teams:!0,Spatula:!0,King:!0},availability:"private",numPlayers:"12"},{filename:"stage",hash:"1zn44r9jb3t",name:"Stage",modes:{FFA:!0,Teams:!0,Spatula:!0,King:!0},availability:"private",numPlayers:"18"},{filename:"starship",hash:"27xerc3smw5",name:"Starship",modes:{FFA:!0,Teams:!0,Spatula:!0,King:!0},availability:"private",numPlayers:"18"},{filename:"staxarena",hash:"1jid8ffda0z",name:"Stax Arena",modes:{FFA:!0,Teams:!0,Spatula:!0,King:!1},availability:"private",numPlayers:"6"},{filename:"teggtris",hash:"1y4rswkkv3l",name:"Teggtris",modes:{FFA:!0,Teams:!0,Spatula:!0,King:!0},availability:"both",numPlayers:"18"},{filename:"temple",hash:"bp6twwct9v",name:"Temple",modes:{FFA:!0,Teams:!0,Spatula:!0,King:!1},availability:"private",numPlayers:"18"},{filename:"timetwist",hash:"1ad75xyk2rv",name:"Timetwist",modes:{FFA:!0,Teams:!0,Spatula:!0,King:!0},availability:"private",numPlayers:"18"},{filename:"trainyard",hash:"2e1w70fjqet",name:"Trainyard",modes:{FFA:!0,Teams:!0,Spatula:!0,King:!0},availability:"private",numPlayers:"18"},{filename:"treefort",hash:"14a9akanqms",name:"Tree Fort",modes:{FFA:!0,Teams:!0,Spatula:!0,King:!1},availability:"private",numPlayers:"6"},{filename:"twoTowers",hash:"2asidv5c0ff",name:"Two Towers",modes:{FFA:!0,Teams:!0,Spatula:!0,King:!0},availability:"private",numPlayers:"18"},{filename:"uncovered",hash:"bxrd0zdvtn",name:"Uncovered",modes:{FFA:!0,Teams:!0,Spatula:!0,King:!1},availability:"private",numPlayers:"12"},{filename:"vert",hash:"25a9ikled77",name:"Vert",modes:{FFA:!0,Teams:!0,Spatula:!0,King:!0},availability:"private",numPlayers:"12"},{filename:"wimble",hash:"13smnxheae1",name:"Wimble",modes:{FFA:!0,Teams:!0,Spatula:!0,King:!0},availability:"private",numPlayers:"18"},{filename:"wonderland",hash:"5n6ixyepvy",name:"Wonderland",modes:{FFA:!0,Teams:!0,Spatula:!0,King:!0},availability:"private",numPlayers:"18"},{filename:"wreckage",hash:"nkiu4z6uj1",name:"Wreckage",modes:{FFA:!0,Teams:!0,Spatula:!0,King:!0},availability:"private",numPlayers:"18"},{filename:"yolkido",hash:"pttsmqw7xj",name:"Yolkido Garrison",modes:{FFA:!0,Teams:!0,Spatula:!0,King:!0},availability:"private",numPlayers:"18"},{filename:"zoomies",hash:"3vitx32ce8",name:"Zoomies",modes:{FFA:!0,Teams:!0,Spatula:!0,King:!0},availability:"private",numPlayers:"18"}];var FA=[{id:"germany",sub:"egs-static-live-germany-287o43bv"},{id:"santiago",sub:"egs-static-live-santiago-1s5w3cdc"},{id:"singapore",sub:"egs-static-live-singapore-5r545eei"},{id:"sydney",sub:"egs-static-live-sydney-302pa99o"},{id:"uscentral",sub:"egs-static-live-uscentral-451sa2ap"},{id:"useast",sub:"egs-static-live-useast-191w3fe4"},{id:"uswest",sub:"egs-static-live-uswest-192r5xds"}];var Ee=Object.fromEntries(Object.entries(u).map(([I,A])=>[A,I])),le=Object.fromEntries(Object.entries(yA).map(([I,A])=>[I[0].toLowerCase()+I.slice(1),A])),he={CHALLENGES:1,BOT_STATS:2,PATHFINDING:3,PING:5,COSMETIC_DATA:6,PLAYER_HEALTH:7,PACKET_HOOK:8,LOG_PACKETS:10,NO_LOGIN:11,DEBUG_BUFFER:12,DEBUG_BEST_TARGET:14,NO_AFK_KICK:16,LOAD_MAP:17,OBSERVE_GAME:18,NO_REGION_CHECK:19,NO_EXIT_ON_ERROR:20,RENEW_SESSION:21},SA=(I,A)=>(I%A+A)%A,RA=class{static Intents=he;Intents=he;#A=[];#e={};#g=[];#t;#a;constructor(A={}){A.proxy&&!L&&this.processError("proxies do not work and hence are not supported in the browser"),this.intents=A.intents||[],this.intents.includes(this.Intents.COSMETIC_DATA)&&(E(1001)||this.processError("you cannot use the COSMETIC_DATA intent inside of the singlefile browser bundles")),this.instance=A.instance||"shellshock.io",this.protocol=A.protocol||"wss",this.proxy=A.proxy||"",this.httpProxy=A.httpProxy||"",this.state={name:"yolkbot",weaponIdx:0,inGame:!1,chatLines:0,yaw:0,pitch:0,controlKeys:0,reloading:!1,swappingGun:!1,usingMelee:!1,stateIdx:0,serverStateIdx:0,shotsFired:0,buffer:[],left:!1},this.players={},this.me=new aA({}),this.game={raw:{},code:"",socket:null,gameModeId:0,gameMode:Ee[0],mapIdx:0,map:{filename:"",hash:"",name:"",modes:{FFA:!1,Teams:!1,Spatula:!1,King:!1},availability:"both",numPlayers:"18",raw:{},nodes:{},zones:[]},playerLimit:0,isGameOwner:!1,isPrivate:!0,options:{gravity:1,damage:1,healthRegen:1,locked:!1,noTeamChange:!1,noTeamShuffle:!1,weaponsDisabled:Array(7).fill(!1),mustUseSecondary:!1},collectables:[[],[]],teamScore:[0,0,0],spatula:{coords:{x:0,y:0,z:0},controlledBy:0,controlledByTeam:0},stage:W.Capturing,zoneNumber:0,activeZone:[],capturing:0,captureProgress:0,numCapturing:0,capturePercent:0},this.#a=this.game,this.account={id:0,firebase:{idToken:"",refreshToken:"",expiresIn:"3600",localId:""},firebaseId:"",sessionId:"",session:"",email:"",password:"",cw:{atLimit:!1,limit:0,secondsUntilPlay:0,canPlayAgain:Date.now()},loadout:{hatId:null,meleeId:0,stampId:null,classIdx:0,colorIdx:0,grenadeId:0,primaryId:[3100,3600,3400,3800,4e3,4200,4500],secondaryId:new Array(7).fill(3e3),stampPositionX:0,stampPositionY:0},ownedItemIds:[],vip:!1,emailVerified:!1,isAged:!1,eggBalance:0,adminRoles:0,rawLoginData:{},isDoubleEggWeeknd:()=>{let e=new Date().getUTCDay(),t=new Date().getUTCHours();return e>=5&&t>=20||e===6||e===0}},this.#t=this.account,this.matchmaker=null,this.api=new eA({instance:this.instance,protocol:this.protocol,proxy:this.proxy,httpProxy:this.httpProxy,maxRetries:A?.apiMaxRetries}),this.ping=0,this.lastPingTime=-1,this.lastDeathTime=-1,this.lastUpdateTick=0,this.pathing={nodeList:null,followingPath:!1,activePath:null,activeNode:null,activeNodeIdx:0},this.hasQuit=!1,this.intents.includes(this.Intents.NO_AFK_KICK)&&(this.afkKickInterval=0),this.intents.includes(this.Intents.RENEW_SESSION)&&(this.renewSessionInterval=0)}dispatch(A){return A.validate(this)?(A.check(this)?A.execute(this):this.#A.push(A),!0):!1}async createAccount(A,e){this.account=this.#t,this.account.email=A,this.account.password=e;let t=await this.api.createAccount(A,e);return this.processLoginData(t)}async login(A,e){this.account=this.#t,this.account.email=A,this.account.password=e;let t=await this.api.loginWithCredentials(A,e);return this.processLoginData(t)}async loginWithRefreshToken(A){this.account=this.#t;let e=await this.api.loginWithRefreshToken(A);return this.processLoginData(e)}async loginAnonymously(){this.account=this.#t;let A=await this.api.loginAnonymously();return this.processLoginData(A)}processLoginData(A){return typeof A!="object"?(this.emit("authFail",A),A):A.banRemaining?(this.emit("banned",A.banRemaining),"account_banned"):A.playerOutput?(this.account.firebase=A.firebase||{},A=A.playerOutput,this.account.rawLoginData=A,this.account.adminRoles=A.adminRoles||0,this.account.eggBalance=A.currentBalance,this.account.emailVerified=A.emailVerified,this.account.firebaseId=A.firebaseId,this.account.id=A.id,this.account.isAged=new Date(A.dateCreated).getTime()<17145468e5,this.account.loadout=A.loadout,this.account.ownedItemIds=A.ownedItemIds,this.account.session=A.session,this.account.sessionId=A.sessionId,this.account.vip=A.active_sub==="IsVIP",this.intents.includes(this.Intents.BOT_STATS)&&(this.account.stats={lifetime:A.statsLifetime,monthly:A.statsCurrent}),this.intents.includes(this.Intents.CHALLENGES)&&this.#i(A.challenges),this.emit("authSuccess",this.account),this.intents.includes(this.Intents.RENEW_SESSION)&&(this.renewSessionInterval=setInterval(async()=>{if(!this.account?.sessionId)return clearInterval(this.renewSessionInterval);(await this.api.queryServices({cmd:"renewSession",sessionId:this.account.sessionId})).data!=="renewed"&&this.emit("sessionExpired")},6e5)),this.account):(this.emit("authFail",A),A)}#i(A){this.account.challenges=[];for(let e of A){let t=Ce.find(a=>a.id===e.challengeId);t&&(delete e.playerId,this.account.challenges.push({raw:{challengeInfo:t,challengeData:e},id:e.challengeId,name:t.loc.title,desc:t.loc.desc,rewardEggs:t.reward,isRerolled:!!e.reset,isClaimed:!!e.claimed,isCompleted:!!e.completed,progressNum:e.progress,goalNum:t.goal}))}}async initMatchmaker(){if(!this.account.sessionId&&!this.intents.includes(this.Intents.NO_LOGIN)){let A=await this.loginAnonymously();if(typeof A!="object")return A}if(!this.matchmaker){if(this.matchmaker=new Be({sessionId:this.account.sessionId,proxy:this.proxy,instance:this.instance,protocol:this.protocol,noLogin:this.intents.includes(this.Intents.NO_LOGIN),api:this.api}),!await this.matchmaker.ws.tryConnect())return"matchmaker_tryconnect_failed";this.matchmaker.on("authFail",e=>this.emit("authFail",e)),this.matchmaker.on("error",e=>this.processError(e))}return!0}async findPublicGame(A,e){return typeof A!="string"?"no_region_passed":!FA.find(a=>a.id===A)&&!this.intents.includes(this.Intents.NO_REGION_CHECK)?"invalid_region_passed":typeof e!="number"?"no_mode_passed":Object.values(u).indexOf(e)===-1?"invalid_mode_passed":await this.initMatchmaker()?await new Promise(a=>{let s=i=>{if(i.command!=="notice"){if(this.matchmaker.off("msg",s),i.command==="gameFound")return a(i);if(i.error==="sessionNotFound")return a("internal_session_error");this.processError("unknown matchmaker response "+JSON.stringify(i))}};this.matchmaker.on("msg",s),this.matchmaker.send({command:"findGame",region:A,playType:$.JoinPublic,gameType:e,sessionId:this.account.sessionId})}):"matchmaker_init_fail"}async createPrivateGame(A,e,t){if(typeof A!="string")return"no_region_passed";if(!FA.find(i=>i.id===A)&&!this.intents.includes(this.Intents.NO_REGION_CHECK))return"invalid_region_passed";if(typeof e!="number")return"no_mode_passed";if(Object.values(u).indexOf(e)===-1)return"invalid_mode_passed";if(typeof t!="string")return"no_map_passed";let a=nA.findIndex(i=>i.name.toLowerCase()===t.toLowerCase());return a===-1?"invalid_map_passed":await this.initMatchmaker()?await new Promise(i=>{let o=n=>{if(n.command!=="notice"){if(this.matchmaker.off("msg",o),n.command==="gameFound")return i(n);if(n.error==="sessionNotFound")return i("internal_session_error");this.processError("unknown matchmaker response "+JSON.stringify(n))}};this.matchmaker.on("msg",o),this.matchmaker.send({command:"findGame",region:A,playType:$.CreatePrivate,gameType:e,sessionId:this.account.sessionId,noobLobby:!1,map:a})}):"matchmaker_init_fail"}async join(A,e){if(this.state.name=A||"yolkbot",typeof e=="string"){if(e.includes("#")&&(e=e.split("#")[1]),!await this.initMatchmaker())return"matchmakerInitFail";let s=await new Promise(i=>{let o=n=>{if(n.command==="gameFound"&&(this.matchmaker.off("msg",o),this.game.raw=n,this.game.code=n.id,i(n.id)),n.error&&n.error==="gameNotFound")return this.processError(`game "${e}" not found, it may have expired.`),this.leave(),"gameNotFound"};this.matchmaker.on("msg",o),this.matchmaker.send({command:"joinGame",id:e,observe:!1,sessionId:this.account.sessionId})});if(s==="matchmakerInitFail")return this.processError("failed to create matchmaker, you may be ratelimited (try a vpn?)");if(s==="gameNotFound")return this.processError("game not found, it may have expired or been deleted");if(!this.game.raw.id)return this.processError("an internal error occured while joining the game, please report this to developers")}if(typeof e=="object"){if(this.account.id===0&&await this.loginAnonymously(),this.game.raw=e,this.game.code=this.game.raw.id,!this.game.raw.id)return this.processError("invalid game object passed to join (missing id)");if(!this.game.raw.subdomain)return this.processError("invalid game object passed to join (missing subdomain)");if(!this.game.raw.uuid)return this.processError("invalid game object passed to join (missing uuid)")}let t=this.game.raw.host||(this.instance.startsWith("localhost:")?this.instance:`${this.game.raw.subdomain}.${this.instance}`);if(this.game.socket=new Y(`${this.protocol}://${t}/game/${this.game.raw.id}`,this.proxy),this.game.socket.binaryType="arraybuffer",!await this.game.socket.tryConnect())return this.processError("WebSocket did not connect...");this.game.socket.onmessage=s=>this.processPacket(s.data),this.game.socket.onclose=s=>{this.state.left?this.state.left=!1:(this.emit("close",s.code),this.leave(-1))}}#s(){if(Object.entries(this.me.position).map(e=>Math.floor(e[1])).join(",")===this.pathing.activePath[this.pathing.activePath.length-1].positionStr)this.pathing.followingPath=!1,this.pathing.activePath=null,this.pathing.activeNode=null,this.pathing.activeNodeIdx=0,this.dispatch(new j(0));else{let e;this.pathing.activeNodeIdx<this.pathing.activePath.length-1?(e=this.pathing.activePath[this.pathing.activeNodeIdx+1].flatCenter(),this.dispatch(new Z(e))):(e=this.pathing.activePath[this.pathing.activeNodeIdx].flatCenter(),this.dispatch(new Z(e)));for(let t of this.pathing.activePath)if(t.flatRadialDistance(this.me.position)<.1&&t.position.y===Math.floor(this.me.position.y)&&this.pathing.activePath.indexOf(t)>=this.pathing.activeNodeIdx){this.pathing.activeNodeIdx=this.pathing.activePath.indexOf(t)+1,this.pathing.activeNode=this.pathing.activePath[this.pathing.activeNodeIdx];break}this.state.controlKeys&m.Forward||this.dispatch(new j(m.Forward))}}update(){if(this.hasQuit)return;this.pathing.followingPath&&this.intents.includes(this.Intents.PATHFINDING)&&this.#s();for(let e=0;e<this.#A.length;e++){let t=this.#A[e];t.check(this)&&(t.execute(this),this.#A.splice(e,1))}if(this.state.chatLines=Math.max(0,this.state.chatLines-1/(30*4)),this.me.playing){let e=this.state.stateIdx;if(this.intents.includes(this.Intents.DEBUG_BUFFER)&&(console.log("setting buffer for idx",e),console.log("checking...shotsFired",this.state.shotsFired)),this.me.jumping=!!(this.state.controlKeys&m.Jump),this.state.buffer[e]={controlKeys:this.state.controlKeys,yaw:this.state.yaw,pitch:this.state.pitch,shotsFired:this.state.shotsFired},this.state.shotsFired=0,this.lastUpdateTick>=2){this.emit("tick");let t=new C;t.packInt8(B.syncMe),t.packInt8(this.state.stateIdx),t.packInt8(this.state.serverStateIdx);let a=SA(this.state.stateIdx-x+1,b);for(let s=0;s<x;s++){let i=SA(a+s,b),o=this.state.buffer[i]||{},n=o.controlKeys||0,Q=o.shotsFired||0,c=o.yaw??this.state.yaw,r=o.pitch??this.state.pitch;this.intents.includes(this.Intents.DEBUG_BUFFER)&&console.log("going with",this.state.stateIdx,a,i,o),t.packInt8(n),t.packInt8(Q),t.packString(ne(c,r)),t.packInt8(100)}t.send(this.game.socket),this.state.buffer=[],this.lastUpdateTick=0}else this.lastUpdateTick++;this.state.stateIdx=SA(this.state.stateIdx+1,b)}if(!this.intents.includes(this.Intents.PLAYER_HEALTH))return;let A=.1*(this.game.isPrivate?this.game.options.healthRegen:1);for(let e of Object.values(this.players)){if(e.playing&&e.hp>0){let t=e.streakRewards.includes(h.OverHeal);e.hp+=t?-A:A,e.hp=t?Math.max(100,e.hp):Math.min(100,e.hp)}e.spawnShield>0&&(e.spawnShield-=6)}}on(A,e){Object.keys(this.#e).includes(A)?this.#e[A].push(e):this.#e[A]=[e]}once(A,e){let t=(...a)=>{e(...a),this.off(A,t)};this.on(A,t)}onAny(A){this.#g.push(A)}off(A,e){e?this.#e[A]=this.#e[A].filter(t=>t!==e):this.#e[A]=[]}emit(A,...e){if(!this.hasQuit){if(this.#e[A])for(let t of this.#e[A])t(...e);for(let t of this.#g)t(A,...e)}}#I(){let A=g.unPackInt8U(),e=g.unPackInt8U(),t=g.unPackString().valueOf(),a=this.players[A];this.emit("chat",a,t,e)}#o(){let A=g.unPackInt8U(),e=this.intents.includes(this.Intents.COSMETIC_DATA),t={id:A,uniqueId:g.unPackString(),name:g.unPackString(),safeName:g.unPackString(),charClass:g.unPackInt8U(),team:g.unPackInt8U(),primaryWeaponItem:e?E(g.unPackInt16U()):g.unPackInt16U(),secondaryWeaponItem:e?E(g.unPackInt16U()):g.unPackInt16U(),shellColor:g.unPackInt8U(),hatItem:e?E(g.unPackInt16U()):g.unPackInt16U(),stampItem:e?E(g.unPackInt16U()):g.unPackInt16U(),stampPosX:g.unPackInt8(),stampPosY:g.unPackInt8(),grenadeItem:e?E(g.unPackInt16U()):g.unPackInt16U(),meleeItem:e?E(g.unPackInt16U()):g.unPackInt16U(),x:g.unPackFloat(),y:g.unPackFloat(),z:g.unPackFloat(),$dx:g.unPackFloat(),$dy:g.unPackFloat(),$dz:g.unPackFloat(),yaw:g.unPackRadU(),pitch:g.unPackRad(),score:g.unPackInt32U(),$kills:g.unPackInt16U(),$deaths:g.unPackInt16U(),$streak:g.unPackInt16U(),totalKills:g.unPackInt32U(),totalDeaths:g.unPackInt32U(),bestStreak:g.unPackInt16U(),$bestOverallStreak:g.unPackInt16U(),shield:g.unPackInt8U(),hp:g.unPackInt8U(),playing:g.unPackInt8U(),weaponIdx:g.unPackInt8U(),$controlKeys:g.unPackInt8U(),upgradeProductId:g.unPackInt8U(),activeShellStreaks:g.unPackInt8U(),social:g.unPackLongString(),hideBadge:g.unPackInt8U()};this.game.mapIdx=g.unPackInt8U(),this.game.isPrivate=g.unPackInt8U()===1,this.game.gameModeId=g.unPackInt8U();let a=new aA(t,this.game.gameMode===u.KOTC?this.game.activeZone:null);this.players[t.id]||(this.players[t.id]=a),this.emit("playerJoin",a),this.me.id===t.id&&(this.me=a,this.emit("botJoin",this.me))}#n(){let A=g.unPackInt8U(),e=g.unPackInt16U(),t=g.unPackFloat(),a=g.unPackFloat(),s=g.unPackFloat(),i=g.unPackInt8U(),o=g.unPackInt8U(),n=g.unPackInt8U(),Q=g.unPackInt8U(),c=g.unPackInt8U(),r=this.players[A];r&&(r.playing=!0,r.randomSeed=e,r.weapons[0]&&r.weapons[0].ammo&&(r.weapons[0].ammo.rounds=i),r.weapons[0]&&r.weapons[0].ammo&&(r.weapons[0].ammo.store=o),r.weapons[1]&&r.weapons[1].ammo&&(r.weapons[1].ammo.rounds=n),r.weapons[1]&&r.weapons[1].ammo&&(r.weapons[1].ammo.store=Q),r.grenades=c,r.position={x:t,y:a,z:s},r.spawnShield=120,this.emit("playerRespawn",r))}#B(){let A=g.unPackInt8U(),e=g.unPackFloat(),t=g.unPackFloat(),a=g.unPackFloat(),s=g.unPackInt8U(),i=this.players[A];if(!i||i.id===this.me.id){for(let S=0;S<x;S++)g.unPackInt8U(),g.unPackRadU(),g.unPackRad(),g.unPackInt8U();return}for(let S=0;S<x;S++){let O=g.unPackInt8U();O&m.Jump?i.jumping=!0:i.jumping=!1,O&m.Scope?i.scoping=!0:i.scoping=!1;let H={...i.view};i.view.yaw=g.unPackRadU(),i.view.pitch=g.unPackRad(),(i.view.yaw!==H.yaw||i.view.pitch!==H.pitch)&&this.emit("playerRotate",i,H,i.view),i.scale=g.unPackInt8U()}let o=i.position,n=o.x!==e||o.y!==t||o.z!==a,Q=i.climbing!==s,c=n||Q,r=c?{...o}:null;if(o.x!==e&&(o.x=e),o.z!==a&&(o.z=a),(!i.jumping||Math.abs(o.y-t)>.5)&&(o.y=t),Q&&(i.climbing=s),!c||(this.emit("playerMove",i,r,o),this.game.gameModeId!==u.KOTC))return;let l=this.game.activeZone,k=!!i.inKotcZone;if(!l&&k){i.inKotcZone=!1,this.emit("playerLeaveZone",i);return}i.updateKotcZone(l);let N=!!i.inKotcZone;k!==N&&(i.inKotcZone=N,this.emit(N?"playerEnterZone":"playerLeaveZone",i))}#Q(){let A=g.unPackInt8U(),e=this.players[A];e&&(e.playing=!1,e.streakRewards&&(e.streakRewards=[]),this.emit("playerPause",e),e.inKotcZone&&(e.inKotcZone=!1,this.emit("playerLeaveZone",e)))}#r(){let A=g.unPackInt8U(),e=g.unPackInt8U(),t=this.players[A];t&&(t.activeGun=e,this.emit("playerSwapWeapon",t,e))}#c(){let A=g.unPackInt8U(),e=g.unPackInt8U();g.unPackInt8U(),g.unPackInt8U(),g.unPackInt8U();let t=this.players[A],a=this.players[e];t&&(t.id===this.me.id&&(this.lastDeathTime=Date.now()),t.playing=!1,t.streak=0,t.hp=100,t.spawnShield=0,t.stats.totalDeaths++,t.inKotcZone=!1,this.emit("playerLeaveZone",t)),a&&(a.streak++,a.stats.totalKills++,a.streak>a.stats.bestStreak&&(a.stats.bestStreak=a.streak)),this.emit("playerDeath",t,a)}#C(){let A=g.unPackInt8U(),e={posX:g.unPackFloat(),posY:g.unPackFloat(),posZ:g.unPackFloat(),dirX:g.unPackFloat(),dirY:g.unPackFloat(),dirZ:g.unPackFloat()},t=this.players[A];if(!t)return;let a=t.weapons[t.activeGun];a&&a.ammo&&(a.ammo.rounds--,this.emit("playerFire",t,a,e))}#E(){let A=g.unPackInt16U(),e=g.unPackInt8U(),t=g.unPackFloat(),a=g.unPackFloat(),s=g.unPackFloat();this.game.collectables[e].push({id:A,x:t,y:a,z:s}),this.emit("spawnItem",e,{x:t,y:a,z:s})}#l(){let A=g.unPackInt8U(),e=g.unPackInt8U(),t=g.unPackInt8U(),a=g.unPackInt16U(),s=this.players[A];if(s){if(this.game.collectables[e]=this.game.collectables[e].filter(i=>i.id!==a),e===X.Ammo){let i=s.weapons[t];i&&i.ammo&&(i.ammo.store=Math.min(i.ammo.storeMax,i.ammo.store+i.ammo.pickup),this.emit("collectAmmo",s,i))}e===X.Grenade&&(s.grenades++,s.grenades>3&&(s.grenades=3),this.emit("collectGrenade",s))}}#h(){let A=g.unPackInt8U(),e=g.unPackInt8U(),t=this.players[A];if(!t)return;let a=t.hp;t.hp=e,this.emit("playerDamage",t,a,t.hp)}#d(){let A=g.unPackInt8U();g.unPackFloat(),g.unPackFloat();let e=this.me.hp;this.me.hp=A,this.emit("playerDamage",this.me,e,this.me.hp)}#u(){let A=g.unPackInt8U(),e=this.players[A];g.unPackInt8U();let t=g.unPackInt8U(),a=g.unPackFloat(),s=g.unPackFloat(),i=g.unPackFloat();if(this.me.climbing=!!g.unPackInt8U(),g.unPackInt8U(),g.unPackInt8U(),!e)return;this.state.serverStateIdx=t;let o=e.position.x,n=e.position.y,Q=e.position.z;e.position.x=a,e.position.y=s,e.position.z=i,(o!==a||n!==s||Q!==i)&&this.emit("playerMove",e,{x:o,y:n,z:Q},{x:a,y:s,z:i})}#p(){let A=new C;A.packInt8(B.eventModifier),A.send(this.game.socket)}#m(){let A=g.unPackInt8U(),e={...this.players[A]};delete this.players[A.toString()],this.emit("playerLeave",e)}#y(){if(this.game.gameModeId===u.Spatula){let A={...this.game};this.game.teamScore[1]=g.unPackInt16U(),this.game.teamScore[2]=g.unPackInt16U();let e={x:g.unPackFloat(),y:g.unPackFloat(),z:g.unPackFloat()},t=g.unPackInt8U(),a=g.unPackInt8U();this.game.spatula={coords:e,controlledBy:t,controlledByTeam:a},this.emit("gameStateChange",A,this.game)}else if(this.game.gameModeId===u.KOTC){let A={...this.game};this.game.stage=g.unPackInt8U(),this.game.zoneNumber=g.unPackInt8U(),this.game.capturing=g.unPackInt8U(),this.game.captureProgress=g.unPackInt16U(),this.game.numCapturing=g.unPackInt8U(),this.game.teamScore[1]=g.unPackInt8U(),this.game.teamScore[2]=g.unPackInt8U(),this.game.capturePercent=this.game.captureProgress/1e3,this.game.activeZone=this.game.map.zones?this.game.map.zones[this.game.zoneNumber-1]:null;let e=Object.values(this.players).filter(t=>t.inKotcZone&&t.playing);this.game.activeZone&&Object.values(this.players).forEach(t=>t.updateKotcZone(this.game.activeZone)),this.game.numCapturing<=0&&Object.values(this.players).forEach(t=>{t.inKotcZone=!1,this.emit("playerLeaveZone",t)}),this.emit("gameStateChange",A,this.game,e)}else this.game.gameModeId===u.Team&&(this.game.teamScore[1]=g.unPackInt16U(),this.game.teamScore[2]=g.unPackInt16U());this.game.gameModeId!==u.Spatula&&delete this.game.spatula,this.game.gameModeId!==u.KOTC&&(delete this.game.stage,delete this.game.zoneNumber,delete this.game.capturing,delete this.game.captureProgress,delete this.game.numCapturing,delete this.game.numCapturing,delete this.game.activeZone),this.game.gameModeId===u.FFA&&delete this.game.teamScore}#w(){let A=g.unPackInt8U(),e=g.unPackInt8U(),t=this.players[A];if(t){switch(e){case h.HardBoiled:A===this.me.id&&(this.me.shieldHp=100),t.streakRewards.push(h.HardBoiled);break;case h.EggBreaker:t.streakRewards.push(h.EggBreaker);break;case h.Restock:{t.grenades=3,t.weapons[0]&&t.weapons[0].ammo&&(t.weapons[0].ammo.rounds=t.weapons[0].ammo.capacity,t.weapons[0].ammo.store=t.weapons[0].ammo.storeMax),t.weapons[1]&&t.weapons[1].ammo&&(t.weapons[1].ammo.rounds=t.weapons[1].ammo.capacity,t.weapons[1].ammo.store=t.weapons[1].ammo.storeMax);break}case h.OverHeal:t.hp=Math.min(200,t.hp+100),t.streakRewards.push(h.OverHeal);break;case h.DoubleEggs:t.streakRewards.push(h.DoubleEggs);break;case h.MiniEgg:t.scale=.5,t.streakRewards.push(h.MiniEgg);break}this.emit("playerBeginStreak",t,e)}}#k(){let A=g.unPackInt8U(),e=g.unPackInt8U(),t=this.players[A];if(!t)return;[h.EggBreaker,h.OverHeal,h.DoubleEggs,h.MiniEgg].includes(e)&&t.streakRewards.includes(e)&&(t.streakRewards=t.streakRewards.filter(s=>s!==e)),e===h.MiniEgg&&(t.scale=1),this.emit("playerEndStreak",t,e)}#D(){let A=g.unPackInt8U(),e=g.unPackInt8U(),t=g.unPackFloat(),a=g.unPackFloat();this.me&&(this.me.shieldHp=A,this.me.hp=e,this.me.shieldHp<=0?(this.me.streakRewards=this.me.streakRewards.filter(s=>s!==h.HardBoiled),this.emit("selfShieldLost",this.me.hp,{dx:t,dz:a})):this.emit("selfShieldHit",this.me.shieldHp,this.me.hp,{dx:t,dz:a}))}#f(){let A={...this.game.options},e=g.unPackInt8U(),t=g.unPackInt8U(),a=g.unPackInt8U();(e<1||e>4)&&(e=4),(t<0||t>8)&&(t=4),a>16&&(a=4),this.game.options.gravity=e/4,this.game.options.damage=t/4,this.game.options.healthRegen=a/4;let s=g.unPackInt8U();Object.keys(le).forEach(i=>{let o=s&le[i]?1:0;this.game.options[i]=o}),this.game.options.weaponsDisabled=Array.from({length:7},()=>g.unPackInt8U()===1),this.game.options.mustUseSecondary=this.game.options.weaponsDisabled.every(i=>i),this.emit("gameOptionsChange",A,this.game.options)}#N(){let A=g.unPackInt8U();A===V.Pause&&(this.emit("gameForcePause"),setTimeout(()=>this.me.playing=!1,3e3)),A===V.Reset&&(Object.values(this.players).forEach(e=>e.streak=0),this.game.gameModeId!==u.FFA&&(this.game.teamScore=[0,0,0]),this.game.gameModeId===u.Spatula&&(this.game.spatula.controlledBy=0,this.game.spatula.controlledByTeam=0,this.game.spatula.coords={x:0,y:0,z:0}),this.game.gameModeId===u.KOTC&&(this.game.stage=W.Capturing,this.game.zoneNumber=0,this.game.activeZone=null,this.game.capturing=0,this.game.captureProgress=0,this.game.numCapturing=0,this.game.capturePercent=0),this.emit("gameReset"))}#G(){if(!this.intents.includes(this.Intents.PING))return;let A=this.ping;this.ping=Date.now()-this.lastPingTime,this.emit("pingUpdate",A,this.ping),setTimeout(()=>{let e=new C;e.packInt8(B.ping),e.send(this.game.socket),this.lastPingTime=Date.now()},1e3)}#M(){let A=g.unPackInt8U(),e=g.unPackInt8U(),t=this.players[A];if(!t)return;let a=t.team;t.team=e,t.streak=0,this.emit("playerSwitchTeam",t,a,e)}#F(){let A=g.unPackInt8U(),e=g.unPackInt8U(),t=g.unPackInt16U(),a=g.unPackInt16U(),s=g.unPackInt8U(),i=g.unPackInt16U(),o=g.unPackInt16U(),n=g.unPackInt16U(),Q=g.unPackInt16U(),c=g.unPackInt8(),r=g.unPackInt8(),l=this.intents.includes(this.Intents.COSMETIC_DATA),k=l?E(t):t,N=l?E(a):a,S=l?E(i):i,O=l?E(o):o,H=l?E(n):n,Ke=l?E(Q):Q,d=this.players[A];if(d){let $A={...d.character},Ae=d.selectedGun;d.character.eggColor=s,d.character.primaryGun=k,d.character.secondaryGun=N,d.character.stamp=O,d.character.hat=S,d.character.grenade=H,d.character.melee=Ke,d.character.stampPos.x=c,d.character.stampPos.y=r,d.selectedGun=e,d.weapons[0]=new U[e],Ae!==d.selectedGun&&this.emit("playerChangeGun",d,Ae,d.selectedGun),$A!==d.character&&this.emit("playerChangeCharacter",d,$A,d.character)}}#S(){let A=g.unPackInt32U(),e=this.account.eggBalance;this.account.eggBalance=A,this.emit("balanceUpdate",e,A)}#R(){this.me.playing=!1,this.emit("respawnDenied")}#U(){let A=g.unPackInt8U(),e=this.players[A];e&&this.emit("playerMelee",e)}#L(){let A=g.unPackInt8U(),e=this.players[A];if(!e)return;let t=e.weapons[e.activeGun];if(t.ammo){let a=Math.min(Math.min(t.ammo.capacity,t.ammo.reload)-t.ammo.rounds,t.ammo.store);t.ammo.rounds+=a,t.ammo.store-=a}this.emit("playerReload",e,t)}updateGameOptions(){let A=new C;A.packInt8(B.gameOptions),A.packInt8(this.game.options.gravity*4),A.packInt8(this.game.options.damage*4),A.packInt8(this.game.options.healthRegen*4);let e=(this.game.options.locked?1:0)|(this.game.options.noTeamChange?2:0)|(this.game.options.noTeamShuffle?4:0);A.packInt8(e),this.game.options.weaponsDisabled.forEach(t=>{A.packInt8(t?1:0)}),A.send(this.game.socket)}#v(){this.game.isPrivate=!0,this.updateGameOptions()}#x(){let A=g.unPackInt8U(),e=g.unPackInt16U(),t=g.unPackFloat(),a=g.unPackFloat(),s=g.unPackFloat(),i=g.unPackInt8U(),o=g.unPackFloat();this.intents.includes(this.Intents.COSMETIC_DATA)&&(e=E(e)),A===F.Grenade?this.emit("grenadeExplode",e,{x:t,y:a,z:s},i,o):this.emit("rocketHit",{x:t,y:a,z:s},i,o)}#Y(){let A=g.unPackInt8U(),e=g.unPackFloat(),t=g.unPackFloat(),a=g.unPackFloat(),s=g.unPackFloat(),i=g.unPackFloat(),o=g.unPackFloat(),n=this.players[A];n&&(n.grenades--,this.emit("playerThrowGrenade",n,{x:e,y:t,z:a},{x:s,y:i,z:o}))}#T(){let A=g.unPackInt8U(),e=g.unPackInt8U(),t=this.players[A];if(!t)return;if(!this.intents.includes(this.Intents.CHALLENGES))return this.emit("challengeComplete",t,e);let a=this.account.challenges.find(s=>s.id===e);this.emit("challengeComplete",t,a),t.id===this.me.id&&this.refreshChallenges()}#J(){let A=new C;A.packInt8(this.intents.includes(this.Intents.OBSERVE_GAME)?B.observeGame:B.joinGame),A.packString(this.state.name),A.packString(this.game.raw.uuid),A.packInt8(0),A.packInt8(this.state.weaponIdx||this.account?.loadout?.classIdx||0),A.packInt32(this.account.session),A.packString(this.account.firebaseId),A.packString(this.account.sessionId),A.send(this.game.socket)}async#K(){if(this.me.id=g.unPackInt8U(),this.me.team=g.unPackInt8U(),this.game.gameModeId=g.unPackInt8U(),this.game.gameMode=Ee[this.game.gameModeId],this.game.mapIdx=g.unPackInt8U(),this.game.map=nA[this.game.mapIdx],this.game.playerLimit=g.unPackInt8U(),this.game.isGameOwner=g.unPackInt8U()===1,this.game.isPrivate=g.unPackInt8U()===1||this.game.isGameOwner,g.unPackInt8U(),this.intents.includes(this.Intents.LOAD_MAP)||this.intents.includes(this.Intents.PATHFINDING)){if(this.game.map.raw=await re(this.game.map.filename,this.game.map.hash),this.emit("mapLoad",this.game.map.raw),this.game.gameModeId===u.KOTC){let e=this.game.map.raw.data["DYNAMIC.capture-zone.none"];e?(this.game.map.zones=ce(e),this.game.activeZone||(this.game.activeZone=this.game.map.zones[this.game.zoneNumber-1])):delete this.game.map.zones}this.intents.includes(this.Intents.PATHFINDING)&&(this.pathing.nodeList=new oA(this.game.map.raw))}this.state.inGame=!0,this.lastDeathTime=Date.now();let A=new C;if(A.packInt8(B.clientReady),A.send(this.game.socket),this.updateIntervalId=setInterval(()=>this.update(),100/3),this.intents.includes(this.Intents.PING)){this.lastPingTime=Date.now();let e=new C;e.packInt8(B.ping),e.send(this.game.socket)}this.intents.includes(this.Intents.NO_AFK_KICK)&&(this.afkKickInterval=setInterval(()=>{if(this.state.inGame&&!this.me.playing&&Date.now()-this.lastDeathTime>=15e3){let e=new C;e.packInt8(B.keepAlive),e.send(this.game.socket)}},15e3)),this.emit("gameReady")}#H(){let A=g.unPackInt8U(),e=g.unPackString(128),t=g.unPackString(32),a=this.players[A];a&&(a.admin={ip:t,dbId:e},this.emit("playerInfo",a,t,e))}processPacket(A){g.init(A),this.intents.includes(this.Intents.PACKET_HOOK)&&this.emit("packet",A);let e=0,t=0,a=!1;for(;g.isMoreDataAvailable()&&!a;){let s=g.unPackInt8U();switch(s){case B.syncThem:this.#B();break;case B.fire:this.#C();break;case B.hitThem:this.#h();break;case B.syncMe:this.#u();break;case B.hitMe:this.#d();break;case B.swapWeapon:this.#r();break;case B.collectItem:this.#l();break;case B.respawn:this.#n();break;case B.die:this.#c();break;case B.pause:this.#Q();break;case B.chat:this.#I();break;case B.addPlayer:this.#o();break;case B.removePlayer:this.#m();break;case B.eventModifier:this.#p();break;case B.metaGameState:this.#y();break;case B.beginShellStreak:this.#w();break;case B.endShellStreak:this.#k();break;case B.hitMeHardBoiled:this.#D();break;case B.gameOptions:this.#f();break;case B.ping:this.#G();break;case B.switchTeam:this.#M();break;case B.changeCharacter:this.#F();break;case B.reload:this.#L();break;case B.explode:this.#x();break;case B.throwGrenade:this.#Y();break;case B.spawnItem:this.#E();break;case B.melee:this.#U();break;case B.updateBalance:this.#S();break;case B.challengeCompleted:this.#T();break;case B.socketReady:this.#J();break;case B.gameJoined:this.#K();break;case B.gameAction:this.#N();break;case B.requestGameOptions:this.#v();break;case B.respawnDenied:this.#R();break;case B.playerInfo:this.#H();break;case B.expireUpgrade:case B.clientReady:break;case B.musicInfo:g.unPackLongString();break;default:console.error(`processPacket: I got but couldn't identify a: ${Object.keys(B).find(i=>B[i]===s)} ${s}`),e&&console.error(`processPacket: It may be a result of the ${e} command (${t}).`),a=!0;break}e=Object.keys(B).find(i=>B[i]===s),t=s,this.intents.includes(this.Intents.LOG_PACKETS)&&console.log(`[LOG_PACKETS] Packet ${e}: ${t}`)}}async checkChiknWinner(){let A=await this.api.queryServices({cmd:"chicknWinnerReady",id:this.account.id,sessionId:this.account.sessionId});return typeof A=="string"?A:(this.account.cw.limit=A.limit,this.account.cw.atLimit=A.limit>=4,this.account.cw.secondsUntilPlay=(this.account.cw.atLimit?A.period:A.span)||0,this.account.cw.canPlayAgain=Date.now()+this.account.cw.secondsUntilPlay*1e3,this.account.cw)}async playChiknWinner(A=!0){if(this.account.cw.atLimit||this.account.cw.limit>mA)return"hit_daily_limit";if(this.account.cw.canPlayAgain>Date.now()&&A)return"on_cooldown";let e=await this.api.queryServices({cmd:"incentivizedVideoReward",firebaseId:this.account.firebaseId,id:this.account.id,sessionId:this.account.sessionId,token:null});return typeof e=="string"?e:e.error?e.error==="RATELIMITED"||e.error==="RATELMITED"?(await this.checkChiknWinner(),"on_cooldown"):e.error==="SESSION_EXPIRED"?"session_expired":(console.error("Unknown Chikn Winner response, report this on Github:",e),"unknown_error"):e.reward?(this.account.eggBalance+=e.reward.eggsGiven,e.reward.itemIds.forEach(t=>this.account.ownedItemIds.push(t)),await this.checkChiknWinner(),e.reward):(console.error("Unknown Chikn Winner response, report this on Github:",e),"unknown_error")}async resetChiknWinner(){if(this.account.eggBalance<200)return"not_enough_eggs";if(!this.account.cw.atLimit)return"not_at_limit";let A=await this.api.queryServices({cmd:"chwReset",sessionId:this.account.sessionId});return typeof A=="string"?A:A.result!=="SUCCESS"?(console.error("Unknown Chikn Winner reset response, report this on Github:",A),"unknown_error"):(this.account.eggBalance-=200,await this.checkChiknWinner(),this.account.cw)}canSee(A){return this.intents.includes(this.Intents.PATHFINDING)?this.pathing.nodeList.hasLineOfSight(this.me.position,A.position):this.processError("You must have the PATHFINDING intent to use this method.")}getBestTarget(A=()=>!0){let t=Object.values(this.players).filter(s=>s?.playing).filter(s=>s.hp>0).filter(s=>s.id!==this.me.id).filter(s=>this.me.team===0||s.team!==this.me.team).filter(s=>!!A(s)).map(s=>({player:s,distance:Math.sqrt(Math.pow(s.position.x-this.me.position.x,2)+Math.pow(s.position.y-this.me.position.y,2)+Math.pow(s.position.z-this.me.position.z,2))})).sort((s,i)=>s.distance-i.distance);if(!t.length)return this.intents.includes(this.Intents.DEBUG_BEST_TARGET)&&console.log("no targets found"),null;let a=t.find(s=>this.canSee(s.player));return this.intents.includes(this.Intents.DEBUG_BEST_TARGET)&&(console.log("detected ",t.length,"targets"),console.log("closest target: ",t[0].player.name),console.log("all targets (ordered): ",t.map(s=>s.player.name)),console.log("found LoS player?",!!a),a&&console.log("closest LoS player: ",a.player.name)),a?{player:a.player,inLoS:!0}:{player:t[0].player,inLoS:!1}}async refreshChallenges(){let A=await this.api.queryServices({cmd:"challengeGetDaily",sessionId:this.account.sessionId,playerId:this.account.id});return this.#i(A),this.account.challenges}async rerollChallenge(A){let e=await this.api.queryServices({cmd:"challengeRerollSlot",sessionId:this.account.sessionId,slotId:A});return this.#i(e),this.account.challenges}async claimChallenge(A){let e=await this.api.queryServices({cmd:"challengeClaimReward",sessionId:this.account.sessionId,slotId:A});return this.#i(e.challenges),e.reward>0&&(this.account.eggBalance+=e.reward),{eggReward:e.reward,updatedChallenges:this.account.challenges}}async refreshBalance(){let A=await this.api.queryServices({cmd:"checkBalance",firebaseId:this.account.firebaseId,sessionId:this.account.sessionId});return this.account.eggBalance=A.currentBalance,A.currentBalance}async redeemCode(A){let e=await this.api.queryServices({cmd:"redeem",firebaseId:this.account.firebaseId,sessionId:this.account.sessionId,id:this.account.id,code:A});return e.result==="SUCCESS"?(this.account.eggBalance=e.eggs_given,e.item_ids.forEach(t=>this.account.ownedItemIds.push(t)),{result:e,eggsGiven:e.eggs_given,itemIds:e.item_ids}):e}async claimURLReward(A){let e=await this.api.queryServices({cmd:"urlRewardParams",firebaseId:this.account.firebaseId,sessionId:this.account.sessionId,reward:A});return e.result==="SUCCESS"&&(this.account.eggBalance+=e.eggsGiven,e.itemIds.forEach(t=>this.account.ownedItemIds.push(t))),e}async claimSocialReward(A){let e=await this.api.queryServices({cmd:"reward",firebaseId:this.account.firebaseId,sessionId:this.account.sessionId,rewardTag:A});return e.result==="SUCCESS"&&(this.account.eggBalance+=e.eggsGiven,e.itemIds.forEach(t=>this.account.ownedItemIds.push(t))),e}async buyItem(A){let e=await this.api.queryServices({cmd:"buy",firebaseId:this.account.firebaseId,sessionId:this.account.sessionId,itemId:A,save:!0});return e.result==="SUCCESS"&&(this.account.eggBalance=e.currentBalance,this.account.ownedItemIds.push(e.itemId)),e}processError(A){this.#e.error&&this.#e.error.length?this.emit("error",A):(console.error(A),this.intents.includes(this.Intents.NO_EXIT_ON_ERROR)||process.exit(1))}leave(A=tA.mainMenu){this.hasQuit||(A>-1&&(this.game?.socket?.close(A),this.state.left=!0,this.emit("leave",A)),clearInterval(this.updateIntervalId),this.#A=[],this.state.inGame=!1,this.state.chatLines=0,this.state.reloading=!1,this.state.swappingGun=!1,this.state.usingMelee=!1,this.state.stateIdx=0,this.state.serverStateIdx=0,this.state.shotsFired=0,this.state.buffer=[],this.players={},this.me=new aA({}),this.game=this.#a,this.ping=0,this.lastPingTime=-1,this.lastDeathTime=-1,this.lastUpdateTick=0,this.pathing={nodeList:null,followingPath:!1,activePath:null,activeNode:null,activeNodeIdx:0})}logout(){this.account=this.#t,this.intents.includes(this.Intents.RENEW_SESSION)&&clearInterval(this.renewSessionInterval)}quit(A=!1){this.hasQuit||(this.leave(),this.matchmaker&&(this.matchmaker.close(),A||delete this.matchmaker),A||(delete this.account,delete this.api,delete this.game,delete this.me,delete this.pathing,delete this.players,delete this.state,this.#t={},this.#a={},this.#e={},this.#g=[],this.#A=[]),this.intents.includes(this.Intents.NO_AFK_KICK)&&clearInterval(this.afkKickInterval),this.intents.includes(this.Intents.RENEW_SESSION)&&clearInterval(this.renewSessionInterval),this.hasQuit=!0)}};var UA=class{constructor(A,e,t=""){this.uniqueId=A,this.duration=e,this.reason=t}validate(A){return!(typeof this.uniqueId!="string"||typeof this.reason!="string"||typeof this.duration!="number"||!Object.values(pA).some(e=>this.duration===e)||!(A.account.adminRoles&4))}check(){return!0}execute(A){let e=new C;e.packInt8(B.banPlayer),e.packString(this.uniqueId),e.packString(this.reason),e.packInt8(this.duration),e.send(A.game.socket)}},de=UA;var LA=class{constructor(A){this.uniqueId=A}validate(A){return typeof this.uniqueId=="string"&&A.game.isGameOwner&&Object.values(A.players).find(e=>e.uniqueId===this.uniqueId)}check(){return!0}execute(A){let e=new C;e.packInt8(B.bootPlayer),e.packString(this.uniqueId),e.send(A.game.socket)}},ue=LA;var vA=class{constructor(A){this.msg=A}validate(){return!(typeof this.msg!="string"||this.msg.length<1||this.msg.length>64)}check(A){return!(!A.state.inGame||!A.game.isPrivate&&!A.account.adminRoles&&A.state.chatLines>=2||!A.game.isPrivate&&!A.account.emailVerified&&!A.account.isAged)}execute(A){A.state.chatLines++;let e=new C;e.packInt8(B.chat),e.packString(this.msg),e.send(A.game.socket)}},pe=vA;var xA=class{constructor(A){this.amount=A||1}validate(){return this.amount>=1}check(A){return A.me.playing&&!A.state.reloading&&!A.state.swappingGun&&!A.state.usingMelee&&A.me.weapons[A.me.activeGun].ammo.rounds>=this.amount}execute(A){A.state.shotsFired+=this.amount||1}},me=xA;var ot=Array.from({length:4},(I,A)=>(A+1)*.25),nt=Array.from({length:9},(I,A)=>A*.25),Bt=Array.from({length:17},(I,A)=>A*.25),y=(I,A)=>typeof I<"u"?I:A,YA=class{constructor(A){this.changes=A}#A(A){let e={};return e.gravity=y(this.changes.gravity,A.game.options.gravity),e.damage=y(this.changes.damage,A.game.options.damage),e.healthRegen=y(this.changes.healthRegen,A.game.options.healthRegen),e.locked=y(this.changes.locked,A.game.options.locked),e.noTeamChange=y(this.changes.noTeamChange,A.game.options.noTeamChange),e.noTeamShuffle=y(this.changes.noTeamShuffle,A.game.options.noTeamShuffle),e.weaponsDisabled=[y(this.changes.disableEggk,A.game.options.weaponsDisabled[0]),y(this.changes.disableScrambler,A.game.options.weaponsDisabled[1]),y(this.changes.disableFreeRanger,A.game.options.weaponsDisabled[2]),y(this.changes.disableRPG,A.game.options.weaponsDisabled[3]),y(this.changes.disableWhipper,A.game.options.weaponsDisabled[4]),y(this.changes.disableCrackshot,A.game.options.weaponsDisabled[5]),y(this.changes.disableTriHard,A.game.options.weaponsDisabled[6])],this.changes.toDisable&&Array.isArray(this.changes.toDisable)&&this.changes.toDisable.forEach(t=>e.weaponsDisabled[t]=!0),this.changes.toEnable&&Array.isArray(this.changes.toEnable)&&this.changes.toEnable.forEach(t=>e.weaponsDisabled[t]=!1),this.changes.rawWeaponsDisabled&&Array.isArray(this.changes.rawWeaponsDisabled)&&this.changes.rawWeaponsDisabled.length===7&&(e.weaponsDisabled=this.changes.rawWeaponsDisabled.map(t=>!!t)),e.mustUseSecondary=e.weaponsDisabled.every(t=>t),e}validate(A){let e=this.#A(A);return!(!ot.includes(e.gravity)||!nt.includes(e.damage)||!Bt.includes(e.healthRegen)||typeof e.locked!="boolean"||typeof e.noTeamChange!="boolean"||typeof e.noTeamShuffle!="boolean"||!Array.isArray(e.weaponsDisabled)||e.weaponsDisabled.length!==7||e.weaponsDisabled.some(t=>typeof t!="boolean"))}check(A){return A.game.isGameOwner}execute(A){A.game.options=this.#A(A),A.updateGameOptions()}},ye=YA;var BA=class{constructor(A){this.content=[],this.scoreFunction=A}push(A){this.content.push(A),this.bubbleUp(this.content.length-1)}rescoreElement(A){this.sinkDown(this.content.indexOf(A))}pop(){let A=this.content[0],e=this.content.pop();return this.content.length>0&&(this.content[0]=e,this.sinkDown(0)),A}remove(A){let e=this.content.length;for(let t=0;t<e;t++){if(this.content[t]!==A)continue;let a=this.content.pop();if(t===e-1)break;this.content[t]=a,this.bubbleUp(t),this.sinkDown(t);break}}size(){return this.content.length}bubbleUp(A){let e=this.content[A],t=this.scoreFunction(e);for(;A>0;){let a=Math.floor((A+1)/2)-1,s=this.content[a];if(t>=this.scoreFunction(s))break;this.content[a]=e,this.content[A]=s,A=a}}includes(A){return this.content.includes(A)}sinkDown(A){let e=this.content.length,t=this.content[A],a=this.scoreFunction(t);for(;;){let s=(A+1)*2,i=s-1,o=null,n;if(i<e){let Q=this.content[i];n=this.scoreFunction(Q),n<a&&(o=i)}if(s<e){let Q=this.content[s];this.scoreFunction(Q)<(o===null?a:n)&&(o=s)}if(o===null)break;this.content[A]=this.content[o],this.content[o]=t,A=o}}};var w=class{constructor(A){this.list=A}heuristic(A,e){return Math.abs(A.x-e.x)+Math.abs(A.y-e.y)+Math.abs(A.z-e.z)}reversePath(A){let e=[];for(;A.parent;)e.push(A),A=A.parent;return e.reverse(),e}path(A,e){this.list.clean();let t=new BA(s=>s.f),a=[];for(A.h=this.heuristic(A,e),A.g=0,A.f=A.g+A.h,t.push(A);t.size()!==0;){let s=t.pop();if(s===e)return this.reversePath(s);a.push(s);let i=s.links;for(let o=0;o<i.length;o++){let n=i[o];if(a.includes(n))continue;let Q=s.g+1,c=n.visited;(!c||Q<n.g)&&(n.visited=!0,n.parent=s,n.g=Q,n.h=this.heuristic(n.position,e.position),n.f=n.g+n.h,c?t.rescoreElement(n):t.push(n))}}return null}};var TA=class{validate(A){return A.intents.includes(A.Intents.PATHFINDING)}check(A){return A.me.playing&&A.game.collectables[0].length}execute(A){this.pather=new w(A.pathing.nodeList);let e=200,t=null;for(let n of A.game.collectables[0]){let Q=n.x-A.me.position.x,c=n.y-A.me.position.y,r=n.z-A.me.position.z,l=Math.sqrt(Q*Q+c*c+r*r);l<e&&(e=l,t=n)}let a=Object.entries(A.me.position).map(n=>Math.floor(n[1])),s=Object.entries(t).map(n=>Math.floor(n[1])),i=A.pathing.nodeList.at(...a),o=A.pathing.nodeList.at(...s);if(A.pathing.activePath=this.pather.path(i,o),!A.pathing.activePath)return A.processError("no path found");if(A.pathing.activePath.length<2)return A.processError("path too short");A.pathing.followingPath=!0,A.pathing.activeNode=A.pathing.activePath[1],A.pathing.activeNodeIdx=1}},we=TA;var JA=class{validate(A){return A.intents.includes(A.Intents.PATHFINDING)}check(A){return A.me.playing&&A.game.zoneNumber&&A.game.activeZone}execute(A){this.pather=new w(A.pathing.nodeList);let e=200,t=null;for(let n of A.game.activeZone){let Q=n.x-A.me.position.x,c=n.y-A.me.position.y,r=n.z-A.me.position.z,l=Math.sqrt(Q*Q+c*c+r*r);l<e&&(e=l,t=n)}let a=Object.entries(A.me.position).map(n=>Math.floor(n[1])),s=Object.entries(t).map(n=>Math.floor(n[1])),i=A.pathing.nodeList.at(...a),o=A.pathing.nodeList.at(...s);if(A.pathing.activePath=this.pather.path(i,o),!A.pathing.activePath)return A.processError("no path found");if(A.pathing.activePath.length<2)return A.processError("path too short");A.pathing.followingPath=!0,A.pathing.activeNode=A.pathing.activePath[1],A.pathing.activeNodeIdx=1}},ke=JA;var KA=class{validate(A){return A.intents.includes(A.Intents.PATHFINDING)}check(A){return A.me.playing&&A.game.collectables[1].length}execute(A){this.pather=new w(A.pathing.nodeList);let e=200,t=null;for(let n of A.game.collectables[1]){let Q=n.x-A.me.position.x,c=n.y-A.me.position.y,r=n.z-A.me.position.z,l=Math.sqrt(Q*Q+c*c+r*r);l<e&&(e=l,t=n)}let a=Object.entries(A.me.position).map(n=>Math.floor(n[1])),s=Object.entries(t).map(n=>Math.floor(n[1])),i=A.pathing.nodeList.at(...a),o=A.pathing.nodeList.at(...s);if(A.pathing.activePath=this.pather.path(i,o),!A.pathing.activePath)return A.processError("no path found");if(A.pathing.activePath.length<2)return A.processError("path too short");A.pathing.followingPath=!0,A.pathing.activeNode=A.pathing.activePath[1],A.pathing.activeNodeIdx=1}},De=KA;var HA=class{idOrName;constructor(A){this.idOrName=A}validate(A){return!A.intents.includes(A.Intents.PATHFINDING)||!this.idOrName?!1:!!(A.players[this.idOrName.toString()]||A.players.find(t=>t.name===this.idOrName))}check(A){if(!A.me.playing)return!1;let e=A.players[this.idOrName.toString()]||A.players.find(t=>t.name===this.idOrName);return e&&e.playing&&e.position&&e.position.x}execute(A){this.pather=new w(A.pathing.nodeList);let e=A.players[this.idOrName.toString()]||A.players.find(o=>o.name===this.idOrName),t=Object.entries(A.me.position).map(o=>Math.floor(o[1])),a=Object.entries(e.position).map(o=>Math.floor(o[1])),s=A.pathing.nodeList.at(...t),i=A.pathing.nodeList.at(...a);if(A.pathing.activePath=this.pather.path(s,i),!A.pathing.activePath)return A.processError("no path found");if(A.pathing.activePath.length<2)return A.processError("path too short");A.pathing.followingPath=!0,A.pathing.activeNode=A.pathing.activePath[1],A.pathing.activeNodeIdx=1}},fe=HA;var bA=class{validate(A){return A.intents.includes(A.Intents.PATHFINDING)}check(A){return A.me.playing&&A.game.spatula&&A.game.spatula.coords&&A.game.spatula.coords.x}execute(A){this.pather=new w(A.pathing.nodeList);let e=Object.entries(A.me.position).map(i=>Math.floor(i[1])),t=Object.entries(A.game.spatula.coords).map(i=>Math.floor(i[1])),a=A.pathing.nodeList.at(...e),s=A.pathing.nodeList.at(...t);if(A.pathing.activePath=this.pather.path(a,s),!A.pathing.activePath)return A.processError("no path found");if(A.pathing.activePath.length<2)return A.processError("path too short");A.pathing.followingPath=!0,A.pathing.activeNode=A.pathing.activePath[1],A.pathing.activeNodeIdx=1}},Ne=bA;var Qt=(I,A)=>(I%A+A)%A,rt=Math.PI*2,Ge=I=>Math.round(I*8192)/8192,ct=I=>Ge(Qt(Math.atan2(-I.x,-I.z),rt)),Ct=I=>Ge(Math.atan2(I.y,Math.hypot(I.x,I.z))),_A=class{idOrName;constructor(A){this.idOrName=A}validate(A){return!!(A.players[this.idOrName.toString()]||A.players.find(t=>t.name===this.idOrName))}check(A){if(!A.me.playing)return!1;let e=A.players[this.idOrName.toString()]||A.players.find(t=>t.name===this.idOrName);return e&&e.playing&&e.position&&e.position.x}execute(A){let e=A.players[this.idOrName.toString()]||A.players.find(i=>i.name===this.idOrName),t={x:e.position.x-A.me.position.x,y:e.position.y-A.me.position.y-.05,z:e.position.z-A.me.position.z},a=ct(t),s=Ct(t);A.state.yaw=a,A.state.pitch=s}},Me=_A;var PA=class{validate(){return!0}check(A){return A.me.playing&&!A.state.reloading&&!A.state.swappingGun&&!A.state.usingMelee}execute(A){let e=new C;e.packInt8(B.melee),e.send(A.game.socket),A.usingMelee=!0,setTimeout(()=>{A.usingMelee=!1,A.swappingGun=!0,setTimeout(()=>{A.swappingGun=!1},.5*wA)},100/3*17)}},Fe=PA;var zA=class{validate(){return!0}check(A){return A.me.playing}execute(A){let e=new C;e.packInt8(B.pause),e.send(A.game.socket),setTimeout(()=>A.me.playing=!1,3e3)}},Se=zA;var qA=class{validate(){return!0}check(A){return A.me.playing&&!A.state.reloading&&!A.state.swappingGun&&!A.state.usingMelee}execute(A){let e=new C;e.packInt8(B.reload),e.send(A.game.socket);let t=A.me.weapons[A.me.activeGun];if(t.ammo){let i=Math.min(Math.min(t.ammo.capacity,t.ammo.reload)-t.ammo.rounds,t.ammo.store);t.ammo.rounds+=i,t.ammo.store-=i}A.emit("playerReload",A.me,t);let a=A.me.weapons[A.me.activeGun],s=a.ammo.rounds<1;A.state.reloading=!0,setTimeout(()=>A.state.reloading=!1,s?a.longReloadTime:a.shortReloadTime)}},Re=qA;var ZA=class{constructor(A,e={}){this.idOrName=A,this.reasons=[!!e.cheating,!!e.harassment,!!e.offensive,!!e.other],this.reasons.includes(!0)||(this.reasons[3]=!0);for(let t=0;t<this.reasons.length;t++)this.reasons[t]===!0&&(this.reasonInt|=1<<t)}validate(){return!(this.reasons.every(e=>e===!1)||!(bot.players[this.idOrName.toString()]||bot.players.find(e=>e.name===this.idOrName)))}check(A){return A.state.inGame?!!(A.players[this.idOrName.toString()]||A.players.find(t=>t.name===this.idOrName)):!1}execute(A){let e=A.players[this.idOrName.toString()]||A.players.find(a=>a.name===this.idOrName),t=new C;t.packInt8(B.reportPlayer),t.packString(e.uniqueId),t.packInt8(this.reasonInt),t.send(A.game.socket)}},Ue=ZA;var J=I=>E(I)&&E(I).unlock==="default",K=(I,A)=>E(I)&&E(I).item_type_id===A,jA=class{constructor(A){this.changes={classIdx:A.gunId,hatId:A.hatId,stampId:A.stampId,grenadeId:A.grenadeId,meleeId:A.meleeId,colorIdx:A.eggColor,primaryId:A.primaryIds,secondaryId:A.secondaryIds},this.changes=Object.fromEntries(Object.entries(this.changes).filter(([,e])=>!!e))}validate(A){let e=this.changes;if(e.colorIdx&&e.colorIdx>=7&&!A.account.vip||e.colorIdx&&e.colorIdx>=14||K(e.hatId,F.Hat)&&!J(e.hatId)&&!A.account.ownedItemIds.includes(e.hatId)||K(e.stampId,F.Stamp)&&!J(e.stampId)&&!A.account.ownedItemIds.includes(e.stampId)||K(e.grenadeId,F.Grenade)&&!J(e.grenadeId)&&!A.account.ownedItemIds.includes(e.grenadeId)||K(e.meleeId,F.Melee)&&!J(e.meleeId)&&!A.account.ownedItemIds.includes(e.meleeId)||typeof e.classIdx=="number"&&e.classIdx>6||e.classIdx<0)return!1;if(this.changes.primaryId)for(let t=0;t<7;t++){let a=this.changes.primaryId[t];if(!K(a,ItemTypes.Primary)||!J(a)&&!A.account.ownedItemIds.includes(a))return!1}if(this.changes.secondaryId)for(let t=0;t<7;t++){let a=this.changes.secondaryId[t];if(!K(a,ItemTypes.Secondary)||!J(a)&&!A.account.ownedItemIds.includes(a))return!1}return!0}check(A){return!A.me.playing}execute(A){A.me&&this.changes.classIdx&&this.changes.classIdx!==A.me.selectedGun&&(A.me.weapons[0]=new U[this.changes.classIdx]),A.state.weaponIdx=this.changes.classIdx||A.state.weaponIdx;let e={...A.account.loadout,...this.changes},t=A.api.queryServices({cmd:"saveLoadout",save:!0,firebaseId:A.account.firebaseId,sessionId:A.account.sessionId,loadout:e});A.account.loadout=e,A.me&&t.then(()=>{if(A.state.inGame){let s=new C;s.packInt8(B.changeCharacter),s.packInt8(this.changes?.classIdx||A.me.selectedGun),s.send(A.game.socket)}let a=A.intents.includes(A.Intents.COSMETIC_DATA);Object.entries(this.changes).forEach(([s,i])=>{s==="classIdx"?A.me.selectedGun=i:s==="hatId"?A.me.character.hat=a?E(i):i:s==="stampId"?A.me.character.stamp=a?E(i):i:s==="grenadeId"?A.me.character.grenade=a?E(i):i:s==="meleeId"?A.me.character.melee=a?E(i):i:s==="colorIdx"?A.me.character.eggColor=i:s==="primaryId"?A.me.character.primaryGun=a?E(i[A.me.selectedGun]):i:s==="secondaryId"&&(A.me.character.secondaryGun=a?E(i[A.me.selectedGun]):i)})})}},Le=jA;var OA=class{validate(){return!0}check(A){return!(A.me.playing||A.lastDeathTime+6e3<Date.now()||A.intents.includes(A.Intents.OBSERVE_GAME))}execute(A){let e=new C;e.packInt8(B.requestRespawn),e.send(A.game.socket),A.state.buffer=[]}},ve=OA;var XA=class{constructor(A){this.manualWeapon=A}validate(){return typeof this.manualWeapon=="number"||this.manualWeapon===void 0}check(A){return A.me.playing&&!A.state.reloading&&!A.state.swappingGun&&!A.state.usingMelee}execute(A){let e=+!A.me.activeGun;typeof this.manualWeapon=="number"&&(e=this.manualWeapon),A.me.activeGun=e;let t=new C;t.packInt8(B.swapWeapon),t.packInt8(A.me.activeGun),t.send(A.game.socket)}},xe=XA;var WA=class{validate(){return!0}check(A){if(!A.state.inGame||A.me.playing||A.game.gameModeId===0||A.intents.includes(A.Intents.OBSERVE_GAME))return!1;if(A.game.isPrivate)return!A.game.options.noTeamChange;let e=A.players,t=A.me.team,a=e.filter(i=>i.team===t).length,s=e.filter(i=>i.team!==t).length;return!(s>a||a===s)}execute(A){let e=new C;e.packInt8(B.switchTeam),e.send(A.game.socket)}},Ye=WA;var VA=class{constructor(A=1){this.power=A}validate(){return typeof this.power=="number"&&this.power>=0&&this.power<=1}check(A){return A.me.playing&&!A.state.reloading&&!A.state.swappingGun&&!A.state.usingMelee}execute(A){let e=new C;e.packInt8(B.throwGrenade),e.packFloat(this.power),e.send(A.game.socket)}},Te=VA;var Et={BanPlayerDispatch:de,BootPlayerDispatch:ue,ChatDispatch:pe,FireDispatch:me,GameOptionsDispatch:ye,GoToAmmoDispatch:we,GoToCoopDispatch:ke,GoToGrenadeDispatch:De,GoToPlayerDispatch:fe,GoToSpatulaDispatch:Ne,LookAtDispatch:Me,LookAtPosDispatch:Z,MeleeDispatch:Fe,MovementDispatch:j,PauseDispatch:Se,ReloadDispatch:Re,ReportPlayerDispatch:Ue,SaveLoadoutDispatch:Le,SpawnDispatch:ve,SwapWeaponDispatch:xe,SwitchTeamDispatch:Ye,ThrowGrenadeDispatch:Te};var Je={};QA(Je,{CloseCode:()=>tA,CommCode:()=>B,CommIn:()=>g,CommOut:()=>C});export{AA as API,RA as Bot,Je as Comm,te as Constants,Et as Dispatches,iA as GamePlayer,ee as Guns,nA as Maps,sA as Matchmaker};
123
+ `,iA={},Z={textContent:""},gt=(B,A)=>{let t=new FinalizationRegistry(g=>{B().__wbindgen_export_5.get(g.dtor)(g.a,g.b)}),e=(g,Q,a,n)=>{let E={a:g,b:Q,cnt:1,dtor:a},C=(...h)=>{E.cnt++;let k=E.a;E.a=0;try{return n(k,E.b,...h)}finally{--E.cnt===0?(B().__wbindgen_export_5.get(E.dtor)(k,E.b),t.unregister(E)):E.a=k}};return C.original=E,t.register(C,E,E),C},I=(g,Q,a)=>B().closure28_externref_shim(g,Q,a),s=1;return{wbg:{__wbg_addEventListener_90e553fdce254421:(g,Q,a,n)=>iA[Y(B(),Q,a)]=n,__wbg_appendChild_8204974b7328bf98:()=>{},__wbg_axes_b1da727bd9ea422d:()=>{},__wbg_body_942ea927546a04ba:()=>v(B(),null),__wbg_call_672a4d21634d4a24:()=>{},__wbg_childNodes_c4423003f3a9441f:()=>[],__wbg_createElement_8c9931a732ee2fea:()=>Z,__wbg_document_d249400bd7bd996d:()=>v(B(),{}),__wbg_from_2a5d3e218e67aa85:(...g)=>Array.from(g[0]),__wbg_getGamepads_1f997cef580c9088:(...g)=>g[0].getGamepads(),__wbg_get_67b2ba62fc30de12:(...g)=>Reflect.get(g[0],g[1]),__wbg_get_b9b93047fe3cf45b:(...g)=>g[0][g[1]>>>0],__wbg_has_a5ea9117f258a0ec:()=>!0,__wbg_innerText_df9aeb9435e40973:()=>{},__wbg_instanceof_Gamepad_365ec8404255ce00:()=>!0,__wbg_instanceof_HtmlElement_51378c201250b16c:()=>!0,__wbg_instanceof_Window_def73ea0955fc569:()=>!0,__wbg_isTrusted_cc994b7949c53593:()=>!0,__wbg_item_8be407c958853a13:(...g)=>v(B(),g[0][g[1]>>>0]),__wbg_length_49b2ba67f0897e97:()=>(s--,s<=0?(s=1,0):s),__wbg_length_e2d2a49132c1b256:(...g)=>g[0].length,__wbg_movementX_1aa05f864931369b:(...g)=>g[0].movementX,__wbg_movementY_8acfedb38a70e624:(...g)=>g[0].movementY,__wbg_navigator_1577371c070c8947:(...g)=>g[0].navigator,__wbg_new_405e22f390576ce2:()=>new Object,__wbg_newnoargs_105ed471475aaf50:()=>{},__wbg_nodeType_5e1153141daac26a:()=>3,__wbg_now_807e54c39636c349:()=>A.processDate||Date.now(),__wbg_set_bb8cecf6a62b9f46:(...g)=>Reflect.set(g[0],g[1],g[2]),__wbg_settextContent_d29397f7b994d314:async(...g)=>{Z.textContent=Y(B(),g[1],g[2]),A.processListeners.forEach(Q=>Q(Z.textContent))},__wbg_static_accessor_GLOBAL_88a902d13a557d07:()=>{},__wbg_static_accessor_GLOBAL_THIS_56578be7e9f832b0:()=>{},__wbg_static_accessor_SELF_37c5d418e4bf5819:()=>v(B(),{}),__wbg_static_accessor_WINDOW_5de37043a91a9c40:()=>{},__wbg_textContent_215d0f87d539368a:(g,Q)=>{let[a,n]=H(B(),Q===Z?Z.textContent:_t),E=new DataView(B().memory.buffer);E.setInt32(g+4*1,n,!0),E.setInt32(g+4*0,a,!0)},__wbindgen_debug_string:()=>{},__wbindgen_init_externref_table:()=>{},__wbindgen_throw:()=>{},__wbindgen_number_new:g=>g,__wbindgen_string_new:(g,Q)=>Y(B(),g,Q),__wbindgen_string_get:(g,Q)=>{let a=Y(B(),g,Q),[n,E]=H(B(),a),C=new DataView(B().memory.buffer);C.setInt32(g+4*1,E,!0),C.setInt32(g+4*0,n,!0)},__wbindgen_is_undefined:g=>g===void 0?1:0,__wbindgen_is_null:g=>g===null?1:0,__wbindgen_boolean_get:g=>{let Q=g;return typeof Q=="boolean"?Q?1:0:2},__wbindgen_closure_wrapper94:(g,Q)=>e(g,Q,31,I),__wbindgen_closure_wrapper95:(g,Q)=>e(g,Q,31,I),__wbindgen_number_get:(g,Q)=>{let a=Q,n=typeof a=="number"?a:void 0,E=new DataView(B().memory.buffer);E.setFloat64(g+8*1,n,!0),E.setInt32(g+4*0,1,!0)}}}};var Vt=B=>typeof atob=="function"?new Uint8Array(atob(B).split("").map(A=>A.charCodeAt(0))):Buffer.from(B,"base64"),It=Vt("AGFzbQEAAAABpwItYAN/f38Bf2ACf38Bf2ABfwBgAn9/AGADf39/AGABbwF/YAABf2AAAGABfwF/YAFvAW9gBX9/f39/AX9gBH9/f38AYAJ/bwBgAm9vAW9gBH9/f38Bf2AFf39/f38AYAJ/fwFvYAABb2ADf39/AW9gAAJ/f2ACb38Bf2ACb28Bf2AEb39/bwBgAAF8YANvf38Bb2ADb39/AGABfAFvYANvb28Bf2ACb38Bb2AGfHx8f39/AGAHf39/f39/fwF/YAZ/f39/f38AYAF8AXxgCX98fH98b29/fwBgAn9/An9/YAZ/f39/f38Bf2AFf399f38AYAR/fX9/AGAFf398f38AYAR/fH9/AGAFf39+f38AYAR/fn9/AGABfAF/YAN/f28AYAJ8fAF8AsYNLgN3YmcVX193YmluZGdlbl9zdHJpbmdfbmV3ABADd2JnGl9fd2JnX2dldF82N2IyYmE2MmZjMzBkZTEyAA0Dd2JnFV9fd2JpbmRnZW5fbnVtYmVyX2dldAAMA3diZx9fX3diZ19ub2RlVHlwZV81ZTExNTMxNDFkYWFjMjZhAAUDd2JnLV9fd2JnX2luc3RhbmNlb2ZfSHRtbEVsZW1lbnRfNTEzNzhjMjAxMjUwYjE2YwAFA3diZyBfX3diZ19pbm5lclRleHRfZGY5YWViOTQzNWU0MDk3MwAMA3diZyJfX3diZ190ZXh0Q29udGVudF8yMTVkMGY4N2Q1MzkzNjhhAAwDd2JnIV9fd2JnX2NoaWxkTm9kZXNfYzQ0MjMwMDNmM2E5NDQxZgAJA3diZx1fX3diZ19sZW5ndGhfNDliMmJhNjdmMDg5N2U5NwAFA3diZxtfX3diZ19pdGVtXzhiZTQwN2M5NTg4NTNhMTMAFAN3YmcgX193YmdfaXNUcnVzdGVkX2NjOTk0Yjc5NDljNTM1OTMABQN3YmcgX193YmdfbW92ZW1lbnRYXzFhYTA1Zjg2NDkzMTM2OWIABQN3YmcgX193YmdfbW92ZW1lbnRZXzhhY2ZlZGIzOGE3MGU2MjQABQN3YmcaX193YmdfaGFzX2E1ZWE5MTE3ZjI1OGEwZWMAFQN3YmcnX193YmdfYWRkRXZlbnRMaXN0ZW5lcl85MGU1NTNmZGNlMjU0NDIxABYDd2JnGl9fd2JnX25vd184MDdlNTRjMzk2MzZjMzQ5ABcDd2JnH19fd2JnX2RvY3VtZW50X2QyNDk0MDBiZDdiZDk5NmQABQN3YmckX193YmdfY3JlYXRlRWxlbWVudF84Yzk5MzFhNzMyZWUyZmVhABgDd2JnJV9fd2JnX3NldHRleHRDb250ZW50X2QyOTM5N2Y3Yjk5NGQzMTQAGQN3YmcbX193YmdfYm9keV85NDJlYTkyNzU0NmEwNGJhAAUDd2JnIl9fd2JnX2FwcGVuZENoaWxkXzgyMDQ5NzRiNzMyOGJmOTgADQN3YmcaX193YmdfbmV3XzQwNWUyMmYzOTA1NzZjZTIAEQN3YmcVX193YmluZGdlbl9udW1iZXJfbmV3ABoDd2JnGl9fd2JnX3NldF9iYjhjZWNmNmE2MmI5ZjQ2ABsDd2JnIF9fd2JnX25hdmlnYXRvcl8xNTc3MzcxYzA3MGM4OTQ3AAkDd2JnIl9fd2JnX2dldEdhbWVwYWRzXzFmOTk3Y2VmNTgwYzkwODgACQN3YmcaX193YmdfZ2V0X2I5YjkzMDQ3ZmUzY2Y0NWIAHAN3YmcSX193YmluZGdlbl9pc19udWxsAAUDd2JnF19fd2JpbmRnZW5faXNfdW5kZWZpbmVkAAUDd2JnKV9fd2JnX2luc3RhbmNlb2ZfR2FtZXBhZF8zNjVlYzg0MDQyNTVjZTAwAAUDd2JnG19fd2JnX2Zyb21fMmE1ZDNlMjE4ZTY3YWE4NQAJA3diZx1fX3diZ19sZW5ndGhfZTJkMmE0OTEzMmMxYjI1NgAFA3diZxZfX3diaW5kZ2VuX2Jvb2xlYW5fZ2V0AAUDd2JnG19fd2JnX2F4ZXNfYjFkYTcyN2JkOWVhNDIyZAAJA3diZyBfX3diZ19uZXdub2FyZ3NfMTA1ZWQ0NzE0NzVhYWY1MAAQA3diZxtfX3diZ19jYWxsXzY3MmE0ZDIxNjM0ZDRhMjQADQN3YmctX193Ymdfc3RhdGljX2FjY2Vzc29yX0dMT0JBTF84OGE5MDJkMTNhNTU3ZDA3AAYDd2JnMl9fd2JnX3N0YXRpY19hY2Nlc3Nvcl9HTE9CQUxfVEhJU181NjU3OGJlN2U5ZjgzMmIwAAYDd2JnLV9fd2JnX3N0YXRpY19hY2Nlc3Nvcl9XSU5ET1dfNWRlMzcwNDNhOTFhOWM0MAAGA3diZytfX3diZ19zdGF0aWNfYWNjZXNzb3JfU0VMRl8zN2M1ZDQxOGU0YmY1ODE5AAYDd2JnF19fd2JpbmRnZW5fZGVidWdfc3RyaW5nAAwDd2JnEF9fd2JpbmRnZW5fdGhyb3cAAwN3YmcoX193YmdfaW5zdGFuY2VvZl9XaW5kb3dfZGVmNzNlYTA5NTVmYzU2OQAFA3diZxxfX3diaW5kZ2VuX2Nsb3N1cmVfd3JhcHBlcjk0ABIDd2JnHF9fd2JpbmRnZW5fY2xvc3VyZV93cmFwcGVyOTUAEgN3YmcfX193YmluZGdlbl9pbml0X2V4dGVybnJlZl90YWJsZQAHA4wBigEEAwgAAQcHAgMOAwAEAwQKAAABAQMdAwYEAQEKBwMeAQEDAwYBAQMBAh8DAwICBAQBAQQCAgICAgICAgICAgICAgICAgMPIAILBAQEBAEDACEBAgQKAg4DIiMKDyQmKAcLAAQBAwIBAgICAgICASorAQsEBAsBAQIBCAIEBBEBAQcDAwMsCAgICAcECQJwAUREbwCAAQUDAQARBg8CfwFBgIDAAAt/AUGAAQsHuAIRBm1lbW9yeQIABXN0YXJ0ADMHcHJvY2VzcwAvCHZhbGlkYXRlAIYBEHNldF9tb3VzZV9wYXJhbXMAQw9yZXNldF95YXdfcGl0Y2gAjQENZ2V0X3lhd19waXRjaACrAQxwb2xsX2dhbWVwYWQAfhRfX3diaW5kZ2VuX2V4bl9zdG9yZQClARdfX2V4dGVybnJlZl90YWJsZV9hbGxvYwBFE19fd2JpbmRnZW5fZXhwb3J0XzIBARFfX3diaW5kZ2VuX21hbGxvYwB7El9fd2JpbmRnZW5fcmVhbGxvYwCEARNfX3diaW5kZ2VuX2V4cG9ydF81AQAPX193YmluZGdlbl9mcmVlAHgYY2xvc3VyZTI4X2V4dGVybnJlZl9zaGltAJ0BEF9fd2JpbmRnZW5fc3RhcnQAtwEJcAMAQQELBp4BowFBXlNOAEEJCzqsAaQBQDKIAVeJAYgBhwGPAY4BiQGJAYoBiwGMAbEBrwGmAZABcpABb2djcGZrcWFuZW1saGppYmSVAVV1X1pZO5IBkgFSP3+tAVGXAZkBmAGWAZoBAEHDAAsBnQEK984DigHMPgEhfyABIAJBBnRqISMgACgCHCEhIAAoAhghHyAAKAIUIR4gACgCECEcIAAo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59Cl07aN27buADcAABAPIRQgAkUNDUI0IRBCASERIAIhAQNAAkAgAUEBcQRAIBAgEX4hESABQQFGDQELIAFBAXYhASAQIBB+IRAMAQsLIBFQDQxCACESQn8CfiAURAAAAAAAAAAAZiIAIBREAAAAAAAA8ENjcQRAIBSxDAELQgALQgAgABsgFET////////vQ2QbIBGCIRMgAkEnaiEOAkADQEGQvsAALQAAGiASIBN8IBGCIRAgBi0AACEAIAIQMCEIAkAgAEUEQCAIRQ0IIAhBBGstAABBA3FFDQEgCEEAIAIQRgwBCyAIRQ0IIAggACACEEYLIBJCAXwhEiACIQEDQCAQIBBCNIAiEELM////D358pyIAQTNLDQYgAUEBayIBIAhqIAAgBmotAAA6AAAgAQ0ACyAHIQAgBCEBA0AgASACSQ0CIAFBAWshASAAIAggAhB9IABBAWohAA0ACyAIQQRrKAIAIgBBeHEiAUEEQQggAEEDcSIAGyACakkNESAAQQAgASAOSxsNECAIEDUgESASUg0AC0G8hsAAQShB5IbAABCBAQALIAZBBGsoAgAiAEF4cSIBQThBPCAAQQNxIgAbSQ0PIABBACABQdwATxsNDiAGEDUgDCANaiIAIAI2AgggACAINgIEIAAgAjYCACAKQQFqIgpBDUcNAAtBACECIAMoAiQhACADKAIgIQ0DQAJAIAAgBSACQQxsIgFqIggoAggiBEkNACAAIARrIQcgASAMaiEKQQAhAQNAAkACQAJAIAEgASAEaiIGTQRAIAAgBkkNASAEIAgoAghHDQMgASANaiIGIAgoAgQgBBB9DQMgBCAKKAIIIg5HDQIgBiAKKAIEIAQQORoMAwsgASAGQcyIwAAQqQEACyAGIABBzIjAABCqAQALIwBBMGsiACQAIAAgBDYCBCAAIA42AgAgAEEDNgIMIABBkKTAADYCCCAAQgI3AhQgACAAQQRqrUKAgICAkAGENwMoIAAgAK1CgICAgJABhDcDICAAIABBIGo2AhAgAEEIakHciMAAEIUBAAsgASAHTw0BIAEgASAHSWoiASAHTQ0ACwsgAkEBaiICQQ1HDQALIAMoAiAhASADIAMoAiQiADYCXCADIAE2AlggA0HEAGogA0HYAGoQRCADKAJEIgRFBEBBACEBQQEhBAwKCyADKAJIIQEgAygC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rcAAEIEBAAtBqK3AAEEuQditwAAQgQEACyAAIAQ2AjxBAUEAIABBPGpBuILAAEHsh8AAEHMACyAAIAg3AkggACAHNwJAIAAgAjYCPAwEC0HprMAAQS5BmK3AABCBAQALQaitwABBLkHYrcAAEIEBAAsgACAENgI8QQFBACAAQTxqQbiCwABB3IfAABBzAAsgACABNgI8C0EBQQAgAEE8akHMhMAAQdyEwAAQcwALuQkCDH8FfiMAQaACayIAJABBkL7AAC0AABoCQAJAAkACQAJAQRMQMCIDBEAgA0EPaiICQYeDwAAoAAA2AAAgA0EIaiIBQYCDwAApAAA3AAAgA0H4gsAAKQAANwAAIABB4ABqQgA3AwAgAEHYAGpCADcDACAAQdAAakIANwMAIABByABqQgA3AwAgAEFAa0IANwMAIABBOGpCADcDACAAQTBqIgRCADcDACAAQQhqQZCBwAApAwA3AwAgAEEQakGYgcAAKQMANwMAIABBGGpBoIHAACkDADcDACAAQgA3AyggAEGIgcAAKQMANwMAIABBADoAaCAAQgA3AyAgBCABKQAANwMAIABBN2ogAigAADYAACAAQRM6AGggACADKQAANwMoIABBkAFqIgUgAEHwABA5GiAAQZgCaiICQgA3AwAgAEGQAmoiAUIANwMAIABBiAJqIgRCADcDACAAQgA3A4ACIAUgAEG4AWoiCSAAQYACahA8IABBiAFqIgYgAikDADcDACAAQYABaiIHIAEpAwA3AwAgAEH4AGoiASAEKQMANwMAIAAgACkDgAI3A3BBkL7AAC0AABpBIBAwIgJFDQEgAiAAKQNwNwAAIAJBGGogBikDADcAACACQRBqIAcpAwA3AAAgAkEIaiABKQMANwAAIANBBGsoAgAiAUF4cSIEQRdBGyABQQNxIgEbSQ0CIAFBACAEQTpLGw0DIAMQNUJ+IQwgAEEoaiIBQThqIQYgAUEwaiEHIAFBKGohCkGQgcAAKQMAIQ1BmIHAACkDACEOQaCBwAApAwAhD0GIgcAAKQMAIRADQCABQgA3AwAgBkIANwMAIAdCADcDACAKQgA3AwAgAUEgakIANwMAIAFBGGoiA0IANwMAIAFBEGoiBEIANwMAIAFBCGoiBUIANwMAIABBCGogDTcDACAAQRBqIA43AwAgAEEYaiAPNwMAIABBADoA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aiAFQRBqKQIANwMAIAZBMGogBUEYaigCADYCACAGIAUpAhw3AgggBSkCACEJIAZBwI/AADYCOCAGIAk3AxggBiAGQRdqNgIQIAYgBkEIaiIFNgI0IAUgASACED8NACAFQayPwABBAhA/DQAgAyAGQRhqIAQRAQANACAGKAI0QeSPwABBAiAGKAI4KAIMEQAAIQcLIABBAToABSAAIAc6AAQgBkFAayQAIAALoAQBBn8jAEEwayIAJAACQAJAAkACQEHIucAAKAIARQRAQeC5wAAoAgAhAUHgucAAQQA2AgAgAUUNASAAQRhqIAERAgAgAEEQaiICIABBJGopAgA3AwAgACAAKQIcNwMIIAAoAhghAUHIucAAKAIAIgQNBAJAIARFDQBBzLnAACgCACICRQ0AQdC5wAAoAgAiBEEEaygCACIDQXhxIgUgAkECdCICQQRBCCADQQNxIgMbakkNAyADQQAgBSACQSdqSxsNBCAEEDULQcy5wAAgATYCAEHIucAAQQE2AgBB0LnAACAAKQMINwIAQdi5wAAgAEEQaikDADcCAAsgAEEwaiQADwsgAEEANgIoIABBATYCHCAAQcixwAA2AhggAEIENwIgIABBGGpB8K/AABCFAQALQemswABBLkGYrcAAEIEBAAtBqK3AAEEuQditwAAQgQEACyAAQShqIAIpAwA3AgAgACAAKQMINwIgIAAgATYCHCAAQQE2AhgCQCAAQRhqIgEoAgBFDQAgASgCBCICRQ0AAkAgASgCCCIEQQRrKAIAIgNBeHEiBSACQQJ0IgJBBEEIIANBA3EiAxtqTwRAIANBACAFIAJBJ2pLGw0BIAQQNQwCC0HprMAAQS5BmK3AABCBAQALQaitwABBLkHYrcAAEIEBAAsgAEEANgIoIABBATYCHCAAQZCwwAA2AhggAEIENwIgIAFBmLDAABCFAQAL8QIBBH8gACgCDCECAkACQCABQYACTwRAIAAoAhghAwJAAkAgACACRgRAIABBFEEQIAAoAhQiAhtqKAIAIgENAUEAIQIMAgsgACgCCCIBIAI2AgwgAiABNgIIDAELIABBFGogAEEQaiACGyEEA0AgBCEFIAEiAkEUaiACQRBqIAIoAhQiARshBCACQRRBECABG2ooAgAiAQ0ACyAFQQA2AgALIANFDQIgACAAKAIcQQJ0QcC6wABqIgEoAgBHBEAgA0EQQRQgAygCECAARhtqIAI2AgAgAkUNAwwCCyABIAI2AgAgAg0BQdy9wABB3L3AACgCAEF+IAAoAhx3cTYCAAwCCyAAKAIIIgAgAkcEQCAAIAI2AgwgAiAANgIIDwtB2L3AAEHYvcAAKAIAQX4gAUEDdndxNgIADwsgAiADNgIYIAAoAhAiAQRAIAIgATYCECABIAI2AhgLIAAoAhQiAEUNACACIAA2AhQgACACNgIYCwvKAgEGfyABIAJBAXRqIQkgAEGA/gNxQQh2IQogAEH/AXEhDAJAAkACQAJAA0AgAUECaiELIAcgAS0AASICaiEIIAogAS0AACIBRwRAIAEgCksNBCAIIQcgCyIBIAlHDQEMBAsgByAISw0BIAQgCEkNAiADIAdqIQEDQCACRQRAIAghByALIgEgCUcNAgwFCyACQQFrIQIgAS0AACABQQFqIQEgDEcNAAsLQQAhAgwDCyAHIAhB/JXAABCpAQALIAggBEH8lcAAEKoBAAsgAEH//wNxIQcgBSAGaiEDQQEhAgNAIAVBAWohAAJAIAUsAAAiAUEATgRAIAAhBQwBCyAAIANHBEAgBS0AASABQf8AcUEIdHIhASAFQQJqIQUMAQtB7JXAABCoAQALIAcgAWsiB0EASA0BIAJBAXMhAiADIAVHDQALCyACQQFxC7sCAQZ/IwBBEGsiAyQAQQohAgJAIABBkM4ASQRAIAAhBAwBCwNAIANBBmogAmoiBUEEayAAQZDOAG4iBEHwsQNsIABqIgZB//8DcUHkAG4iB0EBdEHwj8AAai8AADsAACAFQQJrIAdBnH9sIAZqQf//A3FBAXRB8I/AAGovAAA7AAAgAkEEayECIABB/8HXL0sgBCEADQALCwJAIARB4wBNBEAgBCEADAELIAJBAmsiAiADQQZqaiAEQf//A3FB5ABuIgBBnH9sIARqQf//A3FBAXRB8I/AAGovAAA7AAALAkAgAEEKTwRAIAJBAmsiAiADQQZqaiAAQQF0QfCPwABqLwAAOwAADAELIAJBAWsiAiADQQZqaiAAQTByOgAACyABQQFBACADQQZqIAJqQQogAmsQPSADQRBqJAAL1wIBBX8jAEFAaiICJAACQCAAKAIAIgQtAABFBEAgASgCHEGTscAAQQQgASgCICgCDBEAACEADAELQQEhACABKAIcIgNBl7HAAEEEIAEoAiAiBigCDCIFEQAADQAgBEEBaiEEAkAgAS0AFEEEcUUEQCADQemPwABBASAFEQAADQIgBCABEEcNAiABKAIcIQMgASgCICgCDCEFDAELIANB6o/AAEECIAURAAANASACQQE6ABcgAkEgaiABQQhqKQIANwMAIAJBKGogAUEQaikCADcDACACQTBqIAFBGGooAgA2AgAgAiAGNgIMIAIgAzYCCCACQcCPwAA2AjggAiABKQIANwMYIAIgAkEXajYCECACIAJBCGo2AjQgBCACQRhqEEcNASACKAI0QeSPwABBAiACKAI4KAIMEQAADQELIANBsLDAAEEBIAURAAAhAAsgAkFAayQAIAALugIBBH9BHyECIABCADcCECABQf///wdNBEAgAUEGIAFBCHZnIgNrdkEBcSADQQF0a0E+aiECCyAAIAI2AhwgAkECdEHAusAAaiEEQQEgAnQiA0HcvcAAKAIAcUUEQCAEIAA2AgAgACAENgIYIAAgADYCDCAAIAA2AghB3L3AAEHcvcAAKAIAIANyNgIADwsCQAJAIAEgBCgCACIDKAIEQXhxRgRAIAMhAgwBCyABQRkgAkEBdmtBACACQR9HG3QhBQNAIAMgBUEddkEEcWpBEGoiBCgCACICRQ0CIAVBAXQhBSACIQMgAigCBEF4cSABRw0ACwsgAigCCCIBIAA2AgwgAiAANgIIIABBADYCGCAAIAI2AgwgACABNgIIDwsgBCAANgIAIAAgAzYCGCAAIAA2AgwgACAANgIIC5UCAQl/AkACQCABKAIEIgQgASgCACIFayIDQQBOBH8gBCAFRgRAQQEhBkEAIQMMAwtBkL7AAC0AABogAxAwIgYNAUEBBSACCyADQbyEwAAQoQEACyABKAIMIQcgASgCCCEBIAUgBEEBa0cEQCADQf7///8HcSEEA0AgAiAGaiIIIAIgBWoiCS0AACABIAJqIgogBy0AAGpB/wBxczoAACAIQQFqIAlBAWotAAAgCiAHLQAAakEBakH/AHFzOgAAIAQgAkECaiICRw0ACyABIAJqIQELIANBAXFFDQAgAiAGaiACIAVqLQAAIActAAAgAWpB/wBxczoAACACQQFqIQILIAAgAjYCCCAAIAY2AgQgACADNgIAC9wCAgV/AW8jAEEgayIBJAAgAUEYakGk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mLrAACABNgIAQZS6wABBAToAAAsgARCnASIBJQEQKiIDIAFBhAFJckUEQCABEJMBCyAAIAE2AgQgACADQQBHNgIAIAJBIGokAA8LIAJBADYCGCACQQE2AgwgAkHIscAANgIIIAJCBDcCECACQQhqQfCvwAAQhQEACyABQYMBSwRAIAEQkwELIAJBADYCGCACQQE2AgwgAkGQsMAANgIIIAJCBDcCECACQQhqQZiwwAAQhQEAC7kBAQJ/IwBBIGsiAyQAAkACf0EAIAEgASACaiICSw0AGkEAQQggACgCACIBQQF0IgQgAiACIARJGyICIAJBCE0bIgRBAEgNABpBACECIAMgAQR/IAMgATYCHCADIAAoAgQ2AhRBAQUgAgs2AhggA0EIaiAEIANBFGoQeSADKAIIQQFHDQEgAygCECEAIAMoAgwLIABB2IzAABChAQALIAMoAgwhASAAIAQ2AgAgACABNgIEIANBIGokAAu5AQECfyMAQSBrIgMkAAJAAn9BACABIAEgAmoiAksNABpBAEEIIAAoAgAiAUEBdCIEIAIgAiAESRsiAiACQQhNGyIEQQBIDQAaQQAhAiADIAEEfyADIAE2AhwgAyAAKAIENgIUQQEFIAILNgIYIANBCGogBCADQRRqEHkgAygCCEEBRw0BIAMoAhAhACADKAIMCyAAQfSzwAAQoQEACyADKAIMIQEgACAENgIAIAAgATYCBCADQSBqJAAL4AEBA38jAEEQayICJAAgAiAAKAIAIgBBBGo2AgQgASgCHEH2sMAAQQkgASgCICgCDBEAACEDIAJBADoADSACIAM6AAwgAiABNgIIIAJBCGpB/7DAAEELIABBBRBJQYqxwABBCSACQQRqQQYQSSEAIAItAA0iAyACLQAMIgRyIQECQCAEQQFxIANBAUdyDQAgACgCACIALQAUQQRxRQRAIAAoAhxB54/AAEECIAAoAiAoAgwRAAAhAQwBCyAAKAIcQeaPwABBASAAKAIgKAIMEQAAIQELIAJBEGokACABQQFxC9sBAQN/IwBBEGsiAiQAIAIgAEEMajYCBCABKAIcQYS0wABBDSABKAIgKAIMEQAAIQMgAkEAOgANIAIgAzoADCACIAE2AgggAkEIakGRtMAAQQUgAEEDEElBlrTAAEEFIAJBBGpBBBBJIQAgAi0ADSIDIAItAAwi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LEUEQCABKQMQIQMgAq0hBAwBCyABKQIUIQMgASkCMCEEIAEoAhAiAkGAgICAeEYNACABIAQ3AjggASADNwIwIAEgAjYCLEEBQQAgAUEsakHMhMAAQdyEwAAQcwALIAAgBD4CCCAAIAM3AgAgAUFAayQAC9MBAgJ/An4jAEFAaiIBJAAgAUEANgIkIAFBz4HAADYCICABQc2BwAA2AhwgAUHYADoADyABIAFBD2o2AiggAUEQaiABQRxqEFAgAUEsaiABKAIUIAEoAhgiAhA6AkAgASgCLEUEQCABKQMQIQMgAq0hBAwBCyABKQIUIQMgASkCMCEEIAEoAhAiAkGAgICAeEYNACABIAQ3AjggASADNwIwIAEgAjYCLEEBQQAgAUEsakHMhMAAQdyEwAAQcwALIAAgBD4CCCAAIAM3AgAgAUFAayQAC4IBAQJ/AkACQAJAIABFDQAgASgCACICBEAgACACEQIACyABKAIEIgFFDQAgAEEEaygCACICQXhxIgNBBEEIIAJBA3EiAhsgAWpJDQEgAkEAIAMgAUEnaksbDQIgABA1Cw8LQemswABBLkGYrcAAEIEBAAtBqK3AAEEuQditwAAQgQEAC3oBAX8jAEFAaiIFJAAgBSABNgIMIAUgADYCCCAFIAM2AhQgBSACNgIQIAVBAjYCHCAFQbCPwAA2AhggBUICNwIkIAUgBUEQaq1CgICAgBCENwM4IAUgBUEIaq1CgICAgCCENwMwIAUgBUEwajYCICAFQRhqIAQQhQEAC4oBAgN+AX8jAEEQayEEAkAgAL1CgICAgICAgICAf4NC/////////+8/hL8gAKAiAL0iAkI0iCIBQv8PgyIDQrIIVg0AQv///////////wBCfyABQg18iCADQv8HVBsiASACg1ANACAEIABEAAAAAAAAcEegOQMIIAFCf4UgAoO/IQAgBCsDCBoLIAALbgEDfwJAAkAgACgCACICBEAgACgCBCIAQQRrKAIAIgFBeHEiA0EEQQggAUEDcSIBGyACakkNASABQQAgAyACQSdqSxsNAiAAEDULDwtB6azAAEEuQZitwAAQgQEAC0GorcAAQS5B2K3AABCBAQALewEBfyMAQRBrIgMkAEGsusAAQay6wAAoAgAiBEEBajYCAAJAIARBAEgNAAJAQYi+wAAtAABFBEBBhL7AAEGEvsAAKAIAQQFqNgIAQai6wAAoAgBBAE4NAQwCCyADQQhqIAAgAREDAAALQYi+wABBADoAACACRQ0AAAsAC2oCAX8BfiMAQTBrIgMkACADIAE2AgQgAyAANgIAIANBAjYCDCADQYSOwAA2AgggA0ICNwIUIANCgICAgJABIgQgA62ENwMoIAMgBCADQQRqrYQ3AyAgAyADQSBqNgIQIANBCGogAhCFAQALZAEBfwJAAkAgAQRAIABBBGsoAgAiAkF4cSIDQQRBCCACQQNxIgIbIAFqSQ0BIAJBACADIAFBJ2pLGw0CIAAQNQsPC0HprMAAQS5BmK3AABCBAQALQaitwABBLkHYrcAAEIEBAAtYAQF/An8gAigCBARAAkAgAigCCCIDRQRADAELIAIoAgAgA0EBIAEQNwwCCwtBkL7AAC0AABogARAwCyECIAAgATYCCCAAIAJBASACGzYCBCAAIAJFNgIAC1oBAX8jAEEwayIDJAAgAyABNgIMIAMgADYCCCADQQE2AhQgA0GcjcAANgIQIANCATcCHCADIANBCGqtQoCAgIAghDcDKCADIANBKGo2AhggA0EQaiACEIUBAAtIAAJAIAFpQQFHQYCAgIB4IAFrIABJcg0AIAAEQEGQvsAALQAAGgJ/IAFBCU8EQCABIAAQSAwBCyAAEDALIgFFDQELIAEPCwAL0QsBCX8jAEEgayIGJAAgBiABNgIIIAYgAEEEajYCDCAGIAZBH2o2AhggBiAGQQxqNgIUIAYgBkEIajYCECAGQRBqIQQjAEEwayIDJAAgACIBKAIAIQACQAJAAkACQAJAA0ACQAJAAkAgAEEDcSIIQQFrDgMBBAcACyAEDQELIANBGGogCHIhCQJAA0AgACECAkACQAJ/QYy+wAAoAgAiAEECTQRAIANBCGogABBYIAMoAgghByADKAIMDAELIABBCGshBQJAIABBoLrAAEYiAARAQQAhBwwBC0EBIQcgBSAFKAIAIgpBAWo2AgAgCkEASA0CC0GgusAAIAUgABsLIQUgASAJIAEoAgAiACAAIAJGGzYCACADQQA6ACQgAyAHNgIYIAMgBTYCHCADIAJBfHE2AiAgACACRw0BIAMtACRFBEADQAJ/QYy+wAAoAgAiAEECTQRAIAMgABBYIAMoAgAhACADKAIEDAELIABBCGshAgJAIABBoLrAAEYiBwRAQQAhAAwBC0EBIQAgAiACKAIAIgVBAWo2AgAgBUEASA0EC0GgusAAIAIgBxsLIQICQCAARQ0AIAIgAigCACIAQQFrNgIAIABBAUcNACACEFYLIAMtACRFDQALCyADKAIYIgBBAkYgAEVyDQMgAygCHCIAIAAoAgAiAEEBazYCACAAQQFHDQMgAygCHBBWDAMLAAsgCCAAQQNxRgRAIAMoAhgiAkECRiACRXINASADKAIcIgIgAigCACICQQFrNgIAIAJBAUcNASADKAIcEFYMAQsLIAMoAhgiAEECRiAARXINACADKAIcIgAgACgCACIAQQFrNgIAIABBAUcNACADKAIcEFYLIAEoAgAhAAwBCyABIABBAWogASgCACICIAAgAkYbNgIAIAAgAkcgAiEADQALAn8gBCgCACEAIARBBGooAgAhByMAQSBrIgIkACAAKAIAIQQgAEEANgIAIAQoAhAhACAEQQA2AhACQAJAIAAEQCACQQhqIAARAgAgBygCACIAKAIAIgRBgICAgHhGIARFckUEQCAAKAIEIgBBBGsoAgAiBUF4cSIIQQRBCCAFQQNxIgUbIARqSQ0CIAVBACAIIARBJ2pLGw0DIAAQNSAHKAIAIQALIAAgAikCCDcCACAAQQhqIAJBEGooAgA2AgAgAkEgaiQAQQEMAwsgAkEANgIYIAJBATYCDCACQcixwAA2AgggAkIENwIQIAJBCGpBrLLAABCFAQALQemswABBLkGYrcAAEIEBAAtBqK3AAEEuQditwAAQgQEACyECIAEoAgAhACABQQJBACACGzYCACADIABBA3EiATYCFCABQQFHDQEgAEEBayIARQ0AA0AgACIBKAIAIQQgAEECNgIAIARBAkYNAyAAKAIEIQIgACgCCCEAIAFBAToADAJAIARFDQAgAiACKAIAIgFBAWs2AgAgAUEBRw0AIAIQVgsgAA0ACwsgA0EwaiQADAMLIANBADYCGCMAQRBrIgEkACABQbyrwAA2AgwgASADQRRqNgIIIwBB8ABrIgAkACAAQZSOwAA2AgwgACABQQhqNgIIIABBlI7AADYCFCAAIAFBDGo2AhAgAEECNgIcIABBpI7AADYCGAJAIANBGGoiASgCAEUEQCAAQQM2AlwgAEHYjsAANgJYIABCAzcCZCAAIABBEGqtQoCAgIAQhDcDSCAA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fyMAQRBrIgskACMAQYAGayICJAAgAiABNgLQAiACIAA2AswCIAIgATYCyAIgAkEQaiACQcgCakGktsAAEGAgAigCFCEJIAIoAhAhCkHqucAALQAARQRAQei5wABBAToAAAsgAkEIahBbAkACQAJAIAIoAggEQCACKAIMIgAQtAEiAUUNASAAQYQBTwRAIAAQkwELIAIgATYCyAIgAkEBOgCwASACQbABaiACQcgCahA2IAItALABDQIMAwtB7ITAABCoAQALQfyEwAAQqAEAC0HoucAAQQE6AAAQNAsgAUGEAU8EQCABEJMBC0EAIQAgAkEYagJ/Qei5wAAtAABFBEAgAkHQAmpB9IjAACkAADcDACACQdgCakIANwMAIAJB4AJqQgA3AwAgAkHoAmpCADcDACACQfACakIANwMAIAJB+AJqQgA3AwAgAkGAA2pCADcDACACQeyIwAApAAA3A8gCA0AgAkHIAmoiAyAAaiIEIAQtAABBNnM6AAAgBEEBaiIBIAEtAABBNnM6AAAgBEECaiIBIAEtAABBNnM6AAAgBEEDaiIBIAEtAABBNnM6AAAgAEEEaiIAQcAARw0AC0EAIQAgAkEwakGggcAAKQMANwMAIAJBKGpBmIHAACkDADcDACACQSBqQZCBwAApAwA3AwAgAkIBNwM4IAJBiIHAACkDADcDGCACQRhqIANBARAuA0AgAkHIAmoiByAAaiIDIAMtAABB6gBzOgAAIANBAWoiASABLQAAQeoAczoAACADQQJqIgEgAS0AAEHqAHM6AAAgA0EDaiIBIAEtAABB6gBzOgAAIABBBGoiAEHAAEcNAAsgAkHIAWoiBEGggcAAKQMANwMAIAJBwAFqIgNBmIHAACkDADcDACACQbgBaiIBQZCBwAApAwA3AwAgAkHQAWoiAEIBNwMAIAJBiIHAACkDADcDsAEgAkGwAWogB0EBEC4gAkHIBGogACkDADcDACACQcAEaiAEKQMANwMAIAJBuARqIAMpAwA3AwAgAkGwBGogASkDADcDACACQYgEaiACQSBqKQMANwMAIAJBkARqIAJBKGopAwA3AwAgAkGYBGogAkEwaikDADcDACACQaAEaiACQThqKQMANwMAIAIgAikDsAE3A6gEIAIgAikDGDcDgAQgAkGYA2pBAEHBABBGIAcgAkGABGpB0AAQORogBwwBCyACQdACakGEicAAKQAANwMAIAJB2AJqQgA3AwAgAkHgAmpCADcDACACQegCakIANwMAIAJB8AJqQgA3AwAgAkH4AmpCADcDACACQYADakIANwMAIAJB/IjAACkAADcDyAIDQCACQcgCaiIDIABqIgQgBC0AAEE2czoAACAEQQFqIgEgAS0AAEE2czoAACAEQQJqIgEgAS0AAEE2czoAACAEQQNqIgEgAS0AAEE2czoAACAAQQRqIgBBwABHDQALQQAhACACQTBqQaCBwAApAwA3AwAgAkEoakGYgcAAKQMANwMAIAJBIGpBkIHAACkDADcDACACQgE3AzggAkGIgcAAKQMANwMYIAJBGGogA0EBEC4DQCACQcgCaiIHIABqIgMgAy0AAEHqAHM6AAAgA0EBaiIBIAEtAABB6gBzOgAAIANBAmoiASABLQAAQeoAczoAACADQQNqIgEgAS0AAEHqAHM6AAAgAEEEaiIAQcAARw0ACyACQcgBaiIEQaCBwAApAwA3AwAgAkHAAWoiA0GYgcAAKQMANwMAIAJBuAFqIgFBkIHAACkDADcDACACQdABaiIAQgE3AwAgAkGIgcAAKQMANwOwASACQbABaiAHQQEQLiACQcgEaiAAKQMANwMAIAJBwARqIAQpAwA3AwAgAkG4BGogAykDADcDACACQbAEaiABKQMANwMAIAJBiARqIAJBIGopAwA3AwAgAkGQBGogAkEoaikDADcDACACQZgEaiACQTBqKQMANwMAIAJBoARqIAJBOGopAwA3AwAgAiACKQOwATcDqAQgAiACKQMYNwOABCACQZgDakEAQcEAEEYgByACQYAEakHQABA5GiAHC0GYARA5GiACQegAaiEEAkACQAJAQcAAIAItAKgBIgNrIgEgCU0EQCAJIQYgCiEAIAMNAQwCCyADIARqIAogCRA5GiADIAlqIQMMAgsgAyAEaiAKIAEQORogAiACKQM4QgF8NwM4IAJBGGogBEEBEC4gASAKaiEAIAkgAWshBgsgBkE/cSEDIAZBwABPBEAgAiACKQM4IAZBBnYiAa18NwM4IAJBGGogACABEC4LIAQgACAGQUBxaiADEDkaCyACIAM6AKgBIAJBsAFqIgUgAkEYakGYARA5GiACQfgDaiIEQgA3AwAgAkHwA2oiA0IANwMAIAJB6ANqIgFCADcDACACQgA3A+ADIAJB6ARqIgZCADcDACACQeAEaiIMQgA3AwAgAkHYBGoiB0IANwMAIAJCADcD0AQgBSACQYACaiIAIAJB0ARqEDwgAkGYAmogBikDADcDACACQZACaiAMKQMANwMAIAJBiAJqIAcpAwA3AwAgAkEgOgDAAiACIAIpA9AENwOAAiACQdgBaiAAIAJB4ANqEDwgBiAEKQMANwMAIAwgAykDADcDACAHIAEpAwA3AwAgAiACKQPgAzcD0AQgAkEANgL8BSACQoCAgIAQNwL0BSACQfQFakEAQcAAEF0gBUEDciEMIAVBAnIhByAFQQFyIQRBgIDEACEDQQAhBgNAAkACQCADQYCAxABHBEBBgIDEACEBDAELIAZBIEYNASACQdAEaiAGaiAGQQFqIQYtAAAiAEEPcUG8ssAAai0AACEBIABBBHZBvLLAAGotAAAhAwsgA0GAAU8EQCACQQA2ArABAn8gA0GAEE8EQCADQYCABE8EQCACIANBEnZB8AFyOgCwASACIANBBnZBP3FBgAFyOgCyASACIANBDHZBP3FBgAFyOgCxASAMIQBBBAwCCyACIANBDHZB4AFyOgCwASACIANBBnZBP3FBgAFyOgCxASAHIQBBAwwBCyACIANBBnZBwAFyOgCwASAEIQBBAgshBSAAIANBP3FBgAFyOgAAIAUgAigC9AUgAigC/AUiA2tLBEAgAkH0BWogAyAFEF0gAigC/AUhAwsgAigC+AUgA2ogAkGwAWogBRA5GiACIAMgBWo2AvwFIAEhAwwCCyACKAL8BSIPIAIoAvQFRgRAIwBBIGsiCCQAIAJB9AVqIg4oAgAiDUF/RgRAQQBBAEGYs8AAEKEBAAtBCCANQQF0IgUgDUEBaiIAIAAgBUkbIgAgAEEITRsiBUEASARAQQBBAEGYs8AAEKEBAAsgCCANBH8gCCANNgIcIAggDigCBDYCFEEBBUEACzYCGCAIQQhqIAUgCEEUahB5IAgoAghBAUYEQCAIKAIMIAgoAhBBmLPAABChAQALIAgoAgwhACAOIAU2AgAgDiAANgIEIAhBIGokAAsgAigC+AUgD2ogAzoAACACIA9BAWo2AvwFIAEhAwwBCwsCQAJAAkAgCQRAIApBBGsoAgAiAEF4cSIBQQRBCCAAQQNxIgAbIAlqSQ0BIABBACABIAlBJ2pLGw0CIAoQNQsgAiACQfQFakGsq8AAEGAgAigCBCEAIAsgAigCADYCACALIAA2AgQgAkGABmokAAwCC0HprMAAQS5BmK3AABCBAQALQaitwABBLkHYrcAAEIEBAAsgCygCACALKAIEIAtBEGokAAseACAARQRAEK4BAAsgACACIAMgBCAFIAEoAhARCgALHAAgAEUEQBCuAQALIAAgAiADIAQgASgCEBEOAAscACAARQRAEK4BAAsgACACIAMgBCABKAIQEQsACxwAIABFBEAQrgEACyAAIAIgAyAEIAEoAhARJQALHAAgAEUEQBCuAQALIAAgAiADIAQgASgCEBEnAAscACAARQRAEK4BAAsgACACIAMgBCABKAIQESkACzIBAXwQDyEAQfi5wABCADcDAEHwucAAIABEAAAAAABAj0CjRBgtRFT7IRlAELIBOQMACxoAIABFBEAQrgEACyAAIAIgAyABKAIQEQQACxgAIABFBEAQrgEACyAAIAIgASgCEBEBAAsYACAARQRAEK4BAAsgACACIAEoAhARAwALGgEBbyAAJQEgASUBEAEhAhBFIgAgAiYBIAALGgBBkLrAAEEBOgAAIAFBhAFPBEAgARCTAQsLFgAgAEGEAU8EQCAA0G8mASAAEIABCwsYAQFvIAAlASABEBohAhBFIgAgAiYBIAALFQAgACgCACIAQYQBTwRAIAAQkwELCxcBAX8gABAkIgE2AgQgACABQQBHNgIACxcBAX8gABAlIgE2AgQgACABQQBHNgIACxcBAX8gABAmIgE2AgQgACABQQBHNgIACxcBAX8gABAnIgE2AgQgACABQQBHNgIACxwAIABBADYCECAAQgA3AgggAEKAgICAwAA3AgALFgEBbyAAIAEQACECEEUiACACJgEgAAsWAgFvAX8gABAWIQEQRSICIAEmASACCxMAIAAQRSIAIAImASABIAAQkAELFAAgACgCACABIAAoAgQoAgwRAQALEAAgACUBIAEgAiADJQEQDgsRACAAJQEgASUBIAIlARAXGgsOACAARQRAIAIQgwELAAvCCAEFfyMAQfAAayIEJAAgBCADNgIMIAQgAjYCCAJAAkACQAJAAkACQCAEAn8gAAJ/AkAgAUGBAk8EQEEDIAAsAIACQb9/Sg0CGiAALAD/AUG/f0wNAUECDAILIAQgATYC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FgAAAP4AEAAKAAAA3wIAABUAAAD+ABAACgAAAKcAAAAeAAAA/gAQAAoAAACoAAAAMgAAAEEE7aUviXpcq8xRA0AMAAsR+BJmdAGgiD+zG/7BnRMM/gAQAAoAAADRAQAAIwAAAAAAAkFCQ0RFRkdISUpLTE1OT1BRUlNUVVZXWFlaYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXowMTIzNDU2Nzg5Ky//////////////////////////////////////////////////////////Pv///z80NTY3ODk6Ozw9/////////wABAgMEBQYHCAkKCwwNDg8QERITFBUWFxgZ////////GhscHR4fICEiIyQlJicoKSorLC0uLzAxMjP/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AP4AEAAKAAAABgIAAHMAAAD+ABAACgAAAAUCAABsAAAA/gAQAAoAAAAEAgAAaAAAAP4AEAAKAAAAKQIAABsAAABjYXBhY2l0eSBvdmVyZmxvdwAAACAGEAARAAAAbGlicmFyeS9hbGxvYy9zcmMvcmF3X3ZlYy5yczwGEAAcAAAAKAIAABEAAABsaWJyYXJ5L2FsbG9jL3NyYy9zdHJpbmcucnMAaAYQABsAAADqAQAAFwAAAO+/vQAuLgAAAQAAAAAAAABbY2FsbGVkIGBPcHRpb246OnVud3JhcCgpYCBvbiBhIGBOb25lYCB2YWx1ZWluZGV4IG91dCBvZiBib3VuZHM6IHRoZSBsZW4gaXMgIGJ1dCB0aGUgaW5kZXggaXMgAADQBhAAIAAAAPAGEAASAAAAAAAAAAQAAAAEAAAAOQAAAD09YXNzZXJ0aW9uIGBsZWZ0ICByaWdodGAgZmFpbGVkCiAgbGVmdDogCiByaWdodDogAAAmBxAAEAAAADYHEAAXAAAATQcQAAkAAAAgcmlnaHRgIGZhaWxlZDogCiAgbGVmdDogAAAAJgcQABAAAABwBxAAEAAAAIAHEAAJAAAATQcQAAkAAAA6IAAAAQAAAAAAAACsBxAA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T2/hVJ28YVUAz2FWZdGhVgDaIVcA4KFYruIhWuzk4VvQ6GFcIADuXPABf10AcAAHAC0BAQECAQIBAUgLMBUQAWUHAgYCAgEEIwEeG1sLOgkJARgEAQkBAwEFKwM7CSoYASA3AQEBBAgEAQMHCgIdAToBAQECBAgBCQEKAhoBAgI5AQQCBAICAwMBHgIDAQsCOQEEBQECBAEUAhYGAQE6AQECAQQIAQcDCgIeATsBAQEMAQkBKAEDATcBAQMFAwEEBwILAh0BOgECAgEBAwMBBAcCCwIcAjkCAQECBAgBCQEKAh0BSAEEAQIDAQEIAVEBAgcMCGIBAgkLB0kCGwEBAQEBNw4BBQECBQsBJAkBZgQBBgECAgIZAgQDEAQNAQICBgEPAQADAAQcAx0CHgJAAgEHCAECCwkBLQMBAXUCIgF2AwQCCQEGA9sCAgE6AQEHAQEBAQIIBgoCATAfMQQwCgQDJgkMAiAEAgY4AQECAwEBBTgIAgKYAwENAQcEAQYBAwLGQAABwyEAA40BYCAABmkCAAQBCiACUAIAAQMBBAEZAgUBlwIaEg0BJggZCwEBLAMwAQIEAgICASQBQwYCAgICDAEIAS8BMwEBAwICBQIBASoCCAHuAQIBBAEAAQAQEBAAAgAB4gGVBQADAQIFBCgDBAGlAgAEQQUAAk8ERgsxBHsBNg8pAQICCgMxBAICBwE9AyQFAQg+AQwCNAkBAQgEAgFfAwIEBgECAZ0BAwgVAjkCAQEBAQwBCQEOBwMFQwECBgEBAgEBAwQDAQEOAlUIAgMBARcBUQECBgEBAgEBAgEC6wECBAYCAQIbAlUIAgEBAmoBAQECCGUBAQECBAEFAAkBAvUBCgQEAZAEAgIEASAKKAYCBAgBCQYCAy4NAQIABwEGAQFSFgIHAQIBAnoGAwEBAgEHAQFIAgMBAQEAAgsCNAUFAxcBAAEGDwAMAwMABTsHAAE/BFEBCwIAAgAuAhcABQMGCAgCBx4ElAMANwQyCAEOARYFAQ8ABwERAgcBAgEFZAGgBwABPQQABP4CAAdtBwBggPAAcmV0dXJuIHRoaXMAALgaEABqAAAAJAEAAA4AAAABAAAAL2hvbWUvam9zaC8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby0xOTQ5Y2Y4YzZiNWI1NTdmL29uY2VfY2VsbC0xLjIxLjMvc3JjL2ltcF9zdGQucnMAwBUQAF8AAACbAAAACQAAAMAVEABfAAAAoQAAADYAAAAvcnVzdC9kZXBzL2RsbWFsbG9jLTAuMi43L3NyYy9kbG1hbGxvYy5yc2Fzc2VydGlvbiBmYWlsZWQ6IHBzaXplID49IHNpemUgKyBtaW5fb3ZlcmhlYWQAQBYQACkAAACoBAAACQAAAGFzc2VydGlvbiBmYWlsZWQ6IHBzaXplIDw9IHNpemUgKyBtYXhfb3ZlcmhlYWQAAEAWEAApAAAArgQAAA0AAAB1c2Ugb2Ygc3RkOjp0aHJlYWQ6OmN1cnJlbnQoKSBpcyBub3QgcG9zc2libGUgYWZ0ZXIgdGhlIHRocmVhZCdzIGxvY2FsIGRhdGEgaGFzIGJlZW4gZGVzdHJveWVkAADoFhAAXgAAAGxpYnJhcnkvc3RkL3NyYy90aHJlYWQvY3VycmVudC5ycwAAAFAXEAAhAAAA/gAAAAkAAABsaWJyYXJ5L3N0ZC9zcmMvdGhyZWFkL21vZC5yc2ZhaWxlZCB0byBnZW5lcmF0ZSB1bmlxdWUgdGhyZWFkIElEOiBiaXRzcGFjZSBleGhhdXN0ZWShFxAANwAAAIQXEAAdAAAArgQAAA0AAADQGBAAWwAAAAgDAAAZAAAAcmVlbnRyYW50IGluaXQAAAAYEAAOAAAA0BgQAFsAAAB6AgAADQAAAEpzVmFsdWUoKQAAACgYEAAIAAAAMBgQAAEAAABjbG9zdXJlIGludm9rZWQgcmVjdXJzaXZlbHkgb3IgYWZ0ZXIgYmVpbmcgZHJvcHBlZFV0ZjhFcnJvcnZhbGlkX3VwX3RvZXJyb3JfbGVuTm9uZVNvbWVMYXp5IGluc3RhbmNlIGhhcyBwcmV2aW91c2x5IGJlZW4gcG9pc29uZWQAAACbGBAAKgAAAC9ob21lL2pvc2gvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tMTk0OWNmOGM2YjViNTU3Zi9vbmNlX2NlbGwtMS4yMS4zL3NyYy9saWIucnMA0BgQAFsAAAAfBQAAGQAAADAxMjM0NTY3ODlhYmNkZWYvcnVzdGMvNGViMTYxMjUwZTM0MGM4ZjQ4ZjY2ZTJiOTI5ZWY0YTViZWQ3YzE4MS9saWJyYXJ5L2FsbG9jL3NyYy9zdHJpbmcucnMATBkQAEsAAACNBQAAGwAAAC9ydXN0Yy80ZWIxNjEyNTBlMzQwYzhmNDhmNjZlMmI5MjllZjRhNWJlZDdjMTgxL2xpYnJhcnkvYWxsb2Mvc3JjL3Jhd192ZWMucnOoGRAATAAAACgCAAARAAAARnJvbVV0ZjhFcnJvcmJ5dGVzZXJyb3IvaG9tZS9qb3NoLy5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTE5NDljZjhjNmI1YjU1N2YvYmFzZTY0LTAuMjIuMS9zcmMvZW5naW5lL21vZC5ycwAAGxoQAF8AAAB7AAAAGwAAADIAAAAUAAAABAAAADMAAABJbnZhbGlkIFVURjgbGhAAXwAAAH8AAAAkAAAAL2hvbWUvam9zaC8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby0xOTQ5Y2Y4YzZiNWI1NTdmL3dhc20tYmluZGdlbi0wLjIuMTAwL3NyYy9jb252ZXJ0L3NsaWNlcy5ycwAAuBoQAGoAAADoAAAAAQBBvrbAAAsT8D8AAAAAAAAAgAAAAAAAAAAAHwBB27bAAAsKgAAAAAAAAAAAIABB77bAAAsKgAAAAAAAAAAAIQBBg7fAAAsKgAAAAAAAAAAAIgBBl7fAAAsKgAAAAAAAAAAAIwBBq7fAAAsKgAAAAAAAAAAAJABBv7fAAAsKgAAAAAAAAAAAJQBB07fAAAsKgAAAAAAAAAAAJgBB57fAAAsKgAAAAAAAAAAAJwBB+7fAAAsKgAAAAAAAAAAAKABBj7jAAAsKgAAAAAAAAAAAKQBBo7jAAAsKgAAAAAAAAAAAKgBBt7jAAAsKgAAAAAAAAAAAKwBBy7jAAAsKgAAAAAAAAAAALABB37jAAAsKgAAAAAAAAAAALQBB87jAAAsKgAAAAAAAAAAALgBBh7nAAAs+gAAAAAAAAAAALwAAAD0AAAACAAAAAAAAAD4AAAACAAAAAAAAAD8AAAACAAAAAAAAAEAAAAACAAAAAAAAAEEAQeC5wAALAUIAcAlwcm9kdWNlcnMCCGxhbmd1YWdlAQRSdXN0AAxwcm9jZXNzZWQtYnkDBXJ1c3RjHTEuODUuMSAoNGViMTYxMjUwIDIwMjUtMDMtMTUpBndhbHJ1cwYwLjIzLjMMd2FzbS1iaW5kZ2VuBzAuMi4xMDAASQ90YXJnZXRfZmVhdHVyZXMEKw9tdXRhYmxlLWdsb2JhbHMrCHNpZ24tZXh0Kw9yZWZlcmVuY2UtdHlwZXMrCm11bHRpdmFsdWU=");var $t={processListeners:[],processDate:null},Bt={},u;Object.assign(Bt,gt(()=>u,$t));var Ae=await WebAssembly.instantiate(It,Bt);u=Ae.instance.exports;var it=B=>Math.floor(Math.random()*B)+1;u.start();var[te,ee]=H(u,[...Array(14)].map(()=>Math.random().toString(36)[2]).join(""));u.set_mouse_params(50,1,.9,!1,te,ee);for(let B=0;B<5;B++)iA.pointermove({movementX:it(5),movementY:it(10)});var Qt=B=>{let A,t;try{let[e,I]=H(u,B),s=u.validate(e,I);return A=s[0],t=s[1],Y(u,A,t)}finally{u.__wbindgen_free(A,t,1)}},st=B=>{for(;B<0;)B+=2*Math.PI;for(;B>=2*Math.PI;)B-=2*Math.PI;return B},ge=(B,A,t,e)=>{let I=st(B),g=st(t)-I;Math.abs(g)>Math.PI&&(g=g>0?g-2*Math.PI:g+2*Math.PI);let Q=e-A,a=.0025,n=.0025,E=Math.round(-g/a),C=Math.round(-Q/n);return{movementX:E,movementY:C}};var at=(B,A)=>{let t=u.get_yaw_pitch(),e=ge(t.yaw,t.pitch,B,A);return iA.pointermove({movementX:e.movementX,movementY:e.movementY}),u.get_yaw_pitch().coords};var sA=class{connected=!1;onceConnected=[];regionList=[];proxy=null;sessionId="";onListeners=new Map;onceListeners=new Map;#A=!1;#t=!1;constructor(A={}){this.#A=A.noExitOnError||!1,A.instance||(A.instance="shellshock.io"),A.protocol||(A.protocol="wss"),A.api?this.api=A.api:this.api=new tA({instance:A.instance,protocol:A.protocol,proxy:A.proxy}),A.sessionId||A.noLogin?this.sessionId=A.sessionId:this.#e(),A.proxy&&!L?this.#g("proxies do not work and hence are not supported in the browser"):A.proxy&&(this.proxy=A.proxy),this.#i(A.instance,A.protocol,A.noLogin)}async#i(A,t,e){if(this.ws=new x(`${t}://${A}/matchmaker/`,this.proxy),!await this.ws.tryConnect())return this.#g("WebSocket did not connect...");this.ws.onmessage=s=>{let g=JSON.parse(s.data);if(g.command==="validateUUID")return this.ws.send(JSON.stringify({command:"validateUUID",hash:Qt(g.uuid)}));this.#I("msg",g)},this.ws.onclose=()=>{this.connected=!1,this.#t||this.#i(A,t,e)},this.connected=!0,(this.sessionId||e)&&this.onceConnected.forEach(s=>s())}async#e(){let A=await this.api.loginAnonymously();(!A||typeof A=="string")&&this.#I("authFail",A),this.sessionId=A.sessionId,this.connected&&this.onceConnected.forEach(t=>t())}send(A){this.ws.send(JSON.stringify(A))}async waitForConnect(){return new Promise(A=>{this.connected?A():this.onceConnected.push(A)})}async getRegions(){await this.waitForConnect();let A=this;return new Promise(t=>{let e=I=>{I.command==="regionList"&&(this.regionList=I.regionList,this.off("msg",e),t(I.regionList))};this.on("msg",e),this.ws.onerror=I=>A.#g("failed to get regions",I),this.ws.send(JSON.stringify({command:"regionList"}))})}close(){this.#t=!0,this.connected=!1,this.ws.close()}on(A,t){this.onListeners.has(A)||this.onListeners.set(A,[]),this.onListeners.get(A).push(t)}once(A,t){this.onceListeners.has(A)||this.onceListeners.set(A,[]),this.onceListeners.get(A).push(t)}off(A,t){this.onListeners.has(A)&&this.onListeners.set(A,this.onListeners.get(A).filter(e=>e!==t)),this.onceListeners.has(A)&&this.onceListeners.set(A,this.onceListeners.get(A).filter(e=>e!==t))}#I(A,...t){this.onListeners.has(A)&&this.onListeners.get(A).forEach(e=>e(...t)),this.onceListeners.has(A)&&(this.onceListeners.get(A).forEach(e=>e(...t)),this.onceListeners.delete(A))}#g(A){this.onListeners.has("error")?this.#I("error",A):(console.error(A),this.#A||process.exit(1))}},ot=sA;var Ie=(B,A)=>(B%A+A)%A,ie=Math.PI*2,nt=B=>Math.round(B*8192)/8192,se=B=>nt(Ie(Math.atan2(-B.x,-B.z),ie)),Be=B=>nt(Math.atan2(B.y,Math.hypot(B.x,B.z))),MA=class{constructor(A){this.pos=A}validate(){return this.pos&&this.pos.x&&this.pos.y&&this.pos.z}check(A){return A.me.playing}execute(A){let t={x:this.pos.x-A.me.position.x,y:this.pos.y-A.me.position.y,z:this.pos.z-A.me.position.z},e=se(t),I=Be(t);A.state.yaw=e,A.state.pitch=I}},O=MA;var GA=class{constructor(A){typeof A=="number"?this.inputKeys=A:typeof A==typeof[]&&(this.inputKeys=A.reduce((t,e)=>t|e,0))}validate(){return!(typeof this.inputKeys!="number"||this.inputKeys&D.Forward&&this.inputKeys&D.Backward||this.inputKeys&D.Left&&this.inputKeys&D.Right)}check(A){return A.me.playing}execute(A){A.state.controlKeys=this.inputKeys}},X=GA;var BA=class{constructor(A,t){this.x=t.x,this.y=t.y,this.z=t.z,this.positionStr=`${this.x},${this.y},${this.z}`,this.position={x:this.x,y:this.y,z:this.z},this.meshType=A.split(".").pop(),this.f=0,this.g=0,this.h=0,this.visited=null,this.parent=null,this.closed=null,this.links=[],this.isStair()&&(t.ry?this.ry=t.ry:this.ry=0)}isFull(){return this.meshType==="full"}canWalkThrough(){return this.meshType==="none"||this.meshType==="ladder"}canWalkOn(){return this.meshType==="full"}isLadder(){return this.meshType==="ladder"}isStair(){return this.meshType==="wedge"}isAir(){return this.meshType==="none"}canLink(A,t){let e=this.x-A.x,I=this.z-A.z,s=this.y-A.y,g=Math.abs(e),Q=Math.abs(s),a=Math.abs(I);if(g+Q+a===0||g+a>1||this.isFull()||A.isFull())return!1;let n=t.at(this.x,this.y-1,this.z),E=t.at(A.x,A.y-1,A.z);if(!n||!E)return!1;let C={0:{x:0,z:-1},1:{x:-1,z:0},2:{x:0,z:1},3:{x:1,z:0}};switch(this.meshType){case"none":return!!(s===1&&A.canWalkThrough()||(n.canWalkOn()||n.isLadder())&&(A.meshType==="none"||A.meshType==="ladder"&&Q===0||A.meshType==="wedge"&&s===0&&e===-C[A.ry].x&&I===-C[A.ry].z));case"ladder":return!!(Q===1&&A.canWalkThrough()||Q===0&&n.canWalkOn()||A.meshType==="ladder"&&(Q===1||n.canWalkOn()&&E.canWalkOn()));case"wedge":return this.x+C[this.ry].x===A.x&&this.z+C[this.ry].z===A.z&&this.y+1===A.y||this.x-C[this.ry].x===A.x&&this.z-C[this.ry].z===A.z&&(this.y===A.y||this.y-1===A.y);default:return!1}}flatCenter(){return{x:this.x+.5,y:this.y+0,z:this.z+.5}}flatRadialDistance(A){let t=this.flatCenter();return Math.hypot(t.x-A.x,t.z-A.z)}},QA=class{list=[];constructor(A){let t={};for(let I of Object.keys(A.data))for(let s of A.data[I])t[s.x<<16|s.y<<8|s.z]=!0,this.list.push(new BA(I,s));for(let I=0;I<A.width;I++)for(let s=0;s<A.height;s++)for(let g=0;g<A.depth;g++)t[I<<16|s<<8|g]||this.list.push(new BA("SPECIAL.air.none",{x:I,y:s,z:g}));let e=new Map;for(let I of this.list)e.set(I.positionStr,I);for(let I of this.list){let s=[{x:I.x+1,y:I.y,z:I.z},{x:I.x-1,y:I.y,z:I.z},{x:I.x,y:I.y+1,z:I.z},{x:I.x,y:I.y-1,z:I.z},{x:I.x,y:I.y,z:I.z+1},{x:I.x,y:I.y,z:I.z-1}];for(let g of s){let Q=`${g.x},${g.y},${g.z}`,a=e.get(Q);a&&I.canLink(a,this)&&I.links.push(a)}}}at(A,t,e){if(!this.nodeMap){this.nodeMap=new Map;for(let s of this.list){let g=`${s.x},${s.y},${s.z}`;this.nodeMap.set(g,s)}}let I=`${A},${t},${e}`;return this.nodeMap.get(I)}clean(){for(let A of this.list)A.f=0,A.g=0,A.h=0,A.visited=null,A.parent=null,A.closed=null}hasLineOfSight(A,t){let e=t.x-A.x,I=t.y-A.y,s=t.z-A.z,g=Math.max(Math.abs(e),Math.abs(I),Math.abs(s)),Q=e/g,a=I/g,n=s/g,E=A.x,C=A.y,h=A.z;for(let k=0;k<=g;k++){let f=this.at(Math.round(E),Math.round(C),Math.round(h));if(f&&f.isFull())return!1;E+=Q,C+=a,h+=n}return!0}};var Ct=async(B,A)=>{if(G)return await(await fetch(`https://esm.sh/gh/yolkorg/maps/maps/${B}.json?${A}`)).json();{let{existsSync:t,mkdirSync:e,readFileSync:I,writeFileSync:s}={},{join:g}={},{homedir:Q}={},a=g(Q(),".yolkbot"),n=g(a,"maps");t(a)||e(a),t(n)||e(n);let E=g(n,`${B}-${A}.json`);if(t(E))return JSON.parse(I(E,"utf-8"));let C=await(await fetch(`https://esm.sh/gh/yolkorg/maps/maps/${B}.json?${A}`)).json();return s(E,JSON.stringify(C,null,4),{flag:"w+"}),C}},Et=B=>{let A=0,t={},e=[];for(let g of B)t[g.x]||(t[g.x]={}),t[g.x][g.y]||(t[g.x][g.y]={}),t[g.x][g.y][g.z]={zone:null};let I=[{x:-1,z:0},{x:1,z:0},{x:0,z:-1},{x:0,z:1}],s=(g,Q,a)=>t[g]&&t[g][Q]&&t[g][Q][a]?t[g][Q][a]:null;for(let g of B)if(!t[g.x][g.y][g.z].zone){g.zone=++A,t[g.x][g.y][g.z].zone=g.zone;let Q=[g],a;do{a=0;for(let n of B)if(!t[n.x][n.y][n.z].zone)for(let E of I){let C=s(n.x+E.x,n.y,n.z+E.z);if(C&&C.zone===g.zone){a++,n.zone=g.zone,t[n.x][n.y][n.z].zone=g.zone,Q.push(n);break}}}while(a>0);e.push(Q)}return e};var ct=[];var aA=[];var FA=[];var rt=Object.fromEntries(Object.entries(w).map(([B,A])=>[A,B])),ht=Object.fromEntries(Object.entries(mA).map(([B,A])=>[B[0].toLowerCase()+B.slice(1),A])),dt={CHALLENGES:1,BOT_STATS:2,PATHFINDING:3,PING:5,COSMETIC_DATA:6,PLAYER_HEALTH:7,PACKET_HOOK:8,LOG_PACKETS:10,NO_LOGIN:11,DEBUG_BUFFER:12,NO_AFK_KICK:16,LOAD_MAP:17,OBSERVE_GAME:18,NO_REGION_CHECK:19,NO_EXIT_ON_ERROR:20,RENEW_SESSION:21,VIP_HIDE_BADGE:22},SA=(B,A)=>(B%A+A)%A,RA=class{static Intents=dt;Intents=dt;#A=[];#t={};#i=[];#e;#I;constructor(A={}){(A.proxy||A.httpProxy)&&!L&&this.processError("proxies do not work and hence are not supported in the browser"),this.intents=A.intents||[],this.intents.includes(this.Intents.COSMETIC_DATA)&&(r(1001)||this.processError("you cannot use the COSMETIC_DATA intent inside of the singlefile browser bundles")),this.instance=A.instance||"shellshock.io",this.protocol=A.protocol||"wss",this.proxy=A.proxy||"",this.httpProxy=A.httpProxy||"",this.state={name:"yolkbot",weaponIdx:0,inGame:!1,chatLines:0,yaw:0,pitch:0,controlKeys:0,reloading:!1,swappingGun:!1,usingMelee:!1,stateIdx:0,serverStateIdx:0,shotsFired:0,buffer:[],left:!1},this.players={},this.me=new IA({}),this.game={raw:{},code:"",socket:null,gameModeId:0,gameMode:rt[0],mapIdx:0,map:{filename:"",hash:"",name:"",modes:{FFA:!1,Teams:!1,Spatula:!1,King:!1},availability:"both",numPlayers:"18",raw:{},nodes:{},zones:[]},playerLimit:0,isGameOwner:!1,isPrivate:!0,options:{gravity:1,damage:1,healthRegen:1,locked:!1,noTeamChange:!1,noTeamShuffle:!1,weaponsDisabled:Array(7).fill(!1),mustUseSecondary:!1},collectables:[[],[]],teamScore:[0,0,0],spatula:{coords:{x:0,y:0,z:0},controlledBy:0,controlledByTeam:0},stage:_.Capturing,zoneNumber:0,activeZone:[],capturing:0,captureProgress:0,numCapturing:0,capturePercent:0},this.#I=this.game,this.account={id:0,firebase:{idToken:"",refreshToken:"",expiresIn:"3600",localId:""},firebaseId:"",sessionId:"",session:"",email:"",password:"",cw:{atLimit:!1,limit:0,secondsUntilPlay:0,canPlayAgain:Date.now()},loadout:{hatId:null,meleeId:0,stampId:null,classIdx:0,colorIdx:0,grenadeId:0,primaryId:[3100,3600,3400,3800,4e3,4200,4500],secondaryId:new Array(7).fill(3e3),stampPositionX:0,stampPositionY:0},ownedItemIds:[],vip:!1,emailVerified:!1,isAged:!1,eggBalance:0,adminRoles:0,rawLoginData:{},isDoubleEggWeeknd:()=>{let t=new Date().getUTCDay(),e=new Date().getUTCHours();return t>=5&&e>=20||t===6||t===0}},this.#e=this.account,this.matchmaker=null,this.api=new tA({instance:this.instance,protocol:this.protocol,proxy:this.proxy,httpProxy:this.httpProxy,maxRetries:A?.apiMaxRetries}),this.ping=0,this.lastPingTime=-1,this.lastDeathTime=-1,this.lastUpdateTick=0,this.pathing={nodeList:null,followingPath:!1,activePath:null,activeNode:null,activeNodeIdx:0},this.hasQuit=!1,this.intents.includes(this.Intents.NO_AFK_KICK)&&(this.afkKickInterval=0),this.intents.includes(this.Intents.RENEW_SESSION)&&(this.renewSessionInterval=0)}dispatch(A){return A.validate(this)?(A.check(this)?A.execute(this):this.#A.push(A),!0):!1}async createAccount(A,t){this.account=this.#e,this.account.email=A,this.account.password=t;let e=await this.api.createAccount(A,t);return this.processLoginData(e)}async login(A,t){this.account=this.#e,this.account.email=A,this.account.password=t;let e=await this.api.loginWithCredentials(A,t);return this.processLoginData(e)}async loginWithRefreshToken(A){this.account=this.#e;let t=await this.api.loginWithRefreshToken(A);return this.processLoginData(t)}async loginAnonymously(){this.account=this.#e;let A=await this.api.loginAnonymously();return this.processLoginData(A)}processLoginData(A){return typeof A!="object"?(this.emit("authFail",A),A):A.banRemaining?(this.emit("banned",A.banRemaining),"account_banned"):A.playerOutput?(this.account.firebase=A.firebase||{},A=A.playerOutput,this.account.rawLoginData=A,this.account.adminRoles=A.adminRoles||0,this.account.eggBalance=A.currentBalance,this.account.emailVerified=A.emailVerified,this.account.firebaseId=A.firebaseId,this.account.id=A.id,this.account.isAged=new Date(A.dateCreated).getTime()<17145468e5,this.account.loadout=A.loadout,this.account.ownedItemIds=A.ownedItemIds,this.account.session=A.session,this.account.sessionId=A.sessionId,this.account.vip=A.active_sub==="IsVIP",this.intents.includes(this.Intents.BOT_STATS)&&(this.account.stats={lifetime:A.statsLifetime,monthly:A.statsCurrent}),this.intents.includes(this.Intents.CHALLENGES)&&this.#g(A.challenges),this.emit("authSuccess",this.account),this.intents.includes(this.Intents.RENEW_SESSION)&&(this.renewSessionInterval=setInterval(async()=>{if(!this.account?.sessionId)return clearInterval(this.renewSessionInterval);(await this.api.queryServices({cmd:"renewSession",sessionId:this.account.sessionId})).data!=="renewed"&&this.emit("sessionExpired")},6e5)),this.account):(this.emit("authFail",A),A)}#g(A){this.account.challenges=[];for(let t of A){let e=ct.find(I=>I.id===t.challengeId);e&&(delete t.playerId,this.account.challenges.push({raw:{challengeInfo:e,challengeData:t},id:t.challengeId,name:e.loc.title,desc:e.loc.desc,rewardEggs:e.reward,isRerolled:!!t.reset,isClaimed:!!t.claimed,isCompleted:!!t.completed,progressNum:t.progress,goalNum:e.goal}))}}async initMatchmaker(){if(!this.account.sessionId&&!this.intents.includes(this.Intents.NO_LOGIN)){let A=await this.loginAnonymously();if(typeof A!="object")return A}if(!this.matchmaker){if(this.matchmaker=new ot({sessionId:this.account.sessionId,proxy:this.proxy,instance:this.instance,protocol:this.protocol,noLogin:this.intents.includes(this.Intents.NO_LOGIN),api:this.api}),!await this.matchmaker.ws.tryConnect())return"matchmaker_tryconnect_failed";this.matchmaker.on("authFail",t=>this.emit("authFail",t)),this.matchmaker.on("error",t=>this.processError(t))}return!0}async findPublicGame(A,t){return typeof A!="string"?"no_region_passed":!FA.find(I=>I.id===A)&&!this.intents.includes(this.Intents.NO_REGION_CHECK)?"invalid_region_passed":typeof t!="number"?"no_mode_passed":Object.values(w).indexOf(t)===-1?"invalid_mode_passed":await this.initMatchmaker()?await new Promise(I=>{let s=g=>{if(g.command!=="notice"){if(this.matchmaker.off("msg",s),g.command==="gameFound")return I(g);if(g.error==="sessionNotFound")return I("internal_session_error");this.processError("unknown matchmaker response "+JSON.stringify(g))}};this.matchmaker.on("msg",s),this.matchmaker.send({command:"findGame",region:A,playType:$.JoinPublic,gameType:t,sessionId:this.account.sessionId})}):"matchmaker_init_fail"}async createPrivateGame(A,t,e){if(typeof A!="string")return"no_region_passed";if(!FA.find(g=>g.id===A)&&!this.intents.includes(this.Intents.NO_REGION_CHECK))return"invalid_region_passed";if(typeof t!="number")return"no_mode_passed";if(Object.values(w).indexOf(t)===-1)return"invalid_mode_passed";if(typeof e!="string")return"no_map_passed";let I=aA.findIndex(g=>g.name.toLowerCase()===e.toLowerCase());return I===-1?"invalid_map_passed":await this.initMatchmaker()?await new Promise(g=>{let Q=a=>{if(a.command!=="notice"){if(this.matchmaker.off("msg",Q),a.command==="gameFound")return g(a);if(a.error==="sessionNotFound")return g("internal_session_error");this.processError("unknown matchmaker response "+JSON.stringify(a))}};this.matchmaker.on("msg",Q),this.matchmaker.send({command:"findGame",region:A,playType:$.CreatePrivate,gameType:t,sessionId:this.account.sessionId,noobLobby:!1,map:I})}):"matchmaker_init_fail"}async join(A,t){if(this.state.name=A||"yolkbot",typeof t=="string"){if(t.includes("#")&&(t=t.split("#")[1]),!await this.initMatchmaker())return"matchmaker_init_fail";if(await new Promise(g=>{let Q=a=>{if(a.command==="gameFound"&&(this.matchmaker.off("msg",Q),this.game.raw=a,this.game.code=a.id,g(a.id)),a.error&&a.error==="gameNotFound")return this.processError(`game "${t}" not found, it may have expired.`),this.leave(),"gameNotFound"};this.matchmaker.on("msg",Q),this.matchmaker.send({command:"joinGame",id:t,observe:!1,sessionId:this.account.sessionId})})==="gameNotFound")return"game_not_found";if(!this.game.raw.id)return this.processError("an internal error occured while joining the game, please report this to developers")}if(typeof t=="object"&&(this.account.id===0&&await this.loginAnonymously(),this.game.raw=t,this.game.code=this.game.raw.id,!this.game.raw.id||!this.game.raw.subdomain||!this.game.raw.uuid))return"invalid_game_object";let e=this.game.raw.host||(this.instance.startsWith("localhost:")?this.instance:`${this.game.raw.subdomain}.${this.instance}`);return this.game.socket=new x(`${this.protocol}://${e}/game/${this.game.raw.id}`,this.proxy),this.game.socket.binaryType="arraybuffer",await this.game.socket.tryConnect()?(this.game.socket.onmessage=s=>this.processPacket(s.data),this.game.socket.onclose=s=>{this.state.left?this.state.left=!1:(this.emit("close",s.code),this.leave(-1))},!0):"websocket_tryconnect_fail"}#s(){if(Object.entries(this.me.position).map(t=>Math.floor(t[1])).join(",")===this.pathing.activePath[this.pathing.activePath.length-1].positionStr)this.pathing.followingPath=!1,this.pathing.activePath=null,this.pathing.activeNode=null,this.pathing.activeNodeIdx=0,this.dispatch(new X(0));else{let t;this.pathing.activeNodeIdx<this.pathing.activePath.length-1?(t=this.pathing.activePath[this.pathing.activeNodeIdx+1].flatCenter(),this.dispatch(new O(t))):(t=this.pathing.activePath[this.pathing.activeNodeIdx].flatCenter(),this.dispatch(new O(t)));for(let e of this.pathing.activePath)if(e.flatRadialDistance(this.me.position)<.1&&e.position.y===Math.floor(this.me.position.y)&&this.pathing.activePath.indexOf(e)>=this.pathing.activeNodeIdx){this.pathing.activeNodeIdx=this.pathing.activePath.indexOf(e)+1,this.pathing.activeNode=this.pathing.activePath[this.pathing.activeNodeIdx];break}this.state.controlKeys&D.Forward||this.dispatch(new X(D.Forward))}}update(){if(this.hasQuit)return;this.pathing.followingPath&&this.intents.includes(this.Intents.PATHFINDING)&&this.#s();for(let t=0;t<this.#A.length;t++){let e=this.#A[t];e.check(this)&&(e.execute(this),this.#A.splice(t,1))}if(this.state.chatLines=Math.max(0,this.state.chatLines-1/(30*4)),this.me.playing){let t=this.state.stateIdx;if(this.intents.includes(this.Intents.DEBUG_BUFFER)&&(console.log("setting buffer for idx",t),console.log("checking...shotsFired",this.state.shotsFired)),this.me.jumping=!!(this.state.controlKeys&D.Jump),this.state.buffer[t]={controlKeys:this.state.controlKeys,yaw:this.state.yaw,pitch:this.state.pitch,shotsFired:this.state.shotsFired},this.state.shotsFired=0,this.lastUpdateTick>=2){this.emit("tick");let e=new c;e.packInt8(o.syncMe),e.packInt8(this.state.stateIdx),e.packInt8(this.state.serverStateIdx);let I=SA(this.state.stateIdx-J+1,z);for(let s=0;s<J;s++){let g=SA(I+s,z),Q=this.state.buffer[g]||{},a=Q.controlKeys||0,n=Q.shotsFired||0,E=Q.yaw??this.state.yaw,C=Q.pitch??this.state.pitch;this.intents.includes(this.Intents.DEBUG_BUFFER)&&console.log("going with",this.state.stateIdx,I,g,Q),e.packInt8(a),e.packInt8(n),e.packString(at(E,C)),e.packInt8(100)}e.send(this.game.socket),this.state.buffer=[],this.lastUpdateTick=0}else this.lastUpdateTick++;this.state.stateIdx=SA(this.state.stateIdx+1,z)}if(!this.intents.includes(this.Intents.PLAYER_HEALTH))return;let A=.1*(this.game.isPrivate?this.game.options.healthRegen:1);for(let t of Object.values(this.players)){if(t.playing&&t.hp>0){let e=t.streakRewards.includes(d.OverHeal);t.hp+=e?-A:A,t.hp=e?Math.max(100,t.hp):Math.min(100,t.hp)}t.spawnShield>0&&(t.spawnShield-=6)}}on(A,t){Object.keys(this.#t).includes(A)?this.#t[A].push(t):this.#t[A]=[t]}once(A,t){let e=(...I)=>{t(...I),this.off(A,e)};this.on(A,e)}onAny(A){this.#i.push(A)}off(A,t){t?this.#t[A]=this.#t[A].filter(e=>e!==t):this.#t[A]=[]}emit(A,...t){if(!this.hasQuit){if(this.#t[A])for(let e of this.#t[A])e(...t);for(let e of this.#i)e(A,...t)}}#B(){let A=i.unPackInt8U(),t=i.unPackInt8U(),e=i.unPackString().valueOf(),I=this.players[A];this.emit("chat",I,e,t)}#Q(){let A=i.unPackInt8U(),t=this.intents.includes(this.Intents.COSMETIC_DATA),e={id:A,uniqueId:i.unPackString(),name:i.unPackString(),safeName:i.unPackString(),charClass:i.unPackInt8U(),team:i.unPackInt8U(),primaryWeaponItem:t?r(i.unPackInt16U()):i.unPackInt16U(),secondaryWeaponItem:t?r(i.unPackInt16U()):i.unPackInt16U(),shellColor:i.unPackInt8U(),hatItem:t?r(i.unPackInt16U()):i.unPackInt16U(),stampItem:t?r(i.unPackInt16U()):i.unPackInt16U(),stampPosX:i.unPackInt8(),stampPosY:i.unPackInt8(),grenadeItem:t?r(i.unPackInt16U()):i.unPackInt16U(),meleeItem:t?r(i.unPackInt16U()):i.unPackInt16U(),x:i.unPackFloat(),y:i.unPackFloat(),z:i.unPackFloat(),$dx:i.unPackFloat(),$dy:i.unPackFloat(),$dz:i.unPackFloat(),yaw:i.unPackRadU(),pitch:i.unPackRad(),score:i.unPackInt32U(),$kills:i.unPackInt16U(),$deaths:i.unPackInt16U(),$streak:i.unPackInt16U(),totalKills:i.unPackInt32U(),totalDeaths:i.unPackInt32U(),bestStreak:i.unPackInt16U(),$bestOverallStreak:i.unPackInt16U(),shield:i.unPackInt8U(),hp:i.unPackInt8U(),playing:i.unPackInt8U(),weaponIdx:i.unPackInt8U(),$controlKeys:i.unPackInt8U(),upgradeProductId:i.unPackInt8U(),activeShellStreaks:i.unPackInt8U(),social:i.unPackLongString(),hideBadge:i.unPackInt8U()};this.game.mapIdx=i.unPackInt8U(),this.game.isPrivate=i.unPackInt8U()===1,this.game.gameModeId=i.unPackInt8U();let I=new IA(e,this.game.gameMode===w.KOTC?this.game.activeZone:null);this.players[e.id]||(this.players[e.id]=I),this.emit("playerJoin",I),this.me.id===e.id&&(this.me=I,this.emit("botJoin",this.me))}#a(){let A=i.unPackInt8U(),t=i.unPackInt16U(),e=i.unPackFloat(),I=i.unPackFloat(),s=i.unPackFloat(),g=i.unPackInt8U(),Q=i.unPackInt8U(),a=i.unPackInt8U(),n=i.unPackInt8U(),E=i.unPackInt8U(),C=this.players[A];C&&(C.playing=!0,C.randomSeed=t,C.weapons[0]&&C.weapons[0].ammo&&(C.weapons[0].ammo.rounds=g),C.weapons[0]&&C.weapons[0].ammo&&(C.weapons[0].ammo.store=Q),C.weapons[1]&&C.weapons[1].ammo&&(C.weapons[1].ammo.rounds=a),C.weapons[1]&&C.weapons[1].ammo&&(C.weapons[1].ammo.store=n),C.grenades=E,C.position={x:e,y:I,z:s},C.spawnShield=120,this.emit("playerRespawn",C))}#o(){let A=i.unPackInt8U(),t=i.unPackFloat(),e=i.unPackFloat(),I=i.unPackFloat(),s=i.unPackInt8U(),g=this.players[A];if(!g||g.id===this.me.id){for(let S=0;S<J;S++)i.unPackInt8U(),i.unPackRadU(),i.unPackRad(),i.unPackInt8U();return}for(let S=0;S<J;S++){let j=i.unPackInt8U();j&D.Jump?g.jumping=!0:g.jumping=!1,j&D.Scope?g.scoping=!0:g.scoping=!1;let q={...g.view};g.view.yaw=i.unPackRadU(),g.view.pitch=i.unPackRad(),(g.view.yaw!==q.yaw||g.view.pitch!==q.pitch)&&this.emit("playerRotate",g,q,g.view),g.scale=i.unPackInt8U()}let Q=g.position,a=Q.x!==t||Q.y!==e||Q.z!==I,n=g.climbing!==s,E=a||n,C=E?{...Q}:null;if(Q.x!==t&&(Q.x=t),Q.z!==I&&(Q.z=I),(!g.jumping||Math.abs(Q.y-e)>.5)&&(Q.y=e),n&&(g.climbing=s),!E||(this.emit("playerMove",g,C,Q),this.game.gameModeId!==w.KOTC))return;let h=this.game.activeZone,k=!!g.inKotcZone;if(!h&&k){g.inKotcZone=!1,this.emit("playerLeaveZone",g);return}g.updateKotcZone(h);let f=!!g.inKotcZone;k!==f&&(g.inKotcZone=f,this.emit(f?"playerEnterZone":"playerLeaveZone",g))}#n(){let A=i.unPackInt8U(),t=this.players[A];t&&(t.playing=!1,t.streakRewards&&(t.streakRewards=[]),this.emit("playerPause",t),t.inKotcZone&&(t.inKotcZone=!1,this.emit("playerLeaveZone",t)))}#C(){let A=i.unPackInt8U(),t=i.unPackInt8U(),e=this.players[A];e&&(e.activeGun=t,this.emit("playerSwapWeapon",e,t))}#E(){let A=i.unPackInt8U(),t=i.unPackInt8U();i.unPackInt8U(),i.unPackInt8U(),i.unPackInt8U();let e=this.players[A],I=this.players[t];e&&(e.id===this.me.id&&(this.lastDeathTime=Date.now()),e.playing=!1,e.streak=0,e.hp=100,e.spawnShield=0,e.stats.totalDeaths++,e.inKotcZone=!1,this.emit("playerLeaveZone",e)),I&&(I.streak++,I.stats.totalKills++,I.streak>I.stats.bestStreak&&(I.stats.bestStreak=I.streak)),this.emit("playerDeath",e,I)}#c(){let A=i.unPackInt8U(),t={posX:i.unPackFloat(),posY:i.unPackFloat(),posZ:i.unPackFloat(),dirX:i.unPackFloat(),dirY:i.unPackFloat(),dirZ:i.unPackFloat()},e=this.players[A];if(!e)return;let I=e.weapons[e.activeGun];I&&I.ammo&&(I.ammo.rounds--,this.emit("playerFire",e,I,t))}#r(){let A=i.unPackInt16U(),t=i.unPackInt8U(),e=i.unPackFloat(),I=i.unPackFloat(),s=i.unPackFloat();this.game.collectables[t].push({id:A,x:e,y:I,z:s}),this.emit("spawnItem",t,{x:e,y:I,z:s},A)}#h(){let A=i.unPackInt8U(),t=i.unPackInt8U(),e=i.unPackInt8U(),I=i.unPackInt16U(),s=this.players[A];if(s){if(this.game.collectables[t]=this.game.collectables[t].filter(g=>g.id!==I),t===W.Ammo){let g=s.weapons[e];g&&g.ammo&&(g.ammo.store=Math.min(g.ammo.storeMax,g.ammo.store+g.ammo.pickup),this.emit("playerCollectAmmo",s,g,I))}t===W.Grenade&&(s.grenades++,s.grenades>3&&(s.grenades=3),this.emit("playerCollectGrenade",s,I))}}#d(){let A=i.unPackInt8U(),t=i.unPackInt8U(),e=this.players[A];if(!e)return;let I=e.hp;e.hp=t,this.emit("playerDamage",e,I,e.hp)}#l(){let A=i.unPackInt8U();i.unPackFloat(),i.unPackFloat();let t=this.me.hp;this.me.hp=A,this.emit("playerDamage",this.me,t,this.me.hp)}#w(){let A=i.unPackInt8U(),t=this.players[A];i.unPackInt8U();let e=i.unPackInt8U(),I=i.unPackFloat(),s=i.unPackFloat(),g=i.unPackFloat();if(this.me.climbing=!!i.unPackInt8U(),i.unPackInt8U(),i.unPackInt8U(),!t)return;this.state.serverStateIdx=e;let Q=t.position.x,a=t.position.y,n=t.position.z;t.position.x=I,t.position.y=s,t.position.z=g,(Q!==I||a!==s||n!==g)&&this.emit("playerMove",t,{x:Q,y:a,z:n},{x:I,y:s,z:g})}#y(){let A=new c;A.packInt8(o.eventModifier),A.send(this.game.socket)}#D(){let A=i.unPackInt8U(),t={...this.players[A]};delete this.players[A.toString()],this.emit("playerLeave",t)}#m(){if(this.game.gameModeId===w.Spatula){let A={...this.game};this.game.teamScore[1]=i.unPackInt16U(),this.game.teamScore[2]=i.unPackInt16U();let t={x:i.unPackFloat(),y:i.unPackFloat(),z:i.unPackFloat()},e=i.unPackInt8U(),I=i.unPackInt8U();this.game.spatula={coords:t,controlledBy:e,controlledByTeam:I},this.emit("gameStateChange",A,this.game)}else if(this.game.gameModeId===w.KOTC){let A={...this.game};this.game.stage=i.unPackInt8U(),this.game.zoneNumber=i.unPackInt8U(),this.game.capturing=i.unPackInt8U(),this.game.captureProgress=i.unPackInt16U(),this.game.numCapturing=i.unPackInt8U(),this.game.teamScore[1]=i.unPackInt8U(),this.game.teamScore[2]=i.unPackInt8U(),this.game.capturePercent=this.game.captureProgress/1e3,this.game.activeZone=this.game.map.zones?this.game.map.zones[this.game.zoneNumber-1]:null;let t=Object.values(this.players).filter(e=>e.inKotcZone&&e.playing);this.game.activeZone&&Object.values(this.players).forEach(e=>e.updateKotcZone(this.game.activeZone)),this.game.numCapturing<=0&&Object.values(this.players).forEach(e=>{e.inKotcZone=!1,this.emit("playerLeaveZone",e)}),this.emit("gameStateChange",A,this.game,t)}else this.game.gameModeId===w.Team&&(this.game.teamScore[1]=i.unPackInt16U(),this.game.teamScore[2]=i.unPackInt16U());this.game.gameModeId!==w.Spatula&&delete this.game.spatula,this.game.gameModeId!==w.KOTC&&(delete this.game.stage,delete this.game.zoneNumber,delete this.game.capturing,delete this.game.captureProgress,delete this.game.numCapturing,delete this.game.numCapturing,delete this.game.activeZone),this.game.gameModeId===w.FFA&&delete this.game.teamScore}#p(){let A=i.unPackInt8U(),t=i.unPackInt8U(),e=this.players[A];if(e){switch(t){case d.HardBoiled:A===this.me.id&&(this.me.shieldHp=100),e.streakRewards.push(d.HardBoiled);break;case d.EggBreaker:e.streakRewards.push(d.EggBreaker);break;case d.Restock:{e.grenades=3,e.weapons[0]&&e.weapons[0].ammo&&(e.weapons[0].ammo.rounds=e.weapons[0].ammo.capacity,e.weapons[0].ammo.store=e.weapons[0].ammo.storeMax),e.weapons[1]&&e.weapons[1].ammo&&(e.weapons[1].ammo.rounds=e.weapons[1].ammo.capacity,e.weapons[1].ammo.store=e.weapons[1].ammo.storeMax);break}case d.OverHeal:e.hp=Math.min(200,e.hp+100),e.streakRewards.push(d.OverHeal);break;case d.DoubleEggs:e.streakRewards.push(d.DoubleEggs);break;case d.MiniEgg:e.scale=.5,e.streakRewards.push(d.MiniEgg);break}this.emit("playerBeginStreak",e,t)}}#k(){let A=i.unPackInt8U(),t=i.unPackInt8U(),e=this.players[A];if(!e)return;[d.EggBreaker,d.OverHeal,d.DoubleEggs,d.MiniEgg].includes(t)&&e.streakRewards.includes(t)&&(e.streakRewards=e.streakRewards.filter(s=>s!==t)),t===d.MiniEgg&&(e.scale=1),this.emit("playerEndStreak",e,t)}#u(){let A=i.unPackInt8U(),t=i.unPackInt8U(),e=i.unPackFloat(),I=i.unPackFloat();this.me&&(this.me.shieldHp=A,this.me.hp=t,this.me.shieldHp<=0?(this.me.streakRewards=this.me.streakRewards.filter(s=>s!==d.HardBoiled),this.emit("selfShieldLost",this.me.hp,{dx:e,dz:I})):this.emit("selfShieldHit",this.me.shieldHp,this.me.hp,{dx:e,dz:I}))}#N(){let A={...this.game.options},t=i.unPackInt8U(),e=i.unPackInt8U(),I=i.unPackInt8U();(t<1||t>4)&&(t=4),(e<0||e>8)&&(e=4),I>16&&(I=4),this.game.options.gravity=t/4,this.game.options.damage=e/4,this.game.options.healthRegen=I/4;let s=i.unPackInt8U();Object.keys(ht).forEach(g=>{let Q=s&ht[g]?1:0;this.game.options[g]=Q}),this.game.options.weaponsDisabled=Array.from({length:7},()=>i.unPackInt8U()===1),this.game.options.mustUseSecondary=this.game.options.weaponsDisabled.every(g=>g),this.emit("gameOptionsChange",A,this.game.options)}#f(){let A=i.unPackInt8U();A===V.Pause&&(this.emit("gameForcePause"),setTimeout(()=>this.me.playing=!1,3e3)),A===V.Reset&&(Object.values(this.players).forEach(t=>t.streak=0),this.game.gameModeId!==w.FFA&&(this.game.teamScore=[0,0,0]),this.game.gameModeId===w.Spatula&&(this.game.spatula.controlledBy=0,this.game.spatula.controlledByTeam=0,this.game.spatula.coords={x:0,y:0,z:0}),this.game.gameModeId===w.KOTC&&(this.game.stage=_.Capturing,this.game.zoneNumber=0,this.game.activeZone=null,this.game.capturing=0,this.game.captureProgress=0,this.game.numCapturing=0,this.game.capturePercent=0),this.emit("gameReset"))}#M(){if(!this.intents.includes(this.Intents.PING))return;let A=this.ping;this.ping=Date.now()-this.lastPingTime,this.emit("pingUpdate",A,this.ping),setTimeout(()=>{let t=new c;t.packInt8(o.ping),t.send(this.game.socket),this.lastPingTime=Date.now()},1e3)}#G(){let A=i.unPackInt8U(),t=i.unPackInt8U(),e=this.players[A];if(!e)return;let I=e.team;e.team=t,e.streak=0,this.emit("playerSwitchTeam",e,I,t)}#F(){let A=i.unPackInt8U(),t=i.unPackInt8U(),e=i.unPackInt16U(),I=i.unPackInt16U(),s=i.unPackInt8U(),g=i.unPackInt16U(),Q=i.unPackInt16U(),a=i.unPackInt16U(),n=i.unPackInt16U(),E=i.unPackInt8(),C=i.unPackInt8(),h=this.intents.includes(this.Intents.COSMETIC_DATA),k=h?r(e):e,f=h?r(I):I,S=h?r(g):g,j=h?r(Q):Q,q=h?r(a):a,Pt=h?r(n):n,l=this.players[A];if(l){let $A={...l.character},At=l.selectedGun;l.character.eggColor=s,l.character.primaryGun=k,l.character.secondaryGun=f,l.character.stamp=j,l.character.hat=S,l.character.grenade=q,l.character.melee=Pt,l.character.stampPos.x=E,l.character.stampPos.y=C,l.selectedGun=t,l.weapons[0]=new U[t],At!==l.selectedGun&&this.emit("playerChangeGun",l,At,l.selectedGun),$A!==l.character&&this.emit("playerChangeCharacter",l,$A,l.character)}}#S(){let A=i.unPackInt32U(),t=this.account.eggBalance;this.account.eggBalance=A,this.emit("balanceUpdate",t,A)}#R(){this.me.playing=!1,this.emit("respawnDenied")}#U(){let A=i.unPackInt8U(),t=this.players[A];t&&this.emit("playerMelee",t)}#L(){let A=i.unPackInt8U(),t=this.players[A];if(!t)return;let e=t.weapons[t.activeGun];if(e.ammo){let I=Math.min(Math.min(e.ammo.capacity,e.ammo.reload)-e.ammo.rounds,e.ammo.store);e.ammo.rounds+=I,e.ammo.store-=I}this.emit("playerReload",t,e)}updateGameOptions(){let A=new c;A.packInt8(o.gameOptions),A.packInt8(this.game.options.gravity*4),A.packInt8(this.game.options.damage*4),A.packInt8(this.game.options.healthRegen*4);let t=(this.game.options.locked?1:0)|(this.game.options.noTeamChange?2:0)|(this.game.options.noTeamShuffle?4:0);A.packInt8(t),this.game.options.weaponsDisabled.forEach(e=>{A.packInt8(e?1:0)}),A.send(this.game.socket)}#Y(){this.game.isPrivate=!0,this.updateGameOptions()}#J(){let A=i.unPackInt8U(),t=i.unPackInt16U(),e=i.unPackFloat(),I=i.unPackFloat(),s=i.unPackFloat(),g=i.unPackInt8U(),Q=i.unPackFloat();this.intents.includes(this.Intents.COSMETIC_DATA)&&(t=r(t)),A===F.Grenade?this.emit("grenadeExplode",t,{x:e,y:I,z:s},g,Q):this.emit("rocketHit",{x:e,y:I,z:s},g,Q)}#x(){let A=i.unPackInt8U(),t=i.unPackFloat(),e=i.unPackFloat(),I=i.unPackFloat(),s=i.unPackFloat(),g=i.unPackFloat(),Q=i.unPackFloat(),a=this.players[A];a&&(a.grenades--,this.emit("playerThrowGrenade",a,{x:t,y:e,z:I},{x:s,y:g,z:Q}))}#H(){let A=i.unPackInt8U(),t=i.unPackInt8U(),e=this.players[A];if(!e)return;if(!this.intents.includes(this.Intents.CHALLENGES))return this.emit("challengeComplete",e,t);let I=this.account.challenges.find(s=>s.id===t);this.emit("challengeComplete",e,I),e.id===this.me.id&&this.refreshChallenges()}#K(){let A=new c;A.packInt8(this.intents.includes(this.Intents.OBSERVE_GAME)?o.observeGame:o.joinGame),A.packString(this.game.raw.uuid),A.packInt8(+this.intents.includes(this.Intents.VIP_HIDE_BADGE)),A.packInt8(this.state.weaponIdx||this.account?.loadout?.classIdx||0),A.packString(this.state.name),A.packInt32(this.account.session),A.packString(this.account.sessionId),A.packString(this.account.firebaseId),A.send(this.game.socket)}async#P(){if(this.me.id=i.unPackInt8U(),this.me.team=i.unPackInt8U(),this.game.gameModeId=i.unPackInt8U(),this.game.gameMode=rt[this.game.gameModeId],this.game.mapIdx=i.unPackInt8U(),this.game.map=aA[this.game.mapIdx],this.game.playerLimit=i.unPackInt8U(),this.game.isGameOwner=i.unPackInt8U()===1,this.game.isPrivate=i.unPackInt8U()===1||this.game.isGameOwner,i.unPackInt8U(),this.intents.includes(this.Intents.LOAD_MAP)||this.intents.includes(this.Intents.PATHFINDING)){if(this.game.map.raw=await Ct(this.game.map.filename,this.game.map.hash),this.emit("mapLoad",this.game.map.raw),this.game.gameModeId===w.KOTC){let t=this.game.map.raw.data["DYNAMIC.capture-zone.none"];t?(this.game.map.zones=Et(t),this.game.activeZone||(this.game.activeZone=this.game.map.zones[this.game.zoneNumber-1])):delete this.game.map.zones}this.intents.includes(this.Intents.PATHFINDING)&&(this.pathing.nodeList=new QA(this.game.map.raw))}this.state.inGame=!0,this.lastDeathTime=Date.now();let A=new c;if(A.packInt8(o.clientReady),A.send(this.game.socket),this.updateIntervalId=setInterval(()=>this.update(),100/3),this.intents.includes(this.Intents.PING)){this.lastPingTime=Date.now();let t=new c;t.packInt8(o.ping),t.send(this.game.socket)}this.intents.includes(this.Intents.NO_AFK_KICK)&&(this.afkKickInterval=setInterval(()=>{if(this.state.inGame&&!this.me.playing&&Date.now()-this.lastDeathTime>=15e3){let t=new c;t.packInt8(o.keepAlive),t.send(this.game.socket)}},15e3)),this.emit("gameReady")}#q(){let A=i.unPackInt8U(),t=i.unPackString(128),e=i.unPackString(32),I=this.players[A];I&&(I.admin={ip:e,dbId:t},this.emit("playerInfo",I,e,t))}processPacket(A){i.init(A),this.intents.includes(this.Intents.PACKET_HOOK)&&this.emit("packet",A);let t=0,e=0,I=!1;for(;i.isMoreDataAvailable()&&!I;){let s=i.unPackInt8U();switch(s){case o.syncThem:this.#o();break;case o.fire:this.#c();break;case o.hitThem:this.#d();break;case o.syncMe:this.#w();break;case o.hitMe:this.#l();break;case o.swapWeapon:this.#C();break;case o.collectItem:this.#h();break;case o.respawn:this.#a();break;case o.die:this.#E();break;case o.pause:this.#n();break;case o.chat:this.#B();break;case o.addPlayer:this.#Q();break;case o.removePlayer:this.#D();break;case o.eventModifier:this.#y();break;case o.metaGameState:this.#m();break;case o.beginShellStreak:this.#p();break;case o.endShellStreak:this.#k();break;case o.hitMeHardBoiled:this.#u();break;case o.gameOptions:this.#N();break;case o.ping:this.#M();break;case o.switchTeam:this.#G();break;case o.changeCharacter:this.#F();break;case o.reload:this.#L();break;case o.explode:this.#J();break;case o.throwGrenade:this.#x();break;case o.spawnItem:this.#r();break;case o.melee:this.#U();break;case o.updateBalance:this.#S();break;case o.challengeCompleted:this.#H();break;case o.socketReady:this.#K();break;case o.gameJoined:this.#P();break;case o.gameAction:this.#f();break;case o.requestGameOptions:this.#Y();break;case o.respawnDenied:this.#R();break;case o.playerInfo:this.#q();break;case o.expireUpgrade:case o.clientReady:break;case o.musicInfo:i.unPackLongString();break;default:console.error(`processPacket: I got but couldn't identify a: ${Object.keys(o).find(g=>o[g]===s)} ${s}`),t&&console.error(`processPacket: It may be a result of the ${t} command (${e}).`),I=!0;break}t=Object.keys(o).find(g=>o[g]===s),e=s,this.intents.includes(this.Intents.LOG_PACKETS)&&console.log(`[LOG_PACKETS] Packet ${t}: ${e}`)}}async checkChiknWinner(){let A=await this.api.queryServices({cmd:"chicknWinnerReady",id:this.account.id,sessionId:this.account.sessionId});return typeof A=="string"?A:(this.account.cw.limit=A.limit,this.account.cw.atLimit=A.limit>=4,this.account.cw.secondsUntilPlay=(this.account.cw.atLimit?A.period:A.span)||0,this.account.cw.canPlayAgain=Date.now()+this.account.cw.secondsUntilPlay*1e3,this.account.cw)}async playChiknWinner(A=!0){if(this.account.cw.atLimit||this.account.cw.limit>DA)return"hit_daily_limit";if(this.account.cw.canPlayAgain>Date.now()&&A)return"on_cooldown";let t=await this.api.queryServices({cmd:"incentivizedVideoReward",firebaseId:this.account.firebaseId,id:this.account.id,sessionId:this.account.sessionId,token:null});return typeof t=="string"?t:t.error?t.error==="RATELIMITED"||t.error==="RATELMITED"?(await this.checkChiknWinner(),"on_cooldown"):t.error==="SESSION_EXPIRED"?(this.emit("sessionExpired"),"session_expired"):(console.error("Unknown Chikn Winner response, report this on Github:",t),"unknown_error"):t.reward?(this.account.eggBalance+=t.reward.eggsGiven,t.reward.itemIds.forEach(e=>this.account.ownedItemIds.push(e)),await this.checkChiknWinner(),t.reward):(console.error("Unknown Chikn Winner response, report this on Github:",t),"unknown_error")}async resetChiknWinner(){if(this.account.eggBalance<200)return"not_enough_eggs";if(!this.account.cw.atLimit)return"not_at_limit";let A=await this.api.queryServices({cmd:"chwReset",sessionId:this.account.sessionId});return typeof A=="string"?A:A.result!=="SUCCESS"?(console.error("Unknown Chikn Winner reset response, report this on Github:",A),"unknown_error"):(this.account.eggBalance-=200,await this.checkChiknWinner(),this.account.cw)}canSee(A){return this.intents.includes(this.Intents.PATHFINDING)?this.pathing.nodeList.hasLineOfSight(this.me.position,A.position):this.processError("You must have the PATHFINDING intent to use this method.")}async refreshChallenges(){let A=await this.api.queryServices({cmd:"challengeGetDaily",sessionId:this.account.sessionId,playerId:this.account.id});return typeof A=="string"?A:(this.#g(A),this.account.challenges)}async rerollChallenge(A){let t=await this.api.queryServices({cmd:"challengeRerollSlot",sessionId:this.account.sessionId,slotId:A});return typeof t=="string"?t:(this.#g(t),this.account.challenges)}async claimChallenge(A){let t=await this.api.queryServices({cmd:"challengeClaimReward",sessionId:this.account.sessionId,slotId:A});return typeof t=="string"?t:(this.#g(t.challenges),t.reward>0&&(this.account.eggBalance+=t.reward),{eggReward:t.reward,updatedChallenges:this.account.challenges})}async refreshBalance(){let A=await this.api.queryServices({cmd:"checkBalance",firebaseId:this.account.firebaseId,sessionId:this.account.sessionId});return typeof A=="string"?A:(this.account.eggBalance=A.currentBalance,A.currentBalance)}async redeemCode(A){let t=await this.api.queryServices({cmd:"redeem",firebaseId:this.account.firebaseId,sessionId:this.account.sessionId,id:this.account.id,code:A});return typeof t=="string"?t:t.result==="SUCCESS"?(this.account.eggBalance=t.eggs_given,t.item_ids.forEach(e=>this.account.ownedItemIds.push(e)),{result:t,eggsGiven:t.eggs_given,itemIds:t.item_ids}):t}async claimURLReward(A){let t=await this.api.queryServices({cmd:"urlRewardParams",firebaseId:this.account.firebaseId,sessionId:this.account.sessionId,reward:A});return typeof t=="string"||t.result==="SUCCESS"&&(this.account.eggBalance+=t.eggsGiven,t.itemIds.forEach(e=>this.account.ownedItemIds.push(e))),t}async claimSocialReward(A){let t=await this.api.queryServices({cmd:"reward",firebaseId:this.account.firebaseId,sessionId:this.account.sessionId,rewardTag:A});return typeof t=="string"||t.result==="SUCCESS"&&(this.account.eggBalance+=t.eggsGiven,t.itemIds.forEach(e=>this.account.ownedItemIds.push(e))),t}async buyItem(A){let t=await this.api.queryServices({cmd:"buy",firebaseId:this.account.firebaseId,sessionId:this.account.sessionId,itemId:A,save:!0});return typeof t=="string"||t.result==="SUCCESS"&&(this.account.eggBalance=t.currentBalance,this.account.ownedItemIds.push(t.itemId)),t}processError(A){this.#t.error&&this.#t.error.length?this.emit("error",A):(console.error(A),this.intents.includes(this.Intents.NO_EXIT_ON_ERROR)||process.exit(1))}leave(A=eA.mainMenu){this.hasQuit||(A>-1&&(this.game?.socket?.close(A),this.state.left=!0,this.emit("leave",A)),clearInterval(this.updateIntervalId),this.#A=[],this.state.inGame=!1,this.state.chatLines=0,this.state.reloading=!1,this.state.swappingGun=!1,this.state.usingMelee=!1,this.state.stateIdx=0,this.state.serverStateIdx=0,this.state.shotsFired=0,this.state.buffer=[],this.players={},this.me=new IA({}),this.game=this.#I,this.ping=0,this.lastPingTime=-1,this.lastDeathTime=-1,this.lastUpdateTick=0,this.pathing={nodeList:null,followingPath:!1,activePath:null,activeNode:null,activeNodeIdx:0})}logout(){this.account=this.#e,this.intents.includes(this.Intents.RENEW_SESSION)&&clearInterval(this.renewSessionInterval)}quit(A=!1){this.hasQuit||(this.leave(),this.matchmaker&&(this.matchmaker.close(),A||delete this.matchmaker),A||(delete this.account,delete this.api,delete this.game,delete this.me,delete this.pathing,delete this.players,delete this.state,this.#e={},this.#I={},this.#t={},this.#i=[],this.#A=[]),this.intents.includes(this.Intents.NO_AFK_KICK)&&clearInterval(this.afkKickInterval),this.intents.includes(this.Intents.RENEW_SESSION)&&clearInterval(this.renewSessionInterval),this.hasQuit=!0)}};var UA=class{constructor(A,t,e=""){this.uniqueId=A,this.duration=t,this.reason=e}validate(A){return!(typeof this.uniqueId!="string"||typeof this.reason!="string"||typeof this.duration!="number"||!Object.values(yA).some(t=>this.duration===t)||!(A.account.adminRoles&4))}check(){return!0}execute(A){let t=new c;t.packInt8(o.banPlayer),t.packString(this.uniqueId),t.packString(this.reason),t.packInt8(this.duration),t.send(A.game.socket)}},lt=UA;var LA=class{constructor(A){this.uniqueId=A}validate(A){return typeof this.uniqueId=="string"&&A.game.isGameOwner&&Object.values(A.players).find(t=>t.uniqueId===this.uniqueId)}check(){return!0}execute(A){let t=new c;t.packInt8(o.bootPlayer),t.packString(this.uniqueId),t.send(A.game.socket)}},wt=LA;var YA=class{constructor(A){this.msg=A}validate(){return!(typeof this.msg!="string"||this.msg.length<1||this.msg.length>64)}check(A){return!(!A.state?.inGame||!A.game.isPrivate&&!A.account.adminRoles&&A.state.chatLines>=2||!A.game.isPrivate&&!A.account.emailVerified&&!A.account.isAged)}execute(A){A.state.chatLines++;let t=new c;t.packInt8(o.chat),t.packString(this.msg),t.send(A.game.socket)}},yt=YA;var JA=class{constructor(A){this.amount=A||1}validate(){return this.amount>=1}check(A){return A.me.playing&&!A.state.reloading&&!A.state.swappingGun&&!A.state.usingMelee&&A.me.weapons[A.me.activeGun].ammo.rounds>=this.amount}execute(A){A.state.shotsFired+=this.amount||1}},Dt=JA;var Qe=Array.from({length:4},(B,A)=>(A+1)*.25),ae=Array.from({length:9},(B,A)=>A*.25),oe=Array.from({length:17},(B,A)=>A*.25),m=(B,A)=>typeof B<"u"?B:A,xA=class{constructor(A){this.changes=A}#A(A){let t={};return t.gravity=m(this.changes.gravity,A.game.options.gravity),t.damage=m(this.changes.damage,A.game.options.damage),t.healthRegen=m(this.changes.healthRegen,A.game.options.healthRegen),t.locked=m(this.changes.locked,A.game.options.locked),t.noTeamChange=m(this.changes.noTeamChange,A.game.options.noTeamChange),t.noTeamShuffle=m(this.changes.noTeamShuffle,A.game.options.noTeamShuffle),t.weaponsDisabled=[m(this.changes.disableEggk,A.game.options.weaponsDisabled[0]),m(this.changes.disableScrambler,A.game.options.weaponsDisabled[1]),m(this.changes.disableFreeRanger,A.game.options.weaponsDisabled[2]),m(this.changes.disableRPG,A.game.options.weaponsDisabled[3]),m(this.changes.disableWhipper,A.game.options.weaponsDisabled[4]),m(this.changes.disableCrackshot,A.game.options.weaponsDisabled[5]),m(this.changes.disableTriHard,A.game.options.weaponsDisabled[6])],this.changes.toDisable&&Array.isArray(this.changes.toDisable)&&this.changes.toDisable.forEach(e=>t.weaponsDisabled[e]=!0),this.changes.toEnable&&Array.isArray(this.changes.toEnable)&&this.changes.toEnable.forEach(e=>t.weaponsDisabled[e]=!1),this.changes.rawWeaponsDisabled&&Array.isArray(this.changes.rawWeaponsDisabled)&&this.changes.rawWeaponsDisabled.length===7&&(t.weaponsDisabled=this.changes.rawWeaponsDisabled.map(e=>!!e)),t.mustUseSecondary=t.weaponsDisabled.every(e=>e),t}validate(A){let t=this.#A(A);return!(!Qe.includes(t.gravity)||!ae.includes(t.damage)||!oe.includes(t.healthRegen)||typeof t.locked!="boolean"||typeof t.noTeamChange!="boolean"||typeof t.noTeamShuffle!="boolean"||!Array.isArray(t.weaponsDisabled)||t.weaponsDisabled.length!==7||t.weaponsDisabled.some(e=>typeof e!="boolean"))}check(A){return A.game.isGameOwner}execute(A){A.game.options=this.#A(A),A.updateGameOptions()}},mt=xA;var oA=class{constructor(A){this.content=[],this.scoreFunction=A}push(A){this.content.push(A),this.bubbleUp(this.content.length-1)}rescoreElement(A){this.sinkDown(this.content.indexOf(A))}pop(){let A=this.content[0],t=this.content.pop();return this.content.length>0&&(this.content[0]=t,this.sinkDown(0)),A}remove(A){let t=this.content.length;for(let e=0;e<t;e++){if(this.content[e]!==A)continue;let I=this.content.pop();if(e===t-1)break;this.content[e]=I,this.bubbleUp(e),this.sinkDown(e);break}}size(){return this.content.length}bubbleUp(A){let t=this.content[A],e=this.scoreFunction(t);for(;A>0;){let I=Math.floor((A+1)/2)-1,s=this.content[I];if(e>=this.scoreFunction(s))break;this.content[I]=t,this.content[A]=s,A=I}}includes(A){return this.content.includes(A)}sinkDown(A){let t=this.content.length,e=this.content[A],I=this.scoreFunction(e);for(;;){let s=(A+1)*2,g=s-1,Q=null,a;if(g<t){let n=this.content[g];a=this.scoreFunction(n),a<I&&(Q=g)}if(s<t){let n=this.content[s];this.scoreFunction(n)<(Q===null?I:a)&&(Q=s)}if(Q===null)break;this.content[A]=this.content[Q],this.content[Q]=e,A=Q}}};var p=class{constructor(A){this.list=A}heuristic(A,t){return Math.abs(A.x-t.x)+Math.abs(A.y-t.y)+Math.abs(A.z-t.z)}reversePath(A){let t=[];for(;A.parent;)t.push(A),A=A.parent;return t.reverse(),t}path(A,t){this.list.clean();let e=new oA(s=>s.f),I=[];for(A.h=this.heuristic(A,t),A.g=0,A.f=A.g+A.h,e.push(A);e.size()!==0;){let s=e.pop();if(s===t)return this.reversePath(s);I.push(s);let g=s.links;for(let Q=0;Q<g.length;Q++){let a=g[Q];if(I.includes(a))continue;let n=s.g+1,E=a.visited;(!E||n<a.g)&&(a.visited=!0,a.parent=s,a.g=n,a.h=this.heuristic(a.position,t.position),a.f=a.g+a.h,E?e.rescoreElement(a):e.push(a))}}return null}};var HA=class{validate(A){return A.intents.includes(A.Intents.PATHFINDING)}check(A){return A.me.playing&&A.game.collectables[0].length}execute(A){this.pather=new p(A.pathing.nodeList);let t=200,e=null;for(let a of A.game.collectables[0]){let n=a.x-A.me.position.x,E=a.y-A.me.position.y,C=a.z-A.me.position.z,h=Math.sqrt(n*n+E*E+C*C);h<t&&(t=h,e=a)}let I=Object.entries(A.me.position).map(a=>Math.floor(a[1])),s=Object.entries(e).map(a=>Math.floor(a[1])),g=A.pathing.nodeList.at(...I),Q=A.pathing.nodeList.at(...s);if(A.pathing.activePath=this.pather.path(g,Q),!A.pathing.activePath)return A.processError("no path found");if(A.pathing.activePath.length<2)return A.processError("path too short");A.pathing.followingPath=!0,A.pathing.activeNode=A.pathing.activePath[1],A.pathing.activeNodeIdx=1}},pt=HA;var KA=class{validate(A){return A.intents.includes(A.Intents.PATHFINDING)}check(A){return A.me.playing&&A.game.zoneNumber&&A.game.activeZone}execute(A){this.pather=new p(A.pathing.nodeList);let t=200,e=null;for(let a of A.game.activeZone){let n=a.x-A.me.position.x,E=a.y-A.me.position.y,C=a.z-A.me.position.z,h=Math.sqrt(n*n+E*E+C*C);h<t&&(t=h,e=a)}let I=Object.entries(A.me.position).map(a=>Math.floor(a[1])),s=Object.entries(e).map(a=>Math.floor(a[1])),g=A.pathing.nodeList.at(...I),Q=A.pathing.nodeList.at(...s);if(A.pathing.activePath=this.pather.path(g,Q),!A.pathing.activePath)return A.processError("no path found");if(A.pathing.activePath.length<2)return A.processError("path too short");A.pathing.followingPath=!0,A.pathing.activeNode=A.pathing.activePath[1],A.pathing.activeNodeIdx=1}},kt=KA;var PA=class{validate(A){return A.intents.includes(A.Intents.PATHFINDING)}check(A){return A.me.playing&&A.game.collectables[1].length}execute(A){this.pather=new p(A.pathing.nodeList);let t=200,e=null;for(let a of A.game.collectables[1]){let n=a.x-A.me.position.x,E=a.y-A.me.position.y,C=a.z-A.me.position.z,h=Math.sqrt(n*n+E*E+C*C);h<t&&(t=h,e=a)}let I=Object.entries(A.me.position).map(a=>Math.floor(a[1])),s=Object.entries(e).map(a=>Math.floor(a[1])),g=A.pathing.nodeList.at(...I),Q=A.pathing.nodeList.at(...s);if(A.pathing.activePath=this.pather.path(g,Q),!A.pathing.activePath)return A.processError("no path found");if(A.pathing.activePath.length<2)return A.processError("path too short");A.pathing.followingPath=!0,A.pathing.activeNode=A.pathing.activePath[1],A.pathing.activeNodeIdx=1}},ut=PA;var qA=class{idOrName;constructor(A){this.idOrName=A}validate(A){return!A.intents.includes(A.Intents.PATHFINDING)||!this.idOrName?!1:!!(A.players[this.idOrName.toString()]||A.players.find(e=>e.name===this.idOrName))}check(A){if(!A.me.playing)return!1;let t=A.players[this.idOrName.toString()]||A.players.find(e=>e.name===this.idOrName);return t&&t.playing&&t.position&&t.position.x}execute(A){this.pather=new p(A.pathing.nodeList);let t=A.players[this.idOrName.toString()]||A.players.find(Q=>Q.name===this.idOrName),e=Object.entries(A.me.position).map(Q=>Math.floor(Q[1])),I=Object.entries(t.position).map(Q=>Math.floor(Q[1])),s=A.pathing.nodeList.at(...e),g=A.pathing.nodeList.at(...I);if(A.pathing.activePath=this.pather.path(s,g),!A.pathing.activePath)return A.processError("no path found");if(A.pathing.activePath.length<2)return A.processError("path too short");A.pathing.followingPath=!0,A.pathing.activeNode=A.pathing.activePath[1],A.pathing.activeNodeIdx=1}},Nt=qA;var zA=class{validate(A){return A.intents.includes(A.Intents.PATHFINDING)}check(A){return A.me.playing&&A.game.spatula&&A.game.spatula.coords&&A.game.spatula.coords.x}execute(A){this.pather=new p(A.pathing.nodeList);let t=Object.entries(A.me.position).map(g=>Math.floor(g[1])),e=Object.entries(A.game.spatula.coords).map(g=>Math.floor(g[1])),I=A.pathing.nodeList.at(...t),s=A.pathing.nodeList.at(...e);if(A.pathing.activePath=this.pather.path(I,s),!A.pathing.activePath)return A.processError("no path found");if(A.pathing.activePath.length<2)return A.processError("path too short");A.pathing.followingPath=!0,A.pathing.activeNode=A.pathing.activePath[1],A.pathing.activeNodeIdx=1}},ft=zA;var ne=(B,A)=>(B%A+A)%A,Ce=Math.PI*2,Mt=B=>Math.round(B*8192)/8192,Ee=B=>Mt(ne(Math.atan2(-B.x,-B.z),Ce)),ce=B=>Mt(Math.atan2(B.y,Math.hypot(B.x,B.z))),TA=class{idOrName;constructor(A){this.idOrName=A}validate(A){return!!(A.players[this.idOrName.toString()]||A.players.find(e=>e.name===this.idOrName))}check(A){if(!A.me.playing)return!1;let t=A.players[this.idOrName.toString()]||A.players.find(e=>e.name===this.idOrName);return t&&t.playing&&t.position&&t.position.x}execute(A){let t=A.players[this.idOrName.toString()]||A.players.find(g=>g.name===this.idOrName),e={x:t.position.x-A.me.position.x,y:t.position.y-A.me.position.y-.05,z:t.position.z-A.me.position.z},I=Ee(e),s=ce(e);A.state.yaw=I,A.state.pitch=s}},Gt=TA;var bA=class{validate(){return!0}check(A){return A.me.playing&&!A.state.reloading&&!A.state.swappingGun&&!A.state.usingMelee}execute(A){let t=new c;t.packInt8(o.melee),t.send(A.game.socket),A.usingMelee=!0,setTimeout(()=>{A.usingMelee=!1,A.swappingGun=!0,setTimeout(()=>{A.swappingGun=!1},.5*pA)},100/3*17)}},Ft=bA;var vA=class{validate(){return!0}check(A){return A.me.playing}execute(A){let t=new c;t.packInt8(o.pause),t.send(A.game.socket),setTimeout(()=>A.me.playing=!1,3e3)}},St=vA;var ZA=class{validate(){return!0}check(A){return A.me.playing&&!A.state.reloading&&!A.state.swappingGun&&!A.state.usingMelee}execute(A){let t=new c;t.packInt8(o.reload),t.send(A.game.socket);let e=A.me.weapons[A.me.activeGun];if(e.ammo){let g=Math.min(Math.min(e.ammo.capacity,e.ammo.reload)-e.ammo.rounds,e.ammo.store);e.ammo.rounds+=g,e.ammo.store-=g}A.emit("playerReload",A.me,e);let I=A.me.weapons[A.me.activeGun],s=I.ammo.rounds<1;A.state.reloading=!0,setTimeout(()=>A.state.reloading=!1,s?I.longReloadTime:I.shortReloadTime)}},Rt=ZA;var OA=class{constructor(A,t={}){this.idOrName=A,this.reasons=[!!t.cheating,!!t.harassment,!!t.offensive,!!t.other],this.reasons.includes(!0)||(this.reasons[3]=!0);for(let e=0;e<this.reasons.length;e++)this.reasons[e]===!0&&(this.reasonInt|=1<<e)}validate(){return!(this.reasons.every(t=>t===!1)||!(bot.players[this.idOrName.toString()]||bot.players.find(t=>t.name===this.idOrName)))}check(A){return A.state.inGame?!!(A.players[this.idOrName.toString()]||A.players.find(e=>e.name===this.idOrName)):!1}execute(A){let t=A.players[this.idOrName.toString()]||A.players.find(I=>I.name===this.idOrName),e=new c;e.packInt8(o.reportPlayer),e.packString(t.uniqueId),e.packInt8(this.reasonInt),e.send(A.game.socket)}},Ut=OA;var K=B=>r(B)&&r(B).unlock==="default",P=(B,A)=>r(B)&&r(B).item_type_id===A,XA=class{constructor(A){this.changes={classIdx:A.gunId,hatId:A.hatId,stampId:A.stampId,grenadeId:A.grenadeId,meleeId:A.meleeId,colorIdx:A.eggColor,primaryId:A.primaryIds,secondaryId:A.secondaryIds},this.changes=Object.fromEntries(Object.entries(this.changes).filter(([,t])=>!!t))}validate(A){let t=this.changes;if(t.colorIdx&&t.colorIdx>=7&&!A.account.vip||t.colorIdx&&t.colorIdx>=14||P(t.hatId,F.Hat)&&!K(t.hatId)&&!A.account.ownedItemIds.includes(t.hatId)||P(t.stampId,F.Stamp)&&!K(t.stampId)&&!A.account.ownedItemIds.includes(t.stampId)||P(t.grenadeId,F.Grenade)&&!K(t.grenadeId)&&!A.account.ownedItemIds.includes(t.grenadeId)||P(t.meleeId,F.Melee)&&!K(t.meleeId)&&!A.account.ownedItemIds.includes(t.meleeId)||typeof t.classIdx=="number"&&t.classIdx>6||t.classIdx<0)return!1;if(this.changes.primaryId)for(let e=0;e<7;e++){let I=this.changes.primaryId[e];if(!P(I,ItemTypes.Primary)||!K(I)&&!A.account.ownedItemIds.includes(I))return!1}if(this.changes.secondaryId)for(let e=0;e<7;e++){let I=this.changes.secondaryId[e];if(!P(I,ItemTypes.Secondary)||!K(I)&&!A.account.ownedItemIds.includes(I))return!1}return!0}check(A){return!A.me.playing}execute(A){A.me&&this.changes.classIdx&&this.changes.classIdx!==A.me.selectedGun&&(A.me.weapons[0]=new U[this.changes.classIdx]),A.state.weaponIdx=this.changes.classIdx||A.state.weaponIdx;let t={...A.account.loadout,...this.changes},e=A.api.queryServices({cmd:"saveLoadout",save:!0,firebaseId:A.account.firebaseId,sessionId:A.account.sessionId,loadout:t});A.account.loadout=t,A.me&&e.then(()=>{if(A.state.inGame){let s=new c;s.packInt8(o.changeCharacter),s.packInt8(this.changes?.classIdx||A.me.selectedGun),s.send(A.game.socket)}let I=A.intents.includes(A.Intents.COSMETIC_DATA);Object.entries(this.changes).forEach(([s,g])=>{s==="classIdx"?A.me.selectedGun=g:s==="hatId"?A.me.character.hat=I?r(g):g:s==="stampId"?A.me.character.stamp=I?r(g):g:s==="grenadeId"?A.me.character.grenade=I?r(g):g:s==="meleeId"?A.me.character.melee=I?r(g):g:s==="colorIdx"?A.me.character.eggColor=g:s==="primaryId"?A.me.character.primaryGun=I?r(g[A.me.selectedGun]):g:s==="secondaryId"&&(A.me.character.secondaryGun=I?r(g[A.me.selectedGun]):g)})})}},Lt=XA;var jA=class{validate(){return!0}check(A){return!(A.me.playing||A.lastDeathTime+6e3<Date.now()||A.intents.includes(A.Intents.OBSERVE_GAME))}execute(A){let t=new c;t.packInt8(o.requestRespawn),t.send(A.game.socket),A.state.buffer=[]}},Yt=jA;var WA=class{constructor(A){this.manualWeapon=A}validate(){return typeof this.manualWeapon=="number"||this.manualWeapon===void 0}check(A){return A.me.playing&&!A.state.reloading&&!A.state.swappingGun&&!A.state.usingMelee}execute(A){let t=+!A.me.activeGun;typeof this.manualWeapon=="number"&&(t=this.manualWeapon),A.me.activeGun=t;let e=new c;e.packInt8(o.swapWeapon),e.packInt8(A.me.activeGun),e.send(A.game.socket)}},Jt=WA;var _A=class{validate(){return!0}check(A){if(!A.state.inGame||A.me.playing||A.game.gameModeId===0||A.intents.includes(A.Intents.OBSERVE_GAME))return!1;if(A.game.isPrivate)return!A.game.options.noTeamChange;let t=A.players,e=A.me.team,I=t.filter(g=>g.team===e).length,s=t.filter(g=>g.team!==e).length;return!(s>I||I===s)}execute(A){let t=new c;t.packInt8(o.switchTeam),t.send(A.game.socket)}},xt=_A;var VA=class{constructor(A=1){this.power=A}validate(){return typeof this.power=="number"&&this.power>=0&&this.power<=1}check(A){return A.me.playing&&!A.state.reloading&&!A.state.swappingGun&&!A.state.usingMelee}execute(A){let t=new c;t.packInt8(o.throwGrenade),t.packFloat(this.power),t.send(A.game.socket)}},Ht=VA;var re={BanPlayerDispatch:lt,BootPlayerDispatch:wt,ChatDispatch:yt,FireDispatch:Dt,GameOptionsDispatch:mt,GoToAmmoDispatch:pt,GoToCoopDispatch:kt,GoToGrenadeDispatch:ut,GoToPlayerDispatch:Nt,GoToSpatulaDispatch:ft,LookAtDispatch:Gt,LookAtPosDispatch:O,MeleeDispatch:Ft,MovementDispatch:X,PauseDispatch:St,ReloadDispatch:Rt,ReportPlayerDispatch:Ut,SaveLoadoutDispatch:Lt,SpawnDispatch:Yt,SwapWeaponDispatch:Jt,SwitchTeamDispatch:xt,ThrowGrenadeDispatch:Ht};var Kt={};nA(Kt,{CloseCode:()=>eA,CommCode:()=>o,CommIn:()=>i,CommOut:()=>c});export{AA as API,RA as Bot,Kt as Comm,et as Constants,re as Dispatches,gA as GamePlayer,tt as Guns,aA as Maps,sA as Matchmaker};