yolkbot 1.0.16 → 1.0.18
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/browser/build/global.js +123 -1
- package/browser/build/module.js +123 -1
- package/dist/bot/GamePlayer.js +1 -1
- package/dist/bot.js +1 -1
- package/dist/constants/changelog.js +1 -1
- package/dist/constants/guns.js +1 -1
- package/dist/constants/housePromo.js +1 -1
- package/dist/constants/index.js +1 -1
- package/dist/constants/items.js +1 -1
- package/dist/constants/language.js +47 -1
- package/dist/constants/maps.js +1 -1
- package/dist/constants/shellNews.js +1 -1
- package/dist/constants/shellYoutube.js +1 -1
- package/dist/constants/shopItems.js +1 -1
- package/dist/constants/sounds.js +1 -1
- package/dist/dispatches/GameOptionsDispatch.js +1 -1
- package/dist/dispatches/MeleeDispatch.js +1 -1
- package/dist/dispatches/MovementDispatch.js +1 -1
- package/dist/dispatches/SaveLoadoutDispatch.js +1 -1
- package/dist/matchmaker.js +1 -1
- package/dist/types/bot.d.ts +25 -16
- package/dist/types/constants/guns.d.ts +0 -4
- package/dist/types/constants/index.d.ts +59 -39
- package/dist/types/matchmaker.d.ts +2 -2
- package/dist/wasm/bytes.js +1 -1
- package/dist/wasm/imports.js +123 -1
- package/dist/wasm/utils.js +1 -1
- package/dist/wasm/wrapper.js +1 -1
- package/package.json +1 -1
package/browser/build/global.js
CHANGED
|
@@ -1,3 +1,125 @@
|
|
|
1
1
|
(async()=>{
|
|
2
|
-
var qe=Object.defineProperty;var CA=(I,A)=>{for(var e in A)qe(I,e,{get:A[e],enumerable:!0})};var k={};if(typeof process<"u")k.fetch=({}).fetch,k.SocksProxyAgent=({}).SocksProxyAgent,k.ProxyAgent=({}).ProxyAgent,k.WebSocket=({}).default;else if(typeof window<"u")k.fetch=fetch.bind(window),k.SocksProxyAgent=null,k.ProxyAgent=class{},k.WebSocket=WebSocket;else throw new Error("unknown environment...could not detect node.js or browser...open an issue in the yolkbot github");var y=k;var DA={};CA(DA,{ChatFlags:()=>ze,ChiknWinnerDailyLimit:()=>pA,CollectTypes:()=>V,CoopStates:()=>L,FirebaseKey:()=>U,FramesBetweenSyncs:()=>J,GameActions:()=>$,GameModes:()=>l,GameOptionFlags:()=>AA,GunList:()=>N,IsBrowser:()=>F,ItemTypes:()=>D,Movements:()=>m,PlayTypes:()=>b,ProxiesEnabled:()=>P,ShellStreaks:()=>h,SocialMedias:()=>yA,SocialRewards:()=>Xe,StateBufferSize:()=>K,SyncRate:()=>te,Teams:()=>Oe,URLRewards:()=>Ze,UserAgent:()=>_,findItemById:()=>c});var wA={};CA(wA,{AUG:()=>mA,CSG1:()=>cA,Cluck9mm:()=>lA,DozenGauge:()=>rA,Eggk47:()=>EA,M24:()=>uA,RPEGG:()=>hA,SMG:()=>dA});var G=class{constructor(){this.dmgTypeId=0,this.highPrecision=!1,this.equipTime=13,this.stowWeaponTime=13,this.accuracy=this.constructor.accuracyMax,this.shootingAccuracy=this.constructor.accuracyMax,this.movementAccuracy=this.constructor.accuracyMax,this.accuracyMax=this.constructor.accuracyMax,this.accuracyMin=this.constructor.accuracyMin,this.accuracyLoss=this.constructor.accuracyLoss,this.accuracyRecover=this.constructor.accuracyRecover,this.tracer=0,this.burstQueue=0,this.adsMod=this.constructor.adsMod||.5,this.movementAccuracyMod=this.constructor.movementAccuracyMod||1,this.reloadBloom=!0,this.reloadTimeMod=this.constructor.reloadTimeMod||1}},EA=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.rof=3,this.recoil=7,this.automatic=!0,this.damage=20,this.totalDamage=20,this.range=20,this.velocity=1.5,this.tracer=1}},rA=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.rof=8,this.recoil=10,this.automatic=!1,this.damage=8,this.totalDamage=8*20,this.range=8,this.velocity=1,this.tracer=0,this.damage=30,this.accuracyMax=.03,this.accuracyMin=.15,this.accuracyLoss=.05,this.accuracyRecover=.025,this.totalDamage=30,this.damage=8.5,this.accuracyMax=.14,this.accuracyMin=.17,this.accuracyLoss=.17,this.accuracyRecover=.02,this.totalDamage=170,this.adsMod=.6,this.movementAccuracyMod=.2}},cA=class extends G{constructor(){super(),this.ammo={rounds:15,capacity:15,reload:15,store:60,storeMax:60,pickup:15},this.hasScope=!0,this.longReloadTime=225,this.shortReloadTime=165,this.highPrecision=!0,this.weaponName="Free Ranger",this.internalName="CSG-1",this.standardMeshName="csg1",this.rof=13,this.recoil=13,this.automatic=!1,this.damage=110,this.totalDamage=110,this.range=50,this.velocity=1.75,this.tracer=0,this.damage=105,this.accuracyMax=.004,this.accuracyMin=.3,this.accuracyLoss=.3,this.accuracyRecover=.025,this.totalDamage=105}},lA=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.rof=4,this.recoil=6,this.automatic=!1,this.damage=25,this.totalDamage=25,this.range=15,this.velocity=1,this.tracer=0,this.damage=26,this.accuracyMax=.035,this.accuracyMin=.15,this.accuracyLoss=.09,this.accuracyRecover=.08,this.totalDamage=26,this.adsMod=.8,this.movementAccuracyMod=.6}},hA=class extends G{constructor(){super(),this.ammo={rounds:1,capacity:1,reload:1,store:3,storeMax:3,pickup:1},this.hasScope=!0,this.longReloadTime=170,this.shortReloadTime=170,this.weaponName="RPEGG",this.internalName="Eggsploder",this.standardMeshName="rpegg",this.rof=40,this.recoil=60,this.automatic=!1,this.damage=140,this.radius=2.75,this.totalDamage=140*2.75*.5,this.range=45,this.minRange=3,this.velocity=.4,this.accuracyMax=.015,this.accuracyMin=.3,this.accuracyLoss=.3,this.accuracyRecover=.02,this.absoluteMinAccuracy=.3}},dA=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.rof=10,this.recoil=7,this.automatic=!0,this.damage=15,this.totalDamage=15,this.range=20,this.velocity=1.25,this.tracer=2,this.damage=23,this.accuracyMax=.06,this.accuracyMin=.19,this.accuracyLoss=.045,this.accuracyRecover=.05,this.totalDamage=23,this.adsMod=.6,this.movementAccuracyMod=.7}},uA=class extends G{constructor(){super(),this.ammo={rounds:1,capacity:1,reload:1,store:12,storeMax:12,pickup:4},this.hasScope=!0,this.longReloadTime=144,this.shortReloadTime=144,this.weaponName="Crackshot",this.internalName="M2DZ",this.standardMeshName="m24",this.rof=60,this.recoil=40,this.automatic=!1,this.damage=170,this.totalDamage=170,this.range=60,this.velocity=2,this.tracer=0,this.damage=170,this.accuracyMax=0,this.accuracyMin=.35,this.accuracyLoss=.1,this.accuracyRecover=.023,this.totalDamage=170,this.movementAccuracyMod=.85,this.reloadBloom=!1,this.reloadTimeMod=.8}},mA=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.rof=15,this.recoil=18,this.automatic=!1,this.movementInstability=2,this.damage=20,this.totalDamage=20,this.range=20,this.velocity=1.5,this.tracer=0,this.burst=3,this.burstRof=1800/600,this.damage=35,this.accuracyMax=.03,this.accuracyMin=.15,this.accuracyLoss=.04,this.accuracyRecover=.03,this.totalDamage=34,this.adsMod=.6,this.movementAccuracyMod=.8}};var c=()=>null;var ze={none:0,pinned:2,team:4},pA=3,V={AMMO:0,GRENADE:1},L={start:0,score:1,win:2,capturing:3,contested:4,takeover:5,abandoned:6,unclaimed:7},U="AIzaSyDP4SIjKaw6A4c-zvfYxICpbEjn1rRnN50",te=10,J=Math.ceil(30/te),$={reset:1,pause:2},l={ffa:0,team:1,spatula:2,kotc:3},AA={locked:1,noTeamChange:2,noTeamShuffle:4},N=[EA,rA,cA,hA,dA,uA,mA],F=typeof window<"u",D={Hat:1,Stamp:2,Primary:3,Secondary:4,Grenade:6,Melee:7},m={FORWARD:1,BACK:2,LEFT:4,RIGHT:8,JUMP:16,FIRE:32,MELEE:64,SCOPE:128},b={joinPublic:0,createPrivate:1,joinPrivate:2},P=!F&&typeof Bun>"u",h={HardBoiled:1,EggBreaker:2,Restock:4,OverHeal:8,DoubleEggs:16,MiniEgg:32},yA={0:"Facebook",1:"Instagram",2:"Tiktok",3:"Discord",4:"Youtube",5:"Twitter",6:"Twitch"},Xe={Discord:"rew_1200",Tiktok:"rew_1208",Instagram:"rew_1219",Steam:"rew_1223",Facebook:"rew_1227",Twitter:"rew_1234",Twitch:"rew_twitch_social"},K=256,Oe={blue:1,red:2},Ze=["giveBasketBrosReward","mercZoneFinalGift","midMonthGiveMeEggs","newYolkerSignupReward","newYolkerItemReward","newYolkerWelcomeBack","WelcomeBack"],_=F?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 kA=class extends y.WebSocket{constructor(A,e){F?super(A):super(A,{agent:e?new y.SocksProxyAgent(e):void 0,headers:{"user-agent":_,"accept-language":"en-US,en;q=0.9"}})}},x=kA;var eA={origin:"https://shellshock.io","user-agent":_,"x-client-version":"Chrome/JsCore/9.17.2/FirebaseCore-web","x-firebase-locale":"en"},q=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,t=0,i=async()=>{try{e=new x(`${this.protocol}://${this.instance}/services/`,this.socksProxy),e.onerror=async a=>(t++,console.error(a),await new Promise(g=>setTimeout(g,100)),await i())}catch{if(t>this.maxRetries)return"max_retries_exceeded";await new Promise(a=>setTimeout(a,100)),await i()}};return await i(),new Promise(a=>{e.onopen=()=>{e.onerror=null,e.send(JSON.stringify(A))};let g=!1;e.onmessage=B=>{g=!0;try{let o=JSON.parse(B.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=()=>!g&&a("unknown_socket_error"),e.onclose=()=>!g&&a("services_closed_early")})};#A=async(A,e,t)=>{if(!A||!e)return"firebase_no_credentials";let i,a;try{i=await(await y.fetch(`https://identitytoolkit.googleapis.com/v1/accounts:${t}?key=${U}`,{method:"POST",body:JSON.stringify({email:A,password:e,returnSecureToken:!0}),headers:{...eA,"content-type":"application/json"},dispatcher:this.httpProxy?new y.ProxyAgent(this.httpProxy):void 0})).json(),a=i.idToken}catch(B){return B.code==="auth/network-request-failed"?(this.suppressErrors||console.error("loginWithCredentials: Network req failed (auth/network-request-failed)"),"firebase_network_failed"):B.code==="auth/missing-email"?"firebase_no_credentials":B.code==="ERR_BAD_REQUEST"?(this.suppressErrors||console.error("loginWithCredentials: Error:",A,e),this.suppressErrors||console.error("loginWithCredentials: Error:",B.response?.data||B),"firebase_bad_request"):(this.suppressErrors||console.error("loginWithCredentials: Error:",A,e,B),"firebase_unknown_error")}if(!a)return this.suppressErrors||console.error("loginWithCredentials: the game sent no idToken",i),"firebase_no_token";this.idToken=a;let g=await this.queryServices({cmd:"auth",firebaseToken:a});return{firebase:i,...g}};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,i;try{t=await(await y.fetch(`https://securetoken.googleapis.com/v1/token?key=${U}`,{method:"POST",body:e,headers:{...eA,"content-type":"application/x-www-form-urlencoded"},dispatcher:this.httpProxy?new y.ProxyAgent(this.httpProxy):void 0})).json(),i=t.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",t),"firebase_no_token";this.idToken=i;let a=await this.queryServices({cmd:"auth",firebaseToken:i});return{firebase:t,...a}};loginAnonymously=async()=>{let e=await(await y.fetch("https://identitytoolkit.googleapis.com/v1/accounts:signUp?key="+U,{method:"POST",body:JSON.stringify({returnSecureToken:!0}),headers:{...eA,"content-type":"application/json"},dispatcher:this.httpProxy?new y.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 i=await this.queryServices({cmd:"auth",firebaseToken:t});return{firebase:e,...i}};sendEmailVerification=async(A=this.idToken)=>{let t=await(await y.fetch("https://identitytoolkit.googleapis.com/v1/accounts:sendOobCode?key="+U,{method:"POST",body:JSON.stringify({requestType:"VERIFY_EMAIL",idToken:A}),headers:{...eA,"content-type":"application/json"},dispatcher:this.httpProxy?new y.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}},tA=q;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 peekInt8U(){return this.buffer[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 i=0;i<A;i++){let a=this.unPackInt16U();a>0&&(t+=String.fromCodePoint(a))}return t}},s=fA;var GA=class{constructor(A){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),r.bufferPool.recycle(this)}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,e=!1){typeof A!="string"&&(A=""),this.packInt8(e?254: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 e=0;e<A.length;e++)this.packInt16(A.charCodeAt(e))}},iA=GA;var MA=class{constructor(A,e){this.size=0,this.originalSize=e,this.constructorFn=A,this.objects=[],this.idx=0,this.numActive=0,this.expand(e)}expand(A){for(let e=0;e<A;e++){let t=this.constructorFn();t.id=e+this.size,t.active=!1,this.objects.push(t)}this.size+=A}retrieve(A){if(A){for(;A>=this.size;)this.expand(this.originalSize);return this.numActive++,this.objects[A].active=!0,this.objects[A]}let e=this.idx;do{e=(e+1)%this.size;let t=this.objects[e];if(!t.active)return this.idx=e,this.numActive++,t.active=!0,t}while(e!==this.idx);return this.expand(this.originalSize),this.retrieve()}recycle(A){A.active=!1,this.numActive--}forEachActive(A){for(let e=0;e<this.size;e++){let t=this.objects[e];t.active===!0&&A(t,e)}}},gA=MA;var NA=class{static buffer=null;static bufferPool=new gA(()=>new iA(16384),2);static getBuffer(){let A=this.bufferPool.retrieve();return A.idx=0,A}},r=NA;var aA={gameNotFound:4e3,gameFull:4001,badName:4002,mainMenu:4003,gameIdleExceeded:4004,corruptedLoginData: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};var n={swapWeapon:0,joinGame:1,refreshGameState:2,spawnItem:3,observeGame:4,ping:5,bootPlayer:6,banPlayer:7,loginRequired:8,gameLocked:9,reportPlayer:10,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};var z=class{constructor(A,e=null){if(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=yA[t.id]),this.isVip=A.upgradeProductId>0,this.showBadge=!A.hideBadge||!1,this.position={x:A.x,y:A.y,z:A.z},this.jumping=A.$controlKeys&m.JUMP,this.climbing=!1,this.view={yaw:A.yaw,pitch:A.pitch},e){let t=Math.round(A.x),i=Math.floor(A.y),a=Math.round(A.z);this.inKotcZone=e.some(g=>g.x===t&&g.y===i&&g.z===a)}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={killsInGame:A.kills,deathsInGame:A.deaths,streak:A.streak,totalKills:A.totalKills,totalDeaths:A.totalDeaths,bestGameStreak:A.bestGameStreak,bestOverallStreak:A.bestOverallStreak},this.activeGun=A.weaponIdx,this.selectedGun=A.charClass,this.weapons=[],this.character.primaryGun&&(this.weapons[0]=new N[this.selectedGun],this.weapons[1]=new lA),this.grenades=1,this.streak=A.score,this.streakRewards=Object.values(h).filter(t=>A.activeShellStreaks&t),this.hp=A.hp,this.hpShield=0,this.spawnShield=A.shield,this.randomSeed=0}},sA=z;var S=(I,A)=>(I>>>=0,new TextDecoder().decode(new Uint8Array(w().memory.buffer).subarray(I,I+A))),Y=I=>{let A=new TextEncoder().encode(I),e=w().__wbindgen_malloc(A.length,1)>>>0;return new Uint8Array(w().memory.buffer).subarray(e,e+A.length).set(A),[e,A.length]},H=I=>{let A=w().__externref_table_alloc();return w().__wbindgen_export_2.set(A,I),A};var ie=typeof FinalizationRegistry>"u"?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry(I=>{w().__wbindgen_export_5.get(I.dtor)(I.a,I.b)}),ge=(I,A,e,t)=>{let i={a:I,b:A,cnt:1,dtor:e},a=(...g)=>{i.cnt++;let B=i.a;i.a=0;try{return t(B,i.b,...g)}finally{--i.cnt===0?(w().__wbindgen_export_5.get(i.dtor)(B,i.b),ie.unregister(i)):i.a=B}};return a.original=i,ie.register(a,i,i),a},ae=(I,A,e)=>w().closure30_externref_shim(I,A,e),IA={},se={document:{body:{},currentScript:{}}},X={textContent:""},FA=2,Ie={wbg:{__wbg_addEventListener_90e553fdce254421:(I,A,e,t)=>{let i=S(A,e);IA[i]=t},__wbg_appendChild_8204974b7328bf98:()=>{},__wbg_axes_b1da727bd9ea422d:()=>{},__wbg_body_942ea927546a04ba:(...I)=>H(I[0].body),__wbg_call_672a4d21634d4a24:()=>{},__wbg_childNodes_c4423003f3a9441f:()=>[],__wbg_createElement_8c9931a732ee2fea:()=>X,__wbg_document_d249400bd7bd996d:()=>H(se.document),__wbg_from_2a5d3e218e67aa85:(...I)=>Array.from(I[0]),__wbg_getElementById_f827f0d6648718a8:()=>H({}),__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_instanceof_Gamepad_365ec8404255ce00:()=>!0,__wbg_instanceof_HtmlCanvasElement_2ea67072a7624ac5:()=>!0,__wbg_instanceof_Window_def73ea0955fc569:()=>!0,__wbg_isTrusted_cc994b7949c53593:()=>!0,__wbg_item_8be407c958853a13:(...I)=>{let A=I[0][I[1]>>>0];return H(A)},__wbg_length_49b2ba67f0897e97:()=>(FA--,FA<=0?0:FA),__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:()=>Be||Date.now(),__wbg_set_bb8cecf6a62b9f46:(...I)=>Reflect.set(I[0],I[1],I[2]),__wbg_settextContent_d29397f7b994d314:async(...I)=>{X.textContent=S(I[1],I[2]),oe?.(X.textContent)},__wbg_static_accessor_GLOBAL_88a902d13a557d07:()=>{},__wbg_static_accessor_GLOBAL_THIS_56578be7e9f832b0:()=>{},__wbg_static_accessor_SELF_37c5d418e4bf5819:()=>H(se),__wbg_static_accessor_WINDOW_5de37043a91a9c40:()=>{},__wbg_textContent_215d0f87d539368a:(I,A)=>{let[e,t]=Y(A===X?X.textContent:"Blue Wizard Digital"),i=new DataView(w().memory.buffer);i.setInt32(I+4*1,t,!0),i.setInt32(I+4*0,e,!0)},__wbindgen_debug_string:()=>{},__wbindgen_init_externref_table:()=>{},__wbindgen_throw:()=>{},__wbindgen_number_new:I=>I,__wbindgen_string_new:(I,A)=>S(I,A),__wbindgen_string_get:(I,A)=>{let e=S(I,A),[t,i]=Y(e),a=new DataView(w().memory.buffer);a.setInt32(I+4*1,i,!0),a.setInt32(I+4*0,t,!0)},__wbindgen_is_undefined:I=>I===void 0?1:0,__wbindgen_boolean_get:I=>{let A=I;return typeof A=="boolean"?A?1:0:2},__wbindgen_closure_wrapper100:(I,A)=>ge(I,A,31,ae),__wbindgen_closure_wrapper99:(I,A)=>ge(I,A,31,ae),__wbindgen_number_get:(I,A)=>{let e=A,t=typeof e=="number"?e:void 0,i=new DataView(w().memory.buffer);i.setFloat64(I+8*1,t,!0),i.setInt32(I+4*0,1,!0)}}};var je=I=>typeof atob=="function"?new Uint8Array(atob(I).split("").map(A=>A.charCodeAt(0))):Buffer.from(I,"base64"),ne=je("AGFzbQEAAAABogIsYAN/f38Bf2ACf38Bf2ABfwBgAn9/AGADf39/AGABbwF/YAABf2ABfwF/YAAAYAFvAW9gBX9/f39/AX9gBH9/f38Bf2AFf39/f38AYAR/f39/AGACf28AYAJvbwFvYAJ/fwFvYAABb2ADf39/AW9gBn9/f39/fwBgAAJ/f2ACb38Bf2ADb39/AX9gBG9/f28AYAABfGADb39/AW9gA29/fwBgAXwBb2ADb29vAX9gAm9/AW9gBnx8fH9/fwBgB39/f39/f38Bf2ABfAF8YAl/fHx/fG9vf38AYAJ/fwJ/f2AGf39/f39/AX9gBX9/fX9/AGAEf31/fwBgBX9/fH9/AGAEf3x/fwBgBX9/fn9/AGAEf35/fwBgAXwBf2ADf39vAAKYDSwDd2JnIF9fd2JnX2lzVHJ1c3RlZF9jYzk5NGI3OTQ5YzUzNTkzAAUDd2JnIF9fd2JnX21vdmVtZW50WF8xYWEwNWY4NjQ5MzEzNjliAAUDd2JnIF9fd2JnX21vdmVtZW50WV84YWNmZWRiMzhhNzBlNjI0AAUDd2JnH19fd2JnX25vZGVUeXBlXzVlMTE1MzE0MWRhYWMyNmEABQN3YmciX193YmdfdGV4dENvbnRlbnRfMjE1ZDBmODdkNTM5MzY4YQAOA3diZyFfX3diZ19jaGlsZE5vZGVzX2M0NDIzMDAzZjNhOTQ0MWYACQN3YmcdX193YmdfbGVuZ3RoXzQ5YjJiYTY3ZjA4OTdlOTcABQN3YmcbX193YmdfaXRlbV84YmU0MDdjOTU4ODUzYTEzABUDd2JnFV9fd2JpbmRnZW5fc3RyaW5nX25ldwAQA3diZxpfX3diZ19nZXRfNjdiMmJhNjJmYzMwZGUxMgAPA3diZxVfX3diaW5kZ2VuX251bWJlcl9nZXQADgN3YmcfX193YmdfZG9jdW1lbnRfZDI0OTQwMGJkN2JkOTk2ZAAFA3diZyVfX3diZ19nZXRFbGVtZW50QnlJZF9mODI3ZjBkNjY0ODcxOGE4ABYDd2JnM19fd2JnX2luc3RhbmNlb2ZfSHRtbENhbnZhc0VsZW1lbnRfMmVhNjcwNzJhNzYyNGFjNQAFA3diZydfX3diZ19hZGRFdmVudExpc3RlbmVyXzkwZTU1M2ZkY2UyNTQ0MjEAFwN3YmcaX193Ymdfbm93XzgwN2U1NGMzOTYzNmMzNDkAGAN3YmckX193YmdfY3JlYXRlRWxlbWVudF84Yzk5MzFhNzMyZWUyZmVhABkDd2JnJV9fd2JnX3NldHRleHRDb250ZW50X2QyOTM5N2Y3Yjk5NGQzMTQAGgN3YmcbX193YmdfYm9keV85NDJlYTkyNzU0NmEwNGJhAAUDd2JnIl9fd2JnX2FwcGVuZENoaWxkXzgyMDQ5NzRiNzMyOGJmOTgADwN3YmcaX193YmdfbmV3XzQwNWUyMmYzOTA1NzZjZTIAEQN3YmcVX193YmluZGdlbl9udW1iZXJfbmV3ABsDd2JnGl9fd2JnX3NldF9iYjhjZWNmNmE2MmI5ZjQ2ABwDd2JnIF9fd2JnX25hdmlnYXRvcl8xNTc3MzcxYzA3MGM4OTQ3AAkDd2JnIl9fd2JnX2dldEdhbWVwYWRzXzFmOTk3Y2VmNTgwYzkwODgACQN3YmcaX193YmdfZ2V0X2I5YjkzMDQ3ZmUzY2Y0NWIAHQN3YmcpX193YmdfaW5zdGFuY2VvZl9HYW1lcGFkXzM2NWVjODQwNDI1NWNlMDAABQN3YmcbX193YmdfZnJvbV8yYTVkM2UyMThlNjdhYTg1AAkDd2JnHV9fd2JnX2xlbmd0aF9lMmQyYTQ5MTMyYzFiMjU2AAUDd2JnG19fd2JnX2F4ZXNfYjFkYTcyN2JkOWVhNDIyZAAJA3diZxZfX3diaW5kZ2VuX2Jvb2xlYW5fZ2V0AAUDd2JnF19fd2JpbmRnZW5faXNfdW5kZWZpbmVkAAUDd2JnIF9fd2JnX25ld25vYXJnc18xMDVlZDQ3MTQ3NWFhZjUwABADd2JnG19fd2JnX2NhbGxfNjcyYTRkMjE2MzRkNGEyNAAPA3diZy1fX3diZ19zdGF0aWNfYWNjZXNzb3JfR0xPQkFMXzg4YTkwMmQxM2E1NTdkMDcABgN3YmcyX193Ymdfc3RhdGljX2FjY2Vzc29yX0dMT0JBTF9USElTXzU2NTc4YmU3ZTlmODMyYjAABgN3YmctX193Ymdfc3RhdGljX2FjY2Vzc29yX1dJTkRPV181ZGUzNzA0M2E5MWE5YzQwAAYDd2JnK19fd2JnX3N0YXRpY19hY2Nlc3Nvcl9TRUxGXzM3YzVkNDE4ZTRiZjU4MTkABgN3YmcXX193YmluZGdlbl9k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AUYNAQsgAUEBdiEBIBAgEH4hEAwBCwsgEVANDEIAIRJCfwJ+IBREAAAAAAAAAABmIgAgFEQAAAAAAADwQ2NxBEAgFLEMAQtCAAtCACAAGyAURP///////+9DZBsgEYIhEyACQSdqIQ4CQANAQfDCwAAtAAAaIBIgE3wgEYIhECAGLQAAIQAgAhAuIQgCQCAARQRAIAhFDQggCEEEay0AAEEDcUUNASAIQQAgAhBDDAELIAhFDQggCCAAIAIQQwsgEkIBfCESIAIhAQNAIBAgEEI0gCIQQsz///8PfnynIgBBM0sNBiABQQFrIgEgCGogACAGai0AADoAACABDQALIAchACAEIQEDQCABIAJJDQIgAUEBayEBIAAgCCACEIABIABBAWohAA0ACyAIQQRrKAIAIgBBeHEiAUEEQQggAEEDcSIAGyACakkNESAAQQAgASAOSxsNECAIEDMgESASUg0AC0HMh8AAQShB9IfAABCEAQALIAZBBGsoAgAiAEF4cSIBQThBPCAAQQNxIgAbSQ0PIABBACABQdsASxsNDiAGEDMgDCANaiIAIAI2AgggACAINgIEIAAgAjYCACAKQQFqIgpBDUcNAAtBACECIAMoAiQhACADKAIgIQ0DQAJAIAAgBSACQQxsIgFqIggoAggiBEkNACAAIARrIQcgASAMaiEKQQAhAQNAAkACQAJAIAEgASAEaiIGTQRAIAAgBkkNASAEIAgoAghHDQMgASANaiIGIAgoAgQgBBCAAQ0DIAQgCigCCCIORw0CIAYgCigCBCAEEDcaDAMLIAEgBkH0i8AAEKsBAAsgBiAAQfSLwAAQqgEACyMAQTBrIgAkACAAIAQ2AgQgACAONgIAIABBAzYCDCAAQciowAA2AgggAEICNwIUIAAgAEEEaq1CgICAgDCENwMoIAAgAK1CgICAgDCENwMgIAAgAEEgajYCECAAQQhqQYSMwAAQiAEACyABIAdPDQEgASABIAdJaiIBIAdNDQALCyACQQFqIgJBDUcNAAsgAygCICEBIAMgAygCJCIANgJsIAMgATYCaCADQcgAaiADQegAahBBIAMoAkgiBEUEQEEAIQFBASEEDAoLIAMoAkwhASADKAJURQ0JIABBAEgNAQJAIABFBEBBASECDAELQfDCwAAtAAAaIAAQLiICRQ0BC0EAIQcgA0EANgJA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IAJBEGogAC8BADsBACACIAIpAiQ3AwgLQQoLIgA6ABMgAiABOgASIAItAAhBgAFHDQEgAigCDCEBCyAFIAEgCBEBAEUNAQwCCyAFIAFB/wFxIgEgAkEIamogACABayAKKAIMEQAADQELIAVBJyAIEQEAIQcLIAJBMGokACAHC7kJAgx/BX4jAEGgAmsiACQAQfDCwAAtAAAaAkACQAJAAkACQEETEC4iAwRAIANBD2oiAkGHhMAAKAAANgAAIANBCGoiAUGAhMAAKQAANwAAIANB+IPAACkAADcAACAAQeAAakIANwMAIABB2ABqQgA3AwAgAEHQAGpCADcDACAAQcgAakIANwMAIABBQGtCADcDACAAQThqQgA3AwAgAEEwaiIEQgA3AwAgAEEIakGYgsAAKQMANwMAIABBEGpBoILAACkDADcDACAAQRhqQaiCwAApAwA3AwAgAEIANwMoIABBkILAACkDADcDACAAQQA6AGggAEIANwMgIAQgASkAADcDACAAQTdqIAIoAAA2AAAgAEETOgBoIAAgAykAADcDKCAAQZABaiIFIABB8AAQNxogAEGYAmoiAkIANwMAIABBkAJqIgFCADcDACAAQYgCaiIEQgA3AwAgAEIANwOAAiAFIABBuAFqIgkgAEGAAmoQOSAAQYgBaiIGIAIpAwA3AwAgAEGAAWoiByABKQMANwMAIABB+ABqIgEgBCkDADcDACAAIAApA4ACNwNwQfDCwAAtAAAaQSAQLiICRQ0BIAIgACkDcDcAACACQRhqIAYpAwA3AAAgAkEQaiAHKQMANwAAIAJBCGogASkDADcAACADQQRrKAIAIgFBeHEiBEEXQRsgAUEDcSIBG0kNAiABQQAgBEE6SxsNAyADEDNCfiEMIABBKGoiAUE4aiEGIAFBMGohByABQShqIQpBmILAACkDACENQaCCwAApAwAhDkGogsAAKQMAIQ9BkILAACkDACEQA0AgAUIANwMAIAZCADcDACAHQgA3AwAgCkIANwMAIAFBIGpCADcDACABQRhqIgNCADcDACABQRBqIgRCADcDACABQQhqIgVCADcDACAAQQhqIA03AwAgAEEQaiAONwMAIABBGGogDzcDACAAQQA6AGggAEIANwMgIAAgEDcDACABIAIpAAA3AAAgBSACQQhqKQAANwAAIAQgAkEQaikAADcAACADIAJBGGopAAA3AAAgAEEgOgBoIABBkAFqIgggAEHwABA3GiAAQZgCaiIDQgA3AwAgAEGQAmoiBEIANwMAIABBiAJqIgVCADcDACAAQgA3A4ACIAggCSAAQYACahA5IABBiAFqIgggAykDADcDACAAQYABaiILIAQpAwA3AwAgAEH4AGoiBCAFKQMANwMAIAAgACkDgAI3A3BB8MLAAC0AABpBIBAuIgNFDQIgAyAAKQNwNwAAIANBGGogCCkDADcAACADQRBqIAspAwA3AAAgA0EIaiAEKQMANwAAIAJBBGsoAgAiBEF4cUEkQSggBEEDcSIFG0kNAyAFQQAgBEHIAE8bDQQgAhAzIAMhAiAMQgF9IgxCAFINAAsgAkEEaygCACICQXhxQSRBKCACQQNxIgEbSQ0EIAFBACACQcgATxsNBSADEDMgAEGgAmokAA8LQQFBE0H4gcAAEKQBAAtBAUEgQfiBwAAQpAEAC0GhscAAQS5B0LHAABCEAQALQeCxwABBLkGQssAAEIQBAAtBobHAAEEuQdCxwAAQhAEAC0HgscAAQS5BkLLAABCEAQALsAgBBX8gAEEIayIBIABBBGsoAgAiA0F4cSIAaiECAkACQCADQQFxDQAgA0ECcUUNASABKAIAIgMgAGohACABIANrIgFByMLAACgCAEYEQCACKAIEQQNxQQNHDQFBwMLAACAANgIAIAIgAigCBEF+cTYCBCABIABBAXI2AgQgAiAANgIADwsgASADEEkLAkACQAJAAkACQAJAAkAgAigCBCIDQQJxRQRAIAJBzMLAACgCAEYNAiACQcjCwAAoAgBGDQMgAiADQXhxIgIQSSABIAAgAmoiAEEBcjYCBCAAIAFqIAA2AgAgAUHIwsAAKAIARw0BQcDCwAAgADYCAA8LIAIgA0F+cTYCBCABIABBAXI2AgQgACABaiAANgIACyAAQYACSQ0CQR8hAiABQgA3AhAgAEH///8HTQRAIABBBiAAQQh2ZyICa3ZBAXEgAkEBdGtBPmohAgsgASACNgIcIAJBAnRBoL/AAGohA0EBIAJ0IgRBvMLAACgCAHENAyADIAE2AgAgASADNgIYIAEgATYCDCABIAE2AghBvMLAAEG8wsAAKAIAIARyNgIADAQLQczCwAAgATYCAEHEwsAAQcTCwAAoAgAgAGoiADYCACABIABBAXI2AgRByMLAACgCACABRgRAQcDCwABBADYCAEHIwsAAQQA2AgALIABB2MLAACgCACICTQ0FQczCwAAoAgAiAEUNBUHEwsAAKAIAIgNBKUkNBEGgwMAAIQEDQCAAIAEoAgAiBU8EQCAAIAUgASgCBGpJDQYLIAEoAgghAQwACwALQcjCwAAgATYCAEHAwsAAQcDCwAAoAgAgAGoiADYCACABIABBAXI2AgQgACABaiAANgIADwsgAEH4AXFBsMDAAGohAgJ/QbjCwAAoAgAiA0EBIABBA3Z0IgBxRQRAQbjCwAAgACADcjYCACACDAELIAIoAggLIQAgAiABNgIIIAAgATYCDCABIAI2AgwgASAANgIIDwsCQAJAIAAgAygCACIDKAIEQXhxRgRAIAMhAgwBCyAAQRkgAkEBdmtBACACQR9HG3QhBANAIAMgBEEddkEEcWpBEGoiBSgCACICRQ0CIARBAXQhBCACIQMgAigCBEF4cSAARw0ACwsgAigCCCIAIAE2AgwgAiABNgIIIAFBADYCGCABIAI2AgwgASAANgIIDAELIAUgATYCACABIAM2AhggASABNgIMIAEgATYCCAtBACEBQeDCwABB4MLAACgCAEEBayIANgIAIAANAUGowMAAKAIAIgAEQANAIAFBAWohASAAKAIIIgANAAsLQeDCwABB/x8gASABQf8fTRs2AgAPC0GowMAAKAIAIgEEQANAIARBAWohBCABKAIIIgENAAsLQeDCwABB/x8gBCAEQf8fTRs2AgAgAiADTw0AQdjCwABBfzYCAAsLwggDCX8DfgFvIwBB0ABrIgAkACAAQRBqEFcgACgCFCEBAkAgACgCECIFQQFGBEAgAUGEAUkNASABEJUBDAELIAVFIAFBhAFJckUEQCABEJUBC0HIvsAAQQE6AAALIABBCGoQVwJAAkACQAJAAkACQAJAAkACQAJAAkACQCAAKAIIBEAgACgCDCIFELgBIgZFDQEgAEEANgI0IABBqojAADYCMCAAQaSIwAA2AiwgAEHYADoAHyAAIABBH2o2AjggAEEgaiAAQSxqEE4gAEE8aiAAKAIkIAAoAigiARA4AkAgACgCPEUEQCAAKQMgIQogAa0hCQwBCyAAKQIkIQogACkCQCEJIAAoAiAiAUGAgICAeEcNAwsgBiUBIApCIIin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A0HotMAAQQEgBREAACEACyACQUBrJAAgAAu6AgEEf0EfIQIgAEIANwIQIAFB////B00EQCABQQYgAUEIdmciA2t2QQFxIANBAXRrQT5qIQILIAAgAjYCHCACQQJ0QaC/wABqIQRBASACdCIDQbzCwAAoAgBxRQRAIAQgADYCACAAIAQ2AhggACAANgIMIAAgADYCCEG8wsAAQbzCwAAoAgAgA3I2AgAPCwJAAkAgASAEKAIAIgMoAgRBeHFGBEAgAyECDAELIAFBGSACQQF2a0EAIAJBH0cbdCEFA0AgAyAFQR12QQRxakEQaiIEKAIAIgJFDQIgBUEBdCEFIAIhAyACKAIEQXhxIAFHDQALCyACKAIIIgEgADYCDCACIAA2AgggAEEANgIYIAAgAjYCDCAAIAE2AggPCyAEIAA2AgAgACADNgIYIAAgADYCDCAAIAA2AggLlQIBCX8CQAJAIAEoAgQiBCABKAIAIgVrIgNBAE4EfyAEIAVGBEBBASEGQQAhAwwDC0HwwsAALQAAGiADEC4iBg0BQQEFIAILIANBzIXAABCkAQALIAEoAgwhByABKAIIIQEgBSAEQQFrRwRAIANB/v///wdxIQQDQCACIAZqIgggAiAFaiIJLQAAIAEgAmoiCiAHLQAAakH/AHFzOgAAIAhBAWogCUEBai0AACAKIActAABqQQFqQf8AcXM6AAAgBCACQQJqIgJHDQALIAEgAmohAQsgA0EBcUUNACACIAZqIAIgBWotAAAgBy0AACABakH/AHFzOgAAIAJBAWohAgsgACACNgIIIAAgBjYCBCAAIAM2AgAL3QICBX8BbyMAQSBrIgEkACABQRhqQYi+wAAQUgJAAkACQCABKAIYBEAgASgCHCEADAELIAFBEGpBlL7AABBSIAEoAhQhACABKAIQIgNBAXENACABQQhqQfy9wAAQUiABKAIMIQIgASgCCCEEIANFIABBhAFJckUEQCAAEJUBCyAEQQFxBEAgAiEADAELIAFBoL7AABBSIAEoAgQhACABKAIAIARFIAJBhAFJckUEQCACEJUBC0EBcUUNAQsgACUBEB9BAUcNASAAQYQBSQ0AIAAQlQELQdevwABBCxAgIQUQQiIAIAUmASAAJQFBgAElARAhIQUQQiICIAUmASACIQNB9MLAAC0AACECQfTCwABBADoAAEH4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IAEpAxAhAyACrSEEDAELIAEpAhQhAyABKQIwIQQgASgCECICQYCAgIB4Rg0AIAEgBDcCOCABIAM3AjAgASACNgIsQQFBACABQSxqQdyFwABB7IXAABB2AAsgACAEPgIIIAAgAzcCACABQUBrJAAL0wECAn8CfiMAQUBqIgEkACABQQA2AiQgAUHrgsAANgIgIAFB5YLAADYCHCABQdgAOgAPIAEgAUEPajYCKCABQRBqIAFBHGoQTiABQSxqIAEoAhQgASgCGCICEDgCQCABKAIsRQRAIAEpAxAhAyACrSEEDAELIAEpAhQhAyABKQIwIQQgASgCECICQYCAgIB4Rg0AIAEgBDcCOCABIAM3AjAgASACNgIsQQFBACABQSxqQdyFwABB7IXAABB2AAsgACAEPgIIIAAgAzcCACABQUBrJAAL0wECAn8CfiMAQUBqIgEkACABQQA2AiQgAUGRg8AANgIgIAFBhoPAADYCHCABQdgAOgAPIAEgAUEPajYCKCABQRBqIAFBHGoQTiABQSxqIAEoAhQgASgCGCICEDgCQCABKAIsRQRAIAEpAxAhAyACrSEEDAELIAEpAhQhAyABKQIwIQQgASgCECICQYCAgIB4Rg0AIAEgBDcCOCABIAM3AjAgASACNgIsQQFBACABQSxqQdyFwABB7IXAABB2AAsgACAEPgIIIAAgAzcCACABQUBrJAAL0wECAn8CfiMAQUBqIgEkACABQQA2AiQgAUHOgsAANgIgIAFByYLAADYCHCABQdgAOgAPIAEgAUEPajYCKCABQRBqIAFBHGoQTiABQSxqIAEoAhQgASgCGCICEDgCQCABKAIsRQRAIAEpAxAhAyACrSEEDAELIAEpAhQhAyABKQIwIQQgASgCECICQYCAgIB4Rg0AIAEgBDcCOCABIAM3AjAgASACNgIsQQFBACABQSxqQdyFwABB7IXAABB2AAsgACAEPgIIIAAgAzcCACABQUBrJAAL0wECAn8CfiMAQUBqIgEkACABQQA2AiQgAUG8gsAANgIgIAFBuILAADYCHCABQdgAOgAPIAEgAUEPajYCKCABQRBqIAFBHGoQTiABQSxqIAEoAhQgASgCGCICEDgCQCABKAIsRQRAIAEpAxAhAyACrSEEDAELIAEpAhQhAyABKQIwIQQgASgCECICQYCAgIB4Rg0AIAEgBDcCOCABIAM3AjAgASACNgIsQQFBACABQSxqQdyFwABB7IXAABB2AAsgACAEPgIIIAAgAzcCACABQUBrJAAL0wECAn8CfiMAQUBqIgEkACABQQA2AiQgAUH3gsAANgIgIAFB9oLAADYCHCABQdgAOgAPIAEgAUEPajYCKCABQRBqIAFBHGoQTiABQSxqIAEoAhQgASgCGCICEDgCQCABKAIsRQRAIAEpAxAhAyACrSEEDAELIAEpAhQhAyABKQIwIQQgASgCECICQYCAgIB4Rg0AIAEgBDcCOCABIAM3AjAgASACNgIsQQFBACABQSxqQdyFwABB7IXAABB2AAsgACAEPgIIIAAgAzcCACABQUBrJAAL0wECAn8CfiMAQUBqIgEkACABQQA2AiQgAUH7gsAANgIgIAFB+ILAADYCHCABQdgAOgAPIAEgAUEPajYCKCABQRBqIAFBHGoQTiABQSxqIAEoAhQgASgCGCICEDgCQCABKAIsRQRAIAEpAxAhAyACrSEEDAELIAEpAhQhAyABKQIwIQQgASgCECICQYCAgIB4Rg0AIAEgBDcCOCABIAM3AjAgASACNgIsQQFBACABQSxqQdyFwABB7IXAABB2AAsgACAEPgIIIAAgAzcCACABQUBrJAAL0wECAn8CfiMAQUBqIgEkACABQQA2AiQgAUH4gsAANgIgIAFB94LAADYCHCABQdgAOgAPIAEgAUEPajYCKCABQRBqIAFBHGoQTiABQSxqIAEoAhQgASgCGCICEDgCQCABKAIsRQRAIAEpAxAhAyACrSEEDAELIAEpAhQhAyABKQIwIQQgASgCECICQYCAgIB4Rg0AIAEgBDcCOCABIAM3AjAgASACNgIsQQFBACABQSxqQdyFwABB7IXAABB2AAsgACAEPgIIIAAgAzcCACABQUBrJAAL0wECAn8CfiMAQUBqIgEkACABQQA2AiQgAUHVgsAANgIgIAFBzoLAADYCHCABQdgAOgAPIAEgAUEPajYCKCABQRBqIAFBHGoQTiABQSxqIAEoAhQgASgCGCICEDgCQCABKAIsRQRAIAEpAxAhAyACrSEEDAELIAEpAhQhAyABKQIwIQQgASgCECICQYCAgIB4Rg0AIAEgBDcCOCABIAM3AjAgASACNgIsQQFBACABQSxqQdyFwABB7IXAABB2AAsgACAEPgIIIAAgAzcCACABQUBrJAAL0wECAn8CfiMAQUBqIgEkACABQQA2AiQgAUH2gsAANgIgIAFB9YLAADYCHCABQdgAOgAPIAEgAUEPajYCKCABQRBqIAFBHGoQTiABQSxqIAEoAhQgASgCGCICEDgCQCABKAIsRQRAIAEpAxAhAyACrSEEDAELIAEpAhQhAyABKQIwIQQgASgCECICQYCAgIB4Rg0AIAEgBDcCOCABIAM3AjAgASACNgIsQQFBACABQSxqQdyFwABB7IXAABB2AAsgACAEPgIIIAAgAzcCACABQUBrJAAL0wECAn8CfiMAQUBqIgEkACABQQA2AiQgAUH1gsAANgIgIAFB64LAADYCHCABQdgAOgAPIAEgAUEPajYCKCABQRBqIAFBHGoQTiABQSxqIAEoAhQgASgCGCICEDgCQCABKAIsRQRAIAEpAxAhAyACrSEEDAELIAEpAhQhAyABKQIwIQQgASgCECICQYCAgIB4Rg0AIAEgBDcCOCABIAM3AjAgASACNgIsQQFBACABQSxqQdyFwABB7IXAABB2AAsgACAEPgIIIAAgAzcCACABQUBrJAAL0wECAn8CfiMAQUBqIgEkACABQQA2AiQgAUHlgsAANgIgIAFB3ILAADYCHCABQdgAOgAPIAEgAUEPajYCKCABQRBqIAFBHGoQTiABQSxqIAEoAhQgASgCGCICEDgCQCABKAIsRQRAIAEpAxAhAyACrSEEDAELIAEpAhQhAyABKQIwIQQgASgCECICQYCAgIB4Rg0AIAEgBDcCOCABIAM3AjAgASACNgIsQQFBACABQSxqQdyFwABB7IXAABB2AAsgACAEPgIIIAAgAzcCACABQUBrJAAL0wECAn8CfiMAQUBqIgEkACABQQA2AiQgAUG4gsAANgIgIAFBsILAADYCHCABQdgAOgAPIAEgAUEPajYCKCABQRBqIAFBHGoQTiABQSxqIAEoAhQgASgCGCICEDgCQCABKAIsRQRAIAEpAxAhAyACrSEEDAELIAEpAhQhAyABKQIwIQQgASgCECICQYCAgIB4Rg0AIAEgBDcCOCABIAM3AjAgASACNgIsQQFBACABQSxqQdyFwABB7IXAABB2AAsgACAEPgIIIAAgAzcCACABQUBrJAAL0wECAn8CfiMAQUBqIgEkACABQQA2AiQgAUHJgsAANgIgIAFBxYLAADYCHCABQdgAOgAPIAEgAUEPajYCKCABQRBqIAFBHGoQTiABQSxqIAEoAhQgASgCGCICEDgCQCABKAIsRQRAIAEpAxAhAyACrSEEDAELIAEpAhQhAyABKQIwIQQgASgCECICQYCAgIB4Rg0AIAEgBDcCOCABIAM3AjAgASACNgIsQQFBACABQSxqQdyFwABB7IXAABB2AAsgACAEPgIIIAAgAzcCACABQUBrJAAL0wECAn8CfiMAQUBqIgEkACABQQA2AiQgAUHXgsAANgIgIAFB1YLAADYCHCABQdgAOgAPIAEgAUEPajYCKCABQRBqIAFBHGoQTiABQSxqIAEoAhQgASgCGCICEDgCQCABKAIsRQRAIAEpAxAhAyACrSEEDAELIAEpAhQhAyABKQIwIQQgASgCECICQYCAgIB4Rg0AIAEgBDcCOCABIAM3AjAgASACNgIsQQFBACABQSxqQdyFwABB7IXAABB2AAsgACAEPgIIIAAgAzcCACABQUBrJAALzgEBA38jAEEQayICJAAgAiAAKAIANgIEIAEoAhxB2LjAAEEEIAEoAiAoAgwRAAAhACACQQA6AA0gAiAAOgAMIAIgATYCCCACQQhqQZi3wABBAyACQQRqQQkQRyEAIAItAA0iAyACLQAMIgRyIQECQCAEQQFxIANBAUdyDQAgACgCACIALQAUQQRxRQRAIAAoAhxBr5PAAEECIAAoAiAoAgwRAAAhAQwBCyAAKAIcQa6TwABBASAAKAIgKAIMEQAAIQELIAJBEGokACABQQFxC84BAQN/IwBBEGsiAiQAIAIgACgCADYCBCABKAIcQdy4wABBCyABKAIgKAIMEQAAIQAgAkEAOgANIAIgADoADCACIAE2AgggAkEIakGYt8AAQQMgAkEEakEhEEchACACLQANIgMgAi0ADCIEciEBAkAgBEEBcSADQQFHcg0AIAAoAgAiAC0AFEEEcUUEQCAAKAIcQa+TwABBAiAAKAIgKAIMEQAAIQEMAQsgACgCHEGuk8AAQQEgACgCICgCDBEAACEBCyACQRBqJAAgAUEBcQvOAQEDfyMAQRBrIgIkACACIAAoAgA2AgQgASgCHEGSt8AAQQYgASgCICgCDBEAACEAIAJBADoADSACIAA6AAwgAiABNgIIIAJBCGpBmLfAAEEDIAJBBGpBIhBHIQAgAi0ADSIDIAItAAwiBHIhAQJAIARBAXEgA0EBR3INACAAKAIAIgAtABRBBHFFBEAgACgCHEGvk8AAQQIgACgCICgCDBEAACEBDAELIAAoAhxBrpPAAEEBIAAoAiAoAgwRAAAhAQsgAkEQaiQAIAFBAXELywEBA38jAEEQayICJAAgAiAANgIEIAEoAhxBiILAAEEHIAEoAiAoAgwRAAAhACACQQA6AA0gAiAAOgAMIAIgATYCCCACQQhqQZi3wABBAyACQQRqQQgQRyEAIAItAA0iAyACLQAMIgRyIQECQCAEQQFxIANBAUdyDQAgACgCACIALQAUQQRxRQRAIAAoAhxBr5PAAEECIAAoAiAoAgwRAAAhAQwBCyAAKAIcQa6TwABBASAAKAIgKAIMEQAAIQELIAJBEGokACABQQFxC4IBAQJ/AkACQAJAIABFDQAgASgCACICBEAgACACEQIACyABKAIEIgFFDQAgAEEEaygCACICQXhxIgNBBEEIIAJBA3EiAhsgAWpJDQEgAkEAIAMgAUEnaksbDQIgABAzCw8LQaGxwABBLkHQscAAEIQBAAtB4LHAAEEuQZCywAAQhAEAC3oBAX8jAEFAaiIFJAAgBSABNgIMIAUgADYCCCAFIAM2AhQgBSACNgIQIAVBAjYCHCAFQfiSwAA2AhggBUICNwIkIAUgBUEQaq1CgICAgBCENwM4IAUgBUEIaq1CgICAgCCENwMwIAUgBUEwajYCICAFQRhqIAQQiAEAC4oBAgN+AX8jAEEQayEEAkAgAL1CgICAgICAgICAf4NC/////////+8/hL8gAKAiAL0iAkI0iCIBQv8PgyIDQrIIVg0AQv///////////wBCfyABQg18iCADQv8HVBsiASACg1ANACAEIABEAAAAAAAAcEegOQMIIAFCf4UgAoO/IQAgBCsDCBoLIAALbgEDfwJAAkAgACgCACICBEAgACgCBCIAQQRrKAIAIgFBeHEiA0EEQQggAUEDcSIBGyACakkNASABQQAgAyACQSdqSxsNAiAAEDMLDwtBobHAAEEuQdCxwAAQhAEAC0HgscAAQS5BkLLAABCEAQALewEBfyMAQRBrIgMkAEGMv8AAQYy/wAAoAgAiBEEBajYCAAJAIARBAEgNAAJAQejCwAAtAABFBEBB5MLAAEHkwsAAKAIAQQFq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IAFB/I/AADYCCCABQgQ3AhAgAUEIaiAAEIgBAAstAAJAIANpQQFHQYCAgIB4IANrIAFJckUEQCAAIAEgAyACEDUiAA0BCwALIAAL6gECAn8BfiMAQRBrIgIkACACQQE7AQwgAiABNgIIIAIgADYCBCMAQRBrIgEkACACQQRqIgApAgAhBCABIAA2AgwgASAENwIEIwBBEGsiACQAIAFBBGoiASgCACICKAIMIQMCQAJAAkACQCACKAIEDgIAAQILIAMNAUEBIQJBACEDDAILIAMNACACKAIAIgIoAgQhAyACKAIAIQIMAQsgAEGAgICAeDYCACAAIAE2AgwgAEEbIAEoAggiAC0ACCAALQAJEHkACyAAIAM2AgQgACACNgIAIABBHCABKAIIIgAtAAggAC0ACRB5AAvfGQIOfwR+IwBBEGsiCyQAIwBBgAZrIgIkACACIAE2AtACIAIgADYCzAIgAiABNgLIAiACQRBqIAJByAJqIgBB9LrAABBcIAIoAhQhCSACKAIQIQogAkEANgK4ASACQbmDwAA2ArQBIAJBkYPAADYCsAEgAkHYADoAgAQgAiACQYAEajYCvAEgAkEYaiACQbABahBOIAAgAigCHCACKAIgIgAQOAJAAkACQAJAAkACQAJAAkACQAJAAkAgAigCyAJFBEAgAikDGCEQIACtIRIMAQsgAikCHCEQIAIpAswCIRIgAigCGCIAQYCAgIB4Rw0BCyACQQA2ArgBIAJBzIPAADYCtAEgAkG5g8AANgKwASACQdgAOgCABCACIAJBgARqNgK8ASACQRhqIAJBsAFqEE4gAkHIAmogAigCHCACKAIgIgAQOAJAIAIoAsgCRQRAIAIpAxghESAArSETDAELIAIpAhwhESACKQLMAiETIAIoAhgiAEGAgICAeEcNAgsgAkEIahBXIAIoAghFDQIgAigCDCIAELgBIgFFDQMgEEIgiKchBSARQiCIpyEEIABBhAFPBEAgABCVAQsgAkEBOgDIAiAFIBKnIAQgE6cgAkHIAmogARBGIAItAMgCDQQMBQsgAiASNwLUAiACIBA3AswCDAULIAIgEzcC1AIgAiARNwLMAgwEC0HYg8AAEKwBAAtB6IPAABCsAQALQci+wABBAToAABAyCyABQYQBTwRAIAEQlQELIBGnIgMEQCAEQQRrKAIAIgBBeHEiAUEEQQggAEEDcSIAGyADakkNAiAAQQAgASADQSdqSxsNAyAEEDMLIBCnIgMEQCAFQQRrKAIAIgBBeHEiAUEEQQggAEEDcSIAGyADakkNAiAAQQAgASADQSdqSxsNAyAFEDMLQQAhACACQRhqAn9ByL7AAC0AAEUEQCACQdACakGcjMAAKQAANwMAIAJB2AJqQgA3AwAgAkHgAmpCADcDACACQegCakIANwMAIAJB8AJqQgA3AwAgAkH4AmpCADcDACACQYADakIANwMAIAJBlIzAACkAADcDyAIDQCACQcgCaiIDIABqIgQgBC0AAEE2czoAACAEQQFqIgEgAS0AAEE2czoAACAEQQJqIgEgAS0AAEE2czoAACAEQQNqIgEgAS0AAEE2czoAACAAQQRqIgBBwABHDQALQQAhACACQTBqQaiCwAApAwA3AwAgAkEoakGggsAAKQMANwMAIAJBIGpBmILAACkDADcDACACQgE3AzggAkGQgsAAKQMANwMYIAJBGGogA0EBECwDQCACQcgCaiIFIABqIgMgAy0AAEHqAHM6AAAgA0EBaiIBIAEtAABB6gBzOgAAIANBAmoiASABLQAAQeoAczoAACADQQNqIgEgAS0AAEHqAHM6AAAgAEEEaiIAQcAARw0ACyACQcgBaiIEQaiCwAApAwA3AwAgAkHAAWoiA0GggsAAKQMANwMAIAJBuAFqIgFBmILAACkDADcDACACQdABaiIAQgE3AwAgAkGQgsAAKQMANwOwASACQbABaiAFQQEQLCACQcgEaiAAKQMANwMAIAJBwARqIAQpAwA3AwAgAkG4BGogAykDADcDACACQbAEaiABKQMANwMAIAJBiARqIAJBIGopAwA3AwAgAkGQBGogAkEoaikDADcDACACQZgEaiACQTBqKQMANwMAIAJBoARqIAJBOGopAwA3AwAgAiACKQOwATcDqAQgAiACKQMYNwOABCACQZgDakEAQcEAEEMgBSACQYAEakHQABA3GiAFDAELIAJB0AJqQayMwAApAAA3AwAgAkHYAmpCADcDACACQeACakIANwMAIAJB6AJqQgA3AwAgAkHwAmpCADcDACACQfgCakIANwMAIAJBgANqQgA3AwAgAkGkjMAAKQAANwPIAgNAIAJByAJqIgMgAGoiBCAELQAAQTZzOgAAIARBAWoiASABLQAAQTZzOgAAIARBAmoiASABLQAAQTZzOgAAIARBA2oiASABLQAAQTZzOgAAIABBBGoiAEHAAEcNAAtBACEAIAJBMGpBqILAACkDADcDACACQShqQaCCwAApAwA3AwAgAkEgakGYgsAAKQMANwMAIAJCATcDOCACQZCCwAApAwA3AxggAkEYaiADQQEQLANAIAJByAJqIgUgAGoiAyADLQAAQeoAczoAACADQQFqIgEgAS0AAEHqAHM6AAAgA0ECaiIBIAEtAABB6gBzOgAAIANBA2oiASABLQAAQeoAczoAACAAQQRqIgBBwABHDQALIAJByAFqIgRBqILAACkDADcDACACQcABaiIDQaCCwAApAwA3AwAgAkG4AWoiAUGYgsAAKQMANwMAIAJB0AFqIgBCATcDACACQZCCwAApAwA3A7ABIAJBsAFqIAVBARAsIAJByARqIAApAwA3AwAgAkHABGogBCkDADcDACACQbgEaiADKQMANwMAIAJBsARqIAEpAwA3AwAgAkGIBGogAkEgaikDADcDACACQZAEaiACQShqKQMANwMAIAJBmARqIAJBMGopAwA3AwAgAkGgBGogAkE4aikDADcDACACIAIpA7ABNwOoBCACIAIpAxg3A4AEIAJBmANqQQBBwQAQQyAFIAJBgARqQdAAEDcaIAULQZgBEDcaIAJB6ABqIQQCQAJAAkBBwAAgAi0AqAEiA2siASAJTQRAIAkhByAKIQAgAw0BDAILIAMgBGogCiAJEDcaIAMgCWohAwwCCyADIARqIAogARA3GiACIAIpAzhCAXw3AzggAkEYaiAEQQEQLCABIApqIQAgCSABayEHCyAHQT9xIQMgB0HAAE8EQCACIAIpAzggB0EGdiIBrXw3AzggAkEYaiAAIAEQLAsgBCAAIAdBQHFqIAMQNxoLIAIgAzoAqAEgAkGwAWoiBiACQRhqQZgBEDcaIAJB+ANqIgRCADcDACACQfADaiIDQgA3AwAgAkHoA2oiAUIANwMAIAJCADcD4AMgAkHoBGoiB0IANwMAIAJB4ARqIgxCADcDACACQdgEaiIFQgA3AwAgAkIANwPQBCAGIAJBgAJqIgAgAkHQBGoQOSACQZgCaiAHKQMANwMAIAJBkAJqIAwpAwA3AwAgAkGIAmogBSkDADcDACACQSA6AMACIAIgAikD0AQ3A4ACIAJB2AFqIAAgAkHgA2oQOSAHIAQpAwA3AwAgDCADKQMANwMAIAUgASkDADcDACACIAIpA+ADNwPQBCACQQA2AvwFIAJCgICAgBA3AvQFIAJB9AVqQQBBwAAQWSAGQQNyIQwgBkECciEFIAZBAXIhBEGAgMQAIQNBACEHA0ACQAJAIANBgIDEAEcEQEGAgMQAIQEMAQsgB0EgRg0BIAJB0ARqIAdqIAdBAWohBy0AACIAQQ9xQZm1wABqLQAAIQEgAEEEdkGZtcAAai0AACEDCyADQYABTwRAIAJBADYCsAECfyADQYAQTwRAIANBgIAETwRAIAIgA0ESdkHwAXI6ALABIAIgA0EGdkE/cUGAAXI6ALIBIAIgA0EMdkE/cUGAAXI6ALEBIAwhAEEEDAILIAIgA0EMdkHgAXI6ALABIAIgA0EGdkE/cUGAAXI6ALEBIAUhAEEDDAELIAIgA0EGdkHAAXI6ALABIAQhAEECCyEGIAAgA0E/cUGAAXI6AAAgBiACKAL0BSACKAL8BSIDa0sEQCACQfQFaiADIAYQWSACKAL8BSEDCyACKAL4BSADaiACQbABaiAGEDcaIAIgAyAGajYC/AUgASEDDAILIAIoAvwFIg8gAigC9AVGBEAjAEEgayIIJAAgAkH0BWoiDigCACINQX9GBEBBAEEAQfS1wAAQpAEAC0EIIA1BAXQiBiANQQFqIgAgACAGSRsiACAAQQhNGyIGQQBIBEBBAEEAQfS1wAAQpAEACyAIIA0EfyAIIA02AhwgCCAOKAIENgIUQQEFQQALNgIYIAhBCGogBiAIQRRqEHwgCCgCCEEBRgRAIAgoAgwgCCgCEEH0tcAAEKQBAAsgCCgCDCEAIA4gBjYCACAOIAA2AgQgCEEgaiQACyACKAL4BSAPaiADOgAAIAIgD0EBajYC/AUgASEDDAELCwJAIAkEQCAKQQRrKAIAIgBBeHEiAUEEQQggAEEDcSIAGyAJakkNAyAAQQAgASAJQSdqSxsNASAKEDMLIAIgAkH0BWpB5K/AABBcIAIoAgQhACALIAIoAgA2AgAgCyAANgIEIAJBgAZqJAAMBAsMAgsgAiAANgLIAkEBQQAgAkHIAmpB3IXAAEHshcAAEHYAC0GhscAAQS5B0LHAABCEAQALQeCxwABBLkGQssAAEIQBAAsgCygCACALKAIEIAtBEGokAAseACAARQRAELABAAsgACACIAMgBCAFIAEoAhARCgALHAAgAEUEQBCwAQALIAAgAiADIAQgASgCEBELAAscACAARQRAELABAAsgACACIAMgBCABKAIQEQ0ACxwAIABFBEAQsAEACyAAIAIgAyAEIAEoAhARJQALHAAgAEUEQBCwAQALIAAgAiADIAQgASgCEBEnAAscACAARQRAELABAAsgACACIAMgBCABKAIQESkACxoAIABFBEAQsAEACyAAIAIgAyABKAIQEQQACxgAIABFBEAQsAEACyAAIAIgASgCEBEBAAsYACAARQRAELABAAsgACACIAEoAhARAwALGgEBbyAAJQEgASUBEAkhAhBCIgAgAiYBIAALGgBB8L7AAEEBOgAAIAFBhAFPBEAgARCVAQsLFgAgAEGEAU8EQCAA0G8mASAAEIMBCwsYAQFvIAAlASABEBkhAhBCIgAgAiYBIAALFQAgACgCACIAQYQBTwRAIAAQlQELCxcBAX8gABAiIgE2AgQgACABQQBHNgIACxcBAX8gABAjIgE2AgQgACABQQBHNgIACxcBAX8gABAkIgE2AgQgACABQQBHNgIACxcBAX8gABAlIgE2AgQgACABQQBHNgIACxwAIABBADYCECAAQgA3AgggAEKAgICAwAA3AgALFgEBbyAAIAEQCCECEEIiACACJgEgAAsWAgFvAX8gABAVIQEQQiICIAEmASACCxMAIAAQQiIAIAImASABIAAQkgELvAgBBX8jAEHwAGsiBSQAIAUgAzYCDCAFIAI2AggCQAJAAkACQAJAAkAgBQJ/IAACfwJAIAFBgQJPBEBBAyAALACAAkG/f0oNAhogACwA/wFBv39MDQFBAgwCCyAFIAE2AhQgBSAANgIQQQEhBkEADAILIAAsAP4BQb9/SgtB/QFqIgZqLAAAQb9/TA0BIAUgBjYCFCAFIAA2AhBBjJjAACEGQQULNgIcIAUgBjYCGCABIAJJIgYgASADSXJFBEAgAiADSw0CIAJFIAEgAk1yRQRAIAMgAiAAIAJqLAAAQb9/ShshAwsgBSADNgIgIAMgASICSQRAIANBAWoiByADQQNrIgJBACACIANNGyICSQ0EAkAgAiAHRg0AIAcgAmshCCAAIANqLAAAQb9/SgRAIAhBAWshBgwBCyACIANGDQAgACAH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EDIwODMVEAoKAig4OTAOPDoKKDg5MA48OndpbmRvdyBzaXplIG11c3QgYmUgbm9uLXplcm8AAMwBEAAKAAAAEQEAAA4AAADMARAACgAAABgBAAAWAAAAzAEQAAoAAAAaAQAAFQAAAMwBEAAKAAAAKgEAABEAAABpbnRlcm5hbCBlcnJvcjogZW50ZXJlZCB1bnJlYWNoYWJsZSBjb2RlzAEQAAoAAAA0AQAABQAAAMwBEAAKAAAAOAEAABsAAADMARAACgAAADkBAAAlAAAAOzg0LT0uAADMARAACgAAAD8BAAAKAEHEiMAACwkBAAAAOQAAADoAQdiIwAALww0BAAAAOwAAADwAAAA/ODc+LDw6PA8PDAYHEQMDzAEQAAoAAAB1AQAAbwAAAMwBEAAKAAAAagEAAAsAAAA9AAAABAAAAAQAAAA+AAAAzAEQAAoAAABBAQAACgAAAMwBEAAKAAAABgIAAA4AAADMARAACgAAAAoCAAAOAAAAzAEQAAoAAAAOAgAADgAAAMwBEAAKAAAADAIAAA4AAADMARAACgAAAAgCAAAOAAAAzAEQAAoAAAAEAgAADgAAAMwBEAAKAAAAQQIAAAoAAADMARAACgAAAE8CAAAOAAAAzAEQAAoAAABpAgAADgAAAMwBEAAKAAAAbwIAAFMAAADMARAACgAAAGcCAAAOAAAAzAEQAAoAAABfAgAADgAAAMwBEAAKAAAAXQIAAFEAAADMARAACgAAAFwCAABUAAAAzAEQAAoAAABUAgAADgAAAMwBEAAKAAAATQIAAA4AAADMARAACgAAAD8CAAAKAAAAzAEQAAoAAAA9AgAACgAAAMwBEAAKAAAAOwIAAAoAAADMARAACgAAADkCAAAKAAAAzAEQAAoAAACSAAAAHgAAAMwBEAAKAAAAkwAAADIAAABRVIR43xnNQc5iB/4sB/IzEfgSZnQBoIg/sxv+wZ0TDMwBEAAKAAAAhgEAACMAAAAAAAJBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWmFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6MDEyMzQ1Njc4OSsv/////////////////////////////////////////////////////////z7///8/NDU2Nzg5Ojs8Pf////////8AAQIDBAUGBwgJCgsMDQ4PEBESExQVFhcYGf///////xobHB0eHyAhIiMkJSYnKCkqKywtLi8wMTIz/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////wDMARAACgAAAK0BAABzAAAAzAEQAAoAAACsAQAAbAAAAMwBEAAKAAAAqwEAAGgAAADMARAACgAAANABAAAbAAAAzAEQAAoAAADXAQAAKgAAAMwBEAAKAAAA1AEAAAoAAABjYXBhY2l0eSBvdmVyZmxvdwAAAOgHEAARAAAAbGlicmFyeS9hbGxvYy9zcmMvcmF3X3ZlYy5ycwQIEAAcAAAAKAIAABEAAABsaWJyYXJ5L2FsbG9jL3NyYy9zdHJpbmcucnMAMAgQABsAAADqAQAAFwAAAO+/vQAuLgAAAQAAAAAAAABbY2FsbGVkIGBPcHRpb246OnVud3JhcCgpYCBvbiBhIGBOb25lYCB2YWx1ZWluZGV4IG91dCBvZiBib3VuZHM6IHRoZSBsZW4gaXMgIGJ1dCB0aGUgaW5kZXggaXMgAACYCBAAIAAAALgIEAASAAAAAAAAAAQAAAAEAAAAPwAAAD09YXNzZXJ0aW9uIGBsZWZ0ICByaWdodGAgZmFpbGVkCiAgbGVmdDogCiByaWdodDogAADuCBAAEAAAAP4IEAAXAAAAFQkQAAkAAAAgcmlnaHRgIGZhaWxlZDogCiAgbGVmdDogAAAA7ggQABAAAAA4CRAAEAAAAEgJEAAJAAAAFQkQAAkAAAA6IAAAAQAAAAAAAAB0CRAAAgAAAAAAAAAMAAAABAAAAEAAAABBAAAAQgAAACAgICAgeyAsICB7CiwKfSB9KCgKCl0weDAwMDEwMjAzMDQwNTA2MDcwODA5MTAxMTEyMTMxNDE1MTYxNzE4MTkyMDIxMjIyMzI0MjUyNjI3MjgyOTMwMzEzMjMzMzQzNTM2MzczODM5NDA0MTQyNDM0NDQ1NDY0NzQ4NDk1MDUxNTI1MzU0NTU1NjU3NTg1OTYwNjE2MjYzNjQ2NTY2Njc2ODY5NzA3MTcyNzM3NDc1NzY3Nzc4Nzk4MDgxODI4Mzg0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bGVkOiBwc2l6ZSA+PSBzaXplICsgbWluX292ZXJoZWFkAHgYEAApAAAAqAQAAAkAAABhc3NlcnRpb24gZmFpbGVkOiBwc2l6ZSA8PSBzaXplICsgbWF4X292ZXJoZWFkAAB4GBAAKQAAAK4EAAANAAAAdXNlIG9mIHN0ZDo6dGhyZWFkOjpjdXJyZW50KCkgaXMgbm90IHBvc3NpYmxlIGFmdGVyIHRoZSB0aHJlYWQncyBsb2NhbCBkYXRhIGhhcyBiZWVuIGRlc3Ryb3llZAAAIBkQAF4AAABsaWJyYXJ5L3N0ZC9zcmMvdGhyZWFkL2N1cnJlbnQucnMAAACIGRAAIQAAAP4AAAAJAAAAbGlicmFyeS9zdGQvc3JjL3RocmVhZC9tb2QucnNmYWlsZWQgdG8gZ2VuZXJhdGUgdW5pcXVlIHRocmVhZCBJRDogYml0c3BhY2UgZXhoYXVzdGVk2RkQADcAAAC8GRAAHQAAAK4EAAANAAAAnBwQAFsAAAAIAwAAGQAAAHJlZW50cmFudCBpbml0AAA4GhAADgAAAJwcEABbAAAAegIAAA0AAABKc1ZhbHVlKCkAAABgGhAACAAAAGgaEAABAAAAVXRmOEVycm9ydmFsaWRfdXBfdG9lcnJvcl9sZW4wMTIzNDU2Nzg5YWJjZGVmL3J1c3RjLzRlYjE2MTI1MGUzNDBjOGY0OGY2NmUyYjkyOWVmNGE1YmVkN2MxODEvbGlicmFyeS9hbGxvYy9zcmMvc3RyaW5nLnJzqRoQAEsAAACNBQAAGwAAAC9ydXN0Yy80ZWIxNjEyNTBlMzQwYzhmNDhmNjZlMmI5MjllZjRhNWJlZDdjMTgxL2xpYnJhcnkvYWxsb2Mvc3JjL3Jhd192ZWMucnMEGxAATAAAACgCAAARAAAAY2xvc3VyZSBpbnZva2VkIHJlY3Vyc2l2ZWx5IG9yIGFmdGVyIGJlaW5nIGRyb3BwZWRPYmplY3RvYmpGcm9tVXRmOEVycm9yYnl0ZXNlcnJvck5vbmVTb21lL2hvbWUvam9zaC8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby0xOTQ5Y2Y4YzZiNWI1NTdmL2Jhc2U2NC0wLjIyLjEvc3JjL2VuZ2luZS9tb2QucnMAAAC6GxAAXwAAAHsAAAAbAAAANwAAABQAAAAEAAAAOAAAAEludmFsaWQgVVRGOLobEABfAAAAfwAAACQAAABOb2RlRXZlbnRUYXJnZXRMYXp5IGluc3RhbmNlIGhhcyBwcmV2aW91c2x5IGJlZW4gcG9pc29uZWQAAABnHBAAKgAAAC9ob21lL2pvc2gvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tMTk0OWNmOGM2YjViNTU3Zi9vbmNlX2NlbGwtMS4yMS4zL3NyYy9saWIucnMAnBwQAFsAAAAfBQAAGQAAAC9ob21lL2pvc2gvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tMTk0OWNmOGM2YjViNTU3Zi93YXNtLWJpbmRnZW4tMC4yLjEwMC9zcmMvY29udmVydC9zbGljZXMucnMAAAgdEABqAAAA6AAAAAEAQY67wAALE/A/AAAAAAAAAIAAAAAAAAAAACMAQau7wAALCoAAAAAAAAAAACQAQb+7wAALCoAAAAAAAAAAACUAQdO7wAALCoAAAAAAAAAAACYAQee7wAALCoAAAAAAAAAAACcAQfu7wAALCoAAAAAAAAAAACgAQY+8wAALCoAAAAAAAAAAACkAQaO8wAALCoAAAAAAAAAAACoAQbe8wAALCoAAAAAAAAAAACsAQcu8wAALCoAAAAAAAAAAACwAQd+8wAALCoAAAAAAAAAAAC0AQfO8wAALCoAAAAAAAAAAAC4AQYe9wAALCoAAAAAAAAAAAC8AQZu9wAALCoAAAAAAAAAAADAAQa+9wAALCoAAAAAAAAAAADEAQcO9wAALCoAAAAAAAAAAADIAQde9wAALCoAAAAAAAAAAADMAQeu9wAALPoAAAAAAAAAAADQAAABDAAAAAgAAAAAAAABEAAAAAgAAAAAAAABFAAAAAgAAAAAAAABGAAAAAgAAAAAAAABHAEHEvsAACwFIAHAJcHJvZHVjZXJzAghsYW5ndWFnZQEEUnVzdAAMcHJvY2Vzc2VkLWJ5AwVydXN0Yx0xLjg1LjEgKDRlYjE2MTI1MCAyMDI1LTAzLTE1KQZ3YWxydXMGMC4yMy4zDHdhc20tYmluZGdlbgcwLjIuMTAwAEkPdGFyZ2V0X2ZlYXR1cmVzBCsPbXV0YWJsZS1nbG9iYWxzKwhzaWduLWV4dCsPcmVmZXJlbmNlLXR5cGVzKwptdWx0aXZhbHVl");var We=await WebAssembly.instantiate(ne,Ie),R=We.instance.exports,w=()=>R,oe,Be;var Ce=I=>{let A,e;try{let[t,i]=Y(I),a=R.validate(t,i);return A=a[0],e=a[1],S(A,e)}finally{R.__wbindgen_free(A,e,1)}},Qe=I=>{for(;I<0;)I+=2*Math.PI;for(;I>=2*Math.PI;)I-=2*Math.PI;return I},Ve=(I,A,e,t)=>{let i=Qe(I),g=Qe(e)-i;Math.abs(g)>Math.PI&&(g=g>0?g-2*Math.PI:g+2*Math.PI);let B=t-A,o=.0025,Q=.0025,E=Math.round(-g/o),C=Math.round(-B/Q);return{movementX:E,movementY:C}},Ee=(I,A)=>{if(!IA.pointermove){R.start();let[a,g]=Y([...Array(14)].map(()=>Math.random().toString(36)[2]).join(""));R.set_mouse_params(50,1,.9,!1,a,g)}let e=R.get_yaw_pitch(),t=Ve(e.yaw,e.pitch,I,A);return IA.pointermove({isTrusted:!0,movementX:t.movementX,movementY:t.movementY}),R.get_yaw_pitch().coords};var O=class{connected=!1;onceConnected=[];regionList=[];proxy=null;sessionId="";onListeners=new Map;onceListeners=new Map;#A=!1;constructor(A={}){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.#g(),A.proxy&&!P?this.#t("proxies do not work and hence are not supported in the browser"):A.proxy&&(this.proxy=A.proxy),this.#e(A.instance,A.protocol,A.noLogin)}async#e(A,e,t){let i=async()=>{try{this.ws=new x(`${e}://${A}/matchmaker/`,this.proxy),this.ws.onerror=async a=>(this.#t(a),await new Promise(g=>setTimeout(g,100)),await i())}catch{await new Promise(a=>setTimeout(a,100)),await i()}};await i(),this.ws.onopen=()=>{this.connected=!0,this.ws.onerror=null,(this.sessionId||t)&&this.onceConnected.forEach(a=>a())},this.ws.onmessage=a=>{let g=JSON.parse(a.data);g.command==="validateUUID"&&this.ws.send(JSON.stringify({command:"validateUUID",hash:Ce(g.uuid)})),this.#i("msg",g)},this.ws.onclose=()=>{this.connected=!1,this.#A||this.#e(A)}}async#g(){let A=await this.api.loginAnonymously();(!A||typeof A=="string")&&this.#i("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=i=>{i.command==="regionList"&&(this.regionList=i.regionList,this.off("msg",t),e(i.regionList))};this.on("msg",t),this.ws.onerror=i=>A.#t("failed to get regions",i),this.ws.send(JSON.stringify({command:"regionList"}))})}async findPublicGame(A={}){return await this.waitForConnect(),!A.region&&!this.regionList&&!this.regionList.length?this.#t("pass a region to createPrivateGame or call getRegions() for a random one"):(A.region||(opts.region=this.getRandomRegion()),this.regionList.length&&!this.regionList.find(e=>e.id===A.region)?this.#t("did not find region in regionList"):A.mode?typeof l[A.mode]!="number"?this.#t("invalid mode passed to findPublicGame, see GameModes for a list"):new Promise(e=>{let t={command:"findGame",region:A.region,playType:b.joinPublic,gameType:l[A.mode],sessionId:this.sessionId},i=a=>{a.command==="gameFound"&&(this.off("msg",i),e(a))};this.on("msg",i),this.ws.send(JSON.stringify(t))}):this.#t("pass a mode to findPublicGame"))}getRandomRegion(){if(!this.regionList&&!this.regionList.length)this.#t("use <Matchmaker>.getRegions() before getRandomRegion()");else return this.regionList[Math.floor(Math.random()*this.regionList.length)].id}getRandomGameMode(){let A=Object.keys(l);return A[Math.floor(Math.random()*A.length)]}close(){this.#A=!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))}#i(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))}#t(A){if(this.onListeners.has("error"))this.#i("error",A);else throw A}},re=O;var $e=(I,A)=>(I%A+A)%A,At=Math.PI*2,ce=I=>Math.round(I*8192)/8192,et=I=>ce($e(Math.atan2(-I.x,-I.z),At)),tt=I=>ce(Math.atan2(I.y,Math.hypot(I.x,I.z))),SA=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=et(e),i=tt(e);A.state.yaw=t,A.state.pitch=i}},Z=SA;var RA=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=RA;var oA=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,i=this.z-A.z,a=this.y-A.y,g=Math.abs(t),B=Math.abs(a),o=Math.abs(i);if(g+B+o===0||g+o>1||this.isFull()||A.isFull())return!1;let Q=e.at(this.x,this.y-1,this.z),E=e.at(A.x,A.y-1,A.z);if(!Q||!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!!(a===1&&A.canWalkThrough()||(Q.canWalkOn()||Q.isLadder())&&(A.meshType==="none"||A.meshType==="ladder"&&B===0||A.meshType==="wedge"&&a===0&&t===-C[A.ry].x&&i===-C[A.ry].z));case"ladder":return!!(B===1&&A.canWalkThrough()||B===0&&Q.canWalkOn()||A.meshType==="ladder"&&(B===1||Q.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 e=this.flatCenter();return Math.hypot(e.x-A.x,e.z-A.z)}},BA=class{list=[];constructor(A){let e={};for(let i of Object.keys(A.data))for(let a of A.data[i])e[a.x<<16|a.y<<8|a.z]=!0,this.list.push(new oA(i,a));for(let i=0;i<A.width;i++)for(let a=0;a<A.height;a++)for(let g=0;g<A.depth;g++)e[i<<16|a<<8|g]||this.list.push(new oA("SPECIAL.air.none",{x:i,y:a,z:g}));let t=new Map;for(let i of this.list)t.set(i.positionStr,i);for(let i of this.list){let a=[{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 a){let B=`${g.x},${g.y},${g.z}`,o=t.get(B);o&&i.canLink(o,this)&&i.links.push(o)}}}at(A,e,t){if(!this.nodeMap){this.nodeMap=new Map;for(let a of this.list){let g=`${a.x},${a.y},${a.z}`;this.nodeMap.set(g,a)}}let i=`${A},${e},${t}`;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,e){let t=e.x-A.x,i=e.y-A.y,a=e.z-A.z,g=Math.max(Math.abs(t),Math.abs(i),Math.abs(a)),B=t/g,o=i/g,Q=a/g,E=A.x,C=A.y,u=A.z;for(let f=0;f<=g;f++){let W=this.at(Math.round(E),Math.round(C),Math.round(u));if(W&&W.isFull())return!1;E+=B,C+=o,u+=Q}return!0}};var le=async(I,A)=>{if(F)return await(await fetch(`https://esm.sh/gh/yolkorg/maps/maps/${I}.json?${A}`)).json();{let{existsSync:e,mkdirSync:t,readFileSync:i,writeFileSync:a}={},{join:g}={},{homedir:B}={},o=g(B(),".yolkbot"),Q=g(o,"maps");e(o)||t(o),e(Q)||t(Q);let E=g(Q,`${I}-${A}.json`);if(e(E))return JSON.parse(i(E,"utf-8"));let C=await(await fetch(`https://esm.sh/gh/yolkorg/maps/maps/${I}.json?${A}`)).json();return a(E,JSON.stringify(C,null,4),{flag:"w+"}),C}},he=I=>{let A=0,e={},t=[];for(let g of I)e[g.x]||(e[g.x]={}),e[g.x][g.y]||(e[g.x][g.y]={}),e[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}],a=(g,B,o)=>e[g]&&e[g][B]&&e[g][B][o]?e[g][B][o]:null;for(let g of I)if(!e[g.x][g.y][g.z].zone){g.zone=++A,e[g.x][g.y][g.z].zone=g.zone;let B=[g],o;do{o=0;for(let Q of I)if(!e[Q.x][Q.y][Q.z].zone)for(let E of i){let C=a(Q.x+E.x,Q.y,Q.z+E.z);if(C&&C.zone===g.zone){o++,Q.zone=g.zone,e[Q.x][Q.y][Q.z].zone=g.zone,B.push(Q);break}}}while(o>0);t.push(B)}return t};var de=[{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 M=[{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:"private",numPlayers:"14"},{filename:"bastion",hash:"uuwh7401no",name:"Bastion",modes:{FFA:!0,Teams:!0,Spatula:!0,King:!0},availability:"private",numPlayers:"12"},{filename:"bedrock",hash:"yqbkimntiu",name:"Bedrock",modes:{FFA:!0,Teams:!0,Spatula:!0,King:!0},availability:"both",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:"both",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:"private",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:"both",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:"both",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:"private",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:"both",numPlayers:"10"},{filename:"greenhouse",hash:"ffvpjhqou6",name:"Greenhouse",modes:{FFA:!0,Teams:!0,Spatula:!0,King:!0},availability:"both",numPlayers:"18"},{filename:"growler",hash:"1izyni7tb1e",name:"Growler",modes:{FFA:!0,Teams:!0,Spatula:!0,King:!0},availability:"private",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:"both",numPlayers:"18"},{filename:"hydro",hash:"8znnxbxfss",name:"Hydro",modes:{FFA:!0,Teams:!0,Spatula:!0,King:!0},availability:"private",numPlayers:"18"},{filename:"indigo",hash:"1vrzzn6ym9q",name:"Indigo",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:"private",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:"both",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:"both",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:"private",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:"private",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:"both",numPlayers:"12"},{filename:"palaceSiege",hash:"1enghs5hsxe",name:"Palace Siege",modes:{FFA:!0,Teams:!0,Spatula:!0,King:!0},availability:"both",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:"both",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:"private",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:"private",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:"private",numPlayers:"18"},{filename:"spaceFactory",hash:"10802a2az0f",name:"Space Factory",modes:{FFA:!0,Teams:!0,Spatula:!0,King:!0},availability:"both",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:"private",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"}];var ue=Object.fromEntries(Object.entries(L).map(([I,A])=>[A,I])),me=Object.fromEntries(Object.entries(l).map(([I,A])=>[A,I])),we={CHALLENGES:1,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,KOTC_ZONES:15},LA=(I,A)=>(I%A+A)%A,nA=class{static Intents=we;Intents=we;#A=[];#e={};#g=[];#i;#t;constructor(A={}){A.proxy&&!P&&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)&&(c(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 sA({}),this.game={raw:{},code:"",socket:null,gameModeId:0,gameMode:me[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:L.capturing,zoneNumber:0,activeZone:[],capturing:0,captureProgress:0,numCapturing:0,stageName:"",capturePercent:0},this.#t=this.game,this.account={id:0,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,rawLoginData:{}},this.#i=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}dispatch(A){return A.validate(this)?(A.check(this)?A.execute(this):this.#A.push(A),!0):!1}async createAccount(A,e){this.account.email=A,this.account.password=e;let t=await this.api.createAccount(A,e);return this.#a(t)}async login(A,e){this.account.email=A,this.account.password=e;let t=await this.api.loginWithCredentials(A,e);return this.#a(t)}async loginWithRefreshToken(A){let e=await this.api.loginWithRefreshToken(A);return this.#a(e)}async loginAnonymously(){delete this.account.email,delete this.account.password;let A=await this.api.loginAnonymously();return this.#a(A)}#a(A){return typeof A!="object"?(this.emit("authFail",A),!1):A.banRemaining?(this.emit("banned",A.banRemaining),!1):A.playerOutput?(A=A.playerOutput,this.account.rawLoginData=A,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.upgradeProductId&&!A.upgradeIsExpired,this.intents.includes(this.Intents.STATS)&&(this.account.stats={lifetime:A.statsLifetime,monthly:A.statsCurrent}),this.intents.includes(this.Intents.CHALLENGES)&&this.#s(A.challenges),this.emit("authSuccess",this.account),this.account):(this.emit("authFail",A),!1)}#s(A){this.account.challenges=[];for(let e of A){let t=de.find(i=>i.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(){return!this.account.sessionId&&!this.intents.includes(this.Intents.NO_LOGIN)&&!await this.loginAnonymously()?!1:(this.matchmaker||(this.matchmaker=new re({sessionId:this.account.sessionId,proxy:this.proxy,instance:this.instance,protocol:this.protocol,noLogin:this.intents.includes(this.Intents.NO_LOGIN),api:this.api}),this.matchmaker.on("authFail",A=>this.emit("authFail",A)),this.matchmaker.on("error",A=>this.processError(A)),await this.matchmaker.getRegions()),!0)}async#I(A){return await this.initMatchmaker()?(await this.matchmaker.waitForConnect(),await new Promise(e=>{let t=i=>{if(i.command==="gameFound"&&(this.matchmaker.off("msg",t),this.game.raw=i,this.game.code=i.id,e(i.id)),i.error&&i.error==="gameNotFound")return this.processError(`Game ${A} not found (likely expired).`),this.leave(),"gameNotFound"};this.matchmaker.on("msg",t),this.matchmaker.send({command:"joinGame",id:A,observe:!1,sessionId:this.account.sessionId})})):"matchmakerInitFail"}async findPublicGame(A){return this.matchmaker||this.initMatchmaker(),this.matchmaker?await this.matchmaker.findPublicGame(A):!1}async createPrivateGame(A={}){if(!await this.initMatchmaker())return!1;if(!A.region&&!this.matchmaker.regionList&&!this.matchmaker.regionList.length)return this.processError("pass a region to createPrivateGame or call getRegions() for a random one");if(A.region||(A.region=this.matchmaker.getRandomRegion()),!A.mode)return this.processError("pass a mode to createPrivateGame");if(typeof l[A.mode]!="number")return this.processError("invalid mode passed to createPrivateGame, see GameModes for a list");A.map||(A.map=M[M.length*Math.random()|0].name);let e=M.find(a=>a.name.toLowerCase()===A.map.toLowerCase()),t=M.indexOf(e);return t===-1?this.processError("invalid map, see the Maps constant for a list"):(await this.matchmaker.waitForConnect(),await new Promise(a=>{let g=B=>{B.command==="gameFound"&&(this.matchmaker.off("msg",g),a(B))};this.matchmaker.on("msg",g),this.matchmaker.send({command:"findGame",region:A.region,playType:b.createPrivate,gameType:l[A.mode],sessionId:this.account.sessionId,noobLobby:!1,map:t})}))}async join(A,e){if(this.state.name=A||"yolkbot",typeof e=="string"){e.includes("#")&&(e=e.split("#")[1]);let i=await this.#I(e);if(i==="matchmakerInitFail")return this.processError("failed to create matchmaker, you may be ratelimited (try a vpn?)");if(i==="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=async()=>{try{let i=this.instance.startsWith("localhost:")?this.instance:`${this.game.raw.subdomain}.${this.instance}`;this.game.socket=new x(`${this.protocol}://${i}/game/${this.game.raw.id}`,this.proxy),this.game.socket.onerror=async a=>(this.processError(a),await new Promise(g=>setTimeout(g,100)),await t())}catch{await new Promise(i=>setTimeout(i,100)),await t()}};await t(),this.game.socket.binaryType="arraybuffer",this.game.socket.onopen=()=>this.game.socket.onerror=null,this.game.socket.onmessage=i=>this.processPacket(i.data),this.game.socket.onclose=i=>{this.state.left?this.state.left=!1:(this.emit("close",i.code),this.leave(-1))}}#o(){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){if(this.pathing.followingPath&&this.intents.includes(this.Intents.PATHFINDING)&&this.#o(),this.#A.length>0)for(let A=0;A<this.#A.length;A++){let e=this.#A[A];e.check(this)&&(e.execute(this),this.#A.splice(A,1))}if(this.state.chatLines=Math.max(0,this.state.chatLines-1/(30*4)),this.me.playing){let A=this.state.stateIdx;if(this.intents.includes(this.Intents.DEBUG_BUFFER)&&(console.log("setting buffer for idx",A),console.log("checking...shotsFired",this.state.shotsFired)),this.me.jumping=!!(this.state.controlKeys&m.JUMP),this.state.buffer[A]={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=r.getBuffer();e.packInt8(n.syncMe),e.packInt8(this.state.stateIdx),e.packInt8(this.state.serverStateIdx);let t=LA(this.state.stateIdx-J+1,K);for(let i=0;i<J;i++){let a=LA(t+i,K);this.intents.includes(this.Intents.DEBUG_BUFFER)&&console.log("going with",this.state.stateIdx,t,a,this.state.buffer[a]),e.packInt8(this.state.buffer[a]?.controlKeys||0),e.packInt8(this.state.buffer[a]?.shotsFired||0);let g=this.state.buffer[a]?.yaw||this.state.yaw,B=this.state.buffer[a]?.pitch||this.state.pitch,o=Ee(g,B);e.packString(o),e.packInt8(100)}e.send(this.game.socket),this.state.buffer=[],this.lastUpdateTick=0}else this.lastUpdateTick++;this.state.stateIdx=LA(this.state.stateIdx+1,K)}if(this.intents.includes(this.Intents.PLAYER_HEALTH))for(let A of Object.values(this.players)){if(A.playing&&A.hp>0){let e=.1*(this.game.isPrivate?this.game.options.healthRegen:1);A.streakRewards.includes(h.OverHeal)?A.hp=Math.max(100,A.hp-e):A.hp=Math.min(100,A.hp+e)}A.spawnShield>0&&(A.spawnShield-=6)}}}on(A,e){Object.keys(this.#e).includes(A)?this.#e[A].push(e):this.#e[A]=[e]}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)}}#B(){let A=s.unPackInt8U(),e=s.unPackInt8U(),t=s.unPackString().valueOf(),i=this.players[A];this.emit("chat",i,t,e)}#n(){let A=s.unPackInt8U(),e=this.intents.includes(this.Intents.COSMETIC_DATA),t={id:A,uniqueId:s.unPackString(),name:s.unPackString(),safeName:s.unPackString(),charClass:s.unPackInt8U(),team:s.unPackInt8U(),primaryWeaponItem:e?c(s.unPackInt16U()):s.unPackInt16U(),secondaryWeaponItem:e?c(s.unPackInt16U()):s.unPackInt16U(),shellColor:s.unPackInt8U(),hatItem:e?c(s.unPackInt16U()):s.unPackInt16U(),stampItem:e?c(s.unPackInt16U()):s.unPackInt16U(),stampPosX:s.unPackInt8(),stampPosY:s.unPackInt8(),grenadeItem:e?c(s.unPackInt16U()):s.unPackInt16U(),meleeItem:e?c(s.unPackInt16U()):s.unPackInt16U(),x:s.unPackFloat(),y:s.unPackFloat(),z:s.unPackFloat(),$dx:s.unPackFloat(),$dy:s.unPackFloat(),$dz:s.unPackFloat(),yaw:s.unPackRadU(),pitch:s.unPackRad(),score:s.unPackInt32U(),kills:s.unPackInt16U(),deaths:s.unPackInt16U(),streak:s.unPackInt16U(),totalKills:s.unPackInt32U(),totalDeaths:s.unPackInt32U(),bestGameStreak:s.unPackInt16U(),bestOverallStreak:s.unPackInt16U(),shield:s.unPackInt8U(),hp:s.unPackInt8U(),playing:s.unPackInt8U(),weaponIdx:s.unPackInt8U(),$controlKeys:s.unPackInt8U(),upgradeProductId:s.unPackInt8U(),activeShellStreaks:s.unPackInt8U(),social:s.unPackLongString(),hideBadge:s.unPackInt8U()};s.unPackInt8U(),s.unPackInt8U(),s.unPackInt8U();let i=new sA(t,this.game.gameMode===l.kotc?this.game.activeZone:null);this.players[t.id]||(this.players[t.id]=i),this.emit("playerJoin",i),this.me.id===t.id&&(this.me=i,this.emit("botJoined",this.me))}#Q(){let A=s.unPackInt8U(),e=s.unPackInt16U(),t=s.unPackFloat(),i=s.unPackFloat(),a=s.unPackFloat(),g=s.unPackInt8U(),B=s.unPackInt8U(),o=s.unPackInt8U(),Q=s.unPackInt8U(),E=s.unPackInt8U(),C=this.players[A];C&&(C.playing=!0,C.randomSeed=e,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=B),C.weapons[1]&&C.weapons[1].ammo&&(C.weapons[1].ammo.rounds=o),C.weapons[1]&&C.weapons[1].ammo&&(C.weapons[1].ammo.store=Q),C.grenades=E,C.position={x:t,y:i,z:a},C.spawnShield=120,this.emit("playerRespawn",C))}#C(){let A=s.unPackInt8U(),e=s.unPackFloat(),t=s.unPackFloat(),i=s.unPackFloat(),a=s.unPackInt8U(),g=this.players[A];if(!g||g.id===this.me.id){for(let o=0;o<J;o++)s.unPackInt8U(),s.unPackRadU(),s.unPackRad(),s.unPackInt8U();return}for(let o=0;o<J;o++)s.unPackInt8U()&m.JUMP?g.jumping=!0:g.jumping=!1,g.view.yaw=s.unPackRadU(),g.view.pitch=s.unPackRad(),s.unPackInt8U();let B=g.position.x!==e||g.position.y!==t||g.position.z!==i||g.climbing!==a;if(g.position.x!==e&&(g.position.x=e),g.position.z!==i&&(g.position.z=i),(!g.jumping||Math.abs(g.position.y-t)>.5&&g.position.y!==t)&&(g.position.y=t),g.climbing!==a&&(g.climbing=a),B&&(this.emit("playerMove",g,g.position),this.game.gameModeId===l.kotc)){let o=this.game.activeZone;if(!o){g.inKotcZone&&(g.inKotcZone=!1,this.emit("playerLeaveZone",g,o));return}let Q=Math.round(e),E=Math.floor(t),C=Math.round(i),u=o.some(f=>f.x===Q&&f.y===E&&f.z===C);g.inKotcZone&&!u?(g.inKotcZone=!1,this.emit("playerLeaveZone",g)):!g.inKotcZone&&u&&(g.inKotcZone=!0,this.emit("playerEnterZone",g))}}#E(){let A=s.unPackInt8U(),e=this.players[A];e&&(e.playing=!1,this.emit("playerPause",e))}#r(){let A=s.unPackInt8U(),e=s.unPackInt8U(),t=this.players[A];t&&(t.activeGun=e,this.emit("playerSwapWeapon",t,e))}#c(){let A=s.unPackInt8U(),e=s.unPackInt8U();s.unPackInt8U(),s.unPackInt8U(),s.unPackInt8U();let t=this.players[A],i=this.players[e];t&&(t.playing=!1,t.streak=0,t.lastDeathTime=Date.now(),t.hp=100,t.spawnShield=0,t.stats.deathsInGame++,t.stats.totalDeaths++),i&&(i.streak++,i.stats.killsInGame++,i.stats.totalKills++,i.stats.streak=i.streak,i.streak>i.stats.bestGameStreak&&(i.stats.bestGameStreak=i.streak),i.streak>i.stats.bestOverallStreak&&(i.stats.bestOverallStreak=i.streak)),this.emit("playerDeath",t,i)}#l(){let A=s.unPackInt8U();for(let i=0;i<6;i++)s.unPackFloat();let e=this.players[A];if(!e)return;let t=e.weapons[e.activeGun];t&&t.ammo&&(t.ammo.rounds--,this.emit("playerFire",e,t))}#h(){let A=s.unPackInt16U(),e=s.unPackInt8U(),t=s.unPackFloat(),i=s.unPackFloat(),a=s.unPackFloat();this.game.collectables[e].push({id:A,x:t,y:i,z:a}),this.emit("spawnItem",e,A,{x:t,y:i,z:a})}#d(){let A=s.unPackInt8U(),e=s.unPackInt8U(),t=s.unPackInt8U(),i=s.unPackInt16U(),a=this.players[A];if(this.game.collectables[e]=this.game.collectables[e].filter(g=>g.id!==i),e===V.AMMO){let g=a.weapons[t];g&&g.ammo&&(g.ammo.store=Math.min(g.ammo.storeMax,g.ammo.store+g.ammo.pickup),this.emit("collectAmmo",a,g))}e===V.GRENADE&&(a.grenades++,a.grenades>3&&(a.grenades=3),this.emit("collectGrenade",a))}#u(){let A=s.unPackInt8U(),e=s.unPackInt8U(),t=this.players[A];if(!t)return;let i=t.hp;t.hp=e,this.emit("playerDamaged",t,i,t.hp)}#m(){let A=s.unPackInt8U();s.unPackFloat(),s.unPackFloat();let e=this.me.hp;this.me.hp=A,this.emit("selfDamaged",e,this.me.hp)}#w(){let A=s.unPackInt8U(),e=this.players[A];s.unPackInt8U();let t=s.unPackInt8U(),i=s.unPackFloat(),a=s.unPackFloat(),g=s.unPackFloat();if(this.me.climbing=!!s.unPackInt8U(),s.unPackInt8U(),s.unPackInt8U(),!e)return;this.state.serverStateIdx=t;let B=e.position.x,o=e.position.y,Q=e.position.z;e.position.x=i,e.position.y=a,e.position.z=g,(B!==i||o!==a||Q!==g)&&this.emit("selfMoved",e,{x:B,y:o,z:Q},{x:i,y:a,z:g})}#p(){let A=r.getBuffer();A.packInt8(n.eventModifier),A.send(this.game.socket)}#y(){let A=s.unPackInt8U(),e={...this.players[A]};delete this.players[A.toString()],this.emit("playerLeave",e)}#D(){if(this.game.gameModeId===l.spatula){this.game.teamScore[1]=s.unPackInt16U(),this.game.teamScore[2]=s.unPackInt16U();let A={x:s.unPackFloat(),y:s.unPackFloat(),z:s.unPackFloat()},e=s.unPackInt8U(),t=s.unPackInt8U();this.game.spatula={coords:A,controlledBy:e,controlledByTeam:t},this.emit("gameStateChange",this.game)}else this.game.gameModeId===l.kotc?(this.game.stage=s.unPackInt8U(),this.game.zoneNumber=s.unPackInt8U(),this.game.capturing=s.unPackInt8U(),this.game.captureProgress=s.unPackInt16U(),this.game.numCapturing=s.unPackInt8U(),this.game.teamScore[1]=s.unPackInt8U(),this.game.teamScore[2]=s.unPackInt8U(),this.game.stageName=ue[this.game.stage],this.game.capturePercent=this.game.captureProgress/1e3,this.game.activeZone=this.game.map.zones?this.game.map.zones[this.game.zoneNumber-1]:null,this.emit("gameStateChange",this.game)):this.game.gameModeId===l.team&&(this.game.teamScore[1]=s.unPackInt16U(),this.game.teamScore[2]=s.unPackInt16U());this.game.gameModeId!==l.spatula&&delete this.game.spatula,this.game.gameModeId!==l.kotc&&(delete this.game.stage,delete this.game.zoneNumber,delete this.game.capturing,delete this.game.captureProgress,delete this.game.numCapturing,delete this.game.stageName,delete this.game.numCapturing,delete this.game.activeZone),this.game.gameModeId===l.ffa&&delete this.game.teamScore}#k(){let A=s.unPackInt8U(),e=s.unPackInt8U(),t=this.players[A];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.streakRewards.push(h.MiniEgg);break}this.emit("playerBeginStreak",t,e)}#f(){let A=s.unPackInt8U(),e=s.unPackInt8U(),t=this.players[A];[h.EggBreaker,h.OverHeal,h.DoubleEggs,h.MiniEgg].includes(e)&&t.streakRewards.includes(e)&&(t.streakRewards=t.streakRewards.filter(a=>a!==e)),this.emit("playerEndStreak",t,e)}#G(){let A=s.unPackInt8U(),e=s.unPackInt8U();s.unPackFloat(),s.unPackFloat(),this.me.shieldHp=A,this.me.hp=e,this.me.shieldHp<=0?(this.me.streakRewards=this.me.streakRewards.filter(t=>t!==h.HardBoiled),this.emit("selfShieldLost")):this.emit("selfShieldHit",this.me.shieldHp)}#M(){let A={...this.game.options},e=s.unPackInt8U(),t=s.unPackInt8U(),i=s.unPackInt8U();(e<1||e>4)&&(e=4),(t<0||t>8)&&(t=4),i>16&&(i=4),this.game.options.gravity=e/4,this.game.options.damage=t/4,this.game.options.healthRegen=i/4;let a=s.unPackInt8U();return Object.keys(AA).forEach(g=>{let B=a&AA[g]?1:0;this.game.options[g]=B}),this.game.options.weaponsDisabled=Array.from({length:7},()=>s.unPackInt8U()===1),this.game.options.mustUseSecondary=this.game.options.weaponsDisabled.every(g=>g),this.emit("gameOptionsChange",A,this.game.options),!1}#N(){let A=s.unPackInt8U();A===$.pause&&(this.emit("gameForcePause"),setTimeout(()=>this.me.playing=!1,3e3)),A===$.reset&&(Object.values(this.players).forEach(e=>e.streak=0),this.game.gameModeId!==l.ffa&&(this.game.teamScore=[0,0,0]),this.game.gameModeId===l.spatula&&(this.game.spatula.controlledBy=0,this.game.spatula.controlledByTeam=0,this.game.spatula.coords={x:0,y:0,z:0}),this.game.gameModeId===l.kotc&&(this.game.stage=L.capturing,this.game.zoneNumber=0,this.game.activeZone=null,this.game.capturing=0,this.game.captureProgress=0,this.game.numCapturing=0,this.game.stageName=ue[L.capturing],this.game.capturePercent=0),this.emit("gameReset"))}#F(){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=r.getBuffer();e.packInt8(n.ping),e.send(this.game.socket),this.lastPingTime=Date.now()},1e3)}#S(){let A=s.unPackInt8U(),e=s.unPackInt8U(),t=this.players[A];if(!t)return;let i=t.team;t.team=e,t.streak=0,this.emit("playerSwitchTeam",t,i,e)}#R(){let A=s.unPackInt8U(),e=s.unPackInt8U(),t=s.unPackInt16U(),i=s.unPackInt16U(),a=s.unPackInt8U(),g=s.unPackInt16U(),B=s.unPackInt16U(),o=s.unPackInt16U(),Q=s.unPackInt16U();s.unPackInt8(),s.unPackInt8();let E=this.intents.includes(this.Intents.COSMETIC_DATA),C=E?c(t):t,u=E?c(i):i,f=E?c(g):g,W=E?c(B):B,Ke=E?c(o):o,_e=E?c(Q):Q,d=this.players[A];if(d){let Ae={...d.character},ee=d.selectedGun;d.character.eggColor=a,d.character.primaryGun=C,d.character.secondaryGun=u,d.character.stamp=W,d.character.hat=f,d.character.grenade=Ke,d.character.melee=_e,d.selectedGun=e,d.weapons[0]=new N[e],ee!==d.selectedGun&&this.emit("playerChangeGun",d,ee,d.selectedGun),Ae!==d.character&&this.emit("playerChangeCharacter",d,Ae,d.character)}}#L(){let A=s.unPackInt32U(),e=this.account.eggBalance;this.account.eggBalance=A,this.emit("balanceUpdate",A-e,A)}#U(){this.me.playing=!1,this.emit("selfRespawnFail")}#J(){let A=s.unPackInt8U(),e=this.players[A];e&&this.emit("playerMelee",e)}#x(){let A=s.unPackInt8U(),e=this.players[A];if(!e)return;let t=e.weapons[e.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}this.emit("playerReload",e,t)}updateGameOptions(){let A=r.getBuffer();A.packInt8(n.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)}#Y(){this.updateGameOptions()}#H(){let A=s.unPackInt8U(),e=s.unPackInt16U(),t=s.unPackFloat(),i=s.unPackFloat(),a=s.unPackFloat(),g=s.unPackInt8U(),B=s.unPackFloat();this.intents.includes(this.Intents.COSMETIC_DATA)&&(e=c(e)),A===D.Grenade?this.emit("grenadeExploded",e,{x:t,y:i,z:a},g,B):this.emit("rocketHit",{x:t,y:i,z:a},g,B)}#T(){let A=s.unPackInt8U(),e=s.unPackFloat(),t=s.unPackFloat(),i=s.unPackFloat(),a=s.unPackFloat(),g=s.unPackFloat(),B=s.unPackFloat(),o=this.players[A];o&&(o.grenades--,this.emit("playerThrowGrenade",o,{x:e,y:t,z:i},{x:a,y:g,z:B}))}#v(){let A=s.unPackInt8U(),e=s.unPackInt8U(),t=this.players[A];if(!t)return;if(!this.intents.includes(this.Intents.CHALLENGES))return this.emit("challengeComplete",t,e);let i=this.account.challenges.find(a=>a.id===e);this.emit("challengeComplete",t,i),t.id===this.me.id&&this.refreshChallenges()}#b(){let A=r.getBuffer();A.packInt8(n.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#P(){if(this.me.id=s.unPackInt8U(),this.me.team=s.unPackInt8U(),this.game.gameModeId=s.unPackInt8U(),this.game.gameMode=me[this.game.gameModeId],this.game.mapIdx=s.unPackInt8U(),this.game.map=M[this.game.mapIdx],this.intents.includes(this.Intents.KOTC_ZONES)||this.intents.includes(this.Intents.PATHFINDING)){if(this.game.map.raw=await le(this.game.map.filename,this.game.map.hash),this.game.gameModeId===l.kotc){let e=this.game.map.raw.data["DYNAMIC.capture-zone.none"];e?this.game.map.zones=he(e):delete this.game.map.zones}this.intents.includes(this.Intents.PATHFINDING)&&(this.pathing.nodeList=new BA(this.game.map.raw))}this.game.playerLimit=s.unPackInt8U(),this.game.isGameOwner=s.unPackInt8U()===1,this.game.isPrivate=s.unPackInt8U()===1,s.unPackInt8U(),this.state.inGame=!0,this.lastDeathTime=Date.now();let A=r.getBuffer();if(A.packInt8(n.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=r.getBuffer();e.packInt8(n.ping),e.send(this.game.socket)}this.emit("gameReady")}processPacket(A){s.init(A),this.intents.includes(this.Intents.PACKET_HOOK)&&this.emit("packet",A);let e=0,t=0,i=!1;for(;s.isMoreDataAvailable()&&!i;){let a=s.unPackInt8U();switch(a){case n.syncThem:this.#C();break;case n.fire:this.#l();break;case n.hitThem:this.#u();break;case n.syncMe:this.#w();break;case n.hitMe:this.#m();break;case n.swapWeapon:this.#r();break;case n.collectItem:this.#d();break;case n.respawn:this.#Q();break;case n.die:this.#c();break;case n.pause:this.#E();break;case n.chat:this.#B();break;case n.addPlayer:this.#n();break;case n.removePlayer:this.#y();break;case n.eventModifier:this.#p();break;case n.metaGameState:this.#D();break;case n.beginShellStreak:this.#k();break;case n.endShellStreak:this.#f();break;case n.hitMeHardBoiled:this.#G();break;case n.gameOptions:this.#M();break;case n.ping:this.#F();break;case n.switchTeam:this.#S();break;case n.changeCharacter:this.#R();break;case n.reload:this.#x();break;case n.explode:this.#H();break;case n.throwGrenade:this.#T();break;case n.spawnItem:this.#h();break;case n.melee:this.#J();break;case n.updateBalance:this.#L();break;case n.challengeCompleted:this.#v();break;case n.socketReady:this.#b();break;case n.gameJoined:this.#P();break;case n.gameAction:this.#N();break;case n.requestGameOptions:this.#Y();break;case n.respawnDenied:this.#U();break;case n.expireUpgrade:case n.clientReady:break;case n.musicInfo:s.unPackLongString();break;default:console.error(`processPacket: I got but couldn't identify a: ${Object.keys(n).find(g=>n[g]===a)} ${a}`),e&&console.error(`processPacket: It may be a result of the ${e} command (${t}).`),i=!0;break}e=Object.keys(n).find(g=>n[g]===a),t=a,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>pA)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(a=>a?.playing).filter(a=>a.hp>0).filter(a=>a.id!==this.me.id).filter(a=>this.me.team===0||a.team!==this.me.team).filter(a=>!!A(a)).map(a=>({player:a,distance:Math.sqrt(Math.pow(a.position.x-this.me.position.x,2)+Math.pow(a.position.y-this.me.position.y,2)+Math.pow(a.position.z-this.me.position.z,2))})).sort((a,g)=>a.distance-g.distance);if(!t.length)return this.intents.includes(this.Intents.DEBUG_BEST_TARGET)&&console.log("no targets found"),null;let i=t.find(a=>this.canSee(a.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(a=>a.player.name)),console.log("found LoS player?",!!i),i&&console.log("closest LoS player: ",i.player.name)),i?{player:i.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.#s(A),this.account.challenges}async rerollChallenge(A){let e=await this.api.queryServices({cmd:"challengeRerollSlot",sessionId:this.account.sessionId,slotId:A});return this.#s(e),this.account.challenges}async claimChallenge(A){let e=await this.api.queryServices({cmd:"challengeClaimReward",sessionId:this.account.sessionId,slotId:A});return this.#s(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){if(this.#e.error&&this.#e.error.length)this.emit("error",A);else throw A}leave(A=aA.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 sA({}),this.game=this.#t,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.#i}quit(A=!1){this.hasQuit||(this.leave(),this.matchmaker&&(this.matchmaker.close(),A||(this.matchmaker=null)),A||(delete this.account,delete this.api,delete this.game,delete this.me,delete this.players,delete this.state),this.hasQuit=!0)}};var UA=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=r.getBuffer();e.packInt8(n.bootPlayer),e.packString(this.uniqueId),e.send(A.game.socket)}},pe=UA;var JA=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.state.chatLines>=2||!A.game.isPrivate&&!A.account.emailVerified&&!A.account.isAged)}execute(A){A.state.chatLines++;let e=r.getBuffer();e.packInt8(n.chat),e.packString(this.msg),e.send(A.game.socket)}},ye=JA;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}},De=xA;var it=Array.from({length:4},(I,A)=>(A+1)*.25),gt=Array.from({length:9},(I,A)=>A*.25),at=Array.from({length:17},(I,A)=>A*.25),YA=class{constructor(A){this.changes=A}#A(A){let e={};return e.gravity=this.changes.gravity||A.game.options.gravity,e.damage=this.changes.damage||A.game.options.damage,e.healthRegen=this.changes.healthRegen||A.game.options.healthRegen,e.locked=this.changes.locked!==void 0?this.changes.locked:A.game.options.locked,e.noTeamChange=this.changes.noTeamChange!==void 0?this.changes.noTeamChange:A.game.options.noTeamChange,e.noTeamShuffle=this.changes.noTeamShuffle!==void 0?this.changes.noTeamShuffle:A.game.options.noTeamShuffle,e.weaponsDisabled=[typeof this.changes.disableEggk<"u"?this.changes.disableEggk:A.game.options.weaponsDisabled[0],typeof this.changes.disableScrambler<"u"?this.changes.disableScrambler:A.game.options.weaponsDisabled[1],typeof this.changes.disableFreeRanger<"u"?this.changes.disableFreeRanger:A.game.options.weaponsDisabled[2],typeof this.changes.disableRPG<"u"?this.changes.disableRPG:A.game.options.weaponsDisabled[3],typeof this.changes.disableWhipper<"u"?this.changes.disableWhipper:A.game.options.weaponsDisabled[4],typeof this.changes.disableCrackshot<"u"?this.changes.disableCrackshot:A.game.options.weaponsDisabled[5],typeof this.changes.disableTriHard<"u"?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!(!it.includes(e.gravity)||!gt.includes(e.damage)||!at.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()}},ke=YA;var QA=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 i=this.content.pop();if(t===e-1)break;this.content[t]=i,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 i=Math.floor((A+1)/2)-1,a=this.content[i];if(t>=this.scoreFunction(a))break;this.content[i]=e,this.content[A]=a,A=i}}includes(A){return this.content.includes(A)}sinkDown(A){let e=this.content.length,t=this.content[A],i=this.scoreFunction(t);for(;;){let a=(A+1)*2,g=a-1,B=null,o;if(g<e){let Q=this.content[g];o=this.scoreFunction(Q),o<i&&(B=g)}if(a<e){let Q=this.content[a];this.scoreFunction(Q)<(B===null?i:o)&&(B=a)}if(B===null)break;this.content[A]=this.content[B],this.content[B]=t,A=B}}};var p=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 QA(a=>a.f),i=[];for(A.h=this.heuristic(A,e),A.g=0,A.f=A.g+A.h,t.push(A);t.size()!==0;){let a=t.pop();if(a===e)return this.reversePath(a);i.push(a);let g=a.links;for(let B=0;B<g.length;B++){let o=g[B];if(i.includes(o))continue;let Q=a.g+1,E=o.visited;(!E||Q<o.g)&&(o.visited=!0,o.parent=a,o.g=Q,o.h=this.heuristic(o.position,e.position),o.f=o.g+o.h,E?t.rescoreElement(o):t.push(o))}}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 e=200,t=null;for(let o of A.game.collectables[0]){let Q=o.x-A.me.position.x,E=o.y-A.me.position.y,C=o.z-A.me.position.z,u=Math.sqrt(Q*Q+E*E+C*C);u<e&&(e=u,t=o)}let i=Object.entries(A.me.position).map(o=>Math.floor(o[1])),a=Object.entries(t).map(o=>Math.floor(o[1])),g=A.pathing.nodeList.at(...i),B=A.pathing.nodeList.at(...a);if(A.pathing.activePath=this.pather.path(g,B),!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 TA=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 e=200,t=null;for(let o of A.game.activeZone){let Q=o.x-A.me.position.x,E=o.y-A.me.position.y,C=o.z-A.me.position.z,u=Math.sqrt(Q*Q+E*E+C*C);u<e&&(e=u,t=o)}let i=Object.entries(A.me.position).map(o=>Math.floor(o[1])),a=Object.entries(t).map(o=>Math.floor(o[1])),g=A.pathing.nodeList.at(...i),B=A.pathing.nodeList.at(...a);if(A.pathing.activePath=this.pather.path(g,B),!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}},Ge=TA;var vA=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 e=200,t=null;for(let o of A.game.collectables[1]){let Q=o.x-A.me.position.x,E=o.y-A.me.position.y,C=o.z-A.me.position.z,u=Math.sqrt(Q*Q+E*E+C*C);u<e&&(e=u,t=o)}let i=Object.entries(A.me.position).map(o=>Math.floor(o[1])),a=Object.entries(t).map(o=>Math.floor(o[1])),g=A.pathing.nodeList.at(...i),B=A.pathing.nodeList.at(...a);if(A.pathing.activePath=this.pather.path(g,B),!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}},Me=vA;var bA=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 p(A.pathing.nodeList);let e=A.players[this.idOrName.toString()]||A.players.find(B=>B.name===this.idOrName),t=Object.entries(A.me.position).map(B=>Math.floor(B[1])),i=Object.entries(e.position).map(B=>Math.floor(B[1])),a=A.pathing.nodeList.at(...t),g=A.pathing.nodeList.at(...i);if(A.pathing.activePath=this.pather.path(a,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}},Ne=bA;var PA=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 e=Object.entries(A.me.position).map(g=>Math.floor(g[1])),t=Object.entries(A.game.spatula.coords).map(g=>Math.floor(g[1])),i=A.pathing.nodeList.at(...e),a=A.pathing.nodeList.at(...t);if(A.pathing.activePath=this.pather.path(i,a),!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=PA;var st=(I,A)=>(I%A+A)%A,It=Math.PI*2,Se=I=>Math.round(I*8192)/8192,ot=I=>Se(st(Math.atan2(-I.x,-I.z),It)),Bt=I=>Se(Math.atan2(I.y,Math.hypot(I.x,I.z))),KA=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(g=>g.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},i=ot(t),a=Bt(t);A.state.yaw=i,A.state.pitch=a}},Re=KA;var _A=class{validate(){return!0}check(A){return A.me.playing&&!A.state.reloading&&!A.state.swappingGun&&!A.state.usingMelee}execute(A){let e=r.getBuffer();e.packInt8(n.melee),e.send(A.game.socket),A.usingMelee=!0,setTimeout(()=>{A.usingMelee=!1,A.swappingGun=!0,setTimeout(()=>{A.swappingGun=!1},.5*A.me.weapons[0].equipTime)},100/3*17)}},Le=_A;var qA=class{validate(){return!0}check(A){return A.me.playing}execute(A){let e=r.getBuffer();e.packInt8(n.pause),e.send(A.game.socket),setTimeout(()=>A.me.playing=!1,3e3)}},Ue=qA;var zA=class{validate(){return!0}check(A){return A.me.playing&&!A.state.reloading&&!A.state.swappingGun&&!A.state.usingMelee}execute(A){let e=r.getBuffer();e.packInt8(n.reload),e.send(A.game.socket);let t=A.me.weapons[A.me.activeGun];if(t.ammo){let g=Math.min(Math.min(t.ammo.capacity,t.ammo.reload)-t.ammo.rounds,t.ammo.store);t.ammo.rounds+=g,t.ammo.store-=g}A.emit("playerReload",A.me,t);let i=A.me.weapons[A.me.activeGun],a=i.ammo.rounds<1;A.state.reloading=!0,setTimeout(()=>A.state.reloading=!1,a?i.longReloadTime:i.shortReloadTime)}},Je=zA;var XA=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(i=>i.name===this.idOrName),t=r.getBuffer();t.packInt8(n.reportPlayer),t.packString(e.uniqueId),t.packInt8(this.reasonInt),t.send(A.game.socket)}},xe=XA;var T=I=>c(I)&&c(I).unlock==="default",v=(I,A)=>c(I)&&c(I).item_type_id===A,OA=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||v(e.hatId,D.Hat)&&!T(e.hatId)&&!A.account.ownedItemIds.includes(e.hatId)||v(e.stampId,D.Stamp)&&!T(e.stampId)&&!A.account.ownedItemIds.includes(e.stampId)||v(e.grenadeId,D.Grenade)&&!T(e.grenadeId)&&!A.account.ownedItemIds.includes(e.grenadeId)||v(e.meleeId,D.Melee)&&!T(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 i=this.changes.primaryId[t];if(!v(i,D.Primary)||!T(i)&&!A.account.ownedItemIds.includes(i))return!1}if(this.changes.secondaryId)for(let t=0;t<7;t++){let i=this.changes.secondaryId[t];if(!v(i,D.Secondary)||!T(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 N[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 a=r.getBuffer();a.packInt8(n.changeCharacter),a.packInt8(this.changes?.classIdx||A.me.selectedGun),a.send(A.game.socket)}let i=A.intents.includes(A.Intents.COSMETIC_DATA);Object.entries(this.changes).forEach(([a,g])=>{a==="classIdx"?A.me.selectedGun=g:a==="hatId"?A.me.character.hat=i?c(g):g:a==="stampId"?A.me.character.stamp=i?c(g):g:a==="grenadeId"?A.me.character.grenade=i?c(g):g:a==="meleeId"?A.me.character.melee=i?c(g):g:a==="colorIdx"?A.me.character.eggColor=g:a==="primaryId"?A.me.character.primaryGun=i?c(g[A.me.selectedGun]):g:a==="secondaryId"&&(A.me.character.secondaryGun=i?c(g[A.me.selectedGun]):g)})})}},Ye=OA;var ZA=class{validate(){return!0}check(A){return!A.me.playing&&A.lastDeathTime+6e3<Date.now()}execute(A){let e=r.getBuffer();e.packInt8(n.requestRespawn),e.send(A.game.socket),A.state.buffer=[]}},He=ZA;var jA=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=r.getBuffer();t.packInt8(n.swapWeapon),t.packInt8(A.me.activeGun),t.send(A.game.socket)}},Te=jA;var WA=class{validate(){return!0}check(A){if(!A.state.inGame||A.me.playing||A.game.gameModeId===0)return!1;if(A.game.isPrivate)return!A.game.options.noTeamChange;let e=A.players,t=A.me.team,i=e.filter(g=>g.team===t).length,a=e.filter(g=>g.team!==t).length;return!(a>i||i===a)}execute(A){let e=r.getBuffer();e.packInt8(n.switchTeam),e.send(A.game.socket)}},ve=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=r.getBuffer();e.packInt8(n.throwGrenade),e.packFloat(this.power),e.send(A.game.socket)}},be=VA;var Pe={BootPlayerDispatch:pe,ChatDispatch:ye,FireDispatch:De,GameOptionsDispatch:ke,GoToAmmoDispatch:fe,GoToCoopDispatch:Ge,GoToGrenadeDispatch:Me,GoToPlayerDispatch:Ne,GoToSpatulaDispatch:Fe,LookAtDispatch:Re,LookAtPosDispatch:Z,MeleeDispatch:Le,MovementDispatch:j,PauseDispatch:Ue,ReloadDispatch:Je,ReportPlayerDispatch:xe,SaveLoadoutDispatch:Ye,SpawnDispatch:He,SwapWeaponDispatch:Te,SwitchTeamDispatch:ve,ThrowGrenadeDispatch:be};var $A={};CA($A,{CloseCode:()=>aA,CommCode:()=>n,CommIn:()=>s,CommOut:()=>r,OutBuffer:()=>iA,Pool:()=>gA});var nt={API:q,Bot:nA,GamePlayer:z,Matchmaker:O,Dispatches:Pe,Comm:$A,Constants:DA,Guns:wA,Maps:M};window.yolkbot=nt;window.onYolkReady&&typeof window.onYolkReady=="function"&&window.onYolkReady();
|
|
2
|
+
var Ke=Object.defineProperty;var cA=(I,A)=>{for(var e in A)Ke(I,e,{get:A[e],enumerable:!0})};var D={};if(typeof process<"u")D.fetch=({}).fetch,D.SocksProxyAgent=({}).SocksProxyAgent,D.ProxyAgent=({}).ProxyAgent,D.WebSocket=({}).default;else if(typeof window<"u")D.fetch=fetch.bind(window),D.SocksProxyAgent=null,D.ProxyAgent=class{},D.WebSocket=WebSocket;else throw new Error("unknown environment...could not detect node.js or browser...open an issue in the yolkbot github");var y=D;var fA={};cA(fA,{ChatFlag:()=>_e,ChiknWinnerDailyLimit:()=>yA,CollectType:()=>$,CoopState:()=>L,FirebaseKey:()=>v,FramesBetweenSyncs:()=>Y,GameAction:()=>AA,GameMode:()=>u,GameOptionFlag:()=>Pe,GunEquipTime:()=>kA,GunList:()=>S,IsBrowser:()=>R,ItemType:()=>N,Movement:()=>m,PlayType:()=>K,ProxiesEnabled:()=>_,RawGameModes:()=>G,RawGameOptionFlags:()=>eA,ReverseSocialMedia:()=>DA,ShellStreak:()=>l,SocialMedia:()=>ze,SocialReward:()=>qe,StateBufferSize:()=>P,Team:()=>Ze,URLRewards:()=>Oe,UserAgent:()=>z,findItemById:()=>E});var wA={};cA(wA,{AUG:()=>pA,CSG1:()=>lA,Cluck9mm:()=>hA,DozenGauge:()=>EA,Eggk47:()=>CA,M24:()=>mA,RPEGG:()=>dA,SMG:()=>uA});var M=class{constructor(){this.highPrecision=!1,this.accuracy=this.constructor.accuracyMax,this.shootingAccuracy=this.constructor.accuracyMax,this.movementAccuracy=this.constructor.accuracyMax,this.accuracyMax=this.constructor.accuracyMax,this.accuracyMin=this.constructor.accuracyMin,this.accuracyLoss=this.constructor.accuracyLoss,this.accuracyRecover=this.constructor.accuracyRecover,this.tracer=0,this.adsMod=this.constructor.adsMod||.5,this.movementAccuracyMod=this.constructor.movementAccuracyMod||1,this.reloadBloom=!0,this.reloadTimeMod=this.constructor.reloadTimeMod||1}},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.rof=3,this.recoil=7,this.automatic=!0,this.damage=30,this.totalDamage=30,this.range=20,this.velocity=1.5,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.rof=8,this.recoil=10,this.automatic=!1,this.range=8,this.velocity=1,this.tracer=0,this.damage=8.5,this.accuracyMax=.13,this.accuracyMin=.16,this.accuracyLoss=.17,this.accuracyRecover=.02,this.totalDamage=170,this.adsMod=.6,this.movementAccuracyMod=.2}},lA=class extends M{constructor(){super(),this.ammo={rounds:15,capacity:15,reload:15,store:60,storeMax:60,pickup:15},this.hasScope=!0,this.longReloadTime=225,this.shortReloadTime=165,this.highPrecision=!0,this.weaponName="Free Ranger",this.internalName="CSG-1",this.standardMeshName="csg1",this.rof=13,this.recoil=13,this.automatic=!1,this.damage=110,this.totalDamage=110,this.range=50,this.velocity=1.75,this.tracer=0,this.damage=105,this.accuracyMax=.004,this.accuracyMin=.3,this.accuracyLoss=.3,this.accuracyRecover=.025,this.totalDamage=105}},hA=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.rof=4,this.recoil=6,this.automatic=!1,this.damage=25,this.totalDamage=25,this.range=15,this.velocity=1,this.tracer=0,this.damage=26,this.accuracyMax=.035,this.accuracyMin=.15,this.accuracyLoss=.09,this.accuracyRecover=.08,this.totalDamage=26,this.adsMod=.8,this.movementAccuracyMod=.6}},dA=class extends M{constructor(){super(),this.ammo={rounds:1,capacity:1,reload:1,store:3,storeMax:3,pickup:1},this.hasScope=!0,this.longReloadTime=170,this.shortReloadTime=170,this.weaponName="RPEGG",this.internalName="Eggsploder",this.standardMeshName="rpegg",this.rof=40,this.recoil=60,this.automatic=!1,this.damage=140,this.radius=2.75,this.totalDamage=140*2.75*.5,this.range=45,this.minRange=3,this.velocity=.4,this.accuracyMax=.015,this.accuracyMin=.3,this.accuracyLoss=.3,this.accuracyRecover=.02,this.absoluteMinAccuracy=.3}},uA=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.rof=10,this.recoil=7,this.automatic=!0,this.damage=15,this.totalDamage=15,this.range=20,this.velocity=1.25,this.tracer=2,this.damage=23,this.accuracyMax=.06,this.accuracyMin=.19,this.accuracyLoss=.045,this.accuracyRecover=.05,this.totalDamage=23,this.adsMod=.6,this.movementAccuracyMod=.7}},mA=class extends M{constructor(){super(),this.ammo={rounds:1,capacity:1,reload:1,store:12,storeMax:12,pickup:4},this.hasScope=!0,this.longReloadTime=144,this.shortReloadTime=144,this.weaponName="Crackshot",this.internalName="M2DZ",this.standardMeshName="m24",this.rof=60,this.recoil=40,this.automatic=!1,this.damage=170,this.totalDamage=170,this.range=60,this.velocity=2,this.tracer=0,this.damage=170,this.accuracyMax=0,this.accuracyMin=.35,this.accuracyLoss=.1,this.accuracyRecover=.023,this.totalDamage=170,this.movementAccuracyMod=.85,this.reloadBloom=!1,this.reloadTimeMod=.8}},pA=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.rof=15,this.recoil=18,this.automatic=!1,this.movementInstability=2,this.damage=20,this.totalDamage=20,this.range=20,this.velocity=1.5,this.tracer=0,this.burst=3,this.burstRof=1800/600,this.damage=35,this.accuracyMax=.03,this.accuracyMin=.15,this.accuracyLoss=.04,this.accuracyRecover=.03,this.totalDamage=34,this.adsMod=.6,this.movementAccuracyMod=.8}};var E=()=>null;var _e={None:0,Pinned:2,Team:4,Mod:254,Server:255},yA=3,$={Ammo:0,Grenade:1},L={Start:0,Score:1,Win:2,Capturing:3,Contested:4,Takeover:5,Abandoned:6,Unclaimed:7},v="AIzaSyDP4SIjKaw6A4c-zvfYxICpbEjn1rRnN50",Y=3,AA={Reset:1,Pause:2},u={FFA:0,Team:1,Spatula:2,KOTC:3},G={ffa:0,team:1,spatula:2,kotc:3},Pe={Locked:1,NoTeamChange:2,NoTeamShuffle:4},eA={locked:1,noTeamChange:2,noTeamShuffle:4},kA=13,S=[CA,EA,lA,dA,uA,mA,pA],R=typeof window<"u",N={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},K={JoinPublic:0,CreatePrivate:1,JoinPrivate:2},_=!R&&typeof Bun>"u",l={HardBoiled:1,EggBreaker:2,Restock:4,OverHeal:8,DoubleEggs:16,MiniEgg:32},ze={Facebook:0,Instagram:1,Tiktok:2,Discord:3,Youtube:4,Twitter:5,Twitch:6},DA={0:"facebook",1:"instagram",2:"tiktok",3:"discord",4:"youtube",5:"twitter",6:"twitch"},qe={Discord:"rew_1200",Tiktok:"rew_1208",Instagram:"rew_1219",Steam:"rew_1223",Facebook:"rew_1227",Twitter:"rew_1234",Twitch:"rew_twitch_social"},P=256,Ze={Blue:1,Red:2},Oe=["giveBasketBrosReward","mercZoneFinalGift","midMonthGiveMeEggs","newYolkerSignupReward","newYolkerItemReward","newYolkerWelcomeBack","WelcomeBack"],z=R?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 MA=class extends y.WebSocket{constructor(A,e){R?super(A):super(A,{agent:e?new y.SocksProxyAgent(e):void 0,headers:{"user-agent":z,"accept-language":"en-US,en;q=0.9"}})}},J=MA;var tA={origin:"https://shellshock.io","user-agent":z,"x-client-version":"Chrome/JsCore/9.17.2/FirebaseCore-web","x-firebase-locale":"en"},q=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,t=0,a=async()=>{try{e=new J(`${this.protocol}://${this.instance}/services/`,this.socksProxy),e.onerror=async g=>(t++,console.error(g),await new Promise(i=>setTimeout(i,100)),await a())}catch{if(t>this.maxRetries)return"max_retries_exceeded";await new Promise(g=>setTimeout(g,100)),await a()}};return await a(),new Promise(g=>{e.onopen=()=>{e.onerror=null,e.send(JSON.stringify(A))};let i=!1;e.onmessage=o=>{i=!0;try{let n=JSON.parse(o.data);g(n)}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))),g("bad_json")}e.close()},e.onerror=()=>!i&&g("unknown_socket_error"),e.onclose=()=>!i&&g("services_closed_early")})};#A=async(A,e,t)=>{if(!A||!e)return"firebase_no_credentials";let a,g;try{a=await(await y.fetch(`https://identitytoolkit.googleapis.com/v1/accounts:${t}?key=${v}`,{method:"POST",body:JSON.stringify({email:A,password:e,returnSecureToken:!0}),headers:{...tA,"content-type":"application/json"},dispatcher:this.httpProxy?new y.ProxyAgent(this.httpProxy):void 0})).json(),g=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(!g)return this.suppressErrors||console.error("loginWithCredentials: the game sent no idToken",a),"firebase_no_token";this.idToken=g;let i=await this.queryServices({cmd:"auth",firebaseToken:g});return{firebase:a,...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 y.fetch(`https://securetoken.googleapis.com/v1/token?key=${v}`,{method:"POST",body:e,headers:{...tA,"content-type":"application/x-www-form-urlencoded"},dispatcher:this.httpProxy?new y.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 g=await this.queryServices({cmd:"auth",firebaseToken:a});return{firebase:t,...g}};loginAnonymously=async()=>{let e=await(await y.fetch("https://identitytoolkit.googleapis.com/v1/accounts:signUp?key="+v,{method:"POST",body:JSON.stringify({returnSecureToken:!0}),headers:{...tA,"content-type":"application/json"},dispatcher:this.httpProxy?new y.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{firebase:e,...a}};sendEmailVerification=async(A=this.idToken)=>{let t=await(await y.fetch("https://identitytoolkit.googleapis.com/v1/accounts:sendOobCode?key="+v,{method:"POST",body:JSON.stringify({requestType:"VERIFY_EMAIL",idToken:A}),headers:{...tA,"content-type":"application/json"},dispatcher:this.httpProxy?new y.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}},iA=q;var GA=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 peekInt8U(){return this.buffer[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 g=this.unPackInt16U();g>0&&(t+=String.fromCodePoint(g))}return t}},s=GA;var NA=class{constructor(A){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),C.bufferPool.recycle(this)}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,e=!1){typeof A!="string"&&(A=""),this.packInt8(e?254: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 e=0;e<A.length;e++)this.packInt16(A.charCodeAt(e))}},aA=NA;var FA=class{constructor(A,e){this.size=0,this.originalSize=e,this.constructorFn=A,this.objects=[],this.idx=0,this.numActive=0,this.expand(e)}expand(A){for(let e=0;e<A;e++){let t=this.constructorFn();t.id=e+this.size,t.active=!1,this.objects.push(t)}this.size+=A}retrieve(A){if(A){for(;A>=this.size;)this.expand(this.originalSize);return this.numActive++,this.objects[A].active=!0,this.objects[A]}let e=this.idx;do{e=(e+1)%this.size;let t=this.objects[e];if(!t.active)return this.idx=e,this.numActive++,t.active=!0,t}while(e!==this.idx);return this.expand(this.originalSize),this.retrieve()}recycle(A){A.active=!1,this.numActive--}forEachActive(A){for(let e=0;e<this.size;e++){let t=this.objects[e];t.active===!0&&A(t,e)}}},gA=FA;var SA=class{static buffer=null;static bufferPool=new gA(()=>new aA(16384),2);static getBuffer(){let A=this.bufferPool.retrieve();return A.idx=0,A}},C=SA;var sA={gameNotFound:4e3,gameFull:4001,badName:4002,mainMenu:4003,gameIdleExceeded:4004,corruptedLoginData: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};var B={swapWeapon:0,joinGame:1,refreshGameState:2,spawnItem:3,observeGame:4,ping:5,bootPlayer:6,banPlayer:7,loginRequired:8,gameLocked:9,reportPlayer:10,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};var Z=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=DA[t.id]),this.isVip=A.upgradeProductId>0,this.showBadge=!A.hideBadge||!1,this.position={x:A.x,y:A.y,z:A.z},this.jumping=A.$controlKeys&m.Jump,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={killsInGame:A.kills,deathsInGame:A.deaths,streak:A.streak,totalKills:A.totalKills,totalDeaths:A.totalDeaths,bestGameStreak:A.bestGameStreak,bestOverallStreak:A.bestOverallStreak},this.activeGun=A.weaponIdx,this.selectedGun=A.charClass,this.weapons=[],this.character.primaryGun&&(this.weapons[0]=new S[this.selectedGun],this.weapons[1]=new hA),this.grenades=1,this.streak=A.score,this.streakRewards=Object.values(l).filter(t=>A.activeShellStreaks&t),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(g=>g.x===e&&g.y===t&&g.z===a)&&this.playing}},IA=Z;var U=(I,A,e)=>(A>>>=0,new TextDecoder().decode(new Uint8Array(I.memory.buffer).subarray(A,A+e))),x=(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]},T=(I,A)=>{let e=I.__externref_table_alloc();return I.__wbindgen_export_2.set(e,A),e};var je=`
|
|
3
|
+
var comp_spinner_overlay = {
|
|
4
|
+
template: '#spinner-overlay-template',
|
|
5
|
+
components: {
|
|
6
|
+
'wobbly-egg': comp_wobbly_egg
|
|
7
|
+
},
|
|
8
|
+
props: ['loc', 'adblockerbanner', 'hideAds', 'adUnit', 'accountDate'],
|
|
9
|
+
|
|
10
|
+
data: function () {
|
|
11
|
+
return {
|
|
12
|
+
isShowing: false,
|
|
13
|
+
header: '',
|
|
14
|
+
footer: '',
|
|
15
|
+
adIsShowing: false,
|
|
16
|
+
isShowTips: false,
|
|
17
|
+
tipKey: null,
|
|
18
|
+
tips: [],
|
|
19
|
+
tip: '',
|
|
20
|
+
eggGuyImg: 'img/shellShockers_loadingTipEgg.webp',
|
|
21
|
+
goodBrowser: true,
|
|
22
|
+
browserTipShown: false,
|
|
23
|
+
}
|
|
24
|
+
},
|
|
25
|
+
|
|
26
|
+
mounted() {
|
|
27
|
+
this.isNotChrome().then(result => {
|
|
28
|
+
if (result) {
|
|
29
|
+
this.goodBrowser = false;
|
|
30
|
+
}
|
|
31
|
+
});
|
|
32
|
+
},
|
|
33
|
+
|
|
34
|
+
methods: {
|
|
35
|
+
show: function (headerLocKey, footerLocKey, showTips) {
|
|
36
|
+
this.header = this.loc[headerLocKey];
|
|
37
|
+
this.footer = this.loc[footerLocKey];
|
|
38
|
+
this.isShowing = true;
|
|
39
|
+
this.isShowTips = showTips;
|
|
40
|
+
},
|
|
41
|
+
|
|
42
|
+
showSpinnerLoadProgress: function (percent) {
|
|
43
|
+
var msg = this.loc['ui_game_loading'];
|
|
44
|
+
this.header = this.loc['building_map'];
|
|
45
|
+
this.footer = '{0}... {1}%'.format(msg, percent);
|
|
46
|
+
this.isShowTips = true;
|
|
47
|
+
this.isShowing = true;
|
|
48
|
+
},
|
|
49
|
+
|
|
50
|
+
hide: function () {
|
|
51
|
+
this.isShowing = false;
|
|
52
|
+
this.isShowTips = this.isShowing;
|
|
53
|
+
this.$emit('close-display-ad');
|
|
54
|
+
},
|
|
55
|
+
|
|
56
|
+
hideDisplayAd() {
|
|
57
|
+
this.adIsShowing = false;
|
|
58
|
+
console.log('do it');
|
|
59
|
+
},
|
|
60
|
+
showDisplayAd() {
|
|
61
|
+
this.adIsShowing = true;
|
|
62
|
+
},
|
|
63
|
+
toggleDisplayAd() {
|
|
64
|
+
return this.adIsShowing = this.adIsShowing ? false : true;
|
|
65
|
+
},
|
|
66
|
+
getTipKey() {
|
|
67
|
+
if (!this.accountDate) {
|
|
68
|
+
this.tipKey = 'tipNew_';
|
|
69
|
+
} else {
|
|
70
|
+
if (!this.accountDays) {
|
|
71
|
+
this.accountDays = Math.ceil((new Date().getTime() - new Date(this.accountDate).getTime()) / (1000 * 3600 * 24));
|
|
72
|
+
}
|
|
73
|
+
if (this.accountDays <= 14) {
|
|
74
|
+
this.tipKey = 'tipNew_';
|
|
75
|
+
} else {
|
|
76
|
+
this.tipKey = 'tip_';
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
},
|
|
80
|
+
randomTip() {
|
|
81
|
+
if (!this.goodBrowser && !this.browserTipShown) {
|
|
82
|
+
this.tip = 'tip_ofthe_day_107';
|
|
83
|
+
this.browserTipShown = true;
|
|
84
|
+
return;
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
if (this.tipKey === null) {
|
|
88
|
+
this.getTipKey();
|
|
89
|
+
}
|
|
90
|
+
|
|
91
|
+
if (this.tips.length === 0) {
|
|
92
|
+
Object.keys(this.loc).forEach(key => {
|
|
93
|
+
if (key.startsWith(this.tipKey)) {
|
|
94
|
+
this.tips.push(key);
|
|
95
|
+
}
|
|
96
|
+
});
|
|
97
|
+
}
|
|
98
|
+
this.tip = this.tips[Math.floor(Math.random() * this.tips.length)];
|
|
99
|
+
},
|
|
100
|
+
|
|
101
|
+
async isNotChrome() {
|
|
102
|
+
if (navigator.userAgentData) {
|
|
103
|
+
const brands = navigator.userAgentData.brands || [];
|
|
104
|
+
const isChrome = brands.some(brand => brand.brand === 'Google Chrome');
|
|
105
|
+
return !isChrome;
|
|
106
|
+
} else {
|
|
107
|
+
// Fallback to userAgent for older browsers
|
|
108
|
+
return this.isNotChromeFallback();
|
|
109
|
+
}
|
|
110
|
+
},
|
|
111
|
+
isNotChromeFallback() {
|
|
112
|
+
const ua = navigator.userAgent;
|
|
113
|
+
return !(ua.includes('Chrome') && !ua.includes('Edg') && !ua.includes('OPR'));
|
|
114
|
+
}
|
|
115
|
+
},
|
|
116
|
+
watch: {
|
|
117
|
+
isShowing(val, old) {
|
|
118
|
+
if (val && !old) {
|
|
119
|
+
this.randomTip();
|
|
120
|
+
}
|
|
121
|
+
}
|
|
122
|
+
}
|
|
123
|
+
};
|
|
124
|
+
`,oA={},O={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 r={a:i,b:o,cnt:1,dtor:n},c=(...h)=>{r.cnt++;let f=r.a;r.a=0;try{return Q(f,r.b,...h)}finally{--r.cnt===0?(I().__wbindgen_export_5.get(r.dtor)(f,r.b),e.unregister(r)):r.a=f}};return c.original=r,e.register(c,r,r),c},a=(i,o,n)=>I().closure30_externref_shim(i,o,n),g=1;return{wbg:{__wbg_addEventListener_90e553fdce254421:(i,o,n,Q)=>oA[U(I(),o,n)]=Q,__wbg_appendChild_8204974b7328bf98:()=>{},__wbg_axes_b1da727bd9ea422d:()=>{},__wbg_body_942ea927546a04ba:()=>T(I(),null),__wbg_call_672a4d21634d4a24:()=>{},__wbg_childNodes_c4423003f3a9441f:()=>[],__wbg_createElement_8c9931a732ee2fea:()=>O,__wbg_document_d249400bd7bd996d:()=>T(I(),{}),__wbg_from_2a5d3e218e67aa85:(...i)=>Array.from(i[0]),__wbg_getElementById_f827f0d6648718a8:()=>T(I(),{}),__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_instanceof_Gamepad_365ec8404255ce00:()=>!0,__wbg_instanceof_HtmlCanvasElement_2ea67072a7624ac5:()=>!0,__wbg_instanceof_Window_def73ea0955fc569:()=>!0,__wbg_isTrusted_cc994b7949c53593:()=>!0,__wbg_item_8be407c958853a13:(...i)=>T(I(),i[0][i[1]>>>0]),__wbg_length_49b2ba67f0897e97:()=>(g--,g<=0?(g=1,0):g),__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)=>{O.textContent=U(I(),i[1],i[2]),A.processListeners.forEach(o=>o(O.textContent))},__wbg_static_accessor_GLOBAL_88a902d13a557d07:()=>{},__wbg_static_accessor_GLOBAL_THIS_56578be7e9f832b0:()=>{},__wbg_static_accessor_SELF_37c5d418e4bf5819:()=>T(I(),{}),__wbg_static_accessor_WINDOW_5de37043a91a9c40:()=>{},__wbg_textContent_215d0f87d539368a:(i,o)=>{let[n,Q]=x(I(),o===O?O.textContent:je),r=new DataView(I().memory.buffer);r.setInt32(i+4*1,Q,!0),r.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)=>U(I(),i,o),__wbindgen_string_get:(i,o)=>{let n=U(I(),i,o),[Q,r]=x(I(),n),c=new DataView(I().memory.buffer);c.setInt32(i+4*1,r,!0),c.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,r=new DataView(I().memory.buffer);r.setFloat64(i+8*1,Q,!0),r.setInt32(i+4*0,1,!0)}}}};var We=I=>typeof atob=="function"?new Uint8Array(atob(I).split("").map(A=>A.charCodeAt(0))):Buffer.from(I,"base64"),ae=We("AGFzbQEAAAABqAItYAN/f38Bf2ACf38Bf2ABfwBgAn9/AGADf39/AGABbwF/YAF/AX9gAAF/YAAAYAFvAW9gBX9/f39/AX9gBH9/f38AYAJ/bwBgAm9vAW9gBH9/f38Bf2AFf39/f38AYAJ/fwFvYAABb2ADf39/AW9gAAJ/f2ACb38Bf2ADb39/AX9gBG9/f28AYAABfGADb39/AW9gA29/fwBgAXwBb2ADb29vAX9gAm9/AW9gBnx8fH9/fwBgB39/f39/f38Bf2AGf39/f39/AGABfAF8YAl/fHx/fG9vf38AYAJ/fwJ/f2AGf39/f39/AX9gBX9/fX9/AGAEf31/fwBgBX9/fH9/AGAEf3x/fwBgBX9/fn9/AGAEf35/fwBgAXwBf2ADf39vAGACfHwBfAKwDS0Dd2JnIF9fd2JnX2lzVHJ1c3RlZF9jYzk5NGI3OTQ5YzUzNTkzAAUDd2JnIF9fd2JnX21vdmVtZW50WF8xYWEwNWY4NjQ5MzEzNjliAAUDd2JnIF9fd2JnX21vdmVtZW50WV84YWNmZWRiMzhhNzBlNjI0AAUDd2JnH19fd2JnX25vZGVUeXBlXzVlMTE1MzE0MWRhYWMyNmEABQN3YmciX193YmdfdGV4dENvbnRlbnRfMjE1ZDBmODdkNTM5MzY4YQAMA3diZyFfX3diZ19jaGlsZE5vZGVzX2M0NDIzMDAzZjNhOTQ0MWYACQN3YmcdX193YmdfbGVuZ3RoXzQ5YjJiYTY3ZjA4OTdlOTcABQN3YmcbX193YmdfaXRlbV84YmU0MDdjOTU4ODUzYTEzABQDd2JnFV9fd2JpbmRnZW5fc3RyaW5nX25ldwAQA3diZxpfX3diZ19nZXRfNjdiMmJhNjJmYzMwZGUxMgANA3diZxVfX3diaW5kZ2VuX251bWJlcl9nZXQADAN3YmcfX193YmdfZG9jdW1lbnRfZDI0OTQwMGJkN2JkOTk2ZAAFA3diZyVfX3diZ19nZXRFbGVtZW50QnlJZF9mODI3ZjBkNjY0ODcxOGE4ABUDd2JnM19fd2JnX2luc3RhbmNlb2ZfSHRtbENhbnZhc0VsZW1lbnRfMmVhNjcwNzJhNzYyNGFjNQAFA3diZydfX3diZ19hZGRFdmVudExpc3RlbmVyXzkwZTU1M2ZkY2UyNTQ0MjEAFgN3YmcaX193Ymdfbm93XzgwN2U1NGMzOTYzNmMzNDkAFwN3YmckX193YmdfY3JlYXRlRWxlbWVudF84Yzk5MzFhNzMyZWUyZmVhABgDd2JnJV9fd2JnX3NldHRleHRDb250ZW50X2QyOTM5N2Y3Yjk5NGQzMTQAGQN3YmcbX193YmdfYm9keV85NDJlYTkyNzU0NmEwNGJhAAUDd2JnIl9fd2JnX2FwcGVuZENoaWxkXzgyMDQ5NzRiNzMyOGJmOTgADQN3YmcaX193YmdfbmV3XzQwNWUyMmYzOTA1NzZjZTIAEQN3YmcVX193YmluZGdlbl9udW1iZXJfbmV3ABoDd2JnGl9fd2JnX3NldF9iYjhjZWNmNmE2MmI5ZjQ2ABsDd2JnIF9fd2JnX25hdmlnYXRvcl8xNTc3MzcxYzA3MGM4OTQ3AAkDd2JnIl9fd2JnX2dldEdhbWVwYWRzXzFmOTk3Y2VmNTgwYzkwODgACQN3YmcaX193YmdfZ2V0X2I5YjkzMDQ3ZmUzY2Y0NWIAHAN3YmcSX193YmluZGdlbl9pc19udWxsAAUDd2JnF19fd2JpbmRnZW5faXNfdW5kZWZpbmVkAAUDd2JnKV9fd2JnX2luc3RhbmNlb2ZfR2FtZXBhZF8zNjVlYzg0MDQyNTVjZTAwAAUDd2JnG19fd2JnX2Zyb21fMmE1ZDNlMjE4ZTY3YWE4NQAJA3diZx1fX3diZ19sZW5ndGhfZTJkMmE0OTEzMmMxYjI1NgAFA3diZxtfX3diZ19heGVzX2IxZGE3MjdiZDllYTQyMmQACQN3YmcWX193YmluZGdlbl9ib29sZWFuX2dldAAFA3diZyBfX3diZ19uZXdub2FyZ3NfMTA1ZWQ0NzE0NzVhYWY1MAAQA3diZxtfX3diZ19jYWxsXzY3MmE0ZDIxNjM0ZDRhMjQADQN3YmctX193Ymdfc3RhdGljX2FjY2Vzc29yX0dMT0JBTF84OGE5MDJkMTNhNTU3ZDA3AAcDd2JnMl9fd2JnX3N0YXRpY19hY2Nlc3Nvcl9HTE9CQUxfVEhJU181NjU3OGJlN2U5ZjgzMmIwAAcDd2JnLV9fd2JnX3N0YXRpY19hY2Nlc3Nvcl9XSU5ET1dfNWRlMzcwNDNhOTFhOWM0MAAHA3diZytfX3diZ19zdGF0aWNfYWNjZXNzb3JfU0VMRl8zN2M1ZDQxOGU0YmY1ODE5AAcDd2JnF19fd2JpbmRnZW5fZGVidWdfc3RyaW5nAAwDd2JnEF9fd2JpbmRnZW5fdGhyb3cAAwN3YmcoX193YmdfaW5zdGFuY2VvZl9XaW5kb3dfZGVmNzNlYTA5NTVmYzU2OQAFA3diZxxfX3diaW5kZ2VuX2Nsb3N1cmVfd3JhcHBlcjk0ABIDd2JnHF9fd2JpbmRnZW5fY2xvc3VyZV93cmFwcGVyOTUAEgN3YmcfX193YmluZGdlbl9pbml0X2V4dGVybnJlZl90YWJsZQAIA5IBkAEEAwYAAQgIAg4DAAQEAwoAAAEBAx0DBwQBAQoIAx4BAQMDBwEBAwECHwMCBAQBAQQDAwICAgICAgICAgICAgICAgICAQEBAQMPIAILBAQEBAEDACEBAgQKAg4DIiMKDyQmKAgLAAQBAwIBAgICAgICASorAQsEBAsBAQIBBgIEBBEBAQgDAQMDLAYGBgYGBggECQJwAUlJbwCAAQUDAQARBg8CfwFBgIDAAAt/AUGAAQsHuQIRBm1lbW9yeQIABXN0YXJ0ADIHcHJvY2VzcwAuCHZhbGlkYXRlAIgBEHNldF9tb3VzZV9wYXJhbXMAQQ9yZXNldF95YXdfcGl0Y2gAjwENZ2V0X3lhd19waXRjaACtAQxwb2xsX2dhbWVwYWQAgAEUX193YmluZGdlbl9leG5fc3RvcmUApwEXX19leHRlcm5yZWZfdGFibGVfYWxsb2MAQxNfX3diaW5kZ2VuX2V4cG9ydF8yAQERX193YmluZGdlbl9tYWxsb2MAfRJfX3diaW5kZ2VuX3JlYWxsb2MAhgETX193YmluZGdlbl9leHBvcnRfNQEAD19fd2JpbmRnZW5fZnJlZQB6GGNsb3N1cmUzMF9leHRlcm5yZWZfc2hpbQCfARBfX3diaW5kZ2VuX3N0YXJ0ALwBCXgDAEEBCwigAaUBP1pRTHBxAEELCz2uAaYBPjGKAVWLAYoBiQGRAZABiwGLAYwBjQGOAbQBsQGoAZIBdJIBcrIBbWVhbmRpb19sY2tqZmhnYGKXAVN3W11elAGUAZcBc1A9gQGvAU+ZAZsBmgGYAZwBAEHIAAsBnwEK7MwDkAHMPgEhfyABIAJBBnRqISMgACgCHCEhIAAoAhghHyAAKAIUIR4gACgCECEcIAAoAgwhIiAAKAIIISAgACgCBCEdIAAoAgAhAgNAIAIgASgAACIDQRh0IANBgP4DcUEIdHIgA0EIdkGA/gNxIANBGHZyciIRICEgHEEadyAcQRV3cyAcQQd3c2ogHiAfcyAccSAfc2pqQZjfqJQEaiIEIB0gIHMgAnEgHSAgcXMgAkEedyACQRN3cyACQQp3c2pqIgNBHncgA0ETd3MgA0EKd3MgAyACIB1zcSACIB1xc2ogHyABKAAEIgVBGHQgBUGA/gNxQQh0ciAFQQh2QYD+A3EgBUEYdnJyIhJqIAQgImoiCSAcIB5zcSAec2ogCUEadyAJQRV3cyAJQQd3c2pBkYndiQdqIgZqIgVBHncgBUETd3MgBUEKd3MgBSACIANzcSACIANxc2ogHiABKAAIIgRBGHQgBEGA/gNxQQh0ciAEQQh2QYD+A3EgBEEYdnJyIhNqIAYgIGoiCiAJIBxzcSAcc2ogCkEadyAKQRV3cyAKQQd3c2pBsYj80QRrIgdqIgRBHncgBEETd3MgBEEKd3MgBCADIAVzcSADIAVxc2ogHCABKAAMIgZBGHQgBkGA/gNxQQh0ciAGQQh2QYD+A3EgBkEYdnJyIhRqIAcgHWoiByAJIApzcSAJc2ogB0EadyAHQRV3cyAHQQd3c2pB28iosgFrIg5qIgZBHncgBkETd3MgBkEKd3MgBiAEIAVzcSAEIAVxc2ogCSABKAAQIghBGHQgCEGA/gNxQQh0ciAIQQh2QYD+A3EgCEEYdnJyIhVqIAIgDmoiCSAHIApzcSAKc2ogCUEadyAJQRV3cyAJQQd3c2pB24TbygNqIghqIgJBHncgAkETd3MgAkEKd3MgAiAEIAZzcSAEIAZxc2ogCiABKAAUIgpBGHQgCkGA/gNxQQh0ciAKQQh2QYD+A3EgCkEYdnJyIhZqIAMgCGoiCiAHIAlzcSAHc2ogCkEadyAKQRV3cyAKQQd3c2pB8aPEzwVqIghqIgNBHncgA0ETd3MgA0EKd3MgAyACIAZzcSACIAZxc2ogByABKAAYIgdBGHQgB0GA/gNxQQh0ciAHQQh2QYD+A3EgB0EYdnJyIhdqIAUgCGoiByAJIApzcSAJc2ogB0EadyAHQRV3cyAHQQd3c2pB3PqB7gZrIghqIgVBHncgBUETd3MgBUEKd3MgBSACIANzcSACIANxc2ogCSABKAAcIglBGHQgCUGA/gNxQQh0ciAJQQh2QYD+A3EgCUEYdnJyIhlqIAQgCGoiCSAHIApzcSAKc2ogCUEadyAJQRV3cyAJQQd3c2pBq8KOpwVrIghqIgRBHncgBEETd3MgBEEKd3MgBCADIAVzcSADIAVxc2ogCiABKAAgIgpBGHQgCkGA/gNxQQh0ciAKQQh2QYD+A3EgCkEYdnJyIhpqIAYgCGoiCiAHIAlzcSAHc2ogCkEadyAKQRV3cyAKQQd3c2pB6KrhvwJrIghqIgZBHncgBkETd3MgBkEKd3MgBiAEIAVzcSAEIAVxc2ogByABKAAkIgdBGHQgB0GA/gNxQQh0ciAHQQh2QYD+A3EgB0EYdnJyIhhqIAIgCGoiByAJIApzcSAJc2ogB0EadyAHQRV3cyAHQQd3c2pBgbaNlAFqIghqIgJBHncgAkETd3MgAkEKd3MgAiAEIAZzcSAEIAZxc2ogCSABKAAoIglBGHQgCUGA/gNxQQh0ciAJQQh2QYD+A3EgCUEYdnJyIgtqIAMgCGoiCSAHIApzcSAKc2ogCUEadyAJQRV3cyAJQQd3c2pBvovGoQJqIghqIgNBHncgA0ETd3MgA0EKd3MgAyACIAZzcSACIAZxc2ogCiABKAAsIgpBGHQgCkGA/gNxQQh0ciAKQQh2QYD+A3EgCkEYdnJyIgxqIAUgCGoiCiAHIAlzcSAHc2ogCkEadyAKQRV3cyAKQQd3c2pBw/uxqAVqIghqIgVBHncgBUETd3MgBUEKd3MgBSACIANzcSACIANxc2ogByABKAAwIgdBGHQgB0GA/gNxQQh0ciAHQQh2QYD+A3EgB0EYdnJyIg1qIAQgCGoiByAJIApzcSAJc2ogB0EadyAHQRV3cyAHQQd3c2pB9Lr5lQdqIghqIgRBHncgBEETd3MgBEEKd3MgBCADIAVzcSADIAVxc2ogCSABKAA0IglBGHQgCUGA/gNxQQh0ciAJQQh2QYD+A3EgCUEYdnJyIg9qIAYgCGoiCCAHIApzcSAKc2ogCEEadyAIQRV3cyAIQQd3c2pBgpyF+QdrIg5qIgZBHncgBkETd3MgBkEKd3MgBiAEIAVzcSAEIAVxc2ogASgAOCIJQRh0IAlBgP4DcUEIdHIgCUEIdkGA/gNxIAlBGHZyciIJIApqIAIgDmoiDiAHIAhzcSAHc2ogDkEadyAOQRV3cyAOQQd3c2pB2fKPoQZrIhBqIgJBHncgAkETd3MgAkEKd3MgAiAEIAZzcSAEIAZxc2ogASgAPCIKQRh0IApBgP4DcUEIdHIgCkEIdkGA/gNxIApBGHZyciIKIAdqIAMgEGoiECAIIA5zcSAIc2ogEEEadyAQQRV3cyAQQQd3c2pBjJ2Q8wNrIhtqIgNBHncgA0ETd3MgA0EKd3MgAyACIAZzcSACIAZxc2ogEkEZdyASQQ53cyASQQN2cyARaiAYaiAJQQ93IAlBDXdzIAlBCnZzaiIHIAhqIAUgG2oiESAOIBBzcSAOc2ogEUEadyARQRV3cyARQQd3c2pBv6yS2wFrIhtqIgVBHncgBUETd3MgBUEKd3MgBSACIANzcSACIANxc2ogE0EZdyATQQ53cyATQQN2cyASaiALaiAKQQ93IApBDXdzIApBCnZzaiIIIA5qIAQgG2oiEiAQIBFzcSAQc2ogEkEadyASQRV3cyASQQd3c2pB+vCGggFrIhtqIgRBHncgBEETd3MgBEEKd3MgBCADIAVzcSADIAVxc2ogFEEZdyAUQQ53cyAUQQN2cyATaiAMaiAHQQ93IAdBDXdzIAdBCnZzaiIOIBBqIAYgG2oiEyARIBJzcSARc2ogE0EadyATQRV3cyATQQd3c2pBxruG/gBqIhtqIgZBHncgBkETd3MgBkEKd3MgBiAEIAVzcSAEIAVxc2ogFUEZdyAVQQ53cyAVQQN2cyAUaiANaiAIQQ93IAhBDXdzIAhBCnZzaiIQIBFqIAIgG2oiFCASIBNzcSASc2ogFEEadyAUQRV3cyAUQQd3c2pBzMOyoAJqIhtqIgJBHncgAkETd3MgAkEKd3MgAiAEIAZzcSAEIAZxc2ogFkEZdyAWQQ53cyAWQQN2cyAVaiAPaiAOQQ93IA5BDXdzIA5BCnZzaiIRIBJqIAMgG2oiFSATIBRzcSATc2ogFUEadyAVQRV3cyAVQQd3c2pB79ik7wJqIhtqIgNBHncgA0ETd3MgA0EKd3MgAyACIAZzcSACIAZxc2ogF0EZdyAXQQ53cyAXQQN2cyAWaiAJaiAQQQ93IBBBDXdzIBBBCnZzaiISIBNqIAUgG2oiFiAUIBVzcSAUc2ogFkEadyAWQRV3cyAWQQd3c2pBqonS0wRqIhtqIgVBHncgBUETd3MgBUEKd3MgBSACIANzcSACIANxc2ogGUEZdyAZQQ53cyAZQQN2cyAXaiAKaiARQQ93IBFBDXdzIBFBCnZzaiITIBRqIAQgG2oiFyAVIBZzcSAVc2ogF0EadyAXQRV3cyAXQQd3c2pB3NPC5QVqIhtqIgRBHncgBEETd3MgBEEKd3MgBCADIAVzcSADIAVxc2ogGkEZdyAaQQ53cyAaQQN2cyAZaiAHaiASQQ93IBJBDXdzIBJBCnZzaiIUIBVqIAYgG2oiGSAWIBdzcSAWc2ogGUEadyAZQRV3cyAZQQd3c2pB2pHmtwdqIhtqIgZBHncgBkETd3MgBkEKd3MgBiAEIAVzcSAEIAVxc2ogGEEZdyAYQQ53cyAYQQN2cyAaaiAIaiATQQ93IBNBDXdzIBNBCnZzaiIVIBZqIAIgG2oiGiAXIBlzcSAXc2ogGkEadyAaQRV3cyAaQQd3c2pBrt2GvgZrIhtqIgJBHncgAkETd3MgAkEKd3MgAiAEIAZzcSAEIAZxc2ogC0EZdyALQQ53cyALQQN2cyAYaiAOaiAUQQ93IBRBDXdzIBRBCnZzaiIWIBdqIAMgG2oiGCAZIBpzcSAZc2ogGEEadyAYQRV3cyAYQQd3c2pBk/O4vgVrIhtqIgNBHncgA0ETd3MgA0EKd3MgAyACIAZzcSACIAZxc2ogDEEZdyAMQQ53cyAMQQN2cyALaiAQaiAVQQ93IBVBDXdzIBVBCnZzaiIXIBlqIAUgG2oiCyAYIBpzcSAac2ogC0EadyALQRV3cyALQQd3c2pBuLDz/wRrIhtqIgVBHncgBUETd3MgBUEKd3MgBSACIANzcSACIANxc2ogDUEZdyANQQ53cyANQQN2cyAMaiARaiAWQQ93IBZBDXdzIBZBCnZzaiIZIBpqIAQgG2oiDCALIBhzcSAYc2ogDEEadyAMQRV3cyAMQQd3c2pBuYCahQRrIhtqIgRBHncgBEETd3MgBEEKd3MgBCADIAVzcSADIAVxc2ogD0EZdyAPQQ53cyAPQQN2cyANaiASaiAXQQ93IBdBDXdzIBdBCnZzaiIaIBhqIAYgG2oiDSALIAxzcSALc2ogDUEadyANQRV3cyANQQd3c2pBjej/yANrIhtqIgZBHncgBkETd3MgBkEKd3MgBiAEIAVzcSAEIAVxc2ogCUEZdyAJQQ53cyAJQQN2cyAPaiATaiAZQQ93IBlBDXdzIBlBCnZzaiIYIAtqIAIgG2oiCyAMIA1zcSAMc2ogC0EadyALQRV3cyALQQd3c2pBud3h0gJrIg9qIgJBHncgAkETd3MgAkEKd3MgAiAEIAZzcSAEIAZxc2ogCkEZdyAKQQ53cyAKQQN2cyAJaiAUaiAaQQ93IBpBDXdzIBpBCnZzaiIJIAxqIAMgD2oiDCALIA1zcSANc2ogDEEadyAMQRV3cyAMQQd3c2pB0capNmoiD2oiA0EedyADQRN3cyADQQp3cyADIAIgBnNxIAIgBnFzaiAHQRl3IAdBDndzIAdBA3ZzIApqIBVqIBhBD3cgGEENd3MgGEEKdnNqIgogDWogBSAPaiINIAsgDHNxIAtzaiANQRp3IA1BFXdzIA1BB3dzakHn0qShAWoiD2oiBUEedyAFQRN3cyAFQQp3cyAFIAIgA3NxIAIgA3FzaiAIQRl3IAhBDndzIAhBA3ZzIAdqIBZqIAlBD3cgCUENd3MgCUEKdnNqIgcgC2ogBCAPaiILIAwgDXNxIAxzaiALQRp3IAtBFXdzIAtBB3dzakGFldy9AmoiD2oiBEEedyAEQRN3cyAEQQp3cyAEIAMgBXNxIAMgBXFzaiAOQRl3IA5BDndzIA5BA3ZzIAhqIBdqIApBD3cgCkENd3MgCkEKdnNqIgggDGogBiAPaiIMIAsgDXNxIA1zaiAMQRp3IAxBFXdzIAxBB3dzakG4wuzwAmoiD2oiBkEedyAGQRN3cyAGQQp3cyAGIAQgBXNxIAQgBXFzaiAQQRl3IBBBDndzIBBBA3ZzIA5qIBlqIAdBD3cgB0ENd3MgB0EKdnNqIg4gDWogAiAPaiINIAsgDHNxIAtzaiANQRp3IA1BFXdzIA1BB3dzakH827HpBGoiD2oiAkEedyACQRN3cyACQQp3cyACIAQgBnNxIAQgBnFzaiARQRl3IBFBDndzIBFBA3ZzIBBqIBpqIAhBD3cgCEENd3MgCEEKdnNqIhAgC2ogAyAPaiILIAwgDXNxIAxzaiALQRp3IAtBFXdzIAtBB3dzakGTmuCZBWoiD2oiA0EedyADQRN3cyADQQp3cyADIAIgBnNxIAIgBnFzaiASQRl3IBJBDndzIBJBA3ZzIBFqIBhqIA5BD3cgDkENd3MgDkEKdnNqIhEgDGogBSAPaiIMIAsgDXNxIA1zaiAMQRp3IAxBFXdzIAxBB3dzakHU5qmoBmoiD2oiBUEedyAFQRN3cyAFQQp3cyAFIAIgA3NxIAIgA3FzaiATQRl3IBNBDndzIBNBA3ZzIBJqIAlqIBBBD3cgEEENd3MgEEEKdnNqIhIgDWogBCAPaiINIAsgDHNxIAtzaiANQRp3IA1BFXdzIA1BB3dzakG7laizB2oiD2oiBEEedyAEQRN3cyAEQQp3cyAEIAMgBXNxIAMgBXFzaiAUQRl3IBRBDndzIBRBA3ZzIBNqIApqIBFBD3cgEUENd3MgEUEKdnNqIhMgC2ogBiAPaiILIAwgDXNxIAxzaiALQRp3IAtBFXdzIAtBB3dzakHS7fTxB2siD2oiBkEedyAGQRN3cyAGQQp3cyAGIAQgBXNxIAQgBXFzaiAVQRl3IBVBDndzIBVBA3ZzIBRqIAdqIBJBD3cgEkENd3MgEkEKdnNqIhQgDGogAiAPaiIMIAsgDXNxIA1zaiAMQRp3IAxBFXdzIAxBB3dzakH7prfsBmsiD2oiAkEedyACQRN3cyACQQp3cyACIAQgBnNxIAQgBnFzaiAWQRl3IBZBDndzIBZBA3ZzIBVqIAhqIBNBD3cgE0ENd3MgE0EKdnNqIhUgDWogAyAPaiINIAsgDHNxIAtzaiANQRp3IA1BFXdzIA1BB3dzakHfroDqBWsiD2oiA0EedyADQRN3cyADQQp3cyADIAIgBnNxIAIgBnFzaiAXQRl3IBdBDndzIBdBA3ZzIBZqIA5qIBRBD3cgFEENd3MgFEEKdnNqIhYgC2ogBSAPaiILIAwgDXNxIAxzaiALQRp3IAtBFXdzIAtBB3dzakG1s5a/BWsiD2oiBUEedyAFQRN3cyAFQQp3cyAFIAIgA3NxIAIgA3FzaiAZQRl3IBlBDndzIBlBA3ZzIBdqIBBqIBVBD3cgFUENd3MgFUEKdnNqIhcgDGogBCAPaiIMIAsgDXNxIA1zaiAMQRp3IAxBFXdzIAxBB3dzakGQ6dHtA2siD2oiBEEedyAEQRN3cyAEQQp3cyAEIAMgBXNxIAMgBXFzaiAaQRl3IBpBDndzIBpBA3ZzIBlqIBFqIBZBD3cgFkENd3MgFkEKdnNqIhkgDWogBiAPaiINIAsgDHNxIAtzaiANQRp3IA1BFXdzIA1BB3dzakHd3M7EA2siD2oiBkEedyAGQRN3cyAGQQp3cyAGIAQgBXNxIAQgBXFzaiAYQRl3IBhBDndzIBhBA3ZzIBpqIBJqIBdBD3cgF0ENd3MgF0EKdnNqIhogC2ogAiAPaiILIAwgDXNxIAxzaiALQRp3IAtBFXdzIAtBB3dzakHnr7TzAmsiD2oiAkEedyACQRN3cyACQQp3cyACIAQgBnNxIAQgBnFzaiAJQRl3IAlBDndzIAlBA3ZzIBhqIBNqIBlBD3cgGUENd3MgGUEKdnNqIhggDGogAyAPaiIMIAsgDXNxIA1zaiAMQRp3IAxBFXdzIAxBB3dzakHc85vLAmsiD2oiA0EedyADQRN3cyADQQp3cyADIAIgBnNxIAIgBnFzaiAKQRl3IApBDndzIApBA3ZzIAlqIBRqIBpBD3cgGkENd3MgGkEKdnNqIgkgDWogBSAPaiINIAsgDHNxIAtzaiANQRp3IA1BFXdzIA1BB3dzakH7lMffAGsiD2oiBUEedyAFQRN3cyAFQQp3cyAFIAIgA3NxIAIgA3FzaiAHQRl3IAdBDndzIAdBA3ZzIApqIBVqIBhBD3cgGEENd3MgGEEKdnNqIgogC2ogBCAPaiILIAwgDXNxIAxzaiALQRp3IAtBFXdzIAtBB3dzakHwwKqDAWoiD2oiBEEedyAEQRN3cyAEQQp3cyAEIAMgBXNxIAMgBXFzaiAMIAhBGXcgCEEOd3MgCEEDdnMgB2ogFmogCUEPdyAJQQ13cyAJQQp2c2oiDGogBiAPaiIHIAsgDXNxIA1zaiAHQRp3IAdBFXdzIAdBB3dzakGWgpPNAWoiD2oiBkEedyAGQRN3cyAGQQp3cyAGIAQgBXNxIAQgBXFzaiANIA5BGXcgDkEOd3MgDkEDdnMgCGogF2ogCkEPdyAKQQ13cyAKQQp2c2oiDWogAiAPaiIIIAcgC3NxIAtzaiAIQRp3IAhBFXdzIAhBB3dzakGI2N3xAWoiD2oiAkEedyACQRN3cyACQQp3cyACIAQgBnNxIAQgBnFzaiALIBBBGXcgEEEOd3MgEEEDdnMgDmogGWogDEEPdyAMQQ13cyAMQQp2c2oiC2ogAyAPaiIOIAcgCHNxIAdzaiAOQRp3IA5BFXdzIA5BB3dzakHM7qG6AmoiG2oiA0EedyADQRN3cyADQQp3cyADIAIgBnNxIAIgBnFzaiARQRl3IBFBDndzIBFBA3ZzIBBqIBpqIA1BD3cgDUENd3MgDUEKdnNqIg8gB2ogBSAbaiIHIAggDnNxIAhzaiAHQRp3IAdBFXdzIAdBB3dzakG1+cKlA2oiEGoiBUEedyAFQRN3cyAFQQp3cyAFIAIgA3NxIAIgA3FzaiASQRl3IBJBDndzIBJBA3ZzIBFqIBhqIAtBD3cgC0ENd3MgC0EKdnNqIhEgCGogBCAQaiIIIAcgDnNxIA5zaiAIQRp3IAhBFXdzIAhBB3dzakGzmfDIA2oiEGoiBEEedyAEQRN3cyAEQQp3cyAEIAMgBXNxIAMgBXFzaiATQRl3IBNBDndzIBNBA3ZzIBJqIAlqIA9BD3cgD0ENd3MgD0EKdnNqIhIgDmogBiAQaiIOIAcgCHNxIAdzaiAOQRp3IA5BFXdzIA5BB3dzakHK1OL2BGoiEGoiBkEedyAGQRN3cyAGQQp3cyAGIAQgBXNxIAQgBXFzaiAUQRl3IBRBDndzIBRBA3ZzIBNqIApqIBFBD3cgEUENd3MgEUEKdnNqIhMgB2ogAiAQaiIHIAggDnNxIAhzaiAHQRp3IAdBFXdzIAdBB3dzakHPlPPcBWoiEGoiAkEedyACQRN3cyACQQp3cyACIAQgBnNxIAQgBnFzaiAVQRl3IBVBDndzIBVBA3ZzIBRqIAxqIBJBD3cgEkENd3MgEkEKdnNqIhQgCGogAyAQaiIIIAcgDnNxIA5zaiAIQRp3IAhBFXdzIAhBB3dzakHz37nBBmoiEGoiA0EedyADQRN3cyADQQp3cyADIAIgBnNxIAIgBnFzaiAWQRl3IBZBDndzIBZBA3ZzIBVqIA1qIBNBD3cgE0ENd3MgE0EKdnNqIhUgDmogBSAQaiIOIAcgCHNxIAdzaiAOQRp3IA5BFXdzIA5BB3dzakHuhb6kB2oiEGoiBUEedyAFQRN3cyAFQQp3cyAFIAIgA3NxIAIgA3FzaiAHIBdBGXcgF0EOd3MgF0EDdnMgFmogC2ogFEEPdyAUQQ13cyAUQQp2c2oiB2ogBCAQaiIQIAggDnNxIAhzaiAQQRp3IBBBFXdzIBBBB3dzakHvxpXFB2oiC2oiBEEedyAEQRN3cyAEQQp3cyAEIAMgBXNxIAMgBXFzaiAZQRl3IBlBDndzIBlBA3ZzIBdqIA9qIBVBD3cgFUENd3MgFUEKdnNqIhYgCGogBiALaiIIIA4gEHNxIA5zaiAIQRp3IAhBFXdzIAhBB3dzakHsj97ZB2siF2oiBkEedyAGQRN3cyAGQQp3cyAGIAQgBXNxIAQgBXFzaiAaQRl3IBpBDndzIBpBA3ZzIBlqIBFqIAdBD3cgB0ENd3MgB0EKdnNqIhEgDmogAiAXaiICIAggEHNxIBBzaiACQRp3IAJBFXdzIAJBB3dzakH4++OZB2siDmoiB0EedyAHQRN3cyAHQQp3cyAHIAQgBnNxIAQgBnFzaiAQIBhBGXcgGEEOd3MgGEEDdnMgGmogEmogFkEPdyAWQQ13cyAWQQp2c2oiEGogAyAOaiIOIAIgCHNxIAhzaiAOQRp3IA5BFXdzIA5BB3dzakGGgIT6BmsiEmoiA0EedyADQRN3cyADQQp3cyADIAYgB3NxIAYgB3FzaiAJQRl3IAlBDndzIAlBA3ZzIBhqIBNqIBFBD3cgEUENd3MgEUEKdnNqIhEgCGogBSASaiIFIAIgDnNxIAJzaiAFQRp3IAVBFXdzIAVBB3dzakGVpr7dBWsiEmoiCEEedyAIQRN3cyAIQQp3cyAIIAMgB3NxIAMgB3FzaiAJIApBGXcgCkEOd3MgCkEDdnNqIBRqIBBBD3cgEEENd3MgEEEKdnNqIAJqIAQgEmoiBCAFIA5zcSAOc2ogBEEadyAEQRV3cyAEQQd3c2pBibiZiARrIgJqIgkgAyAIc3EgAyAIcXNqIAlBHncgCUETd3MgCUEKd3NqIAogDEEZdyAMQQ53cyAMQQN2c2ogFWogEUEPdyARQQ13cyARQQp2c2ogDmogAiAGaiIGIAQgBXNxIAVzaiAGQRp3IAZBFXdzIAZBB3dzakGOjrrMA2siCmohAiAJIB1qIR0gByAcaiAKaiEcIAggIGohICAGIB5qIR4gAyAiaiEiIAQgH2ohHyAFICFqISEgAUFAayIBICNHDQALIAAgITYCHCAAIB82AhggACAeNgIUIAAgHDYCECAAICI2AgwgACAgNgIIIAAgHTYCBCAAIAI2AgALuiEEDn8EfgF8AW8jAEHwAGsiAyQAIAMgATYCUCADIAA2AkwgAyABNgJIIANBEGogA0HIAGpByLjAABBcIAMoAhQhCSADKAIQIQsgA0HYADoAG0EAIQECQAJAIAlBAE4EfyAJRQRAQQEhB0EAIQAMAwtBsMDAAC0AABogCRAvIgcNAUEBBUEACyAJQYSEwAAQowEACyALIAkgC2pBAWtHBEAgCUH+////B3EhACADLQAbIQIDQCABIAdqIgUgASALaiIELQAAIAEgAmoiBkH/AHFzOgAAIAVBAWogBEEBai0AACAGQQFqQf8AcXM6AAAgACABQQJqIgFHDQALCyAJIgBBAXFFDQAgASAHaiABIAtqLQAAIAMtABsgAWpB/wBxczoAACABQQFqIQELIAMgATYCJCADIAc2AiAgAyAANgIcQbDAwAAtAAAaAkACQAJAAkACfwJAAkACQAJAAkACQAJAAkACQAJAQegAEC8iAkUNACACQQc2AmQgAkGfhcAANgJgIAJBCDYCXCACQZeFwAA2AlggAkEONgJUIAJBiYXAADYCUCACQQo2AkwgAkH/hMAANgJIIAJBCjYCRCACQfWEwAA2AkAgAkEJNgI8IAJB7ITAADYCOCACQQk2AjQgAkHjhMAANgIwIAJBCTYCLCACQdqEwAA2AiggAkEJNgIkIAJB0YTAADYCICACQQg2AhwgAkHJhMAANgIYIAJBBzYCFCACQcKEwAA2AhAgAkEGNgIMIAJBvITAADYCCCACQQg2AgQgAkG0hMAANgIAQbDAwAAtAAAaQZwBEC8iBUUNCCAFIQFBACEAA0AgACACaiIHKAIAIQQgB0EEaigCACEHIANBADYCQCADIAQgB2o2AjwgAyAENgI4IANB2AA6AGggAyADQegAajYCRCADQShqIANBOGoQTiADQcgAaiADKAIsIAMoAjAiBBA4AkAgAygCSEUEQCADKQMoIRAgBK0hEQwBCyADKQIsIRAgAykCTCERIAMoAigiBEGAgICAeEcNCQsgAUEIaiARPgIAIAEgEDcCACABQQxqIQEgAEEIaiIAQegARw0ACyACQQRrKAIAIgBBeHFB7ABB8AAgAEEDcSIBG0kNDiABQQAgAEGQAU8bDQ0gAhA0QbDAwAAtAAAaQZwBEC8iDEUNBiADKAIkIQQgAygCICEHA0BBsMDAAC0AABogBSAKQQxsIg1qQQhqKAIAIQJBNBAvIgZFDQYgBkLZtIWTtozZsuYANwAYIAZC0aTNotXK1avYADcAECAGQsmUreLUydOn0AA3AAggBkLBhI2i1MjRo8gANwAAIAZBMGpB9/Dl0wc2AAAgBkEoakLv4MWTt47duvYANwAAIAZBIGpC59Cl07aN27buADcAABAPIRQgAkUNDUI0IRBCASERIAIhAQNAAkAgAUEBcQRAIBAgEX4hESABQQFGDQELIAFBAXYhASAQIBB+IRAMAQsLIBFQDQxCACESQn8CfiAURAAAAAAAAAAAZiIAIBREAAAAAAAA8ENjcQRAIBSxDAELQgALQgAgABsgFET////////vQ2QbIBGCIRMgAkEnaiEOAkADQEGwwMAALQAAGiASIBN8IBGCIRAgBi0AACEAIAIQLyEIAkAgAEUEQCAIRQ0IIAhBBGstAABBA3FFDQEgCEEAIAIQRAwBCyAIRQ0IIAggACACEEQLIBJCAXwhEiACIQEDQCAQIBBCNIAiEELM////D358pyIAQTNLDQYgAUEBayIBIAhqIAAgBmotAAA6AAAgAQ0ACyAHIQAgBCEBA0AgASACSQ0CIAFBAWshASAAIAggAhB/IABBAWohAA0ACyAIQQRrKAIAIgBBeHEiAUEEQQggAEEDcSIAGyACakkNESAAQQAgASAOSxsNECAIEDQgESASUg0AC0GEhsAAQShBrIbAABCDAQALIAZBBGsoAgAiAEF4cSIBQThBPCAAQQNxIgAbSQ0PIABBACABQdsASxsNDiAGEDQgDCANaiIAIAI2AgggACAINgIEIAAgAjYCACAKQQFqIgpBDUcNAAtBACECIAMoAiQhACADKAIgIQ0DQAJAIAAgBSACQQxsIgFqIggoAggiBEkNACAAIARrIQcgASAMaiEKQQAhAQNAAkACQAJAIAEgASAEaiIGTQRAIAAgBkkNASAEIAgoAghHDQMgASANaiIGIAgoAgQgBBB/DQMgBCAKKAIIIg5HDQIgBiAKKAIEIAQQNxoMAwsgASAGQbiKwAAQqwEACyAGIABBuIrAABCsAQALIwBBMGsiACQAIAAgBDYCBCAAIA42AgAgAEEDNgIMIABBnKbAADYCCCAAQgI3AhQgACAAQQRqrUKAgICAsAGENwMoIAAgAK1CgICAgLABhDcDICAAIABBIGo2AhAgAEEIakHIisAAEIcBAAsgASAHTw0BIAEgASAHSWoiASAHTQ0ACwsgAkEBaiICQQ1HDQALIAMoAiAhASADIAMoAiQiADYCbCADIAE2AmggA0HIAGogA0HoAGoQQiADKAJIIgRFBEBBACEBQQEhBAwKCyADKAJMIQEgAygCVEUNCSAA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IAAgAzYCPAtBAUEAIABBPGpBlITAAEGkhMAAEHUAC0H1rsAAQS5BpK/AABCDAQALQbSvwABBLkHkr8AAEIMBAAu5CQIMfwV+IwBBoAJrIgAkAEGwwMAALQAAGgJAAkACQAJAAkBBExAvIgMEQCADQQ9qIgJBv4LAACgAADYAACADQQhqIgFBuILAACkAADcAACADQbCCwAApAAA3AAAgAEHgAGpCADcDACAAQdgAakIANwMAIABB0ABqQgA3AwAgAEHIAGpCADcDACAAQUBrQgA3AwAgAEE4akIANwMAIABBMGoiBEIANwMAIABBCGpBmIHAACkDADcDACAAQRBqQaCBwAApAwA3AwAgAEEYakGogcAAKQMANwMAIABCADcDKCAAQZCBwAApAwA3AwAgAEEAOgBoIABCADcDICAEIAEpAAA3AwAgAEE3aiACKAAANgAAIABBEzoAaCAAIAMpAAA3AyggAEGQAWoiBSAAQfAAEDcaIABBmAJqIgJCADcDACAAQZACaiIBQgA3AwAgAEGIAmoiBEIANwMAIABCADcDgAIgBSAAQbgBaiIJIABBgAJqEDkgAEGIAWoiBiACKQMANwMAIABBgAFqIgcgASkDADcDACAAQfgAaiIBIAQpAwA3AwAgACAAKQOAAjcDcEGwwMAALQAAGkEgEC8iAkUNASACIAApA3A3AAAgAkEYaiAGKQMANwAAIAJBEGogBykDADcAACACQQhqIAEpAwA3AAAgA0EEaygCACIBQXhxIgRBF0EbIAFBA3EiARtJDQIgAUEAIARBOksbDQMgAxA0Qn4hDCAAQShqIgFBOGohBiABQTBqIQcgAUEoaiEKQZiBwAApAwAhDUGggcAAKQMAIQ5BqIHAACkDACEPQZCBwAApAwAhEANAIAFCADcDACAGQgA3AwAgB0IANwMAIApCADcDACABQSBqQgA3AwAgAUEYaiIDQgA3AwAgAUEQaiIEQgA3AwAgAUEIaiIFQgA3AwAgAEEIaiANNwMAIABBEGogDjcDACAAQRhqIA83AwAgAEEAOgBoIABCADcDICAAIBA3AwAgASACKQAANwAAIAUgAkEIaikAADcAACAEIAJBEGopAAA3AAAgAyACQRhqKQAANwAAIABBIDoAaCAAQZABaiIIIABB8AAQNxogAEGYAmoiA0IANwMAIABBkAJqIgRC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EJUBC0GAASADIAIbIQALIAFBIGokACAAC4ACAQN/IwBBgAFrIgQkACAAKAIAIQACfwJAIAEoAhQiAkEQcUUEQCACQSBxDQEgACgCACABEEsMAgsgACgCACEAQYEBIQIDQCACIARqQQJrIABBD3EiA0EwciADQdcAaiADQQpJGzoAACACQQFrIQIgAEEPSyAAQQR2IQANAAsgAUH6kcAAQQIgAiAEakEBa0GBASACaxA7DAELIAAoAgAhAEGBASECA0AgAiAEakECayAAQQ9xIgNBMHIgA0E3aiADQQpJGzoAACACQQFrIQIgAEEPSyAAQQR2IQANAAsgAUH6kcAAQQIgAiAEakEBa0GBASACaxA7CyAEQYABaiQAC/kBAQN/IwBBgAFrIgQkAAJ/AkAgASgCFCICQRBxRQRAIAJBIHENASAAKAIAIAEQSwwCCyAAKAIAIQBBgQEhAgNAIAIgBGpBAmsgAEEPcSIDQTByIANB1wBqIANBCkkbOgAAIAJBAWshAiAAQQ9LIABBBHYhAA0ACyABQfqRwABBAiACIARqQQFrQYEBIAJrEDsMAQsgACgCACEAQYEBIQIDQCACIARqQQJrIABBD3EiA0EwciADQTdqIANBCkkbOgAAIAJBAWshAiAAQQ9LIABBBHYhAA0ACyABQfqRwABBAiACIARqQQFrQYEBIAJrEDsLIARBgAFqJAALmAIBBH8jAEEgayICJAACQAJAAkAgASgCACIEQQJHDQAgASgCCCEDIAFBADYCCCADRQ0BIAIgAxECACACKAIEIQUgAigCACEDIAEoAgAiBEECRgRAIAEgAzYCACABQQRqIAU2AgAgAyEEDAELIANBAkcNAgtBASEDAkAgBEEBcUUEQEEAIQMMAQsgASgCBBCpASEBCyAAIAE2AgQgACADNgIAIAJBIGokAA8LIAJBADYCGCACQQE2AgwgAkHotsAANgIIIAJCBDcCECACQQhqQfyxwAAQhwEACyADRSAFQYMBTXJFBEAgBRCVAQsgAkEANgIYIAJBATYCDCACQZyywAA2AgggAkIENwIQIAJBCGpBpLLAABCHAQAL/gEBBH8jAEFAaiICJAAgACgCACEAIAJCADcDOCACQThqIAAlARAnIAIgAigCPCIANgI0IAIgAigCODYCMCACIAA2AiwgAiACQSxqrUKAgICA0AOENwMgIAJBAjYCDCACQcCywAA2AgggAkIBNwIUIAIgAkEgajYCECABKAIcIAEoAiAgAkEIahA8IQECQAJAIAIoAiwiAARAIAIoAjAiBEEEaygCACIDQXhxIgVBBEEIIANBA3EiAxsgAGpJDQEgA0EAIAUgAEEnaksbDQIgBBA0CyACQUBrJAAgAQ8LQfWuwABBLkGkr8AAEIMBAAtBtK/AAEEuQeSvwAAQgwEAC/gBAQR/AkACQAJAAkACQCAAQRBqKAIAIgFFDQAgAEEUaigCACECIAFBADoAACACRQ0AIAFBBGsoAgAiA0F4cSIEQQRBCCADQQNxIgMbIAJqSQ0BIANBACAEIAJBJ2pLGw0CIAEQNAsCQCAAQX9GDQAgACAAKAIEIgFBAWs2AgQgAUEBRw0AIABBBGsoAgAiAUF4cUEcQSAgAUEDcSICG0kNAyACQQAgAUHAAE8bDQQgABA0Cw8LQfWuwABBLkGkr8AAEIMBAAtBtK/AAEEuQeSvwAAQgwEAC0H1rsAAQS5BpK/AABCDAQALQbSvwABBLkHkr8AAEIMBAAvtAQEBfyMAQRBrIgYkAAJAAkACQCABBEAgBkEEaiABIAMgBCAFIAIoAhARDwAgBigCCCEBAkAgBigCBCIDIAYoAgwiAk0NACADQQJ0IQMgAkUEQCABQQRrKAIAIgRBeHEiBUEEQQggBEEDcSIEGyADakkNAyAEQQAgBSADQSdqSxsNBCABEDRBBCEBDAELIAEgA0EEIAJBAnQiAxA1IgFFDQQLIAAgAjYCBCAAIAE2AgAgBkEQaiQADwsQsAEAC0H1rsAAQS5BpK/AABCDAQALQbSvwABBLkHkr8AAEIMBAAtBBCADQbitwAAQowEAC7UCAgF/A34jAEEgayICJAACQAJAAkAgAQ4CAQIACyACQQA2AhggAkEBNgIMIAJB1LDAADYCCCACQgQ3AhAgAkEIakGAscAAEIcBDAELQazAwABBATYCAAJAQdC8wAApAwAiBFAEQEHYvMAAKQMAIQMDQCADQn9RDQJB2LzAACADQgF8IgRB2LzAACkDACIFIAMgBVEiARs3AwAgBSEDIAFFDQALQdC8wAAgBDcDAAtBsMDAAC0AABpBGBAvIgFFDQEgAUEANgIQIAFCgoCAgBA3AgAgASAENwMIQazAwAAgAUEIajYCACAAIAE2AgQgAEEBNgIAIAJBIGokAA8LIwBBIGsiACQAIABBADYCGCAAQQE2AgwgAEHkscAANgIIIABCBDcCECAAQQhqQeyxwAAQhwEACwALiQIBA38jAEEgayICJAACQAJAAkBBtLzAAC0AAARAQbi8wAAoAgAhAQwBC0G0u8AAKAIAIQFBtLvAAEEANgIAIAFFDQEgAREHACEBQbS8wAAtAAANAkG4vMAAIAE2AgBBtLzAAEEBOgAACyABEKkBIgElARApIgMgAUGEAUlyRQRAIAEQlQELIAAgATYCBCAAIANBAEc2AgAgAkEgaiQADwsgAkEANgIYIAJBATYCDCACQei2wAA2AgggAkIENwIQIAJBCGpB/LHAABCHAQALIAFBgwFLBEAgARCVAQsgAkEANgIYIAJBATYCDCACQZyywAA2AgggAkIENwIQIAJBCGpBpLLAABCHAQALuQEBAn8jAEEgayIDJAACQAJ/QQAgASABIAJqIgJLDQAaQQBBCCAAKAIAIgFBAXQiBCACIAIgBEkbIgIgAkEITRsiBEEASA0AGkEAIQIgAyABBH8gAyABNgIcIAMgACgCBDYCFEEBBSACCzYCGCADQQhqIAQgA0EUahB7IAMoAghBAUcNASADKAIQIQAgAygCDAsgAEHkjsAAEKMBAAsgAygCDCEBIAAgBDYCACAAIAE2AgQgA0EgaiQAC7kBAQJ/IwBBIGsiAyQAAkACf0EAIAEgASACaiICSw0AGkEAQQggACgCACIBQQF0IgQgAiACIARJGyICIAJBCE0bIgRBAEgNABpBACECIAMgAQR/IAMgATYCHCADIAAoAgQ2AhRBAQUgAgs2AhggA0EIaiAEIANBFGoQeyADKAIIQQFHDQEgAygCECEAIAMoAgwLIABBpLTAABCjAQALIAMoAgwhASAAIAQ2AgAgACABNgIEIANBIGokAAvgAQEDfyMAQRBrIgIkACACIAAoAgAiAEEEajYCBCABKAIcQdCywABBCSABKAIgKAIMEQAAIQMgAkEAOgANIAIgAzoADCACIAE2AgggAkEIakHZssAAQQsgAEEFEEdB5LLAAEEJIAJBBGpBBhBHIQAgAi0ADSIDIAItAAwiBHIhAQJAIARBAXEgA0EBR3INACAAKAIAIgAtABRBBHFFBEAgACgCHEHzkcAAQQIgACgCICgCDBEAACEBDAEL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EJUBCyAJQYABaiQAIBTQbyYBIBnQbyYBIBRBAmokAQtPAQJ/IAAoAgQhAiAAKAIAIQMCQCAAKAIIIgAtAABFDQAgA0HkkcAAQQQgAigCDBEAAEUNAEEBDwsgACABQQpGOgAAIAMgASACKAIQEQEAC08BAX8QSAJAQfy7wAAoAgAiASAATQRAIAAgAWsiAEH0u8AAKAIASQ0BCwALQfC7wAAoAgAgAEECdGpB+LvAACgCADYCAEH4u8AAIAA2AgALQgEBfyMAQSBrIgMkACADQQA2AhAgA0EBNgIEIANCBDcCCCADIAE2AhwgAyAANgIYIAMgA0EYajYCACADIAIQhwEACzgAAkAgAkGAgMQARg0AIAAgAiABKAIQEQEARQ0AQQEPCyADRQRAQQAPCyAAIAMgBCABKAIMEQAACzcBAX8jAEEgayIBJAAgAUEANgIYIAFBATYCDCABQcCOwAA2AgggAUIENwIQIAFBCGogABCHAQALLQACQCADaUEBR0GAgICAeCADayABSXJFBEAgACABIAMgAhA1IgANAQsACyAAC+oBAgJ/AX4jAEEQayICJAAgAkEBOwEMIAIgATYCCCACIAA2AgQjAEEQayIBJAAgAkEEaiIAKQIAIQQgASAANgIMIAEgBDcCBCMAQRBrIgAkACABQQRqIgEoAgAiAigCDCEDAkACQAJAAkAgAigCBA4CAAECCyADDQFBASECQQAhAwwCCyADDQAgAigCACICKAIEIQMgAigCACECDAELIABBgICAgHg2AgAgACABNgIMIABBGyABKAIIIgAtAAggAC0ACRB4AAsgACADNgIEIAAgAjYCACAAQRwgASgCCCIALQAIIAAtAAkQeAAL3RUBDn8jAEEQayILJAAjAEGABmsiAiQAIAIgATYC0AIgAiAANgLMAiACIAE2AsgCIAJBEGogAkHIAmpByLjAABBcIAIoAhQhCSACKAIQIQogAkEIahBXAkACQAJAIAIoAggEQCACKAIMIgAQuQEiAUUNASAAQYQBTwRAIAAQlQELIAJBAToAyAIgAkHIAmogARA6IAItAMgCDQIMAwtBkILAABCqAQALQaCCwAAQqgEAC0GIvMAAQQE6AAAQMwsgAUGEAU8EQCABEJUBC0EAIQAgAkEYagJ/QYi8wAAtAABFBEAgAkHQAmpB4IrAACkAADcDACACQdgCakIANwMAIAJB4AJqQgA3AwAgAkHoAmpCADcDACACQfACakIANwMAIAJB+AJqQgA3AwAgAkGAA2pCADcDACACQdiKwAApAAA3A8gCA0AgAkHIAmoiAyAAaiIEIAQtAABBNnM6AAAgBEEBaiIBIAEtAABBNnM6AAAgBEECaiIBIAEtAABBNnM6AAAgBEEDaiIBIAEtAABBNnM6AAAgAEEEaiIAQcAARw0AC0EAIQAgAkEwakGogcAAKQMANwMAIAJBKGpBoIHAACkDADcDACACQSBqQZiBwAApAwA3AwAgAkIBNwM4IAJBkIHAACkDADcDGCACQRhqIANBARAtA0AgAkHIAmoiByAAaiIDIAMtAABB6gBzOgAAIANBAWoiASABLQAAQeoAczoAACADQQJqIgEgAS0AAEHqAHM6AAAgA0EDaiIBIAEtAABB6gBzOgAAIABBBGoiAEHAAEcNAAsgAkHIAWoiBEGogcAAKQMANwMAIAJBwAFqIgNBoIHAACkDADcDACACQbgBaiIBQZiBwAApAwA3AwAgAkHQAWoiAEIBNwMAIAJBkIHAACkDADcDsAEgAkGwAWogB0EBEC0gAkHIBGogACkDADcDACACQcAEaiAEKQMANwMAIAJBuARqIAMpAwA3AwAgAkGwBGogASkDADcDACACQYgEaiACQSBqKQMANwMAIAJBkARqIAJBKGopAwA3AwAgAkGYBGogAkEwaikDADcDACACQaAEaiACQThqKQMANwMAIAIgAikDsAE3A6gEIAIgAikDGDcDgAQgAkGYA2pBAEHBABBEIAcgAkGABGpB0AAQNxogBwwBCyACQdACakHwisAAKQAANwMAIAJB2AJqQgA3AwAgAkHgAmpCADcDACACQegCakIANwMAIAJB8AJqQgA3AwAgAkH4AmpCADcDACACQYADakIANwMAIAJB6IrAACkAADcDyAIDQCACQcgCaiIDIABqIgQgBC0AAEE2czoAACAEQQFqIgEgAS0AAEE2czoAACAEQQJqIgEgAS0AAEE2czoAACAEQQNqIgEgAS0AAEE2czoAACAAQQRqIgBBwABHDQALQQAhACACQTBqQaiBwAApAwA3AwAgAkEoakGggcAAKQMANwMAIAJBIGpBmIHAACkDADcDACACQgE3AzggAkGQgcAAKQMANwMYIAJBGGogA0EBEC0DQCACQcgCaiIHIABqIgMgAy0AAEHqAHM6AAAgA0EBaiIBIAEtAABB6gBzOgAAIANBAmoiASABLQAAQeoAczoAACADQQNqIgEgAS0AAEHqAHM6AAAgAEEEaiIAQcAARw0ACyACQcgBaiIEQaiBwAApAwA3AwAgAkHAAWoiA0GggcAAKQMANwMAIAJBuAFqIgFBmIHAACkDADcDACACQdABaiIAQgE3AwAgAkGQgcAAKQMANwOwASACQbABaiAHQQEQLSACQcgEaiAAKQMANwMAIAJBwARqIAQpAwA3AwAgAkG4BGogAykDADcDACACQbAEaiABKQMANwMAIAJBiARqIAJBIGopAwA3AwAgAkGQBGogAkEoaikDADcDACACQZgEaiACQTBqKQMANwMAIAJBoARqIAJBOGopAwA3AwAgAiACKQOwATcDqAQgAiACKQMYNwOABCACQZgDakEAQcEAEEQgByACQYAEakHQABA3GiAHC0GYARA3GiACQegAaiEEAkACQAJAQcAAIAItAKgBIgNrIgEgCU0EQCAJIQYgCiEAIAMNAQwCCyADIARqIAogCRA3GiADIAlqIQMMAgsgAyAEaiAKIAEQNxogAiACKQM4QgF8NwM4IAJBGGogBEEBEC0gASAKaiEAIAkgAWshBgsgBkE/cSEDIAZBwABPBEAgAiACKQM4IAZBBnYiAa18NwM4IAJBGGogACABEC0LIAQgACAGQUBxaiADEDcaCyACIAM6AKgBIAJBsAFqIgUgAkEYakGYARA3GiACQfgDaiIEQgA3AwAgAkHwA2oiA0IANwMAIAJB6ANqIgFCADcDACACQgA3A+ADIAJB6ARqIgZCADcDACACQeAEaiIMQgA3AwAgAkHYBGoiB0IANwMAIAJCADcD0AQgBSACQYACaiIAIAJB0ARqEDkgAkGYAmogBikDADcDACACQZACaiAMKQMANwMAIAJBiAJqIAcpAwA3AwAgAkEgOgDAAiACIAIpA9AENwOAAiACQdgBaiAAIAJB4ANqEDkgBiAEKQMANwMAIAwgAykDADcDACAHIAEpAwA3AwAgAiACKQPgAzcD0AQgAkEANgL8BSACQoCAgIAQNwL0BSACQfQFakEAQcAAEFkgBUEDciEMIAVBAnIhByAFQQFyIQRBgIDEACEDQQAhBgNAAkACQCADQYCAxABHBEBBgIDEACEBDAELIAZBIEYNASACQdAEaiAGaiAGQQFqIQYtAAAiAEEPcUHtssAAai0AACEBIABBBHZB7bLAAGotAAAhAwsgA0GAAU8EQCACQQA2ArABAn8gA0GAEE8EQCADQYCABE8EQCACIANBEnZB8AFyOgCwASACIANBBnZBP3FBgAFyOgCyASACIANBDHZBP3FBgAFyOgCxASAMIQBBBAwCCyACIANBDHZB4AFyOgCwASACIANBBnZBP3FBgAFyOgCxASAHIQBBAwwBCyACIANBBnZBwAFyOgCwASAEIQBBAgshBSAAIANBP3FBgAFyOgAAIAUgAigC9AUgAigC/AUiA2tLBEAgAkH0BWogAyAFEFkgAigC/AUhAwsgAigC+AUgA2ogAkGwAWogBRA3GiACIAMgBWo2AvwFIAEhAwwCCyACKAL8BSIPIAIoAvQFRgRAIwBBIGsiCCQAIAJB9AVqIg4oAgAiDUF/RgRAQQBBAEHIs8AAEKMBAAtBCCANQQF0IgUgDUEBaiIAIAAgBUkbIgAgAEEITRsiBUEASARAQQBBAEHIs8AAEKMBAAsgCCANBH8gCCANNgIcIAggDigCBDYCFEEBBUEACzYCGCAIQQhqIAUgCEEUahB7IAgoAghBAUYEQCAIKAIMIAgoAhBByLPAABCjAQALIAgoAgwhACAOIAU2AgAgDiAANgIEIAhBIGokAAsgAigC+AUgD2ogAzoAACACIA9BAWo2AvwFIAEhAwwBCwsCQAJAAkAgCQRAIApBBGsoAgAiAEF4cSIBQQRBCCAAQQNxIgAbIAlqSQ0BIABBACABIAlBJ2pLGw0CIAoQNAsgAiACQfQFakG4rcAAEFwgAigCBCEAIAsgAigCADYCACALIAA2AgQgAkGABmokAAwCC0H1rsAAQS5BpK/AABCDAQALQbSvwABBLkHkr8AAEIMBAAsgCygCACALKAIEIAtBEGokAAseACAARQRAELABAAsgACACIAMgBCAFIAEoAhARCgALHAAgAEUEQBCwAQALIAAgAiADIAQgASgCEBEOAAscACAARQRAELABAAsgACACIAMgBCABKAIQEQsACxwAIABFBEAQsAEACyAAIAIgAyAEIAEoAhARJQALHAAgAEUEQBCwAQALIAAgAiADIAQgASgCEBEnAAscACAARQRAELABAAsgACACIAMgBCABKAIQESkACzIBAXwQDyEAQZi8wABCADcDAEGQvMAAIABEAAAAAABAj0CjRBgtRFT7IRlAELUBOQMACxoAIABFBEAQsAEACyAAIAIgAyABKAIQEQQACxgAIABFBEAQsAEACyAAIAIgASgCEBEBAAsYACAARQRAELABAAsgACACIAEoAhARAwALGgEBbyAAJQEgASUBEAkhAhBDIgAgAiYBIAALGgBBsLzAAEEBOgAAIAFBhAFPBEAgARCVAQsLFgAgAEGEAU8EQCAA0G8mASAAEIIBCwsYAQFvIAAlASABEBkhAhBDIgAgAiYBIAALFQAgACgCACIAQYQBTwRAIAAQlQELCxcBAX8gABAjIgE2AgQgACABQQBHNgIACxcBAX8gABAkIgE2AgQgACABQQBHNgIACxcBAX8gABAlIgE2AgQgACABQQBHNgIACxcBAX8gABAmIgE2AgQgACABQQBHNgIACxwAIABBADYCECAAQgA3AgggAEKAgICAwAA3AgALFgEBbyAAIAEQCCECEEMiACACJgEgAAsWAgFvAX8gABAVIQEQQyICIAEmASACCxMAIAAQQyIAIAImASABIAAQkgELFAAgACgCACABIAAoAgQoAgwRAQALEAAgACUBIAEgAiADJQEQDgsRACAAJQEgASUBIAIlARAWGgsOACAARQRAIAIQhQELAAvCCAEFfyMAQfAAayIEJAAgBCADNgIMIAQgAjYCCAJAAkACQAJAAkACQCAEAn8gAAJ/AkAgAUGBAk8EQEEDIAAsAIACQb9/Sg0CGiAALAD/AUG/f0wNAUECDAILIAQgATYCFCAEIAA2AhBBASEFQQAMAgsgACwA/gFBv39KC0H9AWoiBWosAABBv39MDQEgBCAFNgIUIAQgADYCEEHflcAAIQVBBQs2AhwgBCAFNgIYIAEgAkkiBSABIANJckUEQCACIANLDQIgAkUgASACTXJFBEAgAyACIAAgAmosAABBv39KGyEDCyAEIAM2AiAgAyABIgJJBEAgA0EBaiIGIANBA2siAkEAIAIgA00bIgJJDQQCQCACIAZGDQAgBiACayEHIAAgA2osAABBv39KBEAgB0EBayEFDAELIAIgA0YNACAAIAZqIgNBAmsiCCwAAEG/f0oEQCAHQQJrIQUMAQsgCCAAIAJqIgZGDQAgA0EDayIILAAA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CgAAAJgAAAAyAAAAcwTtpS+JelyrzFFk1rLcGhH4EmZ0AaCIP7Mb/sGdEwwGARAACgAAAIsBAAAjAAAAAAACQUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVphYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ejAxMjM0NTY3ODkrL/////////////////////////////////////////////////////////8+////PzQ1Njc4OTo7PD3/////////AAECAwQFBgcICQoLDA0ODxAREhMUFRYXGBn///////8aGxwdHh8gISIjJCUmJygpKissLS4vMDEyM/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////8ABgEQAAoAAAC8AQAAcwAAAAYBEAAKAAAAuwEAAGwAAAAGARAACgAAALoBAABoAAAABgEQAAoAAADfAQAAGwAAAAYBEAAKAAAA7wEAACoAAAAGARAACgAAAOMBAAAKAAAAY2FwYWNpdHkgb3ZlcmZsb3cAAAAsBxAAEQAAAGxpYnJhcnkvYWxsb2Mvc3JjL3Jhd192ZWMucnNIBxAAHAAAACgCAAARAAAAbGlicmFyeS9hbGxvYy9zcmMvc3RyaW5nLnJzAHQHEAAbAAAA6gEAABcAAADvv70ALi4AAAEAAAAAAAAAW2NhbGxlZCBgT3B0aW9uOjp1bndyYXAoKWAgb24gYSBgTm9uZWAgdmFsdWVpbmRleCBvdXQgb2YgYm91bmRzOiB0aGUgbGVuIGlzICBidXQgdGhlIGluZGV4IGlzIAAA3AcQACAAAAD8BxAAEgAAAAAAAAAEAAAABAAAAD4AAAA9PWFzc2VydGlvbiBgbGVmdCAgcmlnaHRgIGZhaWxlZAogIGxlZnQ6IAogcmlnaHQ6IAAAMggQABAAAABCCBAAFwAAAFkIEAAJAAAAIHJpZ2h0YCBmYWlsZWQ6IAogIGxlZnQ6IAAAADIIEAAQAAAAfAgQABAAAACMCBAACQAAAFkIEAAJAAAAOiAAAAEAAAAAAAAAuAgQAAIAAAAAAAAA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L3NyYy9pbXBfc3RkLnJzAMwWEABfAAAAmwAAAAkAAADMFhAAXwAAAKEAAAA2AAAAL3J1c3QvZGVwcy9kbG1hbGxvYy0wLjIuNy9zcmMvZGxtYWxsb2MucnNhc3NlcnRpb24gZmFpbGVkOiBwc2l6ZSA+PSBzaXplICsgbWluX292ZXJoZWFkAEwXEAApAAAAqAQAAAkAAABhc3NlcnRpb24gZmFpbGVkOiBwc2l6ZSA8PSBzaXplICsgbWF4X292ZXJoZWFkAABMFxAAKQAAAK4EAAANAAAAdXNlIG9mIHN0ZDo6dGhyZWFkOjpjdXJyZW50KCkgaXMgbm90IHBvc3NpYmxlIGFmdGVyIHRoZSB0aHJlYWQncyBsb2NhbCBkYXRhIGhhcyBiZWVuIGRlc3Ryb3llZAAA9BcQAF4AAABsaWJyYXJ5L3N0ZC9zcmMvdGhyZWFkL2N1cnJlbnQucnMAAABcGBAAIQAAAP4AAAAJAAAAbGlicmFyeS9zdGQvc3JjL3RocmVhZC9tb2QucnNmYWlsZWQgdG8gZ2VuZXJhdGUgdW5pcXVlIHRocmVhZCBJRDogYml0c3BhY2UgZXhoYXVzdGVkrRgQADcAAACQGBAAHQAAAK4EAAANAAAAcBsQAFsAAAAIAwAAGQAAAHJlZW50cmFudCBpbml0AAAMGRAADgAAAHAbEABbAAAAegIAAA0AAABKc1ZhbHVlKCkAAAA0GRAACAAAADwZEAABAAAAVXRmOEVycm9ydmFsaWRfdXBfdG9lcnJvcl9sZW4wMTIzNDU2Nzg5YWJjZGVmL3J1c3RjLzRlYjE2MTI1MGUzNDBjOGY0OGY2NmUyYjkyOWVmNGE1YmVkN2MxODEvbGlicmFyeS9hbGxvYy9zcmMvc3RyaW5nLnJzfRkQAEsAAACNBQAAGwAAAC9ydXN0Yy80ZWIxNjEyNTBlMzQwYzhmNDhmNjZlMmI5MjllZjRhNWJlZDdjMTgxL2xpYnJhcnkvYWxsb2Mvc3JjL3Jhd192ZWMucnPYGRAATAAAACgCAAARAAAAY2xvc3VyZSBpbnZva2VkIHJlY3Vyc2l2ZWx5IG9yIGFmdGVyIGJlaW5nIGRyb3BwZWRPYmplY3RvYmpGcm9tVXRmOEVycm9yYnl0ZXNlcnJvck5vbmVTb21lL2hvbWUvam9zaC8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby0xOTQ5Y2Y4YzZiNWI1NTdmL2Jhc2U2NC0wLjIyLjEvc3JjL2VuZ2luZS9tb2QucnMAAACOGhAAXwAAAHsAAAAbAAAANgAAABQAAAAEAAAANwAAAEludmFsaWQgVVRGOI4aEABfAAAAfwAAACQAAABOb2RlRXZlbnRUYXJnZXRMYXp5IGluc3RhbmNlIGhhcyBwcmV2aW91c2x5IGJlZW4gcG9pc29uZWQAAAA7GxAAKgAAAC9ob21lL2pvc2gvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tMTk0OWNmOGM2YjViNTU3Zi9vbmNlX2NlbGwtMS4yMS4zL3NyYy9saWIucnMAcBsQAFsAAAAfBQAAGQAAAC9ob21lL2pvc2gvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tMTk0OWNmOGM2YjViNTU3Zi93YXNtLWJpbmRnZW4tMC4yLjEwMC9zcmMvY29udmVydC9zbGljZXMucnMAANwbEABqAAAA6AAAAAEAQd64wAALE/A/AAAAAAAAAIAAAAAAAAAAACMAQfu4wAALCoAAAAAAAAAAACQAQY+5wAALCoAAAAAAAAAAACUAQaO5wAALCoAAAAAAAAAAACYAQbe5wAALCoAAAAAAAAAAACcAQcu5wAALCoAAAAAAAAAAACgAQd+5wAALCoAAAAAAAAAAACkAQfO5wAALCoAAAAAAAAAAACoAQYe6wAALCoAAAAAAAAAAACsAQZu6wAALCoAAAAAAAAAAACwAQa+6wAALCoAAAAAAAAAAAC0AQcO6wAALCoAAAAAAAAAAAC4AQde6wAALCoAAAAAAAAAAAC8AQeu6wAALCoAAAAAAAAAAADAAQf+6wAALCoAAAAAAAAAAADEAQZO7wAALCoAAAAAAAAAAADIAQae7wAALPoAAAAAAAAAAADMAAABCAAAAAgAAAAAAAABDAAAAAgAAAAAAAABEAAAAAgAAAAAAAABFAAAAAgAAAAAAAABGAEGAvMAACwFHAHAJcHJvZHVjZXJzAghsYW5ndWFnZQEEUnVzdAAMcHJvY2Vzc2VkLWJ5AwVydXN0Yx0xLjg1LjEgKDRlYjE2MTI1MCAyMDI1LTAzLTE1KQZ3YWxydXMGMC4yMy4zDHdhc20tYmluZGdlbgcwLjIuMTAwAEkPdGFyZ2V0X2ZlYXR1cmVzBCsPbXV0YWJsZS1nbG9iYWxzKwhzaWduLWV4dCsPcmVmZXJlbmNlLXR5cGVzKwptdWx0aXZhbHVl");var Xe={processListeners:[],processDate:null},se={},k;Object.assign(se,ie(()=>k,Xe));var Ve=await WebAssembly.instantiate(ae,se);k=Ve.instance.exports;var Ie=I=>{let A,e;try{let[t,a]=x(k,I),g=k.validate(t,a);return A=g[0],e=g[1],U(k,A,e)}finally{k.__wbindgen_free(A,e,1)}},ge=I=>{for(;I<0;)I+=2*Math.PI;for(;I>=2*Math.PI;)I-=2*Math.PI;return I},$e=(I,A,e,t)=>{let a=ge(I),i=ge(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,r=Math.round(-i/n),c=Math.round(-o/Q);return{movementX:r,movementY:c}},oe=(I,A)=>{if(!oA.pointermove){k.start();let[g,i]=x(k,[...Array(14)].map(()=>Math.random().toString(36)[2]).join(""));k.set_mouse_params(50,1,.9,!1,g,i)}let e=k.get_yaw_pitch(),t=$e(e.yaw,e.pitch,I,A);return oA.pointermove({isTrusted:!0,movementX:t.movementX,movementY:t.movementY}),k.get_yaw_pitch().coords};var j=class{connected=!1;onceConnected=[];regionList=[];proxy=null;sessionId="";onListeners=new Map;onceListeners=new Map;#A=!1;constructor(A={}){A.instance||(A.instance="shellshock.io"),A.protocol||(A.protocol="wss"),A.api?this.api=A.api:this.api=new iA({instance:A.instance,protocol:A.protocol,proxy:A.proxy}),A.sessionId||A.noLogin?this.sessionId=A.sessionId:this.#a(),A.proxy&&!_?this.#t("proxies do not work and hence are not supported in the browser"):A.proxy&&(this.proxy=A.proxy),this.#e(A.instance,A.protocol,A.noLogin)}async#e(A,e,t){let a=async()=>{try{this.ws=new J(`${e}://${A}/matchmaker/`,this.proxy),this.ws.onerror=async g=>(this.#t(g),await new Promise(i=>setTimeout(i,100)),await a())}catch{await new Promise(g=>setTimeout(g,100)),await a()}};await a(),this.ws.onopen=()=>{this.connected=!0,this.ws.onerror=null,(this.sessionId||t)&&this.onceConnected.forEach(g=>g())},this.ws.onmessage=g=>{let i=JSON.parse(g.data);i.command==="validateUUID"&&this.ws.send(JSON.stringify({command:"validateUUID",hash:Ie(i.uuid)})),this.#i("msg",i)},this.ws.onclose=()=>{this.connected=!1,this.#A||this.#e(A)}}async#a(){let A=await this.api.loginAnonymously();(!A||typeof A=="string")&&this.#i("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.#t("failed to get regions",a),this.ws.send(JSON.stringify({command:"regionList"}))})}async findPublicGame(A={}){return await this.waitForConnect(),!A.region&&!this.regionList&&!this.regionList.length?this.#t("pass a region to createPrivateGame or call getRegions() for a random one"):(A.region||(opts.region=this.getRandomRegion()),this.regionList.length&&!this.regionList.find(e=>e.id===A.region)?this.#t("did not find region in regionList"):A.mode?typeof G[A.mode]!="number"?this.#t("invalid mode passed to findPublicGame, see GameModes for a list"):new Promise(e=>{let t={command:"findGame",region:A.region,playType:K.JoinPublic,gameType:G[A.mode],sessionId:this.sessionId},a=g=>{g.command==="gameFound"&&(this.off("msg",a),e(g))};this.on("msg",a),this.ws.send(JSON.stringify(t))}):this.#t("pass a mode to findPublicGame"))}getRandomRegion(){if(!this.regionList&&!this.regionList.length)this.#t("use <Matchmaker>.getRegions() before getRandomRegion()");else return this.regionList[Math.floor(Math.random()*this.regionList.length)].id}getRandomGameMode(){let A=Object.keys(G);return A[Math.floor(Math.random()*A.length)]}close(){this.#A=!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))}#i(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))}#t(A){if(this.onListeners.has("error"))this.#i("error",A);else throw A}},ne=j;var At=(I,A)=>(I%A+A)%A,et=Math.PI*2,Be=I=>Math.round(I*8192)/8192,tt=I=>Be(At(Math.atan2(-I.x,-I.z),et)),it=I=>Be(Math.atan2(I.y,Math.hypot(I.x,I.z))),RA=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=tt(e),a=it(e);A.state.yaw=t,A.state.pitch=a}},W=RA;var UA=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}},X=UA;var nA=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,g=this.y-A.y,i=Math.abs(t),o=Math.abs(g),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),r=e.at(A.x,A.y-1,A.z);if(!Q||!r)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!!(g===1&&A.canWalkThrough()||(Q.canWalkOn()||Q.isLadder())&&(A.meshType==="none"||A.meshType==="ladder"&&o===0||A.meshType==="wedge"&&g===0&&t===-c[A.ry].x&&a===-c[A.ry].z));case"ladder":return!!(o===1&&A.canWalkThrough()||o===0&&Q.canWalkOn()||A.meshType==="ladder"&&(o===1||Q.canWalkOn()&&r.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 e=this.flatCenter();return Math.hypot(e.x-A.x,e.z-A.z)}},BA=class{list=[];constructor(A){let e={};for(let a of Object.keys(A.data))for(let g of A.data[a])e[g.x<<16|g.y<<8|g.z]=!0,this.list.push(new nA(a,g));for(let a=0;a<A.width;a++)for(let g=0;g<A.height;g++)for(let i=0;i<A.depth;i++)e[a<<16|g<<8|i]||this.list.push(new nA("SPECIAL.air.none",{x:a,y:g,z:i}));let t=new Map;for(let a of this.list)t.set(a.positionStr,a);for(let a of this.list){let g=[{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 g){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 g of this.list){let i=`${g.x},${g.y},${g.z}`;this.nodeMap.set(i,g)}}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,g=e.z-A.z,i=Math.max(Math.abs(t),Math.abs(a),Math.abs(g)),o=t/i,n=a/i,Q=g/i,r=A.x,c=A.y,h=A.z;for(let f=0;f<=i;f++){let V=this.at(Math.round(r),Math.round(c),Math.round(h));if(V&&V.isFull())return!1;r+=o,c+=n,h+=Q}return!0}};var Qe=async(I,A)=>{if(R)return await(await fetch(`https://esm.sh/gh/yolkorg/maps/maps/${I}.json?${A}`)).json();{let{existsSync:e,mkdirSync:t,readFileSync:a,writeFileSync:g}={},{join:i}={},{homedir:o}={},n=i(o(),".yolkbot"),Q=i(n,"maps");e(n)||t(n),e(Q)||t(Q);let r=i(Q,`${I}-${A}.json`);if(e(r))return JSON.parse(a(r,"utf-8"));let c=await(await fetch(`https://esm.sh/gh/yolkorg/maps/maps/${I}.json?${A}`)).json();return g(r,JSON.stringify(c,null,4),{flag:"w+"}),c}},re=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}],g=(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 r of a){let c=g(Q.x+r.x,Q.y,Q.z+r.z);if(c&&c.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 F=[{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:"private",numPlayers:"14"},{filename:"bastion",hash:"uuwh7401no",name:"Bastion",modes:{FFA:!0,Teams:!0,Spatula:!0,King:!0},availability:"private",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:"both",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:"private",numPlayers:"18"},{filename:"cash",hash:"1427gfre8ma",name:"Cash",modes:{FFA:!0,Teams:!0,Spatula:!0,King:!0},availability:"both",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:"both",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:"private",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:"private",numPlayers:"18"},{filename:"feedlot",hash:"iuj8rc7kyh",name:"Feedlot",modes:{FFA:!0,Teams:!0,Spatula:!0,King:!0},availability:"both",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:"private",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:"private",numPlayers:"18"},{filename:"indigo",hash:"1vrzzn6ym9q",name:"Indigo",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:"private",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:"both",numPlayers:"14"},{filename:"nextdoor",hash:"s2i5za1kx9",name:"Nextdoor",modes:{FFA:!0,Teams:!0,Spatula:!0,King:!0},availability:"private",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:"both",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:"private",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:"both",numPlayers:"14"},{filename:"ruins",hash:"3ycs8z9bcu",name:"Ruins",modes:{FFA:!0,Teams:!0,Spatula:!0,King:!0},availability:"both",numPlayers:"18"},{filename:"scales",hash:"101v5lpkv1s",name:"Scales",modes:{FFA:!0,Teams:!0,Spatula:!0,King:!0},availability:"private",numPlayers:"18"},{filename:"shadyglen",hash:"2d0d4bj7aq3",name:"Shady Glen",modes:{FFA:!0,Teams:!0,Spatula:!0,King:!0},availability:"private",numPlayers:"12"},{filename:"shellville",hash:"fdgmkbfe7n",name:"Shellville",modes:{FFA:!0,Teams:!0,Spatula:!0,King:!0},availability:"both",numPlayers:"16"},{filename:"shipyard",hash:"1n1sptszksq",name:"Shipyard",modes:{FFA:!0,Teams:!0,Spatula:!0,King:!0},availability:"both",numPlayers:"18"},{filename:"skyScratcher",hash:"1th1c8epp95",name:"Sky Scratcher",modes:{FFA:!0,Teams:!0,Spatula:!0,King:!0},availability:"private",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:"both",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:"both",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:"private",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:"both",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:"both",numPlayers:"18"}];var Ce=Object.fromEntries(Object.entries(L).map(([I,A])=>[A,I.toLowerCase()])),Ee=Object.fromEntries(Object.entries(u).map(([I,A])=>[A,I])),le={CHALLENGES:1,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,KOTC_ZONES:15,NO_AFK_KICK:16},LA=(I,A)=>(I%A+A)%A,QA=class{static Intents=le;Intents=le;#A=[];#e={};#a=[];#i;#t;constructor(A={}){A.proxy&&!_&&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 IA({}),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:L.Capturing,zoneNumber:0,activeZone:[],capturing:0,captureProgress:0,numCapturing:0,stageName:"",capturePercent:0},this.#t=this.game,this.account={id:0,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,rawLoginData:{}},this.#i=this.account,this.matchmaker=null,this.api=new iA({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)}dispatch(A){return A.validate(this)?(A.check(this)?A.execute(this):this.#A.push(A),!0):!1}async createAccount(A,e){this.account.email=A,this.account.password=e;let t=await this.api.createAccount(A,e);return this.#g(t)}async login(A,e){this.account.email=A,this.account.password=e;let t=await this.api.loginWithCredentials(A,e);return this.#g(t)}async loginWithRefreshToken(A){let e=await this.api.loginWithRefreshToken(A);return this.#g(e)}async loginAnonymously(){delete this.account.email,delete this.account.password;let A=await this.api.loginAnonymously();return this.#g(A)}#g(A){return typeof A!="object"?(this.emit("authFail",A),!1):A.banRemaining?(this.emit("banned",A.banRemaining),!1):A.playerOutput?(A=A.playerOutput,this.account.rawLoginData=A,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.upgradeProductId&&!A.upgradeIsExpired,this.intents.includes(this.Intents.STATS)&&(this.account.stats={lifetime:A.statsLifetime,monthly:A.statsCurrent}),this.intents.includes(this.Intents.CHALLENGES)&&this.#s(A.challenges),this.emit("authSuccess",this.account),this.account):(this.emit("authFail",A),!1)}#s(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(){return!this.account.sessionId&&!this.intents.includes(this.Intents.NO_LOGIN)&&!await this.loginAnonymously()?!1:(this.matchmaker||(this.matchmaker=new ne({sessionId:this.account.sessionId,proxy:this.proxy,instance:this.instance,protocol:this.protocol,noLogin:this.intents.includes(this.Intents.NO_LOGIN),api:this.api}),this.matchmaker.on("authFail",A=>this.emit("authFail",A)),this.matchmaker.on("error",A=>this.processError(A)),await this.matchmaker.getRegions()),!0)}async#I(A){return await this.initMatchmaker()?(await this.matchmaker.waitForConnect(),await new Promise(e=>{let t=a=>{if(a.command==="gameFound"&&(this.matchmaker.off("msg",t),this.game.raw=a,this.game.code=a.id,e(a.id)),a.error&&a.error==="gameNotFound")return this.processError(`Game ${A} not found (likely expired).`),this.leave(),"gameNotFound"};this.matchmaker.on("msg",t),this.matchmaker.send({command:"joinGame",id:A,observe:!1,sessionId:this.account.sessionId})})):"matchmakerInitFail"}async findPublicGame(A){return this.matchmaker||this.initMatchmaker(),this.matchmaker?await this.matchmaker.findPublicGame(A):!1}async createPrivateGame(A={}){if(!await this.initMatchmaker())return!1;if(!A.region&&!this.matchmaker.regionList&&!this.matchmaker.regionList.length)return this.processError("pass a region to createPrivateGame or call getRegions() for a random one");if(A.region||(A.region=this.matchmaker.getRandomRegion()),!A.mode)return this.processError("pass a mode to createPrivateGame");if(typeof G[A.mode]!="number")return this.processError("invalid mode passed to createPrivateGame");A.map||(A.map=F[F.length*Math.random()|0].name);let e=F.find(g=>g.name.toLowerCase()===A.map.toLowerCase()),t=F.indexOf(e);return t===-1?this.processError("invalid map, see the Maps constant for a list"):(await this.matchmaker.waitForConnect(),await new Promise(g=>{let i=o=>{o.command==="gameFound"&&(this.matchmaker.off("msg",i),g(o))};this.matchmaker.on("msg",i),this.matchmaker.send({command:"findGame",region:A.region,playType:K.CreatePrivate,gameType:G[A.mode],sessionId:this.account.sessionId,noobLobby:!1,map:t})}))}async join(A,e){if(this.state.name=A||"yolkbot",typeof e=="string"){e.includes("#")&&(e=e.split("#")[1]);let a=await this.#I(e);if(a==="matchmakerInitFail")return this.processError("failed to create matchmaker, you may be ratelimited (try a vpn?)");if(a==="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=async()=>{try{let a=this.instance.startsWith("localhost:")?this.instance:`${this.game.raw.subdomain}.${this.instance}`;this.game.socket=new J(`${this.protocol}://${a}/game/${this.game.raw.id}`,this.proxy),this.game.socket.onerror=async g=>(this.processError(g),await new Promise(i=>setTimeout(i,100)),await t())}catch{await new Promise(a=>setTimeout(a,100)),await t()}};await t(),this.game.socket.binaryType="arraybuffer",this.game.socket.onopen=()=>this.game.socket.onerror=null,this.game.socket.onmessage=a=>this.processPacket(a.data),this.game.socket.onclose=a=>{this.state.left?this.state.left=!1:(this.emit("close",a.code),this.leave(-1))}}#o(){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 X(0));else{let e;this.pathing.activeNodeIdx<this.pathing.activePath.length-1?(e=this.pathing.activePath[this.pathing.activeNodeIdx+1].flatCenter(),this.dispatch(new W(e))):(e=this.pathing.activePath[this.pathing.activeNodeIdx].flatCenter(),this.dispatch(new W(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 X(m.Forward))}}update(){if(!this.hasQuit){if(this.pathing.followingPath&&this.intents.includes(this.Intents.PATHFINDING)&&this.#o(),this.#A.length>0)for(let A=0;A<this.#A.length;A++){let e=this.#A[A];e.check(this)&&(e.execute(this),this.#A.splice(A,1))}if(this.state.chatLines=Math.max(0,this.state.chatLines-1/(30*4)),this.me.playing){let A=this.state.stateIdx;if(this.intents.includes(this.Intents.DEBUG_BUFFER)&&(console.log("setting buffer for idx",A),console.log("checking...shotsFired",this.state.shotsFired)),this.me.jumping=!!(this.state.controlKeys&m.Jump),this.state.buffer[A]={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=C.getBuffer();e.packInt8(B.syncMe),e.packInt8(this.state.stateIdx),e.packInt8(this.state.serverStateIdx);let t=LA(this.state.stateIdx-Y+1,P);for(let a=0;a<Y;a++){let g=LA(t+a,P);this.intents.includes(this.Intents.DEBUG_BUFFER)&&console.log("going with",this.state.stateIdx,t,g,this.state.buffer[g]),e.packInt8(this.state.buffer[g]?.controlKeys||0),e.packInt8(this.state.buffer[g]?.shotsFired||0);let i=this.state.buffer[g]?.yaw||this.state.yaw,o=this.state.buffer[g]?.pitch||this.state.pitch,n=oe(i,o);e.packString(n),e.packInt8(100)}e.send(this.game.socket),this.state.buffer=[],this.lastUpdateTick=0}else this.lastUpdateTick++;this.state.stateIdx=LA(this.state.stateIdx+1,P)}if(this.intents.includes(this.Intents.PLAYER_HEALTH))for(let A of Object.values(this.players)){if(A.playing&&A.hp>0){let e=.1*(this.game.isPrivate?this.game.options.healthRegen:1);A.streakRewards.includes(l.OverHeal)?A.hp=Math.max(100,A.hp-e):A.hp=Math.min(100,A.hp+e)}A.spawnShield>0&&(A.spawnShield-=6)}}}on(A,e){Object.keys(this.#e).includes(A)?this.#e[A].push(e):this.#e[A]=[e]}onAny(A){this.#a.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.#a)t(A,...e)}}#n(){let A=s.unPackInt8U(),e=s.unPackInt8U(),t=s.unPackString().valueOf(),a=this.players[A];this.emit("chat",a,t,e)}#B(){let A=s.unPackInt8U(),e=this.intents.includes(this.Intents.COSMETIC_DATA),t={id:A,uniqueId:s.unPackString(),name:s.unPackString(),safeName:s.unPackString(),charClass:s.unPackInt8U(),team:s.unPackInt8U(),primaryWeaponItem:e?E(s.unPackInt16U()):s.unPackInt16U(),secondaryWeaponItem:e?E(s.unPackInt16U()):s.unPackInt16U(),shellColor:s.unPackInt8U(),hatItem:e?E(s.unPackInt16U()):s.unPackInt16U(),stampItem:e?E(s.unPackInt16U()):s.unPackInt16U(),stampPosX:s.unPackInt8(),stampPosY:s.unPackInt8(),grenadeItem:e?E(s.unPackInt16U()):s.unPackInt16U(),meleeItem:e?E(s.unPackInt16U()):s.unPackInt16U(),x:s.unPackFloat(),y:s.unPackFloat(),z:s.unPackFloat(),$dx:s.unPackFloat(),$dy:s.unPackFloat(),$dz:s.unPackFloat(),yaw:s.unPackRadU(),pitch:s.unPackRad(),score:s.unPackInt32U(),kills:s.unPackInt16U(),deaths:s.unPackInt16U(),streak:s.unPackInt16U(),totalKills:s.unPackInt32U(),totalDeaths:s.unPackInt32U(),bestGameStreak:s.unPackInt16U(),bestOverallStreak:s.unPackInt16U(),shield:s.unPackInt8U(),hp:s.unPackInt8U(),playing:s.unPackInt8U(),weaponIdx:s.unPackInt8U(),$controlKeys:s.unPackInt8U(),upgradeProductId:s.unPackInt8U(),activeShellStreaks:s.unPackInt8U(),social:s.unPackLongString(),hideBadge:s.unPackInt8U()};this.game.mapIdx=s.unPackInt8U(),this.game.isPrivate=s.unPackInt8U()===1,this.game.gameModeId=s.unPackInt8U();let a=new IA(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))}#Q(){let A=s.unPackInt8U(),e=s.unPackInt16U(),t=s.unPackFloat(),a=s.unPackFloat(),g=s.unPackFloat(),i=s.unPackInt8U(),o=s.unPackInt8U(),n=s.unPackInt8U(),Q=s.unPackInt8U(),r=s.unPackInt8U(),c=this.players[A];c&&(c.playing=!0,c.randomSeed=e,c.weapons[0]&&c.weapons[0].ammo&&(c.weapons[0].ammo.rounds=i),c.weapons[0]&&c.weapons[0].ammo&&(c.weapons[0].ammo.store=o),c.weapons[1]&&c.weapons[1].ammo&&(c.weapons[1].ammo.rounds=n),c.weapons[1]&&c.weapons[1].ammo&&(c.weapons[1].ammo.store=Q),c.grenades=r,c.position={x:t,y:a,z:g},c.spawnShield=120,this.emit("playerRespawn",c))}#r(){let A=s.unPackInt8U(),e=s.unPackFloat(),t=s.unPackFloat(),a=s.unPackFloat(),g=s.unPackInt8U(),i=this.players[A];if(!i||i.id===this.me.id){for(let Q=0;Q<Y;Q++)s.unPackInt8U(),s.unPackRadU(),s.unPackRad(),s.unPackInt8U();return}for(let Q=0;Q<Y;Q++)s.unPackInt8U()&m.Jump?i.jumping=!0:i.jumping=!1,i.view.yaw=s.unPackRadU(),i.view.pitch=s.unPackRad(),s.unPackInt8U();let o=i.position.x!==e||i.position.y!==t||i.position.z!==a||i.climbing!==g,n=o?{...i.position}:null;if(i.position.x!==e&&(i.position.x=e),i.position.z!==a&&(i.position.z=a),(!i.jumping||Math.abs(i.position.y-t)>.5&&i.position.y!==t)&&(i.position.y=t),i.climbing!==g&&(i.climbing=g),o&&(this.emit("playerMove",i,n,i.position),this.game.gameModeId===u.KOTC)){let Q=this.game.activeZone;if(!Q){i.inKotcZone&&(i.inKotcZone=!1,this.emit("playerLeaveZone",i));return}let r=!!i.inKotcZone;i.updateKotcZone(Q),!i.inKotcZone&&r?(i.inKotcZone=!1,this.emit("playerLeaveZone",i)):i.inKotcZone&&!r&&(i.inKotcZone=!0,this.emit("playerEnterZone",i))}}#c(){let A=s.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)))}#C(){let A=s.unPackInt8U(),e=s.unPackInt8U(),t=this.players[A];t&&(t.activeGun=e,this.emit("playerSwapWeapon",t,e))}#E(){let A=s.unPackInt8U(),e=s.unPackInt8U();s.unPackInt8U(),s.unPackInt8U(),s.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.deathsInGame++,t.stats.totalDeaths++,t.inKotcZone=!1,this.emit("playerLeaveZone",t)),a&&(a.streak++,a.stats.killsInGame++,a.stats.totalKills++,a.stats.streak=a.streak,a.streak>a.stats.bestGameStreak&&(a.stats.bestGameStreak=a.streak),a.streak>a.stats.bestOverallStreak&&(a.stats.bestOverallStreak=a.streak)),this.emit("playerDeath",t,a)}#l(){let A=s.unPackInt8U(),e={posX:s.unPackFloat(),posY:s.unPackFloat(),posZ:s.unPackFloat(),dirX:s.unPackFloat(),dirY:s.unPackFloat(),dirZ:s.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))}#h(){let A=s.unPackInt16U(),e=s.unPackInt8U(),t=s.unPackFloat(),a=s.unPackFloat(),g=s.unPackFloat();this.game.collectables[e].push({id:A,x:t,y:a,z:g}),this.emit("spawnItem",e,{x:t,y:a,z:g})}#d(){let A=s.unPackInt8U(),e=s.unPackInt8U(),t=s.unPackInt8U(),a=s.unPackInt16U(),g=this.players[A];if(this.game.collectables[e]=this.game.collectables[e].filter(i=>i.id!==a),e===$.Ammo){let i=g.weapons[t];i&&i.ammo&&(i.ammo.store=Math.min(i.ammo.storeMax,i.ammo.store+i.ammo.pickup),this.emit("collectAmmo",g,i))}e===$.Grenade&&(g.grenades++,g.grenades>3&&(g.grenades=3),this.emit("collectGrenade",g))}#u(){let A=s.unPackInt8U(),e=s.unPackInt8U(),t=this.players[A];if(!t)return;let a=t.hp;t.hp=e,this.emit("playerDamage",t,a,t.hp)}#m(){let A=s.unPackInt8U();s.unPackFloat(),s.unPackFloat();let e=this.me.hp;this.me.hp=A,this.emit("playerDamage",this.me,e,this.me.hp)}#p(){let A=s.unPackInt8U(),e=this.players[A];s.unPackInt8U();let t=s.unPackInt8U(),a=s.unPackFloat(),g=s.unPackFloat(),i=s.unPackFloat();if(this.me.climbing=!!s.unPackInt8U(),s.unPackInt8U(),s.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=g,e.position.z=i,(o!==a||n!==g||Q!==i)&&this.emit("playerMove",e,{x:o,y:n,z:Q},{x:a,y:g,z:i})}#w(){let A=C.getBuffer();A.packInt8(B.eventModifier),A.send(this.game.socket)}#y(){let A=s.unPackInt8U(),e={...this.players[A]};delete this.players[A.toString()],this.emit("playerLeave",e)}#k(){if(this.game.gameModeId===u.Spatula){let A={...this.game};this.game.teamScore[1]=s.unPackInt16U(),this.game.teamScore[2]=s.unPackInt16U();let e={x:s.unPackFloat(),y:s.unPackFloat(),z:s.unPackFloat()},t=s.unPackInt8U(),a=s.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=s.unPackInt8U(),this.game.zoneNumber=s.unPackInt8U(),this.game.capturing=s.unPackInt8U(),this.game.captureProgress=s.unPackInt16U(),this.game.numCapturing=s.unPackInt8U(),this.game.teamScore[1]=s.unPackInt8U(),this.game.teamScore[2]=s.unPackInt8U(),this.game.stageName=Ce[this.game.stage],this.game.capturePercent=this.game.captureProgress/1e3,this.game.activeZone=this.game.map.zones?this.game.map.zones[this.game.zoneNumber-1]:null,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)}else this.game.gameModeId===u.Team&&(this.game.teamScore[1]=s.unPackInt16U(),this.game.teamScore[2]=s.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.stageName,delete this.game.numCapturing,delete this.game.activeZone),this.game.gameModeId===u.FFA&&delete this.game.teamScore}#D(){let A=s.unPackInt8U(),e=s.unPackInt8U(),t=this.players[A];switch(e){case l.HardBoiled:A===this.me.id&&(this.me.shieldHp=100),t.streakRewards.push(l.HardBoiled);break;case l.EggBreaker:t.streakRewards.push(l.EggBreaker);break;case l.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 l.OverHeal:t.hp=Math.min(200,t.hp+100),t.streakRewards.push(l.OverHeal);break;case l.DoubleEggs:t.streakRewards.push(l.DoubleEggs);break;case l.MiniEgg:t.streakRewards.push(l.MiniEgg);break}this.emit("playerBeginStreak",t,e)}#f(){let A=s.unPackInt8U(),e=s.unPackInt8U(),t=this.players[A];[l.EggBreaker,l.OverHeal,l.DoubleEggs,l.MiniEgg].includes(e)&&t.streakRewards.includes(e)&&(t.streakRewards=t.streakRewards.filter(g=>g!==e)),this.emit("playerEndStreak",t,e)}#M(){let A=s.unPackInt8U(),e=s.unPackInt8U(),t=s.unPackFloat(),a=s.unPackFloat();this.me.shieldHp=A,this.me.hp=e,this.me.shieldHp<=0?(this.me.streakRewards=this.me.streakRewards.filter(g=>g!==l.HardBoiled),this.emit("selfShieldLost",this.me.hp,{dx:t,dz:a})):this.emit("selfShieldHit",this.me.shieldHp,this.me.hp,{dx:t,dz:a})}#G(){let A={...this.game.options},e=s.unPackInt8U(),t=s.unPackInt8U(),a=s.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 g=s.unPackInt8U();return Object.keys(eA).forEach(i=>{let o=g&eA[i]?1:0;this.game.options[i]=o}),this.game.options.weaponsDisabled=Array.from({length:7},()=>s.unPackInt8U()===1),this.game.options.mustUseSecondary=this.game.options.weaponsDisabled.every(i=>i),this.emit("gameOptionsChange",A,this.game.options),!1}#N(){let A=s.unPackInt8U();A===AA.Pause&&(this.emit("gameForcePause"),setTimeout(()=>this.me.playing=!1,3e3)),A===AA.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=L.Capturing,this.game.zoneNumber=0,this.game.activeZone=null,this.game.capturing=0,this.game.captureProgress=0,this.game.numCapturing=0,this.game.stageName=Ce[L.Capturing],this.game.capturePercent=0),this.emit("gameReset"))}#F(){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=C.getBuffer();e.packInt8(B.ping),e.send(this.game.socket),this.lastPingTime=Date.now()},1e3)}#S(){let A=s.unPackInt8U(),e=s.unPackInt8U(),t=this.players[A];if(!t)return;let a=t.team;t.team=e,t.streak=0,this.emit("playerSwitchTeam",t,a,e)}#R(){let A=s.unPackInt8U(),e=s.unPackInt8U(),t=s.unPackInt16U(),a=s.unPackInt16U(),g=s.unPackInt8U(),i=s.unPackInt16U(),o=s.unPackInt16U(),n=s.unPackInt16U(),Q=s.unPackInt16U(),r=s.unPackInt8(),c=s.unPackInt8(),h=this.intents.includes(this.Intents.COSMETIC_DATA),f=h?E(t):t,V=h?E(a):a,xe=h?E(i):i,Te=h?E(o):o,be=h?E(n):n,He=h?E(Q):Q,d=this.players[A];if(d){let ee={...d.character},te=d.selectedGun;d.character.eggColor=g,d.character.primaryGun=f,d.character.secondaryGun=V,d.character.stamp=Te,d.character.hat=xe,d.character.grenade=be,d.character.melee=He,d.character.stampPos.x=r,d.character.stampPos.y=c,d.selectedGun=e,d.weapons[0]=new S[e],te!==d.selectedGun&&this.emit("playerChangeGun",d,te,d.selectedGun),ee!==d.character&&this.emit("playerChangeCharacter",d,ee,d.character)}}#U(){let A=s.unPackInt32U(),e=this.account.eggBalance;this.account.eggBalance=A,this.emit("balanceUpdate",e,A)}#L(){this.me.playing=!1,this.emit("respawnDenied")}#v(){let A=s.unPackInt8U(),e=this.players[A];e&&this.emit("playerMelee",e)}#Y(){let A=s.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=C.getBuffer();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)}#J(){this.game.isPrivate=!0,this.updateGameOptions()}#x(){let A=s.unPackInt8U(),e=s.unPackInt16U(),t=s.unPackFloat(),a=s.unPackFloat(),g=s.unPackFloat(),i=s.unPackInt8U(),o=s.unPackFloat();this.intents.includes(this.Intents.COSMETIC_DATA)&&(e=E(e)),A===N.Grenade?this.emit("grenadeExplode",e,{x:t,y:a,z:g},i,o):this.emit("rocketHit",{x:t,y:a,z:g},i,o)}#T(){let A=s.unPackInt8U(),e=s.unPackFloat(),t=s.unPackFloat(),a=s.unPackFloat(),g=s.unPackFloat(),i=s.unPackFloat(),o=s.unPackFloat(),n=this.players[A];n&&(n.grenades--,this.emit("playerThrowGrenade",n,{x:e,y:t,z:a},{x:g,y:i,z:o}))}#b(){let A=s.unPackInt8U(),e=s.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(g=>g.id===e);this.emit("challengeComplete",t,a),t.id===this.me.id&&this.refreshChallenges()}#H(){let A=C.getBuffer();A.packInt8(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=s.unPackInt8U(),this.me.team=s.unPackInt8U(),this.game.gameModeId=s.unPackInt8U(),this.game.gameMode=Ee[this.game.gameModeId],this.game.mapIdx=s.unPackInt8U(),this.game.map=F[this.game.mapIdx],this.game.playerLimit=s.unPackInt8U(),this.game.isGameOwner=s.unPackInt8U()===1,this.game.isPrivate=s.unPackInt8U()===1||this.game.isGameOwner,s.unPackInt8U(),this.intents.includes(this.Intents.KOTC_ZONES)||this.intents.includes(this.Intents.PATHFINDING)){if(this.game.map.raw=await Qe(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=re(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 BA(this.game.map.raw))}this.state.inGame=!0,this.lastDeathTime=Date.now();let A=C.getBuffer();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=C.getBuffer();e.packInt8(B.ping),e.send(this.game.socket)}this.afkKickInterval=setInterval(()=>{if(this.state.inGame&&!this.me.playing&&Date.now()-this.lastDeathTime>=15e3){let e=C.getBuffer();e.packInt8(B.keepAlive),e.send(this.game.socket)}},15e3),this.emit("gameReady")}processPacket(A){s.init(A),this.intents.includes(this.Intents.PACKET_HOOK)&&this.emit("packet",A);let e=0,t=0,a=!1;for(;s.isMoreDataAvailable()&&!a;){let g=s.unPackInt8U();switch(g){case B.syncThem:this.#r();break;case B.fire:this.#l();break;case B.hitThem:this.#u();break;case B.syncMe:this.#p();break;case B.hitMe:this.#m();break;case B.swapWeapon:this.#C();break;case B.collectItem:this.#d();break;case B.respawn:this.#Q();break;case B.die:this.#E();break;case B.pause:this.#c();break;case B.chat:this.#n();break;case B.addPlayer:this.#B();break;case B.removePlayer:this.#y();break;case B.eventModifier:this.#w();break;case B.metaGameState:this.#k();break;case B.beginShellStreak:this.#D();break;case B.endShellStreak:this.#f();break;case B.hitMeHardBoiled:this.#M();break;case B.gameOptions:this.#G();break;case B.ping:this.#F();break;case B.switchTeam:this.#S();break;case B.changeCharacter:this.#R();break;case B.reload:this.#Y();break;case B.explode:this.#x();break;case B.throwGrenade:this.#T();break;case B.spawnItem:this.#h();break;case B.melee:this.#v();break;case B.updateBalance:this.#U();break;case B.challengeCompleted:this.#b();break;case B.socketReady:this.#H();break;case B.gameJoined:this.#K();break;case B.gameAction:this.#N();break;case B.requestGameOptions:this.#J();break;case B.respawnDenied:this.#L();break;case B.expireUpgrade:case B.clientReady:break;case B.musicInfo:s.unPackLongString();break;default:console.error(`processPacket: I got but couldn't identify a: ${Object.keys(B).find(i=>B[i]===g)} ${g}`),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]===g),t=g,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>yA)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(g=>g?.playing).filter(g=>g.hp>0).filter(g=>g.id!==this.me.id).filter(g=>this.me.team===0||g.team!==this.me.team).filter(g=>!!A(g)).map(g=>({player:g,distance:Math.sqrt(Math.pow(g.position.x-this.me.position.x,2)+Math.pow(g.position.y-this.me.position.y,2)+Math.pow(g.position.z-this.me.position.z,2))})).sort((g,i)=>g.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(g=>this.canSee(g.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(g=>g.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.#s(A),this.account.challenges}async rerollChallenge(A){let e=await this.api.queryServices({cmd:"challengeRerollSlot",sessionId:this.account.sessionId,slotId:A});return this.#s(e),this.account.challenges}async claimChallenge(A){let e=await this.api.queryServices({cmd:"challengeClaimReward",sessionId:this.account.sessionId,slotId:A});return this.#s(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){if(this.#e.error&&this.#e.error.length)this.emit("error",A);else throw A}leave(A=sA.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.#t,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.#i}quit(A=!1){this.hasQuit||(this.leave(),this.matchmaker&&(this.matchmaker.close(),A||(this.matchmaker=null)),A||(delete this.account,delete this.api,delete this.game,delete this.me,delete this.players,delete this.state),clearInterval(this.afkKickInterval),this.hasQuit=!0)}};var vA=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=C.getBuffer();e.packInt8(B.bootPlayer),e.packString(this.uniqueId),e.send(A.game.socket)}},he=vA;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.state.chatLines>=2||!A.game.isPrivate&&!A.account.emailVerified&&!A.account.isAged)}execute(A){A.state.chatLines++;let e=C.getBuffer();e.packInt8(B.chat),e.packString(this.msg),e.send(A.game.socket)}},de=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}},ue=JA;var at=Array.from({length:4},(I,A)=>(A+1)*.25),gt=Array.from({length:9},(I,A)=>A*.25),st=Array.from({length:17},(I,A)=>A*.25),p=(I,A)=>typeof I<"u"?I:A,xA=class{constructor(A){this.changes=A}#A(A){let e={};return e.gravity=p(this.changes.gravity,A.game.options.gravity),e.damage=p(this.changes.damage,A.game.options.damage),e.healthRegen=p(this.changes.healthRegen,A.game.options.healthRegen),e.locked=p(this.changes.locked,A.game.options.locked),e.noTeamChange=p(this.changes.noTeamChange,A.game.options.noTeamChange),e.noTeamShuffle=p(this.changes.noTeamShuffle,A.game.options.noTeamShuffle),e.weaponsDisabled=[p(this.changes.disableEggk,A.game.options.weaponsDisabled[0]),p(this.changes.disableScrambler,A.game.options.weaponsDisabled[1]),p(this.changes.disableFreeRanger,A.game.options.weaponsDisabled[2]),p(this.changes.disableRPG,A.game.options.weaponsDisabled[3]),p(this.changes.disableWhipper,A.game.options.weaponsDisabled[4]),p(this.changes.disableCrackshot,A.game.options.weaponsDisabled[5]),p(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!(!at.includes(e.gravity)||!gt.includes(e.damage)||!st.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()}},me=xA;var rA=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,g=this.content[a];if(t>=this.scoreFunction(g))break;this.content[a]=e,this.content[A]=g,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 g=(A+1)*2,i=g-1,o=null,n;if(i<e){let Q=this.content[i];n=this.scoreFunction(Q),n<a&&(o=i)}if(g<e){let Q=this.content[g];this.scoreFunction(Q)<(o===null?a:n)&&(o=g)}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 rA(g=>g.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 g=t.pop();if(g===e)return this.reversePath(g);a.push(g);let i=g.links;for(let o=0;o<i.length;o++){let n=i[o];if(a.includes(n))continue;let Q=g.g+1,r=n.visited;(!r||Q<n.g)&&(n.visited=!0,n.parent=g,n.g=Q,n.h=this.heuristic(n.position,e.position),n.f=n.g+n.h,r?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,r=n.y-A.me.position.y,c=n.z-A.me.position.z,h=Math.sqrt(Q*Q+r*r+c*c);h<e&&(e=h,t=n)}let a=Object.entries(A.me.position).map(n=>Math.floor(n[1])),g=Object.entries(t).map(n=>Math.floor(n[1])),i=A.pathing.nodeList.at(...a),o=A.pathing.nodeList.at(...g);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}},pe=TA;var bA=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,r=n.y-A.me.position.y,c=n.z-A.me.position.z,h=Math.sqrt(Q*Q+r*r+c*c);h<e&&(e=h,t=n)}let a=Object.entries(A.me.position).map(n=>Math.floor(n[1])),g=Object.entries(t).map(n=>Math.floor(n[1])),i=A.pathing.nodeList.at(...a),o=A.pathing.nodeList.at(...g);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=bA;var HA=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,r=n.y-A.me.position.y,c=n.z-A.me.position.z,h=Math.sqrt(Q*Q+r*r+c*c);h<e&&(e=h,t=n)}let a=Object.entries(A.me.position).map(n=>Math.floor(n[1])),g=Object.entries(t).map(n=>Math.floor(n[1])),i=A.pathing.nodeList.at(...a),o=A.pathing.nodeList.at(...g);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}},ye=HA;var KA=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])),g=A.pathing.nodeList.at(...t),i=A.pathing.nodeList.at(...a);if(A.pathing.activePath=this.pather.path(g,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}},ke=KA;var _A=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),g=A.pathing.nodeList.at(...t);if(A.pathing.activePath=this.pather.path(a,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}},De=_A;var It=(I,A)=>(I%A+A)%A,ot=Math.PI*2,fe=I=>Math.round(I*8192)/8192,nt=I=>fe(It(Math.atan2(-I.x,-I.z),ot)),Bt=I=>fe(Math.atan2(I.y,Math.hypot(I.x,I.z))),PA=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=nt(t),g=Bt(t);A.state.yaw=a,A.state.pitch=g}},Me=PA;var zA=class{validate(){return!0}check(A){return A.me.playing&&!A.state.reloading&&!A.state.swappingGun&&!A.state.usingMelee}execute(A){let e=C.getBuffer();e.packInt8(B.melee),e.send(A.game.socket),A.usingMelee=!0,setTimeout(()=>{A.usingMelee=!1,A.swappingGun=!0,setTimeout(()=>{A.swappingGun=!1},.5*kA)},100/3*17)}},Ge=zA;var qA=class{validate(){return!0}check(A){return A.me.playing}execute(A){let e=C.getBuffer();e.packInt8(B.pause),e.send(A.game.socket),setTimeout(()=>A.me.playing=!1,3e3)}},Ne=qA;var ZA=class{validate(){return!0}check(A){return A.me.playing&&!A.state.reloading&&!A.state.swappingGun&&!A.state.usingMelee}execute(A){let e=C.getBuffer();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],g=a.ammo.rounds<1;A.state.reloading=!0,setTimeout(()=>A.state.reloading=!1,g?a.longReloadTime:a.shortReloadTime)}},Fe=ZA;var OA=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=C.getBuffer();t.packInt8(B.reportPlayer),t.packString(e.uniqueId),t.packInt8(this.reasonInt),t.send(A.game.socket)}},Se=OA;var b=I=>E(I)&&E(I).unlock==="default",H=(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||H(e.hatId,N.Hat)&&!b(e.hatId)&&!A.account.ownedItemIds.includes(e.hatId)||H(e.stampId,N.Stamp)&&!b(e.stampId)&&!A.account.ownedItemIds.includes(e.stampId)||H(e.grenadeId,N.Grenade)&&!b(e.grenadeId)&&!A.account.ownedItemIds.includes(e.grenadeId)||H(e.meleeId,N.Melee)&&!b(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(!H(a,ItemTypes.Primary)||!b(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(!H(a,ItemTypes.Secondary)||!b(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 S[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 g=C.getBuffer();g.packInt8(B.changeCharacter),g.packInt8(this.changes?.classIdx||A.me.selectedGun),g.send(A.game.socket)}let a=A.intents.includes(A.Intents.COSMETIC_DATA);Object.entries(this.changes).forEach(([g,i])=>{g==="classIdx"?A.me.selectedGun=i:g==="hatId"?A.me.character.hat=a?E(i):i:g==="stampId"?A.me.character.stamp=a?E(i):i:g==="grenadeId"?A.me.character.grenade=a?E(i):i:g==="meleeId"?A.me.character.melee=a?E(i):i:g==="colorIdx"?A.me.character.eggColor=i:g==="primaryId"?A.me.character.primaryGun=a?E(i[A.me.selectedGun]):i:g==="secondaryId"&&(A.me.character.secondaryGun=a?E(i[A.me.selectedGun]):i)})})}},Re=jA;var WA=class{validate(){return!0}check(A){return!A.me.playing&&A.lastDeathTime+6e3<Date.now()}execute(A){let e=C.getBuffer();e.packInt8(B.requestRespawn),e.send(A.game.socket),A.state.buffer=[]}},Ue=WA;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=C.getBuffer();t.packInt8(B.swapWeapon),t.packInt8(A.me.activeGun),t.send(A.game.socket)}},Le=XA;var VA=class{validate(){return!0}check(A){if(!A.state.inGame||A.me.playing||A.game.gameModeId===0)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,g=e.filter(i=>i.team!==t).length;return!(g>a||a===g)}execute(A){let e=C.getBuffer();e.packInt8(B.switchTeam),e.send(A.game.socket)}},ve=VA;var $A=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=C.getBuffer();e.packInt8(B.throwGrenade),e.packFloat(this.power),e.send(A.game.socket)}},Ye=$A;var Je={BootPlayerDispatch:he,ChatDispatch:de,FireDispatch:ue,GameOptionsDispatch:me,GoToAmmoDispatch:pe,GoToCoopDispatch:we,GoToGrenadeDispatch:ye,GoToPlayerDispatch:ke,GoToSpatulaDispatch:De,LookAtDispatch:Me,LookAtPosDispatch:W,MeleeDispatch:Ge,MovementDispatch:X,PauseDispatch:Ne,ReloadDispatch:Fe,ReportPlayerDispatch:Se,SaveLoadoutDispatch:Re,SpawnDispatch:Ue,SwapWeaponDispatch:Le,SwitchTeamDispatch:ve,ThrowGrenadeDispatch:Ye};var Ae={};cA(Ae,{CloseCode:()=>sA,CommCode:()=>B,CommIn:()=>s,CommOut:()=>C,OutBuffer:()=>aA,Pool:()=>gA});var Qt={API:q,Bot:QA,GamePlayer:Z,Matchmaker:j,Dispatches:Je,Comm:Ae,Constants:fA,Guns:wA,Maps:F};window.yolkbot=Qt;window.onYolkReady&&typeof window.onYolkReady=="function"&&window.onYolkReady();
|
|
3
125
|
})();
|