diff --git a/index.html b/index.html
index 1b1e343fe..853cad54f 100644
--- a/index.html
+++ b/index.html
@@ -39,11 +39,13 @@
diff --git a/main.bundle.js b/main.bundle.js
index 78b36bcc0..303ee6ff7 100644
--- a/main.bundle.js
+++ b/main.bundle.js
@@ -1,4 +1,4 @@
-!function(e){function t(t){for(var n,o,s=t[0],l=t[1],c=t[2],m=0,h=[];m0,purchaseNode:()=>0,getPurchaseNodeCost:()=>0,getNodeStats:()=>0,upgradeLevel:()=>0,upgradeRam:()=>0,upgradeCore:()=>0,upgradeCache:()=>0,getLevelUpgradeCost:()=>0,getRamUpgradeCost:()=>0,getCoreUpgradeCost:()=>0,getCacheUpgradeCost:()=>0,numHashes:()=>0,hashCost:()=>0,spendHashes:()=>0},sprintf:()=>0,vsprintf:()=>0,scan:()=>n.ScriptScanRamCost,hack:()=>n.ScriptHackRamCost,hackAnalyzeThreads:()=>n.ScriptHackAnalyzeRamCost,hackAnalyzePercent:()=>n.ScriptHackAnalyzeRamCost,hackChance:()=>n.ScriptHackAnalyzeRamCost,sleep:()=>0,grow:()=>n.ScriptGrowRamCost,growthAnalyze:()=>n.ScriptGrowthAnalyzeRamCost,weaken:()=>n.ScriptWeakenRamCost,print:()=>0,tprint:()=>0,clearLog:()=>0,disableLog:()=>0,enableLog:()=>0,isLogEnabled:()=>0,getScriptLogs:()=>0,nuke:()=>n.ScriptPortProgramRamCost,brutessh:()=>n.ScriptPortProgramRamCost,ftpcrack:()=>n.ScriptPortProgramRamCost,relaysmtp:()=>n.ScriptPortProgramRamCost,httpworm:()=>n.ScriptPortProgramRamCost,sqlinject:()=>n.ScriptPortProgramRamCost,run:()=>n.ScriptRunRamCost,exec:()=>n.ScriptExecRamCost,spawn:()=>n.ScriptSpawnRamCost,kill:()=>n.ScriptKillRamCost,killall:()=>n.ScriptKillRamCost,exit:()=>0,scp:()=>n.ScriptScpRamCost,ls:()=>n.ScriptScanRamCost,ps:()=>n.ScriptScanRamCost,hasRootAccess:()=>n.ScriptHasRootAccessRamCost,getIp:()=>n.ScriptGetHostnameRamCost,getHostname:()=>n.ScriptGetHostnameRamCost,getHackingLevel:()=>n.ScriptGetHackingLevelRamCost,getHackingMultipliers:()=>n.ScriptGetMultipliersRamCost,getHacknetMultipliers:()=>n.ScriptGetMultipliersRamCost,getBitNodeMultipliers:()=>n.ScriptGetMultipliersRamCost,getServer:()=>n.ScriptGetMultipliersRamCost/2,getServerMoneyAvailable:()=>n.ScriptGetServerRamCost,getServerSecurityLevel:()=>n.ScriptGetServerRamCost,getServerBaseSecurityLevel:()=>n.ScriptGetServerRamCost,getServerMinSecurityLevel:()=>n.ScriptGetServerRamCost,getServerRequiredHackingLevel:()=>n.ScriptGetServerRamCost,getServerMaxMoney:()=>n.ScriptGetServerRamCost,getServerGrowth:()=>n.ScriptGetServerRamCost,getServerNumPortsRequired:()=>n.ScriptGetServerRamCost,getServerRam:()=>n.ScriptGetServerRamCost,getServerMaxRam:()=>n.ScriptGetServerMaxRam,getServerUsedRam:()=>n.ScriptGetServerUsedRam,serverExists:()=>n.ScriptGetServerRamCost,fileExists:()=>n.ScriptFileExistsRamCost,isRunning:()=>n.ScriptIsRunningRamCost,getStockSymbols:()=>n.ScriptGetStockRamCost,getStockPrice:()=>n.ScriptGetStockRamCost,getStockAskPrice:()=>n.ScriptGetStockRamCost,getStockBidPrice:()=>n.ScriptGetStockRamCost,getStockPosition:()=>n.ScriptGetStockRamCost,getStockMaxShares:()=>n.ScriptGetStockRamCost,getStockPurchaseCost:()=>n.ScriptGetStockRamCost,getStockSaleGain:()=>n.ScriptGetStockRamCost,buyStock:()=>n.ScriptBuySellStockRamCost,sellStock:()=>n.ScriptBuySellStockRamCost,shortStock:()=>n.ScriptBuySellStockRamCost,sellShort:()=>n.ScriptBuySellStockRamCost,placeOrder:()=>n.ScriptBuySellStockRamCost,cancelOrder:()=>n.ScriptBuySellStockRamCost,getOrders:()=>n.ScriptBuySellStockRamCost,getStockVolatility:()=>n.ScriptBuySellStockRamCost,getStockForecast:()=>n.ScriptBuySellStockRamCost,purchase4SMarketData:()=>n.ScriptBuySellStockRamCost,purchase4SMarketDataTixApi:()=>n.ScriptBuySellStockRamCost,getPurchasedServerLimit:()=>n.ScriptGetPurchasedServerLimit,getPurchasedServerMaxRam:()=>n.ScriptGetPurchasedServerMaxRam,getPurchasedServerCost:()=>n.ScriptGetPurchaseServerRamCost,purchaseServer:()=>n.ScriptPurchaseServerRamCost,deleteServer:()=>n.ScriptPurchaseServerRamCost,getPurchasedServers:()=>n.ScriptPurchaseServerRamCost,write:()=>n.ScriptReadWriteRamCost,tryWrite:()=>n.ScriptReadWriteRamCost,read:()=>n.ScriptReadWriteRamCost,peek:()=>n.ScriptReadWriteRamCost,clear:()=>n.ScriptReadWriteRamCost,getPortHandle:()=>10*n.ScriptReadWriteRamCost,rm:()=>n.ScriptReadWriteRamCost,scriptRunning:()=>n.ScriptArbScriptRamCost,scriptKill:()=>n.ScriptArbScriptRamCost,getScriptName:()=>0,getScriptRam:()=>n.ScriptGetScriptRamCost,getHackTime:()=>n.ScriptGetHackTimeRamCost,getGrowTime:()=>n.ScriptGetHackTimeRamCost,getWeakenTime:()=>n.ScriptGetHackTimeRamCost,getScriptIncome:()=>n.ScriptGetScriptRamCost,getScriptExpGain:()=>n.ScriptGetScriptRamCost,getRunningScript:()=>n.ScriptGetRunningScriptRamCost,nFormat:()=>0,getTimeSinceLastAug:()=>n.ScriptGetHackTimeRamCost,prompt:()=>0,wget:()=>0,getFavorToDonate:()=>n.ScriptGetFavorToDonate,universityCourse:()=>n.ScriptSingularityFn1RamCost,gymWorkout:()=>n.ScriptSingularityFn1RamCost,travelToCity:()=>n.ScriptSingularityFn1RamCost,purchaseTor:()=>n.ScriptSingularityFn1RamCost,purchaseProgram:()=>n.ScriptSingularityFn1RamCost,getCurrentServer:()=>n.ScriptSingularityFn1RamCost,connect:()=>n.ScriptSingularityFn1RamCost,manualHack:()=>n.ScriptSingularityFn1RamCost,installBackdoor:()=>n.ScriptSingularityFn1RamCost,getStats:()=>n.ScriptSingularityFn1RamCost/4,getCharacterInformation:()=>n.ScriptSingularityFn1RamCost/4,getPlayer:()=>n.ScriptSingularityFn1RamCost/4,hospitalize:()=>n.ScriptSingularityFn1RamCost/4,isBusy:()=>n.ScriptSingularityFn1RamCost/4,stopAction:()=>n.ScriptSingularityFn1RamCost/2,upgradeHomeRam:()=>n.ScriptSingularityFn2RamCost,getUpgradeHomeRamCost:()=>n.ScriptSingularityFn2RamCost/2,workForCompany:()=>n.ScriptSingularityFn2RamCost,applyToCompany:()=>n.ScriptSingularityFn2RamCost,getCompanyRep:()=>n.ScriptSingularityFn2RamCost/3,getCompanyFavor:()=>n.ScriptSingularityFn2RamCost/3,getCompanyFavorGain:()=>n.ScriptSingularityFn2RamCost/4,checkFactionInvitations:()=>n.ScriptSingularityFn2RamCost,joinFaction:()=>n.ScriptSingularityFn2RamCost,workForFaction:()=>n.ScriptSingularityFn2RamCost,getFactionRep:()=>n.ScriptSingularityFn2RamCost/3,getFactionFavor:()=>n.ScriptSingularityFn2RamCost/3,getFactionFavorGain:()=>n.ScriptSingularityFn2RamCost/4,donateToFaction:()=>n.ScriptSingularityFn3RamCost,createProgram:()=>n.ScriptSingularityFn3RamCost,commitCrime:()=>n.ScriptSingularityFn3RamCost,getCrimeChance:()=>n.ScriptSingularityFn3RamCost,getCrimeStats:()=>n.ScriptSingularityFn3RamCost,getOwnedAugmentations:()=>n.ScriptSingularityFn3RamCost,getOwnedSourceFiles:()=>n.ScriptSingularityFn3RamCost,getAugmentationsFromFaction:()=>n.ScriptSingularityFn3RamCost,getAugmentationCost:()=>n.ScriptSingularityFn3RamCost,getAugmentationPrereq:()=>n.ScriptSingularityFn3RamCost,getAugmentationPrice:()=>n.ScriptSingularityFn3RamCost/2,getAugmentationRepReq:()=>n.ScriptSingularityFn3RamCost/2,getAugmentationStats:()=>n.ScriptSingularityFn3RamCost,purchaseAugmentation:()=>n.ScriptSingularityFn3RamCost,softReset:()=>n.ScriptSingularityFn3RamCost,installAugmentations:()=>n.ScriptSingularityFn3RamCost,gang:{createGang:()=>n.ScriptGangApiBaseRamCost/4,inGang:()=>n.ScriptGangApiBaseRamCost/4,getMemberNames:()=>n.ScriptGangApiBaseRamCost/4,getGangInformation:()=>n.ScriptGangApiBaseRamCost/2,getOtherGangInformation:()=>n.ScriptGangApiBaseRamCost/2,getMemberInformation:()=>n.ScriptGangApiBaseRamCost/2,canRecruitMember:()=>n.ScriptGangApiBaseRamCost/4,recruitMember:()=>n.ScriptGangApiBaseRamCost/2,getTaskNames:()=>n.ScriptGangApiBaseRamCost/4,getTaskStats:()=>n.ScriptGangApiBaseRamCost/4,setMemberTask:()=>n.ScriptGangApiBaseRamCost/2,getEquipmentNames:()=>n.ScriptGangApiBaseRamCost/4,getEquipmentCost:()=>n.ScriptGangApiBaseRamCost/2,getEquipmentType:()=>n.ScriptGangApiBaseRamCost/2,getEquipmentStats:()=>n.ScriptGangApiBaseRamCost/2,purchaseEquipment:()=>n.ScriptGangApiBaseRamCost,ascendMember:()=>n.ScriptGangApiBaseRamCost,setTerritoryWarfare:()=>n.ScriptGangApiBaseRamCost/2,getChanceToWinClash:()=>n.ScriptGangApiBaseRamCost,getBonusTime:()=>0},bladeburner:{getContractNames:()=>n.ScriptBladeburnerApiBaseRamCost/10,getOperationNames:()=>n.ScriptBladeburnerApiBaseRamCost/10,getBlackOpNames:()=>n.ScriptBladeburnerApiBaseRamCost/10,getBlackOpRank:()=>n.ScriptBladeburnerApiBaseRamCost/2,getGeneralActionNames:()=>n.ScriptBladeburnerApiBaseRamCost/10,getSkillNames:()=>n.ScriptBladeburnerApiBaseRamCost/10,startAction:()=>n.ScriptBladeburnerApiBaseRamCost,stopBladeburnerAction:()=>n.ScriptBladeburnerApiBaseRamCost/2,getCurrentAction:()=>n.ScriptBladeburnerApiBaseRamCost/4,getActionTime:()=>n.ScriptBladeburnerApiBaseRamCost,getActionEstimatedSuccessChance:()=>n.ScriptBladeburnerApiBaseRamCost,getActionRepGain:()=>n.ScriptBladeburnerApiBaseRamCost,getActionCountRemaining:()=>n.ScriptBladeburnerApiBaseRamCost,getActionMaxLevel:()=>n.ScriptBladeburnerApiBaseRamCost,getActionCurrentLevel:()=>n.ScriptBladeburnerApiBaseRamCost,getActionAutolevel:()=>n.ScriptBladeburnerApiBaseRamCost,setActionAutolevel:()=>n.ScriptBladeburnerApiBaseRamCost,setActionLevel:()=>n.ScriptBladeburnerApiBaseRamCost,getRank:()=>n.ScriptBladeburnerApiBaseRamCost,getSkillPoints:()=>n.ScriptBladeburnerApiBaseRamCost,getSkillLevel:()=>n.ScriptBladeburnerApiBaseRamCost,getSkillUpgradeCost:()=>n.ScriptBladeburnerApiBaseRamCost,upgradeSkill:()=>n.ScriptBladeburnerApiBaseRamCost,getTeamSize:()=>n.ScriptBladeburnerApiBaseRamCost,setTeamSize:()=>n.ScriptBladeburnerApiBaseRamCost,getCityEstimatedPopulation:()=>n.ScriptBladeburnerApiBaseRamCost,getCityEstimatedCommunities:()=>n.ScriptBladeburnerApiBaseRamCost,getCityChaos:()=>n.ScriptBladeburnerApiBaseRamCost,getCity:()=>n.ScriptBladeburnerApiBaseRamCost,switchCity:()=>n.ScriptBladeburnerApiBaseRamCost,getStamina:()=>n.ScriptBladeburnerApiBaseRamCost,joinBladeburnerFaction:()=>n.ScriptBladeburnerApiBaseRamCost,joinBladeburnerDivision:()=>n.ScriptBladeburnerApiBaseRamCost,getBonusTime:()=>0},codingcontract:{attempt:()=>n.ScriptCodingContractBaseRamCost,getContractType:()=>n.ScriptCodingContractBaseRamCost/2,getData:()=>n.ScriptCodingContractBaseRamCost/2,getDescription:()=>n.ScriptCodingContractBaseRamCost/2,getNumTriesRemaining:()=>n.ScriptCodingContractBaseRamCost/5},sleeve:{getNumSleeves:()=>n.ScriptSleeveBaseRamCost,setToShockRecovery:()=>n.ScriptSleeveBaseRamCost,setToSynchronize:()=>n.ScriptSleeveBaseRamCost,setToCommitCrime:()=>n.ScriptSleeveBaseRamCost,setToUniversityCourse:()=>n.ScriptSleeveBaseRamCost,travel:()=>n.ScriptSleeveBaseRamCost,setToCompanyWork:()=>n.ScriptSleeveBaseRamCost,setToFactionWork:()=>n.ScriptSleeveBaseRamCost,setToGymWorkout:()=>n.ScriptSleeveBaseRamCost,getSleeveStats:()=>n.ScriptSleeveBaseRamCost,getTask:()=>n.ScriptSleeveBaseRamCost,getInformation:()=>n.ScriptSleeveBaseRamCost,getSleeveAugmentations:()=>n.ScriptSleeveBaseRamCost,getSleevePurchasableAugs:()=>n.ScriptSleeveBaseRamCost,purchaseSleeveAug:()=>n.ScriptSleeveBaseRamCost},heart:{break:()=>0}};function i(...e){if(0===e.length)return console.warn("No arguments passed to getRamCost()"),0;let t=r[e[0]];for(let a=1;aObject(o.a)({unbuyable:{color:e.palette.action.disabled},money:{color:e.colors.money}}));function l(e){const t=s();if(void 0!==e.player){if("number"!=typeof e.money)throw new Error("if player if provided, money should be number, contact dev");if(!e.player.canAfford(e.money))return n.createElement("span",{className:t.unbuyable},r.a.formatMoney(e.money))}return n.createElement("span",{className:t.money},"number"==typeof e.money?r.a.formatMoney(e.money):e.money)}},,function(e,t,a){"use strict";a.d(t,"a",(function(){return n}));const n={}},function(e,t,a){"use strict";function n(e,t){if(null==t)return console.log("Reviver WRONGLY called with key: "+e+", and value: "+t),0;if("object"==typeof t&&"string"==typeof t.ctor&&void 0!==t.data){if("AllServersMap"===t.ctor)return console.log("Converting AllServersMap for v0.43.1"),t.data;const e=n.constructors[t.ctor];if("function"==typeof e&&"function"==typeof e.fromJSON)return e.fromJSON(t)}return t}function r(e,t,a){a||(a=Object.keys(t));const n={};for(let e=0;e{let t=""+e%1e3;for(;t.length<3;)t="0"+t;return t})();let u="";return n>0&&(u+=n+" days "),i>0&&(u+=i+" hours "),s>0&&(u+=s+" minutes "),u+=(t?`${l}.${c}`:""+l)+" seconds",u}function i(e){if(!o(e))return"";if(0===e.length)return"";const t=e.concat().sort(),a=t[0],n=t[t.length-1],r=a.length;let i=0;for(;iObject(n.useContext)(i.Player),Router:()=>Object(n.useContext)(i.Router)}},,,function(e,t,a){"use strict";function n(e,t){const a=Math.min(e,t),n=Math.max(e,t);return Math.floor(Math.random()*(n-a+1))+a}a.d(t,"a",(function(){return n}))},function(e,t,a){"use strict";let n;a.d(t,"a",(function(){return n})),function(e){e[e.ActiveScripts=0]="ActiveScripts",e[e.Augmentations=1]="Augmentations",e[e.BitVerse=2]="BitVerse",e[e.Bladeburner=3]="Bladeburner",e[e.City=4]="City",e[e.Corporation=5]="Corporation",e[e.CreateProgram=6]="CreateProgram",e[e.CreateScript=7]="CreateScript",e[e.DevMenu=8]="DevMenu",e[e.Faction=9]="Faction",e[e.Factions=10]="Factions",e[e.Gang=11]="Gang",e[e.Hacknet=12]="Hacknet",e[e.Infiltration=13]="Infiltration",e[e.Job=14]="Job",e[e.Milestones=15]="Milestones",e[e.Options=16]="Options",e[e.Resleeves=17]="Resleeves",e[e.Sleeves=18]="Sleeves",e[e.Stats=19]="Stats",e[e.StockMarket=20]="StockMarket",e[e.Terminal=21]="Terminal",e[e.Travel=22]="Travel",e[e.Tutorial=23]="Tutorial",e[e.Work=24]="Work",e[e.BladeburnerCinematic=25]="BladeburnerCinematic",e[e.Location=26]="Location",e[e.Loading=27]="Loading"}(n||(n={}))},,,,,function(e,t,a){"use strict";a.d(t,"a",(function(){return u}));var n=a(0),r=a(8),i=a(24),o=a(4),s=a(18),l=a(21);function c(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}class u{constructor(e={info:"",moneyCost:0,name:"",repCost:0}){c(this,"baseCost",0),c(this,"baseRepRequirement",0),c(this,"isSpecial",!1),c(this,"level",0),c(this,"name",""),c(this,"owned",!1),c(this,"prereqs",[]),c(this,"mults",{}),c(this,"startingCost",0),this.name=e.name,this.info=e.info,this.prereqs=e.prereqs?e.prereqs:[],this.baseRepRequirement=e.repCost*r.a.AugmentationRepCost,this.baseCost=e.moneyCost*r.a.AugmentationMoneyCost,this.startingCost=this.baseCost,e.isSpecial&&(this.isSpecial=!0),this.level=0,e.hacking_mult&&(this.mults.hacking_mult=e.hacking_mult),e.strength_mult&&(this.mults.strength_mult=e.strength_mult),e.defense_mult&&(this.mults.defense_mult=e.defense_mult),e.dexterity_mult&&(this.mults.dexterity_mult=e.dexterity_mult),e.agility_mult&&(this.mults.agility_mult=e.agility_mult),e.charisma_mult&&(this.mults.charisma_mult=e.charisma_mult),e.hacking_exp_mult&&(this.mults.hacking_exp_mult=e.hacking_exp_mult),e.strength_exp_mult&&(this.mults.strength_exp_mult=e.strength_exp_mult),e.defense_exp_mult&&(this.mults.defense_exp_mult=e.defense_exp_mult),e.dexterity_exp_mult&&(this.mults.dexterity_exp_mult=e.dexterity_exp_mult),e.agility_exp_mult&&(this.mults.agility_exp_mult=e.agility_exp_mult),e.charisma_exp_mult&&(this.mults.charisma_exp_mult=e.charisma_exp_mult),e.hacking_chance_mult&&(this.mults.hacking_chance_mult=e.hacking_chance_mult),e.hacking_speed_mult&&(this.mults.hacking_speed_mult=e.hacking_speed_mult),e.hacking_money_mult&&(this.mults.hacking_money_mult=e.hacking_money_mult),e.hacking_grow_mult&&(this.mults.hacking_grow_mult=e.hacking_grow_mult),e.company_rep_mult&&(this.mults.company_rep_mult=e.company_rep_mult),e.faction_rep_mult&&(this.mults.faction_rep_mult=e.faction_rep_mult),e.crime_money_mult&&(this.mults.crime_money_mult=e.crime_money_mult),e.crime_success_mult&&(this.mults.crime_success_mult=e.crime_success_mult),e.work_money_mult&&(this.mults.work_money_mult=e.work_money_mult),e.hacknet_node_money_mult&&(this.mults.hacknet_node_money_mult=e.hacknet_node_money_mult),e.hacknet_node_purchase_cost_mult&&(this.mults.hacknet_node_purchase_cost_mult=e.hacknet_node_purchase_cost_mult),e.hacknet_node_ram_cost_mult&&(this.mults.hacknet_node_ram_cost_mult=e.hacknet_node_ram_cost_mult),e.hacknet_node_core_cost_mult&&(this.mults.hacknet_node_core_cost_mult=e.hacknet_node_core_cost_mult),e.hacknet_node_level_cost_mult&&(this.mults.hacknet_node_level_cost_mult=e.hacknet_node_level_cost_mult),e.bladeburner_max_stamina_mult&&(this.mults.bladeburner_max_stamina_mult=e.bladeburner_max_stamina_mult),e.bladeburner_stamina_gain_mult&&(this.mults.bladeburner_stamina_gain_mult=e.bladeburner_stamina_gain_mult),e.bladeburner_analysis_mult&&(this.mults.bladeburner_analysis_mult=e.bladeburner_analysis_mult),e.bladeburner_success_chance_mult&&(this.mults.bladeburner_success_chance_mult=e.bladeburner_success_chance_mult),void 0===e.stats?this.stats=function(e,t,a){const r=(e,t=0)=>e===1.0777-1?"7.77%":e===1.777-1?"77.7%":o.a.formatPercentage(e,t);let i=n.createElement(n.Fragment,null,"Effects:");return e.hacking_mult&&e.hacking_mult==e.strength_mult&&e.hacking_mult==e.defense_mult&&e.hacking_mult==e.dexterity_mult&&e.hacking_mult==e.agility_mult&&e.hacking_mult==e.charisma_mult?i=n.createElement(n.Fragment,null,i,n.createElement("br",null),"+",r(e.hacking_mult-1)," all skills"):(e.hacking_mult&&(i=n.createElement(n.Fragment,null,i,n.createElement("br",null),"+",r(e.hacking_mult-1)," hacking skill")),e.strength_mult&&e.strength_mult==e.defense_mult&&e.strength_mult==e.dexterity_mult&&e.strength_mult==e.agility_mult?i=n.createElement(n.Fragment,null,i,n.createElement("br",null),"+",r(e.strength_mult-1)," combat skills"):(e.strength_mult&&(i=n.createElement(n.Fragment,null,i,n.createElement("br",null),"+",r(e.strength_mult-1)," strength skill")),e.defense_mult&&(i=n.createElement(n.Fragment,null,i,n.createElement("br",null),"+",r(e.defense_mult-1)," defense skill")),e.dexterity_mult&&(i=n.createElement(n.Fragment,null,i,n.createElement("br",null),"+",r(e.dexterity_mult-1)," dexterity skill")),e.agility_mult&&(i=n.createElement(n.Fragment,null,i,n.createElement("br",null),"+",r(e.agility_mult-1)," agility skill"))),e.charisma_mult&&(i=n.createElement(n.Fragment,null,i,n.createElement("br",null),"+",r(e.charisma_mult-1)," Charisma skill"))),e.hacking_exp_mult&&e.hacking_exp_mult===e.strength_exp_mult&&e.hacking_exp_mult===e.defense_exp_mult&&e.hacking_exp_mult===e.dexterity_exp_mult&&e.hacking_exp_mult===e.agility_exp_mult&&e.hacking_exp_mult===e.charisma_exp_mult?i=n.createElement(n.Fragment,null,i,n.createElement("br",null),"+",r(e.hacking_exp_mult-1)," exp for all skills"):(e.hacking_exp_mult&&(i=n.createElement(n.Fragment,null,i,n.createElement("br",null),"+",r(e.hacking_exp_mult-1)," hacking exp")),e.strength_exp_mult&&e.strength_exp_mult===e.defense_exp_mult&&e.strength_exp_mult===e.dexterity_exp_mult&&e.strength_exp_mult===e.agility_exp_mult?i=n.createElement(n.Fragment,null,i,n.createElement("br",null),"+",r(e.strength_exp_mult-1)," combat exp"):(e.strength_exp_mult&&(i=n.createElement(n.Fragment,null,i,n.createElement("br",null),"+",r(e.strength_exp_mult-1)," strength exp")),e.defense_exp_mult&&(i=n.createElement(n.Fragment,null,i,n.createElement("br",null),"+",r(e.defense_exp_mult-1)," defense exp")),e.dexterity_exp_mult&&(i=n.createElement(n.Fragment,null,i,n.createElement("br",null),"+",r(e.dexterity_exp_mult-1)," dexterity exp")),e.agility_exp_mult&&(i=n.createElement(n.Fragment,null,i,n.createElement("br",null),"+",r(e.agility_exp_mult-1)," agility exp"))),e.charisma_exp_mult&&(i=n.createElement(n.Fragment,null,i,n.createElement("br",null),"+",r(e.charisma_exp_mult-1)," charisma exp"))),e.hacking_speed_mult&&(i=n.createElement(n.Fragment,null,i,n.createElement("br",null),"+",r(e.hacking_speed_mult-1)," faster hack(), grow(), and weaken()")),e.hacking_chance_mult&&(i=n.createElement(n.Fragment,null,i,n.createElement("br",null),"+",r(e.hacking_chance_mult-1)," hack() success chance")),e.hacking_money_mult&&(i=n.createElement(n.Fragment,null,i,n.createElement("br",null),"+",r(e.hacking_money_mult-1)," hack() power")),e.hacking_grow_mult&&(i=n.createElement(n.Fragment,null,i,n.createElement("br",null),"+",r(e.hacking_grow_mult-1)," grow() power")),e.faction_rep_mult&&e.faction_rep_mult===e.company_rep_mult?i=n.createElement(n.Fragment,null,i,n.createElement("br",null),"+",r(e.faction_rep_mult-1)," reputation from factions and companies"):(e.faction_rep_mult&&(i=n.createElement(n.Fragment,null,i,n.createElement("br",null),"+",r(e.faction_rep_mult-1)," reputation from factions")),e.company_rep_mult&&(i=n.createElement(n.Fragment,null,i,n.createElement("br",null),"+",r(e.company_rep_mult-1)," reputation from companies"))),e.crime_money_mult&&(i=n.createElement(n.Fragment,null,i,n.createElement("br",null),"+",r(e.crime_money_mult-1)," crime money")),e.crime_success_mult&&(i=n.createElement(n.Fragment,null,i,n.createElement("br",null),"+",r(e.crime_success_mult-1)," crime success rate")),e.work_money_mult&&(i=n.createElement(n.Fragment,null,i,n.createElement("br",null),"+",r(e.work_money_mult-1)," work money")),e.hacknet_node_money_mult&&(i=n.createElement(n.Fragment,null,i,n.createElement("br",null),"+",r(e.hacknet_node_money_mult-1)," hacknet production")),e.hacknet_node_purchase_cost_mult&&(i=n.createElement(n.Fragment,null,i,n.createElement("br",null),"-",r(-(e.hacknet_node_purchase_cost_mult-1))," hacknet nodes cost")),e.hacknet_node_level_cost_mult&&(i=n.createElement(n.Fragment,null,i,n.createElement("br",null),"-",r(-(e.hacknet_node_level_cost_mult-1))," hacknet nodes upgrade cost")),e.bladeburner_max_stamina_mult&&(i=n.createElement(n.Fragment,null,i,n.createElement("br",null),"+",r(e.bladeburner_max_stamina_mult-1)," Bladeburner Max Stamina")),e.bladeburner_stamina_gain_mult&&(i=n.createElement(n.Fragment,null,i,n.createElement("br",null),"+",r(e.bladeburner_stamina_gain_mult-1)," Bladeburner Stamina gain")),e.bladeburner_analysis_mult&&(i=n.createElement(n.Fragment,null,i,n.createElement("br",null),"+",r(e.bladeburner_analysis_mult-1)," Bladeburner Field Analysis effectiveness")),e.bladeburner_success_chance_mult&&(i=n.createElement(n.Fragment,null,i,n.createElement("br",null),"+",r(e.bladeburner_success_chance_mult-1)," Bladeburner Contracts and Operations success chance")),a&&(i=n.createElement(n.Fragment,null,i,n.createElement("br",null),"Start with ",n.createElement(s.a,{money:a})," after installing Augmentations.")),t&&(i=n.createElement(n.Fragment,null,i,n.createElement("br",null),"Start with ",t.join(" and ")," after installing Augmentations.")),i}(this.mults,e.programs,e.startingMoney):this.stats=e.stats}addToFactions(e){for(let t=0;t{switch(typeof e){case"number":return e;case"object":return Object(s.a)(e.min,e.max);default:throw Error(`Do not know how to convert the type '${typeof e}' to a number`)}};for(const e of i.a){const i={hostname:e.hostname,ip:m(),numOpenPortsRequired:e.numOpenPortsRequired,organizationName:e.organizationName};void 0!==e.maxRamExponent&&(i.maxRam=Math.pow(2,o(e.maxRamExponent)));for(const t of a)void 0!==e[t]&&(i[t]=o(e[t]));const s=new n.a(i);for(const t of e.literature||[])s.messages.push(t);void 0!==e.specialName&&r.a.addIp(e.specialName,s.ip),h(s),void 0!==e.networkLayer&&t[o(e.networkLayer)-1].push(s)}const l=(e,t)=>{for(const r of e)a=r,n=t(),a.serversOnNetwork.push(n.ip),n.serversOnNetwork.push(a.ip);var a,n};l(t[0],()=>e);for(let e=1;e{return(a=t[e-1])[Math.floor(Math.random()*a.length)];var a})}function d(){for(const e in c)delete c[e];c={}}function f(e){c=JSON.parse(e,l.c)}},function(e,t,a){"use strict";a.d(t,"a",(function(){return n})),a.d(t,"c",(function(){return r})),a.d(t,"b",(function(){return i}));const n={MoneyGainPerLevel:1.6,BaseCost:1e3,LevelBaseCost:1,RamBaseCost:3e4,CoreBaseCost:5e5,PurchaseNextMult:1.85,UpgradeLevelMult:1.04,UpgradeRamMult:1.28,UpgradeCoreMult:1.48,MaxLevel:200,MaxRam:64,MaxCores:16},r={x1:1,x5:5,x10:10,MAX:"MAX"},i={HashesPerLevel:.001,BaseCost:5e4,RamBaseCost:2e5,CoreBaseCost:1e6,CacheBaseCost:1e7,PurchaseMult:3.2,UpgradeLevelMult:1.1,UpgradeRamMult:1.4,UpgradeCoreMult:1.55,UpgradeCacheMult:1.85,MaxServers:20,MaxLevel:300,MaxRam:8192,MaxCores:128,MaxCache:15}},function(e,t,a){"use strict";a.d(t,"a",(function(){return n}));const n={Idle:1,Contract:2,Operation:3,BlackOp:4,BlackOperation:4,Training:5,Recruitment:6,FieldAnalysis:7,"Field Analysis":7,Diplomacy:8,"Hyperbolic Regeneration Chamber":9}},function(e,t,a){"use strict";a.d(t,"f",(function(){return n})),a.d(t,"b",(function(){return m})),a.d(t,"e",(function(){return l})),a.d(t,"c",(function(){return c})),a.d(t,"a",(function(){return s})),a.d(t,"d",(function(){return u}));var n,r=a(2),i=a(56),o=a(324);!function(e){e[e.Start=0]="Start",e[e.GoToCharacterPage=1]="GoToCharacterPage",e[e.CharacterPage=2]="CharacterPage",e[e.CharacterGoToTerminalPage=3]="CharacterGoToTerminalPage",e[e.TerminalIntro=4]="TerminalIntro",e[e.TerminalHelp=5]="TerminalHelp",e[e.TerminalLs=6]="TerminalLs",e[e.TerminalScan=7]="TerminalScan",e[e.TerminalScanAnalyze1=8]="TerminalScanAnalyze1",e[e.TerminalScanAnalyze2=9]="TerminalScanAnalyze2",e[e.TerminalConnect=10]="TerminalConnect",e[e.TerminalAnalyze=11]="TerminalAnalyze",e[e.TerminalNuke=12]="TerminalNuke",e[e.TerminalManualHack=13]="TerminalManualHack",e[e.TerminalHackingMechanics=14]="TerminalHackingMechanics",e[e.TerminalGoHome=15]="TerminalGoHome",e[e.TerminalCreateScript=16]="TerminalCreateScript",e[e.TerminalTypeScript=17]="TerminalTypeScript",e[e.TerminalFree=18]="TerminalFree",e[e.TerminalRunScript=19]="TerminalRunScript",e[e.TerminalGoToActiveScriptsPage=20]="TerminalGoToActiveScriptsPage",e[e.ActiveScriptsPage=21]="ActiveScriptsPage",e[e.ActiveScriptsToTerminal=22]="ActiveScriptsToTerminal",e[e.TerminalTailScript=23]="TerminalTailScript",e[e.GoToHacknetNodesPage=24]="GoToHacknetNodesPage",e[e.HacknetNodesIntroduction=25]="HacknetNodesIntroduction",e[e.HacknetNodesGoToWorldPage=26]="HacknetNodesGoToWorldPage",e[e.WorldDescription=27]="WorldDescription",e[e.TutorialPageInfo=28]="TutorialPageInfo",e[e.End=29]="End"}(n||(n={}));const s={currStep:n.Start,isRunning:!1,stepIsDone:{[n.Start]:!1,[n.GoToCharacterPage]:!1,[n.CharacterPage]:!1,[n.CharacterGoToTerminalPage]:!1,[n.TerminalIntro]:!1,[n.TerminalHelp]:!1,[n.TerminalLs]:!1,[n.TerminalScan]:!1,[n.TerminalScanAnalyze1]:!1,[n.TerminalScanAnalyze2]:!1,[n.TerminalConnect]:!1,[n.TerminalAnalyze]:!1,[n.TerminalNuke]:!1,[n.TerminalManualHack]:!1,[n.TerminalHackingMechanics]:!1,[n.TerminalGoHome]:!1,[n.TerminalCreateScript]:!1,[n.TerminalTypeScript]:!1,[n.TerminalFree]:!1,[n.TerminalRunScript]:!1,[n.TerminalGoToActiveScriptsPage]:!1,[n.ActiveScriptsPage]:!1,[n.ActiveScriptsToTerminal]:!1,[n.TerminalTailScript]:!1,[n.GoToHacknetNodesPage]:!1,[n.HacknetNodesIntroduction]:!1,[n.HacknetNodesGoToWorldPage]:!1,[n.WorldDescription]:!1,[n.TutorialPageInfo]:!1,[n.End]:!1}};function l(){s.isRunning=!0}function c(){s.stepIsDone[s.currStep]=!0,s.currStepn.Start&&(s.currStep-=1),o.a.emit()}function m(){s.isRunning=!1,r.a.getHomeComputer().messages.push(i.a.HackersStartingHandbook),o.a.emit()}},function(e,t,a){"use strict";a.d(t,"a",(function(){return r}));const n=["START","PURCHASE","PRODUCTION","SALE","EXPORT"],r={INITIALSHARES:1e9,SHARESPERPRICEUPDATE:1e6,IssueNewSharesCooldown:216e3,SellSharesCooldown:18e3,CyclesPerMarketCycle:50,CyclesPerIndustryStateCycle:50/n.length,SecsPerMarketCycle:10,Cities:["Aevum","Chongqing","Sector-12","New Tokyo","Ishima","Volhaven"],WarehouseInitialCost:5e9,WarehouseInitialSize:100,WarehouseUpgradeBaseCost:1e9,OfficeInitialCost:4e9,OfficeInitialSize:3,OfficeUpgradeBaseCost:1e9,BribeThreshold:1e14,BribeToRepRatio:1e9,ProductProductionCostRatio:5,DividendMaxPercentage:.5,EmployeeSalaryMultiplier:3,CyclesPerEmployeeRaise:400,EmployeeRaiseAmount:50,BaseMaxProducts:3,AllCorporationStates:n,AllMaterials:["Water","Energy","Food","Plants","Metal","Hardware","Chemicals","Drugs","Robots","AI Cores","Real Estate"]}},function(e,t,a){"use strict";a.d(t,"b",(function(){return u})),a.d(t,"a",(function(){return m}));var n=a(0),r=a.n(n),i=a(60),o=a(238),s=a(132);function l(){return(l=Object.assign||function(e){for(var t=1;tr.a.createElement(i.a,l({},e,{classes:{root:c().root,...e.classes}})),m=e=>r.a.createElement(o.a,l({},e,{classes:{root:c().small,...e.classes}}))},function(e,t,a){"use strict";a.d(t,"a",(function(){return m}));var n=a(0),r=a.n(n),i=a(132),o=a(161),s=a(653),l=a(1166),c=a(31);const u=Object(i.a)(e=>Object(o.a)({modal:{display:"flex",alignItems:"center",justifyContent:"center"},paper:{backgroundColor:e.palette.background.default,border:"2px solid "+e.palette.primary.main,boxShadow:`0px 3px 5px -1px ${e.palette.primary.dark},0px 5px 8px 0px ${e.palette.primary.dark},0px 1px 14px 0px ${e.palette.primary.dark}`,padding:2,maxWidth:"80%",maxHeight:"80%",overflow:"auto","&::-webkit-scrollbar":{display:"none"},scrollbarWidth:"none"}})),m=e=>{const t=u();return r.a.createElement(s.a,{disableRestoreFocus:!0,disableScrollLock:!0,disableEnforceFocus:!0,disableAutoFocus:!0,open:e.open,onClose:e.onClose,closeAfterTransition:!0,className:t.modal},r.a.createElement(l.a,{in:e.open},r.a.createElement("div",{className:t.paper},r.a.createElement(c.a,{sx:{m:2}},e.children))))}},function(e,t,a){"use strict";a.d(t,"a",(function(){return i})),a.d(t,"b",(function(){return o})),a.d(t,"c",(function(){return s}));var n=a(0),r=a.n(n);const i={Corporation:r.a.createContext({}),Division:r.a.createContext({})},o=()=>Object(n.useContext)(i.Corporation),s=()=>Object(n.useContext)(i.Division)},function(e,t,a){"use strict";a.d(t,"h",(function(){return h})),a.d(t,"e",(function(){return p})),a.d(t,"g",(function(){return d})),a.d(t,"f",(function(){return f})),a.d(t,"a",(function(){return g})),a.d(t,"b",(function(){return y})),a.d(t,"c",(function(){return b})),a.d(t,"d",(function(){return E}));var n=a(36),r=a(57),i=a(493),o=a(8),s=a(6),l=a(70),c=a(56),u=a(621),m=a(494);function h(e){if(null!=e.ip&&Object(n.e)(e.ip)&&(e.ip=Object(n.c)()),null!=g(e.hostname)){let t=e.hostname;for(let a=0;a<200&&(t=`${e.hostname}-${a}`,null!=g(t));++a);e.hostname=t}return new r.a(e)}function p(e,t,a){let n=1+(s.a.ServerBaseGrowthRate-1)/e.hackDifficulty;n>s.a.ServerMaxGrowthRate&&(n=s.a.ServerMaxGrowthRate);const r=e.serverGrowth/100;return Math.log(t)/(Math.log(n)*a.hacking_grow_mult*r*o.a.ServerGrowthRate)}function d(e,t,a,n=1){let r=Object(i.a)(e,t,a,n);r<1&&(console.warn("serverGrowth calculated to be less than 1"),r=1);const o=e.moneyAvailable;if(e.moneyAvailable*=r,Object(u.a)(e.moneyMax)&&isNaN(e.moneyAvailable)&&(e.moneyAvailable=e.moneyMax),Object(u.a)(e.moneyMax)&&e.moneyAvailable>e.moneyMax&&(e.moneyAvailable=e.moneyMax),o!==e.moneyAvailable){let t=p(e,e.moneyAvailable/o,a);t=Math.max(0,t),e.fortify(2*s.a.ServerFortifyAmount*Math.ceil(t))}return e.moneyAvailable/o}function f(e){const t=e.programs.includes(l.a.BitFlume.name);e.programs.length=0,e.runningScripts=[],e.serversOnNetwork=[],e.isConnectedTo=!0,e.ramUsed=0,e.programs.push(l.a.NukeProgram.name),t&&e.programs.push(l.a.BitFlume.name),e.scripts.forEach((function(t){t.updateRamUsage(e.scripts)})),e.messages.length=0,e.messages.push(c.a.HackersStartingHandbook)}function g(e){for(const t in n.b)if(n.b.hasOwnProperty(t)&&n.b[t].hostname==e)return n.b[t];return null}function y(e){return Object(m.a)(e)?void 0!==n.b[e]?n.b[e]:null:g(e)}function b(e,t){return t>e.serversOnNetwork.length?(console.error("Tried to get server on network that was out of range"),null):n.b[e.serversOnNetwork[t]]}function E(e){return"backdoorInstalled"in e&&e.backdoorInstalled}},function(e,t,a){"use strict";a.d(t,"ab",(function(){return J})),a.d(t,"db",(function(){return X})),a.d(t,"eb",(function(){return Q})),a.d(t,"lb",(function(){return Z})),a.d(t,"o",(function(){return ee})),a.d(t,"Ib",(function(){return te})),a.d(t,"ob",(function(){return ae})),a.d(t,"Y",(function(){return ne})),a.d(t,"rb",(function(){return re})),a.d(t,"I",(function(){return ie})),a.d(t,"cb",(function(){return oe})),a.d(t,"q",(function(){return se})),a.d(t,"mb",(function(){return le})),a.d(t,"G",(function(){return ce})),a.d(t,"J",(function(){return ue})),a.d(t,"E",(function(){return me})),a.d(t,"F",(function(){return he})),a.d(t,"B",(function(){return pe})),a.d(t,"C",(function(){return de})),a.d(t,"H",(function(){return fe})),a.d(t,"gb",(function(){return ge})),a.d(t,"pb",(function(){return ye})),a.d(t,"fb",(function(){return be})),a.d(t,"Cb",(function(){return Ee})),a.d(t,"r",(function(){return _e})),a.d(t,"Jb",(function(){return ve})),a.d(t,"z",(function(){return ke})),a.d(t,"Db",(function(){return we})),a.d(t,"Lb",(function(){return Ce})),a.d(t,"A",(function(){return Se})),a.d(t,"Bb",(function(){return xe})),a.d(t,"Eb",(function(){return Oe})),a.d(t,"Ab",(function(){return Me})),a.d(t,"yb",(function(){return Te})),a.d(t,"xb",(function(){return Re})),a.d(t,"zb",(function(){return Pe})),a.d(t,"Kb",(function(){return Ae})),a.d(t,"y",(function(){return Ne})),a.d(t,"T",(function(){return Ie})),a.d(t,"S",(function(){return Fe})),a.d(t,"V",(function(){return je})),a.d(t,"Q",(function(){return De})),a.d(t,"R",(function(){return Be})),a.d(t,"O",(function(){return Le})),a.d(t,"P",(function(){return Ge})),a.d(t,"U",(function(){return We})),a.d(t,"vb",(function(){return He})),a.d(t,"u",(function(){return Ue})),a.d(t,"w",(function(){return qe})),a.d(t,"ub",(function(){return Ke})),a.d(t,"Fb",(function(){return $e})),a.d(t,"v",(function(){return ze})),a.d(t,"wb",(function(){return Ve})),a.d(t,"t",(function(){return Ye})),a.d(t,"x",(function(){return Je})),a.d(t,"tb",(function(){return Xe})),a.d(t,"Gb",(function(){return Qe})),a.d(t,"nb",(function(){return Ze})),a.d(t,"Z",(function(){return et})),a.d(t,"f",(function(){return tt})),a.d(t,"N",(function(){return at})),a.d(t,"ib",(function(){return nt})),a.d(t,"m",(function(){return rt})),a.d(t,"l",(function(){return it})),a.d(t,"e",(function(){return ot})),a.d(t,"j",(function(){return st})),a.d(t,"g",(function(){return lt})),a.d(t,"c",(function(){return ct})),a.d(t,"b",(function(){return ut})),a.d(t,"k",(function(){return mt})),a.d(t,"a",(function(){return ht})),a.d(t,"d",(function(){return pt})),a.d(t,"h",(function(){return dt})),a.d(t,"n",(function(){return ft})),a.d(t,"i",(function(){return gt})),a.d(t,"bb",(function(){return yt})),a.d(t,"jb",(function(){return bt})),a.d(t,"kb",(function(){return Et})),a.d(t,"s",(function(){return _t})),a.d(t,"qb",(function(){return vt})),a.d(t,"hb",(function(){return kt})),a.d(t,"D",(function(){return wt})),a.d(t,"Hb",(function(){return Ct})),a.d(t,"X",(function(){return St})),a.d(t,"p",(function(){return xt})),a.d(t,"W",(function(){return Ot})),a.d(t,"L",(function(){return Mt})),a.d(t,"K",(function(){return Tt})),a.d(t,"M",(function(){return Rt})),a.d(t,"sb",(function(){return Pt}));var n=a(20),r=a(152),i=a(312),o=a(7),s=a(8),l=a(94),c=a(200),u=a(59),m=a(567),h=a(447),p=a(82),d=a(25),f=a(6),g=a(70),y=a(404),b=a(75),E=a(172),_=a(24),v=a(77),k=a(128),w=a(221),C=a(23),S=a(9),x=a(283),O=a(231),M=a(353),T=a(214),R=a(36),P=a(57),A=a(44),N=a(14),I=a(67),F=a(1118),j=a(1119),D=a(317),B=a(63),L=a(443),G=a(354),W=a(99),H=a(4),U=a(329),q=a(15),K=a(22),$=a(103),z=a(18),V=a(0),Y=a.n(V);function J(){const e=Object(A.h)({adminRights:!0,hostname:"home",ip:Object(R.c)(),isConnectedTo:!0,maxRam:8,organizationName:"Home PC",purchasedByPlayer:!0});this.homeComputer=e.ip,this.currentServer=e.ip,Object(R.a)(e),this.getHomeComputer().programs.push(g.a.NukeProgram.name)}function X(){const e=this.getHomeComputer();this.currentServer=e.ip,this.homeComputer=e.ip,this.numPeopleKilled=0,this.karma=0,this.hacking_skill=1,this.strength=1,this.defense=1,this.dexterity=1,this.agility=1,this.charisma=1,this.hacking_exp=0,this.strength_exp=0,this.defense_exp=0,this.dexterity_exp=0,this.agility_exp=0,this.charisma_exp=0,this.money=new W.a(1e3),this.city=C.a.Sector12,this.location=S.a.TravelAgency,this.companyName="",this.jobs={},this.purchasedServers=[],this.factions=[],this.factionInvitations=[],this.queuedAugmentations=[],this.resleeves=[];const t=Math.min(3,B.a[10]+(10===this.bitNodeN?1:0))+this.sleevesFromCovenant;this.sleeves.length>t&&(this.sleeves.length=t);for(let e=this.sleeves.length;e=100?this.sleeves[e].synchronize(this):this.sleeves[e].shockRecovery(this));this.isWorking=!1,this.currentWorkFactionName="",this.currentWorkFactionDescription="",this.createProgramName="",this.className="",this.crimeType="",this.workHackExpGainRate=0,this.workStrExpGainRate=0,this.workDefExpGainRate=0,this.workDexExpGainRate=0,this.workAgiExpGainRate=0,this.workChaExpGainRate=0,this.workRepGainRate=0,this.workMoneyGainRate=0,this.workHackExpGained=0,this.workStrExpGained=0,this.workDefExpGained=0,this.workDexExpGained=0,this.workAgiExpGained=0,this.workChaExpGained=0,this.workRepGained=0,this.workMoneyGained=0,this.timeWorked=0,this.lastUpdate=(new Date).getTime(),this.playtimeSinceLastAug=0,this.scriptProdSinceLastAug=0,this.moneySourceA.reset(),this.hacknetNodes.length=0,this.hashManager.prestige(),this.reapplyAllAugmentations(!0),this.hp=this.max_hp}function Q(){this.prestigeAugmentation();for(let e=0;e0?this.intelligence=Math.floor(this.calculateSkill(this.intelligence_exp)):this.intelligence=0;const e=this.hp/this.max_hp;this.max_hp=Math.floor(10+this.defense/10),this.hp=Math.round(this.max_hp*e)}function ae(){this.hacking_chance_mult=1,this.hacking_speed_mult=1,this.hacking_money_mult=1,this.hacking_grow_mult=1,this.hacking_mult=1,this.strength_mult=1,this.defense_mult=1,this.dexterity_mult=1,this.agility_mult=1,this.charisma_mult=1,this.hacking_exp_mult=1,this.strength_exp_mult=1,this.defense_exp_mult=1,this.dexterity_exp_mult=1,this.agility_exp_mult=1,this.charisma_exp_mult=1,this.company_rep_mult=1,this.faction_rep_mult=1,this.crime_money_mult=1,this.crime_success_mult=1,this.hacknet_node_money_mult=1,this.hacknet_node_purchase_cost_mult=1,this.hacknet_node_ram_cost_mult=1,this.hacknet_node_core_cost_mult=1,this.hacknet_node_level_cost_mult=1,this.work_money_mult=1,this.bladeburner_max_stamina_mult=1,this.bladeburner_stamina_gain_mult=1,this.bladeburner_analysis_mult=1,this.bladeburner_success_chance_mult=1}function ne(e){const t=this.getHomeComputer();if(null==t)return!1;for(let a=0;a0||this.intelligence>0)&&(this.intelligence_exp+=e)}function ge(e){const t=e.toLowerCase();return t.includes("hack")?this.hacking_skill:t.includes("str")?this.strength:t.includes("def")?this.defense:t.includes("dex")?this.dexterity:t.includes("agi")?this.agility:t.includes("cha")?this.charisma:t.includes("int")?this.intelligence:0}function ye(e,t,a){this.workType!==f.a.WorkTypeFaction&&e===this.workType&&t===this.companyName||e===this.workType&&t===this.currentWorkFactionName&&a===this.factionWorkType||(this.isWorking&&this.singularityStopWork(),this.workHackExpGainRate=0,this.workStrExpGainRate=0,this.workDefExpGainRate=0,this.workDexExpGainRate=0,this.workAgiExpGainRate=0,this.workChaExpGainRate=0,this.workRepGainRate=0,this.workMoneyGainRate=0,this.workMoneyLossRate=0,this.workHackExpGained=0,this.workStrExpGained=0,this.workDefExpGained=0,this.workDexExpGained=0,this.workAgiExpGained=0,this.workChaExpGained=0,this.workRepGained=0,this.workMoneyGained=0,this.timeWorked=0,this.timeWorkedCreateProgram=0,this.currentWorkFactionName="",this.currentWorkFactionDescription="",this.createProgramName="",this.className="")}function be(e=1){let t=1;this.hasAugmentation(o.a.NeuroreceptorManager)||(t=this.focus?1:f.a.BaseFocusBonus);const a=t*this.workHackExpGainRate*e,n=t*this.workStrExpGainRate*e,r=t*this.workDefExpGainRate*e,i=t*this.workDexExpGainRate*e,s=t*this.workAgiExpGainRate*e,l=t*this.workChaExpGainRate*e,c=(this.workMoneyGainRate-this.workMoneyLossRate)*e;this.gainHackingExp(a),this.gainStrengthExp(n),this.gainDefenseExp(r),this.gainDexterityExp(i),this.gainAgilityExp(s),this.gainCharismaExp(l),this.gainMoney(c),this.className?this.recordMoneySource(c,"class"):this.recordMoneySource(c,"work"),this.workHackExpGained+=a,this.workStrExpGained+=n,this.workDefExpGained+=r,this.workDexExpGained+=i,this.workAgiExpGained+=s,this.workChaExpGained+=l,this.workRepGained+=t*this.workRepGainRate*e,this.workMoneyGained+=t*this.workMoneyGainRate*e,this.workMoneyGained-=t*this.workMoneyLossRate*e}function Ee(e,t){this.resetWorkStatus(f.a.WorkTypeCompany,t),this.isWorking=!0,this.focus=!0,this.companyName=t,this.workType=f.a.WorkTypeCompany,this.workHackExpGainRate=this.getWorkHackExpGain(),this.workStrExpGainRate=this.getWorkStrExpGain(),this.workDefExpGainRate=this.getWorkDefExpGain(),this.workDexExpGainRate=this.getWorkDexExpGain(),this.workAgiExpGainRate=this.getWorkAgiExpGain(),this.workChaExpGainRate=this.getWorkChaExpGain(),this.workRepGainRate=this.getWorkRepGain(),this.workMoneyGainRate=this.getWorkMoneyGain(),this.timeNeededToCompleteWork=f.a.MillisecondsPer8Hours,e.toWork()}function _e(){const e=I.a[this.companyName];if("string"==typeof e&&""!==e){const t=R.b[e];if(t instanceof P.a&&t&&t.backdoorInstalled)return.75}return.5}function ve(e){let t=!1;this.timeWorked+f.a._idleSpeed*e>=f.a.MillisecondsPer8Hours&&(t=!0,e=Math.round((f.a.MillisecondsPer8Hours-this.timeWorked)/f.a._idleSpeed)),this.timeWorked+=f.a._idleSpeed*e,this.workRepGainRate=this.getWorkRepGain(),this.processWorkEarnings(e);const a=u.a[this.companyName];return Object(L.a)(a,this.workRepGainRate,e),!!(t||this.timeWorked>=f.a.MillisecondsPer8Hours)&&(this.finishWork(!1),!0)}function ke(e,t=!1){e&&(this.workRepGained*=this.cancelationPenalty());u.a[this.companyName].playerReputation+=this.workRepGained,this.updateSkillLevels();let a=Y.a.createElement(Y.a.Fragment,null,"You earned a total of: ",Y.a.createElement("br",null),Y.a.createElement(z.a,{money:this.workMoneyGained}),Y.a.createElement("br",null),Y.a.createElement($.a,{reputation:this.workRepGained})," reputation for the company ",Y.a.createElement("br",null),H.a.formatExp(this.workHackExpGained)," hacking exp ",Y.a.createElement("br",null),H.a.formatExp(this.workStrExpGained)," strength exp ",Y.a.createElement("br",null),H.a.formatExp(this.workDefExpGained)," defense exp ",Y.a.createElement("br",null),H.a.formatExp(this.workDexExpGained)," dexterity exp ",Y.a.createElement("br",null),H.a.formatExp(this.workAgiExpGained)," agility exp ",Y.a.createElement("br",null),H.a.formatExp(this.workChaExpGained)," charisma exp",Y.a.createElement("br",null));if(a=e?Y.a.createElement(Y.a.Fragment,null,"You worked a short shift of ",Object(K.b)(this.timeWorked)," ",Y.a.createElement("br",null),Y.a.createElement("br",null),"Since you cancelled your work early, you only gained half of the reputation you earned. ",Y.a.createElement("br",null),Y.a.createElement("br",null),a):Y.a.createElement(Y.a.Fragment,null,"You worked a full shift of 8 hours! ",Y.a.createElement("br",null),Y.a.createElement("br",null),a),t||Object(q.a)(a),this.isWorking=!1,this.resetWorkStatus(),t){return"You worked a short shift of "+Object(K.b)(this.timeWorked)+" and earned $"+H.a.formatMoney(this.workMoneyGained)+", "+H.a.formatReputation(this.workRepGained)+" reputation, "+H.a.formatExp(this.workHackExpGained)+" hacking exp, "+H.a.formatExp(this.workStrExpGained)+" strength exp, "+H.a.formatExp(this.workDefExpGained)+" defense exp, "+H.a.formatExp(this.workDexExpGained)+" dexterity exp, "+H.a.formatExp(this.workAgiExpGained)+" agility exp, and "+H.a.formatExp(this.workChaExpGained)+" charisma exp."}return""}function we(e,t){this.resetWorkStatus(f.a.WorkTypeCompanyPartTime,t),this.isWorking=!0,this.focus=!0,this.companyName=t,this.workType=f.a.WorkTypeCompanyPartTime,this.workHackExpGainRate=this.getWorkHackExpGain(),this.workStrExpGainRate=this.getWorkStrExpGain(),this.workDefExpGainRate=this.getWorkDefExpGain(),this.workDexExpGainRate=this.getWorkDexExpGain(),this.workAgiExpGainRate=this.getWorkAgiExpGain(),this.workChaExpGainRate=this.getWorkChaExpGain(),this.workRepGainRate=this.getWorkRepGain(),this.workMoneyGainRate=this.getWorkMoneyGain(),this.timeNeededToCompleteWork=f.a.MillisecondsPer8Hours,e.toWork()}function Ce(e){let t=!1;return this.timeWorked+f.a._idleSpeed*e>=f.a.MillisecondsPer8Hours&&(t=!0,e=Math.round((f.a.MillisecondsPer8Hours-this.timeWorked)/f.a._idleSpeed)),this.timeWorked+=f.a._idleSpeed*e,this.workRepGainRate=this.getWorkRepGain(),this.processWorkEarnings(e),!!(t||this.timeWorked>=f.a.MillisecondsPer8Hours)&&(this.finishWorkPartTime(),!0)}function Se(e=!1){u.a[this.companyName].playerReputation+=this.workRepGained,this.updateSkillLevels();const t=Y.a.createElement(Y.a.Fragment,null,"You worked for ",Object(K.b)(this.timeWorked),Y.a.createElement("br",null),Y.a.createElement("br",null),"You earned a total of: ",Y.a.createElement("br",null),Y.a.createElement(z.a,{money:this.workMoneyGained}),Y.a.createElement("br",null),Y.a.createElement($.a,{reputation:this.workRepGained})," reputation for the company ",Y.a.createElement("br",null),H.a.formatExp(this.workHackExpGained)," hacking exp ",Y.a.createElement("br",null),H.a.formatExp(this.workStrExpGained)," strength exp ",Y.a.createElement("br",null),H.a.formatExp(this.workDefExpGained)," defense exp ",Y.a.createElement("br",null),H.a.formatExp(this.workDexExpGained)," dexterity exp ",Y.a.createElement("br",null),H.a.formatExp(this.workAgiExpGained)," agility exp ",Y.a.createElement("br",null),H.a.formatExp(this.workChaExpGained)," charisma exp",Y.a.createElement("br",null));if(e||Object(q.a)(t),this.isWorking=!1,this.resetWorkStatus(),e){return"You worked for "+Object(K.b)(this.timeWorked)+" and earned a total of $"+H.a.formatMoney(this.workMoneyGained)+", "+H.a.formatReputation(this.workRepGained)+" reputation, "+H.a.formatExp(this.workHackExpGained)+" hacking exp, "+H.a.formatExp(this.workStrExpGained)+" strength exp, "+H.a.formatExp(this.workDefExpGained)+" defense exp, "+H.a.formatExp(this.workDexExpGained)+" dexterity exp, "+H.a.formatExp(this.workAgiExpGained)+" agility exp, and "+H.a.formatExp(this.workChaExpGained)+" charisma exp"}return""}function xe(){this.focus=!0}function Oe(){this.focus=!1}function Me(e,t){let a=1+t.favor/100;isNaN(a)&&(a=1),this.workRepGainRate*=a,this.workRepGainRate*=s.a.FactionWorkRepGain,this.isWorking=!0,this.focus=!0,this.workType=f.a.WorkTypeFaction,this.currentWorkFactionName=t.name,this.timeNeededToCompleteWork=f.a.MillisecondsPer20Hours,e.toWork()}function Te(e,t){this.resetWorkStatus(f.a.WorkTypeFaction,t.name,f.a.FactionWorkHacking),this.workHackExpGainRate=.15*this.hacking_exp_mult*s.a.FactionWorkExpGain,this.workRepGainRate=(this.hacking_skill+this.intelligence)/f.a.MaxSkillLevel*this.faction_rep_mult*this.getIntelligenceBonus(.5),this.factionWorkType=f.a.FactionWorkHacking,this.currentWorkFactionDescription="carrying out hacking contracts",this.startFactionWork(e,t)}function Re(e,t){this.resetWorkStatus(f.a.WorkTypeFaction,t.name,f.a.FactionWorkField),this.workHackExpGainRate=.1*this.hacking_exp_mult*s.a.FactionWorkExpGain,this.workStrExpGainRate=.1*this.strength_exp_mult*s.a.FactionWorkExpGain,this.workDefExpGainRate=.1*this.defense_exp_mult*s.a.FactionWorkExpGain,this.workDexExpGainRate=.1*this.dexterity_exp_mult*s.a.FactionWorkExpGain,this.workAgiExpGainRate=.1*this.agility_exp_mult*s.a.FactionWorkExpGain,this.workChaExpGainRate=.1*this.charisma_exp_mult*s.a.FactionWorkExpGain,this.workRepGainRate=Object(T.a)(this,t),this.factionWorkType=f.a.FactionWorkField,this.currentWorkFactionDescription="carrying out field missions",this.startFactionWork(e,t)}function Pe(e,t){this.resetWorkStatus(f.a.WorkTypeFaction,t.name,f.a.FactionWorkSecurity),this.workHackExpGainRate=.05*this.hacking_exp_mult*s.a.FactionWorkExpGain,this.workStrExpGainRate=.15*this.strength_exp_mult*s.a.FactionWorkExpGain,this.workDefExpGainRate=.15*this.defense_exp_mult*s.a.FactionWorkExpGain,this.workDexExpGainRate=.15*this.dexterity_exp_mult*s.a.FactionWorkExpGain,this.workAgiExpGainRate=.15*this.agility_exp_mult*s.a.FactionWorkExpGain,this.workChaExpGainRate=0*this.charisma_exp_mult*s.a.FactionWorkExpGain,this.workRepGainRate=Object(T.b)(this,t),this.factionWorkType=f.a.FactionWorkSecurity,this.currentWorkFactionDescription="performing security detail",this.startFactionWork(e,t)}function Ae(e){const t=_.a[this.currentWorkFactionName];switch(this.factionWorkType){case f.a.FactionWorkHacking:this.workRepGainRate=Object(T.c)(this,t);break;case f.a.FactionWorkField:this.workRepGainRate=Object(T.a)(this,t);break;case f.a.FactionWorkSecurity:this.workRepGainRate=Object(T.b)(this,t)}let a=!1;return this.timeWorked+f.a._idleSpeed*e>=f.a.MillisecondsPer20Hours&&(a=!0,e=Math.round((f.a.MillisecondsPer20Hours-this.timeWorked)/f.a._idleSpeed)),this.timeWorked+=f.a._idleSpeed*e,this.processWorkEarnings(e),!!(a||this.timeWorked>=f.a.MillisecondsPer20Hours)&&(this.finishFactionWork(!1),!0)}function Ne(e,t=!1){const a=_.a[this.currentWorkFactionName];if(a.playerReputation+=this.workRepGained,this.updateSkillLevels(),t||Object(q.a)(Y.a.createElement(Y.a.Fragment,null,"You worked for your faction ",a.name," for a total of ",Object(K.b)(this.timeWorked)," ",Y.a.createElement("br",null),Y.a.createElement("br",null),"You earned a total of: ",Y.a.createElement("br",null),Y.a.createElement(z.a,{money:this.workMoneyGained}),Y.a.createElement("br",null),Y.a.createElement($.a,{reputation:this.workRepGained})," reputation for the faction ",Y.a.createElement("br",null),H.a.formatExp(this.workHackExpGained)," hacking exp ",Y.a.createElement("br",null),H.a.formatExp(this.workStrExpGained)," strength exp ",Y.a.createElement("br",null),H.a.formatExp(this.workDefExpGained)," defense exp ",Y.a.createElement("br",null),H.a.formatExp(this.workDexExpGained)," dexterity exp ",Y.a.createElement("br",null),H.a.formatExp(this.workAgiExpGained)," agility exp ",Y.a.createElement("br",null),H.a.formatExp(this.workChaExpGained)," charisma exp",Y.a.createElement("br",null))),this.isWorking=!1,this.resetWorkStatus(),t){return"You worked for your faction "+a.name+" for a total of "+Object(K.b)(this.timeWorked)+". You earned "+H.a.formatReputation(this.workRepGained)+" rep, "+H.a.formatExp(this.workHackExpGained)+" hacking exp, "+H.a.formatExp(this.workStrExpGained)+" str exp, "+H.a.formatExp(this.workDefExpGained)+" def exp, "+H.a.formatExp(this.workDexExpGained)+" dex exp, "+H.a.formatExp(this.workAgiExpGained)+" agi exp, and "+H.a.formatExp(this.workChaExpGained)+" cha exp."}return""}function Ie(){let e=1;const t=u.a[this.companyName];B.a[11]>0&&(e=1+t.favor/100);const a=this.jobs[this.companyName],n=p.a[a];return null==n?(console.error(`Could not find CompanyPosition object for ${a}. Work salary will be 0`),0):n.baseSalary*t.salaryMultiplier*this.work_money_mult*s.a.CompanyWorkMoney*e}function Fe(){const e=u.a[this.companyName],t=this.jobs[this.companyName],a=p.a[t];return null==e||null==a?(console.error(["Could not find Company object for "+this.companyName,`or CompanyPosition object for ${t}.`,"Work hack exp gain will be 0"].join(" ")),0):a.hackingExpGain*e.expMultiplier*this.hacking_exp_mult*s.a.CompanyWorkExpGain}function je(){const e=u.a[this.companyName],t=this.jobs[this.companyName],a=p.a[t];return null==e||null==a?(console.error(["Could not find Company object for "+this.companyName,`or CompanyPosition object for ${t}.`,"Work str exp gain will be 0"].join(" ")),0):a.strengthExpGain*e.expMultiplier*this.strength_exp_mult*s.a.CompanyWorkExpGain}function De(){const e=u.a[this.companyName],t=this.jobs[this.companyName],a=p.a[t];return null==e||null==a?(console.error(["Could not find Company object for "+this.companyName,`or CompanyPosition object for ${t}.`,"Work def exp gain will be 0"].join(" ")),0):a.defenseExpGain*e.expMultiplier*this.defense_exp_mult*s.a.CompanyWorkExpGain}function Be(){const e=u.a[this.companyName],t=this.jobs[this.companyName],a=p.a[t];return null==e||null==a?(console.error(["Could not find Company object for "+this.companyName,`or CompanyPosition object for ${t}.`,"Work dex exp gain will be 0"].join(" ")),0):a.dexterityExpGain*e.expMultiplier*this.dexterity_exp_mult*s.a.CompanyWorkExpGain}function Le(){const e=u.a[this.companyName],t=this.jobs[this.companyName],a=p.a[t];return null==e||null==a?(console.error(["Could not find Company object for "+this.companyName,`or CompanyPosition object for ${t}.`,"Work agi exp gain will be 0"].join(" ")),0):a.agilityExpGain*e.expMultiplier*this.agility_exp_mult*s.a.CompanyWorkExpGain}function Ge(){const e=u.a[this.companyName],t=this.jobs[this.companyName],a=p.a[t];return null==e||null==a?(console.error(["Could not find Company object for "+this.companyName,`or CompanyPosition object for ${t}.`,"Work cha exp gain will be 0"].join(" ")),0):a.charismaExpGain*e.expMultiplier*this.charisma_exp_mult*s.a.CompanyWorkExpGain}function We(){const e=u.a[this.companyName],t=this.jobs[this.companyName],a=p.a[t];if(null==e||null==a)return console.error(["Could not find Company object for "+this.companyName,`or CompanyPosition object for ${t}.`,"Work rep gain will be 0"].join(" ")),0;let n=a.calculateJobPerformance(this.hacking_skill,this.strength,this.defense,this.dexterity,this.agility,this.charisma);n+=this.intelligence/f.a.MaxSkillLevel;let r=1+e.favor/100;return isNaN(r)&&(r=1),n*this.company_rep_mult*r}function He(e,t,a,n){this.resetWorkStatus(),this.isWorking=!0,this.focus=!0,this.workType=f.a.WorkTypeCreateProgram,this.createProgramReqLvl=n,this.timeNeededToCompleteWork=a;for(let e=0;e=100)break;this.timeWorkedCreateProgram=n/100*this.timeNeededToCompleteWork,this.getHomeComputer().programs.splice(e,1)}}this.createProgramName=t,e.toWork()}function Ue(e){const t=this.createProgramReqLvl;let a=this.hacking_skill/t*this.getIntelligenceBonus(3);return a=1+(a-1)/5,this.timeWorked+=f.a._idleSpeed*e,this.timeWorkedCreateProgram+=f.a._idleSpeed*e*a,this.timeWorkedCreateProgram>=this.timeNeededToCompleteWork&&(this.finishCreateProgramWork(!1),!0)}function qe(e){const t=this.createProgramName;if(!1===e)Object(q.a)("You've finished creating "+t+"!
The new program can be found on your home computer."),this.getHomeComputer().programs.push(t);else{const e=t+"-"+(Math.floor(this.timeWorkedCreateProgram/this.timeNeededToCompleteWork*1e4)/100).toString()+"%-INC";this.getHomeComputer().programs.push(e)}return e||this.gainIntelligenceExp(this.createProgramReqLvl/f.a.IntelligenceProgramBaseExpGain),this.isWorking=!1,this.resetWorkStatus(),"You've finished creating "+t+"! The new program can be found on your home computer."}function Ke(e,t,a,n){this.resetWorkStatus(),this.isWorking=!0,this.focus=!0,this.workType=f.a.WorkTypeStudyClass,this.className=n;const r=1e3/f.a._idleSpeed;let i=0,o=0,l=0,c=0,u=0,m=0,h=0;const p=this.hashManager;switch(n){case f.a.ClassStudyComputerScience:o=f.a.ClassStudyComputerScienceBaseExp*a/r*p.getStudyMult();break;case f.a.ClassDataStructures:i=f.a.ClassDataStructuresBaseCost*t/r,o=f.a.ClassDataStructuresBaseExp*a/r*p.getStudyMult();break;case f.a.ClassNetworks:i=f.a.ClassNetworksBaseCost*t/r,o=f.a.ClassNetworksBaseExp*a/r*p.getStudyMult();break;case f.a.ClassAlgorithms:i=f.a.ClassAlgorithmsBaseCost*t/r,o=f.a.ClassAlgorithmsBaseExp*a/r*p.getStudyMult();break;case f.a.ClassManagement:i=f.a.ClassManagementBaseCost*t/r,h=f.a.ClassManagementBaseExp*a/r*p.getStudyMult();break;case f.a.ClassLeadership:i=f.a.ClassLeadershipBaseCost*t/r,h=f.a.ClassLeadershipBaseExp*a/r*p.getStudyMult();break;case f.a.ClassGymStrength:i=f.a.ClassGymBaseCost*t/r,l=a/r*p.getTrainingMult();break;case f.a.ClassGymDefense:i=f.a.ClassGymBaseCost*t/r,c=a/r*p.getTrainingMult();break;case f.a.ClassGymDexterity:i=f.a.ClassGymBaseCost*t/r,u=a/r*p.getTrainingMult();break;case f.a.ClassGymAgility:i=f.a.ClassGymBaseCost*t/r,m=a/r*p.getTrainingMult();break;default:throw new Error("ERR: Invalid/unrecognized class name")}this.workMoneyLossRate=i,this.workHackExpGainRate=o*this.hacking_exp_mult*s.a.ClassGymExpGain,this.workStrExpGainRate=l*this.strength_exp_mult*s.a.ClassGymExpGain,this.workDefExpGainRate=c*this.defense_exp_mult*s.a.ClassGymExpGain,this.workDexExpGainRate=u*this.dexterity_exp_mult*s.a.ClassGymExpGain,this.workAgiExpGainRate=m*this.agility_exp_mult*s.a.ClassGymExpGain,this.workChaExpGainRate=h*this.charisma_exp_mult*s.a.ClassGymExpGain,e.toWork()}function $e(e){return this.timeWorked+=f.a._idleSpeed*e,this.processWorkEarnings(e),!1}function ze(e=!1){if(this.gainIntelligenceExp(f.a.IntelligenceClassBaseExpGain*Math.round(this.timeWorked/1e3)),this.workMoneyGained>0)throw new Error("ERR: Somehow gained money while taking class");if(this.updateSkillLevels(),e||Object(q.a)(Y.a.createElement(Y.a.Fragment,null,"After ",this.className," for ",Object(K.b)(this.timeWorked),", ",Y.a.createElement("br",null),"you spent a total of ",Y.a.createElement(z.a,{money:-this.workMoneyGained}),". ",Y.a.createElement("br",null),Y.a.createElement("br",null),"You earned a total of: ",Y.a.createElement("br",null),H.a.formatExp(this.workHackExpGained)," hacking exp ",Y.a.createElement("br",null),H.a.formatExp(this.workStrExpGained)," strength exp ",Y.a.createElement("br",null),H.a.formatExp(this.workDefExpGained)," defense exp ",Y.a.createElement("br",null),H.a.formatExp(this.workDexExpGained)," dexterity exp ",Y.a.createElement("br",null),H.a.formatExp(this.workAgiExpGained)," agility exp ",Y.a.createElement("br",null),H.a.formatExp(this.workChaExpGained)," charisma exp",Y.a.createElement("br",null))),this.isWorking=!1,e){const e="After "+this.className+" for "+Object(K.b)(this.timeWorked)+", you spent a total of "+H.a.formatMoney(-1*this.workMoneyGained)+". You earned a total of: "+H.a.formatExp(this.workHackExpGained)+" hacking exp, "+H.a.formatExp(this.workStrExpGained)+" strength exp, "+H.a.formatExp(this.workDefExpGained)+" defense exp, "+H.a.formatExp(this.workDexExpGained)+" dexterity exp, "+H.a.formatExp(this.workAgiExpGained)+" agility exp, and "+H.a.formatExp(this.workChaExpGained)+" charisma exp";return this.resetWorkStatus(),e}return this.resetWorkStatus(),""}function Ve(e,t,a,n,r,i,o,l,c,u,m=null){this.crimeType=t,this.resetWorkStatus(),this.isWorking=!0,this.focus=!0,this.workType=f.a.WorkTypeCrime,null!==m&&(this.committingCrimeThruSingFn=!0,this.singFnCrimeWorkerScript=m),this.workHackExpGained=a*this.hacking_exp_mult*s.a.CrimeExpGain,this.workStrExpGained=n*this.strength_exp_mult*s.a.CrimeExpGain,this.workDefExpGained=r*this.defense_exp_mult*s.a.CrimeExpGain,this.workDexExpGained=i*this.dexterity_exp_mult*s.a.CrimeExpGain,this.workAgiExpGained=o*this.agility_exp_mult*s.a.CrimeExpGain,this.workChaExpGained=l*this.charisma_exp_mult*s.a.CrimeExpGain,this.workMoneyGained=c*this.crime_money_mult*s.a.CrimeMoney,this.timeNeededToCompleteWork=u,e.toWork()}function Ye(e){return this.timeWorked+=f.a._idleSpeed*e,this.timeWorked>=this.timeNeededToCompleteWork&&(this.finishCrime(!1),!0)}function Je(e){if(!e){if(Object(y.a)(this,this.crimeType)){let e=null;for(const t in b.a)if(b.a[t].type==this.crimeType){e=b.a[t];break}if(null==e)return Object(q.a)(`ERR: Unrecognized crime type (${this.crimeType}). This is probably a bug please contact the developer`),"";this.gainMoney(this.workMoneyGained),this.recordMoneySource(this.workMoneyGained,"crime"),this.karma-=e.karma,this.numPeopleKilled+=e.kills,e.intelligence_exp>0&&this.gainIntelligenceExp(e.intelligence_exp),this.workHackExpGained*=2,this.workStrExpGained*=2,this.workDefExpGained*=2,this.workDexExpGained*=2,this.workAgiExpGained*=2,this.workChaExpGained*=2;const t=this.singFnCrimeWorkerScript;this.committingCrimeThruSingFn&&null!==t?null==t.disableLogs.ALL&&null==t.disableLogs.commitCrime&&t.scriptRef.log("Crime successful! Gained "+H.a.formatMoney(this.workMoneyGained)+", "+H.a.formatExp(this.workHackExpGained)+" hack exp, "+H.a.formatExp(this.workStrExpGained)+" str exp, "+H.a.formatExp(this.workDefExpGained)+" def exp, "+H.a.formatExp(this.workDexExpGained)+" dex exp, "+H.a.formatExp(this.workAgiExpGained)+" agi exp, "+H.a.formatExp(this.workChaExpGained)+" cha exp."):Object(q.a)(Y.a.createElement(Y.a.Fragment,null,"Crime successful!",Y.a.createElement("br",null),Y.a.createElement("br",null),"You gained:",Y.a.createElement("br",null),Y.a.createElement(z.a,{money:this.workMoneyGained}),Y.a.createElement("br",null),H.a.formatExp(this.workHackExpGained)," hacking experience ",Y.a.createElement("br",null),H.a.formatExp(this.workStrExpGained)," strength experience",Y.a.createElement("br",null),H.a.formatExp(this.workDefExpGained)," defense experience",Y.a.createElement("br",null),H.a.formatExp(this.workDexExpGained)," dexterity experience",Y.a.createElement("br",null),H.a.formatExp(this.workAgiExpGained)," agility experience",Y.a.createElement("br",null),H.a.formatExp(this.workChaExpGained)," charisma experience"))}else{this.workHackExpGained/=2,this.workStrExpGained/=2,this.workDefExpGained/=2,this.workDexExpGained/=2,this.workAgiExpGained/=2,this.workChaExpGained/=2;const e=this.singFnCrimeWorkerScript;this.committingCrimeThruSingFn&&null!==e?null==e.disableLogs.ALL&&null==e.disableLogs.commitCrime&&e.scriptRef.log("Crime failed! Gained "+H.a.formatExp(this.workHackExpGained)+" hack exp, "+H.a.formatExp(this.workStrExpGained)+" str exp, "+H.a.formatExp(this.workDefExpGained)+" def exp, "+H.a.formatExp(this.workDexExpGained)+" dex exp, "+H.a.formatExp(this.workAgiExpGained)+" agi exp, "+H.a.formatExp(this.workChaExpGained)+" cha exp."):Object(q.a)(Y.a.createElement(Y.a.Fragment,null,"Crime failed!",Y.a.createElement("br",null),Y.a.createElement("br",null),"You gained:",Y.a.createElement("br",null),H.a.formatExp(this.workHackExpGained)," hacking experience ",Y.a.createElement("br",null),H.a.formatExp(this.workStrExpGained)," strength experience",Y.a.createElement("br",null),H.a.formatExp(this.workDefExpGained)," defense experience",Y.a.createElement("br",null),H.a.formatExp(this.workDexExpGained)," dexterity experience",Y.a.createElement("br",null),H.a.formatExp(this.workAgiExpGained)," agility experience",Y.a.createElement("br",null),H.a.formatExp(this.workChaExpGained)," charisma experience"))}this.gainHackingExp(this.workHackExpGained),this.gainStrengthExp(this.workStrExpGained),this.gainDefenseExp(this.workDefExpGained),this.gainDexterityExp(this.workDexExpGained),this.gainAgilityExp(this.workAgiExpGained),this.gainCharismaExp(this.workChaExpGained)}return this.committingCrimeThruSingFn=!1,this.singFnCrimeWorkerScript=null,this.isWorking=!1,this.crimeType="",this.resetWorkStatus(),""}function Xe(){if(!this.isWorking)return"";let e="";switch(this.workType){case f.a.WorkTypeStudyClass:e=this.finishClass(!0);break;case f.a.WorkTypeCompany:e=this.finishWork(!0,!0);break;case f.a.WorkTypeCompanyPartTime:e=this.finishWorkPartTime(!0);break;case f.a.WorkTypeFaction:e=this.finishFactionWork(!0,!0);break;case f.a.WorkTypeCreateProgram:e=this.finishCreateProgramWork(!0);break;case f.a.WorkTypeCrime:e=this.finishCrime(!0);break;default:return console.error(`Unrecognized work type (${this.workType})`),""}return e}function Qe(e){return"number"!=typeof e?(console.warn("Player.takeDamage() called without a numeric argument: "+e),!1):(this.hp-=e,this.hp<=0&&(this.hospitalize(),!0))}function Ze(e){"number"==typeof e?(this.hp+=e,this.hp>this.max_hp&&(this.hp=this.max_hp)):console.warn("Player.regenerateHp() called without a numeric argument: "+e)}function et(){const e=Object(G.b)(this);return!1===N.a.SuppressHospitalizationPopup&&Object(q.a)(Y.a.createElement(Y.a.Fragment,null,"You were in critical condition! You were taken to the hospital where luckily they were able to save your life. You were charged ",Y.a.createElement(z.a,{money:e}))),this.loseMoney(e),this.recordMoneySource(-1*e,"hospitalization"),this.hp=this.max_hp,e}function tt(e,t=!1){let a=null;""!==this.companyName&&(a=u.a[this.companyName]);const n=this.jobs[this.companyName],r=u.a[this.location];if(!(r instanceof c.a))return console.error(`Could not find company that matches the location: ${this.location}. Player.applyToCompany() failed`),!1;let i=e;if(!this.isQualified(r,i)){const e=Object(h.a)(r,i);return t||Object(q.a)("Unforunately, you do not qualify for this position
"+e),!1}for(;;){const e=Object(m.a)(i);if(null==e)break;if(!r.hasPosition(e))break;if(!this.isQualified(r,e))break;i=e}if(null!=a&&a.name==r.name&&i.name==n){const e=Object(m.a)(i);if(null==e)return t||Object(q.a)("You are already at the highest position for your field! No promotion available"),!1;if(r.hasPosition(e)){if(!t){const t=Object(h.a)(r,e);Object(q.a)("Unfortunately, you do not qualify for a promotion
"+t)}return!1}return t||Object(q.a)("You are already at the highest position for your field! No promotion available"),!1}return this.jobs[r.name]=i.name,this.companyName=this.location,t||Object(q.a)("Congratulations! You were offered a new job at "+this.companyName+" as a "+i.name+"!"),!0}function at(e,t){let a=null;if(""!==this.companyName&&(a=u.a[this.companyName]),null==a||a.name!=e.name)return t;const n=this.jobs[this.companyName],r=p.a[n];return r.isSoftwareJob()&&t.isSoftwareJob()||r.isITJob()&&t.isITJob()||r.isBusinessJob()&&t.isBusinessJob()||r.isSecurityEngineerJob()&&t.isSecurityEngineerJob()||r.isNetworkEngineerJob()&&t.isNetworkEngineerJob()||r.isSecurityJob()&&t.isSecurityJob()||r.isAgentJob()&&t.isAgentJob()||r.isSoftwareConsultantJob()&&t.isSoftwareConsultantJob()||r.isBusinessConsultantJob()&&t.isBusinessConsultantJob()||r.isPartTimeJob()&&t.isPartTimeJob()?Object(m.a)(r):t}function nt(e){this.isWorking=!1,this.companyName="",delete this.jobs[e]}function rt(e=!1){return this.applyForJob(p.a[d.j[0]],e)}function it(e=!1){return this.applyForJob(p.a[d.k[0]],e)}function ot(e=!1){return this.applyForJob(p.a[d.d[0]],e)}function st(e=!1){const t=u.a[this.location];return this.isQualified(t,p.a[d.i[0]])?this.applyForJob(p.a[d.i[0]],e):(e||Object(q.a)("Unforunately, you do not qualify for this position"),!1)}function lt(e=!1){const t=u.a[this.location];if(this.isQualified(t,p.a[d.f[0]])){const t=p.a[d.f[0]];return this.applyForJob(t,e)}return e||Object(q.a)("Unforunately, you do not qualify for this position"),!1}function ct(e=!1){return this.applyForJob(p.a[d.b[0]],e)}function ut(e=!1){return this.applyForJob(p.a[d.c[0]],e)}function mt(e=!1){return this.applyForJob(p.a[d.h[2]],e)}function ht(e=!1){const t=u.a[this.location];if(this.isQualified(t,p.a[d.a[0]])){const t=p.a[d.a[0]];return this.applyForJob(t,e)}return e||Object(q.a)("Unforunately, you do not qualify for this position"),!1}function pt(e=!1){const t=u.a[this.location];return this.isQualified(t,p.a[d.e[1]])?(this.companyName=t.name,this.jobs[t.name]=d.e[1],e||Object(q.a)("Congratulations, you are now employed at "+this.companyName),!0):(e||Object(q.a)("Unforunately, you do not qualify for this position"),!1)}function dt(e=!1){const t=u.a[this.location];return this.isQualified(t,p.a[d.g[1]])?(this.jobs[t.name]=d.g[1],e||Object(q.a)("Congratulations, you are now employed part-time at "+this.companyName),!0):(e||Object(q.a)("Unforunately, you do not qualify for this position"),!1)}function ft(e=!1){const t=u.a[this.location];return this.isQualified(t,p.a[d.e[0]])?(this.companyName=t.name,this.jobs[t.name]=d.e[0],e||Object(q.a)("Congratulations, you are now employed as a waiter at "+this.companyName),!0):(e||Object(q.a)("Unforunately, you do not qualify for this position"),!1)}function gt(e=!1){const t=u.a[this.location];return this.isQualified(t,p.a[d.g[0]])?(this.companyName=t.name,this.jobs[t.name]=d.g[0],e||Object(q.a)("Congratulations, you are now employed as a part-time waiter at "+this.companyName),!0):(e||Object(q.a)("Unforunately, you do not qualify for this position"),!1)}function yt(e,t){const a=e.jobStatReqOffset,n=t.requiredHacking>0?t.requiredHacking+a:0,r=t.requiredStrength>0?t.requiredStrength+a:0,i=t.requiredDefense>0?t.requiredDefense+a:0,o=t.requiredDexterity>0?t.requiredDexterity+a:0,s=t.requiredDexterity>0?t.requiredDexterity+a:0,l=t.requiredCharisma>0?t.requiredCharisma+a:0;return this.hacking_skill>=n&&this.strength>=r&&this.defense>=i&&this.dexterity>=o&&this.agility>=s&&this.charisma>=l&&e.playerReputation>=t.requiredReputation}function bt(e=!0){e&&this.resetMultipliers();for(let e=0;et}const i=_.a.Illuminati;!i.isBanned&&!i.isMember&&!i.alreadyInvited&&t>=30&&this.money.gte(15e10)&&this.hacking_skill>=1500&&this.strength>=1200&&this.defense>=1200&&this.dexterity>=1200&&this.agility>=1200&&e.push(i);const o=_.a.Daedalus;!o.isBanned&&!o.isMember&&!o.alreadyInvited&&t>=Math.round(30*s.a.DaedalusAugsRequirement)&&this.money.gte(1e11)&&(this.hacking_skill>=2500||this.strength>=1500&&this.defense>=1500&&this.dexterity>=1500&&this.agility>=1500)&&e.push(o);const l=_.a["The Covenant"];!l.isBanned&&!l.isMember&&!l.alreadyInvited&&t>=20&&this.money.gte(75e9)&&this.hacking_skill>=850&&this.strength>=850&&this.defense>=850&&this.dexterity>=850&&this.agility>=850&&e.push(l);const c=_.a.ECorp;c.isBanned||c.isMember||c.alreadyInvited||!r(S.a.AevumECorp)||e.push(c);const m=_.a.MegaCorp;m.isBanned||m.isMember||m.alreadyInvited||!r(S.a.Sector12MegaCorp)||e.push(m);const h=_.a["Bachman & Associates"];h.isBanned||h.isMember||h.alreadyInvited||!r(S.a.AevumBachmanAndAssociates)||e.push(h);const p=_.a["Blade Industries"];p.isBanned||p.isMember||p.alreadyInvited||!r(S.a.Sector12BladeIndustries)||e.push(p);const d=_.a.NWO;d.isBanned||d.isMember||d.alreadyInvited||!r(S.a.VolhavenNWO)||e.push(d);const g=_.a["Clarke Incorporated"];g.isBanned||g.isMember||g.alreadyInvited||!r(S.a.AevumClarkeIncorporated)||e.push(g);const y=_.a["OmniTek Incorporated"];y.isBanned||y.isMember||y.alreadyInvited||!r(S.a.VolhavenOmniTekIncorporated)||e.push(y);const b=_.a["Four Sigma"];b.isBanned||b.isMember||b.alreadyInvited||!r(S.a.Sector12FourSigma)||e.push(b);const E=_.a["KuaiGong International"];E.isBanned||E.isMember||E.alreadyInvited||!r(S.a.ChongqingKuaiGongInternational)||e.push(E);const v=_.a["Fulcrum Secret Technologies"],k=I.a[I.b.BitRunnersServer];if("string"!=typeof k)throw new Error("Fulcrum Secret Technologies should be string");const w=R.b[k];if(!(w instanceof P.a))throw new Error("Fulcrum Secret Technologies should be normal server");null==w?console.error("Could not find Fulcrum Secret Technologies Server"):v.isBanned||v.isMember||v.alreadyInvited||!w.backdoorInstalled||!r(S.a.AevumFulcrumTechnologies,25e4)||e.push(v);const x=_.a.BitRunners,O=I.a[I.b.BitRunnersServer];if("string"!=typeof O)throw new Error("BitRunners should be string");const M=R.b[O];if(!(M instanceof P.a))throw new Error("BitRunners should be normal server");null==M?console.error("Could not find BitRunners Server"):x.isBanned||x.isMember||!M.backdoorInstalled||x.alreadyInvited||e.push(x);const T=_.a["The Black Hand"],A=I.a[I.b.TheBlackHandServer];if("string"!=typeof A)throw new Error("TheBlackHand should be string");const N=R.b[A];if(!(N instanceof P.a))throw new Error("TheBlackHand should be normal server");null==N?console.error("Could not find The Black Hand Server"):T.isBanned||T.isMember||!N.backdoorInstalled||T.alreadyInvited||e.push(T);const F=_.a.NiteSec,j=I.a[I.b.NiteSecServer];if("string"!=typeof j)throw new Error("NiteSec should be string");const D=R.b[j];if(!(D instanceof P.a))throw new Error("NiteSec should be normal server");null==D?console.error("Could not find NiteSec Server"):F.isBanned||F.isMember||!D.backdoorInstalled||F.alreadyInvited||e.push(F);const B=_.a.Chongqing;B.isBanned||B.isMember||B.alreadyInvited||!this.money.gte(2e7)||this.city!=C.a.Chongqing||e.push(B);const L=_.a["Sector-12"];L.isBanned||L.isMember||L.alreadyInvited||!this.money.gte(15e6)||this.city!=C.a.Sector12||e.push(L);const G=_.a["New Tokyo"];G.isBanned||G.isMember||G.alreadyInvited||!this.money.gte(2e7)||this.city!=C.a.NewTokyo||e.push(G);const W=_.a.Aevum;W.isBanned||W.isMember||W.alreadyInvited||!this.money.gte(4e7)||this.city!=C.a.Aevum||e.push(W);const H=_.a.Ishima;H.isBanned||H.isMember||H.alreadyInvited||!this.money.gte(3e7)||this.city!=C.a.Ishima||e.push(H);const U=_.a.Volhaven;U.isBanned||U.isMember||U.alreadyInvited||!this.money.gte(5e7)||this.city!=C.a.Volhaven||e.push(U);const q=_.a["Speakers for the Dead"];!q.isBanned&&!q.isMember&&!q.alreadyInvited&&this.hacking_skill>=100&&this.strength>=300&&this.defense>=300&&this.dexterity>=300&&this.agility>=300&&this.numPeopleKilled>=30&&this.karma<=-45&&!a.includes(S.a.Sector12CIA)&&!a.includes(S.a.Sector12NSA)&&e.push(q);const K=_.a["The Dark Army"];!K.isBanned&&!K.isMember&&!K.alreadyInvited&&this.hacking_skill>=300&&this.strength>=300&&this.defense>=300&&this.dexterity>=300&&this.agility>=300&&this.city==C.a.Chongqing&&this.numPeopleKilled>=5&&this.karma<=-45&&!a.includes(S.a.Sector12CIA)&&!a.includes(S.a.Sector12NSA)&&e.push(K);const $=_.a["The Syndicate"];!$.isBanned&&!$.isMember&&!$.alreadyInvited&&this.hacking_skill>=200&&this.strength>=200&&this.defense>=200&&this.dexterity>=200&&this.agility>=200&&(this.city==C.a.Aevum||this.city==C.a.Sector12)&&this.money.gte(1e7)&&this.karma<=-90&&!a.includes(S.a.Sector12CIA)&&!a.includes(S.a.Sector12NSA)&&e.push($);const z=_.a.Silhouette;!z.isBanned&&!z.isMember&&!z.alreadyInvited&&(n.includes("Chief Technology Officer")||n.includes("Chief Financial Officer")||n.includes("Chief Executive Officer"))&&this.money.gte(15e6)&&this.karma<=-22&&e.push(z);const V=_.a.Tetrads;!V.isBanned&&!V.isMember&&!V.alreadyInvited&&(this.city==C.a.Chongqing||this.city==C.a.NewTokyo||this.city==C.a.Ishima)&&this.strength>=75&&this.defense>=75&&this.dexterity>=75&&this.agility>=75&&this.karma<=-18&&e.push(V);const Y=_.a["Slum Snakes"];!Y.isBanned&&!Y.isMember&&!Y.alreadyInvited&&this.strength>=30&&this.defense>=30&&this.dexterity>=30&&this.agility>=30&&this.karma<=-9&&this.money.gte(1e6)&&e.push(Y);const J=_.a.Netburners;let X=0,Q=0,Z=0;for(let e=0;e=80&&X>=8&&Q>=4&&Z>=100&&e.push(J);const ee=_.a["Tian Di Hui"];ee.isBanned||ee.isMember||ee.alreadyInvited||!this.money.gte(1e6)||!(this.hacking_skill>=50)||this.city!=C.a.Chongqing&&this.city!=C.a.NewTokyo&&this.city!=C.a.Ishima||e.push(ee);const te=_.a.CyberSec,ae=I.a[I.b.CyberSecServer];if("string"!=typeof ae)throw new Error("cybersec should be string");const ne=R.b[ae];if(!(ne instanceof P.a))throw new Error("cybersec should be normal server");return null==ne?console.error("Could not find CyberSec Server"):te.isBanned||te.isMember||!ne.backdoorInstalled||te.alreadyInvited||e.push(te),e}function vt(e){this.bitNodeN=e}function kt(e){for(const t in this.queuedAugmentations)if(this.queuedAugmentations[t].name==e)return void console.warn(`tried to queue ${e} twice, this may be a bug`);for(const t in this.augmentations)if(this.augmentations[t].name==e)return void console.warn(`tried to queue ${e} twice, this may be a bug`);this.queuedAugmentations.push(new i.a(e))}function wt(e,t=1){if(null==e||null==e.type||null==e)return"No reward for this contract";switch(e.type){case l.c.FactionReputation:if(null==e.name||!(_.a[e.name]instanceof E.a))return e.type=l.c.FactionReputationAll,this.gainCodingContractReward(e);const a=f.a.CodingContractBaseFactionRepGain*t;return _.a[e.name].playerReputation+=a,`Gained ${a} faction reputation for ${e.name}`;case l.c.FactionReputationAll:const n=f.a.CodingContractBaseFactionRepGain*t,r=["Bladeburners"],i=this.factions.slice().filter(e=>!r.includes(e));if(0==i.length)return e.type=l.c.Money,this.gainCodingContractReward(e,t);const o=Math.floor(n/i.length);for(const e of i)_.a[e]instanceof E.a&&(_.a[e].playerReputation+=o);return`Gained ${o} reputation for each of the following factions: ${i.toString()}`;case l.c.CompanyReputation:{if(null==e.name||!(u.a[e.name]instanceof c.a))return e.type=l.c.FactionReputationAll,this.gainCodingContractReward(e);const a=f.a.CodingContractBaseCompanyRepGain*t;return u.a[e.name].playerReputation+=a,`Gained ${a} company reputation for ${e.name}`}case l.c.Money:default:{const e=f.a.CodingContractBaseMoneyGain*t*s.a.CodingContractMoney;return this.gainMoney(e),this.recordMoneySource(e,"codingcontract"),"Gained "+H.a.formatMoney(e)}}}function Ct(e){return null==k.a[e]?(console.warn("Player.travel() called with invalid city: "+e),!1):(this.city=e,!0)}function St(e){return null==w.a[e]?(console.warn("Player.gotoLocation() called with invalid location: "+e),!1):(this.location=e,!0)}function xt(){return 10===this.bitNodeN||B.a[10]>0}function Ot(e){this.exploits.includes(e)||this.exploits.push(e)}function Mt(e){return Object(M.a)(this.intelligence,e)}function Tt(){return this.moneySourceA.casino}function Rt(e){return this.hasOwnProperty(e)?this[e]:1}function Pt(e,t){this.hasOwnProperty(e)&&(this[e]=t)}},,function(e,t,a){"use strict";a.d(t,"a",(function(){return n}));const n={Operations:"Operations",Engineer:"Engineer",Business:"Business",Management:"Management",RandD:"Research & Development",Training:"Training",Unassigned:"Unassigned"}},,,function(e,t,a){"use strict";a.d(t,"a",(function(){return s})),a.d(t,"d",(function(){return l})),a.d(t,"b",(function(){return c})),a.d(t,"c",(function(){return u})),a.d(t,"e",(function(){return m}));var n=a(0),r=a.n(n),i=a(109),o=a(119);const s={Energy:"Energy",Utilities:"Water Utilities",Agriculture:"Agriculture",Fishing:"Fishing",Mining:"Mining",Food:"Food",Tobacco:"Tobacco",Chemical:"Chemical",Pharmaceutical:"Pharmaceutical",Computer:"Computer Hardware",Robotics:"Robotics",Software:"Software",Healthcare:"Healthcare",RealEstate:"RealEstate"},l={Energy:225e9,Utilities:15e10,Agriculture:4e10,Fishing:8e10,Mining:3e11,Food:1e10,Tobacco:2e10,Chemical:7e10,Pharmaceutical:2e11,Computer:5e11,Robotics:1e12,Software:25e9,Healthcare:75e10,RealEstate:6e11},c={Energy:e=>r.a.createElement(r.a.Fragment,null,"Engage in the production and distribution of energy.",r.a.createElement("br",null),r.a.createElement("br",null),"Starting cost: ",r.a.createElement(o.a,{money:l.Energy,corp:e}),r.a.createElement("br",null),"Recommended starting Industry: NO"),Utilities:e=>r.a.createElement(r.a.Fragment,null,"Distribute water and provide wastewater services.",r.a.createElement("br",null),r.a.createElement("br",null),"Starting cost: ",r.a.createElement(o.a,{money:l.Utilities,corp:e}),r.a.createElement("br",null),"Recommended starting Industry: NO"),Agriculture:e=>r.a.createElement(r.a.Fragment,null,"Cultivate crops and breed livestock to produce food.",r.a.createElement("br",null),r.a.createElement("br",null),"Starting cost: ",r.a.createElement(o.a,{money:l.Agriculture,corp:e}),r.a.createElement("br",null),"Recommended starting Industry: YES"),Fishing:e=>r.a.createElement(r.a.Fragment,null,"Produce food through the breeding and processing of fish and fish products.",r.a.createElement("br",null),r.a.createElement("br",null),"Starting cost: ",r.a.createElement(o.a,{money:l.Fishing,corp:e}),r.a.createElement("br",null),"Recommended starting Industry: NO"),Mining:e=>r.a.createElement(r.a.Fragment,null,"Extract and process metals from the earth.",r.a.createElement("br",null),r.a.createElement("br",null),"Starting cost: ",r.a.createElement(o.a,{money:l.Mining,corp:e}),r.a.createElement("br",null),"Recommended starting Industry: NO"),Food:e=>r.a.createElement(r.a.Fragment,null,"Create your own restaurants all around the world.",r.a.createElement("br",null),r.a.createElement("br",null),"Starting cost: ",r.a.createElement(o.a,{money:l.Food,corp:e}),r.a.createElement("br",null),"Recommended starting Industry: YES"),Tobacco:e=>r.a.createElement(r.a.Fragment,null,"Create and distribute tobacco and tobacco-related products.",r.a.createElement("br",null),r.a.createElement("br",null),"Starting cost: ",r.a.createElement(o.a,{money:l.Tobacco,corp:e}),r.a.createElement("br",null),"Recommended starting Industry: YES"),Chemical:e=>r.a.createElement(r.a.Fragment,null,"Produce industrial chemicals.",r.a.createElement("br",null),r.a.createElement("br",null),"Starting cost: ",r.a.createElement(o.a,{money:l.Chemical,corp:e}),r.a.createElement("br",null),"Recommended starting Industry: NO"),Pharmaceutical:e=>r.a.createElement(r.a.Fragment,null,"Discover, develop, and create new pharmaceutical drugs.",r.a.createElement("br",null),r.a.createElement("br",null),"Starting cost: ",r.a.createElement(o.a,{money:l.Pharmaceutical,corp:e}),r.a.createElement("br",null),"Recommended starting Industry: NO"),Computer:e=>r.a.createElement(r.a.Fragment,null,"Develop and manufacture new computer hardware and networking infrastructures.",r.a.createElement("br",null),r.a.createElement("br",null),"Starting cost: ",r.a.createElement(o.a,{money:l.Computer,corp:e}),r.a.createElement("br",null),"Recommended starting Industry: NO"),Robotics:e=>r.a.createElement(r.a.Fragment,null,"Develop and create robots.",r.a.createElement("br",null),r.a.createElement("br",null),"Starting cost: ",r.a.createElement(o.a,{money:l.Robotics,corp:e}),r.a.createElement("br",null),"Recommended starting Industry: NO"),Software:e=>r.a.createElement(r.a.Fragment,null,"Develop computer software and create AI Cores.",r.a.createElement("br",null),r.a.createElement("br",null),"Starting cost: ",r.a.createElement(o.a,{money:l.Software,corp:e}),r.a.createElement("br",null),"Recommended starting Industry: YES"),Healthcare:e=>r.a.createElement(r.a.Fragment,null,"Create and manage hospitals.",r.a.createElement("br",null),r.a.createElement("br",null),"Starting cost: ",r.a.createElement(o.a,{money:l.Healthcare,corp:e}),r.a.createElement("br",null),"Recommended starting Industry: NO"),RealEstate:e=>r.a.createElement(r.a.Fragment,null,"Develop and manage real estate properties.",r.a.createElement("br",null),r.a.createElement("br",null),"Starting cost: ",r.a.createElement(o.a,{money:l.RealEstate,corp:e}),r.a.createElement("br",null),"Recommended starting Industry: NO")},u={Energy:Object(i.a)(),Utilities:Object(i.a)(),Agriculture:Object(i.a)(),Fishing:Object(i.a)(),Mining:Object(i.a)(),Food:Object(i.b)(),Tobacco:Object(i.b)(),Chemical:Object(i.a)(),Pharmaceutical:Object(i.b)(),Computer:Object(i.b)(),Robotics:Object(i.b)(),Software:Object(i.b)(),Healthcare:Object(i.b)(),RealEstate:Object(i.b)()};function m(){u.Energy=Object(i.a)(),u.Utilities=Object(i.a)(),u.Agriculture=Object(i.a)(),u.Fishing=Object(i.a)(),u.Mining=Object(i.a)(),u.Food=Object(i.a)(),u.Tobacco=Object(i.a)(),u.Chemical=Object(i.a)(),u.Pharmaceutical=Object(i.a)(),u.Computer=Object(i.a)(),u.Robotics=Object(i.a)(),u.Software=Object(i.a)(),u.Healthcare=Object(i.a)(),u.RealEstate=Object(i.a)()}},,,function(e,t,a){"use strict";let n;a.d(t,"a",(function(){return n})),function(e){e[e.Company=0]="Company",e[e.Gym=1]="Gym",e[e.Hospital=2]="Hospital",e[e.Slums=3]="Slums",e[e.Special=4]="Special",e[e.StockMarket=5]="StockMarket",e[e.TechVendor=6]="TechVendor",e[e.TravelAgency=7]="TravelAgency",e[e.University=8]="University",e[e.Casino=9]="Casino"}(n||(n={}))},,function(e,t,a){"use strict";a.d(t,"a",(function(){return n}));const n={CityNames:["Aevum","Chongqing","Sector-12","New Tokyo","Ishima","Volhaven"],CyclesPerSecond:5,StaminaGainPerSecond:.0085,BaseStaminaLoss:.285,MaxStaminaToGainFactor:7e4,DifficultyToTimeFactor:10,DiffMultExponentialFactor:.28,DiffMultLinearFactor:650,EffAgiLinearFactor:1e4,EffDexLinearFactor:1e4,EffAgiExponentialFactor:.04,EffDexExponentialFactor:.035,BaseRecruitmentTimeNeeded:300,PopulationThreshold:1e9,PopulationExponent:.7,ChaosThreshold:50,BaseStatGain:1,BaseIntGain:.003,ActionCountGrowthPeriod:480,RankToFactionRepFactor:2,RankNeededForFaction:25,ContractSuccessesPerLevel:3,OperationSuccessesPerLevel:2.5,RanksPerSkillPoint:3,ContractBaseMoneyGain:25e4,HrcHpGain:2,HrcStaminaGain:1}},function(e,t,a){"use strict";a.d(t,"a",(function(){return n}));const n={HackersStartingHandbook:"hackers-starting-handbook.lit",CorporationManagementHandbook:"corporation-management-handbook.lit",HistoryOfSynthoids:"history-of-synthoids.lit",AGreenTomorrow:"A-Green-Tomorrow.lit",AlphaOmega:"alpha-omega.lit",SimulatedReality:"simulated-reality.lit",BeyondMan:"beyond-man.lit",BrighterThanTheSun:"brighter-than-the-sun.lit",DemocracyIsDead:"democracy-is-dead.lit",Sector12Crime:"sector-12-crime.lit",ManAndMachine:"man-and-machine.lit",SecretSocieties:"secret-societies.lit",TheFailedFrontier:"the-failed-frontier.lit",CodedIntelligence:"coded-intelligence.lit",SyntheticMuscles:"synthetic-muscles.lit",TensionsInTechRace:"tensions-in-tech-race.lit",CostOfImmortality:"cost-of-immortality.lit",TheHiddenWorld:"the-hidden-world.lit",TheNewGod:"the-new-god.lit",NewTriads:"new-triads.lit",TheSecretWar:"the-secret-war.lit"}},function(e,t,a){"use strict";a.d(t,"a",(function(){return c}));var n=a(477),r=a(8),i=a(780),o=a(276),s=a(21);function l(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}class c extends n.a{constructor(e={hostname:"",ip:Object(o.a)()}){super(e),l(this,"backdoorInstalled",!1),l(this,"baseDifficulty",1),l(this,"hackDifficulty",1),l(this,"minDifficulty",1),l(this,"moneyAvailable",0),l(this,"moneyMax",0),l(this,"numOpenPortsRequired",5),l(this,"openPortCount",0),l(this,"purchasedByPlayer",!1),l(this,"requiredHackingSkill",1),l(this,"serverGrowth",1),this.hostname.startsWith("hacknet-node-")&&(this.hostname=Object(i.a)(10)),this.purchasedByPlayer=null!=e.purchasedByPlayer&&e.purchasedByPlayer,this.maxRam=null!=e.maxRam?e.maxRam:0,this.requiredHackingSkill=null!=e.requiredHackingSkill?e.requiredHackingSkill:1,this.moneyAvailable=null!=e.moneyAvailable?e.moneyAvailable*r.a.ServerStartingMoney:0,this.moneyMax=25*this.moneyAvailable*r.a.ServerMaxMoney,this.hackDifficulty=null!=e.hackDifficulty?e.hackDifficulty*r.a.ServerStartingSecurity:1,this.baseDifficulty=this.hackDifficulty,this.minDifficulty=Math.max(1,Math.round(this.hackDifficulty/3)),this.serverGrowth=null!=e.serverGrowth?e.serverGrowth:1,this.numOpenPortsRequired=null!=e.numOpenPortsRequired?e.numOpenPortsRequired:5}capDifficulty(){this.hackDifficulty100&&(this.hackDifficulty=100)}changeMinimumSecurity(e,t=!1){t?this.minDifficulty*=e:this.minDifficulty+=e,this.minDifficulty=Math.max(1,this.minDifficulty)}changeMaximumMoney(e,t=!1){t?this.moneyMax*=e:this.moneyMax+=e}fortify(e){this.hackDifficulty+=e,this.capDifficulty()}weaken(e){this.hackDifficulty-=e*r.a.ServerWeakenRate,this.capDifficulty()}toJSON(){return Object(s.b)("Server",this)}static fromJSON(e){return Object(s.a)(c,e.data)}}s.c.constructors.Server=c},function(e,t,a){"use strict";a.d(t,"g",(function(){return g})),a.d(t,"l",(function(){return y})),a.d(t,"h",(function(){return b})),a.d(t,"a",(function(){return E})),a.d(t,"b",(function(){return _})),a.d(t,"e",(function(){return v})),a.d(t,"f",(function(){return k})),a.d(t,"d",(function(){return w})),a.d(t,"c",(function(){return C})),a.d(t,"n",(function(){return S})),a.d(t,"o",(function(){return x})),a.d(t,"k",(function(){return O})),a.d(t,"j",(function(){return M})),a.d(t,"i",(function(){return T})),a.d(t,"p",(function(){return P})),a.d(t,"m",(function(){return A}));var n=a(248),r=a(230),i=a(206),o=a(37),s=a(89),l=a(322),c=a(249),u=a(323),m=a(39),h=a(36),p=a(44),d=a(57),f=a(63);function g(e){return 9===e.bitNodeN||f.a[9]>0}function y(e){if(m.a.isRunning){if(m.a.currStep!==m.f.HacknetNodesIntroduction)return-1;Object(m.c)()}const t=e.hacknetNodes.length;if(g(e)){const a=_(e);if(isNaN(a))throw new Error("Calculated cost of purchasing HacknetServer is NaN");return e.canAfford(a)?(e.loseMoney(a),e.createHacknetServer(),P(e),t):-1}{const a=E(e);if(isNaN(a))throw new Error("Calculated cost of purchasing HacknetNode is NaN");if(!e.canAfford(a))return-1;const r="hacknet-node-"+t,i=new n.a(r,e.hacknet_node_money_mult);return e.loseMoney(a),e.hacknetNodes.push(i),t}}function b(e){return g(e)&&e.hacknetNodes.length>=o.b.MaxServers}function E(e){return Object(r.d)(e.hacknetNodes.length+1,e.hacknet_node_purchase_cost_mult)}function _(e){return Object(i.f)(e.hacknetNodes.length+1,e.hacknet_node_purchase_cost_mult)}function v(e,t,a){if(null==a)throw new Error("getMaxNumberLevelUpgrades() called without maxLevel arg");if(e.money.lt(t.calculateLevelUpgradeCost(1,e.hacknet_node_level_cost_mult)))return 0;let n=1,r=a-1;const i=a-t.level;if(e.money.gt(t.calculateLevelUpgradeCost(i,e.hacknet_node_level_cost_mult)))return i;for(;n<=r;){const o=(n+r)/2|0;if(o!==a&&e.money.gt(t.calculateLevelUpgradeCost(o,e.hacknet_node_level_cost_mult))&&e.money.lt(t.calculateLevelUpgradeCost(o+1,e.hacknet_node_level_cost_mult)))return Math.min(i,o);if(e.money.lt(t.calculateLevelUpgradeCost(o,e.hacknet_node_level_cost_mult)))r=o-1;else{if(!e.money.gt(t.calculateLevelUpgradeCost(o,e.hacknet_node_level_cost_mult)))return Math.min(i,o);n=o+1}}return 0}function k(e,t,a){if(null==a)throw new Error("getMaxNumberRamUpgrades() called without maxLevel arg");if(e.money.lt(t.calculateRamUpgradeCost(1,e.hacknet_node_ram_cost_mult)))return 0;let n;if(n=t instanceof s.a?Math.round(Math.log2(a/t.maxRam)):Math.round(Math.log2(a/t.ram)),e.money.gt(t.calculateRamUpgradeCost(n,e.hacknet_node_ram_cost_mult)))return n;for(let a=n-1;a>=0;--a)if(e.money.gt(t.calculateRamUpgradeCost(a,e.hacknet_node_ram_cost_mult)))return a;return 0}function w(e,t,a){if(null==a)throw new Error("getMaxNumberCoreUpgrades() called without maxLevel arg");if(e.money.lt(t.calculateCoreUpgradeCost(1,e.hacknet_node_core_cost_mult)))return 0;let n=1,r=a-1;const i=a-t.cores;if(e.money.gt(t.calculateCoreUpgradeCost(i,e.hacknet_node_core_cost_mult)))return i;for(;n<=r;){const o=(n+r)/2|0;if(o!=a&&e.money.gt(t.calculateCoreUpgradeCost(o,e.hacknet_node_core_cost_mult))&&e.money.lt(t.calculateCoreUpgradeCost(o+1,e.hacknet_node_core_cost_mult)))return Math.min(i,o);if(e.money.lt(t.calculateCoreUpgradeCost(o,e.hacknet_node_core_cost_mult)))r=o-1;else{if(!e.money.gt(t.calculateCoreUpgradeCost(o,e.hacknet_node_core_cost_mult)))return Math.min(i,o);n=o+1}}return 0}function C(e,t,a){if(null==a)throw new Error("getMaxNumberCacheUpgrades() called without maxLevel arg");if(!e.canAfford(t.calculateCacheUpgradeCost(1)))return 0;let n=1,r=a-1;const i=a-t.cache;if(e.canAfford(t.calculateCacheUpgradeCost(i)))return i;for(;n<=r;){const o=(n+r)/2|0;if(o!=a&&e.canAfford(t.calculateCacheUpgradeCost(o))&&!e.canAfford(t.calculateCacheUpgradeCost(o+1)))return Math.min(i,o);if(e.canAfford(t.calculateCacheUpgradeCost(o))){if(!e.canAfford(t.calculateCacheUpgradeCost(o)))return Math.min(i,o);n=o+1}else r=o-1}return 0}function S(e,t,a=1){const n=Math.round(a),r=t.calculateLevelUpgradeCost(n,e.hacknet_node_level_cost_mult);if(isNaN(r)||r<=0||n<0)return!1;const i=t instanceof s.a;if(t.level>=(i?o.b.MaxLevel:o.a.MaxLevel))return!1;if(t.level+n>(i?o.b.MaxLevel:o.a.MaxLevel)){return S(e,t,Math.max(0,(i?o.b.MaxLevel:o.a.MaxLevel)-t.level))}return!!e.canAfford(r)&&(e.loseMoney(r),t.upgradeLevel(n,e.hacknet_node_money_mult),!0)}function x(e,t,a=1){const r=Math.round(a),i=t.calculateRamUpgradeCost(r,e.hacknet_node_ram_cost_mult);if(isNaN(i)||i<=0||r<0)return!1;if(t instanceof s.a&&t.maxRam>=o.b.MaxRam)return!1;if(t instanceof n.a&&t.ram>=o.a.MaxRam)return!1;if(t instanceof s.a){if(t.maxRam*Math.pow(2,r)>o.b.MaxRam){return x(e,t,Math.max(0,Math.log2(Math.round(o.b.MaxRam/t.maxRam))))}}else if(t instanceof n.a&&t.ram*Math.pow(2,r)>o.a.MaxRam){return x(e,t,Math.max(0,Math.log2(Math.round(o.a.MaxRam/t.ram))))}return!!e.canAfford(i)&&(e.loseMoney(i),t.upgradeRam(r,e.hacknet_node_money_mult),!0)}function O(e,t,a=1){const n=Math.round(a),r=t.calculateCoreUpgradeCost(n,e.hacknet_node_core_cost_mult);if(isNaN(r)||r<=0||n<0)return!1;const i=t instanceof s.a;if(t.cores>=(i?o.b.MaxCores:o.a.MaxCores))return!1;if(t.cores+n>(i?o.b.MaxCores:o.a.MaxCores)){return O(e,t,Math.max(0,(i?o.b.MaxCores:o.a.MaxCores)-t.cores))}return!!e.canAfford(r)&&(e.loseMoney(r),t.upgradeCore(n,e.hacknet_node_money_mult),!0)}function M(e,t,a=1){const n=Math.round(a),r=t.calculateCacheUpgradeCost(n);if(isNaN(r)||r<=0||n<0)return!1;if(!(t instanceof s.a))return console.warn("purchaseCacheUpgrade() called for a non-HacknetNode"),!1;if(t.cache+n>o.b.MaxCache){return M(e,t,Math.max(0,o.b.MaxCache-t.cache))}return!!e.canAfford(r)&&(e.loseMoney(r),t.upgradeCache(n),!0)}function T(e,t){return 0===e.hacknetNodes.length?0:g(e)?function(e,t){if(!(e.hashManager instanceof l.a))throw new Error("Player does not have a HashManager (should be in 'hashManager' prop)");let a=0;for(let r=0;r{var t;null!=o[(t=e).name]&&console.warn("Duplicate Company Position being defined: "+t.name),o[t.name]=new r.a(t)});for(const t in o){const a=o[t];e[t]instanceof r.a?(a.favor=e[t].favor,isNaN(a.favor)&&(a.favor=0)):a.favor=0}}function l(e){o=JSON.parse(e,i.c)}},,,,function(e,t,a){"use strict";a.d(t,"a",(function(){return r})),a.d(t,"b",(function(){return i}));var n=a(6);const r=Array(n.a.TotalNumBitNodes+1);function i(e){for(let e=0;e_data_Constants__WEBPACK_IMPORTED_MODULE_2__.a.DividendMaxPercentage)throw new Error("Invalid value. Must be an integer between 0 and "+_data_Constants__WEBPACK_IMPORTED_MODULE_2__.a.DividendMaxPercentage);e.dividendPercentage=100*t}function SellMaterial(mat,amt,price){""===price&&(price="0"),""===amt&&(amt="0");let cost=price.replace(/\s+/g,"");cost=cost.replace(/[^-()\d/*+.MP]/g,"");let temp=cost.replace(/MP/g,mat.bCost+"");try{temp=eval(temp)}catch(e){throw new Error("Invalid value or expression for sell price field: "+e)}if(null==temp||isNaN(parseFloat(temp)))throw new Error("Invalid value or expression for sell price field");if(cost.includes("MP")?mat.sCost=cost:mat.sCost=temp,amt.includes("MAX")||amt.includes("PROD")){let q=amt.replace(/\s+/g,"");q=q.replace(/[^-()\d/*+.MAXPROD]/g,"");let tempQty=q.replace(/MAX/g,"1");tempQty=tempQty.replace(/PROD/g,"1");try{tempQty=eval(tempQty)}catch(e){throw new Error("Invalid value or expression for sell price field: "+e)}if(null==tempQty||isNaN(parseFloat(tempQty)))throw new Error("Invalid value or expression for sell price field");mat.sllman[0]=!0,mat.sllman[1]=q}else{if(isNaN(parseFloat(amt)))throw new Error("Invalid value for sell quantity field! Must be numeric or 'MAX'");{let e=parseFloat(amt);isNaN(e)&&(e=0),0===e?(mat.sllman[0]=!1,mat.sllman[1]=0):(mat.sllman[0]=!0,mat.sllman[1]=e)}}}function SellProduct(product,city,amt,price,all){if(price.includes("MP")){price=price.replace(/\s+/g,""),price=price.replace(/[^-()\d/*+.MP]/g,"");let temp=price.replace(/MP/g,"1");try{temp=eval(temp)}catch(e){throw new Error("Invalid value or expression for sell quantity field: "+e)}if(null==temp||isNaN(parseFloat(temp)))throw new Error("Invalid value or expression for sell quantity field.");product.sCost=price}else{const e=parseFloat(price);if(isNaN(e))throw new Error("Invalid value for sell price field");product.sCost=e}const cities=Object.keys(_Locations_Cities__WEBPACK_IMPORTED_MODULE_6__.a);if(amt.includes("MAX")||amt.includes("PROD")){let qty=amt.replace(/\s+/g,"");qty=qty.replace(/[^-()\d/*+.MAXPROD]/g,"");let temp=qty.replace(/MAX/g,"1");temp=temp.replace(/PROD/g,"1");try{temp=eval(temp)}catch(e){throw new Error("Invalid value or expression for sell price field: "+e)}if(null==temp||isNaN(parseFloat(temp)))throw new Error("Invalid value or expression for sell price field");if(all)for(let e=0;e]/g,""),createCity:a,designCost:r,advCost:i});if(t.products[o.name]instanceof _Product__WEBPACK_IMPORTED_MODULE_4__.a)throw new Error("You already have a product with this name!");e.funds=e.funds.minus(r+i),t.products[o.name]=o}function Research(e,t){const a=_IndustryData__WEBPACK_IMPORTED_MODULE_0__.c[e.type];if(void 0===a)throw new Error(`No research tree for industry '${e.type}'`);if(!a.getAllNodes().includes(t))throw new Error(`No research named '${t}'`);const n=_ResearchMap__WEBPACK_IMPORTED_MODULE_9__.a[t];if(e.sciResearch.qty{var t;null!=i[(t=e).name]&&console.warn("Duplicate Company Position being defined: "+t.name),i[t.name]=new r.a(t)})},,,,,,function(e,t,a){"use strict";a.d(t,"a",(function(){return r}));var n=a(9);const r={};r[n.a.AevumECorp]="ECP",r[n.a.Sector12MegaCorp]="MGCP",r[n.a.Sector12BladeIndustries]="BLD",r[n.a.AevumClarkeIncorporated]="CLRK",r[n.a.VolhavenOmniTekIncorporated]="OMTK",r[n.a.Sector12FourSigma]="FSIG",r[n.a.ChongqingKuaiGongInternational]="KGI",r[n.a.AevumFulcrumTechnologies]="FLCM",r[n.a.IshimaStormTechnologies]="STM",r[n.a.NewTokyoDefComm]="DCOMM",r[n.a.VolhavenHeliosLabs]="HLS",r[n.a.NewTokyoVitaLife]="VITA",r[n.a.Sector12IcarusMicrosystems]="ICRS",r[n.a.Sector12UniversalEnergy]="UNV",r[n.a.AevumAeroCorp]="AERO",r[n.a.VolhavenOmniaCybersystems]="OMN",r[n.a.ChongqingSolarisSpaceSystems]="SLRS",r[n.a.NewTokyoGlobalPharmaceuticals]="GPH",r[n.a.IshimaNovaMedical]="NVMD",r[n.a.AevumWatchdogSecurity]="WDS",r[n.a.VolhavenLexoCorp]="LXO",r[n.a.AevumRhoConstruction]="RHOC",r[n.a.Sector12AlphaEnterprises]="APHE",r[n.a.VolhavenSysCoreSecurities]="SYSC",r[n.a.VolhavenCompuTek]="CTK",r[n.a.AevumNetLinkTechnologies]="NTLK",r[n.a.IshimaOmegaSoftware]="OMGA",r[n.a.Sector12FoodNStuff]="FNS",r["Sigma Cosmetics"]="SGC",r["Joes Guns"]="JGN",r["Catalyst Ventures"]="CTYS",r["Microdyne Technologies"]="MDYN",r["Titan Laboratories"]="TITN"},function(e,t,a){"use strict";a.d(t,"a",(function(){return u}));var n=a(6),r=a(477),i=a(37),o=a(206),s=a(276),l=a(21);function c(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}class u extends r.a{constructor(e={hostname:"",ip:Object(s.a)()}){super(e),c(this,"cache",1),c(this,"cores",1),c(this,"hashCapacity",0),c(this,"hashRate",0),c(this,"level",1),c(this,"onlineTimeSeconds",0),c(this,"totalHashesGenerated",0),this.maxRam=1,this.updateHashCapacity()}calculateCacheUpgradeCost(e){return Object(o.a)(this.cache,e)}calculateCoreUpgradeCost(e,t){return Object(o.b)(this.cores,e,t)}calculateLevelUpgradeCost(e,t){return Object(o.d)(this.level,e,t)}calculateRamUpgradeCost(e,t){return Object(o.e)(this.maxRam,e,t)}process(e=1){const t=e*n.a.MilliPerCycle/1e3;return this.hashRate*t}upgradeCache(e){this.cache=Math.min(i.b.MaxCache,Math.round(this.cache+e)),this.updateHashCapacity()}upgradeCore(e,t){this.cores=Math.min(i.b.MaxCores,Math.round(this.cores+e)),this.updateHashRate(t)}upgradeLevel(e,t){this.level=Math.min(i.b.MaxLevel,Math.round(this.level+e)),this.updateHashRate(t)}upgradeRam(e,t){for(let t=0;t=t.cap&&(o=.1,t.b=!1),isNaN(o)&&(o=.5);const s=Math.random(),u={stockMarket:g,symbolToStockMap:y};s{const t={c:this,onClose:()=>{e(c.Cancelled)},onAttempt:t=>{this.isSolution(t)?e(c.Success):e(c.Failure)}};i.a.emit(t)})}toJSON(){return Object(r.b)("CodingContract",this)}static fromJSON(e){return Object(r.a)(u,e.data)}}r.c.constructors.CodingContract=u},function(e,t,a){"use strict";let n;a.d(t,"a",(function(){return n})),function(e){e.LimitBuy="Limit Buy Order",e.LimitSell="Limit Sell Order",e.StopBuy="Stop Buy Order",e.StopSell="Stop Sell Order"}(n||(n={}))},function(e,t,a){"use strict";a.d(t,"b",(function(){return i})),a.d(t,"c",(function(){return o})),a.d(t,"e",(function(){return s})),a.d(t,"d",(function(){return l})),a.d(t,"a",(function(){return c})),a.d(t,"f",(function(){return u}));var n=a(8),r=a(353);function i(e,t){const a=(100-e.hackDifficulty)/100,n=1.75*t.hacking_skill,i=(n-e.requiredHackingSkill)/n*a*t.hacking_chance_mult*Object(r.a)(t.intelligence,1);return i>1?1:i<0?0:i}function o(e,t){null==e.baseDifficulty&&(e.baseDifficulty=e.hackDifficulty);let a=3;return a+=e.baseDifficulty*t.hacking_exp_mult*.3,a*n.a.HackExpGain}function s(e,t){const a=(100-e.hackDifficulty)/100*((t.hacking_skill-(e.requiredHackingSkill-1))/t.hacking_skill)*t.hacking_money_mult/240;return a<0?0:a>1?1:a*n.a.ScriptHackMoney}function l(e,t){let a=2.5*(e.requiredHackingSkill*e.hackDifficulty)+500;a/=t.hacking_skill+50;return 5*a/(t.hacking_speed_mult*Object(r.a)(t.intelligence,1))}function c(e,t){return 3.2*l(e,t)}function u(e,t){return 4*l(e,t)}},,,,,,function(e,t,a){"use strict";function n(e){return e.endsWith(".js")||e.endsWith(".script")||e.endsWith(".ns")}a.d(t,"a",(function(){return n}))},function(e,t,a){"use strict";a.d(t,"a",(function(){return l}));var n=a(0),r=a(4),i=a(132),o=a(161);const s=Object(i.a)(e=>Object(o.a)({reputation:{color:e.colors.rep}}));function l({reputation:e}){const t=s();return n.createElement("span",{className:t.reputation},"number"==typeof e?r.a.formatReputation(e):e)}},,,,,function(e,t,a){"use strict";a.d(t,"a",(function(){return s}));var n=a(0),r=a.n(n),i=a(4),o=a(18);function s({money:e}){return r.a.createElement(o.a,{money:i.a.formatMoney(e)+" / sec"})}},function(e,t,a){"use strict";a.d(t,"a",(function(){return s})),a.d(t,"b",(function(){return l}));var n=a(321),r=a(547);function i(e){const t=n.a[e];if(null==t)throw new Error("Invalid research name: "+e);return new r.a({text:t.name,cost:t.cost})}function o(){const e=i("Hi-Tech R&D Laboratory"),t=i("AutoBrew"),a=i("AutoPartyManager"),n=i("Automatic Drug Administration"),r=i("Bulk Purchasing"),o=i("CPH4 Injections"),s=i("Drones"),l=i("Drones - Assembly"),c=i("Drones - Transport"),u=i("Go-Juice"),m=i("HRBuddy-Recruitment"),h=i("HRBuddy-Training"),p=i("JoyWire"),d=i("Market-TA.I"),f=i("Market-TA.II"),g=i("Overclock"),y=i("Self-Correcting Assemblers"),b=i("Sti.mu");return n.addChild(u),n.addChild(o),s.addChild(l),s.addChild(c),m.addChild(h),d.addChild(f),g.addChild(b),e.addChild(t),e.addChild(a),e.addChild(n),e.addChild(r),e.addChild(s),e.addChild(m),e.addChild(p),e.addChild(d),e.addChild(g),e.addChild(y),e}function s(){const e=new r.b;return e.setRoot(o()),e}function l(){const e=new r.b,t=o(),a=i("uPgrade: Fulcrum"),n=i("uPgrade: Capacity.I"),s=i("uPgrade: Capacity.II"),l=i("uPgrade: Dashboard");return n.addChild(s),a.addChild(n),a.addChild(l),t.addChild(a),e.setRoot(t),e}},function(e,t,a){"use strict";function n(e){return e.startsWith("/")?e.slice(1):e}function r(e){return e.endsWith("/")?e.slice(0,-1):e}function i(e){return null!=e.match(/^[.a-zA-Z0-9_-]+[.][a-zA-Z0-9]+(?:-\d+(?:\.\d*)?%-INC)?$/)}function o(e){let t=e;if(0===t.length)return!1;if(1===t.length)return"/"===t;if(!t.startsWith("/"))return!1;t=t.slice(1),t=r(t);const a=t.split("/");for(const e of a)if("."!==e&&".."!==e&&null==e.match(/^.?[a-zA-Z0-9_-]+$/))return!1;return!0}function s(e){if(null==e||"string"!=typeof e)return!1;const t=e;if(t.length<3)return!1;if(t.endsWith("/"))return!1;const a=t.lastIndexOf("/");if(-1===a)return i(t);const n=t.slice(a+1);return o(t.slice(0,a+1))&&i(n)}function l(e){let t=e;if(t=n(t),t=r(t),-1===t.lastIndexOf("/"))return"/";const a=t.split("/");return 0===a.length?"/":a[0]+"/"}function c(e){const t=e,a=t.lastIndexOf("/");return-1===a?"":t.slice(0,a+1)}function u(e){return!!s(e)&&(null!=e&&0!==e.length&&e.lastIndexOf("/")<=0)}function m(e,t){let a=e;if(a.startsWith("/")||null==t||(a=t+(t.endsWith("/")?"":"/")+a),!o(a))return null;a=n(a),a=r(a);const i=a.split("/"),s=[];for(const e of i)if("."!==e)if(".."===e){if(null==s.pop())return null}else s.push(e);return"/"+s.join("/")}function h(e,t){let a=e;if(a.startsWith("/")||null==t||(a=t+(t.endsWith("/")?"":"/")+a),!s(a))return null;a=n(a);const r=a.split("/"),i=[];for(const e of r)if("."!==e)if(".."===e){if(null==i.pop())return null}else i.push(e);return"/"+i.join("/")}a.d(t,"h",(function(){return n})),a.d(t,"i",(function(){return r})),a.d(t,"f",(function(){return o})),a.d(t,"g",(function(){return s})),a.d(t,"d",(function(){return l})),a.d(t,"c",(function(){return c})),a.d(t,"e",(function(){return u})),a.d(t,"a",(function(){return m})),a.d(t,"b",(function(){return h}))},function(e,t,a){"use strict";a.d(t,"b",(function(){return ue})),a.d(t,"a",(function(){return me}));var n=a(0),r=a.n(n),i=a(152),o=a(282),s=a(327),l=a(9),c=a(221),u=a(39),m=a(808),h=a(324),p=a(311),d=a(15),f=a(36),g=a(24),y=a(207),b=a(92),E=a(132),_=a(161),v=a(31),k=a(1),w=a(30),C=a(812),S=a(816),x=a(834),O=a(844),M=a(862),T=a(894),R=a(909),P=a(952),A=a(966),N=a(969),I=a(970),F=a(1009),j=a(1018),D=a(633),B=a(1049),L=a(1050),G=a(1051),W=a(1067),H=a(1068),U=a(1073),q=a(1074),K=a(1084),$=a(1085),z=a(1095),V=a(535),Y=a(1097),J=a(1106),X=a(1109),Q=a(1111),Z=a(182),ee=a(1112),te=a(503),ae=a(247),ne=a(352),re=a(498),ie=a(224),oe=a(26);const se=Object(E.a)(e=>Object(_.a)({root:{"-ms-overflow-style":"none","scrollbar-width":"none",margin:e.spacing(0)}}));let le="",ce="",ue={page:()=>{throw new Error("Router called before initialization")},toActiveScripts:()=>{throw new Error("Router called before initialization")},toAugmentations:()=>{throw new Error("Router called before initialization")},toBitVerse:()=>{throw new Error("Router called before initialization")},toBladeburner:()=>{throw new Error("Router called before initialization")},toStats:()=>{throw new Error("Router called before initialization")},toCity:()=>{throw new Error("Router called before initialization")},toCorporation:()=>{throw new Error("Router called before initialization")},toCreateProgram:()=>{throw new Error("Router called before initialization")},toDevMenu:()=>{throw new Error("Router called before initialization")},toFaction:()=>{throw new Error("Router called before initialization")},toFactions:()=>{throw new Error("Router called before initialization")},toGameOptions:()=>{throw new Error("Router called before initialization")},toGang:()=>{throw new Error("Router called before initialization")},toHacknetNodes:()=>{throw new Error("Router called before initialization")},toInfiltration:()=>{throw new Error("Router called before initialization")},toJob:()=>{throw new Error("Router called before initialization")},toMilestones:()=>{throw new Error("Router called before initialization")},toResleeves:()=>{throw new Error("Router called before initialization")},toScriptEditor:()=>{throw new Error("Router called before initialization")},toSleeves:()=>{throw new Error("Router called before initialization")},toStockMarket:()=>{throw new Error("Router called before initialization")},toTerminal:()=>{throw new Error("Router called before initialization")},toTravel:()=>{throw new Error("Router called before initialization")},toTutorial:()=>{throw new Error("Router called before initialization")},toWork:()=>{throw new Error("Router called before initialization")},toBladeburnerCinematic:()=>{throw new Error("Router called before initialization")},toLocation:()=>{throw new Error("Router called before initialization")}};function me({player:e,engine:t,terminal:a}){const E=se(),[_,me]=Object(n.useState)(function(e){return e.isWorking?w.a.Work:w.a.Terminal}(e)),he=Object(n.useState)(0)[1],[pe,de]=Object(n.useState)(e.currentWorkFactionName?g.a[e.currentWorkFactionName]:void 0);if(void 0===pe&&_===w.a.Faction)throw new Error("Trying to go to a page without the proper setup");const[fe,ge]=Object(n.useState)(!1),[ye,be]=Object(n.useState)(!1),[Ee,_e]=Object(n.useState)(void 0);if(void 0===Ee&&(_===w.a.Infiltration||_===w.a.Location||_===w.a.Job))throw new Error("Trying to go to a page without the proper setup");const[ve,ke]=Object(n.useState)("");function we(){he(e=>e+1)}return Object(n.useEffect)(()=>h.a.subscribe(we),[]),ue={page:()=>_,toActiveScripts:()=>me(w.a.ActiveScripts),toAugmentations:()=>me(w.a.Augmentations),toBladeburner:()=>me(w.a.Bladeburner),toStats:()=>me(w.a.Stats),toCorporation:()=>me(w.a.Corporation),toCreateProgram:()=>me(w.a.CreateProgram),toDevMenu:()=>me(w.a.DevMenu),toFaction:e=>{me(w.a.Faction),e&&de(e)},toFactions:()=>me(w.a.Factions),toGameOptions:()=>me(w.a.Options),toGang:()=>me(w.a.Gang),toHacknetNodes:()=>me(w.a.Hacknet),toMilestones:()=>me(w.a.Milestones),toResleeves:()=>me(w.a.Resleeves),toScriptEditor:(e,t)=>{le=e,ce=t,me(w.a.CreateScript)},toSleeves:()=>me(w.a.Sleeves),toStockMarket:()=>me(w.a.StockMarket),toTerminal:()=>me(w.a.Terminal),toTutorial:()=>me(w.a.Tutorial),toJob:()=>{_e(c.a[e.companyName]),me(w.a.Job)},toCity:()=>{me(w.a.City)},toTravel:()=>{e.gotoLocation(l.a.TravelAgency),me(w.a.Travel)},toBitVerse:(e,t)=>{ge(e),be(t),me(w.a.BitVerse)},toInfiltration:e=>{_e(e),me(w.a.Infiltration)},toWork:()=>me(w.a.Work),toBladeburnerCinematic:()=>{me(w.a.BladeburnerCinematic),ke(ve)},toLocation:e=>{_e(e),me(w.a.Location)}},Object(n.useEffect)(()=>{le="",ce="",_!==w.a.Terminal&&window.scrollTo(0,0)}),r.a.createElement(oe.a.Player.Provider,{value:e},r.a.createElement(oe.a.Router.Provider,{value:ue},r.a.createElement(C.a,null,u.a.isRunning?r.a.createElement(m.a,null):r.a.createElement(X.a,{save:()=>o.b.saveGame()})),_===w.a.BitVerse?r.a.createElement(J.a,{flume:fe,enter:ie.a,quick:ye}):_===w.a.Infiltration?r.a.createElement(P.a,{location:Ee}):_===w.a.BladeburnerCinematic?r.a.createElement(Q.a,null):_===w.a.Work?r.a.createElement(N.a,null):r.a.createElement(v.a,{display:"flex",flexDirection:"row",width:"100%"},r.a.createElement(S.a,{player:e,router:ue,page:_}),r.a.createElement(v.a,{className:E.root,flexGrow:1,display:"block",px:1,height:"100vh"},_===w.a.Terminal?r.a.createElement(H.a,{terminal:a,router:ue,player:e}):_===w.a.Sleeves?r.a.createElement(F.a,null):_===w.a.Stats?r.a.createElement(z.a,null):_===w.a.CreateScript?r.a.createElement(G.a,{filename:le,code:ce,player:e,router:ue}):_===w.a.ActiveScripts?r.a.createElement(q.a,{workerScripts:Z.a}):_===w.a.Hacknet?r.a.createElement(j.a,{player:e}):_===w.a.CreateProgram?r.a.createElement(L.a,null):_===w.a.Factions?r.a.createElement(K.a,{player:e,router:ue}):_===w.a.Faction?r.a.createElement($.a,{faction:pe}):_===w.a.Milestones?r.a.createElement(W.a,{player:e}):_===w.a.Tutorial?r.a.createElement(U.a,null):_===w.a.DevMenu?r.a.createElement(O.a,{player:e,engine:t,router:ue}):_===w.a.Gang?r.a.createElement(T.a,null):_===w.a.Corporation?r.a.createElement(R.a,null):_===w.a.Bladeburner?r.a.createElement(M.a,null):_===w.a.Resleeves?r.a.createElement(A.a,null):_===w.a.Travel?r.a.createElement(V.a,{p:e,router:ue}):_===w.a.StockMarket?r.a.createElement(Y.a,{buyStockLong:y.a,buyStockShort:y.d,cancelOrder:b.c,eventEmitterForReset:b.e,initStockMarket:b.g,p:e,placeOrder:b.j,sellStockLong:y.c,sellStockShort:y.b,stockMarket:b.a}):_===w.a.City?r.a.createElement(B.a,null):_===w.a.Job||_===w.a.Location?r.a.createElement(D.a,{loc:Ee}):_===w.a.Options?r.a.createElement(I.a,{player:e,save:()=>o.b.saveGame(),export:()=>o.b.exportGame(),forceKill:()=>{for(const e of Object.keys(f.b))f.b[e].runningScripts=[];Object(d.a)("Forcefully deleted all running scripts. Please save and refresh page.")},softReset:()=>{Object(d.a)("Soft Reset!"),Object(p.a)(),ue.toTerminal()}}):_===w.a.Augmentations?r.a.createElement(x.a,{exportGameFn:()=>{o.b.exportGame(),Object(s.c)(e)},installAugmentationsFn:()=>{Object(i.d)(),ue.toTerminal()}}):r.a.createElement(r.a.Fragment,null,r.a.createElement(k.a,null,"Cannot load")))),r.a.createElement(ee.a,null),r.a.createElement(te.b,null),r.a.createElement(ae.b,null),r.a.createElement(ne.b,null),r.a.createElement(re.b,null)))}},,,function(e,t,a){"use strict";a.d(t,"a",(function(){return u}));var n=a(0),r=a.n(n),i=a(41),o=a(189),s=a(238),l=a(66),c=a(1);function u({rows:e,title:t,wide:a}){const n=a?s.a:i.a;return r.a.createElement(r.a.Fragment,null,t&&r.a.createElement(c.a,null,t),r.a.createElement(n,{size:"small",padding:"none"},r.a.createElement(o.a,null,e.map((e,t)=>r.a.createElement(l.a,{key:t},e.map((e,t)=>r.a.createElement(i.b,{key:t,align:0!==t?"right":"left"},r.a.createElement(c.a,{noWrap:!0},e))))))))}},function(e,t,a){"use strict";a.d(t,"a",(function(){return i}));var n=a(304),r=a(21);class i extends n.a{constructor(e=null){super(e),this.count=1}getActionTimePenalty(){return 1.5}getChaosCompetencePenalty(){return 1}getChaosDifficultyBonus(){return 1}toJSON(){return Object(r.b)("BlackOperation",this)}static fromJSON(e){return Object(r.a)(i,e.data)}}r.c.constructors.BlackOperation=i},function(e,t,a){"use strict";a.d(t,"c",(function(){return g})),a.d(t,"d",(function(){return y})),a.d(t,"b",(function(){return b})),a.d(t,"f",(function(){return E})),a.d(t,"a",(function(){return _})),a.d(t,"e",(function(){return v}));var n=a(20),r=a(312),i=a(7),o=a(8),s=a(6),l=a(172),c=a(24),u=a(2),m=a(14),h=a(214),p=a(63),d=a(15),f=a(498);function g(e){u.a.factionInvitations.push(e.name),e.alreadyInvited=!0,m.a.SuppressFactionInvites||f.a.emit(e)}function y(e){if(e.isMember)return;e.isMember=!0,u.a.factions.push(e.name);const t=e.getInfo();for(const e in t.enemies){const a=t.enemies[e];c.a[a]instanceof l.a&&(c.a[a].isBanned=!0)}for(let t=0;t0)for(let a=0;aObject(o.a)({unbuyable:{color:e.palette.action.disabled},money:{color:e.colors.money}}));function l(e){const t=s();return e.corp.funds.gt(e.money)?n.createElement("span",{className:t.money},r.a.formatMoney(e.money)):n.createElement("span",{className:t.unbuyable},r.a.formatMoney(e.money))}},,,function(e,t,a){"use strict";a.d(t,"a",(function(){return i}));var n=a(21);function r(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}class i{constructor(e="",t=""){r(this,"filename",""),r(this,"msg",""),r(this,"recvd",!1),this.filename=e,this.msg=t,this.recvd=!1}toJSON(){return Object(n.b)("Message",this)}static fromJSON(e){return Object(n.a)(i,e.data)}}n.c.constructors.Message=i},,function(e,t,a){"use strict";a.d(t,"a",(function(){return n}));const n={BladesIntuition:"Blade's Intuition",Cloak:"Cloak",Marksman:"Marksman",WeaponProficiency:"Weapon Proficiency",ShortCircuit:"Short-Circuit",DigitalObserver:"Digital Observer",Tracer:"Tracer",Overclock:"Overclock",Reaper:"Reaper",EvasiveSystem:"Evasive System",Datamancer:"Datamancer",CybersEdge:"Cyber's Edge",HandsOfMidas:"Hands of Midas",Hyperdrive:"Hyperdrive"}},function(e,t,a){"use strict";a.d(t,"a",(function(){return r})),a.d(t,"b",(function(){return i}));var n=a(0);const r={Gang:a.n(n).a.createContext({})},i=()=>Object(n.useContext)(r.Gang)},function(e,t,a){"use strict";a.d(t,"a",(function(){return u}));var n=a(286),r=a(182),i=a(255),o=a(315),s=a(36),l=a(277),c=a(351);function u(e,t,a){if(null!=a&&"boolean"==typeof a||(a=!0),e instanceof n.a)return h(e),!0;if(e instanceof o.a&&"string"==typeof t){const n=m(e.pid,a);if(n)return n;for(const n of r.a.values())if(n.name==e.filename&&n.serverIp==t&&Object(l.a)(n.args,e.args))return h(n,a),!0;return!1}return"number"==typeof e?m(e,a):(console.error("killWorkerScript() called with invalid argument:"),console.error(e),!1)}function m(e,t=!0){const a=r.a.get(e);return a instanceof n.a&&(h(a,t),!0)}function h(e,t=!0){e.env.stopFlag=!0,function(e){e instanceof n.a&&e.delay&&(clearTimeout(e.delay),e.delayResolve&&e.delayResolve())}(e),function(e,t=!0){if(!(e instanceof n.a))return console.error("Invalid argument passed into removeWorkerScript():"),void console.error(e);{const a=e.serverIp,n=e.name,o=s.b[a];if(null==o)return void console.error("Could not find server on which this script is running: "+a);o.ramUsed=Object(c.a)(o.ramUsed-e.ramUsage),o.ramUsed<0&&(console.warn(`Server (${o.hostname}) RAM usage went negative (if it's due to floating pt imprecision, it's okay): ${o.ramUsed}`),o.ramUsed=0);for(let t=0;t100?this.otlkMagForecast=100:this.otlkMagForecast<0&&(this.otlkMagForecast=0)}changePrice(e){this.lastPrice=this.price,this.price=e}cycleForecast(e=.1){const t=this.getForecastIncreaseChance();Math.random()5&&(this.otlkMag=Math.max(5,this.otlkMag-e))}influenceForecastForecast(e){this.otlkMagForecast>50?(this.otlkMagForecast-=e,this.otlkMagForecast=Math.max(50,this.otlkMagForecast)):this.otlkMagForecast<50&&(this.otlkMagForecast+=e,this.otlkMagForecast=Math.min(50,this.otlkMagForecast))}toJSON(){return Object(n.b)("Stock",this)}static fromJSON(e){return Object(n.a)(s,e.data)}}n.c.constructors.Stock=s},function(e,t,a){"use strict";a.d(t,"a",(function(){return n}));const n={}},,,function(e,t,a){"use strict";function n(){return"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,(function(e){const t=16*Math.random()|0;return("x"==e?t:3&t|8).toString(16)}))}a.d(t,"a",(function(){return r}));class r{constructor(){var e,t,a;a={},(t="subscribers")in(e=this)?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a}subscribe(e){let t=n();for(;void 0!==this.subscribers[t];)t=n();return this.subscribers[t]=e,()=>{delete this.subscribers[t]}}emit(...e){for(const t in this.subscribers){const a=this.subscribers[t];void 0!==a&&a(...e)}}}},,,,,function(e,t,a){"use strict";a.d(t,"a",(function(){return g}));var n=a(0),r=a.n(n),i=a(513),o=a.n(i),s=a(848),l=a.n(s),c=a(100),u=a(514),m=a.n(u),h=a(508),p=a.n(h),d=a(86),f=a(28);function g(e){const[t,a]=Object(n.useState)("");const{label:i,placeholder:s,add:u,subtract:h,reset:g,tons:y}=e;return r.a.createElement(r.a.Fragment,null,r.a.createElement(d.a,{label:i,value:t,onChange:function(e){""===e.target.value?a(""):a(parseFloat(e.target.value))},placeholder:s,type:"number",InputProps:{startAdornment:r.a.createElement(r.a.Fragment,null,r.a.createElement(f.a,{title:"Add a lot"},r.a.createElement(c.a,{onClick:y,size:"large"},r.a.createElement(p.a,{style:{transform:"rotate(-90deg)"}}))),r.a.createElement(f.a,{title:"Add"},r.a.createElement(c.a,{onClick:()=>u("string"!=typeof t?t:0),size:"large"},r.a.createElement(o.a,null)))),endAdornment:r.a.createElement(r.a.Fragment,null,r.a.createElement(f.a,{title:"Remove"},r.a.createElement(c.a,{onClick:()=>h("string"!=typeof t?t:0),size:"large"},r.a.createElement(l.a,null))),r.a.createElement(f.a,{title:"Reset"},r.a.createElement(c.a,{onClick:g,size:"large"},r.a.createElement(m.a,null))))}}))}},,function(e,t,a){"use strict";a.d(t,"a",(function(){return r})),a.d(t,"b",(function(){return i})),a.d(t,"c",(function(){return o})),a.d(t,"d",(function(){return s})),a.d(t,"f",(function(){return l})),a.d(t,"e",(function(){return c})),a.d(t,"g",(function(){return m})),a.d(t,"h",(function(){return h}));var n=a(118);let r={},i={};function o(e){r=""===e?{}:JSON.parse(e)}function s(e){i=""===e?{}:JSON.parse(e)}function l(){for(const e in r)r.hasOwnProperty(e)&&n.a.print("alias "+e+"="+r[e]);for(const e in i)i.hasOwnProperty(e)&&n.a.print("global alias "+e+"="+i[e])}function c(e,t=!1){const a=e.match(/^([_|\w|!|%|,|@]+)="(.+)"$/);return null!=a&&3==a.length&&(t?function(e,t){e in r&&delete r[e];i[e]=t.trim()}(a[1],a[2]):function(e,t){e in i&&delete i[e];r[e]=t.trim()}(a[1],a[2]),!0)}function u(e){return i.hasOwnProperty(e)?i[e]:null}function m(e){return r.hasOwnProperty(e)?(delete r[e],!0):!!i.hasOwnProperty(e)&&(delete i[e],!0)}function h(e){const t=e.split(" ");if(t.length>0){if("unalias"===t[0]||"alias"===t[0])return t.join(" ");let e=!0,o=0;for(;e&&o<10;){var a;o++,e=!1;const s=null===(i=t[0],a=r.hasOwnProperty(i)?r[i]:null)||void 0===a?void 0:a.split(" ");null!=s&&(e=!0,t.splice(0,1,...s));for(let a=0;a{t.delay=null,a()},e),t.delayResolve=a}))}function s(e,t){const a=i.b[e.serverIp];if(null==a)throw new Error("WorkerScript constructed with invalid server ip: "+e.serverIp);return"|"+a.hostname+"|"+e.name+"|"+t}function l(e,t,a){const n=e.scriptRef.threads;if(!a)return isNaN(n)||n<1?1:n;const r=0|a;if(isNaN(a)||r<1)throw s(e,`Invalid thread count passed to ${t}: ${a}. Threads must be a positive number.`);if(a>n)throw s(e,`Too many threads requested by ${t}. Requested: ${a}. Has: ${n}.`);return r}function c(e){if(!Object(r.a)(e))return!1;return 4==e.split("|").length}},function(e,t,a){"use strict";a.d(t,"a",(function(){return n}));class n{constructor(e,t,a){this.title=e,this.fn=t,this.txt=a}}},,,,,,,,,,function(e,t,a){"use strict";a.d(t,"a",(function(){return s}));var n=a(0),r=a.n(n),i=a(1),o=a(28);function s(e){const[t,a]=Object(n.useState)(!1);return r.a.createElement(o.a,{open:t,title:r.a.createElement(i.a,null,"Copied!")},r.a.createElement(i.a,{variant:e.variant,color:e.color,onClick:function(){const t=document.createElement("textarea");t.value=e.value,document.body.appendChild(t),t.select(),t.setSelectionRange(0,1e10),document.execCommand("copy"),document.body.removeChild(t),a(!0),setTimeout(()=>a(!1),1e3)}},e.value))}},,function(e,t,a){"use strict";a.d(t,"e",(function(){return S})),a.d(t,"d",(function(){return w})),a.d(t,"c",(function(){return _})),a.d(t,"a",(function(){return k})),a.d(t,"b",(function(){return C}));var n=a(35),r=a(20),i=a(312),o=a(7),s=a(8),l=a(6),c=a(24),u=a(2),m=a(311),h=a(70),p=a(63),d=a(15),f=a(788),g=a(313),y=a(0),b=a.n(y);function E(e){const t=e.name;r.a[t]=e}function _(){for(const e in c.a)c.a.hasOwnProperty(e)&&(c.a[e].augmentations=[]);Object(f.a)(r.a);const e=function(){const e=[{bonuses:{hacking_chance_mult:1.25,hacking_speed_mult:1.1,hacking_money_mult:1.25,hacking_grow_mult:1.1},description:"Increases the player's hacking chance by 25%.
Increases the player's hacking speed by 10%.
Increases the amount of money the player's gains from hacking by 25%.
Improves grow() by 10%."},{bonuses:{hacking_mult:1.15,hacking_exp_mult:2},description:"Increases the player's hacking skill by 15%.
Increases the player's hacking experience gain rate by 100%."},{bonuses:{strength_mult:1.25,strength_exp_mult:2,defense_mult:1.25,defense_exp_mult:2,dexterity_mult:1.25,dexterity_exp_mult:2,agility_mult:1.25,agility_exp_mult:2},description:"Increases all of the player's combat stats by 25%.
Increases all of the player's combat stat experience gain rate by 100%."},{bonuses:{charisma_mult:1.5,charisma_exp_mult:2},description:"This augmentation increases the player's charisma by 50%.
Increases the player's charisma experience gain rate by 100%."},{bonuses:{hacknet_node_money_mult:1.2,hacknet_node_purchase_cost_mult:.85,hacknet_node_ram_cost_mult:.85,hacknet_node_core_cost_mult:.85,hacknet_node_level_cost_mult:.85},description:"Increases the amount of money produced by Hacknet Nodes by 20%.
Decreases all costs related to Hacknet Node by 15%."},{bonuses:{company_rep_mult:1.25,faction_rep_mult:1.15,work_money_mult:1.7},description:"Increases the amount of money the player gains from working by 70%.
Increases the amount of reputation the player gains when working for a company by 25%.
Increases the amount of reputation the player gains for a faction by 15%."},{bonuses:{crime_success_mult:2,crime_money_mult:2},description:"Increases the player's crime success rate by 100%.
Increases the amount of money the player gains from crimes by 100%."}],t=new g.b(Math.floor(u.a.lastUpdate/36e5));for(let e=0;e<5;e++)t.step();return e[Math.floor(e.length*t.random())]}(),t={name:o.a.UnstableCircadianModulator,moneyCost:5e9,repCost:362500,info:"An experimental nanobot injection. Its unstable nature leads to unpredictable results based on your circadian rhythm."};Object.keys(e.bonuses).forEach(a=>t[a]=e.bonuses[a]);const a=new n.a(t);a.addToFactions(["Speakers for the Dead"]),C(o.a.UnstableCircadianModulator)&&delete r.a[o.a.UnstableCircadianModulator],E(a);const i=new n.a({name:o.a.HemoRecirculator,moneyCost:45e6,repCost:1e4,info:"A heart implant that greatly increases the body's ability to effectively use and pump blood.",strength_mult:1.08,defense_mult:1.08,agility_mult:1.08,dexterity_mult:1.08});i.addToFactions(["Tetrads","The Dark Army","The Syndicate"]),C(o.a.HemoRecirculator)&&delete r.a[o.a.HemoRecirculator],E(i);const m=new n.a({name:o.a.Targeting1,moneyCost:15e6,repCost:5e3,info:"A cranial implant that is embedded within the inner ear structures and optic nerves. It regulates and enhances balance and hand-eye coordination.",dexterity_mult:1.1});m.addToFactions(["Slum Snakes","The Dark Army","The Syndicate","Sector-12","Ishima","OmniTek Incorporated","KuaiGong International","Blade Industries"]),C(o.a.Targeting1)&&delete r.a[o.a.Targeting1],E(m);const d=new n.a({name:o.a.Targeting2,moneyCost:425e5,repCost:8750,info:"This upgraded version of the 'Augmented Targeting' implant is capable of augmenting reality by digitally displaying weaknesses and vital signs of threats.",prereqs:[o.a.Targeting1],dexterity_mult:1.2});d.addToFactions(["The Dark Army","The Syndicate","Sector-12","OmniTek Incorporated","KuaiGong International","Blade Industries"]),C(o.a.Targeting2)&&delete r.a[o.a.Targeting2],E(d);const y=new n.a({name:o.a.Targeting3,moneyCost:115e6,repCost:27500,info:"The latest version of the 'Augmented Targeting' implant adds the ability to lock-on and track threats.",prereqs:[o.a.Targeting2],dexterity_mult:1.3});y.addToFactions(["The Dark Army","The Syndicate","OmniTek Incorporated","KuaiGong International","Blade Industries","The Covenant"]),C(o.a.Targeting3)&&delete r.a[o.a.Targeting3],E(y);const _=new n.a({name:o.a.SyntheticHeart,moneyCost:2875e6,repCost:75e4,info:"This advanced artificial heart, created from plasteel and graphene, is capable of pumping blood more efficiently than an organic heart.",agility_mult:1.5,strength_mult:1.5});_.addToFactions(["KuaiGong International","Fulcrum Secret Technologies","Speakers for the Dead","NWO","The Covenant","Daedalus","Illuminati"]),C(o.a.SyntheticHeart)&&delete r.a[o.a.SyntheticHeart],E(_);const k=new n.a({name:o.a.SynfibrilMuscle,repCost:437500,moneyCost:1125e6,info:"The myofibrils in human muscles are injected with special chemicals that react with the proteins inside the myofibrils, altering their underlying structure. The end result is muscles that are stronger and more elastic. Scientists have named these artificially enhanced units 'synfibrils'.",strength_mult:1.3,defense_mult:1.3});k.addToFactions(["KuaiGong International","Fulcrum Secret Technologies","Speakers for the Dead","NWO","The Covenant","Daedalus","Illuminati","Blade Industries"]),C(o.a.SynfibrilMuscle)&&delete r.a[o.a.SynfibrilMuscle],E(k);const w=new n.a({name:o.a.CombatRib1,repCost:7500,moneyCost:2375e4,info:"The rib cage is augmented to continuously release boosters into the bloodstream which increase the oxygen-carrying capacity of blood.",strength_mult:1.1,defense_mult:1.1});w.addToFactions(["Slum Snakes","The Dark Army","The Syndicate","Volhaven","Ishima","OmniTek Incorporated","KuaiGong International","Blade Industries"]),C(o.a.CombatRib1)&&delete r.a[o.a.CombatRib1],E(w);const S=new n.a({name:o.a.CombatRib2,repCost:18750,moneyCost:65e6,info:"An upgraded version of the 'Combat Rib' augmentation that adds potent stimulants which improve focus and endurance while decreasing reaction time and fatigue.",prereqs:[o.a.CombatRib1],strength_mult:1.14,defense_mult:1.14});S.addToFactions(["The Dark Army","The Syndicate","Volhaven","OmniTek Incorporated","KuaiGong International","Blade Industries"]),C(o.a.CombatRib2)&&delete r.a[o.a.CombatRib2],E(S);const x=new n.a({name:o.a.CombatRib3,repCost:35e3,moneyCost:12e7,info:"The latest version of the 'Combat Rib' augmentation releases advanced anabolic steroids that improve muscle mass and physical performance while being safe and free of side effects.",prereqs:[o.a.CombatRib2],strength_mult:1.18,defense_mult:1.18});x.addToFactions(["The Dark Army","The Syndicate","OmniTek Incorporated","KuaiGong International","Blade Industries","The Covenant"]),C(o.a.CombatRib3)&&delete r.a[o.a.CombatRib3],E(x);const O=new n.a({name:o.a.NanofiberWeave,repCost:37500,moneyCost:125e6,info:"Synthetic nanofibers are woven into the skin's extracellular matrix using electrospinning, which improves its regenerative and extracellular homeostasis abilities.",strength_mult:1.2,defense_mult:1.2});O.addToFactions(["Tian Di Hui","The Syndicate","The Dark Army","Speakers for the Dead","Blade Industries","Fulcrum Secret Technologies","OmniTek Incorporated"]),C(o.a.NanofiberWeave)&&delete r.a[o.a.NanofiberWeave],E(O);const M=new n.a({name:o.a.SubdermalArmor,repCost:875e3,moneyCost:325e7,info:"The NEMEAN Subdermal Weave is a thin, light-weight, graphene plating that houses a dilatant fluid. The material is implanted underneath the skin, and is the most advanced form of defensive enhancement that has ever been created. The dilatant fluid, despite being thin and light, is extremely effective at stopping piercing blows and reducing blunt trauma. The properties of graphene allow the plating to mitigate damage from any fire or electrical traumas.",defense_mult:2.2});M.addToFactions(["The Syndicate","Fulcrum Secret Technologies","Illuminati","Daedalus","The Covenant"]),C(o.a.SubdermalArmor)&&delete r.a[o.a.SubdermalArmor],E(M);const T=new n.a({name:o.a.WiredReflexes,repCost:1250,moneyCost:25e5,info:"Synthetic nerve-enhancements are injected into all major parts of the somatic nervous system, supercharging the spread of neural signals and increasing reflex speed.",agility_mult:1.05,dexterity_mult:1.05});T.addToFactions(["Tian Di Hui","Slum Snakes","Sector-12","Volhaven","Aevum","Ishima","The Syndicate","The Dark Army","Speakers for the Dead"]),C(o.a.WiredReflexes)&&delete r.a[o.a.WiredReflexes],E(T);const R=new n.a({name:o.a.GrapheneBoneLacings,repCost:1125e3,moneyCost:425e7,info:"Graphene is grafted and fused into the skeletal structure, enhancing bone density and tensile strength.",strength_mult:1.7,defense_mult:1.7});R.addToFactions(["Fulcrum Secret Technologies","The Covenant"]),C(o.a.GrapheneBoneLacings)&&delete r.a[o.a.GrapheneBoneLacings],E(R);const P=new n.a({name:o.a.BionicSpine,repCost:45e3,moneyCost:125e6,info:"The spine is reconstructed using plasteel and carbon fibers. It is now capable of stimulating and regulating neural signals passing through the spinal cord, improving senses and reaction speed. The 'Bionic Spine' also interfaces with all other 'Bionic' implants.",strength_mult:1.15,defense_mult:1.15,agility_mult:1.15,dexterity_mult:1.15});P.addToFactions(["Speakers for the Dead","The Syndicate","KuaiGong International","OmniTek Incorporated","Blade Industries"]),C(o.a.BionicSpine)&&delete r.a[o.a.BionicSpine],E(P);const A=new n.a({name:o.a.GrapheneBionicSpine,repCost:1625e3,moneyCost:6e9,info:"An upgrade to the 'Bionic Spine' augmentation. The spine is fused with graphene which enhances durability and supercharges all body functions.",prereqs:[o.a.BionicSpine],strength_mult:1.6,defense_mult:1.6,agility_mult:1.6,dexterity_mult:1.6});A.addToFactions(["Fulcrum Secret Technologies","ECorp"]),C(o.a.GrapheneBionicSpine)&&delete r.a[o.a.GrapheneBionicSpine],E(A);const N=new n.a({name:o.a.BionicLegs,repCost:15e4,moneyCost:375e6,info:"Cybernetic legs, created from plasteel and carbon fibers, enhance running speed.",agility_mult:1.6});N.addToFactions(["Speakers for the Dead","The Syndicate","KuaiGong International","OmniTek Incorporated","Blade Industries"]),C(o.a.BionicLegs)&&delete r.a[o.a.BionicLegs],E(N);const I=new n.a({name:o.a.GrapheneBionicLegs,repCost:75e4,moneyCost:45e8,info:"An upgrade to the 'Bionic Legs' augmentation. The legs are fused with graphene, greatly enhancing jumping ability.",prereqs:[o.a.BionicLegs],agility_mult:2.5});I.addToFactions(["MegaCorp","ECorp","Fulcrum Secret Technologies"]),C(o.a.GrapheneBionicLegs)&&delete r.a[o.a.GrapheneBionicLegs],E(I);const F=new n.a({name:o.a.SpeechProcessor,repCost:7500,moneyCost:5e7,info:"A cochlear implant with an embedded computer that analyzes incoming speech. The embedded computer processes characteristics of incoming speech, such as tone and inflection, to pick up on subtle cues and aid in social interactions.",charisma_mult:1.2});F.addToFactions(["Tian Di Hui","Chongqing","Sector-12","New Tokyo","Aevum","Ishima","Volhaven","Silhouette"]),C(o.a.SpeechProcessor)&&delete r.a[o.a.SpeechProcessor],E(F);const j=new n.a({name:o.a.TITN41Injection,repCost:25e3,moneyCost:19e7,info:"TITN is a series of viruses that targets and alters the sequences of human DNA in genes that control personality. The TITN-41 strain alters these genes so that the subject becomes more outgoing and socialable.",charisma_mult:1.15,charisma_exp_mult:1.15});j.addToFactions(["Silhouette"]),C(o.a.TITN41Injection)&&delete r.a[o.a.TITN41Injection],E(j);const D=new n.a({name:o.a.EnhancedSocialInteractionImplant,repCost:375e3,moneyCost:1375e6,info:"A cranial implant that greatly assists in the user's ability to analyze social situations and interactions. The system uses a wide variety of factors such as facial expressions, body language, and the voice tone, and inflection to determine the best course of action during socialsituations. The implant also uses deep learning software to continuously learn new behaviorpatterns and how to best respond.",charisma_mult:1.6,charisma_exp_mult:1.6});D.addToFactions(["Bachman & Associates","NWO","Clarke Incorporated","OmniTek Incorporated","Four Sigma"]),C(o.a.EnhancedSocialInteractionImplant)&&delete r.a[o.a.EnhancedSocialInteractionImplant],E(D);const B=new n.a({name:o.a.BitWire,repCost:3750,moneyCost:1e7,info:"A small brain implant embedded in the cerebrum. This regulates and improves the brain's computing capabilities.",hacking_mult:1.05});B.addToFactions(["CyberSec","NiteSec"]),C(o.a.BitWire)&&delete r.a[o.a.BitWire],E(B);const L=new n.a({name:o.a.ArtificialBioNeuralNetwork,repCost:275e3,moneyCost:3e9,info:"A network consisting of millions of nanoprocessors is embedded into the brain. The network is meant to mimic the way a biological brain solves a problem, with each nanoprocessor acting similar to the way a neuron would in a neural network. However, these nanoprocessors are programmed to perform computations much faster than organic neurons, allowing the user to solve much more complex problems at a much faster rate.",hacking_speed_mult:1.03,hacking_money_mult:1.15,hacking_mult:1.12});L.addToFactions(["BitRunners","Fulcrum Secret Technologies"]),C(o.a.ArtificialBioNeuralNetwork)&&delete r.a[o.a.ArtificialBioNeuralNetwork],E(L);const G=new n.a({name:o.a.ArtificialSynapticPotentiation,repCost:6250,moneyCost:8e7,info:"The body is injected with a chemical that artificially induces synaptic potentiation, otherwise known as the strengthening of synapses. This results in enhanced cognitive abilities.",hacking_speed_mult:1.02,hacking_chance_mult:1.05,hacking_exp_mult:1.05});G.addToFactions(["The Black Hand","NiteSec"]),C(o.a.ArtificialSynapticPotentiation)&&delete r.a[o.a.ArtificialSynapticPotentiation],E(G);const W=new n.a({name:o.a.EnhancedMyelinSheathing,repCost:1e5,moneyCost:1375e6,info:"Electrical signals are used to induce a new, artificial form of myelinogenesis in the human body. This process results in the proliferation of new, synthetic myelin sheaths in the nervous system. These myelin sheaths can propogate neuro-signals much faster than their organic counterparts, leading to greater processing speeds and better brain function.",hacking_speed_mult:1.03,hacking_exp_mult:1.1,hacking_mult:1.08});W.addToFactions(["Fulcrum Secret Technologies","BitRunners","The Black Hand"]),C(o.a.EnhancedMyelinSheathing)&&delete r.a[o.a.EnhancedMyelinSheathing],E(W);const H=new n.a({name:o.a.SynapticEnhancement,repCost:2e3,moneyCost:75e5,info:"A small cranial implant that continuously uses weak electrical signals to stimulate the brain and induce stronger synaptic activity. This improves the user's cognitive abilities.",hacking_speed_mult:1.03});H.addToFactions(["CyberSec","Aevum"]),C(o.a.SynapticEnhancement)&&delete r.a[o.a.SynapticEnhancement],E(H);const U=new n.a({name:o.a.NeuralRetentionEnhancement,repCost:2e4,moneyCost:25e7,info:"Chemical injections are used to permanently alter and strengthen the brain's neuronal circuits, strengthening the ability to retain information.",hacking_exp_mult:1.25});U.addToFactions(["NiteSec"]),C(o.a.NeuralRetentionEnhancement)&&delete r.a[o.a.NeuralRetentionEnhancement],E(U);const q=new n.a({name:o.a.DataJack,repCost:112500,moneyCost:45e7,info:"A brain implant that provides an interface for direct, wireless communication between a computer's main memory and the mind. This implant allows the user to not only access a computer's memory, but also alter and delete it.",hacking_money_mult:1.25});q.addToFactions(["BitRunners","The Black Hand","NiteSec","Chongqing","New Tokyo"]),C(o.a.DataJack)&&delete r.a[o.a.DataJack],E(q);const K=new n.a({name:o.a.ENM,repCost:15e3,moneyCost:25e7,info:"A thin device embedded inside the arm containing a wireless module capable of connecting to nearby networks. Once connected, the Netburner Module is capable of capturing and processing all of the traffic on that network. By itself, the Embedded Netburner Module does not do much, but a variety of very powerful upgrades can be installed that allow you to fully control the traffic on a network.",hacking_mult:1.08});K.addToFactions(["BitRunners","The Black Hand","NiteSec","ECorp","MegaCorp","Fulcrum Secret Technologies","NWO","Blade Industries"]),C(o.a.ENM)&&delete r.a[o.a.ENM],E(K);const $=new n.a({name:o.a.ENMCore,repCost:25e4,moneyCost:25e8,info:"The Core library is an implant that upgrades the firmware of the Embedded Netburner Module. This upgrade allows the Embedded Netburner Module to generate its own data on a network.",prereqs:[o.a.ENM],hacking_speed_mult:1.03,hacking_money_mult:1.1,hacking_chance_mult:1.03,hacking_exp_mult:1.07,hacking_mult:1.07});$.addToFactions(["BitRunners","The Black Hand","ECorp","MegaCorp","Fulcrum Secret Technologies","NWO","Blade Industries"]),C(o.a.ENMCore)&&delete r.a[o.a.ENMCore],E($);const z=new n.a({name:o.a.ENMCoreV2,repCost:1e6,moneyCost:45e8,info:"The Core V2 library is an implant that upgrades the firmware of the Embedded Netburner Module. This upgraded firmware allows the Embedded Netburner Module to control information on a network by re-routing traffic, spoofing IP addresses, and altering the data inside network packets.",prereqs:[o.a.ENMCore],hacking_speed_mult:1.05,hacking_money_mult:1.3,hacking_chance_mult:1.05,hacking_exp_mult:1.15,hacking_mult:1.08});z.addToFactions(["BitRunners","ECorp","MegaCorp","Fulcrum Secret Technologies","NWO","Blade Industries","OmniTek Incorporated","KuaiGong International"]),C(o.a.ENMCoreV2)&&delete r.a[o.a.ENMCoreV2],E(z);const V=new n.a({name:o.a.ENMCoreV3,repCost:175e4,moneyCost:75e8,info:"The Core V3 library is an implant that upgrades the firmware of the Embedded Netburner Module. This upgraded firmware allows the Embedded Netburner Module to seamlessly inject code into any device on a network.",prereqs:[o.a.ENMCoreV2],hacking_speed_mult:1.05,hacking_money_mult:1.4,hacking_chance_mult:1.1,hacking_exp_mult:1.25,hacking_mult:1.1});V.addToFactions(["ECorp","MegaCorp","Fulcrum Secret Technologies","NWO","Daedalus","The Covenant","Illuminati"]),C(o.a.ENMCoreV3)&&delete r.a[o.a.ENMCoreV3],E(V);const Y=new n.a({name:o.a.ENMAnalyzeEngine,repCost:625e3,moneyCost:6e9,info:"Installs the Analyze Engine for the Embedded Netburner Module, which is a CPU cluster that vastly outperforms the Netburner Module's native single-core processor.",prereqs:[o.a.ENM],hacking_speed_mult:1.1});Y.addToFactions(["ECorp","MegaCorp","Fulcrum Secret Technologies","NWO","Daedalus","The Covenant","Illuminati"]),C(o.a.ENMAnalyzeEngine)&&delete r.a[o.a.ENMAnalyzeEngine],E(Y);const J=new n.a({name:o.a.ENMDMA,repCost:1e6,moneyCost:7e9,info:"This implant installs a Direct Memory Access (DMA) controller into the Embedded Netburner Module. This allows the Module to send and receive data directly to and from the main memory of devices on a network.",prereqs:[o.a.ENM],hacking_money_mult:1.4,hacking_chance_mult:1.2});J.addToFactions(["ECorp","MegaCorp","Fulcrum Secret Technologies","NWO","Daedalus","The Covenant","Illuminati"]),C(o.a.ENMDMA)&&delete r.a[o.a.ENMDMA],E(J);const X=new n.a({name:o.a.Neuralstimulator,repCost:5e4,moneyCost:3e9,info:"A cranial implant that intelligently stimulates certain areas of the brain in order to improve cognitive functions.",hacking_speed_mult:1.02,hacking_chance_mult:1.1,hacking_exp_mult:1.12});X.addToFactions(["The Black Hand","Chongqing","Sector-12","New Tokyo","Aevum","Ishima","Volhaven","Bachman & Associates","Clarke Incorporated","Four Sigma"]),C(o.a.Neuralstimulator)&&delete r.a[o.a.Neuralstimulator],E(X);const Q=new n.a({name:o.a.NeuralAccelerator,repCost:2e5,moneyCost:175e7,info:"A microprocessor that accelerates the processing speed of biological neural networks. This is a cranial implant that is embedded inside the brain.",hacking_mult:1.1,hacking_exp_mult:1.15,hacking_money_mult:1.2});Q.addToFactions(["BitRunners"]),C(o.a.NeuralAccelerator)&&delete r.a[o.a.NeuralAccelerator],E(Q);const Z=new n.a({name:o.a.CranialSignalProcessorsG1,repCost:1e4,moneyCost:7e7,info:"The first generation of Cranial Signal Processors. Cranial Signal Processors are a set of specialized microprocessors that are attached to neurons in the brain. These chips process neural signals to quickly and automatically perform specific computations so that the brain doesn't have to.",hacking_speed_mult:1.01,hacking_mult:1.05});Z.addToFactions(["CyberSec"]),C(o.a.CranialSignalProcessorsG1)&&delete r.a[o.a.CranialSignalProcessorsG1],E(Z);const ee=new n.a({name:o.a.CranialSignalProcessorsG2,repCost:18750,moneyCost:125e6,info:"The second generation of Cranial Signal Processors. Cranial Signal Processors are a set of specialized microprocessors that are attached to neurons in the brain. These chips process neural signals to quickly and automatically perform specific computations so that the brain doesn't have to.",prereqs:[o.a.CranialSignalProcessorsG1],hacking_speed_mult:1.02,hacking_chance_mult:1.05,hacking_mult:1.07});ee.addToFactions(["CyberSec","NiteSec"]),C(o.a.CranialSignalProcessorsG2)&&delete r.a[o.a.CranialSignalProcessorsG2],E(ee);const te=new n.a({name:o.a.CranialSignalProcessorsG3,repCost:5e4,moneyCost:55e7,info:"The third generation of Cranial Signal Processors. Cranial Signal Processors are a set of specialized microprocessors that are attached to neurons in the brain. These chips process neural signals to quickly and automatically perform specific computations so that the brain doesn't have to.",prereqs:[o.a.CranialSignalProcessorsG2],hacking_speed_mult:1.02,hacking_money_mult:1.15,hacking_mult:1.09});te.addToFactions(["NiteSec","The Black Hand","BitRunners"]),C(o.a.CranialSignalProcessorsG3)&&delete r.a[o.a.CranialSignalProcessorsG3],E(te);const ae=new n.a({name:o.a.CranialSignalProcessorsG4,repCost:125e3,moneyCost:11e8,info:"The fourth generation of Cranial Signal Processors. Cranial Signal Processors are a set of specialized microprocessors that are attached to neurons in the brain. These chips process neural signals to quickly and automatically perform specific computations so that the brain doesn't have to.",prereqs:[o.a.CranialSignalProcessorsG3],hacking_speed_mult:1.02,hacking_money_mult:1.2,hacking_grow_mult:1.25});ae.addToFactions(["The Black Hand","BitRunners"]),C(o.a.CranialSignalProcessorsG4)&&delete r.a[o.a.CranialSignalProcessorsG4],E(ae);const ne=new n.a({name:o.a.CranialSignalProcessorsG5,repCost:25e4,moneyCost:225e7,info:"The fifth generation of Cranial Signal Processors. Cranial Signal Processors are a set of specialized microprocessors that are attached to neurons in the brain. These chips process neural signals to quickly and automatically perform specific computations so that the brain doesn't have to.",prereqs:[o.a.CranialSignalProcessorsG4],hacking_mult:1.3,hacking_money_mult:1.25,hacking_grow_mult:1.75});ne.addToFactions(["BitRunners"]),C(o.a.CranialSignalProcessorsG5)&&delete r.a[o.a.CranialSignalProcessorsG5],E(ne);const re=new n.a({name:o.a.NeuronalDensification,repCost:187500,moneyCost:1375e6,info:"The brain is surgically re-engineered to have increased neuronal density by decreasing the neuron gap junction. Then, the body is genetically modified to enhance the production and capabilities of its neural stem cells.",hacking_mult:1.15,hacking_exp_mult:1.1,hacking_speed_mult:1.03});re.addToFactions(["Clarke Incorporated"]),C(o.a.NeuronalDensification)&&delete r.a[o.a.NeuronalDensification],E(re);const ie=new n.a({name:o.a.NuoptimalInjectorImplant,repCost:5e3,moneyCost:2e7,info:"This torso implant automatically injects nootropic supplements into the bloodstream to improve memory, increase focus, and provide other cognitive enhancements.",company_rep_mult:1.2});ie.addToFactions(["Tian Di Hui","Volhaven","New Tokyo","Chongqing","Clarke Incorporated","Four Sigma","Bachman & Associates"]),C(o.a.NuoptimalInjectorImplant)&&delete r.a[o.a.NuoptimalInjectorImplant],E(ie);const oe=new n.a({name:o.a.SpeechEnhancement,repCost:2500,moneyCost:125e5,info:"An advanced neural implant that improves your speaking abilities, making you more convincing and likable in conversations and overall improving your social interactions.",company_rep_mult:1.1,charisma_mult:1.1});oe.addToFactions(["Tian Di Hui","Speakers for the Dead","Four Sigma","KuaiGong International","Clarke Incorporated","Bachman & Associates"]),C(o.a.SpeechEnhancement)&&delete r.a[o.a.SpeechEnhancement],E(oe);const se=new n.a({name:o.a.FocusWire,repCost:75e3,moneyCost:9e8,info:"A cranial implant that stops procrastination by blocking specific neural pathways in the brain.",hacking_exp_mult:1.05,strength_exp_mult:1.05,defense_exp_mult:1.05,dexterity_exp_mult:1.05,agility_exp_mult:1.05,charisma_exp_mult:1.05,company_rep_mult:1.1,work_money_mult:1.2});se.addToFactions(["Bachman & Associates","Clarke Incorporated","Four Sigma","KuaiGong International"]),C(o.a.FocusWire)&&delete r.a[o.a.FocusWire],E(se);const le=new n.a({name:o.a.PCDNI,repCost:375e3,moneyCost:375e7,info:"Installs a Direct-Neural Interface jack into your arm that is compatible with most computers. Connecting to a computer through this jack allows you to interface with it using the brain's electrochemical signals.",company_rep_mult:1.3,hacking_mult:1.08});le.addToFactions(["Four Sigma","OmniTek Incorporated","ECorp","Blade Industries"]),C(o.a.PCDNI)&&delete r.a[o.a.PCDNI],E(le);const ce=new n.a({name:o.a.PCDNIOptimizer,repCost:5e5,moneyCost:45e8,info:"This is a submodule upgrade to the PC Direct-Neural Interface augmentation. It improves the performance of the interface and gives the user more control options to a connected computer.",prereqs:[o.a.PCDNI],company_rep_mult:1.75,hacking_mult:1.1});ce.addToFactions(["Fulcrum Secret Technologies","ECorp","Blade Industries"]),C(o.a.PCDNIOptimizer)&&delete r.a[o.a.PCDNIOptimizer],E(ce);const ue=new n.a({name:o.a.PCDNINeuralNetwork,repCost:15e5,moneyCost:75e8,info:"This is an additional installation that upgrades the functionality of the PC Direct-Neural Interface augmentation. When connected to a computer, The Neural Network upgrade allows the user to use their own brain's processing power to aid the computer in computational tasks.",prereqs:[o.a.PCDNI],company_rep_mult:2,hacking_mult:1.1,hacking_speed_mult:1.05});ue.addToFactions(["Fulcrum Secret Technologies"]),C(o.a.PCDNINeuralNetwork)&&delete r.a[o.a.PCDNINeuralNetwork],E(ue);const me=new n.a({name:o.a.ADRPheromone1,repCost:3750,moneyCost:175e5,info:"The body is genetically re-engineered so that it produces the ADR-V1 pheromone, an artificial pheromone discovered by scientists. The ADR-V1 pheromone, when excreted, triggers feelings of admiration and approval in other people.",company_rep_mult:1.1,faction_rep_mult:1.1});me.addToFactions(["Tian Di Hui","The Syndicate","NWO","MegaCorp","Four Sigma"]),C(o.a.ADRPheromone1)&&delete r.a[o.a.ADRPheromone1],E(me);const he=new n.a({name:o.a.ADRPheromone2,repCost:62500,moneyCost:55e7,info:"The body is genetically re-engineered so that it produces the ADR-V2 pheromone, which is similar to but more potent than ADR-V1. This pheromone, when excreted, triggers feelings of admiration, approval, and respect in others.",company_rep_mult:1.2,faction_rep_mult:1.2});he.addToFactions(["Silhouette","Four Sigma","Bachman & Associates","Clarke Incorporated"]),C(o.a.ADRPheromone2)&&delete r.a[o.a.ADRPheromone2],E(he);const pe=new n.a({name:o.a.ShadowsSimulacrum,repCost:37500,moneyCost:4e8,info:"A crude but functional matter phase-shifter module that is embedded in the brainstem and cerebellum. This augmentation was developed by criminal organizations and allows the user to project and control holographic simulacrums within a large radius. These simulacrums are commonly used for espionage and surveillance work.",company_rep_mult:1.15,faction_rep_mult:1.15});pe.addToFactions(["The Syndicate","The Dark Army","Speakers for the Dead"]),C(o.a.ShadowsSimulacrum)&&delete r.a[o.a.ShadowsSimulacrum],E(pe);const de=new n.a({name:o.a.HacknetNodeCPUUpload,repCost:3750,moneyCost:11e6,info:"Uploads the architecture and design details of a Hacknet Node's CPU into the brain. This allows the user to engineer custom hardware and software for the Hacknet Node that provides better performance.",hacknet_node_money_mult:1.15,hacknet_node_purchase_cost_mult:.85});de.addToFactions(["Netburners"]),C(o.a.HacknetNodeCPUUpload)&&delete r.a[o.a.HacknetNodeCPUUpload],E(de);const fe=new n.a({name:o.a.HacknetNodeCacheUpload,repCost:2500,moneyCost:55e5,info:"Uploads the architecture and design details of a Hacknet Node's main-memory cache into the brain. This allows the user to engineer custom cache hardware for the Hacknet Node that offers better performance.",hacknet_node_money_mult:1.1,hacknet_node_level_cost_mult:.85});fe.addToFactions(["Netburners"]),C(o.a.HacknetNodeCacheUpload)&&delete r.a[o.a.HacknetNodeCacheUpload],E(fe);const ge=new n.a({name:o.a.HacknetNodeNICUpload,repCost:1875,moneyCost:45e5,info:"Uploads the architecture and design details of a Hacknet Node's Network Interface Card (NIC) into the brain. This allows the user to engineer a custom NIC for the Hacknet Node that offers better performance.",hacknet_node_money_mult:1.1,hacknet_node_purchase_cost_mult:.9});ge.addToFactions(["Netburners"]),C(o.a.HacknetNodeNICUpload)&&delete r.a[o.a.HacknetNodeNICUpload],E(ge);const ye=new n.a({name:o.a.HacknetNodeKernelDNI,repCost:7500,moneyCost:4e7,info:"Installs a Direct-Neural Interface jack into the arm that is capable of connecting to a Hacknet Node. This lets the user access and manipulate the Node's kernel using electrochemical signals.",hacknet_node_money_mult:1.25});ye.addToFactions(["Netburners"]),C(o.a.HacknetNodeKernelDNI)&&delete r.a[o.a.HacknetNodeKernelDNI],E(ye);const be=new n.a({name:o.a.HacknetNodeCoreDNI,repCost:12500,moneyCost:6e7,info:"Installs a Direct-Neural Interface jack into the arm that is capable of connecting to a Hacknet Node. This lets the user access and manipulate the Node's processing logic using electrochemical signals.",hacknet_node_money_mult:1.45});be.addToFactions(["Netburners"]),C(o.a.HacknetNodeCoreDNI)&&delete r.a[o.a.HacknetNodeCoreDNI],E(be);const Ee=new n.a({name:o.a.NeuroFluxGovernor,repCost:1250,moneyCost:375e4,info:"A device that is embedded in the back of the neck. The NeuroFlux Governor monitors and regulates nervous impulses coming to and from the spinal column, essentially 'governing' the body. By doing so, it improves the functionality of the body's nervous system.",stats:b.a.createElement(b.a.Fragment,null,"This special augmentation can be leveled up infinitely. Each level of this augmentation increases ALL multipliers by 1%, stacking multiplicatively."),hacking_chance_mult:1.01,hacking_speed_mult:1.01,hacking_money_mult:1.01,hacking_grow_mult:1.01,hacking_mult:1.01,strength_mult:1.01,defense_mult:1.01,dexterity_mult:1.01,agility_mult:1.01,charisma_mult:1.01,hacking_exp_mult:1.01,strength_exp_mult:1.01,defense_exp_mult:1.01,dexterity_exp_mult:1.01,agility_exp_mult:1.01,charisma_exp_mult:1.01,company_rep_mult:1.01,faction_rep_mult:1.01,crime_money_mult:1.01,crime_success_mult:1.01,hacknet_node_money_mult:1.01,hacknet_node_purchase_cost_mult:.99,hacknet_node_ram_cost_mult:.99,hacknet_node_core_cost_mult:.99,hacknet_node_level_cost_mult:.99,work_money_mult:1.01});let _e=0;for(let e=0;e=0;e--)if(u.a.queuedAugmentations[e].name===o.a.NeuroFluxGovernor){t=e;break}for(let a=0;a"}return u.a.queuedAugmentations=[],Object(d.a)("You slowly drift to sleep as scientists put you under in order to install the following Augmentations:
"+e+"
You wake up in your home...you feel different..."),Object(m.a)(),!0}function C(e){return r.a.hasOwnProperty(e)}function S(e){return(e instanceof n.a?e.name:e)===o.a.NeuroFluxGovernor}},,function(e,t,a){"use strict";let n;a.d(t,"a",(function(){return n})),a.d(t,"b",(function(){return r})),function(e){e.Weapon="w",e.Armor="a",e.Vehicle="v",e.Rootkit="r",e.Augmentation="g"}(n||(n={}));const r=[{cost:1e6,mults:{str:1.04,def:1.04},name:"Baseball Bat",upgType:n.Weapon},{cost:12e6,mults:{str:1.08,def:1.08,dex:1.08},name:"Katana",upgType:n.Weapon},{cost:25e6,mults:{str:1.1,def:1.1,dex:1.1,agi:1.1},name:"Glock 18C",upgType:n.Weapon},{cost:5e7,mults:{str:1.12,def:1.1,agi:1.1},name:"P90C",upgType:n.Weapon},{cost:6e7,mults:{str:1.2,def:1.15},name:"Steyr AUG",upgType:n.Weapon},{cost:1e8,mults:{str:1.25,def:1.2},name:"AK-47",upgType:n.Weapon},{cost:15e7,mults:{str:1.3,def:1.25},name:"M15A10 Assault Rifle",upgType:n.Weapon},{cost:225e6,mults:{str:1.3,dex:1.25,agi:1.3},name:"AWM Sniper Rifle",upgType:n.Weapon},{cost:2e6,mults:{def:1.04},name:"Bulletproof Vest",upgType:n.Armor},{cost:5e6,mults:{def:1.08},name:"Full Body Armor",upgType:n.Armor},{cost:25e6,mults:{def:1.15,agi:1.15},name:"Liquid Body Armor",upgType:n.Armor},{cost:4e7,mults:{def:1.2},name:"Graphene Plating Armor",upgType:n.Armor},{cost:3e6,mults:{agi:1.04,cha:1.04},name:"Ford Flex V20",upgType:n.Vehicle},{cost:9e6,mults:{agi:1.08,cha:1.08},name:"ATX1070 Superbike",upgType:n.Vehicle},{cost:18e6,mults:{agi:1.12,cha:1.12},name:"Mercedes-Benz S9001",upgType:n.Vehicle},{cost:3e7,mults:{agi:1.16,cha:1.16},name:"White Ferrari",upgType:n.Vehicle},{cost:5e6,mults:{hack:1.05},name:"NUKE Rootkit",upgType:n.Rootkit},{cost:25e6,mults:{hack:1.1},name:"Soulstealer Rootkit",upgType:n.Rootkit},{cost:75e6,mults:{hack:1.15},name:"Demon Rootkit",upgType:n.Rootkit},{cost:4e7,mults:{hack:1.12},name:"Hmap Node",upgType:n.Rootkit},{cost:75e6,mults:{hack:1.15},name:"Jack the Ripper",upgType:n.Rootkit},{cost:1e10,mults:{str:1.3,dex:1.3},name:"Bionic Arms",upgType:n.Augmentation},{cost:1e10,mults:{agi:1.6},name:"Bionic Legs",upgType:n.Augmentation},{cost:15e9,mults:{str:1.15,def:1.15,dex:1.15,agi:1.15},name:"Bionic Spine",upgType:n.Augmentation},{cost:2e10,mults:{str:1.4,def:1.4},name:"BrachiBlades",upgType:n.Augmentation},{cost:12e9,mults:{str:1.2,def:1.2},name:"Nanofiber Weave",upgType:n.Augmentation},{cost:25e9,mults:{str:1.5,agi:1.5},name:"Synthetic Heart",upgType:n.Augmentation},{cost:15e9,mults:{str:1.3,def:1.3},name:"Synfibril Muscle",upgType:n.Augmentation},{cost:5e9,mults:{hack:1.05},name:"BitWire",upgType:n.Augmentation},{cost:1e10,mults:{hack:1.15},name:"Neuralstimulator",upgType:n.Augmentation},{cost:75e8,mults:{hack:1.1},name:"DataJack",upgType:n.Augmentation},{cost:5e10,mults:{str:1.7,def:1.7},name:"Graphene Bone Lacings",upgType:n.Augmentation}]},,,function(e,t,a){"use strict";a.d(t,"a",(function(){return n}));const n={Water:.05,Energy:.01,Food:.03,Plants:.05,Metal:.1,Hardware:.06,Chemicals:.05,Drugs:.02,Robots:.5,AICores:.1,RealEstate:0,"Real Estate":0,"AI Cores":0}},function(e,t,a){"use strict";a.d(t,"a",(function(){return M})),a.d(t,"c",(function(){return T})),a.d(t,"e",(function(){return P})),a.d(t,"f",(function(){return N})),a.d(t,"b",(function(){return I})),a.d(t,"d",(function(){return F}));var n=a(126),r=a(286),i=a(182),o=a(255),s=a(440),l=a(6),c=a(499),u=a(139),m=a(441),h=a(1115),p=a(1117),d=a(315),f=a(538),g=a(225),y=a(36),b=a(14),E=a(211),_=a(565),v=a(15),k=a(250),w=a(351),C=a(117),S=a(403),x=a(259),O=a(360);const M=[];for(let e=0;e{i=!0;let t=e.source.value;t.startsWith("./")&&(t=t.slice(2));const a=function(e){for(let t=0;t{a.push(e.id.name),n.push(e)}}),r+="var "+t+";\n(function (namespace) {\n",n.forEach(e=>{r+=Object(_.generate)(e),r+="\n"}),a.forEach(e=>{r+="namespace."+e+" = "+e,r+="\n"}),r+="})("+t+" || ("+t+" = {}));\n"}else{const t=[];e.specifiers.forEach(e=>{t.push(e.local.name)});const a=[];Object(O.b)(o,{FunctionDeclaration:e=>{t.includes(e.id.name)&&a.push(e)}}),a.forEach(e=>{r+=Object(_.generate)(e),r+="\n"})}}}),!i)return{code:e,lineOffset:0};let o=0;if("Program"!==a.type||null==a.body)throw new Error("Code could not be properly parsed");for(let e=a.body.length-1;e>=0;--e)"ImportDeclaration"===a.body[e].type&&(a.body.splice(e,1),++o);const s=(r.match(/\n/g)||[]).length-o;e=Object(_.generate)(a);return{code:e=r+e,lineOffset:s}}(t,e);a=n.code,i=n.lineOffset}catch(t){return Object(v.a)("Error processing Imports in "+e.name+":
"+t),e.env.stopFlag=!0,e.running=!1,Object(n.a)(e),Promise.resolve(e)}const o=function(t,a){const n=Object(m.a)(e);for(const e in n){const r=n[e];if("function"==typeof r)if("hack"===e||"grow"===e||"weaken"===e||"sleep"===e||"prompt"===e||"manualHack"===e){const n=function(...e){const a=[];for(let n=0;n"+t),e.env.stopFlag=!0,e.running=!1,Object(n.a)(e),Promise.resolve(e)}return new Promise((function(t,a){try{!function n(){try{if(e.env.stopFlag)return a(e);s.step()?Object(E.a)(n,b.a.CodeInstructionRunTime):t(e)}catch(t){return t=t.toString(),Object(u.a)(t)||(t=Object(u.b)(e,t)),e.errorMessage=t,a(e)}}()}catch(t){return Object(C.a)(t)?(e.errorMessage=t,a(e)):t instanceof r.a?a(t):a(e)}}))}function P(e,t,a){return A(e,t,a)?(t.runScript(e),e.pid):0}function A(e,t,a){let l=1;e.threads&&!isNaN(e.threads)?l=e.threads:e.threads=1;const c=Object(w.a)(Object(f.a)(e)*l);if(c>t.maxRam-t.ramUsed)return Object(v.a)(`Not enough RAM to run script ${e.filename} with args `+Object(k.a)(e.args)+". This likely occurred because you re-loaded the game and the script's RAM usage increased (either because of an update to the game or your changes to the script.)"),!1;t.ramUsed=Object(w.a)(t.ramUsed+c);const p=Object(s.a)();if(-1===p)throw new Error("Failed to start script because could not find available PID. This is most because you have too many scripts running.");const d=new r.a(e,p,m.a);d.ramUsage=c,i.a.set(p,d),o.a.emit();let g=null;if(d.name.endsWith(".js")||d.name.endsWith(".ns"))g=function(e){e.running=!0;let t=null;function a(a,n){return function(...r){if(e.env.stopFlag)throw e;if("sleep"===a)return n(...r);if(t)throw e.errorMessage=Object(u.b)(e,Object(S.sprintf)("Concurrent calls to Netscript functions not allowed! Did you forget to await hack(), grow(), or some other promise-returning function? (Currently running: %s tried to run: %s)",t,a)),e;let i;t=a;try{i=n(...r)}catch(e){throw t=null,e}return i&&void 0!==i.finally?i.finally((function(){t=null})):(t=null,i)}}for(const t in e.env.vars)"function"==typeof e.env.vars[t]&&(e.env.vars[t]=a(t,e.env.vars[t]));return new Promise((t,a)=>{Object(h.a)(e.getServer().scripts,e).then(()=>{t(e)}).catch(e=>a(e))}).catch(t=>{if(t instanceof Error)throw e.errorMessage=Object(u.b)(e,t.message+(t.stack&&"\nstack:\n"+t.stack.toString()||"")),e;if(Object(u.a)(t))throw e.errorMessage=t,e;throw t})}(d);else if(g=R(d),!(g instanceof Promise))return!1;return g.then((function(t){void 0!==a&&a.running&&(a.scriptRef.onlineExpGained+=e.onlineExpGained,a.scriptRef.onlineMoneyMade+=e.onlineMoneyMade),Object(n.a)(d),t.log("","Script finished running")})).catch((function(e){if(e instanceof Error)return Object(v.a)("Script runtime unknown error. This is a bug please contact game developer"),void console.error("Evaluating workerscript returns an Error. THIS SHOULDN'T HAPPEN: "+e.toString());if(e instanceof r.a){if(!Object(u.a)(e.errorMessage))return void e.log("","Script killed");{const t=e.errorMessage.split("|");if(4!=t.length)return console.error("ERROR: Something wrong with Error text in evaluator..."),void console.error("Error text: "+e.errorMessage);const a=t[1],n=t[2],r=t[3];let i=`RUNTIME ERROR
${n}@${a}
`;e.args.length>0&&(i+=`Args: ${Object(k.a)(e.args)}
`),i+="
",i+=r,Object(v.a)(i),e.log("","Script crashed with runtime error")}e.running=!1,e.env.stopFlag=!0}else{if(Object(u.a)(e))return Object(v.a)("Script runtime unknown error. This is a bug please contact game developer"),void console.error("ERROR: Evaluating workerscript returns only error message rather than WorkerScript object. THIS SHOULDN'T HAPPEN: "+e.toString());Object(v.a)("An unknown script died for an unknown reason. This is a bug please contact game dev"),console.error(e)}Object(n.a)(d)})),!0}function N(e=1){const t=e*l.a._idleSpeed/1e3;for(const e of i.a.values())e.scriptRef.onlineRunningTime+=t}function I(){const e=-1!==window.location.href.toLowerCase().indexOf("?noscripts");e&&console.info("Skipping the load of any scripts during startup");for(const t in y.b)if(y.b.hasOwnProperty(t)){const a=y.b[t];a.ramUsed=0;for(let e=0;ec)return i.log(e,`Cannot run script '${a}' (t=${o}) on '${t.hostname}' because there is not enough available RAM!`),0;{i.log(e,`'${a}' on '${t.hostname}' with ${o} threads and args: ${Object(k.a)(n)}.`);const r=new d.a(s,n);return r.threads=o,P(r,t,i)}}return i.log(e,`Could not find script '${a}' on '${t.hostname}'`),0}},function(e,t,a){"use strict";let n;a.d(t,"a",(function(){return n})),function(e){e[e.Field=0]="Field",e[e.Hacking=1]="Hacking",e[e.None=2]="None",e[e.Security=3]="Security"}(n||(n={}))},,,,function(e,t,a){"use strict";function n(e){const t=Object.assign({},{progress:0,totalTicks:20},e);t.progress=Math.max(Math.min(t.progress,1),0);const a=Math.max(Math.floor(t.progress/(1/t.totalTicks)),1),n=Math.max(t.totalTicks-a,0);return`[${"|".repeat(a)}${"-".repeat(n)}]`}a.d(t,"a",(function(){return n}))},,,,,function(e,t,a){"use strict";a.d(t,"a",(function(){return i}));var n=a(21);function r(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}class i{constructor(e={}){r(this,"name","InitName"),r(this,"qty",0),r(this,"qlt",0),r(this,"dmd",0),r(this,"dmdR",[0,0]),r(this,"cmp",0),r(this,"cmpR",[0,0]),r(this,"mv",0),r(this,"mku",0),r(this,"buy",0),r(this,"sll",0),r(this,"prd",0),r(this,"imp",0),r(this,"exp",[]),r(this,"totalExp",0),r(this,"bCost",0),r(this,"sCost",0),r(this,"prdman",[!1,0]),r(this,"sllman",[!1,0]),r(this,"marketTa1",!1),r(this,"marketTa2",!1),r(this,"marketTa2Price",0),e.name&&(this.name=e.name),this.init()}getMarkupLimit(){return this.qlt/this.mku}init(){switch(this.name){case"Water":this.dmd=75,this.dmdR=[65,85],this.cmp=50,this.cmpR=[40,60],this.bCost=1500,this.mv=.2,this.mku=6;break;case"Energy":this.dmd=90,this.dmdR=[80,99],this.cmp=80,this.cmpR=[65,95],this.bCost=2e3,this.mv=.2,this.mku=6;break;case"Food":this.dmd=80,this.dmdR=[70,90],this.cmp=60,this.cmpR=[35,85],this.bCost=5e3,this.mv=1,this.mku=3;break;case"Plants":this.dmd=70,this.dmdR=[20,90],this.cmp=50,this.cmpR=[30,70],this.bCost=3e3,this.mv=.6,this.mku=3.75;break;case"Metal":this.dmd=80,this.dmdR=[75,85],this.cmp=70,this.cmpR=[60,80],this.bCost=2650,this.mv=1,this.mku=6;break;case"Hardware":this.dmd=85,this.dmdR=[80,90],this.cmp=80,this.cmpR=[65,95],this.bCost=8e3,this.mv=.5,this.mku=1;break;case"Chemicals":this.dmd=55,this.dmdR=[40,70],this.cmp=60,this.cmpR=[40,80],this.bCost=9e3,this.mv=1.2,this.mku=2;break;case"Real Estate":this.dmd=50,this.dmdR=[5,99],this.cmp=50,this.cmpR=[25,75],this.bCost=8e4,this.mv=1.5,this.mku=1.5;break;case"Drugs":this.dmd=60,this.dmdR=[45,75],this.cmp=70,this.cmpR=[40,99],this.bCost=4e4,this.mv=1.6,this.mku=1;break;case"Robots":this.dmd=90,this.dmdR=[80,9],this.cmp=90,this.cmpR=[80,9],this.bCost=75e3,this.mv=.5,this.mku=1;break;case"AI Cores":this.dmd=90,this.dmdR=[80,99],this.cmp=90,this.cmpR=[80,9],this.bCost=15e3,this.mv=.8,this.mku=.5;break;case"Scientific Research":case"InitName":break;default:console.error("Invalid material type in init(): "+this.name)}}processMarket(){const e=1+Math.random()*this.mv/300,t=1+Math.random()*this.mv/100;Math.random()<.5?(this.cmp*=t,this.cmp>this.cmpR[1]&&(this.cmp=this.cmpR[1]),this.bCost*=1/e):(this.cmp*=1/t,this.cmpthis.dmdR[1]&&(this.dmd=this.dmdR[1]),this.bCost*=e):(this.dmd*=1/a,this.dmd({ind:e.ind,city:e.city,amt:e.amt})),e}toJSON(){return Object(n.b)("Material",this)}static fromJSON(e){return Object(n.a)(i,e.data)}}n.c.constructors.Material=i},,,,function(e,t,a){"use strict";a.d(t,"a",(function(){return s}));var n=a(497),r=a(543),i=a(21);function o(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}class s{constructor(e=""){o(this,"alreadyInvited",!1),o(this,"augmentations",[]),o(this,"favor",0),o(this,"isBanned",!1),o(this,"isMember",!1),o(this,"name",""),o(this,"playerReputation",0),o(this,"rolloverRep",0),this.name=e}getInfo(){const e=n.a[this.name];if(null==e)throw new Error(`Missing faction from FactionInfos: ${this.name} this probably means the faction got corrupted somehow`);return e}gainFavor(){null==this.favor&&(this.favor=0),null==this.rolloverRep&&(this.rolloverRep=0);const e=this.getFavorGain();2===e.length?(this.favor+=e[0],this.rolloverRep=e[1]):console.error("Invalid result from getFavorGain() function")}getFavorGain(){null==this.favor&&(this.favor=0),null==this.rolloverRep&&(this.rolloverRep=0);const e=Math.max(0,Object(r.a)(this.favor-1))+this.rolloverRep+this.playerReputation,t=Math.floor(Object(r.b)(e)),a=Object(r.a)(t);return[t-this.favor+1,e-a]}toJSON(){return Object(i.b)("Faction",this)}static fromJSON(e){return Object(i.a)(s,e.data)}}i.c.constructors.Faction=s},function(e,t,a){"use strict";let n,r;a.d(t,"b",(function(){return n})),a.d(t,"a",(function(){return r})),function(e){e[e.Cost=0]="Cost",e[e.Default=1]="Default",e[e.Reputation=2]="Reputation",e[e.Purchasable=3]="Purchasable"}(n||(n={})),function(e){e[e.Alphabetically=0]="Alphabetically",e[e.AcquirementTime=1]="AcquirementTime"}(r||(r={}))},,,,,function(e,t,a){"use strict";a.d(t,"a",(function(){return i}));var n=a(0),r=a.n(n);function i(e){return Object(n.useEffect)(()=>{function t(t){if(!t.isTrusted)return;e.onKeyDown.bind(this)(t)}return document.addEventListener("keydown",t),()=>document.removeEventListener("keydown",t)}),r.a.createElement(r.a.Fragment,null)}},function(e,t,a){"use strict";a.d(t,"a",(function(){return c}));var n=a(1447),r=a(0),i=a.n(r),o=a(1445),s=a(48);const l=Object(o.a)(e=>({root:{backgroundColor:e.palette.background.paper},bar:{transition:"none",backgroundColor:e.palette.primary.main}}))(n.a);function c(e){const[t,a]=Object(r.useState)(100);return Object(r.useEffect)(()=>{const t=setInterval(()=>{a(t=>(t<=0&&e.onExpire(),t-200/e.millis*100))},200);return()=>{clearInterval(t)}},[]),i.a.createElement(s.a,{item:!0,xs:12},i.a.createElement(l,{variant:"determinate",value:t,color:"primary"}))}},function(e,t,a){"use strict";function n(e,t,a){function n(e,t,n){function r(e,t,a){return(1-a)*e+a*t}for(const i of Object.keys(e))a[i]=r(e[i],t[i],n);return e}return t<0?n(e.Trivial,e.Trivial,0):t>=0&&t<1?n(e.Trivial,e.Normal,t):t>=1&&t<2?n(e.Normal,e.Hard,t-1):t>=2&&t<3?n(e.Hard,e.Impossible,t-2):n(e.Impossible,e.Impossible,0)}a.d(t,"a",(function(){return n}))},,function(e,t,a){"use strict";a.d(t,"a",(function(){return n}));const n=new Map},function(e,t,a){"use strict";a.d(t,"c",(function(){return i})),a.d(t,"b",(function(){return o})),a.d(t,"a",(function(){return s}));var n=a(0),r=a(15);function i(e,t){e.gainMoney(t),e.recordMoneySource(t,"casino")}function o(e){const t=e.getCasinoWinnings()>1e10;return t&&Object(r.a)(n.createElement(n.Fragment,null,"Alright cheater get out of here. You're not allowed here anymore.")),t}class s extends n.Component{win(e,t){e.gainMoney(t),e.recordMoneySource(t,"casino")}reachedLimit(e){const t=e.getCasinoWinnings()>1e10;return t&&Object(r.a)(n.createElement(n.Fragment,null,"Alright cheater get out of here. You're not allowed here anymore.")),t}}},function(e,t,a){"use strict";a.d(t,"a",(function(){return i}));var n=a(154),r=a(802);const i={};n.b.forEach(e=>{i[e.name]=new r.a(e.name,e.cost,e.upgType,e.mults)})},function(e,t,a){"use strict";a.d(t,"b",(function(){return o})),a.d(t,"c",(function(){return s})),a.d(t,"d",(function(){return l})),a.d(t,"a",(function(){return c}));var n=a(127),r=a(68),i=a(6);function o(e,t,a){if(isNaN(t)||t<=0||!(e instanceof n.a))return null;t=Math.min(t,e.maxShares);return a===r.a.Long?t*e.getAskPrice()+i.a.StockMarketCommission:t*e.getBidPrice()+i.a.StockMarketCommission}function s(e,t,a){if(isNaN(t)||t<=0||!(e instanceof n.a))return null;t=Math.min(t,e.maxShares);if(a===r.a.Long)return t*e.getBidPrice()-i.a.StockMarketCommission;return t*e.playerAvgShortPx+((e.playerAvgShortPx-e.getAskPrice())*t-i.a.StockMarketCommission)}function l(e,t){if(isNaN(t)||t<=0||!(e instanceof n.a))return;t=Math.min(t,e.maxShares);const a=e.shareTxUntilMovement;if(t<=a)return e.shareTxUntilMovement-=t,void(e.shareTxUntilMovement<=0&&(e.shareTxUntilMovement=e.shareTxForMovement,e.influenceForecast(.006),e.influenceForecastForecast(e.mv/100*.006)));const r=t-a;let i=1+Math.ceil(r/e.shareTxForMovement);e.shareTxUntilMovement=e.shareTxForMovement-(t-e.shareTxUntilMovement)%e.shareTxForMovement,(e.shareTxUntilMovement===e.shareTxForMovement||e.shareTxUntilMovement<=0)&&(++i,e.shareTxUntilMovement=e.shareTxForMovement);const o=.006*(i-1),s=o*(e.mv/100);e.influenceForecast(o),e.influenceForecastForecast(s)}function c(e,t,a){if(!(e instanceof n.a))return 0;const o=t===r.a.Long,s=a-i.a.StockMarketCommission,l=o?e.getAskPrice():e.getBidPrice();return Math.floor(s/l)}},function(e,t,a){"use strict";a.d(t,"a",(function(){return i}));var n=a(6);function r(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}class i{constructor(e="",t="",a=0,n=0,i=0,o=0,s={}){r(this,"difficulty",0),r(this,"karma",0),r(this,"kills",0),r(this,"money",0),r(this,"name",""),r(this,"time",0),r(this,"type",""),r(this,"hacking_success_weight",0),r(this,"strength_success_weight",0),r(this,"defense_success_weight",0),r(this,"dexterity_success_weight",0),r(this,"agility_success_weight",0),r(this,"charisma_success_weight",0),r(this,"hacking_exp",0),r(this,"strength_exp",0),r(this,"defense_exp",0),r(this,"dexterity_exp",0),r(this,"agility_exp",0),r(this,"charisma_exp",0),r(this,"intelligence_exp",0),this.name=e,this.type=t,this.time=a,this.money=n,this.difficulty=i,this.karma=o,this.hacking_success_weight=s.hacking_success_weight?s.hacking_success_weight:0,this.strength_success_weight=s.strength_success_weight?s.strength_success_weight:0,this.defense_success_weight=s.defense_success_weight?s.defense_success_weight:0,this.dexterity_success_weight=s.dexterity_success_weight?s.dexterity_success_weight:0,this.agility_success_weight=s.agility_success_weight?s.agility_success_weight:0,this.charisma_success_weight=s.charisma_success_weight?s.charisma_success_weight:0,this.hacking_exp=s.hacking_exp?s.hacking_exp:0,this.strength_exp=s.strength_exp?s.strength_exp:0,this.defense_exp=s.defense_exp?s.defense_exp:0,this.dexterity_exp=s.dexterity_exp?s.dexterity_exp:0,this.agility_exp=s.agility_exp?s.agility_exp:0,this.charisma_exp=s.charisma_exp?s.charisma_exp:0,this.intelligence_exp=s.intelligence_exp?s.intelligence_exp:0,this.kills=s.kills?s.kills:0}commit(e,t,a=1,n=null){return a<=0&&(a=1),t.startCrime(e,this.type,this.hacking_exp/a,this.strength_exp/a,this.defense_exp/a,this.dexterity_exp/a,this.agility_exp/a,this.charisma_exp/a,this.money/a,this.time,n),this.time}successRate(e){let t=this.hacking_success_weight*e.hacking_skill+this.strength_success_weight*e.strength+this.defense_success_weight*e.defense+this.dexterity_success_weight*e.dexterity+this.agility_success_weight*e.agility+this.charisma_success_weight*e.charisma+n.a.IntelligenceCrimeWeight*e.intelligence;return t/=n.a.MaxSkillLevel,t/=this.difficulty,t*=e.crime_success_mult,t*=e.getIntelligenceBonus(1),Math.min(t,1)}}},function(e,t,a){"use strict";a.d(t,"b",(function(){return c})),a.d(t,"a",(function(){return u}));var n=a(8),r=a(23),i=a(6),o=a(231),s=a(353);function l(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function c(){return{hack:0,str:0,def:0,dex:0,agi:0,cha:0,money:0}}class u{constructor(){l(this,"hacking_skill",1),l(this,"strength",1),l(this,"defense",1),l(this,"dexterity",1),l(this,"agility",1),l(this,"charisma",1),l(this,"intelligence",1),l(this,"hp",10),l(this,"max_hp",10),l(this,"hacking_exp",0),l(this,"strength_exp",0),l(this,"defense_exp",0),l(this,"dexterity_exp",0),l(this,"agility_exp",0),l(this,"charisma_exp",0),l(this,"intelligence_exp",0),l(this,"hacking_mult",1),l(this,"strength_mult",1),l(this,"defense_mult",1),l(this,"dexterity_mult",1),l(this,"agility_mult",1),l(this,"charisma_mult",1),l(this,"hacking_exp_mult",1),l(this,"strength_exp_mult",1),l(this,"defense_exp_mult",1),l(this,"dexterity_exp_mult",1),l(this,"agility_exp_mult",1),l(this,"charisma_exp_mult",1),l(this,"hacking_chance_mult",1),l(this,"hacking_speed_mult",1),l(this,"hacking_money_mult",1),l(this,"hacking_grow_mult",1),l(this,"company_rep_mult",1),l(this,"faction_rep_mult",1),l(this,"crime_money_mult",1),l(this,"crime_success_mult",1),l(this,"work_money_mult",1),l(this,"hacknet_node_money_mult",1),l(this,"hacknet_node_purchase_cost_mult",1),l(this,"hacknet_node_ram_cost_mult",1),l(this,"hacknet_node_core_cost_mult",1),l(this,"hacknet_node_level_cost_mult",1),l(this,"bladeburner_max_stamina_mult",1),l(this,"bladeburner_stamina_gain_mult",1),l(this,"bladeburner_analysis_mult",1),l(this,"bladeburner_success_chance_mult",1),l(this,"augmentations",[]),l(this,"queuedAugmentations",[]),l(this,"city",r.a.Sector12)}applyAugmentation(e){for(const t in e.mults)null==this[t]?console.warn("Augmentation has unrecognized multiplier property: "+t):this[t]*=e.mults[t]}calculateStat(e,t=1){return Object(o.b)(e,t)}getFactionFieldWorkRepGain(){return.9*(this.hacking_skill/i.a.MaxSkillLevel+this.strength/i.a.MaxSkillLevel+this.defense/i.a.MaxSkillLevel+this.dexterity/i.a.MaxSkillLevel+this.agility/i.a.MaxSkillLevel+this.charisma/i.a.MaxSkillLevel)/5.5*this.faction_rep_mult}getFactionHackingWorkRepGain(){return this.hacking_skill/i.a.MaxSkillLevel*this.faction_rep_mult}getFactionSecurityWorkRepGain(){return.9*(this.hacking_skill/i.a.MaxSkillLevel+this.strength/i.a.MaxSkillLevel+this.defense/i.a.MaxSkillLevel+this.dexterity/i.a.MaxSkillLevel+this.agility/i.a.MaxSkillLevel)/4.5*this.faction_rep_mult}resetMultipliers(){this.hacking_mult=1,this.strength_mult=1,this.defense_mult=1,this.dexterity_mult=1,this.agility_mult=1,this.charisma_mult=1,this.hacking_exp_mult=1,this.strength_exp_mult=1,this.defense_exp_mult=1,this.dexterity_exp_mult=1,this.agility_exp_mult=1,this.charisma_exp_mult=1,this.company_rep_mult=1,this.faction_rep_mult=1,this.crime_money_mult=1,this.crime_success_mult=1,this.work_money_mult=1}updateStatLevels(){this.hacking_skill=Math.max(1,Math.floor(this.calculateStat(this.hacking_exp,this.hacking_mult*n.a.HackingLevelMultiplier))),this.strength=Math.max(1,Math.floor(this.calculateStat(this.strength_exp,this.strength_mult*n.a.StrengthLevelMultiplier))),this.defense=Math.max(1,Math.floor(this.calculateStat(this.defense_exp,this.defense_mult*n.a.DefenseLevelMultiplier))),this.dexterity=Math.max(1,Math.floor(this.calculateStat(this.dexterity_exp,this.dexterity_mult*n.a.DexterityLevelMultiplier))),this.agility=Math.max(1,Math.floor(this.calculateStat(this.agility_exp,this.agility_mult*n.a.AgilityLevelMultiplier))),this.charisma=Math.max(1,Math.floor(this.calculateStat(this.charisma_exp,this.charisma_mult*n.a.CharismaLevelMultiplier)));const e=this.hp/this.max_hp;this.max_hp=Math.floor(10+this.defense/10),this.hp=Math.round(this.max_hp*e)}getIntelligenceBonus(e){return Object(s.a)(this.intelligence,e)}}},,,,,,,,,,,function(e,t,a){"use strict";a.d(t,"a",(function(){return s})),a.d(t,"b",(function(){return l}));var n=a(0),r=a.n(n),i=a(8);class o{constructor(e,t,a,n="",i=r.a.createElement(r.a.Fragment,null)){this.number=e,this.difficulty=t,this.name=a,this.desc=n,this.info=i}}const s={};function l(e){null==e.bitNodeN&&(e.bitNodeN=1);for(const e in i.a)i.a.hasOwnProperty(e)&&(i.a[e]=1);switch(e.bitNodeN){case 1:break;case 2:i.a.HackingLevelMultiplier=.8,i.a.ServerGrowthRate=.8,i.a.ServerMaxMoney=.2,i.a.ServerStartingMoney=.4,i.a.CrimeMoney=3,i.a.InfiltrationMoney=3,i.a.FactionWorkRepGain=.5,i.a.FactionPassiveRepGain=0,i.a.GangKarmaRequirement=0;break;case 3:i.a.HackingLevelMultiplier=.8,i.a.RepToDonateToFaction=.5,i.a.AugmentationRepCost=3,i.a.AugmentationMoneyCost=3,i.a.ServerMaxMoney=.2,i.a.ServerStartingMoney=.2,i.a.ServerGrowthRate=.2,i.a.ScriptHackMoney=.2,i.a.CompanyWorkMoney=.25,i.a.CrimeMoney=.25,i.a.HacknetNodeMoney=.25,i.a.HomeComputerRamCost=1.5,i.a.PurchasedServerCost=2,i.a.GangKarmaRequirement=3;break;case 4:i.a.ServerMaxMoney=.15,i.a.ServerStartingMoney=.75,i.a.ScriptHackMoney=.2,i.a.CompanyWorkMoney=.1,i.a.CrimeMoney=.2,i.a.HacknetNodeMoney=.05,i.a.CompanyWorkExpGain=.5,i.a.ClassGymExpGain=.5,i.a.FactionWorkExpGain=.5,i.a.HackExpGain=.4,i.a.CrimeExpGain=.5,i.a.FactionWorkRepGain=.75;break;case 5:i.a.ServerMaxMoney=2,i.a.ServerStartingSecurity=2,i.a.ServerStartingMoney=.5,i.a.ScriptHackMoney=.15,i.a.HacknetNodeMoney=.2,i.a.CrimeMoney=.5,i.a.InfiltrationRep=1.5,i.a.InfiltrationMoney=1.5,i.a.AugmentationMoneyCost=2,i.a.HackExpGain=.5,i.a.CorporationValuation=.5;break;case 6:i.a.HackingLevelMultiplier=.35,i.a.ServerMaxMoney=.4,i.a.ServerStartingMoney=.5,i.a.ServerStartingSecurity=1.5,i.a.ScriptHackMoney=.75,i.a.CompanyWorkMoney=.5,i.a.CrimeMoney=.75,i.a.InfiltrationMoney=.75,i.a.CorporationValuation=.2,i.a.HacknetNodeMoney=.2,i.a.FactionPassiveRepGain=0,i.a.HackExpGain=.25,i.a.DaedalusAugsRequirement=1.166,i.a.GangKarmaRequirement=5;break;case 7:i.a.BladeburnerRank=.6,i.a.BladeburnerSkillCost=2,i.a.AugmentationMoneyCost=3,i.a.HackingLevelMultiplier=.35,i.a.ServerMaxMoney=.4,i.a.ServerStartingMoney=.5,i.a.ServerStartingSecurity=1.5,i.a.ScriptHackMoney=.5,i.a.CompanyWorkMoney=.5,i.a.CrimeMoney=.75,i.a.InfiltrationMoney=.75,i.a.CorporationValuation=.2,i.a.HacknetNodeMoney=.2,i.a.FactionPassiveRepGain=0,i.a.HackExpGain=.25,i.a.FourSigmaMarketDataCost=2,i.a.FourSigmaMarketDataApiCost=2,i.a.DaedalusAugsRequirement=1.166,i.a.GangKarmaRequirement=5;break;case 8:i.a.ScriptHackMoney=.3,i.a.ScriptHackMoneyGain=0,i.a.ManualHackMoney=0,i.a.CompanyWorkMoney=0,i.a.CrimeMoney=0,i.a.HacknetNodeMoney=0,i.a.InfiltrationMoney=0,i.a.RepToDonateToFaction=0,i.a.CorporationValuation=0,i.a.CodingContractMoney=0,i.a.GangKarmaRequirement=10;break;case 9:i.a.HackingLevelMultiplier=.4,i.a.StrengthLevelMultiplier=.45,i.a.DefenseLevelMultiplier=.45,i.a.DexterityLevelMultiplier=.45,i.a.AgilityLevelMultiplier=.45,i.a.CharismaLevelMultiplier=.45,i.a.PurchasedServerLimit=0,i.a.HomeComputerRamCost=5,i.a.CrimeMoney=.5,i.a.ScriptHackMoney=.1,i.a.HackExpGain=.05,i.a.ServerStartingMoney=.1,i.a.ServerMaxMoney=.1,i.a.ServerStartingSecurity=2.5,i.a.CorporationValuation=.5,i.a.FourSigmaMarketDataCost=5,i.a.FourSigmaMarketDataApiCost=4,i.a.BladeburnerRank=.9,i.a.BladeburnerSkillCost=1.2,i.a.GangKarmaRequirement=3;break;case 10:i.a.HackingLevelMultiplier=.2,i.a.StrengthLevelMultiplier=.4,i.a.DefenseLevelMultiplier=.4,i.a.DexterityLevelMultiplier=.4,i.a.AgilityLevelMultiplier=.4,i.a.CharismaLevelMultiplier=.4,i.a.CompanyWorkMoney=.5,i.a.CrimeMoney=.5,i.a.HacknetNodeMoney=.5,i.a.ManualHackMoney=.5,i.a.ScriptHackMoney=.5,i.a.CodingContractMoney=.5,i.a.InfiltrationMoney=.5,i.a.CorporationValuation=.5,i.a.AugmentationMoneyCost=5,i.a.AugmentationRepCost=2,i.a.HomeComputerRamCost=1.5,i.a.PurchasedServerCost=5,i.a.PurchasedServerLimit=.6,i.a.PurchasedServerMaxRam=.5,i.a.BladeburnerRank=.8,i.a.GangKarmaRequirement=3;break;case 11:i.a.HackingLevelMultiplier=.5,i.a.HackExpGain=.5,i.a.ServerMaxMoney=.1,i.a.ServerStartingMoney=.1,i.a.ServerGrowthRate=.2,i.a.ServerWeakenRate=2,i.a.CrimeMoney=3,i.a.CompanyWorkMoney=.5,i.a.HacknetNodeMoney=.1,i.a.AugmentationMoneyCost=2,i.a.InfiltrationMoney=2.5,i.a.InfiltrationRep=2.5,i.a.CorporationValuation=.1,i.a.CodingContractMoney=.25,i.a.FourSigmaMarketDataCost=4,i.a.FourSigmaMarketDataApiCost=4;break;case 12:{let t=0;for(let a=0;a50&&this.consoleHistory.splice(0,1));const a=t.split(";");for(let t=0;t100&&this.consoleLogs.shift())}log(e){this.postToConsole(`[${Object(P.a)()}] ${e}`)}resetAction(){this.action=new r.a({type:i.a.Idle})}clearConsole(){this.consoleLogs.length=0}prestige(){this.resetAction();const e=C.a.Bladeburners;this.rank>=E.a.RankNeededForFaction&&Object(A.d)(e)}storeCycles(e=0){this.storedCycles+=e}getActionIdFromTypeAndName(e="",t=""){if(""===e||""===t)return null;const a=new r.a,n=e.toLowerCase().trim(),o=t.toLowerCase().trim();switch(n){case"contract":case"contracts":case"contr":return a.type=i.a.Contract,this.contracts.hasOwnProperty(t)?(a.name=t,a):null;case"operation":case"operations":case"op":case"ops":return a.type=i.a.Operation,this.operations.hasOwnProperty(t)?(a.name=t,a):null;case"blackoperation":case"black operation":case"black operations":case"black op":case"black ops":case"blackop":case"blackops":return a.type=i.a.BlackOp,s.a.hasOwnProperty(t)?(a.name=t,a):null;case"general":case"general action":case"gen":break;default:return null}if(n.startsWith("gen")){switch(o){case"training":a.type=i.a.Training,a.name="Training";break;case"recruitment":case"recruit":a.type=i.a.Recruitment,a.name="Recruitment";break;case"field analysis":case"fieldanalysis":a.type=i.a["Field Analysis"],a.name="Field Analysis";break;case"diplomacy":a.type=i.a.Diplomacy,a.name="Diplomacy";break;case"hyperbolic regeneration chamber":a.type=i.a["Hyperbolic Regeneration Chamber"],a.name="Hyperbolic Regeneration Chamber";break;default:return null}return a}return null}executeStartConsoleCommand(e,t){if(3!==t.length)return this.postToConsole("Invalid usage of 'start' console command: start [type] [name]"),void this.postToConsole("Use 'help start' for more info");const a=t[2];switch(t[1].toLowerCase()){case"general":case"gen":null!=m.a[a]?(this.action.type=i.a[a],this.action.name=a,this.startAction(e,this.action)):this.postToConsole("Invalid action name specified: "+t[2]);break;case"contract":case"contracts":null!=this.contracts[a]?(this.action.type=i.a.Contract,this.action.name=a,this.startAction(e,this.action)):this.postToConsole("Invalid contract name specified: "+t[2]);break;case"ops":case"op":case"operations":case"operation":null!=this.operations[a]?(this.action.type=i.a.Operation,this.action.name=a,this.startAction(e,this.action)):this.postToConsole("Invalid Operation name specified: "+t[2]);break;case"blackops":case"blackop":case"black operations":case"black operation":null!=s.a[a]?(this.action.type=i.a.BlackOperation,this.action.name=a,this.startAction(e,this.action)):this.postToConsole("Invalid BlackOp name specified: "+t[2]);break;default:this.postToConsole("Invalid action/event type specified: "+t[1]),this.postToConsole("Examples of valid action/event identifiers are: [general, contract, op, blackop]")}}executeSkillConsoleCommand(e){switch(e.length){case 1:this.postToConsole("Invalid usage of 'skill' console command: skill [action] [name]"),this.postToConsole("Use 'help skill' for more info");break;case 2:if("list"===e[1].toLowerCase()){this.postToConsole("Skills: ");const e=Object.keys(p.a);for(let t=0;t=n?(this.skillPoints-=n,this.upgradeSkill(a),this.log(a.name+" upgraded to Level "+this.skills[t])):this.postToConsole("You do not have enough Skill Points to upgrade this. You need "+Object(h.c)(n,0))}else this.postToConsole("Invalid usage of 'skill' console command: skill [action] [name]"),this.postToConsole("Use 'help skill' for more info");break}default:this.postToConsole("Invalid usage of 'skill' console command: skill [action] [name]"),this.postToConsole("Use 'help skill' for more info")}}executeLogConsoleCommand(e){if(e.length<3)return this.postToConsole("Invalid usage of log command: log [enable/disable] [action/event]"),void this.postToConsole("Use 'help log' for more details and examples");let t=!0;switch(e[1].toLowerCase().includes("d")&&(t=!1),e[2].toLowerCase()){case"general":case"gen":this.logging.general=t,this.log("Logging "+(t?"enabled":"disabled")+" for general actions");break;case"contract":case"contracts":this.logging.contracts=t,this.log("Logging "+(t?"enabled":"disabled")+" for Contracts");break;case"ops":case"op":case"operations":case"operation":this.logging.ops=t,this.log("Logging "+(t?"enabled":"disabled")+" for Operations");break;case"blackops":case"blackop":case"black operations":case"black operation":this.logging.blackops=t,this.log("Logging "+(t?"enabled":"disabled")+" for BlackOps");break;case"event":case"events":this.logging.events=t,this.log("Logging "+(t?"enabled":"disabled")+" for events");break;case"all":this.logging.general=t,this.logging.contracts=t,this.logging.ops=t,this.logging.blackops=t,this.logging.events=t,this.log("Logging "+(t?"enabled":"disabled")+" for everything");break;default:this.postToConsole("Invalid action/event type specified: "+e[2]),this.postToConsole("Examples of valid action/event identifiers are: [general, contracts, ops, blackops, events]")}}executeHelpConsoleCommand(e){if(1===e.length)for(const e of g.a.helpList)this.postToConsole(e);else for(let t=1;t0&&(i*=Object(b.a)(2,4),--n.comms,++a.comms);const o=Math.round(n.pop*i);n.pop-=o,a.pop+=o}triggerPotentialMigration(e,t){(null==t||isNaN(t))&&console.error("Invalid 'chance' parameter passed into Bladeburner.triggerPotentialMigration()"),t>1&&(t/=100),Math.random()1&&(u=Math.pow(u,.8)),e.gainIntelligenceExp(u)}getDiplomacyEffectiveness(e){return(100-(Math.pow(e.charisma,.045)+e.charisma/1e3))/100}getRecruitmentSuccessChance(e){return Math.pow(e.charisma,.45)/(this.teamSize+1)}getRecruitmentTime(e){const t=e.charisma*this.skillMultipliers.effCha,a=Math.pow(t,.81)+t/90;return Math.max(10,Math.round(E.a.BaseRecruitmentTimeNeeded-a))}resetSkillMultipliers(){this.skillMultipliers={successChanceAll:1,successChanceStealth:1,successChanceKill:1,successChanceContract:1,successChanceOperation:1,successChanceEstimate:1,actionTime:1,effHack:1,effStr:1,effDef:1,effDex:1,effAgi:1,effCha:1,effInt:1,stamina:1,money:1,expGain:1}}updateSkillMultipliers(){this.resetSkillMultipliers();for(const e in this.skills)if(this.skills.hasOwnProperty(e)){const t=p.a[e];if(null==t)throw new Error("Could not find Skill Object for: "+e);const a=this.skills[e];if(null==a||a<=0)continue;const n=Object.keys(this.skillMultipliers);for(let e=0;e=1){let n;n=e?Math.ceil(a/2):Math.floor(a);const r=Object(b.a)(0,n);this.teamSize-=r,this.teamLost+=r,this.logging.ops&&r>0&&this.log("Lost "+Object(h.c)(r,0)+" team members during this "+t.name)}const n=this.getCurrentCity();switch(t.name){case"Investigation":e?(n.improvePopulationEstimateByPercentage(.4*this.skillMultipliers.successChanceEstimate),Math.random()<.02*this.skillMultipliers.successChanceEstimate&&n.improveCommunityEstimate(1)):this.triggerPotentialMigration(this.city,.1);break;case"Undercover Operation":e?(n.improvePopulationEstimateByPercentage(.8*this.skillMultipliers.successChanceEstimate),Math.random()<.02*this.skillMultipliers.successChanceEstimate&&n.improveCommunityEstimate(1)):this.triggerPotentialMigration(this.city,.15);break;case"Sting Operation":e&&n.changePopulationByPercentage(-.1,{changeEstEqually:!0,nonZero:!0}),n.changeChaosByCount(.1);break;case"Raid":if(e)n.changePopulationByPercentage(-1,{changeEstEqually:!0,nonZero:!0}),--n.comms,--n.commsEst;else{const e=Object(b.a)(-10,-5)/10;n.changePopulationByPercentage(e,{nonZero:!0,changeEstEqually:!1})}n.changeChaosByPercentage(Object(b.a)(1,5));break;case"Stealth Retirement Operation":e&&n.changePopulationByPercentage(-.5,{changeEstEqually:!0,nonZero:!0}),n.changeChaosByPercentage(Object(b.a)(-3,-1));break;case"Assassination":e&&n.changePopulationByCount(-1,{estChange:-1,estOffset:0}),n.changeChaosByPercentage(Object(b.a)(-5,5));break;default:throw new Error("Invalid Action name in completeOperation: "+this.action.name)}}getActionObject(e){switch(e.type){case i.a.Contract:return this.contracts[e.name];case i.a.Operation:return this.operations[e.name];case i.a.BlackOp:case i.a.BlackOperation:return s.a[e.name];case i.a.Training:return m.a.Training;case i.a["Field Analysis"]:return m.a["Field Analysis"];case i.a.Recruitment:return m.a.Recruitment;case i.a.Diplomacy:return m.a.Diplomacy;case i.a["Hyperbolic Regeneration Chamber"]:return m.a["Hyperbolic Regeneration Chamber"];default:return null}}completeContract(e){if(this.action.type!==i.a.Contract)throw new Error("completeContract() called even though current action is not a Contract");const t=this.getCurrentCity();if(e)switch(this.action.name){case"Tracking":t.improvePopulationEstimateByCount(Object(b.a)(100,1e3));break;case"Bounty Hunter":t.changePopulationByCount(-1,{estChange:-1,estOffset:0}),t.changeChaosByCount(.02);break;case"Retirement":t.changePopulationByCount(-1,{estChange:-1,estOffset:0}),t.changeChaosByCount(.04);break;default:throw new Error("Invalid Action name in completeContract: "+this.action.name)}}completeAction(e,t){switch(this.action.type){case i.a.Contract:case i.a.Operation:try{const e=this.action.type===i.a.Operation,a=this.getActionObject(this.action);if(null==a)throw new Error("Failed to get Contract/Operation Object for: "+this.action.name);const n=a.getDifficulty(),r=Math.pow(n,E.a.DiffMultExponentialFactor)+n/E.a.DiffMultLinearFactor,o=Math.pow(a.rewardFac,a.level-1);if(this.stamina-=E.a.BaseStaminaLoss*r,this.stamina<0&&(this.stamina=0),a.attempt(this)){this.gainActionStats(t,a,!0),++a.successes,--a.count;let n=0;if(e||(n=E.a.ContractBaseMoneyGain*o*this.skillMultipliers.money,t.gainMoney(n),t.recordMoneySource(n,"bladeburner")),e?a.setMaxLevel(E.a.OperationSuccessesPerLevel):a.setMaxLevel(E.a.ContractSuccessesPerLevel),a.rankGain){const r=Object(k.a)(a.rankGain*o*v.a.BladeburnerRank,10);this.changeRank(t,r),e&&this.logging.ops?this.log(a.name+" successfully completed! Gained "+Object(h.c)(r,3)+" rank"):!e&&this.logging.contracts&&this.log(a.name+" contract successfully completed! Gained "+Object(h.c)(r,3)+" rank and "+_.a.formatMoney(n))}e?this.completeOperation(!0):this.completeContract(!0)}else{this.gainActionStats(t,a,!1),++a.failures;let n=0,i=0;if(a.rankLoss&&(n=Object(k.a)(a.rankLoss*o,10),this.changeRank(t,-1*n)),a.hpLoss){i=a.hpLoss*r,i=Math.ceil(Object(k.a)(i,10)),this.hpLost+=i;const e=Object(S.a)(t,i);t.takeDamage(i)&&(++this.numHosp,this.moneyLost+=e)}let s="";n>0&&(s+="Lost "+Object(h.c)(n,3)+" rank. "),i>0&&(s+="Took "+Object(h.c)(i,0)+" damage."),e&&this.logging.ops?this.log(a.name+" failed! "+s):!e&&this.logging.contracts&&this.log(a.name+" contract failed! "+s),e?this.completeOperation(!1):this.completeContract(!1)}a.autoLevel&&(a.level=a.maxLevel),this.startAction(t,this.action)}catch(e){Object(y.a)(e)}break;case i.a.BlackOp:case i.a.BlackOperation:try{const a=this.getActionObject(this.action);if(null==a||!(a instanceof l.a))throw new Error("Failed to get BlackOperation Object for: "+this.action.name);const n=a.getDifficulty(),r=Math.pow(n,E.a.DiffMultExponentialFactor)+n/E.a.DiffMultLinearFactor;this.stamina-=E.a.BaseStaminaLoss*r,this.stamina<0&&(this.stamina=0);const i=a.teamCount;let o;if(a.attempt(this)){this.gainActionStats(t,a,!0),a.count=0,this.blackops[a.name]=!0;let n=0;if(a.rankGain&&(n=Object(k.a)(a.rankGain*v.a.BladeburnerRank,10),this.changeRank(t,n)),o=Math.ceil(i/2),"Operation Daedalus"===a.name)return this.resetAction(),e.toBitVerse(!1,!1);this.logging.blackops&&this.log(a.name+" successful! Gained "+Object(h.c)(n,1)+" rank")}else{this.gainActionStats(t,a,!1);let e=0,n=0;if(a.rankLoss&&(e=Object(k.a)(a.rankLoss,10),this.changeRank(t,-1*e)),a.hpLoss){n=a.hpLoss*r,n=Math.ceil(Object(k.a)(n,10));const e=Object(S.a)(t,n);t.takeDamage(n)&&(++this.numHosp,this.moneyLost+=e)}o=Math.floor(i),this.logging.blackops&&this.log(a.name+" failed! Lost "+Object(h.c)(e,1)+" rank and took "+Object(h.c)(n,0)+" damage")}if(this.resetAction(),i>=1){const e=Object(b.a)(1,o);this.teamSize-=e,this.teamLost+=e,this.logging.blackops&&this.log("You lost "+Object(h.c)(e,0)+" team members during "+a.name)}}catch(e){Object(y.a)(e)}break;case i.a.Training:{this.stamina-=.5*E.a.BaseStaminaLoss;const e=30*t.strength_exp_mult,a=30*t.defense_exp_mult,n=30*t.dexterity_exp_mult,r=30*t.agility_exp_mult,i=.04*this.skillMultipliers.stamina;t.gainStrengthExp(e),t.gainDefenseExp(a),t.gainDexterityExp(n),t.gainAgilityExp(r),this.staminaBonus+=i,this.logging.general&&this.log("Training completed. Gained: "+Object(h.c)(e,1)+" str exp, "+Object(h.c)(a,1)+" def exp, "+Object(h.c)(n,1)+" dex exp, "+Object(h.c)(r,1)+" agi exp, "+Object(h.c)(i,3)+" max stamina"),this.startAction(t,this.action);break}case i.a.FieldAnalysis:case i.a["Field Analysis"]:{let e=.04*Math.pow(t.hacking_skill,.3)+.04*Math.pow(t.intelligence,.9)+.02*Math.pow(t.charisma,.3);if(e*=t.bladeburner_analysis_mult,isNaN(e)||e<0)throw new Error("Field Analysis Effectiveness calculated to be NaN or negative");const a=20*t.hacking_exp_mult,n=20*t.charisma_exp_mult;t.gainHackingExp(a),t.gainIntelligenceExp(E.a.BaseIntGain),t.gainCharismaExp(n),this.changeRank(t,.1*v.a.BladeburnerRank),this.getCurrentCity().improvePopulationEstimateByPercentage(e*this.skillMultipliers.successChanceEstimate),this.logging.general&&this.log("Field analysis completed. Gained 0.1 rank, "+Object(h.c)(a,1)+" hacking exp, and "+Object(h.c)(n,1)+" charisma exp"),this.startAction(t,this.action);break}case i.a.Recruitment:{const e=this.getRecruitmentSuccessChance(t);if(Math.random()=a){const e=Math.floor((this.maxRank-a)/E.a.RanksPerSkillPoint+1);this.skillPoints+=e,this.totalSkillPoints+=e}}processAction(e,t,a){if(this.action.type!==i.a.Idle){if(this.actionTimeToComplete<=0)throw new Error(`Invalid actionTimeToComplete value: ${this.actionTimeToComplete}, type; ${this.action.type}`);if(!(this.action instanceof r.a))throw new Error("Bladeburner.action is not an ActionIdentifier Object");return this.actionTimeCurrent+=a+this.actionTimeOverflow,this.actionTimeOverflow=0,this.actionTimeCurrent>=this.actionTimeToComplete?(this.actionTimeOverflow=this.actionTimeCurrent-this.actionTimeToComplete,this.completeAction(e,t)):void 0}}calculateStaminaGainPerSecond(e){const t=e.agility*this.skillMultipliers.effAgi,a=this.maxStamina/E.a.MaxStaminaToGainFactor;return(E.a.StaminaGainPerSecond+a)*Math.pow(t,.17)*(this.skillMultipliers.stamina*e.bladeburner_stamina_gain_mult)}calculateMaxStamina(e){const t=e.agility*this.skillMultipliers.effAgi,a=(Math.pow(t,.8)+this.staminaBonus)*this.skillMultipliers.stamina*e.bladeburner_max_stamina_mult;if(this.maxStamina!==a){const e=this.maxStamina;this.maxStamina=a,this.stamina=this.maxStamina*this.stamina/e}if(isNaN(a))throw new Error("Max Stamina calculated to be NaN in Bladeburner.calculateMaxStamina()")}create(){this.contracts.Tracking=new u.a({name:"Tracking",baseDifficulty:125,difficultyFac:1.02,rewardFac:1.041,rankGain:.3,hpLoss:.5,count:Object(b.a)(25,150),weights:{hack:0,str:.05,def:.05,dex:.35,agi:.35,cha:.1,int:.05},decays:{hack:0,str:.91,def:.91,dex:.91,agi:.91,cha:.9,int:1},isStealth:!0}),this.contracts["Bounty Hunter"]=new u.a({name:"Bounty Hunter",baseDifficulty:250,difficultyFac:1.04,rewardFac:1.085,rankGain:.9,hpLoss:1,count:Object(b.a)(5,150),weights:{hack:0,str:.15,def:.15,dex:.25,agi:.25,cha:.1,int:.1},decays:{hack:0,str:.91,def:.91,dex:.91,agi:.91,cha:.8,int:.9},isKill:!0}),this.contracts.Retirement=new u.a({name:"Retirement",baseDifficulty:200,difficultyFac:1.03,rewardFac:1.065,rankGain:.6,hpLoss:1,count:Object(b.a)(5,150),weights:{hack:0,str:.2,def:.2,dex:.2,agi:.2,cha:.1,int:.1},decays:{hack:0,str:.91,def:.91,dex:.91,agi:.91,cha:.8,int:.9},isKill:!0}),this.operations.Investigation=new c.a({name:"Investigation",baseDifficulty:400,difficultyFac:1.03,rewardFac:1.07,reqdRank:25,rankGain:2.2,rankLoss:.2,count:Object(b.a)(1,100),weights:{hack:.25,str:.05,def:.05,dex:.2,agi:.1,cha:.25,int:.1},decays:{hack:.85,str:.9,def:.9,dex:.9,agi:.9,cha:.7,int:.9},isStealth:!0}),this.operations["Undercover Operation"]=new c.a({name:"Undercover Operation",baseDifficulty:500,difficultyFac:1.04,rewardFac:1.09,reqdRank:100,rankGain:4.4,rankLoss:.4,hpLoss:2,count:Object(b.a)(1,100),weights:{hack:.2,str:.05,def:.05,dex:.2,agi:.2,cha:.2,int:.1},decays:{hack:.8,str:.9,def:.9,dex:.9,agi:.9,cha:.7,int:.9},isStealth:!0}),this.operations["Sting Operation"]=new c.a({name:"Sting Operation",baseDifficulty:650,difficultyFac:1.04,rewardFac:1.095,reqdRank:500,rankGain:5.5,rankLoss:.5,hpLoss:2.5,count:Object(b.a)(1,150),weights:{hack:.25,str:.05,def:.05,dex:.25,agi:.1,cha:.2,int:.1},decays:{hack:.8,str:.85,def:.85,dex:.85,agi:.85,cha:.7,int:.9},isStealth:!0}),this.operations.Raid=new c.a({name:"Raid",baseDifficulty:800,difficultyFac:1.045,rewardFac:1.1,reqdRank:3e3,rankGain:55,rankLoss:2.5,hpLoss:50,count:Object(b.a)(1,150),weights:{hack:.1,str:.2,def:.2,dex:.2,agi:.2,cha:0,int:.1},decays:{hack:.7,str:.8,def:.8,dex:.8,agi:.8,cha:0,int:.9},isKill:!0}),this.operations["Stealth Retirement Operation"]=new c.a({name:"Stealth Retirement Operation",baseDifficulty:1e3,difficultyFac:1.05,rewardFac:1.11,reqdRank:2e4,rankGain:22,rankLoss:2,hpLoss:10,count:Object(b.a)(1,150),weights:{hack:.1,str:.1,def:.1,dex:.3,agi:.3,cha:0,int:.1},decays:{hack:.7,str:.8,def:.8,dex:.8,agi:.8,cha:0,int:.9},isStealth:!0,isKill:!0}),this.operations.Assassination=new c.a({name:"Assassination",baseDifficulty:1500,difficultyFac:1.06,rewardFac:1.14,reqdRank:5e4,rankGain:44,rankLoss:4,hpLoss:5,count:Object(b.a)(1,150),weights:{hack:.1,str:.1,def:.1,dex:.3,agi:.3,cha:0,int:.1},decays:{hack:.6,str:.8,def:.8,dex:.8,agi:.8,cha:0,int:.8},isStealth:!0,isKill:!0})}process(e,t){if(!1===x.b&&this.blackops.hasOwnProperty("Operation Daedalus"))return e.toBitVerse(!1,!1);if(!1===T.a[R.a.BladesSimulacrum].owned&&t.isWorking){if(this.action.type!==i.a.Idle){let e="Your Bladeburner action was cancelled because you started doing something else.";this.automateEnabled&&(e+="
Your automation was disabled as well. You will have to re-enable it through the Bladeburner console",this.automateEnabled=!1),M.a.SuppressBladeburnerPopup||Object(O.a)(e)}this.resetAction()}if(this.stamina<=0&&(this.log("Your Bladeburner action was cancelled because your stamina hit 0"),this.resetAction()),this.storedCycles>=E.a.CyclesPerSecond){let a=Math.floor(this.storedCycles/E.a.CyclesPerSecond);a=Math.min(a,5),this.storedCycles-=a*E.a.CyclesPerSecond,this.calculateMaxStamina(t),this.stamina+=this.calculateStaminaGainPerSecond(t)*a,this.stamina=Math.min(this.maxStamina,this.stamina);for(const e of Object.values(this.contracts)){const t=o.a[e.name];if(void 0===t)throw new Error(`growth formula for action '${e.name}' is undefined`);e.count+=a*t()/E.a.ActionCountGrowthPeriod}for(const e of Object.values(this.operations)){const t=o.a[e.name];if(void 0===t)throw new Error(`growth formula for action '${e.name}' is undefined`);void 0!==t&&(e.count+=a*t()/E.a.ActionCountGrowthPeriod)}for(const e of E.a.CityNames){const t=this.cities[e];if(!(t instanceof f.a))throw new Error("Invalid City object when processing passive chaos reduction in Bladeburner.process");t.chaos-=1e-4*a,t.chaos=Math.max(0,t.chaos)}this.randomEventCounter-=a,this.randomEventCounter<=0&&(this.randomEvent(),this.randomEventCounter+=Object(b.a)(240,600)),this.processAction(e,t,a),this.automateEnabled&&(this.stamina<=this.automateThreshLow?this.action.name===this.automateActionLow.name&&this.action.type===this.automateActionLow.type||(this.action=new r.a({type:this.automateActionLow.type,name:this.automateActionLow.name}),this.startAction(t,this.action)):this.stamina>=this.automateThreshHigh&&(this.action.name===this.automateActionHigh.name&&this.action.type===this.automateActionHigh.type||(this.action=new r.a({type:this.automateActionHigh.type,name:this.automateActionHigh.name}),this.startAction(t,this.action))))}}getTypeAndNameFromActionId(e){const t={type:"",name:""},a=Object.keys(i.a);for(let n=0;nthis.rank)return n.log("bladeburner.startAction",`Insufficient rank to start Black Op '${o.name}'.`),!1;if(null!=this.blackops[o.name])return n.log("bladeburner.startAction",`Black Op ${o.name} has already been completed.`),!1;const t=[];for(const e in s.a)s.a.hasOwnProperty(e)&&t.push(e);t.sort((function(e,t){return s.a[e].reqdRank-s.a[t].reqdRank}));const r=t.indexOf(o.name);if(-1===r)return n.log("bladeburner.startAction",`Invalid Black Op: '${a}'`),!1;if(r>0&&null==this.blackops[t[r-1]])return n.log("bladeburner.startAction",`Preceding Black Op must be completed before starting '${o.name}'.`),!1}try{return this.startAction(e,o),n.log("bladeburner.startAction",`Starting bladeburner action with type '${t}' and name ${a}"`),!0}catch(e){return this.resetAction(),n.log("bladeburner.startAction",r),!1}}getActionTimeNetscriptFn(e,t,a,n){const r=`Invalid action: type='${t}' name='${a}'`,o=this.getActionIdFromTypeAndName(t,a);if(null==o)return n.log("bladeburner.getActionTime",r),-1;const s=this.getActionObject(o);if(null==s)return n.log("bladeburner.getActionTime",r),-1;switch(o.type){case i.a.Contract:case i.a.Operation:case i.a.BlackOp:case i.a.BlackOperation:return s.getActionTime(this);case i.a.Training:case i.a["Field Analysis"]:case i.a.FieldAnalysis:return 30;case i.a.Recruitment:return this.getRecruitmentTime(e);case i.a.Diplomacy:case i.a["Hyperbolic Regeneration Chamber"]:return 60;default:return n.log("bladeburner.getActionTime",r),-1}}getActionEstimatedSuccessChanceNetscriptFn(e,t,a,n){const r=`Invalid action: type='${t}' name='${a}'`,o=this.getActionIdFromTypeAndName(t,a);if(null==o)return n.log("bladeburner.getActionEstimatedSuccessChance",r),[-1,-1];const s=this.getActionObject(o);if(null==s)return n.log("bladeburner.getActionEstimatedSuccessChance",r),[-1,-1];switch(o.type){case i.a.Contract:case i.a.Operation:case i.a.BlackOp:case i.a.BlackOperation:return s.getEstSuccessChance(this);case i.a.Training:case i.a["Field Analysis"]:case i.a.FieldAnalysis:case i.a.Diplomacy:case i.a["Hyperbolic Regeneration Chamber"]:return[1,1];case i.a.Recruitment:{const t=this.getRecruitmentSuccessChance(e);return[t,t]}default:return n.log("bladeburner.getActionEstimatedSuccessChance",r),[-1,-1]}}getActionCountRemainingNetscriptFn(e,t,a){const n=`Invalid action: type='${e}' name='${t}'`,r=this.getActionIdFromTypeAndName(e,t);if(null==r)return a.log("bladeburner.getActionCountRemaining",n),-1;const o=this.getActionObject(r);if(null==o)return a.log("bladeburner.getActionCountRemaining",n),-1;switch(r.type){case i.a.Contract:case i.a.Operation:return Math.floor(o.count);case i.a.BlackOp:case i.a.BlackOperation:return null!=this.blackops[t]?0:1;case i.a.Training:case i.a.Recruitment:case i.a["Field Analysis"]:case i.a.FieldAnalysis:case i.a.Diplomacy:case i.a["Hyperbolic Regeneration Chamber"]:return 1/0;default:return a.log("bladeburner.getActionCountRemaining",n),-1}}getSkillLevelNetscriptFn(e,t){return""!==e&&p.a.hasOwnProperty(e)?null==this.skills[e]?0:this.skills[e]:(t.log("bladeburner.getSkillLevel",`Invalid skill: '${e}'`),-1)}getSkillUpgradeCostNetscriptFn(e,t){if(""===e||!p.a.hasOwnProperty(e))return t.log("bladeburner.getSkillUpgradeCost",`Invalid skill: '${e}'`),-1;const a=p.a[e];return null==this.skills[e]?a.calculateCost(0):a.calculateCost(this.skills[e])}upgradeSkillNetscriptFn(e,t){const a=`Invalid skill: '${e}'`;if(!p.a.hasOwnProperty(e))return t.log("bladeburner.upgradeSkill",a),!1;const n=p.a[e];let r=0;this.skills[e]&&!isNaN(this.skills[e])&&(r=this.skills[e]);const i=n.calculateCost(r);return n.maxLvl&&r>=n.maxLvl?(t.log("bladeburner.upgradeSkill",`Skill '${e}' is already maxed.`),!1):this.skillPoints=E.a.RankNeededForFaction?(Object(A.d)(t),e.log("bladeburner.joinBladeburnerFaction","Joined Bladeburners faction."),!0):(e.log("bladeburner.joinBladeburnerFaction",`You do not have the required rank (${this.rank}/${E.a.RankNeededForFaction}).`),!1))}toJSON(){return Object(n.b)("Bladeburner",this)}static fromJSON(e){return Object(n.a)(I,e.data)}}n.c.constructors.Bladeburner=I},function(e,t,a){"use strict";a.d(t,"a",(function(){return l}));var n=a(314),r=a(25),i=a(6),o=a(21);const s={name:"",info:"",companyPositions:{},expMultiplier:1,salaryMultiplier:1,jobStatReqOffset:0};class l{constructor(e=s){this.name=e.name,this.info=e.info,this.companyPositions=e.companyPositions,this.expMultiplier=e.expMultiplier,this.salaryMultiplier=e.salaryMultiplier,this.jobStatReqOffset=e.jobStatReqOffset,this.isPlayerEmployed=!1,this.playerReputation=1,this.favor=0,this.rolloverRep=0,this.isMegacorp=!1,e.isMegacorp&&(this.isMegacorp=!0)}hasPosition(e){return e instanceof n.a?null!=this.companyPositions[e.name]:null!=this.companyPositions[e]}hasAgentPositions(){return null!=this.companyPositions[r.a[0]]}hasBusinessConsultantPositions(){return null!=this.companyPositions[r.c[0]]}hasBusinessPositions(){return null!=this.companyPositions[r.b[0]]}hasEmployeePositions(){return null!=this.companyPositions[r.e[1]]}hasITPositions(){return null!=this.companyPositions[r.d[0]]}hasSecurityPositions(){return null!=this.companyPositions[r.h[2]]}hasSoftwareConsultantPositions(){return null!=this.companyPositions[r.k[0]]}hasSoftwarePositions(){return null!=this.companyPositions[r.j[0]]}hasWaiterPositions(){return null!=this.companyPositions[r.e[0]]}gainFavor(){null==this.favor&&(this.favor=0),null==this.rolloverRep&&(this.rolloverRep=0);const e=this.getFavorGain();2==e.length?(this.favor+=e[0],this.rolloverRep=e[1]):console.error("Invalid result from getFavorGain() function")}getFavorGain(){null==this.favor&&(this.favor=0),null==this.rolloverRep&&(this.rolloverRep=0);let e=0,t=this.playerReputation+this.rolloverRep,a=i.a.CompanyReputationToFavorBase*Math.pow(i.a.CompanyReputationToFavorMult,this.favor);for(;t>0&&t>=a;)++e,t-=a,a*=i.a.FactionReputationToFavorMult;return[e,t]}toJSON(){return Object(o.b)("Company",this)}static fromJSON(e){return Object(o.a)(l,e.data)}}o.c.constructors.Company=l},function(e,t,a){"use strict";a.d(t,"a",(function(){return c})),a.d(t,"b",(function(){return u})),a.d(t,"c",(function(){return m})),a.d(t,"e",(function(){return h})),a.d(t,"d",(function(){return p}));var n=a(36),r=a(44),i=a(8),o=a(6),s=a(15),l=a(803);function c(e){const t=Math.round(e);return isNaN(t)||!Object(l.a)(t)||t>m()?1/0:t*o.a.BaseCostFor1GBOfRamServer*i.a.PurchasedServerCost}function u(){return Math.round(o.a.PurchasedServerLimit*i.a.PurchasedServerLimit)}function m(){const e=Math.round(o.a.PurchasedServerMaxRam*i.a.PurchasedServerMaxRam);return 1<<31-Math.clz32(e)}function h(e,t,a,i){if(!i.canAfford(a))return void Object(s.a)("You don't have enough money to purchase this server!");if(i.purchasedServers.length>=u())return void Object(s.a)("You have reached the maximum limit of "+u()+" servers. You cannot purchase any more. You can delete some of your purchased servers using the deleteServer() Netscript function in a script");if(""==e)return void Object(s.a)("You must enter a hostname for your new server!");const o=Object(r.h)({adminRights:!0,hostname:e,ip:Object(n.c)(),isConnectedTo:!1,maxRam:t,organizationName:"",purchasedByPlayer:!0});Object(n.a)(o),i.purchasedServers.push(o.ip);const l=i.getHomeComputer();l.serversOnNetwork.push(o.ip),o.serversOnNetwork.push(l.ip),i.loseMoney(a),Object(s.a)("Server successfully purchased with hostname "+e)}function p(e){const t=e.getUpgradeHomeRamCost();if(!e.canAfford(t))return void Object(s.a)("You do not have enough money to purchase additional RAM for your home computer");const a=e.getHomeComputer();a.maxRam>=o.a.HomeComputerMaxRam?Object(s.a)("You cannot upgrade your home computer RAM because it is at its maximum possible value"):(a.maxRam*=2,e.loseMoney(t))}},,,function(e,t,a){"use strict";a.d(t,"a",(function(){return l}));var n=a(168),r=a(157),i=a(21),o=a(228);function s(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}class l{constructor(e={}){var t;s(this,"level",1),s(this,"sizeUsed",0),s(this,"smartSupplyEnabled",!1),s(this,"smartSupplyUseLeftovers",{}),s(this,"smartSupplyStore",0),this.loc=e.loc?e.loc:"",this.size=e.size?e.size:0,this.materials={Water:new n.a({name:"Water"}),Energy:new n.a({name:"Energy"}),Food:new n.a({name:"Food"}),Plants:new n.a({name:"Plants"}),Metal:new n.a({name:"Metal"}),Hardware:new n.a({name:"Hardware"}),Chemicals:new n.a({name:"Chemicals"}),Drugs:new n.a({name:"Drugs"}),Robots:new n.a({name:"Robots"}),AICores:new n.a({name:"AI Cores"}),RealEstate:new n.a({name:"Real Estate"})},this.smartSupplyUseLeftovers={Water:!0,Energy:!0,Food:!0,Plants:!0,Metal:!0,Hardware:!0,Chemicals:!0,Drugs:!0,Robots:!0,AICores:!0,RealEstate:!0},e.corp&&e.industry&&this.updateSize(e.corp,e.industry),null!==(t=e.corp)&&void 0!==t&&t.unlockUpgrades[1]&&(this.smartSupplyEnabled=!0)}updateMaterialSizeUsed(){this.sizeUsed=0;for(const e in this.materials){const t=this.materials[e];r.a.hasOwnProperty(e)&&(this.sizeUsed+=t.qty*r.a[e])}this.sizeUsed>this.size&&console.warn("Warehouse size used greater than capacity, something went wrong")}updateSize(e,t){try{this.size=100*this.level*e.getStorageMultiplier()*t.getStorageMultiplier()}catch(e){Object(o.a)(e)}}toJSON(){return Object(i.b)("Warehouse",this)}static fromJSON(e){return Object(i.a)(l,e.data)}}i.c.constructors.Warehouse=l},function(e,t,a){"use strict";a.d(t,"a",(function(){return i}));var n=a(800),r=a(501);const i={};n.a.forEach(e=>{i[e.name]=new r.a(e.name,e.desc,e.isHacking,e.isCombat,e.params)})},function(e,t,a){"use strict";a.d(t,"c",(function(){return i})),a.d(t,"d",(function(){return o})),a.d(t,"e",(function(){return s})),a.d(t,"b",(function(){return l})),a.d(t,"a",(function(){return c})),a.d(t,"f",(function(){return u}));var n=a(8),r=a(37);function i(e,t,a,i,o){return r.b.HashesPerLevel*e*Math.pow(1.07,Math.log2(a))*(1+(i-1)/5)*(1-t/a)*o*n.a.HacknetNodeMoney}function o(e,t=1,a=1){const n=Math.round(t);if(isNaN(n)||n<1)return 0;if(e>=r.b.MaxLevel)return 1/0;const i=r.b.UpgradeLevelMult;let o=0,s=e;for(let e=0;e=r.b.MaxRam)return 1/0;let i=0,o=Math.round(Math.log2(e)),s=e;for(let e=0;e=r.b.MaxCores)return 1/0;const i=r.b.UpgradeCoreMult;let o=0,s=e;for(let e=0;e=r.b.MaxCache)return 1/0;const n=r.b.UpgradeCacheMult;let i=0,o=e;for(let e=0;e=r.b.MaxServers?1/0:r.b.BaseCost*Math.pow(r.b.PurchaseMult,e-1)*t}},function(e,t,a){"use strict";a.d(t,"a",(function(){return m})),a.d(t,"c",(function(){return h})),a.d(t,"d",(function(){return p})),a.d(t,"b",(function(){return d}));var n=a(185),r=a(68),i=a(6),o=a(2),s=a(4),l=a(18),c=a(15),u=a(0);function m(e,t,a=null,m={}){if((t=Math.round(t))<=0)return!1;if(null==e||isNaN(t))return a?a.log("buyStock",`Invalid arguments: stock='${e}' shares='${t}'`):!0!==m.suppressDialog&&Object(c.a)("Failed to buy stock. This may be a bug, contact developer"),!1;const h=Object(n.b)(e,t,r.a.Long);if(null==h)return!1;if(o.a.money.lt(h))return a?a.log("buyStock",`You do not have enough money to purchase this position. You need ${s.a.formatMoney(h)}.`):!0!==m.suppressDialog&&Object(c.a)(u.createElement(u.Fragment,null,"You do not have enough money to purchase this. You need ",u.createElement(l.a,{money:h}))),!1;if(t+e.playerShares+e.playerShortShares>e.maxShares)return a?a.log("buyStock",`Purchasing '${t+e.playerShares+e.playerShortShares}' shares would exceed ${e.symbol}'s maximum (${e.maxShares}) number of shares`):!0!==m.suppressDialog&&Object(c.a)(`You cannot purchase this many shares. ${e.symbol} has a maximum of ${s.a.formatShares(e.maxShares)} shares.`),!1;const p=e.playerShares*e.playerAvgPx;o.a.loseMoney(h);const d=p+h-i.a.StockMarketCommission;if(e.playerShares=Math.round(e.playerShares+t),e.playerAvgPx=d/e.playerShares,Object(n.d)(e,t),null!=m.rerenderFn&&"function"==typeof m.rerenderFn&&m.rerenderFn(),a){const n=`Bought ${s.a.formatShares(t)} shares of ${e.symbol} for ${s.a.formatMoney(h)}. Paid ${s.a.formatMoney(i.a.StockMarketCommission)} in commission fees.`;a.log("buyStock",n)}else!0!==m.suppressDialog&&Object(c.a)(u.createElement(u.Fragment,null,"Bought ",s.a.formatShares(t)," shares of ",e.symbol," for ",u.createElement(l.a,{money:h}),". Paid"," ",u.createElement(l.a,{money:i.a.StockMarketCommission})," in commission fees."));return!0}function h(e,t,a=null,i={}){if(null==e||t<0||isNaN(t))return a?a.log("sellStock",`Invalid arguments: stock='${e}' shares='${t}'`):!0!==i.suppressDialog&&Object(c.a)("Failed to sell stock. This is probably due to an invalid quantity. Otherwise, this may be a bug, contact developer"),!1;if((t=Math.round(t))>e.playerShares&&(t=e.playerShares),0===t)return!1;const m=Object(n.c)(e,t,r.a.Long);if(null==m)return!1;let h=m-e.playerAvgPx*t;if(isNaN(h)&&(h=0),o.a.gainMoney(m),o.a.recordMoneySource(h,"stock"),a&&(a.scriptRef.onlineMoneyMade+=h,o.a.scriptProdSinceLastAug+=h),e.playerShares=Math.round(e.playerShares-t),0===e.playerShares&&(e.playerAvgPx=0),Object(n.d)(e,t),null!=i.rerenderFn&&"function"==typeof i.rerenderFn&&i.rerenderFn(),a){const n=`Sold ${s.a.formatShares(t)} shares of ${e.symbol}. After commissions, you gained a total of ${s.a.formatMoney(m)}.`;a.log("sellStock",n)}else!0!==i.suppressDialog&&Object(c.a)(u.createElement(u.Fragment,null,"Sold ",s.a.formatShares(t)," shares of ",e.symbol,". After commissions, you gained a total of"," ",u.createElement(l.a,{money:m}),"."));return!0}function p(e,t,a=null,m={}){if((t=Math.round(t))<=0)return!1;if(null==e||isNaN(t))return a?a.log("shortStock",`Invalid arguments: stock='${e}' shares='${t}'`):!0!==m.suppressDialog&&Object(c.a)("Failed to initiate a short position in a stock. This is probably due to an invalid quantity. Otherwise, this may be a bug, so contact developer"),!1;const h=Object(n.b)(e,t,r.a.Short);if(null==h)return!1;if(o.a.money.lt(h))return a?a.log("shortStock","You do not have enough money to purchase this short position. You need "+s.a.formatMoney(h)):!0!==m.suppressDialog&&Object(c.a)(u.createElement(u.Fragment,null,"You do not have enough money to purchase this short position. You need ",u.createElement(l.a,{money:h}))),!1;if(t+e.playerShares+e.playerShortShares>e.maxShares)return a?a.log("shortStock",`This '${t+e.playerShares+e.playerShortShares}' short shares would exceed ${e.symbol}'s maximum (${e.maxShares}) number of shares.`):!0!==m.suppressDialog&&Object(c.a)(`You cannot purchase this many shares. ${e.symbol} has a maximum of ${e.maxShares} shares.`),!1;const p=e.playerShortShares*e.playerAvgShortPx;o.a.loseMoney(h);const d=p+h-i.a.StockMarketCommission;if(e.playerShortShares=Math.round(e.playerShortShares+t),e.playerAvgShortPx=d/e.playerShortShares,Object(n.d)(e,t),null!=m.rerenderFn&&"function"==typeof m.rerenderFn&&m.rerenderFn(),a){const n=`Bought a short position of ${s.a.formatShares(t)} shares of ${e.symbol} for ${s.a.formatMoney(h)}. Paid ${s.a.formatMoney(i.a.StockMarketCommission)} in commission fees.`;a.log("shortStock",n)}else m.suppressDialog||Object(c.a)(u.createElement(u.Fragment,null,"Bought a short position of ",s.a.formatShares(t)," shares of ",e.symbol," for"," ",u.createElement(l.a,{money:h}),". Paid ",u.createElement(l.a,{money:i.a.StockMarketCommission})," in commission fees."));return!0}function d(e,t,a=null,i={}){if(null==e||isNaN(t)||t<0)return a?a.log("sellShort",`Invalid arguments: stock='${e}' shares='${t}'`):i.suppressDialog||Object(c.a)("Failed to sell a short position in a stock. This is probably due to an invalid quantity. Otherwise, this may be a bug, so contact developer"),!1;if((t=Math.round(t))>e.playerShortShares&&(t=e.playerShortShares),0===t)return!1;const m=t*e.playerAvgShortPx,h=Object(n.c)(e,t,r.a.Short);if(null==h||isNaN(h)||null==m)return a?a.log("sellShort","Failed to sell short position in a stock. This is probably either due to invalid arguments, or a bug"):i.suppressDialog||Object(c.a)("Failed to sell short position in a stock. This is probably either due to invalid arguments, or a bug"),!1;let p=h-m;if(isNaN(p)&&(p=0),o.a.gainMoney(h),o.a.recordMoneySource(p,"stock"),a&&(a.scriptRef.onlineMoneyMade+=p,o.a.scriptProdSinceLastAug+=p),e.playerShortShares=Math.round(e.playerShortShares-t),0===e.playerShortShares&&(e.playerAvgShortPx=0),Object(n.d)(e,t),null!=i.rerenderFn&&"function"==typeof i.rerenderFn&&i.rerenderFn(),a){const n=`Sold your short position of ${s.a.formatShares(t)} shares of ${e.symbol}. After commissions, you gained a total of `+s.a.formatMoney(h);a.log("sellShort",n)}else i.suppressDialog||Object(c.a)(u.createElement(u.Fragment,null,"Sold your short position of ",s.a.formatShares(t)," shares of ",e.symbol,". After commissions, you gained a total of ",u.createElement(l.a,{money:h})));return!0}},function(e,t,a){"use strict";a.d(t,"a",(function(){return i}));var n=a(8);function r(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}class i{constructor(e={name:"foo",desc:"foo"}){if(r(this,"baseCost",1),r(this,"costInc",1),r(this,"maxLvl",0),r(this,"successChanceAll",0),r(this,"successChanceStealth",0),r(this,"successChanceKill",0),r(this,"successChanceContract",0),r(this,"successChanceOperation",0),r(this,"successChanceEstimate",0),r(this,"actionTime",0),r(this,"effHack",0),r(this,"effStr",0),r(this,"effDef",0),r(this,"effDex",0),r(this,"effAgi",0),r(this,"effCha",0),r(this,"stamina",0),r(this,"money",0),r(this,"expGain",0),!e.name)throw new Error("Failed to initialize Bladeburner Skill. No name was specified in ctor");if(!e.desc)throw new Error("Failed to initialize Bladeburner Skills. No desc was specified in ctor");this.name=e.name,this.desc=e.desc,this.baseCost=e.baseCost?e.baseCost:1,this.costInc=e.costInc?e.costInc:1,e.maxLvl&&(this.maxLvl=e.maxLvl),e.successChanceAll&&(this.successChanceAll=e.successChanceAll),e.successChanceStealth&&(this.successChanceStealth=e.successChanceStealth),e.successChanceKill&&(this.successChanceKill=e.successChanceKill),e.successChanceContract&&(this.successChanceContract=e.successChanceContract),e.successChanceOperation&&(this.successChanceOperation=e.successChanceOperation),e.successChanceEstimate&&(this.successChanceEstimate=e.successChanceEstimate),e.actionTime&&(this.actionTime=e.actionTime),e.effHack&&(this.effHack=e.effHack),e.effStr&&(this.effStr=e.effStr),e.effDef&&(this.effDef=e.effDef),e.effDex&&(this.effDex=e.effDex),e.effAgi&&(this.effAgi=e.effAgi),e.effCha&&(this.effCha=e.effCha),e.stamina&&(this.stamina=e.stamina),e.money&&(this.money=e.money),e.expGain&&(this.expGain=e.expGain)}calculateCost(e){return Math.floor((this.baseCost+e*this.costInc)*n.a.BladeburnerSkillCost)}getMultiplier(e){return"successChanceAll"===e?this.successChanceAll:"successChanceStealth"===e?this.successChanceStealth:"successChanceKill"===e?this.successChanceKill:"successChanceContract"===e?this.successChanceContract:"successChanceOperation"===e?this.successChanceOperation:"successChanceEstimate"===e?this.successChanceEstimate:"actionTime"===e?this.actionTime:"effHack"===e?this.effHack:"effStr"===e?this.effStr:"effDef"===e?this.effDef:"effDex"===e?this.effDex:"effAgi"===e?this.effAgi:"effCha"===e?this.effCha:"stamina"===e?this.stamina:"money"===e?this.money:"expGain"===e?this.expGain:0}}},,,function(e,t,a){"use strict";a.d(t,"a",(function(){return n}));const n=window.setTimeout.bind(window)},function(e,t,a){"use strict";a.d(t,"a",(function(){return l}));var n=a(0),r=a(4),i=a(132),o=a(161);const s=Object(i.a)(e=>Object(o.a)({money:{color:e.colors.money}}));function l({hashes:e}){const t=s();return n.createElement("span",{className:t.money},"number"==typeof e?r.a.formatHashes(e):e)}},,function(e,t,a){"use strict";a.d(t,"c",(function(){return o})),a.d(t,"b",(function(){return s})),a.d(t,"a",(function(){return l}));var n=a(6),r=a(8);function i(e){let t=1+e.favor/100;return isNaN(t)&&(t=1),t*r.a.FactionWorkRepGain}function o(e,t){return(e.hacking_skill+e.intelligence/3)/n.a.MaxSkillLevel*e.faction_rep_mult*e.getIntelligenceBonus(1)*i(t)}function s(e,t){return.9*(e.hacking_skill/n.a.MaxSkillLevel+e.strength/n.a.MaxSkillLevel+e.defense/n.a.MaxSkillLevel+e.dexterity/n.a.MaxSkillLevel+e.agility/n.a.MaxSkillLevel+e.intelligence/n.a.MaxSkillLevel)/4.5*e.faction_rep_mult*i(t)*e.getIntelligenceBonus(1)}function l(e,t){return.9*(e.hacking_skill/n.a.MaxSkillLevel+e.strength/n.a.MaxSkillLevel+e.defense/n.a.MaxSkillLevel+e.dexterity/n.a.MaxSkillLevel+e.agility/n.a.MaxSkillLevel+e.charisma/n.a.MaxSkillLevel+e.intelligence/n.a.MaxSkillLevel)/5.5*e.faction_rep_mult*i(t)*e.getIntelligenceBonus(1)}},function(e,t,a){"use strict";a.d(t,"a",(function(){return i}));var n=a(208),r=a(124);const i={};i[r.a.BladesIntuition]=new n.a({name:r.a.BladesIntuition,desc:"Each level of this skill increases your success chance for all Contracts, Operations, and BlackOps by 3%",baseCost:3,costInc:2.1,successChanceAll:3}),i[r.a.Cloak]=new n.a({name:r.a.Cloak,desc:"Each level of this skill increases your success chance in stealth-related Contracts, Operations, and BlackOps by 5.5%",baseCost:2,costInc:1.1,successChanceStealth:5.5}),i[r.a.ShortCircuit]=new n.a({name:r.a.ShortCircuit,desc:"Each level of this skill increases your success chance in Contracts, Operations, and BlackOps that involve retirement by 5.5%",baseCost:2,costInc:2.1,successChanceKill:5.5}),i[r.a.DigitalObserver]=new n.a({name:r.a.DigitalObserver,desc:"Each level of this skill increases your success chance in all Operations and BlackOps by 4%",baseCost:2,costInc:2.1,successChanceOperation:4}),i[r.a.Tracer]=new n.a({name:r.a.Tracer,desc:"Each level of this skill increases your success chance in all Contracts by 4%",baseCost:2,costInc:2.1,successChanceContract:4}),i[r.a.Overclock]=new n.a({name:r.a.Overclock,desc:"Each level of this skill decreases the time it takes to attempt a Contract, Operation, and BlackOp by 1% (Max Level: 90)",baseCost:3,costInc:1.4,maxLvl:90,actionTime:1}),i[r.a.Reaper]=new n.a({name:r.a.Reaper,desc:"Each level of this skill increases your effective combat stats for Bladeburner actions by 2%",baseCost:2,costInc:2.1,effStr:2,effDef:2,effDex:2,effAgi:2}),i[r.a.EvasiveSystem]=new n.a({name:r.a.EvasiveSystem,desc:"Each level of this skill increases your effective dexterity and agility for Bladeburner actions by 4%",baseCost:2,costInc:2.1,effDex:4,effAgi:4}),i[r.a.Datamancer]=new n.a({name:r.a.Datamancer,desc:"Each level of this skill increases your effectiveness in synthoid population analysis and investigation by 5%. This affects all actions that can potentially increase the accuracy of your synthoid population/community estimates.",baseCost:3,costInc:1,successChanceEstimate:5}),i[r.a.CybersEdge]=new n.a({name:r.a.CybersEdge,desc:"Each level of this skill increases your max stamina by 2%",baseCost:1,costInc:3,stamina:2}),i[r.a.HandsOfMidas]=new n.a({name:r.a.HandsOfMidas,desc:"Each level of this skill increases the amount of money you receive from Contracts by 10%",baseCost:2,costInc:2.5,money:10}),i[r.a.Hyperdrive]=new n.a({name:r.a.Hyperdrive,desc:"Each level of this skill increases the experience earned from Contracts, Operations, and BlackOps by 10%",baseCost:1,costInc:2.5,expGain:10})},function(e,t,a){"use strict";let n;a.d(t,"b",(function(){return n})),a.d(t,"a",(function(){return r})),function(e){e.Clubs="clubs",e.Diamonds="diamonds",e.Hearts="hearts",e.Spades="spades"}(n||(n={}));class r{constructor(e,t){if(this.value=e,this.suit=t,e<1||e>13)throw new Error("Card instantiated with improper value: "+e)}formatValue(){switch(this.value){case 1:return"A";case 11:return"J";case 12:return"Q";case 13:return"K";default:return""+this.value}}isRedSuit(){return this.suit===n.Hearts||this.suit===n.Diamonds}getStringRepresentation(){return`${this.formatValue()} of ${this.suit}`}}},function(e,t,a){"use strict";a.d(t,"a",(function(){return i}));var n=a(21);function r(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}class i{constructor(e={}){r(this,"name",""),r(this,"type",-1),e.name&&(this.name=e.name),e.type&&(this.type=e.type)}toJSON(){return Object(n.b)("ActionIdentifier",this)}static fromJSON(e){return Object(n.a)(i,e.data)}}n.c.constructors.ActionIdentifier=i},,,,function(e,t,a){"use strict";a.d(t,"a",(function(){return l}));var n=a(370),r=a(128),i=a(624),o=a(23),s=a(807);const l={};function c(e){if(!e.name)throw new Error("Invalid constructor parameters for Location. No 'name' property");return l[e.name]instanceof i.a&&console.warn(`Property with name ${e.name} already exists and is being overwritten`),l[e.name]=new i.a(e),l[e.name]}r.a[o.a.Aevum]=new n.a(o.a.Aevum),r.a[o.a.Chongqing]=new n.a(o.a.Chongqing),r.a[o.a.Ishima]=new n.a(o.a.Ishima),r.a[o.a.NewTokyo]=new n.a(o.a.NewTokyo),r.a[o.a.Sector12]=new n.a(o.a.Sector12),r.a[o.a.Volhaven]=new n.a(o.a.Volhaven),r.a[o.a.Aevum].asciiArt="\n [aevum police headquarters] 26 \n o \n I \\ [bachman & associates] \n \\ 56 B \n x \\ [summit university] \n \\ \\ 28 \n \\ [snap fitness gym] x o--L-----------N \n K \\ / \n \\ \\ Q [casino] \n x 58 \\ / [travel agency] \n \\ 94 95 o \n 90 x 59 o------o | \n \\ / \\ | 98 102 103 \n o--------O------x----o 93 96 o-----+------------o o----o \n \\ | \\ / \n [hospital] \\ 61 [ecorp] x 31 99 o-F-o 101 \n o | \n | o---E-- | [fulcrum tech.] \n x 62 / A [aerocorp] \n [crush fitness gym] | / | \n | / | \n o--------D------+--o o \n | |\\ [rho construction] \n H [netlink tech.] | J \n | | \\ \n | 34 x \\ \n [clarke inc.] C | \\ [world stock exchange] \n | | \\ \n | | o-M-------R--------o \n[galactic cybersystems] G 35 x \n | [watchdog security] \n | \n 67 o \n \n [the slums] P ",r.a[o.a.Chongqing].asciiArt="\n | \n 75 o \n \\ \n o 76 \n 7 | | \n | + 77 \n [world stock exchange] F | \n \\ o 78 [kuaigong international] \n \\ / \n 38 o----x--x------x------A--------- \n / 39 | 41 \n 37 o + 79 o--x--x-C-0 \n / | / \n / x-----+-----x-----0 [hospital] \n[solaris space system] B | \n | + 80 \n | | \n 34 o E [travel agency] \n | \n | \n x 82 \n [the slums] D ",r.a[o.a.Ishima].asciiArt="\n o 59 \n o o | \n [storm tech.] | | G [world stock exchange] \n | | 28 | \n 23 o--C------o--------+----x----o | \n / / 25 | 27 \\ x 57 \n / / | \\ | \n / / | \\ | \n o 22 o | \\| 29/56 \n | | o \n | [hospital] D / \\ 3 2 1 \n o | / \\ o-------x------o \n / o / \\ / \n 48 o / 55 x \\ / \n \\ / / x \n \\ / [nova medical] / 4/30 \\ \n 49 x A \\ \n / \\ / \\ \n / \\ [travel agency] F o 31 \n / \\ 51 / \n / o----B------x-----o \n o 50 52 \n [omega soft.] \n [the slums] E ",r.a[o.a.NewTokyo].asciiArt="\n \n \n o \n \\ \n \\ [defcomm] \n \\ \n o--x---A--x--o [travel agency] \n 7 8 10 G \n [vitalife] o 12 [global pharmaceuticals] \n | \n o--D-x----x-------x-C-+--------x--x-B-x---x-o \n 21 22 23 \\ 24 25 26 27 \n \\ \n [noodle bar] x 14 \n \\ \n \\ \n [hospital] o 15 [world stock exchange] \n | \n o--x--E--x-----x-----x---+---x----x--H--x-o \n | \n | \n o 17 \n \n \n \n F [the slums] \n ",r.a[o.a.Sector12].asciiArt="\n 78 o 97 \n o [icarus microsystems] / \n N [powerhouse gym] o I \n 1 | | / \n o-----+---x----o 4 A [alpha ent.] o-------o / \n | 3 \\ | \\ / \n | \\ | [iron gym] x 95 \n (79) x \\ | / \\ \n | o-E----+----x----J--o 10 / o----T--o \n | | 8 \\ 94 x \n 80 x [city hall] | x 11 / [world stock exchange]\n | | \\ / \n | C [cia] \\ / \n Q [hospital] | F P [universal energy] \n | o [deltaone] \\ / \n | 35 o---------x 13/92/36 \n L [megacorp] 33 / / \\ \n | o------------o 34 / \\ \n (29) | / [carmichael sec.] D \\ \n o-----+-----x------o / O [rothman university] \n | 31 32 [nsa] M \n | / \n B [blade industries] H \n | / [four sigma] \n | [joe's guns] / \n | / \n 85 o--G--------K--------S-------o 88 [the slums] R \n \n [foodnstuff] [travel agency] ",r.a[o.a.Volhaven].asciiArt="\n [omnia cybersystems] \n 17 66 68 \n o o------G-------o \n \\ / \\ \n \\ o 65 o 69 \n [syscore sec.] H | | \n \\ | | [millenium fitness gym] \n \\ | 21 22 23 24 | 26 \n o----+--x--x----x---x---+-----x-------D-----o \n 19 | | 28 \n | F [omnitek inc.] \n [hospital] J 63 o \n | / 72 \n 3 | 5 6 / 9 \n o--------+----x-----x----+----------M-------o \n / | | \n / 61 x [helios labs] B [world stock exchange] \n [travel agency] L | | \n / | o \n / E [nwo] / 75 \n / [computek] | / \n / A-------o------I-----o \n 1 o | | \n | [zb] o 77 \n [lexocorp] C \n | \n o \n 57 \n \n \n [the slums] K ";for(const e of s.a){const t=c(e),a=t.city;if(null===a)for(const e in r.a)r.a[e].addLocation(t.name);else r.a[a].addLocation(t.name)}},function(e,t,a){"use strict";function n(e,t){return Math.random()*(t-e)+e}function r(e){switch(e.keyCode){case 38:case 87:return"↑";case 65:case 37:return"←";case 40:case 83:return"↓";case 39:case 68:return"→"}return""}a.d(t,"b",(function(){return n})),a.d(t,"a",(function(){return r}))},,function(e,t,a){"use strict";a.d(t,"b",(function(){return m})),a.d(t,"c",(function(){return h})),a.d(t,"a",(function(){return p}));var n=a(0),r=a.n(n),i=a(2),o=a(311),s=a(516),l=a(63),c=a(317),u=a(15);let m=!1;function h(e){m=e}function p(e,t,a,n){t?0===l.a[5]&&5!==n&&(i.a.intelligence=0,i.a.intelligence_exp=0):function(e){const t="SourceFile"+e.toString(),a=c.a[t];if(null==a)return void console.error("Could not find source file for Bit node: "+e);let n=!1,o=null;for(let t=0;t=3&&12!==o.n?Object(u.a)("The Source-File for the BitNode you just destroyed, "+a.name+", is already at max level!"):(++o.lvl,Object(u.a)(a.name+" was upgraded to level "+o.lvl+" for destroying its corresponding BitNode!"));else{const t=new s.a(e,1);i.a.sourceFiles.push(t),5===e&&0===i.a.intelligence&&(i.a.intelligence=1),Object(u.a)(r.a.createElement(r.a.Fragment,null,"You received a Source-File for destroying a BitNode!",r.a.createElement("br",null),r.a.createElement("br",null),a.name,r.a.createElement("br",null),r.a.createElement("br",null),a.info))}}(a),5===n&&0===i.a.intelligence&&(i.a.intelligence=1),m=!1,i.a.bitNodeN=n,6===n?e.toBladeburnerCinematic():e.toTerminal(),Object(o.b)(t)}},function(e,t,a){"use strict";a.d(t,"c",(function(){return u})),a.d(t,"a",(function(){return m})),a.d(t,"b",(function(){return h}));var n=a(6),r=a(2),i=a(36),o=a(57),s=a(44),l=a(4),c=a(277);function u(e){const t=((new Date).getTime()-r.a.lastUpdate)/1e3;let a=e.onlineRunningTime/14400;a>=1&&(a=1);for(const a in e.dataMap)if(e.dataMap.hasOwnProperty(a)){if(0==e.dataMap[a][2]||null==e.dataMap[a][2])continue;const n=i.b[a];if(null==n)continue;const c=Math.round(.5*e.dataMap[a][2]/e.onlineRunningTime*t);e.log(`Called on ${n.hostname} ${c} times while offline`);const u=i.b[e.server];if(!(n instanceof o.a))throw new Error("trying to grow a non-normal server");const m=Object(s.g)(n,c,r.a,u.cpuCores);e.log(`'${n.hostname}' grown by ${l.a.format(100*m-100,"0.000000%")} while offline`)}const c=a*(e.onlineExpGained/e.onlineRunningTime)*t;r.a.gainHackingExp(c),e.offlineRunningTime+=t,e.offlineExpGained+=c;for(const a in e.dataMap)if(e.dataMap.hasOwnProperty(a)){if(0==e.dataMap[a][3]||null==e.dataMap[a][3])continue;const r=i.b[a];if(null==r)continue;if(!(r instanceof o.a))throw new Error("trying to weaken a non-normal server");const s=i.b[e.server],l=Math.round(.5*e.dataMap[a][3]/e.onlineRunningTime*t);e.log(`Called weaken() on ${r.hostname} ${l} times while offline`);const c=1+(s.cpuCores-1)/16;r.weaken(n.a.ServerWeakenAmount*l*c)}}function m(e,t,a){for(let n=0;n{document.body.removeChild(e),window.URL.revokeObjectURL(a)},0)}}read(){return this.text}show(){Object(r.a)(`${this.fn}
${this.text}`)}toJSON(){return Object(i.b)("TextFile",this)}write(e){this.text=e}static fromJSON(e){return Object(i.a)(o,e.data)}}function s(e,t){const a=e.endsWith(".txt")?e:e+".txt";for(const e of t.textFiles)if(e.fn===a)return e;return null}function l(e,t,a){if(null!==s(e,a))return void console.error(`A file named "${e}" already exists on server ${a.hostname}.`);const n=new o(e,t);return a.textFiles.push(n),n}i.c.constructors.TextFile=o},function(e,t,a){"use strict";a.d(t,"a",(function(){return r}));var n=a(15);function r(e){console.error(e),Object(n.a)("Caught an exception: "+e+"
Filename: "+(e.fileName||"UNKNOWN FILE NAME")+"
Line Number: "+(e.lineNumber||"UNKNOWN LINE NUMBER")+"
This is a bug, please report to game developer with this message as well as details about how to reproduce the bug.
If you want to be safe, I suggest refreshing the game WITHOUT saving so that your safe doesn't get corrupted")}},function(e,t,a){"use strict";a.d(t,"a",(function(){return y})),a.d(t,"b",(function(){return f})),a.d(t,"e",(function(){return d})),a.d(t,"d",(function(){return b})),a.d(t,"c",(function(){return _}));var n=a(122),r=a(20),i=a(7),o=a(70),s=a(2),l=a(224),c=a(44),u=a(14),m=a(15),h=a(21);function p(e,t=!1){e.recvd=!0,!t&&u.a.SuppressMessages||d(e),function(e,t){const a=Object(c.a)(t);if(null==a)return void console.warn("Could not find server "+t);for(let t=0;t
This message was saved as "+e.filename+" onto your home computer.";Object(m.a)(t)}function f(){if(l.b)return;const e=y[E.Jumper0],t=y[E.Jumper1],a=y[E.Jumper2],n=y[E.Jumper3],c=y[E.Jumper4],u=y[E.CyberSecTest],m=y[E.NiteSecTest],h=y[E.BitRunnersTest],d=y[E.RedPill];let f=!1;if(r.a[i.a.TheRedPill].owned&&(f=!0),d&&f&&0===s.a.sourceFiles.length&&!l.b)p(d,!0);else if(d&&f)l.b||p(d);else if(e&&!e.recvd&&s.a.hacking_skill>=25){p(e);const t=o.a.Flight.name,a=s.a.getHomeComputer();a.programs.includes(t)||a.programs.push(t)}else t&&!t.recvd&&s.a.hacking_skill>=40?p(t):u&&!u.recvd&&s.a.hacking_skill>=50?p(u):a&&!a.recvd&&s.a.hacking_skill>=175?p(a):m&&!m.recvd&&s.a.hacking_skill>=200?p(m):n&&!n.recvd&&s.a.hacking_skill>=350?p(n):c&&!c.recvd&&s.a.hacking_skill>=490?p(c):h&&!h.recvd&&s.a.hacking_skill>=500&&p(h)}function g(e){y[e.filename]=e}let y={};function b(e){y=JSON.parse(e,h.c)}const E={Jumper0:"j0.msg",Jumper1:"j1.msg",Jumper2:"j2.msg",Jumper3:"j3.msg",Jumper4:"j4.msg",CyberSecTest:"csec-test.msg",NiteSecTest:"nitesec-test.msg",BitRunnersTest:"19dfj3l1nd.msg",RedPill:"icarus.msg"};function _(){y={},g(new n.a(E.Jumper0,"I know you can sense it. I know you're searching for it. It's why you spend night after night at your computer.
It's real, I've seen it. And I can help you find it. But not right now. You're not ready yet.
Use this program to track your progress
The fl1ght.exe program was added to your home computer
-jump3R")),g(new n.a(E.Jumper1,"Soon you will be contacted by a hacking group known as CyberSec. They can help you with your search.
You should join them, garner their favor, and exploit them for their Augmentations. But do not trust them. They are not what they seem. No one is.
-jump3R")),g(new n.a(E.Jumper2,"Do not try to save the world. There is no world to save. If you want to find the truth, worry only about yourself. Ethics and morals will get you killed.
Watch out for a hacking group known as NiteSec.
-jump3R")),g(new n.a(E.Jumper3,"You must learn to walk before you can run. And you must run before you can fly. Look for the black hand.
I.I.I.I
-jump3R")),g(new n.a(E.Jumper4,"To find what you are searching for, you must understand the bits. The bits are all around us. The runners will help you.
-jump3R")),g(new n.a(E.CyberSecTest,"We've been watching you. Your skills are very impressive. But you're wasting your talents. If you join us, you can put your skills to good use and change the world for the better. If you join us, we can unlock your full potential.
But first, you must pass our test. Find and install the backdoor on our server.
-CyberSec")),g(new n.a(E.NiteSecTest,"People say that the corrupted governments and corporations rule the world. Yes, maybe they do. But do you know who everyone really fears? People like us. Because they can't hide from us. Because they can't fight shadows and ideas with bullets.
Join us, and people will fear you, too.
Find and install the backdoor on our server. Then, we will contact you again.
-NiteSec")),g(new n.a(E.BitRunnersTest,"We know what you are doing. We know what drives you. We know what you are looking for.
We can help you find the answers.
run4theh111z")),g(new n.a(E.RedPill,"@)(#V%*N)@(#*)*C)@#%*)*V)@#(*%V@)(#VN%*)@#(*%
)@B(*#%)@)M#B*%V)____FIND___#$@)#%(B*)@#(*%B)
@_#(%_@#M(BDSPOMB__THE-CAVE_#)$(*@#$)@#BNBEGB
DFLSMFVMV)#@($*)@#*$MV)@#(*$V)M#(*$)M@(#*VM$)"))}},function(e,t,a){"use strict";a.d(t,"c",(function(){return i})),a.d(t,"b",(function(){return o})),a.d(t,"e",(function(){return s})),a.d(t,"a",(function(){return l})),a.d(t,"d",(function(){return c}));var n=a(8),r=a(37);function i(e,t,a,i){return e*r.a.MoneyGainPerLevel*Math.pow(1.035,t-1)*((a+5)/6)*i*n.a.HacknetNodeMoney}function o(e,t=1,a=1){const n=Math.round(t);if(isNaN(n)||n<1)return 0;if(e>=r.a.MaxLevel)return 1/0;const i=r.a.UpgradeLevelMult;let o=0,s=e;for(let e=0;e=r.a.MaxRam)return 1/0;let i=0,o=Math.round(Math.log2(e)),s=e;for(let e=0;e=r.a.MaxCores)return 1/0;const i=r.a.CoreBaseCost,o=r.a.UpgradeCoreMult;let s=0,l=e;for(let e=0;em.subscribe(e=>{const a=e.server+"-"+e.filename+e.args.map(e=>""+e).join("-");t(t=>[...t,{id:a,script:e}])}),[]),r.a.createElement(r.a.Fragment,null,e.map(e=>r.a.createElement(p,{key:e.id,script:e.script,id:e.id,onClose:()=>{return a=e.id,void t(e=>e.filter(e=>e.id!==a));var a}})))}function p(e){const t=Object(n.useRef)(null),a=Object(n.useState)(!1)[1];function i(){a(e=>!e)}return Object(n.useEffect)(()=>{const e=setInterval(i,1e3);return()=>clearInterval(e)},[]),Object(n.useEffect)(()=>{function t(t){27===t.keyCode&&e.onClose()}return document.addEventListener("keydown",t),()=>{document.removeEventListener("keydown",t)}},[]),r.a.createElement(u.a,{style:{display:"flex",flexFlow:"column",backgroundColor:"gray",width:"50%",position:"fixed",left:"50%",top:"40%",margin:"-10% 0 0 -25%",height:"auto",maxHeight:"50%",zIndex:10,border:"2px solid $hacker-green"},ref:t},r.a.createElement(u.a,{style:{cursor:"grab"}},r.a.createElement(l.a,{display:"flex",alignItems:"center",onMouseDown:function(e){const a=t.current;if(null===a)return;e.preventDefault();let n=e.clientX,r=e.clientY,i=a.offsetLeft+a.clientWidth/2,o=a.offsetTop+a.clientWidth/5;function s(e){const a=t.current;null!==a&&(i+=e.clientX-n,o+=e.clientY-r,a.style.left=i+"px",a.style.top=o+"px",a.style.right="",a.style.bottom="",n=e.clientX,r=e.clientY)}document.addEventListener("mouseup",(function e(){document.removeEventListener("mouseup",e),document.removeEventListener("mousemove",s)})),document.addEventListener("mousemove",s)}},r.a.createElement(s.a,{color:"primary",variant:"h6",noWrap:!0,component:"div"},e.script.filename," ",e.script.args.map(e=>""+e).join(" ")),r.a.createElement(l.a,{display:"flex",marginLeft:"auto"},r.a.createElement(c.a,{onClick:function(){Object(o.a)(e.script,e.script.server,!0),e.onClose()}},"Kill Script"),r.a.createElement(c.a,{onClick:e.onClose},"Close")))),r.a.createElement(u.a,null,e.script.logs.map((e,t)=>r.a.createElement(s.a,{key:t,style:{whiteSpace:"pre-line"}},e,r.a.createElement("br",null)))))}},function(e,t,a){"use strict";a.d(t,"a",(function(){return c}));var n=a(6),r=a(230),i=a(37),o=a(15),s=a(21);function l(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}class c{constructor(e="",t=1){l(this,"cores",1),l(this,"level",1),l(this,"moneyGainRatePerSecond",0),l(this,"onlineTimeSeconds",0),l(this,"ram",1),l(this,"totalMoneyGenerated",0),this.name=e,this.updateMoneyGainRate(t)}calculateCoreUpgradeCost(e=1,t){return Object(r.a)(this.cores,e,t)}calculateLevelUpgradeCost(e=1,t){return Object(r.b)(this.level,e,t)}calculateRamUpgradeCost(e=1,t){return Object(r.e)(this.ram,e,t)}process(e=1){const t=e*n.a.MilliPerCycle/1e3;let a=this.moneyGainRatePerSecond*t;return isNaN(a)&&(console.error(`Hacknet Node ${this.name} calculated earnings of NaN`),a=0),this.totalMoneyGenerated+=a,this.onlineTimeSeconds+=t,a}upgradeCore(e=1,t){this.cores=Math.min(i.a.MaxCores,Math.round(this.cores+e)),this.updateMoneyGainRate(t)}upgradeLevel(e=1,t){this.level=Math.min(i.a.MaxLevel,Math.round(this.level+e)),this.updateMoneyGainRate(t)}upgradeRam(e=1,t){for(let t=0;tObject.keys(n).includes(e))}},,,,function(e,t,a){"use strict";a.d(t,"a",(function(){return i}));var n=a(290),r=a(70);const i={BruteSSHProgram:new n.a(r.a.BruteSSHProgram.name,5e5,"Opens up SSH Ports"),FTPCrackProgram:new n.a(r.a.FTPCrackProgram.name,15e5,"Opens up FTP Ports"),RelaySMTPProgram:new n.a(r.a.RelaySMTPProgram.name,5e6,"Opens up SMTP Ports"),HTTPWormProgram:new n.a(r.a.HTTPWormProgram.name,3e7,"Opens up HTTP Ports"),SQLInjectProgram:new n.a(r.a.SQLInjectProgram.name,25e7,"Opens up SQL Ports"),DeepscanV1:new n.a(r.a.DeepscanV1.name,5e5,"Enables 'scan-analyze' with a depth up to 5"),DeepscanV2:new n.a(r.a.DeepscanV2.name,25e6,"Enables 'scan-analyze' with a depth up to 10"),AutolinkProgram:new n.a(r.a.AutoLink.name,1e6,"Enables direct connect via 'scan-analyze'"),ServerProfilerProgram:new n.a(r.a.ServerProfiler.name,1e6,"Displays hacking and Netscript-related information about a server")}},function(e,t,a){"use strict";function n(e,t){if(t<0||t>100)return e;const a=e*(t/100);return e+(Math.random()*(2*a)-a)}a.d(t,"a",(function(){return n}))},function(e,t,a){"use strict";let n;a.d(t,"a",(function(){return n})),function(e){e[e.SyntaxError=-1]="SyntaxError",e[e.ImportError=-2]="ImportError",e[e.URLImportError=-3]="URLImportError"}(n||(n={}))},function(e,t,a){"use strict";a.d(t,"a",(function(){return n}));const n={GangRespectToReputationRatio:25,MaximumGangMembers:12,CyclesPerTerritoryAndPowerUpdate:100,AscensionMultiplierRatio:.15,Names:["Slum Snakes","Tetrads","The Syndicate","The Dark Army","Speakers for the Dead","NiteSec","The Black Hand"]}},,,,,,,,,,,,,function(e,t,a){"use strict";a.d(t,"a",(function(){return r}));var n=a(454);function r(){return Object(n.a)(99)+"."+Object(n.a)(9)+"."+Object(n.a)(9)+"."+Object(n.a)(9)}},function(e,t,a){"use strict";function n(e,t){if(e.length!==t.length)return!1;for(let a=0;aObject(o.a)({favor:{color:e.colors.rep}}));function l({favor:e}){const t=s();return n.createElement("span",{className:t.favor},"number"==typeof e?r.a.formatFavor(e):e)}},function(e,t,a){"use strict";a.d(t,"b",(function(){return u})),a.d(t,"c",(function(){return h})),a.d(t,"a",(function(){return p}));var n=a(0),r=a.n(n),i=a(539),o=a(727),s=a(1409),l=a(131),c=a(14);const u=new l.a;let m;function h(){m=Object(i.a)({colors:{hp:c.a.theme.hp,money:c.a.theme.money,hack:c.a.theme.hack,combat:c.a.theme.combat,cha:c.a.theme.cha,int:c.a.theme.int,rep:c.a.theme.rep},palette:{primary:{light:c.a.theme.primarylight,main:c.a.theme.primary,dark:c.a.theme.primarydark},secondary:{light:c.a.theme.secondarylight,main:c.a.theme.secondary,dark:c.a.theme.secondarydark},error:{light:c.a.theme.errorlight,main:c.a.theme.error,dark:c.a.theme.errordark},info:{light:c.a.theme.infolight,main:c.a.theme.info,dark:c.a.theme.infodark},warning:{light:c.a.theme.warninglight,main:c.a.theme.warning,dark:c.a.theme.warningdark},background:{default:c.a.theme.black,paper:c.a.theme.well},action:{disabled:c.a.theme.disabled}},typography:{fontFamily:"monospace",button:{textTransform:"none"}},components:{MuiInputBase:{styleOverrides:{root:{backgroundColor:c.a.theme.well,color:c.a.theme.primary},input:{"&::placeholder":{userSelect:"none",color:c.a.theme.primarydark}}}},MuiInput:{styleOverrides:{root:{backgroundColor:c.a.theme.well,borderBottomColor:"#fff"},underline:{"&:hover":{borderBottomColor:c.a.theme.primarydark},"&:before":{borderBottomColor:c.a.theme.primary},"&:after":{borderBottomColor:c.a.theme.primarylight}}}},MuiInputLabel:{styleOverrides:{root:{color:c.a.theme.primarydark,userSelect:"none","&:before":{color:c.a.theme.primarylight}}}},MuiButton:{styleOverrides:{root:{backgroundColor:"#333",border:"1px solid "+c.a.theme.well,"&:hover":{backgroundColor:c.a.theme.black},borderRadius:0}}},MuiSelect:{styleOverrides:{icon:{color:c.a.theme.primary}},defaultProps:{variant:"standard"}},MuiTextField:{defaultProps:{variant:"standard"}},MuiTypography:{defaultProps:{color:"primary"}},MuiMenu:{styleOverrides:{list:{backgroundColor:c.a.theme.well}}},MuiMenuItem:{styleOverrides:{root:{color:c.a.theme.primary}}},MuiAccordionSummary:{styleOverrides:{root:{backgroundColor:"#111"}}},MuiAccordionDetails:{styleOverrides:{root:{backgroundColor:c.a.theme.black}}},MuiIconButton:{styleOverrides:{root:{color:c.a.theme.primary}}},MuiTooltip:{styleOverrides:{tooltip:{fontSize:"1em",color:c.a.theme.primary,backgroundColor:c.a.theme.well,borderRadius:0,border:"2px solid white",maxWidth:"100vh"}},defaultProps:{disableInteractive:!0}},MuiSlider:{styleOverrides:{valueLabel:{color:c.a.theme.primary,backgroundColor:c.a.theme.well}}},MuiDrawer:{styleOverrides:{paper:{"&::-webkit-scrollbar":{display:"none"},scrollbarWidth:"none",backgroundColor:c.a.theme.black},paperAnchorDockedLeft:{borderRight:"1px solid "+c.a.theme.welllight}}},MuiDivider:{styleOverrides:{root:{backgroundColor:c.a.theme.welllight}}},MuiFormControlLabel:{styleOverrides:{root:{color:c.a.theme.primary}}},MuiSwitch:{styleOverrides:{switchBase:{color:c.a.theme.primarydark},track:{backgroundColor:c.a.theme.welllight}}},MuiPaper:{styleOverrides:{root:{borderRadius:0,backgroundColor:c.a.theme.black,border:"1px solid "+c.a.theme.welllight}}},MuiTablePagination:{styleOverrides:{select:{color:c.a.theme.primary}}},MuiTab:{styleOverrides:{textColorPrimary:{color:c.a.theme.secondary,"&.Mui-selected":{color:c.a.theme.primary}}}}}})}h();const p=({children:e})=>r.a.createElement(o.a,{injectFirst:!0},r.a.createElement(s.a,{theme:m},e))},function(e,t,a){"use strict";a.d(t,"a",(function(){return c}));var n=a(2),r=a(29),i=a(261),o=a(21),s=a(55);function l(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}class c{constructor(e=null){l(this,"name",""),l(this,"level",1),l(this,"maxLevel",1),l(this,"autoLevel",!0),l(this,"baseDifficulty",100),l(this,"difficultyFac",1.01),l(this,"rewardFac",1.02),l(this,"successes",0),l(this,"failures",0),l(this,"rankGain",0),l(this,"rankLoss",0),l(this,"hpLoss",0),l(this,"hpLost",0),l(this,"isStealth",!1),l(this,"isKill",!1),l(this,"count",Object(r.a)(1e3,25e3)),l(this,"weights",{hack:1/7,str:1/7,def:1/7,dex:1/7,agi:1/7,cha:1/7,int:1/7}),l(this,"decays",{hack:.9,str:.9,def:.9,dex:.9,agi:.9,cha:.9,int:.9}),l(this,"teamCount",0),e&&e.name&&(this.name=e.name),e&&e.baseDifficulty&&(this.baseDifficulty=Object(i.a)(e.baseDifficulty,10)),e&&e.difficultyFac&&(this.difficultyFac=e.difficultyFac),e&&e.rewardFac&&(this.rewardFac=e.rewardFac),e&&e.rankGain&&(this.rankGain=e.rankGain),e&&e.rankLoss&&(this.rankLoss=e.rankLoss),e&&e.hpLoss&&(this.hpLoss=e.hpLoss),e&&e.isStealth&&(this.isStealth=e.isStealth),e&&e.isKill&&(this.isKill=e.isKill),e&&e.count&&(this.count=e.count),e&&e.weights&&(this.weights=e.weights),e&&e.decays&&(this.decays=e.decays);let t=0;for(const e in this.weights)this.weights.hasOwnProperty(e)&&(t+=this.weights[e]);if(t-1>=10*Number.EPSILON)throw new Error("Invalid weights when constructing Action "+this.name+". The weights should sum up to 1. They sum up to :1");for(const e in this.decays)if(this.decays.hasOwnProperty(e)&&this.decays[e]>1)throw new Error("Invalid decays when constructing Action "+this.name+". Decay value cannot be greater than 1")}getDifficulty(){const e=this.baseDifficulty*Math.pow(this.difficultyFac,this.level-1);if(isNaN(e))throw new Error("Calculated NaN in Action.getDifficulty()");return e}attempt(e){return Math.random()s.a.ChaosThreshold){const e=t.chaos-s.a.ChaosThreshold+1;return Math.pow(e,.1)}return 1}getEstSuccessChance(e){function t(e){return Math.max(0,Math.min(e,1))}const a=this.getSuccessChance(e,{est:!0}),n=this.getSuccessChance(e),r=Math.abs(n-a);let i=n-r,o=n+r;const s=e.getCurrentCity(),l=s.pop/s.popEst;return l<1?i*=l:o*=l,[t(i),t(o)]}getSuccessChance(e,t={est:!1}){if(null==e)throw new Error("Invalid Bladeburner instance passed into Action.getSuccessChance");let a=this.getDifficulty(),r=0;for(const t in this.weights)if(this.weights.hasOwnProperty(t)){const a=n.a.queryStatFromString(t),i="eff"+t.charAt(0).toUpperCase()+t.slice(1);let o=e.skillMultipliers[i];null==o&&(console.error("Failed to find Bladeburner Skill multiplier for: "+t),o=1),r+=this.weights[t]*Math.pow(o*a,this.decays[t])}if(r*=n.a.getIntelligenceBonus(.75),r*=e.calculateStaminaPenalty(),r*=this.getTeamSuccessBonus(e),r*=this.getChaosCompetencePenalty(e,t),a*=this.getChaosDifficultyBonus(e),"Raid"==this.name&&e.getCurrentCity().comms<=0)return 0;if(r*=e.skillMultipliers.successChanceAll,r*=this.getActionTypeSkillSuccessBonus(e),this.isStealth&&(r*=e.skillMultipliers.successChanceStealth),this.isKill&&(r*=e.skillMultipliers.successChanceKill),r*=n.a.bladeburner_success_chance_mult,isNaN(r))throw new Error("Competence calculated as NaN in Action.getSuccessChance()");return Math.min(1,r/a)}getSuccessesNeededForNextLevel(e){return Math.ceil(.5*this.maxLevel*(2*e+(this.maxLevel-1)))}setMaxLevel(e){this.successes>=this.getSuccessesNeededForNextLevel(e)&&++this.maxLevel}toJSON(){return Object(o.b)("Action",this)}static fromJSON(e){return Object(o.a)(c,e.data)}}o.c.constructors.Action=c},function(e,t,a){"use strict";a.d(t,"b",(function(){return S})),a.d(t,"a",(function(){return w}));var n=a(138),r=a(59),i=a(6),o=a(24),s=a(77),l=a(229),c=a(2),u=a(36),m=a(14),h=a(67),p=a(63),d=a(92),f=a(503),g=a(211),y=a(327),b=a(15),E=a(21),_=a(356);function v(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}class k{constructor(){v(this,"PlayerSave",""),v(this,"AllServersSave",""),v(this,"CompaniesSave",""),v(this,"FactionsSave",""),v(this,"SpecialServerIpsSave",""),v(this,"AliasesSave",""),v(this,"GlobalAliasesSave",""),v(this,"MessagesSave",""),v(this,"StockMarketSave",""),v(this,"SettingsSave",""),v(this,"VersionSave",""),v(this,"AllGangsSave",""),v(this,"LastExportBonus","")}getSaveString(){this.PlayerSave=JSON.stringify(c.a);const e=JSON.parse(JSON.stringify(u.b),E.c);for(const t in e){const a=e[t];if(null!=a)for(let e=0;ef.a.emit()).catch(e=>console.error(e))}exportGame(){const e=this.getSaveString(),t=Math.round(Date.now()/1e3),a=c.a.bitNodeN,n=`bitburnerSave_BN${a}x${p.a[a]}_${t}.json`,r=new Blob([e],{type:"text/plain"});if(window.navigator.msSaveOrOpenBlob)window.navigator.msSaveOrOpenBlob(r,n);else{const e=document.createElement("a"),t=URL.createObjectURL(r);e.href=t,e.download=n,document.body.appendChild(e),e.click(),Object(g.a)((function(){document.body.removeChild(e),window.URL.revokeObjectURL(t)}),0)}}toJSON(){return Object(E.b)("BitburnerSaveObject",this)}static fromJSON(e){return Object(E.a)(k,e.data)}}function w(e){if(!e)return!1;e=decodeURIComponent(escape(atob(e)));const t=JSON.parse(e,E.c);if(Object(c.b)(t.PlayerSave),Object(u.f)(t.AllServersSave),Object(r.c)(t.CompaniesSave),Object(o.d)(t.FactionsSave),Object(h.d)(t.SpecialServerIpsSave),t.hasOwnProperty("AliasesSave"))try{Object(n.c)(t.AliasesSave)}catch(e){console.warn("Could not load Aliases from save"),Object(n.c)("")}else console.warn("Save file did not contain an Aliases property"),Object(n.c)("");if(t.hasOwnProperty("GlobalAliasesSave"))try{Object(n.d)(t.GlobalAliasesSave)}catch(e){console.warn("Could not load GlobalAliases from save"),Object(n.d)("")}else console.warn("Save file did not contain a GlobalAliases property"),Object(n.d)("");if(t.hasOwnProperty("MessagesSave"))try{Object(l.d)(t.MessagesSave)}catch(e){console.warn("Could not load Messages from save"),Object(l.c)()}else console.warn("Save file did not contain a Messages property"),Object(l.c)();if(t.hasOwnProperty("StockMarketSave"))try{Object(d.i)(t.StockMarketSave)}catch(e){Object(d.i)("")}else Object(d.i)("");if(t.hasOwnProperty("SettingsSave"))try{m.a.load(t.SettingsSave)}catch(e){console.error("ERROR: Failed to parse Settings. Re-initing default values"),m.a.init()}else m.a.init();if(t.hasOwnProperty("LastExportBonus"))try{y.d(JSON.parse(t.LastExportBonus))}catch(e){y.d((new Date).getTime()),console.error("ERROR: Failed to parse last export bonus Settings "+e)}if(t.hasOwnProperty("VersionSave"))try{const e=JSON.parse(t.VersionSave,E.c);!function(e){const t=c.a;if(e<="0.41.2"){null!=t.companyPosition&&"string"!=typeof t.companyPosition&&(t.companyPosition=t.companyPosition.data.positionName,null==t.companyPosition&&(t.companyPosition=""));for(const e in r.a){const t=r.a[e];if(0==t.name&&null!=t.companyName&&(t.name=t.companyName),t.companyPositions instanceof Array){const e={};for(let a=0;aPlease report any bugs/issues through the github repository (https://github.com/danielyxie/bitburner/issues) or the Bitburner subreddit (reddit.com/r/bitburner).
"+i.a.LatestUpdate):e!=i.a.Version&&C()}catch(e){C()}else C();if(c.a.inGang()&&t.hasOwnProperty("AllGangsSave"))try{Object(s.b)(t.AllGangsSave)}catch(e){console.error("ERROR: Failed to parse AllGangsSave: "+e)}return!0}function C(){Object(b.a)("New update!
Please report any bugs/issues through the github repository or the Bitburner subreddit (reddit.com/r/bitburner).
"+i.a.LatestUpdate)}E.c.constructors.BitburnerSaveObject=k;const S=new k},function(e,t,a){"use strict";a.d(t,"a",(function(){return E}));var n=a(71),r=a(187),i=a(8),o=a(186),s=a(75),l=a(59),c=a(200),u=a(82),m=a(6),h=a(172),p=a(24),d=a(159),f=a(23),g=a(9),y=a(21);function b(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}class E extends r.a{constructor(e=null){super(),b(this,"className",""),b(this,"crimeType",""),b(this,"currentTask",n.a.Idle),b(this,"currentTaskLocation",""),b(this,"currentTaskMaxTime",0),b(this,"currentTaskTime",0),b(this,"earningsForSleeves",Object(r.b)()),b(this,"earningsForPlayer",Object(r.b)()),b(this,"earningsForTask",Object(r.b)()),b(this,"factionWorkType",d.a.None),b(this,"gainRatesForTask",Object(r.b)()),b(this,"gymStatType",""),b(this,"logs",[]),b(this,"memory",1),b(this,"shock",1),b(this,"storedCycles",0),b(this,"sync",1),null!=e&&this.shockRecovery(e)}commitCrime(e,t){const a=s.a[t];return a instanceof o.a&&(this.currentTask!==n.a.Idle?this.finishTask(e):this.resetTaskStatus(),this.gainRatesForTask.hack=a.hacking_exp*this.hacking_exp_mult*i.a.CrimeExpGain,this.gainRatesForTask.str=a.strength_exp*this.strength_exp_mult*i.a.CrimeExpGain,this.gainRatesForTask.def=a.defense_exp*this.defense_exp_mult*i.a.CrimeExpGain,this.gainRatesForTask.dex=a.dexterity_exp*this.dexterity_exp_mult*i.a.CrimeExpGain,this.gainRatesForTask.agi=a.agility_exp*this.agility_exp_mult*i.a.CrimeExpGain,this.gainRatesForTask.cha=a.charisma_exp*this.charisma_exp_mult*i.a.CrimeExpGain,this.gainRatesForTask.money=a.money*this.crime_money_mult*i.a.CrimeMoney,this.currentTaskLocation=String(this.gainRatesForTask.money),this.crimeType=t,this.currentTaskMaxTime=a.time,this.currentTask=n.a.Crime,!0)}finishTask(e){let t=Object(r.b)();if(this.currentTask===n.a.Crime&&this.currentTaskTime>=this.currentTaskMaxTime){const a=s.a[this.crimeType];if(!(a instanceof o.a))return console.error("Invalid data stored in sleeve.crimeType: "+this.crimeType),this.resetTaskStatus(),t;if(Math.random()0&&(this.hacking_exp+=t.hack),t.str>0&&(this.strength_exp+=t.str),t.def>0&&(this.defense_exp+=t.def),t.dex>0&&(this.dexterity_exp+=t.dex),t.agi>0&&(this.agility_exp+=t.agi),t.cha>0&&(this.charisma_exp+=t.cha),Object(r.b)();const i=this.shock/100*(this.sync/100)*a,o=t.hack*i,s=t.str*i,l=t.def*i,c=t.dex*i,u=t.agi*i,m=t.cha*i;return o>0&&(this.hacking_exp+=o,e.gainHackingExp(o),this.earningsForPlayer.hack+=o,this.earningsForTask.hack+=o),s>0&&(this.strength_exp+=s,e.gainStrengthExp(s),this.earningsForPlayer.str+=s,this.earningsForTask.str+=s),l>0&&(this.defense_exp+=l,e.gainDefenseExp(l),this.earningsForPlayer.def+=l,this.earningsForTask.def+=l),c>0&&(this.dexterity_exp+=c,e.gainDexterityExp(c),this.earningsForPlayer.dex+=c,this.earningsForTask.dex+=c),u>0&&(this.agility_exp+=u,e.gainAgilityExp(u),this.earningsForPlayer.agi+=u,this.earningsForTask.agi+=u),m>0&&(this.charisma_exp+=m,e.gainCharismaExp(m),this.earningsForPlayer.cha+=m,this.earningsForTask.cha+=m),this.earningsForSleeves.hack+=o*(this.sync/100),this.earningsForSleeves.str+=s*(this.sync/100),this.earningsForSleeves.def+=l*(this.sync/100),this.earningsForSleeves.dex+=c*(this.sync/100),this.earningsForSleeves.agi+=u*(this.sync/100),this.earningsForSleeves.cha+=m*(this.sync/100),{hack:o*(this.sync/100),str:s*(this.sync/100),def:l*(this.sync/100),dex:c*(this.sync/100),agi:u*(this.sync/100),cha:m*(this.sync/100),money:0}}gainMoney(e,t,a=1){const n=t.money*a;this.earningsForTask.money+=n,this.earningsForPlayer.money+=n,e.gainMoney(n),e.recordMoneySource(n,"sleeves")}getMemoryUpgradeCost(e){const t=Math.round(e);if(t<0)return 0;if(this.memory+t>100)return this.getMemoryUpgradeCost(100-this.memory);let a=0,n=this.memory-1;for(let t=0;t50&&this.logs.shift()}prestige(e){this.hacking_exp=0,this.strength_exp=0,this.defense_exp=0,this.dexterity_exp=0,this.agility_exp=0,this.charisma_exp=0,this.resetTaskStatus(),this.earningsForSleeves=Object(r.b)(),this.earningsForPlayer=Object(r.b)(),this.shockRecovery(e),this.augmentations=[],this.resetMultipliers(),this.shock=1,this.storedCycles=0,this.sync=Math.max(this.memory,1),this.logs=[]}process(e,t=1){const a=1e3/m.a.MilliPerCycle;if(this.storedCycles+=t,this.storedCyclesthis.currentTaskMaxTime&&(i=this.currentTaskMaxTime-this.currentTaskTime,o=Math.floor(i/m.a.MilliPerCycle),(i<0||o<0)&&(console.warn("Sleeve.process() calculated negative cycle usage"),i=0,o=0)),this.currentTaskTime+=i,this.shock=Math.min(100,this.shock+1e-4*o);let s=Object(r.b)();switch(this.currentTask){case n.a.Idle:break;case n.a.Class:case n.a.Gym:this.updateTaskGainRates(e),s=this.gainExperience(e,this.gainRatesForTask,o),this.gainMoney(e,this.gainRatesForTask,o);break;case n.a.Faction:{s=this.gainExperience(e,this.gainRatesForTask,o),this.gainMoney(e,this.gainRatesForTask,o);const t=p.a[this.currentTaskLocation];if(!(t instanceof h.a)){console.error("Invalid faction for Sleeve task: "+this.currentTaskLocation);break}t.playerReputation+=this.getRepGain(e)*o;break}case n.a.Company:{s=this.gainExperience(e,this.gainRatesForTask,o),this.gainMoney(e,this.gainRatesForTask,o);const t=l.a[this.currentTaskLocation];if(!(t instanceof c.a)){console.error("Invalid company for Sleeve task: "+this.currentTaskLocation);break}t.playerReputation+=this.getRepGain(e)*o;break}case n.a.Recovery:this.shock=Math.min(100,this.shock+2e-4*o),this.shock>=100&&this.resetTaskStatus();break;case n.a.Synchro:this.sync=Math.min(100,this.sync+2e-4*e.getIntelligenceBonus(.5)*o),this.sync>=100&&this.resetTaskStatus()}return 0!==this.currentTaskMaxTime&&this.currentTaskTime>=this.currentTaskMaxTime&&(this.currentTask===n.a.Crime?s=this.finishTask(e):this.finishTask(e)),this.updateStatLevels(),this.storedCycles-=o,s}resetTaskStatus(){this.earningsForTask=Object(r.b)(),this.gainRatesForTask=Object(r.b)(),this.currentTask=n.a.Idle,this.currentTaskTime=0,this.currentTaskMaxTime=0,this.factionWorkType=d.a.None,this.crimeType="",this.currentTaskLocation="",this.gymStatType="",this.className=""}shockRecovery(e){return this.currentTask!==n.a.Idle?this.finishTask(e):this.resetTaskStatus(),this.currentTask=n.a.Recovery,!0}synchronize(e){return this.currentTask!==n.a.Idle?this.finishTask(e):this.resetTaskStatus(),this.currentTask=n.a.Synchro,!0}takeUniversityCourse(e,t,a){this.currentTask!==n.a.Idle?this.finishTask(e):this.resetTaskStatus();let r=1;switch(t.toLowerCase()){case g.a.AevumSummitUniversity.toLowerCase():if(this.city!==f.a.Aevum)return!1;this.currentTaskLocation=g.a.AevumSummitUniversity,r=4;break;case g.a.Sector12RothmanUniversity.toLowerCase():if(this.city!==f.a.Sector12)return!1;this.currentTaskLocation=g.a.Sector12RothmanUniversity,r=3;break;case g.a.VolhavenZBInstituteOfTechnology.toLowerCase():if(this.city!==f.a.Volhaven)return!1;this.currentTaskLocation=g.a.VolhavenZBInstituteOfTechnology,r=5;break;default:return!1}switch(a.toLowerCase()){case"study computer science":break;case"data structures":this.gainRatesForTask.money=m.a.ClassDataStructuresBaseCost*r*-1;break;case"networks":this.gainRatesForTask.money=m.a.ClassNetworksBaseCost*r*-1;break;case"algorithms":this.gainRatesForTask.money=m.a.ClassAlgorithmsBaseCost*r*-1;break;case"management":this.gainRatesForTask.money=m.a.ClassManagementBaseCost*r*-1;break;case"leadership":this.gainRatesForTask.money=m.a.ClassLeadershipBaseCost*r*-1;break;default:return!1}return this.className=a,this.currentTask=n.a.Class,!0}travel(e,t){return e.loseMoney(m.a.TravelCost),this.city=t,!0}tryBuyAugmentation(e,t){return!!e.canAfford(t.startingCost)&&(!this.augmentations.some(e=>e.name===t.name)&&(e.loseMoney(t.startingCost),this.installAugmentation(t),!0))}updateTaskGainRates(e){if(this.currentTask!==n.a.Class)if(this.currentTask!==n.a.Gym)console.warn("Sleeve.updateTaskGainRates() called for unexpected task type "+this.currentTask);else{let t=1;switch(this.currentTaskLocation.toLowerCase()){case g.a.AevumCrushFitnessGym.toLowerCase():t=2;break;case g.a.AevumSnapFitnessGym.toLowerCase():t=5;break;case g.a.Sector12IronGym.toLowerCase():t=1;break;case g.a.Sector12PowerhouseGym.toLowerCase():t=10;break;case g.a.VolhavenMilleniumFitnessGym:t=4;break;default:return}const a=1,n=e.hashManager.getTrainingMult()*t,r=this.gymStatType.toLowerCase();r.includes("str")?this.gainRatesForTask.str=a*n*this.strength_exp_mult:r.includes("def")?this.gainRatesForTask.def=a*n*this.defense_exp_mult:r.includes("dex")?this.gainRatesForTask.dex=a*n*this.dexterity_exp_mult:r.includes("agi")&&(this.gainRatesForTask.agi=a*n*this.agility_exp_mult)}else{let t=1;switch(this.currentTaskLocation.toLowerCase()){case g.a.AevumSummitUniversity.toLowerCase():t=3;break;case g.a.Sector12RothmanUniversity.toLowerCase():t=2;break;case g.a.VolhavenZBInstituteOfTechnology.toLowerCase():t=4;break;default:return}const a=t*e.hashManager.getStudyMult();switch(this.className.toLowerCase()){case"study computer science":this.gainRatesForTask.hack=m.a.ClassStudyComputerScienceBaseExp*a*this.hacking_exp_mult;break;case"data structures":this.gainRatesForTask.hack=m.a.ClassDataStructuresBaseExp*a*this.hacking_exp_mult;break;case"networks":this.gainRatesForTask.hack=m.a.ClassNetworksBaseExp*a*this.hacking_exp_mult;break;case"algorithms":this.gainRatesForTask.hack=m.a.ClassAlgorithmsBaseExp*a*this.hacking_exp_mult;break;case"management":this.gainRatesForTask.cha=m.a.ClassManagementBaseExp*a*this.charisma_exp_mult;break;case"leadership":this.gainRatesForTask.cha=m.a.ClassLeadershipBaseExp*a*this.charisma_exp_mult}}}upgradeMemory(e){e<0?console.warn("Sleeve.upgradeMemory() called with negative value: "+e):this.memory=Math.min(100,Math.round(this.memory+e))}workForCompany(e,t){if(!(l.a[t]instanceof c.a)||null==e.jobs[t])return!1;this.currentTask!==n.a.Idle?this.finishTask(e):this.resetTaskStatus();const a=l.a[t],r=u.a[e.jobs[t]];return null!=a&&(null!=r&&(this.gainRatesForTask.money=r.baseSalary*a.salaryMultiplier*this.work_money_mult*i.a.CompanyWorkMoney,this.gainRatesForTask.hack=r.hackingExpGain*a.expMultiplier*this.hacking_exp_mult*i.a.CompanyWorkExpGain,this.gainRatesForTask.str=r.strengthExpGain*a.expMultiplier*this.strength_exp_mult*i.a.CompanyWorkExpGain,this.gainRatesForTask.def=r.defenseExpGain*a.expMultiplier*this.defense_exp_mult*i.a.CompanyWorkExpGain,this.gainRatesForTask.dex=r.dexterityExpGain*a.expMultiplier*this.dexterity_exp_mult*i.a.CompanyWorkExpGain,this.gainRatesForTask.agi=r.agilityExpGain*a.expMultiplier*this.agility_exp_mult*i.a.CompanyWorkExpGain,this.gainRatesForTask.cha=r.charismaExpGain*a.expMultiplier*this.charisma_exp_mult*i.a.CompanyWorkExpGain,this.currentTaskLocation=t,this.currentTask=n.a.Company,this.currentTaskMaxTime=m.a.MillisecondsPer8Hours,!0))}workForFaction(e,t,a){if(""===t)return!1;if(!(p.a[t]instanceof h.a&&e.factions.includes(t)))return!1;this.currentTask!==n.a.Idle?this.finishTask(e):this.resetTaskStatus();const r=p.a[t].getInfo(),o=a.toLowerCase();if(o.includes("hack")){if(!r.offerHackingWork)return!1;this.factionWorkType=d.a.Hacking,this.gainRatesForTask.hack=.15*this.hacking_exp_mult*i.a.FactionWorkExpGain}else if(o.includes("field")){if(!r.offerFieldWork)return!1;this.factionWorkType=d.a.Field,this.gainRatesForTask.hack=.1*this.hacking_exp_mult*i.a.FactionWorkExpGain,this.gainRatesForTask.str=.1*this.strength_exp_mult*i.a.FactionWorkExpGain,this.gainRatesForTask.def=.1*this.defense_exp_mult*i.a.FactionWorkExpGain,this.gainRatesForTask.dex=.1*this.dexterity_exp_mult*i.a.FactionWorkExpGain,this.gainRatesForTask.agi=.1*this.agility_exp_mult*i.a.FactionWorkExpGain,this.gainRatesForTask.cha=.1*this.charisma_exp_mult*i.a.FactionWorkExpGain}else{if(!o.includes("security"))return!1;if(!r.offerSecurityWork)return!1;this.factionWorkType=d.a.Security,this.gainRatesForTask.hack=.1*this.hacking_exp_mult*i.a.FactionWorkExpGain,this.gainRatesForTask.str=.15*this.strength_exp_mult*i.a.FactionWorkExpGain,this.gainRatesForTask.def=.15*this.defense_exp_mult*i.a.FactionWorkExpGain,this.gainRatesForTask.dex=.15*this.dexterity_exp_mult*i.a.FactionWorkExpGain,this.gainRatesForTask.agi=.15*this.agility_exp_mult*i.a.FactionWorkExpGain}return this.currentTaskLocation=t,this.currentTask=n.a.Faction,this.currentTaskMaxTime=m.a.MillisecondsPer20Hours,!0}workoutAtGym(e,t,a){this.currentTask!==n.a.Idle?this.finishTask(e):this.resetTaskStatus();let r=1;switch(t.toLowerCase()){case g.a.AevumCrushFitnessGym.toLowerCase():if(this.city!=f.a.Aevum)return!1;this.currentTaskLocation=g.a.AevumCrushFitnessGym,r=3;break;case g.a.AevumSnapFitnessGym.toLowerCase():if(this.city!=f.a.Aevum)return!1;this.currentTaskLocation=g.a.AevumSnapFitnessGym,r=10;break;case g.a.Sector12IronGym.toLowerCase():if(this.city!=f.a.Sector12)return!1;this.currentTaskLocation=g.a.Sector12IronGym,r=1;break;case g.a.Sector12PowerhouseGym.toLowerCase():if(this.city!=f.a.Sector12)return!1;this.currentTaskLocation=g.a.Sector12PowerhouseGym,r=20;break;case g.a.VolhavenMilleniumFitnessGym.toLowerCase():if(this.city!=f.a.Volhaven)return!1;this.currentTaskLocation=g.a.VolhavenMilleniumFitnessGym,r=7;break;default:return!1}const i=a.toLowerCase();return this.gainRatesForTask.money=m.a.ClassGymBaseCost*r*-1,!!(i.includes("str")||i.includes("def")||i.includes("dex")||i.includes("agi"))&&(this.gymStatType=a,this.currentTask=n.a.Gym,!0)}toJSON(){return Object(y.b)("Sleeve",this)}static fromJSON(e){return Object(y.a)(E,e.data)}}y.c.constructors.Sleeve=E},function(e,t,a){"use strict";a.d(t,"b",(function(){return i})),a.d(t,"a",(function(){return o})),a.d(t,"c",(function(){return s}));var n=a(14),r=a(348);class i{constructor(e,t){n.a.EnableTimestamps&&(e="["+Object(r.a)()+"] "+e),this.text=e,this.color=t}}class o{constructor(e,t){n.a.EnableTimestamps&&(e="["+Object(r.a)()+"] "+e),this.hostname=t,this.dashes=e}}class s{constructor(e,t){this.time=e,this.timeLeft=e,this.action=t}}},function(e,t,a){"use strict";a.d(t,"b",(function(){return r})),a.d(t,"a",(function(){return i}));var n=a(131);const r=new n.a,i=new n.a},function(e,t,a){"use strict";a.d(t,"a",(function(){return s}));var n=a(794),r=a(13),i=a(36);function o(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}class s{constructor(e,t,a){o(this,"code",""),o(this,"delay",null),o(this,"disableLogs",{}),o(this,"dynamicLoadedFns",{}),o(this,"dynamicRamUsage",r.a.ScriptBaseRamCost),o(this,"errorMessage",""),o(this,"loadedFns",{}),o(this,"output",""),o(this,"ramUsage",0),o(this,"running",!1),this.name=e.filename,this.serverIp=e.server;const s=Math.round(t);if("number"!=typeof s||isNaN(s))throw new Error("Invalid PID when constructing WorkerScript: "+t);this.pid=s,e.pid=s;const l=i.b[this.serverIp];if(null==l)throw new Error("WorkerScript constructed with invalid server ip: "+this.serverIp);let c=!1;for(let e=0;e=r.price)&&h(r,n);break;case i.a.LimitSell:case i.a.StopBuy:(r.pos===o.a.Long&&e.price>=r.price||r.pos===o.a.Short&&e.price<=r.price)&&h(r,n);break;case i.a.StopSell:(r.pos===o.a.Long&&e.price<=r.price||r.pos===o.a.Short&&e.price>=r.price)&&h(r,n);break;default:return void console.warn("Invalid order type: "+r.type)}}function h(e,t){const a=t.symbolToStockMap[e.stockSymbol];if(!(a instanceof r.a))return void console.error("Could not find stock for this order: "+e.stockSymbol);const m=t.stockMarket.Orders[a.symbol],h={suppressDialog:!0};let p=!0,d=!1;switch(e.type){case i.a.LimitBuy:case i.a.StopBuy:d=!0,e.pos===o.a.Long?p=Object(n.a)(a,e.shares,null,h)&&p:e.pos===o.a.Short&&(p=Object(n.d)(a,e.shares,null,h)&&p);break;case i.a.LimitSell:case i.a.StopSell:e.pos===o.a.Long?p=Object(n.c)(a,e.shares,null,h)&&p:e.pos===o.a.Short&&(p=Object(n.b)(a,e.shares,null,h)&&p);break;default:return void console.warn("Invalid order type: "+e.type)}const f=e.pos===o.a.Long?"Long":"Short";if(p){for(let t=0;t=s.a.CyclesPerIndustryStateCycle){const t=this.getState(),a=1,n=a*s.a.CyclesPerIndustryStateCycle;if(this.storedCycles-=n,this.divisions.forEach(e=>{e.process(a,t,this)}),this.shareSaleCooldown>0&&(this.shareSaleCooldown-=n),this.issueNewSharesCooldown>0&&(this.issueNewSharesCooldown-=n),"START"===t){this.revenue=new d.a(0),this.expenses=new d.a(0),this.divisions.forEach(e=>{e.lastCycleRevenue!==-1/0&&e.lastCycleRevenue!==1/0&&e.lastCycleExpenses!==-1/0&&e.lastCycleExpenses!==1/0&&(this.revenue=this.revenue.plus(e.lastCycleRevenue),this.expenses=this.expenses.plus(e.lastCycleExpenses))});const t=this.revenue.minus(this.expenses).times(a*s.a.SecsPerMarketCycle);if((isNaN(this.funds)||this.funds===1/0||this.funds===-1/0)&&(Object(m.a)("There was an error calculating your Corporations funds and they got reset to 0. This is a bug. Please report to game developer.
(Your funds have been set to $150b for the inconvenience)"),this.funds=new d.a(15e10)),this.dividendPercentage>0&&t>0)if(isNaN(this.dividendPercentage)||this.dividendPercentage<0||this.dividendPercentage>100*s.a.DividendMaxPercentage)console.error("Invalid Corporation dividend percentage: "+this.dividendPercentage);else{const a=this.dividendPercentage/100*t,n=t-a,r=a/this.totalShares,i=this.numShares*r*(1-this.dividendTaxPercentage/100);e.gainMoney(i),e.recordMoneySource(i,"corporation"),this.addFunds(n)}else this.addFunds(t);this.updateSharePrice()}this.state.nextState()}}determineValuation(){let e,t=this.revenue.minus(this.expenses).toNumber();return this.public?(this.dividendPercentage>0&&(t*=(100-this.dividendPercentage)/100),e=this.funds.toNumber()+85e3*t,e*=Math.pow(1.1,this.divisions.length),e=Math.max(e,0)):(e=1e10+Math.max(this.funds.toNumber(),0)/3,t>0?(e+=315e3*t,e*=Math.pow(1.1,this.divisions.length)):e=1e10*Math.pow(1.1,this.divisions.length),e-=e%1e6),e*l.a.CorporationValuation}getTargetSharePrice(){return this.determineValuation()/(2*(this.totalShares-this.numShares)+1)}updateSharePrice(){const e=this.getTargetSharePrice();this.sharePrice<=e?this.sharePrice*=1+.01*Math.random():this.sharePrice*=1-.01*Math.random(),this.sharePrice<=.01&&(this.sharePrice=.01)}immediatelyUpdateSharePrice(){this.sharePrice=this.getTargetSharePrice()}calculateShareSale(e){let t=e,a=this.shareSalesUntilPriceUpdate,n=this.sharePrice,r=0,i=0;const o=Math.ceil(e/s.a.SHARESPERPRICEUPDATE);if(isNaN(o)||o>1e7)return console.error("Something went wrong or unexpected when calculating share sale. Maxiterations calculated to be "+o),[0,0,0];for(let e=0;e3600?Math.floor(t/3600)+" hour(s)":t>60?Math.floor(t/60)+" minute(s)":Math.floor(t)+" second(s)"}unlock(e){const t=e[0],a=e[1];for(;this.unlockUpgrades.length<=t;)this.unlockUpgrades.push(0);this.funds.lt(a)?Object(m.a)("You don't have enough funds to unlock this!"):(this.unlockUpgrades[t]=1,this.funds=this.funds.minus(a),5===t?this.dividendTaxPercentage-=5:6===t&&(this.dividendTaxPercentage-=10))}upgrade(e){const t=e[0],a=e[1],n=e[2],r=e[3];for(;this.upgrades.length<=t;)this.upgrades.push(0);for(;this.upgradeMultipliers.length<=t;)this.upgradeMultipliers.push(1);const i=a*Math.pow(n,this.upgrades[t]);if(this.funds.lt(i))Object(m.a)("You don't have enough funds to purchase this!");else if(++this.upgrades[t],this.funds=this.funds.minus(i),this.upgradeMultipliers[t]=1+this.upgrades[t]*r,1===t)for(let e=0;e0){this.teamCount=Math.min(this.teamCount,e.teamSize);return Math.pow(this.teamCount,.05)}return 1}getActionTypeSkillSuccessBonus(e){return e.skillMultipliers.successChanceOperation}getChaosDifficultyBonus(e){const t=e.getCurrentCity();if(t.chaos>n.a.ChaosThreshold){const e=t.chaos-n.a.ChaosThreshold+1;return Math.pow(e,.1)}return 1}toJSON(){return Object(i.b)("Operation",this)}static fromJSON(e){return Object(i.a)(s,e.data)}}i.c.constructors.Operation=s},,,,,,,function(e,t,a){"use strict";a.d(t,"a",(function(){return T})),a.d(t,"b",(function(){return R}));var n=a(20),r=a(152),i=a(7),o=a(198),s=a(199),l=a(59),c=a(50),u=a(70),m=a(172),h=a(24),p=a(116),d=a(58),f=a(229),g=a(158),y=a(2),b=a(111),E=a(440),_=a(56),v=a(36),k=a(44),w=a(63),C=a(67),S=a(92),x=a(118),O=a(15),M=a(99);function T(){Object(o.b)(y.a);const e=y.a.factions.filter((function(e){return h.a[e].getInfo().keep}));y.a.prestigeAugmentation(),Object(g.c)();const t=y.a.getHomeComputer();Object(v.g)(),Object(C.e)(),Object(v.a)(t),Object(k.f)(t),Object(r.b)(i.a.Neurolink)&&n.a[i.a.Neurolink].owned&&(t.programs.push(u.a.FTPCrackProgram.name),t.programs.push(u.a.RelaySMTPProgram.name)),Object(r.b)(i.a.CashRoot)&&n.a[i.a.CashRoot].owned&&(y.a.setMoney(1e6),t.programs.push(u.a.BruteSSHProgram.name)),Object(r.b)(i.a.PCMatrix)&&n.a[i.a.PCMatrix].owned&&(t.programs.push(u.a.DeepscanV1.name),t.programs.push(u.a.AutoLink.name)),Object(v.d)(y.a.getHomeComputer());for(const e in l.a)l.a.hasOwnProperty(e)&&l.a[e].gainFavor();for(const e in h.a)h.a.hasOwnProperty(e)&&h.a[e].gainFavor();null!==x.a.action&&x.a.finishAction(b.b,y.a,!0),Object(h.c)(),y.a.factions=y.a.factions.concat(e),y.a.factions.map(e=>h.a[e].isMember=!0),Object(r.c)(),y.a.reapplyAllSourceFiles(),Object(l.b)(),Object(f.c)();const a=y.a.gang;if(y.a.inGang()&&null!==a){const e=h.a[a.facName];e instanceof m.a&&Object(p.d)(e)}if(y.a.bladeburner instanceof s.a&&y.a.bladeburner.prestige(),8===y.a.bitNodeN&&(y.a.money=new M.a(25e7)),(8===y.a.bitNodeN||w.a[8]>0)&&(y.a.hasWseAccount=!0,y.a.hasTixApiAccess=!0),y.a.hasWseAccount&&(Object(S.f)(),Object(S.h)()),Object(r.b)(i.a.TheRedPill)&&n.a[i.a.TheRedPill].owned){const e=C.a[C.b.WorldDaemon];if("string"!=typeof e)throw new Error("WorldDaemonIP should be string");const t=v.b[e],a=C.a[C.b.DaedalusServer];if("string"!=typeof a)throw new Error("DaedalusServerIP should be string");const n=v.b[a];t&&n&&(t.serversOnNetwork.push(n.ip),n.serversOnNetwork.push(t.ip))}Object(E.b)()}function R(e){Object(o.b)(y.a),Object(w.b)(y.a),y.a.prestigeSourceFile(),Object(g.c)();const t=y.a.getHomeComputer();Object(v.g)(),Object(C.e)(),Object(v.a)(t),Object(k.f)(t),Object(v.d)(y.a.getHomeComputer()),w.a[9]>=2?t.setMaxRam(128):w.a[1]>0?t.setMaxRam(32):t.setMaxRam(8),t.cpuCores=1;for(const e in l.a)l.a.hasOwnProperty(e)&&(l.a[e].favor=0);for(const e in h.a)h.a.hasOwnProperty(e)&&(h.a[e].favor=0);null!==x.a.action&&x.a.finishAction(b.b,y.a,!0);for(const e in n.a)n.a.hasOwnProperty(e)&&delete n.a[e];if(w.a[12]>0&&y.a.augmentations.push({name:i.a.NeuroFluxGovernor,level:w.a[12]}),Object(h.c)(),Object(r.c)(),y.a.reapplyAllSourceFiles(),Object(l.b)(),Object(f.c)(),3===y.a.bitNodeN&&(t.messages.push(_.a.CorporationManagementHandbook),Object(O.a)("You received a copy of the Corporation Management Handbook on your home computer. Read it if you need help getting started with Corporations!")),8===y.a.bitNodeN&&(y.a.money=new M.a(25e7)),(8===y.a.bitNodeN||w.a[8]>0)&&(y.a.hasWseAccount=!0,y.a.hasTixApiAccess=!0),10===y.a.bitNodeN&&Object(O.a)("Visit VitaLife in New Tokyo if you'd like to purchase a new sleeve!"),y.a.hasWseAccount?(Object(S.f)(),Object(S.h)()):Object(S.d)(),y.a.gang=null,y.a.corporation=null,Object(c.e)(),y.a.bladeburner=null,w.a[9]>=3){const e=y.a.createHacknetServer();e.level=100,e.cores=10,e.cache=5,e.updateHashRate(y.a.hacknet_node_money_mult),e.updateHashCapacity(),Object(d.p)(y.a)}0===w.a[5]||e||y.a.gainIntelligenceExp(300),Object(E.b)()}},function(e,t,a){"use strict";function n(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}a.d(t,"a",(function(){return r}));class r{constructor(e=""){n(this,"level",1),n(this,"name",""),this.name=e}}},function(e,t,a){"use strict";function n(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}a.d(t,"a",(function(){return r})),a.d(t,"b",(function(){return i}));const r=new class{constructor(){n(this,"m",1024),n(this,"a",341),n(this,"c",1),this.x=0,this.reset()}step(){this.x=(this.a*this.x+this.c)%this.m}random(){return this.step(),this.x/this.m}reset(){this.x=(new Date).getTime()%this.m}};class i{constructor(e){n(this,"s1",0),n(this,"s2",0),n(this,"s3",0);const t=e/1e3%3e4;this.s1=t,this.s2=t,this.s3=t}step(){this.s1=171*this.s1%30269,this.s2=172*this.s2%30307,this.s3=170*this.s3%30323}random(){return this.step(),(this.s1/30269+this.s2/30307+this.s3/30323)%1}}},function(e,t,a){"use strict";a.d(t,"a",(function(){return i}));var n=a(6),r=a(25);class i{constructor(e){this.name=e.name,this.nextPosition=e.nextPosition,this.baseSalary=e.baseSalary,this.repMultiplier=e.repMultiplier,this.requiredHacking=null!=e.reqdHacking?e.reqdHacking:0,this.requiredStrength=null!=e.reqdStrength?e.reqdStrength:0,this.requiredDefense=null!=e.reqdDefense?e.reqdDefense:0,this.requiredDexterity=null!=e.reqdDexterity?e.reqdDexterity:0,this.requiredAgility=null!=e.reqdAgility?e.reqdAgility:0,this.requiredCharisma=null!=e.reqdCharisma?e.reqdCharisma:0,this.requiredReputation=null!=e.reqdReputation?e.reqdReputation:0,this.hackingEffectiveness=null!=e.hackingEffectiveness?e.hackingEffectiveness:0,this.strengthEffectiveness=null!=e.strengthEffectiveness?e.strengthEffectiveness:0,this.defenseEffectiveness=null!=e.defenseEffectiveness?e.defenseEffectiveness:0,this.dexterityEffectiveness=null!=e.dexterityEffectiveness?e.dexterityEffectiveness:0,this.agilityEffectiveness=null!=e.agilityEffectiveness?e.agilityEffectiveness:0,this.charismaEffectiveness=null!=e.charismaEffectiveness?e.charismaEffectiveness:0,100!==Math.round(this.hackingEffectiveness+this.strengthEffectiveness+this.defenseEffectiveness+this.dexterityEffectiveness+this.agilityEffectiveness+this.charismaEffectiveness)&&console.error(`CompanyPosition ${this.name} parameters do not sum to 100`),this.hackingExpGain=null!=e.hackingExpGain?e.hackingExpGain:0,this.strengthExpGain=null!=e.strengthExpGain?e.strengthExpGain:0,this.defenseExpGain=null!=e.defenseExpGain?e.defenseExpGain:0,this.dexterityExpGain=null!=e.dexterityExpGain?e.dexterityExpGain:0,this.agilityExpGain=null!=e.agilityExpGain?e.agilityExpGain:0,this.charismaExpGain=null!=e.charismaExpGain?e.charismaExpGain:0}calculateJobPerformance(e,t,a,r,i,o){const s=this.hackingEffectiveness*e/n.a.MaxSkillLevel,l=this.strengthEffectiveness*t/n.a.MaxSkillLevel,c=this.defenseEffectiveness*a/n.a.MaxSkillLevel,u=this.dexterityEffectiveness*r/n.a.MaxSkillLevel,m=this.agilityEffectiveness*i/n.a.MaxSkillLevel,h=this.charismaEffectiveness*o/n.a.MaxSkillLevel;let p=this.repMultiplier*(s+l+c+u+m+h)/100;return isNaN(p)&&(console.error("Company reputation gain calculated to be NaN"),p=0),p}isSoftwareJob(){return r.j.includes(this.name)}isITJob(){return r.d.includes(this.name)}isSecurityEngineerJob(){return r.i.includes(this.name)}isNetworkEngineerJob(){return r.f.includes(this.name)}isBusinessJob(){return r.b.includes(this.name)}isSecurityJob(){return r.h.includes(this.name)}isAgentJob(){return r.a.includes(this.name)}isSoftwareConsultantJob(){return r.k.includes(this.name)}isBusinessConsultantJob(){return r.c.includes(this.name)}isPartTimeJob(){return r.g.includes(this.name)}}},function(e,t,a){"use strict";a.d(t,"a",(function(){return l}));var n=a(14),r=a(118),i=a(21),o=a(348);function s(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}class l{constructor(e=null,t=[]){s(this,"args",[]),s(this,"dataMap",{}),s(this,"filename",""),s(this,"logs",[]),s(this,"logUpd",!1),s(this,"offlineExpGained",0),s(this,"offlineMoneyMade",0),s(this,"offlineRunningTime",.01),s(this,"onlineExpGained",0),s(this,"onlineMoneyMade",0),s(this,"onlineRunningTime",.01),s(this,"pid",-1),s(this,"ramUsage",0),s(this,"server",""),s(this,"threads",1),null!=e&&(this.filename=e.filename,this.args=t,this.server=e.server,this.ramUsage=e.ramUsage)}log(e){this.logs.length>n.a.MaxLogCapacity&&this.logs.shift();let t=e;n.a.EnableTimestamps&&(t="["+Object(o.a)()+"] "+t),this.logs.push(t),this.logUpd=!0}displayLog(){for(let e=0;e0&&(this.ramUsage=Object(o.a)(t))}toJSON(){return Object(i.b)("Script",this)}static fromJSON(e){return Object(i.a)(c,e.data)}}i.c.constructors.Script=c},function(e,t,a){"use strict";a.d(t,"a",(function(){return i}));var n=a(790),r=a(791);const i={};for(const e of r.a)null!=i[(o=e).name]&&console.warn("Duplicate Research being defined: "+o.name),i[o.name]=new n.a(o);var o},function(e,t,a){"use strict";a.d(t,"a",(function(){return o}));var n=a(249),r=a(21);function i(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}class o{constructor(){i(this,"capacity",0),i(this,"hashes",0),i(this,"upgrades",{});for(const e in n.a)this.upgrades[e]=0}getMult(e){const t=n.a[e],a=this.upgrades[e];return null==t||null==a?(console.error("Could not find Hash Study upgrade"),1):1+t.value*a/100}getStudyMult(){return this.getMult("Improve Studying")}getTrainingMult(){return this.getMult("Improve Gym Training")}getUpgrade(e){const t=n.a[e];return t||(console.error("Invalid Upgrade Name given to HashManager.getUpgrade(): "+e),null)}getUpgradeCost(e){const t=this.getUpgrade(e),a=this.upgrades[e];return null==t||null==a?(console.error("Invalid Upgrade Name given to HashManager.getUpgradeCost(): "+e),1/0):t.getCost(a)}prestige(){for(const e in n.a)this.upgrades[e]=0;this.hashes=0,this.updateCapacity(0)}refundUpgrade(e){const t=n.a[e];--this.upgrades[e];const a=this.upgrades[e];if(null==t||null==a||a<0)return void console.error("Invalid Upgrade Name given to HashManager.upgrade(): "+e);const r=t.getCost(a);this.hashes+=r}storeHashes(e){this.hashes+=e,this.hashes=Math.min(this.hashes,this.capacity)}updateCapacity(e){e<0&&(this.capacity=0),this.capacity=Math.max(e,0)}upgrade(e){if(null==n.a[e])return console.error("Invalid Upgrade Name given to HashManager.upgrade(): "+e),!1;const t=this.getUpgradeCost(e);return!(this.hashes{try{return r.a[e].getInfo().offerHackingWork}catch(e){return console.error("Error when trying to filter Hacking Factions for Coding Contract Generation: "+e),!1}});return t===n.c.FactionReputation&&0===a.length&&(t=n.c.CompanyReputation),t===n.c.FactionReputationAll&&0===a.length&&(t=n.c.CompanyReputation),t===n.c.CompanyReputation&&0===Object.keys(i.a.jobs).length&&(t=n.c.Money),t}(e.type);const t=i.a.factions.filter(e=>{try{return r.a[e].getInfo().offerHackingWork}catch(e){return console.error("Error when trying to filter Hacking Factions for Coding Contract Generation: "+e),!1}});switch(e.type){case n.c.FactionReputation:{const a=t.length,n=t[Object(u.a)(0,a-1)];e.name=n;break}case n.c.CompanyReputation:{const t=Object.keys(i.a.jobs);t.length>0?e.name=t[Object(u.a)(0,t.length-1)]:e.type=n.c.Money;break}}return e}function g(){const e=Object.keys(o.b);let t=Object(u.a)(0,e.length-1),a=o.b[e[t]];for(let n=0;n<200&&(!(a instanceof c.a)||a.purchasedByPlayer||a.hostname===l.b.WorldDaemon);++n)t=Object(u.a)(0,e.length-1),a=o.b[e[t]];return a}function y(e,t){let a="contract-"+Object(u.a)(0,1e6);for(let t=0;t<1e3&&!(e.contracts.filter(e=>e.fn===a).length<=0);++t)a="contract-"+Object(u.a)(0,1e6);return t.name&&(a+="-"+t.name.replace(/\s/g,"")),a}},function(e,t,a){"use strict";a.d(t,"a",(function(){return n}));const n=new(a(131).a)},function(e,t,a){"use strict";a.d(t,"a",(function(){return u}));var n=a(47),r=a(40),i=a(29),o=a(22),s=a(21),l=a(798);function c(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}class u{constructor(e={}){c(this,"minEne",0),c(this,"maxEne",100),c(this,"minHap",0),c(this,"maxHap",100),c(this,"maxMor",100),c(this,"employees",[]),c(this,"employeeProd",{[n.a.Operations]:0,[n.a.Engineer]:0,[n.a.Business]:0,[n.a.Management]:0,[n.a.RandD]:0,total:0}),this.loc=e.loc?e.loc:"",this.size=e.size?e.size:1}atCapacity(){return this.employees.length>=this.size}process(e=1,t,a){if(a.hasResearch("HRBuddy-Recruitment")&&!this.atCapacity()){const e=this.hireRandomEmployee();a.hasResearch("HRBuddy-Training")&&void 0!==e&&(e.pos=n.a.Training)}this.maxEne=100,this.maxHap=100,this.maxMor=100,a.hasResearch("Go-Juice")&&(this.maxEne+=10),a.hasResearch("JoyWire")&&(this.maxHap+=10),a.hasResearch("Sti.mu")&&(this.maxMor+=10);let r=1;t.funds<0&&a.lastCycleRevenue<0?r=Math.pow(.99,e):t.funds>0&&a.lastCycleRevenue>0&&(r=Math.pow(1.01,e));const i=a.hasResearch("AutoBrew"),o=a.hasResearch("AutoPartyManager");let s=0;for(let t=0;t864e5}function o(e){if(i()){for(const t of e.factions)n.a[t].favor++;r=(new Date).getTime()}}function s(e){r=e}},,function(e,t,a){"use strict";a.d(t,"a",(function(){return i}));var n=a(21);function r(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}class i{constructor(){r(this,"bladeburner",0),r(this,"casino",0),r(this,"class",0),r(this,"codingcontract",0),r(this,"corporation",0),r(this,"crime",0),r(this,"gang",0),r(this,"hacking",0),r(this,"hacknetnode",0),r(this,"hospitalization",0),r(this,"infiltration",0),r(this,"sleeves",0),r(this,"stock",0),r(this,"total",0),r(this,"work",0)}record(e,t){const a=t.toLowerCase();"number"==typeof this[a]?(this[a]+=e,this.total+=e):console.warn("MoneySourceTracker.record() called with invalid source: "+t)}reset(){for(const e in this)"number"==typeof this[e]&&(this[e]=0)}toJSON(){return Object(n.b)("MoneySourceTracker",this)}static fromJSON(e){return Object(n.a)(i,e.data)}}n.c.constructors.MoneySourceTracker=i},,,,,,,,,,,,,,,,,,,function(e,t,a){"use strict";function n(){const e=new Date,t=("0"+e.getHours()).slice(-2),a=("0"+e.getMinutes()).slice(-2);return`${e.getMonth()+1}/${e.getDate()} ${t}:${a}`}a.d(t,"a",(function(){return n}))},,,function(e,t,a){"use strict";function n(e){return+(Math.round(parseFloat(e+"e+2"))+"e-2")}a.d(t,"a",(function(){return n}))},function(e,t,a){"use strict";a.d(t,"a",(function(){return l})),a.d(t,"b",(function(){return u}));var n=a(0),r=a.n(n),i=a(131),o=a(42),s=a(1);const l=new i.a;let c=0;function u(){const[e,t]=Object(n.useState)([]);return Object(n.useEffect)(()=>l.subscribe(e=>{const a=c+"";c++,t(t=>[...t,{id:a,text:e}])}),[]),r.a.createElement(r.a.Fragment,null,e.length>0&&r.a.createElement(o.a,{open:!0,onClose:function(){t(e=>e.slice(1,1e99))}},r.a.createElement(s.a,null,e[0].text)))}},function(e,t,a){"use strict";function n(e,t=1){return 1+t*Math.pow(e,.8)/600}a.d(t,"a",(function(){return n}))},function(e,t,a){"use strict";a.d(t,"b",(function(){return r})),a.d(t,"a",(function(){return i}));var n=a(6);function r(e){let t;return t="number"==typeof e.money?e.money:e.money.toNumber(),t<0?0:Math.min(.1*t,(e.max_hp-e.hp)*n.a.HospitalCostPerHp)}function i(e,t){const a=e.hp;e.hp-=t;const n=r(e);return e.hp=a,n}},function(e,t,a){"use strict";a.d(t,"a",(function(){return u}));var n=a(47),r=a(157),i=a(799),o=a(455),s=a(21),l=a(29);function c(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}class u{constructor(e={}){c(this,"name",""),c(this,"dmd",0),c(this,"cmp",0),c(this,"mku",0),c(this,"pCost",0),c(this,"sCost",0),c(this,"fin",!1),c(this,"prog",0),c(this,"createCity",""),c(this,"designCost",0),c(this,"advCost",0),c(this,"rat",0),c(this,"qlt",0),c(this,"per",0),c(this,"dur",0),c(this,"rel",0),c(this,"aes",0),c(this,"fea",0),c(this,"data",Object(o.a)([0,0,0])),c(this,"loc",""),c(this,"siz",0),c(this,"reqMats",{}),c(this,"prdman",Object(o.a)([!1,0])),c(this,"sllman",Object(o.a)([!1,0])),c(this,"marketTa1",!1),c(this,"marketTa2",!1),c(this,"marketTa2Price",Object(o.a)(0)),this.name=e.name?e.name:"",this.dmd=e.demand?e.demand:0,this.cmp=e.competition?e.competition:0,this.mku=e.markup?e.markup:0,this.createCity=e.createCity?e.createCity:"",this.designCost=e.designCost?e.designCost:0,this.advCost=e.advCost?e.advCost:0,this.qlt=e.quality?e.quality:0,this.per=e.performance?e.performance:0,this.dur=e.durability?e.durability:0,this.rel=e.reliability?e.reliability:0,this.aes=e.aesthetics?e.aesthetics:0,this.fea=e.features?e.features:0,this.loc=e.loc?e.loc:"",this.siz=e.size?e.size:0,this.reqMats=e.req?e.req:{}}createProduct(e=1,t=1){this.fin||(this.prog+=.01*e*t)}finishProduct(e,t){this.fin=!0;const a=this.prog/100,i=e[n.a.Engineer]/e.total,o=e[n.a.Management]/e.total,s=e[n.a.RandD]/e.total,c=e[n.a.Operations]/e.total,u=e[n.a.Business]/e.total,m=a*(1.2*i+.9*o+1.3*s+1.5*c+u)*(1+Math.pow(this.designCost,.1)/100)*(1+Math.pow(t.sciResearch.qty,t.sciFac)/800);this.qlt=m*(.1*e[n.a.Engineer]+.05*e[n.a.Management]+.05*e[n.a.RandD]+.02*e[n.a.Operations]+.02*e[n.a.Business]),this.per=m*(.15*e[n.a.Engineer]+.02*e[n.a.Management]+.02*e[n.a.RandD]+.02*e[n.a.Operations]+.02*e[n.a.Business]),this.dur=m*(.05*e[n.a.Engineer]+.02*e[n.a.Management]+.08*e[n.a.RandD]+.05*e[n.a.Operations]+.05*e[n.a.Business]),this.rel=m*(.02*e[n.a.Engineer]+.08*e[n.a.Management]+.02*e[n.a.RandD]+.05*e[n.a.Operations]+.08*e[n.a.Business]),this.aes=m*(0*e[n.a.Engineer]+.08*e[n.a.Management]+.05*e[n.a.RandD]+.02*e[n.a.Operations]+.1*e[n.a.Business]),this.fea=m*(.08*e[n.a.Engineer]+.05*e[n.a.Management]+.02*e[n.a.RandD]+.05*e[n.a.Operations]+.05*e[n.a.Business]),this.calculateRating(t);const h=1+Math.pow(this.advCost,.1)/100;this.mku=100/(h*Math.pow(this.qlt+.001,.65)*(u+o)),0===this.mku&&(this.mku=1),this.dmd=0===t.awareness?20:Math.min(100,h*(t.popularity/t.awareness*100)),this.cmp=Object(l.a)(0,70);for(const e in t.reqMats)if(t.reqMats.hasOwnProperty(e)){const a=t.reqMats[e];if(void 0===a)continue;this.reqMats[e]=a}this.siz=0;for(const e in t.reqMats){const a=t.reqMats[e];void 0!==a&&(this.siz+=r.a[e]*a)}}calculateRating(e){const t=i.a[e.type];null!=t?(this.rat=0,this.rat+=t.Quality?this.qlt*t.Quality:0,this.rat+=t.Performance?this.per*t.Performance:0,this.rat+=t.Durability?this.dur*t.Durability:0,this.rat+=t.Reliability?this.rel*t.Reliability:0,this.rat+=t.Aesthetics?this.aes*t.Aesthetics:0,this.rat+=t.Features?this.fea*t.Features:0):console.error("Could not find product rating weights for: "+e)}toJSON(){return Object(s.b)("Product",this)}static fromJSON(e){return Object(s.a)(u,e.data)}}s.c.constructors.Product=u},function(e,t,a){"use strict";function n(){return new Promise((e,t)=>{window.indexedDB||t("Indexed DB does not exists");const a=window.indexedDB.open("bitburnerSave",1);a.onupgradeneeded=function(){this.result.createObjectStore("savestring")},a.onerror=function(e){t("Failed to get IDB "+e)},a.onsuccess=function(){const a=this.result;a?e(a.transaction(["savestring"],"readwrite").objectStore("savestring")):t("database loadign result was undefined")}})}function r(){return new Promise(async(e,t)=>{await n().then(t=>new Promise((e,a)=>{const n=t.get("save");n.onerror=function(e){a("Error in Database request to get savestring: "+e)},n.onsuccess=function(){e(this.result)}}).then(t=>e(t))).catch(e=>t(e))})}function i(e){return n().then(t=>new Promise((a,n)=>{const r=t.put(e,"save");r.onerror=function(e){n("Error saving game to IndexedDB: "+e)},r.onsuccess=()=>a()}))}function o(){return n().then(e=>{e.delete("save")})}a.d(t,"b",(function(){return r})),a.d(t,"c",(function(){return i})),a.d(t,"a",(function(){return o}))},,,,,,,,,,,,,function(e,t,a){"use strict";a.d(t,"a",(function(){return l}));var n=a(55),r=a(29),i=a(21),o=a(261);function s(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}class l{constructor(e=n.a.CityNames[2]){s(this,"name",""),s(this,"pop",0),s(this,"popEst",0),s(this,"comms",0),s(this,"commsEst",0),s(this,"chaos",0),this.name=e,this.pop=Object(r.a)(n.a.PopulationThreshold,1.5*n.a.PopulationThreshold),this.popEst=this.pop*(Math.random()+.5),this.comms=Object(r.a)(5,150),this.commsEst=this.comms+Object(r.a)(-5,5),this.commsEst<0&&(this.commsEst=0),this.chaos=0}changeChaosByPercentage(e){if(isNaN(e))throw new Error("NaN passed into City.chaosChaosByPercentage()");0!==e&&(this.chaos+=this.chaos*(e/100),this.chaos<0&&(this.chaos=0))}improvePopulationEstimateByCount(e){if(isNaN(e))throw new Error("NaN passeed into City.improvePopulationEstimateByCount()");this.popEstthis.pop&&(this.popEst=this.pop)):this.popEst>this.pop&&(this.popEst-=e,this.popEstthis.pop&&(this.popEst=this.pop)):this.popEst>this.pop&&(this.popEst*=1-e/100,this.popEstthis.comms&&(this.commsEst=this.comms)):this.commsEst>this.comms&&(this.commsEst-=e,this.commsEst0?1:-1),this.pop+=a,t.changeEstEqually&&(this.popEst+=a,this.popEst<0&&(this.popEst=0)),a}changeChaosByCount(e){if(isNaN(e))throw new Error("NaN passed into City.changeChaosByCount()");0!==e&&(this.chaos+=e,this.chaos<0&&(this.chaos=0))}toJSON(){return Object(i.b)("City",this)}static fromJSON(e){return Object(i.a)(l,e.data)}}i.c.constructors.City=l},function(e,t,a){"use strict";a.d(t,"a",(function(){return n}));class n{constructor(e,t=[],a=""){this.name=e,this.locations=t,this.asciiArt=a}addLocation(e){this.locations.push(e)}}},,,,function(e,t,a){"use strict";a.d(t,"a",(function(){return l}));var n=a(0),r=a(1),i=a(10),o=a(78),s=a(31);function l(e){return n.createElement(s.a,null,n.createElement(o.a,{sx:{my:1,p:1,width:"100%"}},n.createElement(i.a,{onClick:e.onClick},e.buttonText),n.createElement(r.a,null,e.infoText)))}},function(e,t,a){"use strict";a.d(t,"b",(function(){return l})),a.d(t,"a",(function(){return u}));var n=a(0),r=a(1),i=a(28),o=a(10),s=a(86);let l;function c(e){let t="",a="";return e.tickerDisplayMode===l.Portfolio?(t="Switch to 'All Stocks' Mode",a="Displays all stocks on the WSE"):(t="Switch to 'Portfolio' Mode",a="Displays only the stocks for which you have shares or orders"),n.createElement(i.a,{title:n.createElement(r.a,null,a)},n.createElement(o.a,{onClick:e.changeDisplayMode},t))}function u(e){return n.createElement(n.Fragment,null,n.createElement(c,e),n.createElement("br",null),n.createElement(s.a,{sx:{width:"100%"},onChange:e.changeWatchlistFilter,placeholder:"Filter Stocks by symbol (comma-separated list)",type:"text"}))}!function(e){e[e.AllStocks=0]="AllStocks",e[e.Portfolio=1]="Portfolio"}(l||(l={}))},function(e,t,a){"use strict";a.d(t,"a",(function(){return s})),a.d(t,"b",(function(){return l})),a.d(t,"c",(function(){return c})),a.d(t,"d",(function(){return u})),a.d(t,"e",(function(){return m})),a.d(t,"f",(function(){return h}));var n=a(24),r=a(442),i=a(63),o=a(8);function s(){return 2===this.bitNodeN||!(i.a[2]<=0)&&this.karma<=-54e3*o.a.GangKarmaRequirement}function l(){const e=this.gang;if(null===e)throw new Error("Cannot get gang faction because player is not in a gang.");const t=n.a[e.facName];if(null==t)throw new Error("Gang has invalid faction name: "+e.facName);return t}function c(){if(!this.inGang())return"";const e=this.gang;if(null===e)throw new Error("Cannot get gang faction because player is not in a gang.");return e.facName}function u(e){if(!this.inGang())return!1;const t=this.gang;if(null===t)throw new Error("Cannot get gang faction because player is not in a gang.");return t.facName===e}function m(){return null!=this.gang&&null!=this.gang&&this.gang instanceof r.a}function h(e,t){this.gang=new r.a(e,t);const a=n.a[e];if(null==a)throw new Error("Invalid faction name when creating gang: "+e);a.playerReputation=0}},,,,,,,,,,,,function(e,t,a){"use strict";a.d(t,"a",(function(){return n}));const n={0:[0,2e10,"Export","Develop infrastructure to export your materials to your other facilities. This allows you to move materials around between different divisions and cities."],1:[1,25e9,"Smart Supply","Use advanced AI to anticipate your supply needs. This allows you to purchase exactly however many materials you need for production."],2:[2,5e9,"Market Research - Demand","Mine and analyze market data to determine the demand of all resources. The demand attribute, which affects sales, will be displayed for every material and product."],3:[3,5e9,"Market Data - Competition","Mine and analyze market data to determine how much competition there is on the market for all resources. The competition attribute, which affects sales, will be displayed for every material and product."],4:[4,1e10,"VeChain","Use AI and blockchain technology to identify where you can improve your supply chain systems. This upgrade will allow you to view a wide array of useful statistics about your Corporation."],5:[5,5e11,"Shady Accounting","Utilize unscrupulous accounting practices and pay off government officials to save money on taxes. This reduces the dividend tax rate by 5%."],6:[6,2e12,"Government Partnership","Help national governments further their agendas in exchange for lowered taxes. This reduces the dividend tax rate by 10%"]}},function(e,t,a){"use strict";a.d(t,"a",(function(){return n}));const n={0:[0,2e9,1.06,.03,"Smart Factories","Advanced AI automatically optimizes the operation and productivity of factories. Each level of this upgrade increases your global production by 3% (additive)."],1:[1,2e9,1.06,.1,"Smart Storage","Advanced AI automatically optimizes your warehouse storage methods. Each level of this upgrade increases your global warehouse storage size by 10% (additive)."],2:[2,4e9,1.1,.001,"DreamSense","Use DreamSense LCC Technologies to advertise your corporation to consumers through their dreams. Each level of this upgrade provides a passive increase in awareness of all of your companies (divisions) by 0.004 / market cycle,and in popularity by 0.001 / market cycle. A market cycle is approximately 15 seconds."],3:[3,4e9,1.12,.005,"Wilson Analytics","Purchase data and analysis from Wilson, a marketing research firm. Each level of this upgrades increases the effectiveness of your advertising by 0.5% (additive)."],4:[4,1e9,1.06,.1,"Nuoptimal Nootropic Injector Implants","Purchase the Nuoptimal Nootropic Injector augmentation for your employees. Each level of this upgrade globally increases the creativity of your employees by 10% (additive)."],5:[5,1e9,1.06,.1,"Speech Processor Implants","Purchase the Speech Processor augmentation for your employees. Each level of this upgrade globally increases the charisma of your employees by 10% (additive)."],6:[6,1e9,1.06,.1,"Neural Accelerators","Purchase the Neural Accelerator augmentation for your employees. Each level of this upgrade globally increases the intelligence of your employees by 10% (additive)."],7:[7,1e9,1.06,.1,"FocusWires","Purchase the FocusWire augmentation for your employees. Each level of this upgrade globally increases the efficiency of your employees by 10% (additive)."],8:[8,1e9,1.07,.01,"ABC SalesBots","Always Be Closing. Purchase these robotic salesmen to increase the amount of materials and products you sell. Each level of this upgrade globally increases your sales by 1% (additive)."],9:[9,5e9,1.07,.05,"Project Insight","Purchase 'Project Insight', a R&D service provided by the secretive Fulcrum Technologies. Each level of this upgrade globally increases the amount of Scientific Research you produce by 5% (additive)."]}},,function(e,t,a){"use strict";a.d(t,"a",(function(){return c}));var n=a(0),r=a.n(n),i=a(23),o=a(1),s=a(28);function l(e){return e.city!==e.currentCity?r.a.createElement(s.a,{title:r.a.createElement(o.a,null,e.city)},r.a.createElement("span",{onClick:()=>e.onTravel(e.city),style:{color:"white",lineHeight:"1em",whiteSpace:"pre",cursor:"pointer"}},e.city[0])):r.a.createElement("span",null,e.city[0])}function c(e){return r.a.createElement(r.a.Fragment,null,r.a.createElement(o.a,{sx:{lineHeight:"1em",whiteSpace:"pre"}}," ,_ . ._. _. ."),r.a.createElement(o.a,{sx:{lineHeight:"1em",whiteSpace:"pre"}}," , _-\\','|~\\~ ~/ ;-'_ _-' ,;_;_, ~~-"),r.a.createElement(o.a,{sx:{lineHeight:"1em",whiteSpace:"pre"}}," /~~-\\_/-'~'--' \\~~| ', ,' / / ~|-_\\_/~/~ ~~--~~~~'--_"),r.a.createElement(o.a,{sx:{lineHeight:"1em",whiteSpace:"pre"}}," / ,/'-/~ '\\ ,' _ , '",r.a.createElement(l,{onTravel:e.onTravel,currentCity:e.currentCity,city:i.a.Volhaven}),",'|~ ._/-, /~"),r.a.createElement(o.a,{sx:{lineHeight:"1em",whiteSpace:"pre"}}," ~/-'~\\_, '-,| '|. ' ~ ,\\ /'~ / /_ /~"),r.a.createElement(o.a,{sx:{lineHeight:"1em",whiteSpace:"pre"}},".-~ '| '',\\~|\\ _\\~ ,_ , ",r.a.createElement(l,{onTravel:e.onTravel,currentCity:e.currentCity,city:i.a.Chongqing})," /,"),r.a.createElement(o.a,{sx:{lineHeight:"1em",whiteSpace:"pre"}}," '\\ ",r.a.createElement(l,{onTravel:e.onTravel,currentCity:e.currentCity,city:i.a.Sector12})," /'~ |_/~\\\\,-,~ \\ \" ,_,/ |"),r.a.createElement(o.a,{sx:{lineHeight:"1em",whiteSpace:"pre"}}," | / ._-~'\\_ _~| \\ ) ",r.a.createElement(l,{onTravel:e.onTravel,currentCity:e.currentCity,city:i.a.NewTokyo})),r.a.createElement(o.a,{sx:{lineHeight:"1em",whiteSpace:"pre"}}," \\ __-\\ '/ ~ |\\ \\_ / ~"),r.a.createElement(o.a,{sx:{lineHeight:"1em",whiteSpace:"pre"}}," ., '\\ |, ~-_ - | \\\\_' ~| /\\ \\~ ,"),r.a.createElement(o.a,{sx:{lineHeight:"1em",whiteSpace:"pre"}}," ~-_' _; '\\ '-, \\,' /\\/ |"),r.a.createElement(o.a,{sx:{lineHeight:"1em",whiteSpace:"pre"}}," '\\_,~'\\_ \\_ _, /' ' |, /|'"),r.a.createElement(o.a,{sx:{lineHeight:"1em",whiteSpace:"pre"}}," / \\_ ~ | / \\ ~'; -,_."),r.a.createElement(o.a,{sx:{lineHeight:"1em",whiteSpace:"pre"}}," | ~\\ | | , '-_, ,; ~ ~\\"),r.a.createElement(o.a,{sx:{lineHeight:"1em",whiteSpace:"pre"}}," \\, ",r.a.createElement(l,{onTravel:e.onTravel,currentCity:e.currentCity,city:i.a.Aevum})," / \\ / /| ,-, , -,"),r.a.createElement(o.a,{sx:{lineHeight:"1em",whiteSpace:"pre"}}," | ,/ | |' |/ ,- ~ \\ '."),r.a.createElement(o.a,{sx:{lineHeight:"1em",whiteSpace:"pre"}}," ,| ,/ \\ ,/ \\ ",r.a.createElement(l,{onTravel:e.onTravel,currentCity:e.currentCity,city:i.a.Ishima})," |"),r.a.createElement(o.a,{sx:{lineHeight:"1em",whiteSpace:"pre"}}," / | ~ -~~-, / _"),r.a.createElement(o.a,{sx:{lineHeight:"1em",whiteSpace:"pre"}}," | ,-' ~ /"),r.a.createElement(o.a,{sx:{lineHeight:"1em",whiteSpace:"pre"}}," / ,' ~"),r.a.createElement(o.a,{sx:{lineHeight:"1em",whiteSpace:"pre"}}," ',| ~"),r.a.createElement(o.a,{sx:{lineHeight:"1em",whiteSpace:"pre"}}," ~'"))}},function(e,t,a){"use strict";a.d(t,"a",(function(){return l}));var n=a(0),r=a.n(n),i=a(22),o=a(875),s=a(876);function l(e){const t=e.action.getEstSuccessChance(e.bladeburner);let a=r.a.createElement(r.a.Fragment,null);return a=t[0]===t[1]?r.a.createElement(r.a.Fragment,null,Object(i.c)(100*t[0],1),"%"):r.a.createElement(r.a.Fragment,null,Object(i.c)(100*t[0],1),"% ~ ",Object(i.c)(100*t[1],1),"%"),r.a.createElement(r.a.Fragment,null,"Estimated success chance: ",a," ",e.action.isStealth?r.a.createElement(o.a,null):r.a.createElement(r.a.Fragment,null),e.action.isKill?r.a.createElement(s.a,null):r.a.createElement(r.a.Fragment,null))}},function(e,t,a){"use strict";a.d(t,"a",(function(){return o}));var n=a(0),r=a.n(n),i=a(42);function o(e){return r.a.createElement(i.a,{open:e.open,onClose:e.onClose},e.children)}},,,,,,,,,,,function(e,t,a){"use strict";a.d(t,"a",(function(){return i})),a.d(t,"b",(function(){return o}));var n=a(75),r=a(15);function i(e,t){let a=0,i=!1;for(const r in n.a){const o=n.a[r];if(o.type==t){a=o.successRate(e),i=!0;break}}return i?Math.random()<=a:(Object(r.a)(`ERR: Unrecognized crime type: ${t} This is probably a bug please contact the developer`),!1)}function o(e){return e.includes("shoplift")?n.a.Shoplift:e.includes("rob")&&e.includes("store")?n.a.RobStore:e.includes("mug")?n.a.Mug:e.includes("larceny")?n.a.Larceny:e.includes("drugs")?n.a.DealDrugs:e.includes("bond")&&e.includes("forge")?n.a.BondForgery:e.includes("traffick")&&e.includes("arms")?n.a.TraffickArms:e.includes("homicide")?n.a.Homicide:e.includes("grand")&&e.includes("auto")?n.a.GrandTheftAuto:e.includes("kidnap")?n.a.Kidnap:e.includes("assassinate")||e.includes("assassination")?n.a.Assassination:e.includes("heist")?n.a.Heist:null}},function(e,t,a){"use strict";a.d(t,"a",(function(){return i}));var n=a(524),r=a(920);function i(e){try{const t=Object(n.a)(e);Object(r.a)(t)}catch(e){}}},function(e,t,a){"use strict";a.d(t,"a",(function(){return s}));var n=a(0),r=a.n(n),i=a(4),o=a(103);function s({reputation:e}){return r.a.createElement(o.a,{reputation:i.a.formatReputation(e)+" / sec"})}},,,,,,,,,,function(e,t,a){"use strict";a.d(t,"b",(function(){return n})),a.d(t,"a",(function(){return r}));const n=5,r=1e13},function(e,t,a){"use strict";a.d(t,"e",(function(){return c})),a.d(t,"b",(function(){return u})),a.d(t,"c",(function(){return m})),a.d(t,"d",(function(){return h})),a.d(t,"a",(function(){return p}));var n=a(6),r=a(8),i=a(57),o=a(89),s=a(36),l=a(67);function c(){return l.a.hasOwnProperty("Darkweb Server")}function u(){const e=s.b[this.currentServer];if(null===e)throw new Error("somehow connected to a server that does not exist.");return e}function m(){const e=s.b[this.homeComputer];if(e instanceof i.a)return e;throw new Error("home computer was not a normal server")}function h(){const e=this.getHomeComputer().maxRam,t=Math.log2(e),a=Math.pow(1.58,t);return e*n.a.BaseCostFor1GBOfRamHome*a*r.a.HomeComputerRamCost}function p(){const e="hacknet-node-"+this.hacknetNodes.length,t=new o.a({adminRights:!0,hostname:e,ip:Object(s.c)()});this.hacknetNodes.push(t.ip),Object(s.a)(t);const a=this.getHomeComputer();return a.serversOnNetwork.push(t.ip),t.serversOnNetwork.push(a.ip),t}},,,,,,,,,,,,,,,,,,,,,,function(e,t,a){"use strict";a.d(t,"b",(function(){return c})),a.d(t,"c",(function(){return u})),a.d(t,"a",(function(){return m}));var n=a(260),r=a(2),i=a(118),o=a(67),s=a(4),l=a(494);function c(){if(o.a.hasOwnProperty("Darkweb Server")){const e=o.a.getIp("Darkweb Server");if(!Object(l.a)(e))return;const t=r.a.getCurrentServer();null!==t&&e==t.ip&&i.a.print("You are now connected to the dark web. From the dark web you can purchase illegal items. Use the 'buy -l' command to display a list of all the items you can buy. Use 'buy [item-name] to purchase an item.")}}function u(){for(const e in n.a){const t=n.a[e];i.a.print(`${t.program} - ${s.a.formatMoney(t.price)} - ${t.description}`)}}function m(e){e=e.toLowerCase();let t=null;for(const a in n.a){const r=n.a[a];r.program.toLowerCase()==e&&(t=r)}null!==t?r.a.hasProgram(t.program)?i.a.print("You already have the "+t.program+" program"):r.a.money.lt(t.price)?i.a.print("Not enough money to purchase "+t.program):(r.a.loseMoney(t.price),r.a.getHomeComputer().programs.push(t.program),i.a.print("You have purchased the "+t.program+" program. The new program can be found on your home computer.")):i.a.print("Unrecognized item: "+e)}},function(e,t,a){"use strict";a.d(t,"a",(function(){return i})),a.d(t,"b",(function(){return o}));var n=a(182);let r=1;function i(){let e=r,t=!1;for(let a=0;a<1e6;){if(!n.a.has(e+a)){t=!0,e+=a;break}a===Number.MAX_SAFE_INTEGER-1?a=1:++a}return t?(r=e+1,r>=Number.MAX_SAFE_INTEGER&&(r=1),e):-1}function o(){r=1}},function(e,t,a){"use strict";(function(e){a.d(t,"a",(function(){return Ne}));var n=a(403),r=a(500),i=a(13),o=a(255),s=a(20),l=a(152),c=a(311),u=a(7),m=a(8),h=a(404),p=a(199),d=a(200),f=a(59),g=a(314),y=a(82),b=a(6),E=a(260),_=a(69),v=a(388),k=a(389),w=a(96),C=a(493),S=a(442),x=a(77),O=a(205),M=a(184),T=a(24),R=a(116),P=a(159),A=a(456),N=a(58),I=a(230),F=a(206),j=a(37),D=a(89),B=a(23),L=a(9),G=a(118),W=a(231),H=a(122),U=a(2),q=a(70),K=a(320),$=a(225),z=a(102),V=a(36),Y=a(315),J=a(44),X=a(201),Q=a(57),Z=a(67),ee=a(63),te=a(207),ae=a(443),ne=a(92),re=a(185),ie=a(95),oe=a(68),se=a(88),le=a(251),ce=a(110),ue=a(227),me=a(158),he=a(126),pe=a(182),de=a(139),fe=a(499),ge=a(71),ye=a(502),be=a(256),Ee=a(111),_e=a(4),ve=a(211),ke=a(1113),we=a(22),Ce=a(247),Se=a(250),xe=a(117),Oe=a(303),Me=a(1114),Te=a(405),Re=a(248);const Pe=new fe.a("",()=>{});function Ae(e){if(null==e)return null;if(!(e.hasOwnProperty("properties")&&e.hasOwnProperty("getter")&&e.hasOwnProperty("setter")&&e.hasOwnProperty("proto")))return e;let t;if(e.hasOwnProperty("class")&&"Array"===e.class){t=[];const a=Pe.getProperty(e,"length");for(let n=0;n1.01*t.ramUsage)throw Object(de.b)(t,`Dynamic RAM usage calculated to be greater than initial RAM usage on fn: ${e}.\n This is probably because you somehow circumvented the static RAM calculation.\n\n Dynamic RAM Usage: ${_e.a.formatRAM(t.dynamicRamUsage)}\n Static RAM Usage: ${_e.a.formatRAM(t.ramUsage)}\n\n One of these could be the reason:\n * Using eval() to get a reference to a ns function\n const scan = eval('ns.scan');\n\n * Using map access to do the same\n const scan = ns['scan'];\n\n * Saving script in the improper order.\n Increase the cost of an imported script, save it, then run the\n parent. To fix this just re-open & save every script in order\n from most imported to least imported (parent script).\n\n Sorry :(`)},fe=function(e,t=""){const a=Object(J.b)(e);if(null==a)throw Ge(t,"Invalid IP/hostname: "+e);return a},Pe=function(e,a,n,r){if("string"==typeof n&&""!==n||(n="getRunningScript"),!Array.isArray(r))throw Object(de.b)(t,`Invalid scriptArgs argument passed into getRunningScript() from ${n}(). This is probably a bug. Please report to game developer`);if(null!=e&&"string"==typeof e){null==a&&(a=t.serverIp);const i=fe(a,n);return Object($.a)(e,r,i)}return t.scriptRef},Ie=function(e,t){"string"==typeof t&&""!==t||(t="getRunningScriptgetRunningScriptByPid");for(const t of Object.keys(V.b)){const a=V.b[t],n=Object($.b)(e,a);if(n)return n}return null},Fe=function(e,t,a){return Array.isArray(a)||(a=[]),`Cannot find running script ${e} on server ${t} with args: ${Object(Se.a)(a)}`},je=function(e=""){if(!U.a.hasWseAccount)throw Ge(e,`You don't have WSE Access! Cannot use ${e}()`);if(!U.a.hasTixApiAccess)throw Ge(e,`You don't have TIX API Access! Cannot use ${e}()`)},De=function(e,t=""){const a=ne.b[e];if(null==a)throw Ge(t,`Invalid stock symbol: '${e}'`);return a},Be=function(e,a=""){return e instanceof D.a&&(t.log(a,"Does not work on Hacknet Servers"),!0)},Le=function(e,t=""){if(isNaN(e))throw Ge(t,"Invalid index specified for Hacknet Node: "+e);if(e<0||e>=U.a.hacknetNodes.length)throw Ge(t,"Index specified for Hacknet Node is out-of-bounds: "+e);if(Object(N.g)(U.a)){const a=U.a.hacknetNodes[e];if("string"!=typeof a)throw new Error("hacknet node was not a string");const n=V.b[a];if(!(n instanceof D.a))throw new Error("hacknet server was not actually hacknet server");if(null==n)throw Ge(t,`Could not get Hacknet Server for index ${e}. This is probably a bug, please report to game dev`);return n}{const t=U.a.hacknetNodes[e];if(!(t instanceof Re.a))throw new Error("hacknet node was not node.");return t}},Ge=function(e,a){const n=(new Error).stack;if(void 0===n)throw new Error("how did we not throw an error?");const r=n.split("\n").slice(1),i=t.getServer().scripts,o=[];for(const e of r){let t;for(const a of i){a.url&&e.includes(a.url)&&(t=a.filename);for(const n of a.dependencies)e.includes(n.url)&&(t=n.filename)}if(!t)continue;function s(e){const t=e.match(/.*:(\d+):\d+.*/),a=e.match(/.*at (.+) \(.*/);return t&&a?{line:t[1],func:a[1]}:null}let a={line:"-1",func:"unknown"};const n=s(e);function l(e){const t=e.match(/.*:(\d+):\d+$/),a=e.lastIndexOf("@");return t&&-1!==a?{line:t[1],func:e.slice(0,a)}:null}n&&(a=n);const r=l(e);r&&(a=r),o.push(`${t}:L${a.line}@${a.func}`)}t.log(e,a);let c=`${e}: ${a}`;return 0!==o.length&&(c+="
Stack:
"+o.join("
")),Object(de.b)(t,c)},We=function(e,t){if(ee.a[5]<1&&5!==U.a.bitNodeN||ee.a[t]<1&&U.a.bitNodeN!==t){let a="";throw 5!==t&&(a=` and Source-File ${t}-1`),Ge("formulas."+e,`Requires Source-File 5-1${a} to run.`)}},He=function(e,t){if(4!==U.a.bitNodeN&&ee.a[4]7===e.n))){throw Ge("bladeburner."+e,"You do not currently have access to the Bladeburner API. You must either be in BitNode-7 or have Source-File 7.")}if(!t){if(!(a instanceof p.a)){throw Ge("bladeburner."+e,"You must be a member of the Bladeburner division to use this API.")}}},qe=function(e,t){const a=U.a.bladeburner;if(null===a)throw new Error("Must have joined bladeburner");if(!a.cities.hasOwnProperty(t))throw Ge("bladeburner."+e,"Invalid city: "+t)},Ke=function(e){if(10!==U.a.bitNodeN&&!ee.a[10])throw Ge("sleeve."+e,"You do not currently have access to the Sleeve API. This is either because you are not in BitNode-10 or because you do not have Source-File 10")},$e=function(e,a){if(a>=U.a.sleeves.length||a<0){const n="Invalid sleeve number: "+a;throw t.log(e,n),Ge("sleeve."+e,n)}},ze=function(e,t,a){const n=fe(t,e).getContract(a);if(null==n)throw Ge("codingcontract."+e,`Cannot find contract '${a}' on server '${t}'`);return n},Ve=function(e){const t=U.a.gang;if(null===t)throw new Error("Must have joined gang");if(!(t instanceof S.a))throw Ge("gang."+e,"You do not currently have a Gang")},Ye=function(e,t){const a=U.a.gang;if(null===a)throw new Error("Must have joined gang");for(const e of a.members)if(e.name===t)return e;throw Ge("gang."+e,`Invalid gang member: '${t}'`)},Je=function(e,t,a){const n=U.a.bladeburner;if(null===n)throw new Error("Must have joined bladeburner");const r=n.getActionIdFromTypeAndName(t,a);if(!r)throw Ge("bladeburner."+e,`Invalid action type='${t}', name='${a}'`);const i=n.getActionObject(r);if(!i)throw Ge("bladeburner."+e,`Invalid action type='${t}', name='${a}'`);return i},Xe=function(e,t){const a=f.a[t];if(null==a||!(a instanceof d.a))throw Ge(e,`Invalid company name: '${t}'`);return a},Qe=function(e,t){if(!Object(T.b)(t))throw Ge(e,"Invalid faction name: '"+t);return T.a[t]},Ze=function(e,t){if(!Object(l.b)(t))throw Ge(e,`Invalid augmentation: '${t}'`);return s.a[t]};function et(e){const t=U.a.corporation;if(null===t)throw new Error("cannot be called without a corporation");const a=t.divisions.find(t=>t.name===e);if(void 0===a)throw new Error(`No division named '${e}'`);return a}function tt(e,t){const a=et(e);if(!(t in a.offices))throw new Error(`Invalid city name '${t}'`);const n=a.offices[t];if(0===n)throw new Error(`${a.name} has not expanded to '${t}'`);return n}function at(e,t){const a=et(e);if(!(t in a.warehouses))throw new Error(`Invalid city name '${t}'`);const n=a.warehouses[t];if(0===n)throw new Error(`${a.name} has not expanded to '${t}'`);return n}function nt(e,t,a){const n=at(e,t).materials[a];if(void 0===n)throw new Error(`Invalid material name: '${a}'`);return n}function rt(e,t){const a=et(e).products[t];if(void 0===a)throw new Error(`Invalid product name: '${t}'`);return a}function it(e,t,a){const n=tt(e,t).employees.find(e=>e.name===a);if(void 0===n)throw new Error(`Invalid employee name: '${a}'`);return n}const ot=function(e=null){if(e&&Object(xe.a)(e)){const t=U.a.getHomeComputer();for(const a of t.scripts)if(a.filename===e){if(a.ramUsage>t.maxRam-t.ramUsed)return;const e=new Y.a(a,[]);e.threads=1,Object(me.e)(e,t)}}},st=function(e,a,{threads:n,stock:r}={}){if(void 0===e)throw Ge("hack","Takes 1 argument.");const i=Object(de.d)(t,"hack",n),o=Object(J.b)(e);if(!(o instanceof Q.a))throw Ge("hack",`Invalid IP/hostname: ${e}.`);if(null==o)throw Ge("hack",`Invalid IP/hostname: ${e}.`);const s=Object(w.d)(o,U.a),l=Object(A.b)(o,U.a);if(!l.res)throw Ge("hack",l.msg||"");return t.log("hack",`Executing ${e} in ${Object(we.b)(1e3*s,!0)} (t=${_e.a.formatThreads(i)})`),Object(de.c)(1e3*s,t).then((function(){if(t.env.stopFlag)return Promise.reject(t);const e=Object(w.b)(o,U.a),n=Math.random();let s=Object(w.c)(o,U.a)*i;const l=s/4;if(no.moneyAvailable&&(c=o.moneyAvailable),o.moneyAvailable-=c,o.moneyAvailable<0&&(o.moneyAvailable=0);const u=c*m.a.ScriptHackMoneyGain;return U.a.gainMoney(u),t.scriptRef.onlineMoneyMade+=u,U.a.scriptProdSinceLastAug+=u,U.a.recordMoneySource(u,"hacking"),t.scriptRef.recordHack(o.ip,u,i),U.a.gainHackingExp(s),t.scriptRef.onlineExpGained+=s,t.log("hack",`Successfully hacked '${o.hostname}' for ${_e.a.formatMoney(u)} and ${_e.a.formatExp(s)} exp (t=${_e.a.formatThreads(i)})`),o.fortify(b.a.ServerFortifyAmount*Math.min(i,n)),r&&Object(ae.c)(o,u),a&&(o.backdoorInstalled=!0),Promise.resolve(u)}return U.a.gainHackingExp(l),t.scriptRef.onlineExpGained+=l,t.log("hack",`Failed to hack '${o.hostname}'. Gained ${_e.a.formatExp(l)} exp (t=${_e.a.formatThreads(i)})`),Promise.resolve(0)}))},lt=function(e){let t="";for(let a of e)a=Ae(a),t+="object"!=typeof a?""+a:JSON.stringify(a);return t},ct={hacknet:{numNodes:function(){return U.a.hacknetNodes.length},maxNumNodes:function(){return Object(N.g)(U.a)?j.b.MaxServers:1/0},purchaseNode:function(){return Object(N.l)(U.a)},getPurchaseNodeCost:function(){return Object(N.g)(U.a)?Object(N.b)(U.a):Object(N.a)(U.a)},getNodeStats:function(e){const t=Le(e,"getNodeStats"),a=Object(N.g)(U.a),n={name:t instanceof D.a?t.hostname:t.name,level:t.level,ram:t instanceof D.a?t.maxRam:t.ram,cores:t.cores,production:t instanceof D.a?t.hashRate:t.moneyGainRatePerSecond,timeOnline:t.onlineTimeSeconds,totalProduction:t instanceof D.a?t.totalHashesGenerated:t.totalMoneyGenerated};return a&&t instanceof D.a&&(n.cache=t.cache,n.hashCapacity=t.hashCapacity),n},upgradeLevel:function(e,t){const a=Le(e,"upgradeLevel");return Object(N.n)(U.a,a,t)},upgradeRam:function(e,t){const a=Le(e,"upgradeRam");return Object(N.o)(U.a,a,t)},upgradeCore:function(e,t){const a=Le(e,"upgradeCore");return Object(N.k)(U.a,a,t)},upgradeCache:function(e,a){if(!Object(N.g)(U.a))return!1;const n=Le(e,"upgradeCache");if(!(n instanceof D.a))return t.log("upgradeCache","Can only be called on hacknet servers"),!1;const r=Object(N.j)(U.a,n,a);return r&&Object(N.p)(U.a),r},getLevelUpgradeCost:function(e,t){return Le(e,"upgradeLevel").calculateLevelUpgradeCost(t,U.a.hacknet_node_level_cost_mult)},getRamUpgradeCost:function(e,t){return Le(e,"upgradeRam").calculateRamUpgradeCost(t,U.a.hacknet_node_ram_cost_mult)},getCoreUpgradeCost:function(e,t){return Le(e,"upgradeCore").calculateCoreUpgradeCost(t,U.a.hacknet_node_core_cost_mult)},getCacheUpgradeCost:function(e,a){if(!Object(N.g)(U.a))return 1/0;const n=Le(e,"upgradeCache");return n instanceof D.a?n.calculateCacheUpgradeCost(a):(t.log("getCacheUpgradeCost","Can only be called on hacknet servers"),-1)},numHashes:function(){return Object(N.g)(U.a)?U.a.hashManager.hashes:0},hashCapacity:function(){return Object(N.g)(U.a)?U.a.hashManager.capacity:0},hashCost:function(e){return Object(N.g)(U.a)?U.a.hashManager.getUpgradeCost(e):1/0},spendHashes:function(e,t){return!!Object(N.g)(U.a)&&Object(N.m)(U.a,e,t)},getHashUpgradeLevel:function(e){const t=U.a.hashManager.upgrades[e];if(void 0===t)throw Ge("hacknet.hashUpgradeLevel","Invalid Hash Upgrade: "+e);return t},getStudyMult:function(){return!!Object(N.g)(U.a)&&U.a.hashManager.getStudyMult()},getTrainingMult:function(){return!!Object(N.g)(U.a)&&U.a.hashManager.getTrainingMult()}},sprintf:n.sprintf,vsprintf:n.vsprintf,scan:function(e=t.serverIp,n=!0){a("scan",Object(i.c)("scan"));const r=Object(J.b)(e);if(null==r)throw Ge("scan",`Invalid IP/hostname: ${e}.`);const o=[];for(let e=0;er.moneyAvailable)return-1;const o=Object(w.e)(r,U.a);return n/Math.floor(r.moneyAvailable*o)},hackAnalyzePercent:function(e){a("hackAnalyzePercent",Object(i.c)("hackAnalyzePercent"));const n=fe(e,"hackAnalyzePercent");return n instanceof Q.a?100*Object(w.e)(n,U.a):(t.log("hackAnalyzePercent","Cannot be executed on this server."),!1)},hackChance:function(e){a("hackChance",Object(i.c)("hackChance"));const n=fe(e,"hackChance");return n instanceof Q.a?Object(w.b)(n,U.a):(t.log("hackChance","Cannot be executed on this server."),!1)},sleep:function(e){if(void 0===e)throw Ge("sleep","Takes 1 argument.");return t.log("sleep",`Sleeping for ${e} milliseconds`),Object(de.c)(e,t).then((function(){return Promise.resolve(!0)}))},grow:function(e,{threads:n,stock:r}={}){a("grow",Object(i.c)("grow"));const o=Object(de.d)(t,"grow",n);if(void 0===e)throw Ge("grow","Takes 1 argument.");const s=Object(J.b)(e);if(!(s instanceof Q.a))return t.log("grow","Cannot be executed on this server."),!1;if(null==s)throw Ge("grow",`Invalid IP/hostname: ${e}.`);const l=Object(J.b)(t.serverIp);if(!(l instanceof Q.a))return t.log("grow","Cannot be executed on this server."),!1;const c=Object(A.a)(s);if(!c.res)throw Ge("grow",c.msg||"");const u=Object(w.a)(s,U.a);return t.log("grow",`Executing on '${s.hostname}' in ${Object(we.b)(1e3*u,!0)} (t=${_e.a.formatThreads(o)}).`),Object(de.c)(1e3*u,t).then((function(){if(t.env.stopFlag)return Promise.reject(t);const e=s.moneyAvailable<=0?1:s.moneyAvailable;s.moneyAvailable+=1*o,Object(J.g)(s,o,U.a,l.cpuCores);const a=s.moneyAvailable;t.scriptRef.recordGrow(s.ip,o);const n=Object(w.c)(s,U.a)*o,i=a/e-1;return t.log("grow",`Available money on '${s.hostname}' grown by ${_e.a.formatPercentage(i,6)}. Gained ${_e.a.formatExp(n)} hacking exp (t=${_e.a.formatThreads(o)}).`),t.scriptRef.onlineExpGained+=n,U.a.gainHackingExp(n),r&&Object(ae.b)(s,a-e),Promise.resolve(a/e)}))},growthAnalyze:function(e,n){a("growthAnalyze",Object(i.c)("growthAnalyze"));const r=fe(e,"growthAnalyze");if(!(r instanceof Q.a))return t.log("growthAnalyze","Cannot be executed on this server."),!1;if("number"!=typeof n||isNaN(n)||n<1||!isFinite(n))throw Ge("growthAnalyze",`Invalid argument: growth must be numeric and >= 1, is ${n}.`);return Object(J.e)(r,Number(n),U.a)},weaken:function(e,{threads:n}={}){a("weaken",Object(i.c)("weaken"));const r=Object(de.d)(t,"weaken",n);if(void 0===e)throw Ge("weaken","Takes 1 argument.");const o=Object(J.b)(e);if(!(o instanceof Q.a))return t.log("weaken","Cannot be executed on this server."),!1;if(null==o)throw Ge("weaken","Invalid IP/hostname: "+e);const s=Object(A.c)(o);if(!s.res)throw Ge("weaken",s.msg||"");const l=Object(w.f)(o,U.a);return t.log("weaken",`Executing on '${o.hostname}' in ${Object(we.b)(1e3*l,!0)} (t=${_e.a.formatThreads(r)})`),Object(de.c)(1e3*l,t).then((function(){if(t.env.stopFlag)return Promise.reject(t);const e=Object(J.b)(t.serverIp);if(null===e)return t.log("weaken","Server is null, did it die?"),Promise.resolve(0);const a=1+(e.cpuCores-1)/16;o.weaken(b.a.ServerWeakenAmount*r*a),t.scriptRef.recordWeaken(o.ip,r);const n=Object(w.c)(o,U.a)*r;return t.log("weaken",`'${o.hostname}' security level weakened to ${o.hackDifficulty}. Gained ${_e.a.formatExp(n)} hacking exp (t=${_e.a.formatThreads(r)})`),t.scriptRef.onlineExpGained+=n,U.a.gainHackingExp(n),Promise.resolve(b.a.ServerWeakenAmount*r)}))},print:function(...e){if(0===e.length)throw Ge("print","Takes at least 1 argument.");t.print(lt(e))},tprint:function(...e){if(0===e.length)throw Ge("tprint","Takes at least 1 argument.");G.a.print(`${t.scriptRef.filename}: ${lt(e)}`)},tprintf:function(e,...t){G.a.print(Object(n.vsprintf)(e,t))},clearLog:function(){t.scriptRef.clearLog()},disableLog:function(e){if("ALL"===e){for(e in ut)t.disableLogs[e]=!0;t.log("disableLog","Disabled logging for all functions")}else{if(void 0===ut[e])throw Ge("disableLog",`Invalid argument: ${e}.`);t.disableLogs[e]=!0,t.log("disableLog","Disabled logging for "+e)}},enableLog:function(e){if(void 0===ut[e])throw Ge("enableLog",`Invalid argument: ${e}.`);delete t.disableLogs[e],t.log("enableLog","Enabled logging for "+e)},isLogEnabled:function(e){if(void 0===ut[e])throw Ge("isLogEnabled",`Invalid argument: ${e}.`);return!t.disableLogs[e]},getScriptLogs:function(e,a,...n){const r=Pe(e,a,"getScriptLogs",n);return null==r?(t.log("getScriptLogs",Fe(e,a,n)),""):r.logs.slice()},tail:function(e,a=t.serverIp,...n){let r;r=0===arguments.length?t.scriptRef:"number"==typeof e?Ie(e,"tail"):Pe(e,a,"tail",n),null!=r?Ce.a.emit(r):t.log("tail",Fe(e,a,n))},nuke:function(e){if(a("nuke",Object(i.c)("nuke")),void 0===e)throw Ge("nuke","Takes 1 argument.");const n=Object(J.b)(e);if(!(n instanceof Q.a))return t.log("nuke","Cannot be executed on this server."),!1;if(null==n)throw Ge("nuke",`Invalid IP/hostname: ${e}.`);if(!U.a.hasProgram(q.a.NukeProgram.name))throw Ge("nuke","You do not have the NUKE.exe virus!");if(n.openPortCount 0, is "+n);const o=Object(J.b)(t.serverIp);if(null==o)throw Ge("run","Could not find server. This is a bug. Report to dev.");return Object(me.d)("run",o,e,r,t,n)},exec:function(e,n,r=1,...o){if(a("exec",Object(i.c)("exec")),void 0===e||void 0===n)throw Ge("exec","Usage: exec(scriptname, server, [numThreads], [arg1], [arg2]...)");if(isNaN(r)||r<=0)throw Ge("exec","Invalid thread count. Must be numeric and > 0, is "+r);const s=Object(J.b)(n);if(null==s)throw Ge("exec","Invalid IP/hostname: "+n);return Object(me.d)("exec",s,e,o,t,r)},spawn:function(e,n,...r){if(a("spawn",Object(i.c)("spawn")),!e||!n)throw Ge("spawn","Usage: spawn(scriptname, threads)");Object(ve.a)(()=>{if(isNaN(n)||n<=0)throw Ge("spawn","Invalid thread count. Must be numeric and > 0, is "+n);const a=Object(J.b)(t.serverIp);if(null==a)throw Ge("spawn","Could not find server. This is a bug. Report to dev");return Object(me.d)("spawn",a,e,r,t,n)},1e4),t.log("spawn",`Will execute '${e}' in 10 seconds`),t.running=!1,Object(he.a)(t)&&t.log("spawn","Exiting...")},kill:function(e,n,...r){let o;a("kill",Object(i.c)("kill"));const s="number"==typeof e;if(s)o=Object(he.a)(e);else{if(void 0===e||void 0===n)throw Ge("kill","Usage: kill(scriptname, server, [arg1], [arg2]...)");const a=fe(n),i=Pe(e,n,"kill",r);if(null==i)return t.log("kill",Fe(e,n,r)),!1;o=Object(he.a)(i,a.ip)}return o?(s?t.log("kill","Killing script with PID "+e):t.log("kill",`Killing '${e}' on '${n}' with args: ${Object(Se.a)(r)}.`),!0):(s?t.log("kill","No script with PID "+e):t.log("kill",`No such script '${e}' on '${n}' with args: ${Object(Se.a)(r)}`),!1)},killall:function(e=t.serverIp){if(a("killall",Object(i.c)("killall")),void 0===e)throw Ge("killall","Takes 1 argument");const n=Object(J.b)(e);if(null==n)throw Ge("killall","Invalid IP/hostname: "+e);const r=n.runningScripts.length>0;for(let e=n.runningScripts.length-1;e>=0;--e)Object(he.a)(n.runningScripts[e],n.ip,!1);return o.a.emit(),t.log("killall",`Killing all scripts on '${n.hostname}'. May take a few minutes for the scripts to die.`),r},exit:function(){t.running=!1,Object(he.a)(t)?t.log("exit","Exiting..."):t.log("exit","Failed. This is a bug. Report to dev.")},scp:function(e,n,r){if(a("scp",Object(i.c)("scp")),2!==arguments.length&&3!==arguments.length)throw Ge("scp","Takes 2 or 3 arguments");if(e&&e.constructor===Array){let a=!1;return e.forEach((function(e){Ne(t).scp(e,n,r)&&(a=!0)})),a}if(!Object(ce.g)(e))throw Ge("scp",`Invalid filename: '${e}'`);if(!e.endsWith(".lit")&&!Object(z.a)(e)&&!e.endsWith("txt"))throw Ge("scp","Only works for .script, .lit, and .txt files");let o,s;if(null!=r){if(void 0===e||void 0===n||void 0===r)throw Ge("scp","Takes 2 or 3 arguments");if(o=Object(J.b)(r),null==o)throw Ge("scp","Invalid IP/hostname: "+r);if(s=Object(J.b)(n),null==s)throw Ge("scp","Invalid IP/hostname: "+n)}else{if(null==n)throw Ge("scp","Takes 2 or 3 arguments");if(void 0===e||void 0===n)throw Ge("scp","Takes 2 or 3 arguments");if(o=Object(J.b)(n),null==o)throw Ge("scp","Invalid IP/hostname: "+n);if(s=Object(J.b)(t.serverIp),null==s)throw Ge("scp","Could not find server ip for this script. This is a bug. Report to dev.")}if(e.endsWith(".lit")){let a=!1;for(let t=0;t=2&&(r=t.toString());const o=[];for(let e=0;e0){e[a]=[];for(let t=0;t=Object(X.b)())return t.log("purchaseServer",`You have reached the maximum limit of ${Object(X.b)()} servers. You cannot purchase any more.`),"";const o=Object(X.a)(n);if(o===1/0)return t.log("purchaseServer",`Invalid argument: ram='${n}'`),"";if(U.a.money.lt(o))return t.log("purchaseServer","Not enough money to purchase server. Need "+_e.a.formatMoney(o)),"";const s=Object(J.h)({ip:Object(V.c)(),hostname:r,organizationName:"",isConnectedTo:!1,adminRights:!0,purchasedByPlayer:!0,maxRam:n});Object(V.a)(s),U.a.purchasedServers.push(s.ip);const l=U.a.getHomeComputer();return l.serversOnNetwork.push(s.ip),s.serversOnNetwork.push(l.ip),U.a.loseMoney(o),t.log("purchaseServer",`Purchased new server with hostname '${s.hostname}' for ${_e.a.formatMoney(o)}`),s.hostname},deleteServer:function(e){a("deleteServer",Object(i.c)("deleteServer"));let n=String(e);n=n.replace(/\s\s+/g,"");const r=Object(J.a)(n);if(!(r instanceof Q.a))return t.log("deleteServer",`Invalid argument: hostname='${n}'`),!1;if(null==r)return t.log("deleteServer",`Invalid argument: hostname='${n}'`),!1;if(!r.purchasedByPlayer||"home"===r.hostname)return t.log("deleteServer","Cannot delete non-purchased server."),!1;const o=r.ip;if(r.isConnectedTo)return t.log("deleteServer","You are currently connected to the server you are trying to delete."),!1;if(o===t.serverIp)return t.log("deleteServer","Cannot delete the server this script is running on."),!1;if(r.runningScripts.length>0)return t.log("deleteServer",`Cannot delete server '${r.hostname}' because it still has scripts running.`),!1;let s=!1;for(let e=0;eb.a.NumNetscriptPorts)throw Ge("write",`Trying to write to invalid port: ${e}. Only ports 1-${b.a.NumNetscriptPorts} are valid.`);const t=me.a[e-1];if(null==t||!(t instanceof Object))throw Ge("write",`Could not find port: ${e}. This is a bug. Report to dev.`);return t.write(n)}},tryWrite:function(e,t=""){if(a("tryWrite",Object(i.c)("tryWrite")),isNaN(e))throw Ge("tryWrite","Invalid argument: "+e);{if((e=Math.round(e))<1||e>b.a.NumNetscriptPorts)throw Ge("tryWrite",`Invalid port: ${e}. Only ports 1-${b.a.NumNetscriptPorts} are valid.`);const a=me.a[e-1];if(null==a||!(a instanceof Object))throw Ge("tryWrite",`Could not find port: ${e}. This is a bug. Report to dev.`);return a.tryWrite(t)}},read:function(e){if(a("read",Object(i.c)("read")),isNaN(e)){if(Object(xe.a)(e)){const a=e,n=Object(J.b)(t.serverIp);if(null==n)throw Ge("read","Error getting Server. This is a bug. Report to dev.");if(Object(z.a)(a)){const e=t.getScriptOnServer(a,n);return null==e?"":e.code}{const e=Object(ue.c)(a,n);return null!==e?e.text:""}}throw Ge("read","Invalid argument: "+e)}{if((e=Math.round(e))<1||e>b.a.NumNetscriptPorts)throw Ge("read",`Invalid port: ${e}. Only ports 1-${b.a.NumNetscriptPorts} are valid.`);const t=me.a[e-1];if(null==t||!(t instanceof Object))throw Ge("read",`Could not find port: ${e}. This is a bug. Report to dev.`);return t.read()}},peek:function(e){if(a("peek",Object(i.c)("peek")),isNaN(e))throw Ge("peek",`Invalid argument. Must be a port number between 1 and ${b.a.NumNetscriptPorts}, is ${e}`);if((e=Math.round(e))<1||e>b.a.NumNetscriptPorts)throw Ge("peek",`Invalid argument. Must be a port number between 1 and ${b.a.NumNetscriptPorts}, is ${e}`);const t=me.a[e-1];if(null==t||!(t instanceof Object))throw Ge("peek",`Could not find port: ${e}. This is a bug. Report to dev.`);return t.peek()},clear:function(e){if(a("clear",Object(i.c)("clear")),!isNaN(e)){if((e=Math.round(e))<1||e>b.a.NumNetscriptPorts)throw Ge("clear",`Trying to clear invalid port: ${e}. Only ports 1-${b.a.NumNetscriptPorts} are valid`);const t=me.a[e-1];if(null==t||!(t instanceof Object))throw Ge("clear",`Could not find port: ${e}. This is a bug. Report to dev.`);return t.clear()}if(!Object(xe.a)(e))throw Ge("clear","Invalid argument: "+e);{const a=e,n=Object(J.b)(t.serverIp);if(null==n)throw Ge("clear","Error getting Server. This is a bug. Report to dev.");const r=Object(ue.c)(a,n);null!=r&&r.write("")}return 0},getPortHandle:function(e){if(a("getPortHandle",Object(i.c)("getPortHandle")),isNaN(e))throw Ge("getPortHandle",`Invalid port: ${e} Must be an integer between 1 and ${b.a.NumNetscriptPorts}.`);if((e=Math.round(e))<1||e>b.a.NumNetscriptPorts)throw Ge("getPortHandle",`Invalid port: ${e}. Only ports 1-${b.a.NumNetscriptPorts} are valid.`);const t=me.a[e-1];if(null==t||!(t instanceof Object))throw Ge("getPortHandle",`Could not find port: ${e}. This is a bug. Report to dev.`);return t},rm:function(e,n){a("rm",Object(i.c)("rm")),null!=n&&""!==n||(n=t.serverIp);const r=fe(n,"rm").removeFile(e);return r.res||t.log("rm",r.msg+""),r.res},scriptRunning:function(e,t){a("scriptRunning",Object(i.c)("scriptRunning"));const n=Object(J.b)(t);if(null==n)throw Ge("scriptRunning","Invalid IP/hostname: "+t);for(let t=0;t{Object(Te.a)(t),e(!0)}}),r=Object(Oe.a)("button",{class:"popup-box-button",innerText:"No",clickListener:()=>{Object(Te.a)(t),e(!1)}});Object(Me.a)(t,[a,n,r])}))},wget:async function(a,n,r=t.serverIp){if(!Object(z.a)(n)&&!n.endsWith(".txt"))return t.log("wget",`Invalid target file: '${n}'. Must be a script or text file.`),Promise.resolve(!1);const i=fe(r,"wget");return new Promise((function(o){e.get(a,(function(e){let a;return a=Object(z.a)(n)?i.writeToScriptFile(n,e):i.writeToTextFile(n,e),a.success?a.overwritten?(t.log("wget",`Successfully retrieved content and overwrote '${n}' on '${r}'`),o(!0)):(t.log("wget",`Successfully retrieved content to new file '${n}' on '${r}'`),o(!0)):(t.log("wget","Failed."),o(!1))}),"text").fail((function(e){return t.log("wget",JSON.stringify(e)),o(!1)}))}))},getFavorToDonate:function(){return a("getFavorToDonate",Object(i.c)("getFavorToDonate")),Math.floor(b.a.BaseFavorToDonate*m.a.RepToDonateToFaction)},universityCourse:function(e,n){if(a("universityCourse",Object(i.c)("universityCourse")),He("universityCourse",1),U.a.isWorking){const e=U.a.singularityStopWork();t.log("universityCourse",e)}let r,o,s;switch(e.toLowerCase()){case L.a.AevumSummitUniversity.toLowerCase():if(U.a.city!=B.a.Aevum)return t.log("universityCourse","You cannot study at 'Summit University' because you are not in 'Aevum'."),!1;U.a.gotoLocation(L.a.AevumSummitUniversity),r=4,o=3;break;case L.a.Sector12RothmanUniversity.toLowerCase():if(U.a.city!=B.a.Sector12)return t.log("universityCourse","You cannot study at 'Rothman University' because you are not in 'Sector-12'."),!1;U.a.location=L.a.Sector12RothmanUniversity,r=3,o=2;break;case L.a.VolhavenZBInstituteOfTechnology.toLowerCase():if(U.a.city!=B.a.Volhaven)return t.log("universityCourse","You cannot study at 'ZB Institute of Technology' because you are not in 'Volhaven'."),!1;U.a.location=L.a.VolhavenZBInstituteOfTechnology,r=5,o=4;break;default:return t.log("universityCourse",`Invalid university name: '${e}'.`),!1}switch(n.toLowerCase()){case"Study Computer Science".toLowerCase():s=b.a.ClassStudyComputerScience;break;case"Data Structures".toLowerCase():s=b.a.ClassDataStructures;break;case"Networks".toLowerCase():s=b.a.ClassNetworks;break;case"Algorithms".toLowerCase():s=b.a.ClassAlgorithms;break;case"Management".toLowerCase():s=b.a.ClassManagement;break;case"Leadership".toLowerCase():s=b.a.ClassLeadership;break;default:return t.log("universityCourse",`Invalid class name: ${n}.`),!1}return U.a.startClass(Ee.b,r,o,s),t.log("universityCourse",`Started ${s} at ${e}`),!0},gymWorkout:function(e,n){if(a("gymWorkout",Object(i.c)("gymWorkout")),He("gymWorkout",1),U.a.isWorking){const e=U.a.singularityStopWork();t.log("gymWorkout",e)}let r,o;switch(e.toLowerCase()){case L.a.AevumCrushFitnessGym.toLowerCase():if(U.a.city!=B.a.Aevum)return t.log("gymWorkout","You cannot workout at 'Crush Fitness' because you are not in 'Aevum'."),!1;U.a.location=L.a.AevumCrushFitnessGym,r=3,o=2;break;case L.a.AevumSnapFitnessGym.toLowerCase():if(U.a.city!=B.a.Aevum)return t.log("gymWorkout","You cannot workout at 'Snap Fitness' because you are not in 'Aevum'."),!1;U.a.location=L.a.AevumSnapFitnessGym,r=10,o=5;break;case L.a.Sector12IronGym.toLowerCase():if(U.a.city!=B.a.Sector12)return t.log("gymWorkout","You cannot workout at 'Iron Gym' because you are not in 'Sector-12'."),!1;U.a.location=L.a.Sector12IronGym,r=1,o=1;break;case L.a.Sector12PowerhouseGym.toLowerCase():if(U.a.city!=B.a.Sector12)return t.log("gymWorkout","You cannot workout at 'Powerhouse Gym' because you are not in 'Sector-12'."),!1;U.a.location=L.a.Sector12PowerhouseGym,r=20,o=10;break;case L.a.VolhavenMilleniumFitnessGym.toLowerCase():if(U.a.city!=B.a.Volhaven)return t.log("gymWorkout","You cannot workout at 'Millenium Fitness Gym' because you are not in 'Volhaven'."),!1;U.a.location=L.a.VolhavenMilleniumFitnessGym,r=7,o=4;break;default:return t.log("gymWorkout",`Invalid gym name: ${e}. gymWorkout() failed`),!1}switch(n.toLowerCase()){case"strength".toLowerCase():case"str".toLowerCase():U.a.startClass(Ee.b,r,o,b.a.ClassGymStrength);break;case"defense".toLowerCase():case"def".toLowerCase():U.a.startClass(Ee.b,r,o,b.a.ClassGymDefense);break;case"dexterity".toLowerCase():case"dex".toLowerCase():U.a.startClass(Ee.b,r,o,b.a.ClassGymDexterity);break;case"agility".toLowerCase():case"agi".toLowerCase():U.a.startClass(Ee.b,r,o,b.a.ClassGymAgility);break;default:return t.log("gymWorkout",`Invalid stat: ${n}.`),!1}return t.log("gymWorkout",`Started training ${n} at ${e}`),!0},travelToCity:function(e){switch(a("travelToCity",Object(i.c)("travelToCity")),He("travelToCity",1),e){case B.a.Aevum:case B.a.Chongqing:case B.a.Sector12:case B.a.NewTokyo:case B.a.Ishima:case B.a.Volhaven:if(U.a.money.lt(b.a.TravelCost))throw Ge("travelToCity","Not enough money to travel.");return U.a.loseMoney(b.a.TravelCost),U.a.city=e,t.log("travelToCity","Traveled to "+e),!0;default:return t.log("travelToCity",`Invalid city name: '${e}'.`),!1}},purchaseTor:function(){if(a("purchaseTor",Object(i.c)("purchaseTor")),He("purchaseTor",1),null!=Z.a["Darkweb Server"])return t.log("purchaseTor","You already have a TOR router!"),!1;if(U.a.money.lt(b.a.TorRouterCost))return t.log("purchaseTor","You cannot afford to purchase a Tor router."),!1;U.a.loseMoney(b.a.TorRouterCost);const e=Object(J.h)({ip:Object(V.c)(),hostname:"darkweb",organizationName:"",isConnectedTo:!1,adminRights:!1,purchasedByPlayer:!1,maxRam:1});return Object(V.a)(e),Z.a.addIp("Darkweb Server",e.ip),U.a.getHomeComputer().serversOnNetwork.push(e.ip),e.serversOnNetwork.push(U.a.getHomeComputer().ip),U.a.gainIntelligenceExp(b.a.IntelligenceSingFnBaseExpGain),t.log("purchaseTor","You have purchased a Tor router!"),!0},purchaseProgram:function(e){if(a("purchaseProgram",Object(i.c)("purchaseProgram")),He("purchaseProgram",1),null==Z.a["Darkweb Server"])return t.log("purchaseProgram","You do not have the TOR router."),!1;e=e.toLowerCase();let n=null;for(const t in E.a){const a=E.a[t];a.program.toLowerCase()==e&&(n=a)}return null==n?(t.log("purchaseProgram",`Invalid program name: '${e}.`),!1):U.a.money.lt(n.price)?(t.log("purchaseProgram",`Not enough money to purchase '${n.program}'. Need ${_e.a.formatMoney(n.price)}`),!1):U.a.hasProgram(n.program)?(t.log("purchaseProgram",`You already have the '${n.program}' program`),!0):(U.a.loseMoney(n.price),U.a.getHomeComputer().programs.push(n.program),t.log("purchaseProgram",`You have purchased the '${n.program}' program. The new program can be found on your home computer.`),!0)},getCurrentServer:function(){return a("getCurrentServer",Object(i.c)("getCurrentServer")),He("getCurrentServer",1),U.a.getCurrentServer().hostname},connect:function(e){if(a("connect",Object(i.c)("connect")),He("connect",1),!e)throw Ge("connect",`Invalid hostname: '${e}'`);const t=Object(J.b)(e);if(null==t)throw Ge("connect",`Invalid hostname: '${e}'`);if("home"===e)return U.a.getCurrentServer().isConnectedTo=!1,U.a.currentServer=U.a.getHomeComputer().ip,U.a.getCurrentServer().isConnectedTo=!0,G.a.setcwd("/"),!0;const n=U.a.getCurrentServer();for(let a=0;a=b.a.HomeComputerMaxRam)return t.log("upgradeHomeRam","Your home computer is at max RAM."),!1;const n=U.a.getUpgradeHomeRamCost();return U.a.money.lt(n)?(t.log("upgradeHomeRam","You don't have enough money. Need "+_e.a.formatMoney(n)),!1):(e.maxRam*=2,U.a.loseMoney(n),U.a.gainIntelligenceExp(b.a.IntelligenceSingFnBaseExpGain),t.log("upgradeHomeRam",`Purchased additional RAM for home computer! It now has ${e.maxRam}GB of RAM.`),!0)},getUpgradeHomeRamCost:function(){return a("getUpgradeHomeRamCost",Object(i.c)("getUpgradeHomeRamCost")),He("getUpgradeHomeRamCost",2),U.a.getUpgradeHomeRamCost()},workForCompany:function(e){if(a("workForCompany",Object(i.c)("workForCompany")),He("workForCompany",2),null==e&&(e=U.a.companyName),null==e||""===e||!(f.a[e]instanceof d.a))return t.log("workForCompany",`Invalid company: '${e}'`),!1;if(!Object.keys(U.a.jobs).includes(e))return t.log("workForCompany",`You do not have a job at '${e}'`),!1;const n=U.a.jobs[e],r=y.a[n];if(""===n||!(r instanceof g.a))return t.log("workForCompany","You do not have a job"),!1;if(U.a.isWorking){const e=U.a.singularityStopWork();t.log("workForCompany",e)}return r.isPartTimeJob()?U.a.startWorkPartTime(Ee.b,e):U.a.startWork(Ee.b,e),t.log("workForCompany",`Began working at '${U.a.companyName}' as a '${n}'`),!0},applyToCompany:function(e,n){let r;switch(a("applyToCompany",Object(i.c)("applyToCompany")),He("applyToCompany",2),Xe("applyToCompany",e),U.a.location=e,n.toLowerCase()){case"software":r=U.a.applyForSoftwareJob(!0);break;case"software consultant":r=U.a.applyForSoftwareConsultantJob(!0);break;case"it":r=U.a.applyForItJob(!0);break;case"security engineer":r=U.a.applyForSecurityEngineerJob(!0);break;case"network engineer":r=U.a.applyForNetworkEngineerJob(!0);break;case"business":r=U.a.applyForBusinessJob(!0);break;case"business consultant":r=U.a.applyForBusinessConsultantJob(!0);break;case"security":r=U.a.applyForSecurityJob(!0);break;case"agent":r=U.a.applyForAgentJob(!0);break;case"employee":r=U.a.applyForEmployeeJob(!0);break;case"part-time employee":r=U.a.applyForPartTimeEmployeeJob(!0);break;case"waiter":r=U.a.applyForWaiterJob(!0);break;case"part-time waiter":r=U.a.applyForPartTimeWaiterJob(!0);break;default:return t.log("applyToCompany",`Invalid job: '${n}'.`),!1}return r?t.log("applyToCompany",`You were offered a new job at '${e}' as a '${U.a.jobs[e]}'`):t.log("applyToCompany",`You failed to get a new job/promotion at '${e}' in the '${n}' field.`),r},getCompanyRep:function(e){a("getCompanyRep",Object(i.c)("getCompanyRep")),He("getCompanyRep",2);return Xe("getCompanyRep",e).playerReputation},getCompanyFavor:function(e){a("getCompanyFavor",Object(i.c)("getCompanyFavor")),He("getCompanyFavor",2);return Xe("getCompanyFavor",e).favor},getCompanyFavorGain:function(e){a("getCompanyFavorGain",Object(i.c)("getCompanyFavorGain")),He("getCompanyFavorGain",2);return Xe("getCompanyFavorGain",e).getFavorGain()[0]},checkFactionInvitations:function(){return a("checkFactionInvitations",Object(i.c)("checkFactionInvitations")),He("checkFactionInvitations",2),U.a.factionInvitations.slice()},joinFaction:function(e){if(a("joinFaction",Object(i.c)("joinFaction")),He("joinFaction",2),Qe("joinFaction",e),!U.a.factionInvitations.includes(e))return t.log("joinFaction",`You have not been invited by faction '${e}'`),!1;const n=T.a[e];Object(R.d)(n);for(let t=0;t{Object(c.a)(),ot(e)},0),t.running=!1,Object(he.a)(t)},installAugmentations:function(e){if(a("installAugmentations",Object(i.c)("installAugmentations")),He("installAugmentations",3),0===U.a.queuedAugmentations.length)return t.log("installAugmentations","You do not have any Augmentations to be installed."),!1;U.a.gainIntelligenceExp(b.a.IntelligenceSingFnBaseExpGain),t.log("installAugmentations","Installing Augmentations. This will cause this script to be killed"),Object(ve.a)(()=>{Object(l.d)(),ot(e)},0),t.running=!1,Object(he.a)(t)},gang:{createGang:function(e){a("createGang",Object(i.c)("gang","createGang"));if(!U.a.canAccessGang()||!["Slum Snakes","Tetrads","The Syndicate","The Dark Army","Speakers for the Dead","NiteSec","The Black Hand"].includes(e))return!1;if(U.a.inGang())return!1;if(!U.a.factions.includes(e))return!1;const t="NiteSec"===e||"The Black Hand"===e;return U.a.startGang(e,t),!0},inGang:function(){return a("inGang",Object(i.c)("gang","inGang")),U.a.inGang()},getMemberNames:function(){a("getMemberNames",Object(i.c)("gang","getMemberNames")),Ve("getMemberNames");const e=U.a.gang;if(null===e)throw new Error("Should not be called without Gang");return e.members.map(e=>e.name)},getGangInformation:function(){a("getGangInformation",Object(i.c)("gang","getGangInformation")),Ve("getGangInformation");const e=U.a.gang;if(null===e)throw new Error("Should not be called without Gang");return{faction:e.facName,isHacking:e.isHackingGang,moneyGainRate:e.moneyGainRate,power:e.getPower(),respect:e.respect,respectGainRate:e.respectGainRate,territory:e.getTerritory(),territoryClashChance:e.territoryClashChance,territoryWarfareEngaged:e.territoryWarfareEngaged,wantedLevel:e.wanted,wantedLevelGainRate:e.wantedGainRate}},getOtherGangInformation:function(){a("getOtherGangInformation",Object(i.c)("gang","getOtherGangInformation")),Ve("getOtherGangInformation");const e={};for(const t in x.a)e[t]=Object.assign({},x.a[t]);return e},getMemberInformation:function(e){a("getMemberInformation",Object(i.c)("gang","getMemberInformation")),Ve("getMemberInformation");const t=Ye("getMemberInformation",e);return{name:t.name,task:t.task,earnedRespect:t.earnedRespect,hack:t.hack,str:t.str,def:t.def,dex:t.dex,agi:t.agi,cha:t.cha,hack_exp:t.hack_exp,str_exp:t.str_exp,def_exp:t.def_exp,dex_exp:t.dex_exp,agi_exp:t.agi_exp,cha_exp:t.cha_exp,hack_mult:t.hack_mult,str_mult:t.str_mult,def_mult:t.def_mult,dex_mult:t.dex_mult,agi_mult:t.agi_mult,cha_mult:t.cha_mult,hack_asc_mult:t.calculateAscensionMult(t.hack_asc_points),str_asc_mult:t.calculateAscensionMult(t.str_asc_points),def_asc_mult:t.calculateAscensionMult(t.def_asc_points),dex_asc_mult:t.calculateAscensionMult(t.dex_asc_points),agi_asc_mult:t.calculateAscensionMult(t.agi_asc_points),cha_asc_mult:t.calculateAscensionMult(t.cha_asc_points),hack_asc_points:t.hack_asc_points,str_asc_points:t.str_asc_points,def_asc_points:t.def_asc_points,dex_asc_points:t.dex_asc_points,agi_asc_points:t.agi_asc_points,cha_asc_points:t.cha_asc_points,upgrades:t.upgrades.slice(),augmentations:t.augmentations.slice()}},canRecruitMember:function(){a("canRecruitMember",Object(i.c)("gang","canRecruitMember")),Ve("canRecruitMember");const e=U.a.gang;if(null===e)throw new Error("Should not be called without Gang");return e.canRecruitMember()},recruitMember:function(e){a("recruitMember",Object(i.c)("gang","recruitMember")),Ve("recruitMember");const n=U.a.gang;if(null===n)throw new Error("Should not be called without Gang");const r=n.recruitMember(e);return r?t.log("recruitMember",`Successfully recruited Gang Member '${e}'`):t.log("recruitMember",`Failed to recruit Gang Member '${e}'`),r},getTaskNames:function(){a("getTaskNames",Object(i.c)("gang","getTaskNames")),Ve("getTaskNames");const e=U.a.gang;if(null===e)throw new Error("Should not be called without Gang");const t=e.getAllTaskNames();return t.unshift("Unassigned"),t},setMemberTask:function(e,n){a("setMemberTask",Object(i.c)("gang","setMemberTask")),Ve("setMemberTask");const r=Ye("setMemberTask",e).assignToTask(n);return r?t.log("setMemberTask",`Successfully assigned Gang Member '${e}' to '${n}' task`):t.log("setMemberTask",`Failed to assign Gang Member '${e}' to '${n}' task. '${e}' is now Unassigned`),r},getTaskStats:function(e){a("getTaskStats",Object(i.c)("gang","getTaskStats")),Ve("getTaskStats");const t=function(e,t){const a=O.a[t];if(!a)throw Ge("gang."+e,`Invalid task: '${t}'`);return a}("getTaskStats",e),n=Object.assign({},t);return n.territory=Object.assign({},t.territory),n},getEquipmentNames:function(){return a("getEquipmentNames",Object(i.c)("gang","getEquipmentNames")),Ve("getEquipmentNames"),Object.keys(M.a)},getEquipmentCost:function(e){a("getEquipmentCost",Object(i.c)("gang","getEquipmentCost")),Ve("getEquipmentCost");const t=U.a.gang;if(null===t)throw new Error("Should not be called without Gang");const n=M.a[e];return null===n?1/0:t.getUpgradeCost(n)},getEquipmentType:function(e){a("getEquipmentType",Object(i.c)("gang","getEquipmentType")),Ve("getEquipmentType");const t=M.a[e];return null==t?"":t.getType()},getEquipmentStats:function(e){a("getEquipmentStats",Object(i.c)("gang","getEquipmentStats")),Ve("getEquipmentStats");const t=M.a[e];if(!t)throw Ge("getEquipmentStats","Invalid equipment: "+e);return Object.assign({},t.mults)},purchaseEquipment:function(e,n){a("purchaseEquipment",Object(i.c)("gang","purchaseEquipment")),Ve("purchaseEquipment");const r=U.a.gang;if(null===r)throw new Error("Should not be called without Gang");const o=Ye("purchaseEquipment",e),s=M.a[n];if(!s)return!1;const l=o.buyUpgrade(s,U.a,r);return l?t.log("purchaseEquipment",`Purchased '${n}' for Gang member '${e}'`):t.log("purchaseEquipment",`Failed to purchase '${n}' for Gang member '${e}'`),l},ascendMember:function(e){a("ascendMember",Object(i.c)("gang","ascendMember")),Ve("ascendMember");const n=U.a.gang;if(null===n)throw new Error("Should not be called without Gang");const r=Ye("ascendMember",e);if(r.canAscend())return n.ascendMember(r,t)},setTerritoryWarfare:function(e){a("setTerritoryWarfare",Object(i.c)("gang","setTerritoryWarfare")),Ve("setTerritoryWarfare");const n=U.a.gang;if(null===n)throw new Error("Should not be called without Gang");e?(n.territoryWarfareEngaged=!0,t.log("setTerritoryWarfare","Engaging in Gang Territory Warfare")):(n.territoryWarfareEngaged=!1,t.log("setTerritoryWarfare","Disengaging in Gang Territory Warfare"))},getChanceToWinClash:function(e){a("getChanceToWinClash",Object(i.c)("gang","getChanceToWinClash")),Ve("getChanceToWinClash");const t=U.a.gang;if(null===t)throw new Error("Should not be called without Gang");if(null==x.a[e])throw Ge("gang.getChanceToWinClash","Invalid gang: "+e);const n=x.a[t.facName].power;return n/(x.a[e].power+n)},getBonusTime:function(){a("getBonusTime",Object(i.c)("gang","getBonusTime")),Ve("getBonusTime");const e=U.a.gang;if(null===e)throw new Error("Should not be called without Gang");return Math.round(e.storedCycles/5)}},bladeburner:{getContractNames:function(){a("getContractNames",Object(i.c)("bladeburner","getContractNames")),Ue("getContractNames");const e=U.a.bladeburner;if(null===e)throw new Error("Should not be called without Bladeburner");return e.getContractNamesNetscriptFn()},getOperationNames:function(){a("getOperationNames",Object(i.c)("bladeburner","getOperationNames")),Ue("getOperationNames");const e=U.a.bladeburner;if(null===e)throw new Error("Should not be called without Bladeburner");return e.getOperationNamesNetscriptFn()},getBlackOpNames:function(){a("getBlackOpNames",Object(i.c)("bladeburner","getBlackOpNames")),Ue("getBlackOpNames");const e=U.a.bladeburner;if(null===e)throw new Error("Should not be called without Bladeburner");return e.getBlackOpNamesNetscriptFn()},getBlackOpRank:function(e=""){a("getBlackOpRank",Object(i.c)("bladeburner","getBlackOpRank")),Ue("getBlackOpRank");return Je("getBlackOpRank","blackops",e).reqdRank},getGeneralActionNames:function(){a("getGeneralActionNames",Object(i.c)("bladeburner","getGeneralActionNames")),Ue("getGeneralActionNames");const e=U.a.bladeburner;if(null===e)throw new Error("Should not be called without Bladeburner");return e.getGeneralActionNamesNetscriptFn()},getSkillNames:function(){a("getSkillNames",Object(i.c)("bladeburner","getSkillNames")),Ue("getSkillNames");const e=U.a.bladeburner;if(null===e)throw new Error("Should not be called without Bladeburner");return e.getSkillNamesNetscriptFn()},startAction:function(e="",n=""){a("startAction",Object(i.c)("bladeburner","startAction")),Ue("startAction");const r=U.a.bladeburner;if(null===r)throw new Error("Should not be called without Bladeburner");try{return r.startActionNetscriptFn(U.a,e,n,t)}catch(e){throw Ge("bladeburner.startAction",e)}},stopBladeburnerAction:function(){a("stopBladeburnerAction",Object(i.c)("bladeburner","stopBladeburnerAction")),Ue("stopBladeburnerAction");const e=U.a.bladeburner;if(null===e)throw new Error("Should not be called without Bladeburner");return e.resetAction()},getCurrentAction:function(){a("getCurrentAction",Object(i.c)("bladeburner","getCurrentAction")),Ue("getCurrentAction");const e=U.a.bladeburner;if(null===e)throw new Error("Should not be called without Bladeburner");return e.getTypeAndNameFromActionId(e.action)},getActionTime:function(e="",n=""){a("getActionTime",Object(i.c)("bladeburner","getActionTime")),Ue("getActionTime");const r=U.a.bladeburner;if(null===r)throw new Error("Should not be called without Bladeburner");try{return r.getActionTimeNetscriptFn(U.a,e,n,t)}catch(e){throw Ge("bladeburner.getActionTime",e)}},getActionEstimatedSuccessChance:function(e="",n=""){a("getActionEstimatedSuccessChance",Object(i.c)("bladeburner","getActionEstimatedSuccessChance")),Ue("getActionEstimatedSuccessChance");const r=U.a.bladeburner;if(null===r)throw new Error("Should not be called without Bladeburner");try{return r.getActionEstimatedSuccessChanceNetscriptFn(U.a,e,n,t)}catch(e){throw Ge("bladeburner.getActionEstimatedSuccessChance",e)}},getActionRepGain:function(e="",t="",n){a("getActionRepGain",Object(i.c)("bladeburner","getActionRepGain")),Ue("getActionRepGain");const r=Je("getActionRepGain",e,t);let o;return o=null==n||isNaN(n)?Math.pow(r.rewardFac,r.level-1):Math.pow(r.rewardFac,n-1),r.rankGain*o*m.a.BladeburnerRank},getActionCountRemaining:function(e="",n=""){a("getActionCountRemaining",Object(i.c)("bladeburner","getActionCountRemaining")),Ue("getActionCountRemaining");const r=U.a.bladeburner;if(null===r)throw new Error("Should not be called without Bladeburner");try{return r.getActionCountRemainingNetscriptFn(e,n,t)}catch(e){throw Ge("bladeburner.getActionCountRemaining",e)}},getActionMaxLevel:function(e="",t=""){a("getActionMaxLevel",Object(i.c)("bladeburner","getActionMaxLevel")),Ue("getActionMaxLevel");return Je("getActionMaxLevel",e,t).maxLevel},getActionCurrentLevel:function(e="",t=""){a("getActionCurrentLevel",Object(i.c)("bladeburner","getActionCurrentLevel")),Ue("getActionCurrentLevel");return Je("getActionCurrentLevel",e,t).level},getActionAutolevel:function(e="",t=""){a("getActionAutolevel",Object(i.c)("bladeburner","getActionAutolevel")),Ue("getActionAutolevel");return Je("getActionCurrentLevel",e,t).autoLevel},setActionAutolevel:function(e="",t="",n=!0){a("setActionAutolevel",Object(i.c)("bladeburner","setActionAutolevel")),Ue("setActionAutolevel");Je("setActionAutolevel",e,t).autoLevel=n},setActionLevel:function(e="",t="",n=1){a("setActionLevel",Object(i.c)("bladeburner","setActionLevel")),Ue("setActionLevel");const r=Je("setActionLevel",e,t);if(n<1||n>r.maxLevel)throw Ge("bladeburner.setActionLevel",`Level must be between 1 and ${r.maxLevel}, is ${n}`);r.level=n},getRank:function(){a("getRank",Object(i.c)("bladeburner","getRank")),Ue("getRank");const e=U.a.bladeburner;if(null===e)throw new Error("Should not be called without Bladeburner");return e.rank},getSkillPoints:function(){a("getSkillPoints",Object(i.c)("bladeburner","getSkillPoints")),Ue("getSkillPoints");const e=U.a.bladeburner;if(null===e)throw new Error("Should not be called without Bladeburner");return e.skillPoints},getSkillLevel:function(e=""){a("getSkillLevel",Object(i.c)("bladeburner","getSkillLevel")),Ue("getSkillLevel");const n=U.a.bladeburner;if(null===n)throw new Error("Should not be called without Bladeburner");try{return n.getSkillLevelNetscriptFn(e,t)}catch(e){throw Ge("bladeburner.getSkillLevel",e)}},getSkillUpgradeCost:function(e=""){a("getSkillUpgradeCost",Object(i.c)("bladeburner","getSkillUpgradeCost")),Ue("getSkillUpgradeCost");const n=U.a.bladeburner;if(null===n)throw new Error("Should not be called without Bladeburner");try{return n.getSkillUpgradeCostNetscriptFn(e,t)}catch(e){throw Ge("bladeburner.getSkillUpgradeCost",e)}},upgradeSkill:function(e){a("upgradeSkill",Object(i.c)("bladeburner","upgradeSkill")),Ue("upgradeSkill");const n=U.a.bladeburner;if(null===n)throw new Error("Should not be called without Bladeburner");try{return n.upgradeSkillNetscriptFn(e,t)}catch(e){throw Ge("bladeburner.upgradeSkill",e)}},getTeamSize:function(e="",n=""){a("getTeamSize",Object(i.c)("bladeburner","getTeamSize")),Ue("getTeamSize");const r=U.a.bladeburner;if(null===r)throw new Error("Should not be called without Bladeburner");try{return r.getTeamSizeNetscriptFn(e,n,t)}catch(e){throw Ge("bladeburner.getTeamSize",e)}},setTeamSize:function(e="",n="",r){a("setTeamSize",Object(i.c)("bladeburner","setTeamSize")),Ue("setTeamSize");const o=U.a.bladeburner;if(null===o)throw new Error("Should not be called without Bladeburner");try{return o.setTeamSizeNetscriptFn(e,n,r,t)}catch(e){throw Ge("bladeburner.setTeamSize",e)}},getCityEstimatedPopulation:function(e){a("getCityEstimatedPopulation",Object(i.c)("bladeburner","getCityEstimatedPopulation")),Ue("getCityEstimatedPopulation"),qe("getCityEstimatedPopulation",e);const t=U.a.bladeburner;if(null===t)throw new Error("Should not be called without Bladeburner");return t.cities[e].popEst},getCityEstimatedCommunities:function(e){a("getCityEstimatedCommunities",Object(i.c)("bladeburner","getCityEstimatedCommunities")),Ue("getCityEstimatedCommunities"),qe("getCityEstimatedCommunities",e);const t=U.a.bladeburner;if(null===t)throw new Error("Should not be called without Bladeburner");return t.cities[e].commsEst},getCityChaos:function(e){a("getCityChaos",Object(i.c)("bladeburner","getCityChaos")),Ue("getCityChaos"),qe("getCityChaos",e);const t=U.a.bladeburner;if(null===t)throw new Error("Should not be called without Bladeburner");return t.cities[e].chaos},getCity:function(){a("getCity",Object(i.c)("bladeburner","getCity")),Ue("getCityChaos");const e=U.a.bladeburner;if(null===e)throw new Error("Should not be called without Bladeburner");return e.city},switchCity:function(e){a("switchCity",Object(i.c)("bladeburner","switchCity")),Ue("switchCity"),qe("switchCity",e);const t=U.a.bladeburner;if(null===t)throw new Error("Should not be called without Bladeburner");return t.city=e},getStamina:function(){a("getStamina",Object(i.c)("bladeburner","getStamina")),Ue("getStamina");const e=U.a.bladeburner;if(null===e)throw new Error("Should not be called without Bladeburner");return[e.stamina,e.maxStamina]},joinBladeburnerFaction:function(){a("joinBladeburnerFaction",Object(i.c)("bladeburner","joinBladeburnerFaction")),Ue("joinBladeburnerFaction",!0);const e=U.a.bladeburner;if(null===e)throw new Error("Should not be called without Bladeburner");return e.joinBladeburnerFactionNetscriptFn(t)},joinBladeburnerDivision:function(){a("joinBladeburnerDivision",Object(i.c)("bladeburner","joinBladeburnerDivision")),Ue("joinBladeburnerDivision",!0);if(null===U.a.bladeburner)throw new Error("Should not be called without Bladeburner");if(7===U.a.bitNodeN||ee.a[7]>0){if(8===U.a.bitNodeN)return!1;if(U.a.bladeburner instanceof p.a)return!0;if(U.a.strength>=100&&U.a.defense>=100&&U.a.dexterity>=100&&U.a.agility>=100){U.a.bladeburner=new p.a(U.a),t.log("joinBladeburnerDivision","You have been accepted into the Bladeburner division");const e=document.getElementById("world-menu-header");return e instanceof HTMLElement&&(e.click(),e.click()),!0}return t.log("joinBladeburnerDivision","You do not meet the requirements for joining the Bladeburner division"),!1}},getBonusTime:function(){a("getBonusTime",Object(i.c)("bladeburner","getBonusTime")),Ue("getBonusTime");const e=U.a.bladeburner;if(null===e)throw new Error("Should not be called without Bladeburner");return Math.round(e.storedCycles/5)}},corporation:{expandIndustry:function(e,t){const a=U.a.corporation;if(null===a)throw new Error("Should not be called without a corporation");Object(_.l)(a,e,t)},expandCity:function(e,t){const a=et(e),n=U.a.corporation;if(null===n)throw new Error("Should not be called without a corporation");Object(_.k)(n,a,t)},unlockUpgrade:function(e){const t=Object.values(v.a).find(t=>t[2]===e);if(void 0===t)throw new Error(`No upgrade named '${e}'`);const a=U.a.corporation;if(null===a)throw new Error("Should not be called without a corporation");Object(_.x)(a,t)},levelUpgrade:function(e){const t=Object.values(k.a).find(t=>t[4]===e);if(void 0===t)throw new Error(`No upgrade named '${e}'`);const a=U.a.corporation;if(null===a)throw new Error("Should not be called without a corporation");Object(_.h)(a,t)},issueDividends:function(e){const t=U.a.corporation;if(null===t)throw new Error("Should not be called without a corporation");Object(_.g)(t,e)},sellMaterial:function(e,t,a,n,r){const i=nt(e,t,a);Object(_.o)(i,n,r)},sellProduct:function(e,t,a,n,r,i){const o=rt(e,a);Object(_.p)(o,t,n,r,i)},discontinueProduct:function(e,t){et(e).discontinueProduct(rt(e,t))},setSmartSupply:function(e,t,a){const n=at(e,t);Object(_.u)(n,a)},buyMaterial:function(e,t,a,n){const r=nt(e,t,a);Object(_.c)(r,n)},employees:function(e,t){return tt(e,t).employees.map(e=>Object.assign({},e))},assignJob:function(e,t,a,n){const r=it(e,t,a);Object(_.a)(r,n)},hireEmployee:function(e,t){tt(e,t).hireRandomEmployee()},upgradeOfficeSize:function(e,t,a){const n=tt(e,t),r=U.a.corporation;if(null===r)throw new Error("Should not be called without a corporation");Object(_.y)(r,n,a)},throwParty:function(e,t,a){const n=tt(e,t),r=U.a.corporation;if(null===r)throw new Error("Should not be called without a corporation");Object(_.w)(r,n,a)},purchaseWarehouse:function(e,t){const a=U.a.corporation;if(null===a)throw new Error("Should not be called without a corporation");Object(_.m)(a,et(e),t)},upgradeWarehouse:function(e,t){const a=U.a.corporation;if(null===a)throw new Error("Should not be called without a corporation");Object(_.z)(a,et(e),at(e,t))},buyCoffee:function(e,t){const a=U.a.corporation;if(null===a)throw new Error("Should not be called without a corporation");Object(_.b)(a,et(e),tt(e,t))},hireAdVert:function(e){const t=U.a.corporation;if(null===t)throw new Error("Should not be called without a corporation");Object(_.f)(t,et(e),tt(e,"Sector-12"))},makeProduct:function(e,t,a,n,r){const i=U.a.corporation;if(null===i)throw new Error("Should not be called without a corporation");Object(_.j)(i,et(e),t,a,n,r)},research:function(e,t){Object(_.n)(et(e),t)},exportMaterial:function(e,t,a,n,r,i){Object(_.e)(a,n,nt(e,t,r),i+"")},cancelExportMaterial:function(e,t,a,n,r,i){Object(_.d)(a,n,nt(e,t,r),i+"")},setMaterialMarketTA1:function(e,t,a,n){Object(_.q)(nt(e,t,a),n)},setMaterialMarketTA2:function(e,t,a,n){Object(_.r)(nt(e,t,a),n)},setProductMarketTA1:function(e,t,a){Object(_.s)(rt(e,t),a)},setProductMarketTA2:function(e,t,a){Object(_.t)(rt(e,t),a)},getDivision:function(e){return et(e)},getOffice:function(e,t){return tt(e,t)},getWarehouse:function(e,t){return at(e,t)},getMaterial:function(e,t,a){return nt(e,t,a)},getProduct:function(e,t){return rt(e,t)},getEmployee:function(e,t,a){return it(e,t,a)}},codingcontract:{attempt:function(e,n,r=t.serverIp,{returnReward:o}={}){a("attempt",Object(i.c)("codingcontract","attempt"));const s=ze("attempt",r,n);if(Object(ke.a)(e)){const t=[];for(let a=0;a=s.getMaxNumTries()?(t.log("attempt",`Coding Contract attempt '${n}' failed. Contract is now self-destructing`),c.removeContract(n)):t.log("attempt",`Coding Contract attempt '${n}' failed. ${s.getMaxNumTries()-s.tries} attempts remaining.`),!!o&&""},getContractType:function(e,n=t.serverIp){a("getContractType",Object(i.c)("codingcontract","getContractType"));return ze("getContractType",n,e).getType()},getData:function(e,n=t.serverIp){a("getData",Object(i.c)("codingcontract","getData"));const r=ze("getData",n,e).getData();if(r.constructor===Array){const e=r.slice();for(let t=0;t1?2:1;a["-".repeat(n)+t[0]]=e}const n=r(a,{argv:t.args});for(const t of e)n.hasOwnProperty("--"+t[0])&&n.hasOwnProperty("-"+t[0])||(n[t[0]]=t[1]);for(const e of Object.keys(n)){if(!e.startsWith("-"))continue;const t=n[e];delete n[e];const a=2===e.length?1:2;n[e.slice(a)]=t}return n}};const ut=Object.fromEntries([...function e(t){const a=[];for(const[n,r]of Object.entries(t))"function"==typeof r?a.push(n):"object"==typeof r&&a.push(...e(r));return a}(ct)].map(e=>[e,!0]));return ct}}).call(this,a(581))},function(e,t,a){"use strict";a.d(t,"a",(function(){return d}));var n=a(172),r=a(24),i=a(15),o=a(21),s=a(228),l=a(29),c=a(263),u=a(6),m=a(205),h=a(77),p=a(801);class d{constructor(e="",t=!1){this.facName=e,this.members=[],this.wanted=1,this.respect=1,this.isHackingGang=t,this.respectGainRate=0,this.wantedGainRate=0,this.moneyGainRate=0,this.storedCycles=0,this.storedTerritoryAndPowerCycles=0,this.territoryClashChance=0,this.territoryWarfareEngaged=!1,this.notifyMemberDeath=!0}getPower(){return h.a[this.facName].power}getTerritory(){return h.a[this.facName].territory}process(e=1,t){const a=1e3/u.a._idleSpeed;if(isNaN(e)&&console.error("NaN passed into Gang.process(): "+e),this.storedCycles+=e,this.storedCycles<2*a)return;const n=Math.min(this.storedCycles,5*a);try{this.processGains(n,t),this.processExperienceGains(n),this.processTerritoryAndPowerGains(n),this.storedCycles-=n}catch(e){console.error("Exception caught when processing Gang: "+e)}}processGains(e=1,t){let a=0,o=0,s=0,l=0;for(let e=0;et&&(a=1),this.wanted=a,this.wanted<1&&(this.wanted=1)}t.gainMoney(a*e),t.recordMoneySource(a*e,"gang")}processTerritoryAndPowerGains(e=1){if(this.storedTerritoryAndPowerCycles+=e,this.storedTerritoryAndPowerCycles0&&(this.territoryClashChance=Math.max(0,this.territoryClashChance-.01));for(let e=0;et!==c.a.Names[e]),r=Object(l.a)(0,n.length-1),i=c.a.Names[e],o=n[r];if(!(i!==t&&o!==t||Math.random()=0;--e){const a=this.members[e];if("Territory Warfare"!==a.task)continue;const n=t/Math.pow(a.def,.6);Math.random()=c.a.MaximumGangMembers)&&this.respect>=this.getRespectNeededToRecruitMember()}getRespectNeededToRecruitMember(){if(this.members.length<3)return 0;const e=this.members.length-2;return Math.pow(5,e)}recruitMember(e){if(""===(e=String(e))||!this.canRecruitMember())return!1;if(this.members.filter(t=>t.name===e).length>=1)return!1;const t=new p.a(e);return this.members.push(t),!0}getWantedPenalty(){return this.respect/(this.respect+this.wanted)}calculatePower(){let e=0;for(let t=0;t{const t=m.a[e];return null!=t&&("Unassigned"!==t.name&&(this.isHackingGang===t.isHacking||!this.isHackingGang===t.isCombat))})}getUpgradeCost(e){return null==e?1/0:e.cost/this.getDiscount()}toJSON(){return Object(o.b)("Gang",this)}static fromJSON(e){return Object(o.a)(d,e.data)}}o.c.constructors.Gang=d},function(e,t,a){"use strict";a.d(t,"c",(function(){return i})),a.d(t,"b",(function(){return o})),a.d(t,"a",(function(){return s}));var n=a(127),r=a(92);function i(e,t){const a=e.organizationName;let i=null;if("string"==typeof a&&""!==a&&(i=r.a[a]),!(i instanceof n.a))return;const o=t/e.moneyMax;Math.random()0?t.requiredHacking+r:0,o=t.requiredStrength>0?t.requiredStrength+r:0,s=t.requiredDefense>0?t.requiredDefense+r:0,l=t.requiredDexterity>0?t.requiredDexterity+r:0,c=t.requiredDexterity>0?t.requiredDexterity+r:0,u=t.requiredCharisma>0?t.requiredCharisma+r:0,m=t.requiredReputation;return a?(n="Requires:
",n+=i.toString()+" hacking
",n+=o.toString()+" strength
",n+=s.toString()+" defense
",n+=l.toString()+" dexterity
",n+=c.toString()+" agility
",n+=u.toString()+" charisma
",n+=m.toString()+" reputation"):(n="(Requires ",i>0&&(n+=i+" hacking, "),o>0&&(n+=o+" strength, "),s>0&&(n+=s+" defense, "),l>0&&(n+=l+" dexterity, "),c>0&&(n+=c+" agility, "),u>0&&(n+=u+" charisma, "),m>1&&(n+=m+" reputation, "),n=n.substring(0,n.length-2),n+=")"),n}a.d(t,"a",(function(){return n}))},,,function(e,t,a){"use strict";a.d(t,"a",(function(){return l}));var n=a(0),r=a.n(n),i=a(1108),o=a(1),s=a(10);function l(e){const[t,a]=Object(n.useState)(0),[l,c]=Object(n.useState)(!1);return r.a.createElement(r.a.Fragment,null,e.lines.slice(0,t).map((e,t)=>r.a.createElement(o.a,{key:t},e)),e.lines.length>t&&r.a.createElement(i.a,{key:t,text:e.lines[t],onDone:function(){const n=t+1;a(n),n>=e.lines.length&&(e.onDone&&e.auto&&e.onDone(),c(!0))}}),!e.auto&&e.onDone&&l&&r.a.createElement(s.a,{onClick:e.onDone},"Continue ..."))}},,,,function(e,t,a){"use strict";a.d(t,"a",(function(){return r}));var n=a(29);function r(e){const t=Math.max(Math.min(e,255),0);return Object(n.a)(0,t)}},function(e,t,a){"use strict";a.d(t,"a",(function(){return r}));var n=a(128);function r(e){const t={},a=Object.keys(n.a);for(let n=0;nt.hacking_skill?{res:!1,msg:`Cannot hack ${e.hostname} server because your hacking skill is not high enough`}:{res:!0}}function i(e){return n(e,"grow")}function o(e){return n(e,"weaken")}a.d(t,"b",(function(){return r})),a.d(t,"a",(function(){return i})),a.d(t,"c",(function(){return o}))},,,,function(e,t,a){"use strict";a.d(t,"a",(function(){return n}));class n{constructor(e){this.cards=e}addCards(...e){return new n([...this.cards,...e])}removeByIndex(e){if(e>=this.cards.length)throw new Error("Tried to remove invalid card from Hand by index: "+e);return new n([...this.cards.slice().splice(e,1)])}}},function(e,t,a){"use strict";a.d(t,"a",(function(){return s}));var n=a(0),r=a(1),i=a(28),o=a(10);function s(e){return n.createElement(i.a,{title:null!=e.tooltip?n.createElement(r.a,null,e.tooltip):""},n.createElement(o.a,{onClick:e.onClick},e.text))}},,,,,,,,,,,,,,,,function(e,t,a){"use strict";a.d(t,"a",(function(){return m}));var n=a(94),r=a(320),i=a(110),o=a(227),s=a(102),l=a(276),c=a(277);function u(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}class m{constructor(e={hostname:"",ip:Object(l.a)()}){u(this,"contracts",[]),u(this,"cpuCores",1),u(this,"ftpPortOpen",!1),u(this,"hasAdminRights",!1),u(this,"hostname",""),u(this,"httpPortOpen",!1),u(this,"ip",""),u(this,"isConnectedTo",!1),u(this,"maxRam",0),u(this,"messages",[]),u(this,"organizationName",""),u(this,"programs",[]),u(this,"ramUsed",0),u(this,"runningScripts",[]),u(this,"scripts",[]),u(this,"serversOnNetwork",[]),u(this,"smtpPortOpen",!1),u(this,"sqlPortOpen",!1),u(this,"sshPortOpen",!1),u(this,"textFiles",[]),this.ip=e.ip?e.ip:Object(l.a)(),this.hostname=e.hostname,this.organizationName=null!=e.organizationName?e.organizationName:"",this.isConnectedTo=null!=e.isConnectedTo&&e.isConnectedTo,this.hasAdminRights=null!=e.adminRights&&e.adminRights}addContract(e){this.contracts.push(e)}getContract(e){for(const t of this.contracts)if(t.fn===e)return t;return null}getRunningScript(e,t){for(const a of this.runningScripts)if(a.filename===e&&Object(c.a)(a.args,t))return a;return null}getScript(e){for(let t=0;tt.fn!==e.fn):this.contracts=this.contracts.filter(t=>t.fn!==e)}removeFile(e){if(e.endsWith(".exe")||null!=e.match(/^.+\.exe-\d+(?:\.\d*)?%-INC$/)){for(let t=0;t{p.subscribe(e=>t(e))}),null===e)return r.a.createElement(r.a.Fragment,null);function d(){null!==e&&(e.onClose(),t(null))}const f=o.d[e.c.type],g=[];for(const[t,a]of f.desc(e.c.data).split("\n").entries())g.push(r.a.createElement("span",{key:t,dangerouslySetInnerHTML:{__html:a+"
"}}));return r.a.createElement(l.a,{open:null!==e,onClose:d},r.a.createElement(s.a,{variant:"h4",value:e.c.type}),r.a.createElement(u.a,null,"You are attempting to solve a Coding Contract. You have ",e.c.getMaxNumTries()-e.c.tries," tries remaining, after which the contract will self-destruct."),r.a.createElement("br",null),r.a.createElement(u.a,null,g),r.a.createElement("br",null),r.a.createElement(m.a,{autoFocus:!0,placeholder:"Enter Solution here",value:a,onChange:function(e){c(e.target.value)},onKeyDown:function(t){if(null===e)return;const n=t.target.value;t.keyCode===i.a.ENTER&&""!==n&&(t.preventDefault(),e.onAttempt(a))},InputProps:{endAdornment:r.a.createElement(h.a,{onClick:()=>{e.onAttempt(a),d()}},"Solve")}}))}},,,,,,,,,,,,,,function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.d(__webpack_exports__,"a",(function(){return calculateRamUsage}));var acorn_walk__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__(360),acorn__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__(259),_RamCalculationErrorCodes__WEBPACK_IMPORTED_MODULE_2__=__webpack_require__(262),_Netscript_RamCostGenerator__WEBPACK_IMPORTED_MODULE_3__=__webpack_require__(13);const specialReferenceIF="__SPECIAL_referenceIf",specialReferenceFOR="__SPECIAL_referenceFor",specialReferenceWHILE="__SPECIAL_referenceWhile",memCheckGlobalKey=".__GLOBAL__";async function parseOnlyRamCalculate(otherScripts,code,workerScript){try{let dependencyMap={};const completedParses=new Set,parseQueue=[];function parseCode(e,t){const a=parseOnlyCalculateDeps(e,t);completedParses.add(t);for(let e=0;e0;){const nextModule=parseQueue.shift();if(void 0===nextModule)throw new Error("nextModule should not be undefined");let code;if(nextModule.startsWith("https://")||nextModule.startsWith("http://"))try{const module=await eval("import(nextModule)");code="";for(const e in module)"function"==typeof module[e]&&(code+=module[e].toString()+";\n")}catch(e){return console.error(`Error dynamically importing module from ${nextModule} for RAM calculations: ${e}`),_RamCalculationErrorCodes__WEBPACK_IMPORTED_MODULE_2__.a.URLImportError}else{if(!Array.isArray(otherScripts))return console.warn("parseOnlyRamCalculate() not called with array of scripts"),_RamCalculationErrorCodes__WEBPACK_IMPORTED_MODULE_2__.a.ImportError;let e=null;const t=nextModule.startsWith("./")?nextModule.slice(2):nextModule;for(const a of otherScripts)if(a.filename===t){e=a;break}if(null==e)return _RamCalculationErrorCodes__WEBPACK_IMPORTED_MODULE_2__.a.ImportError;code=e.code}parseCode(code,nextModule)}let ram=_Netscript_RamCostGenerator__WEBPACK_IMPORTED_MODULE_3__.a.ScriptBaseRamCost;const unresolvedRefs=Object.keys(dependencyMap).filter(e=>e.startsWith(initialModule)),resolvedRefs=new Set;for(;unresolvedRefs.length>0;){const e=unresolvedRefs.shift();if(void 0===e)throw new Error("ref should not be undefined");if("hacknet"!==e||resolvedRefs.has("hacknet")||(ram+=_Netscript_RamCostGenerator__WEBPACK_IMPORTED_MODULE_3__.a.ScriptHacknetNodesRamCost),"document"!==e||resolvedRefs.has("document")||(ram+=_Netscript_RamCostGenerator__WEBPACK_IMPORTED_MODULE_3__.a.ScriptDomRamCost),"window"!==e||resolvedRefs.has("window")||(ram+=_Netscript_RamCostGenerator__WEBPACK_IMPORTED_MODULE_3__.a.ScriptDomRamCost),resolvedRefs.add(e),e.endsWith(".*")){const t=e.slice(0,e.length-2);for(const e of Object.keys(dependencyMap).filter(e=>e.startsWith(t)))for(const t of dependencyMap[e]||[])resolvedRefs.has(t)||unresolvedRefs.push(t)}else for(const t of dependencyMap[e]||[])resolvedRefs.has(t)||unresolvedRefs.push(t);try{function applyFuncRam(e){if("function"!=typeof e)return 0;try{let t;return t="AsyncFunction"===e.constructor.name?0:e.apply(null,[]),"number"==typeof t?t:0}catch(e){return console.error("Error applying function: "+e),0}}if(workerScript.loadedFns[e])continue;let t;workerScript.loadedFns[e]=!0,t=e in workerScript.env.vars.bladeburner?workerScript.env.vars.bladeburner[e]:e in workerScript.env.vars.codingcontract?workerScript.env.vars.codingcontract[e]:e in workerScript.env.vars.gang?workerScript.env.vars.gang[e]:e in workerScript.env.vars.sleeve?workerScript.env.vars.sleeve[e]:workerScript.env.vars[e],ram+=applyFuncRam(t)}catch(e){continue}}return ram}catch(e){return _RamCalculationErrorCodes__WEBPACK_IMPORTED_MODULE_2__.a.SyntaxError}}function parseOnlyCalculateDeps(e,t){const a=Object(acorn__WEBPACK_IMPORTED_MODULE_1__.a)(e,{sourceType:"module",ecmaVersion:"latest"}),n=t+memCheckGlobalKey,r={};r[n]=new Set;const i={},o=[];function s(e,a){const n=r[e]||(r[e]=new Set),o=i[a];void 0!==o&&n.add(o),n.add(t+"."+a),n.add(a)}const l=Object.getOwnPropertyNames(Object.prototype);function c(){return{Identifier:(e,t)=>{l.includes(e.name)||s(t.key,e.name)},WhileStatement:(e,t,a)=>{s(t.key,specialReferenceWHILE),e.test&&a(e.test,t),e.body&&a(e.body,t)},DoWhileStatement:(e,t,a)=>{s(t.key,specialReferenceWHILE),e.test&&a(e.test,t),e.body&&a(e.body,t)},ForStatement:(e,t,a)=>{s(t.key,specialReferenceFOR),e.init&&a(e.init,t),e.test&&a(e.test,t),e.update&&a(e.update,t),e.body&&a(e.body,t)},IfStatement:(e,t,a)=>{s(t.key,specialReferenceIF),e.test&&a(e.test,t),e.consequent&&a(e.consequent,t),e.alternate&&a(e.alternate,t)},MemberExpression:(e,t,a)=>{e.object&&a(e.object,t),e.property&&a(e.property,t)}}}return acorn_walk__WEBPACK_IMPORTED_MODULE_0__.a(a,{key:n},Object.assign({ImportDeclaration:(e,t)=>{const a=e.source.value;o.push(a);const n=r[t.key];if(void 0===n)throw new Error("set should not be undefined");n.add(a+memCheckGlobalKey);for(let n=0;n{const a=t+"."+e.id.name;acorn_walk__WEBPACK_IMPORTED_MODULE_0__.a(e,{key:a},c())}},c())),{dependencyMap:r,additionalModules:o}}async function calculateRamUsage(e,t){const a={loadedFns:{},env:{vars:_Netscript_RamCostGenerator__WEBPACK_IMPORTED_MODULE_3__.b}};try{return await parseOnlyRamCalculate(t,e,a)}catch(e){return console.error("Failed to parse script for RAM calculations:"),console.error(e),_RamCalculationErrorCodes__WEBPACK_IMPORTED_MODULE_2__.a.SyntaxError}return _RamCalculationErrorCodes__WEBPACK_IMPORTED_MODULE_2__.a.SyntaxError}},function(e,t,a){"use strict";a.d(t,"a",(function(){return i}));var n=a(6),r=a(8);function i(e,t,a,i=1){const o=Math.max(Math.floor(t),0);let s=1+(n.a.ServerBaseGrowthRate-1)/e.hackDifficulty;s>n.a.ServerMaxGrowthRate&&(s=n.a.ServerMaxGrowthRate);const l=o*(e.serverGrowth/100)*r.a.ServerGrowthRate,c=1+(i-1)/16;return Math.pow(s,l*a.hacking_grow_mult*c)}},function(e,t,a){"use strict";function n(e){const t="(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)";return new RegExp(`^${t}.${t}.${t}.${t}$`).test(e)}a.d(t,"a",(function(){return n}))},function(e,t,a){"use strict";a.d(t,"a",(function(){return u})),a.d(t,"b",(function(){return m}));var n=a(0),r=a.n(n),i=a(42),o=a(26),s=a(131),l=a(1),c=a(10);const u=new s.a;function m(){const e=o.b.Router(),[t,a]=Object(n.useState)(!1);return Object(n.useEffect)(()=>u.subscribe(()=>a(!0)),[]),r.a.createElement(i.a,{open:t,onClose:()=>a(!1)},r.a.createElement(l.a,null,"WARNING: USING THIS PROGRAM WILL CAUSE YOU TO LOSE ALL OF YOUR PROGRESS ON THE CURRENT BITNODE.",r.a.createElement("br",null),r.a.createElement("br",null),"Do you want to travel to the BitNode Nexus? This allows you to reset the current BitNode and select a new one."),r.a.createElement("br",null),r.a.createElement("br",null),r.a.createElement(c.a,{onClick:function(){e.toBitVerse(!0,!1),a(!1)}},"Travel to the BitVerse"))}},function(e,t,a){"use strict";a.d(t,"a",(function(){return i}));var n=a(785),r=a(15);function i(e){const t=n.a[e];if(null==t)return;const a=`${t.title}
${t.txt}`;Object(r.a)(a)}},function(e,t,a){"use strict";a.d(t,"a",(function(){return o}));var n=a(0),r=a.n(n);class i{constructor(e,t,a,n,r,i,o){this.infoText=e,this.enemies=t,this.offerHackingMission=a,this.offerHackingWork=n,this.offerFieldWork=r,this.offerSecurityWork=i,this.augmentationPriceMult=1,this.augmentationRepRequirementMult=1,this.keep=o}offersWork(){return this.offerFieldWork||this.offerHackingMission||this.offerHackingWork||this.offerSecurityWork}}const o={Illuminati:new i(r.a.createElement(r.a.Fragment,null,"Humanity never changes. No matter how civilized society becomes, it will eventually fall back into chaos. And from this chaos, we are the invisible hand that guides them to order."," "),[],!0,!0,!0,!1,!1),Daedalus:new i(r.a.createElement(r.a.Fragment,null,"Yesterday we obeyed kings and bent our necks to emperors. Today we kneel only to truth."),[],!0,!0,!0,!1,!1),"The Covenant":new i(r.a.createElement(r.a.Fragment,null,"Surrender yourself. Give up your empty individuality to become part of something great, something eternal. Become a slave. Submit your mind, body, and soul. Only then can you set yourself free.",r.a.createElement("br",null),r.a.createElement("br",null),"Only then can you discover immortality."),[],!0,!0,!0,!1,!1),ECorp:new i(r.a.createElement(r.a.Fragment,null,"ECorp's mission is simple: to connect the world of today with the technology of tomorrow. With our wide range of Internet-related software and commercial hardware, ECorp makes the world's information universally accessible."),[],!0,!0,!0,!0,!0),MegaCorp:new i(r.a.createElement(r.a.Fragment,null,"MegaCorp does what no other dares to do. We imagine. We create. We invent. We create what others have never even dreamed of. Our work fills the world's needs for food, water, power, and transporation on an unprecendented scale, in ways that no other company can.",r.a.createElement("br",null),r.a.createElement("br",null),"In our labs and factories and on the ground with customers, MegaCorp is ushering in a new era for the world."),[],!0,!0,!0,!0,!0),"Bachman & Associates":new i(r.a.createElement(r.a.Fragment,null,"Where Law and Business meet - thats where we are.",r.a.createElement("br",null),r.a.createElement("br",null),"Legal Insight - Business Instinct - Innovative Experience."),[],!0,!0,!0,!0,!0),"Blade Industries":new i(r.a.createElement(r.a.Fragment,null,"Augmentation is Salvation."),[],!0,!0,!0,!0,!0),NWO:new i(r.a.createElement(r.a.Fragment,null,"Humans don't truly desire freedom. They want to be observed, understood, and judged. They want to be given purpose and direction in life. That is why they created God. And that is why they created civilization - not because of willingness, but because of a need to be incorporated into higher orders of structure and meaning."),[],!0,!0,!0,!0,!0),"Clarke Incorporated":new i(r.a.createElement(r.a.Fragment,null,"The Power of the Genome - Unlocked."),[],!0,!0,!0,!0,!0),"OmniTek Incorporated":new i(r.a.createElement(r.a.Fragment,null,"Simply put, our mission is to design and build robots that make a difference."),[],!0,!0,!0,!0,!0),"Four Sigma":new i(r.a.createElement(r.a.Fragment,null,"The scientific method is the best way to approach investing. Big strategies backed up with big data. Driven by deep learning and innovative ideas. And improved by iteration. That's Four Sigma."),[],!0,!0,!0,!0,!0),"KuaiGong International":new i(r.a.createElement(r.a.Fragment,null,"Dream big. Work hard. Make history."),[],!0,!0,!0,!0,!0),"Fulcrum Secret Technologies":new i(r.a.createElement(r.a.Fragment,null,"The human organism has an innate desire to worship. That is why they created gods. If there were no gods, it would be necessary to create them. And now we can."),[],!0,!0,!1,!0,!0),BitRunners:new i(r.a.createElement(r.a.Fragment,null,"Our entire lives are controlled by bits. All of our actions, our thoughts, our personal information. It's all transformed into bits, stored in bits, communicated through bits. It’s impossible for any person to move, to live, to operate at any level without the use of bits. And when a person moves, lives, and operates, they leave behind their bits, mere traces of seemingly meaningless fragments of information. But these bits can be reconstructed. Transformed. Used.",r.a.createElement("br",null),r.a.createElement("br",null),"Those who run the bits, run the world."),[],!0,!0,!1,!1,!1),"The Black Hand":new i(r.a.createElement(r.a.Fragment,null,"The world, so afraid of strong government, now has no government. Only power - Digital power. Financial power. Technological power. And those at the top rule with an invisible hand. They built a society where the rich get richer, and everyone else suffers.",r.a.createElement("br",null),r.a.createElement("br",null),"So much pain. So many lives. Their darkness must end."),[],!0,!0,!0,!1,!1),NiteSec:new i(r.a.createElement(r.a.Fragment,null," __..__ ",r.a.createElement("br",null)," _.nITESECNIt. ",r.a.createElement("br",null)," .-'NITESECNITESEc. ",r.a.createElement("br",null)," .' NITESECNITESECn ",r.a.createElement("br",null)," / NITESECNITESEC; ",r.a.createElement("br",null)," : :NITESECNITESEC; ",r.a.createElement("br",null)," ; $ NITESECNITESECN ",r.a.createElement("br",null)," : _, ,N'ITESECNITESEC ",r.a.createElement("br",null)," : .+^^`, : `NITESECNIT ",r.a.createElement("br",null)," ) /), `-,-=,NITESECNI ",r.a.createElement("br",null)," / ^ ,-;|NITESECN; ",r.a.createElement("br",null)," / _.' '-';NITESECN ",r.a.createElement("br",null)," ( , ,-''`^NITE' ",r.a.createElement("br",null)," )` :`. .' ",r.a.createElement("br",null)," )-- ; `- / ",r.a.createElement("br",null)," ' _.-' : ",r.a.createElement("br",null)," ( _.-' . ",r.a.createElement("br",null)," ------. ",r.a.createElement("br",null)," . ",r.a.createElement("br",null)," _.nIt ",r.a.createElement("br",null)," _.nITESECNi ",r.a.createElement("br",null)," nITESECNIT^' ",r.a.createElement("br",null)," NITE^' ___ ",r.a.createElement("br",null)," / .gP''''Tp. ",r.a.createElement("br",null)," : d' . `b ",r.a.createElement("br",null)," ; d' o `b ; ",r.a.createElement("br",null)," / d; `b| ",r.a.createElement("br",null)," /, $; @ `: ",r.a.createElement("br",null)," /' $$ ; ",r.a.createElement("br",null)," .' $$b o | ",r.a.createElement("br",null)," .' d$$$; : ",r.a.createElement("br",null)," / .d$$$$; , ; ",r.a.createElement("br",null)," d .dNITESEC $ | ",r.a.createElement("br",null)," :bp.__.gNITESEC$$ :$ ; ",r.a.createElement("br",null)," NITESECNITESECNIT $$b : ",r.a.createElement("br",null)),[],!0,!0,!1,!1,!1),Aevum:new i(r.a.createElement(r.a.Fragment,null,"The Silicon City."),["Chongqing","New Tokyo","Ishima","Volhaven"],!0,!0,!0,!0,!1),Chongqing:new i(r.a.createElement(r.a.Fragment,null,"Serve the People."),["Sector-12","Aevum","Volhaven"],!0,!0,!0,!0,!1),Ishima:new i(r.a.createElement(r.a.Fragment,null,"The East Asian Order of the Future."),["Sector-12","Aevum","Volhaven"],!0,!0,!0,!0,!1),"New Tokyo":new i(r.a.createElement(r.a.Fragment,null,"Asia's World City."),["Sector-12","Aevum","Volhaven"],!0,!0,!0,!0,!1),"Sector-12":new i(r.a.createElement(r.a.Fragment,null,"The City of the Future."),["Chongqing","New Tokyo","Ishima","Volhaven"],!0,!0,!0,!0,!1),Volhaven:new i(r.a.createElement(r.a.Fragment,null,"Benefit, Honor, and Glory."),["Chongqing","Sector-12","New Tokyo","Aevum","Ishima"],!0,!0,!0,!0,!1),"Speakers for the Dead":new i(r.a.createElement(r.a.Fragment,null,"It is better to reign in Hell than to serve in Heaven."),[],!0,!0,!0,!0,!1),"The Dark Army":new i(r.a.createElement(r.a.Fragment,null,"The World doesn't care about right or wrong. It only cares about power."),[],!0,!0,!0,!1,!1),"The Syndicate":new i(r.a.createElement(r.a.Fragment,null,"Honor holds you back."),[],!0,!0,!0,!0,!1),Silhouette:new i(r.a.createElement(r.a.Fragment,null,"Corporations have filled the void of power left behind by the collapse of Western government. The issue is they've become so big that you don't know who they're working for. And if you're employed at one of these corporations, you don't even know who you're working for.",r.a.createElement("br",null),r.a.createElement("br",null),"That's terror. Terror, fear, and corruption. All born into the system, all propagated by the system."),[],!0,!0,!0,!1,!1),Tetrads:new i(r.a.createElement(r.a.Fragment,null,"Following the mandate of Heaven and carrying out the way."),[],!1,!1,!0,!0,!1),"Slum Snakes":new i(r.a.createElement(r.a.Fragment,null,"Slum Snakes rule!"),[],!1,!1,!0,!0,!1),Netburners:new i(r.a.createElement(r.a.Fragment,null,"~~//*>H4CK||3T 8URN3R5**>?>\\~~"),[],!0,!0,!1,!1,!1),"Tian Di Hui":new i(r.a.createElement(r.a.Fragment,null,"Obey Heaven and work righteously."),[],!0,!0,!1,!0,!1),CyberSec:new i(r.a.createElement(r.a.Fragment,null,"The Internet is the first thing that was built that we don't fully understand, the largest experiment in anarchy that we have ever had. And as the world becomes increasingly dominated by it, society approaches the brink of total chaos. We serve only to protect society, to protect humanity, to protect the world from imminent collapse."),[],!0,!0,!1,!1,!1),Bladeburners:new i(r.a.createElement(r.a.Fragment,null,"It's too bad they won't live. But then again, who does?",r.a.createElement("br",null),r.a.createElement("br",null),"Note that for this faction, reputation can only be gained through Bladeburner actions. Completing Bladeburner contracts/operations will increase your reputation."),[],!1,!1,!1,!1,!1)}},function(e,t,a){"use strict";a.d(t,"a",(function(){return m})),a.d(t,"b",(function(){return h}));var n=a(0),r=a.n(n),i=a(116),o=a(42),s=a(26),l=a(131),c=a(1),u=a(10);const m=new l.a;function h(){const[e,t]=Object(n.useState)(null),a=s.b.Player();return Object(n.useEffect)(()=>m.subscribe(e=>t(e)),[]),r.a.createElement(o.a,{open:null!==e,onClose:()=>t(null)},r.a.createElement(c.a,{variant:"h4"},"You have received a faction invitation."),r.a.createElement(c.a,null,"Would you like to join ",(e||{name:""}).name,"? ",r.a.createElement("br",null),r.a.createElement("br",null),"Warning: Joining this faction may prevent you from joining other factions during this run!"),r.a.createElement(u.a,{onClick:function(){if(null===e)return;-1===a.factionInvitations.findIndex(t=>t===e.name)&&console.error("Could not find faction in Player.factionInvitations"),Object(i.d)(e),t(null)}},"Join!"),r.a.createElement(u.a,{onClick:()=>t(null)},"Decide later"))}},function(e,t,a){"use strict";a.d(t,"a",(function(){return r}));var n=a(259),r=function(e,t,a=0){this.sourceCode=e,this.sourceCodeLineOffset=a,"string"==typeof e&&(e=n.a(e,r.PARSE_OPTIONS)),this.ast=e,this.initFunc_=t,this.paused_=!1,this.polyfills_=[],this.functionCounter_=0,this.stepFunctions_=Object.create(null);var i,o,s=/^step([A-Z]\w*)$/;for(var l in this)"function"==typeof this[l]&&(i=l.match(s))&&(this.stepFunctions_[i[1]]=this[l].bind(this));this.global=this.createScope(this.ast,null),this.ast=n.a(this.polyfills_.join("\n"),r.PARSE_OPTIONS),this.polyfills_=void 0,this.stripLocations_(this.ast,void 0,void 0),(o=new r.State(this.ast,this.global)).done=!1,this.stateStack=[o],this.run(),this.value=void 0,this.ast=e,(o=new r.State(this.ast,this.global)).done=!1,this.stateStack.length=0,this.stateStack[0]=o,this.nodeConstructor=o.node.constructor,this.stateStack=this.stateStack};
+!function(e){function t(t){for(var n,o,s=t[0],l=t[1],c=t[2],m=0,h=[];m0,purchaseNode:()=>0,getPurchaseNodeCost:()=>0,getNodeStats:()=>0,upgradeLevel:()=>0,upgradeRam:()=>0,upgradeCore:()=>0,upgradeCache:()=>0,getLevelUpgradeCost:()=>0,getRamUpgradeCost:()=>0,getCoreUpgradeCost:()=>0,getCacheUpgradeCost:()=>0,numHashes:()=>0,hashCost:()=>0,spendHashes:()=>0},sprintf:()=>0,vsprintf:()=>0,scan:()=>n.ScriptScanRamCost,hack:()=>n.ScriptHackRamCost,hackAnalyzeThreads:()=>n.ScriptHackAnalyzeRamCost,hackAnalyzePercent:()=>n.ScriptHackAnalyzeRamCost,hackChance:()=>n.ScriptHackAnalyzeRamCost,sleep:()=>0,grow:()=>n.ScriptGrowRamCost,growthAnalyze:()=>n.ScriptGrowthAnalyzeRamCost,weaken:()=>n.ScriptWeakenRamCost,print:()=>0,tprint:()=>0,clearLog:()=>0,disableLog:()=>0,enableLog:()=>0,isLogEnabled:()=>0,getScriptLogs:()=>0,nuke:()=>n.ScriptPortProgramRamCost,brutessh:()=>n.ScriptPortProgramRamCost,ftpcrack:()=>n.ScriptPortProgramRamCost,relaysmtp:()=>n.ScriptPortProgramRamCost,httpworm:()=>n.ScriptPortProgramRamCost,sqlinject:()=>n.ScriptPortProgramRamCost,run:()=>n.ScriptRunRamCost,exec:()=>n.ScriptExecRamCost,spawn:()=>n.ScriptSpawnRamCost,kill:()=>n.ScriptKillRamCost,killall:()=>n.ScriptKillRamCost,exit:()=>0,scp:()=>n.ScriptScpRamCost,ls:()=>n.ScriptScanRamCost,ps:()=>n.ScriptScanRamCost,hasRootAccess:()=>n.ScriptHasRootAccessRamCost,getIp:()=>n.ScriptGetHostnameRamCost,getHostname:()=>n.ScriptGetHostnameRamCost,getHackingLevel:()=>n.ScriptGetHackingLevelRamCost,getHackingMultipliers:()=>n.ScriptGetMultipliersRamCost,getHacknetMultipliers:()=>n.ScriptGetMultipliersRamCost,getBitNodeMultipliers:()=>n.ScriptGetMultipliersRamCost,getServer:()=>n.ScriptGetMultipliersRamCost/2,getServerMoneyAvailable:()=>n.ScriptGetServerRamCost,getServerSecurityLevel:()=>n.ScriptGetServerRamCost,getServerBaseSecurityLevel:()=>n.ScriptGetServerRamCost,getServerMinSecurityLevel:()=>n.ScriptGetServerRamCost,getServerRequiredHackingLevel:()=>n.ScriptGetServerRamCost,getServerMaxMoney:()=>n.ScriptGetServerRamCost,getServerGrowth:()=>n.ScriptGetServerRamCost,getServerNumPortsRequired:()=>n.ScriptGetServerRamCost,getServerRam:()=>n.ScriptGetServerRamCost,getServerMaxRam:()=>n.ScriptGetServerMaxRam,getServerUsedRam:()=>n.ScriptGetServerUsedRam,serverExists:()=>n.ScriptGetServerRamCost,fileExists:()=>n.ScriptFileExistsRamCost,isRunning:()=>n.ScriptIsRunningRamCost,getStockSymbols:()=>n.ScriptGetStockRamCost,getStockPrice:()=>n.ScriptGetStockRamCost,getStockAskPrice:()=>n.ScriptGetStockRamCost,getStockBidPrice:()=>n.ScriptGetStockRamCost,getStockPosition:()=>n.ScriptGetStockRamCost,getStockMaxShares:()=>n.ScriptGetStockRamCost,getStockPurchaseCost:()=>n.ScriptGetStockRamCost,getStockSaleGain:()=>n.ScriptGetStockRamCost,buyStock:()=>n.ScriptBuySellStockRamCost,sellStock:()=>n.ScriptBuySellStockRamCost,shortStock:()=>n.ScriptBuySellStockRamCost,sellShort:()=>n.ScriptBuySellStockRamCost,placeOrder:()=>n.ScriptBuySellStockRamCost,cancelOrder:()=>n.ScriptBuySellStockRamCost,getOrders:()=>n.ScriptBuySellStockRamCost,getStockVolatility:()=>n.ScriptBuySellStockRamCost,getStockForecast:()=>n.ScriptBuySellStockRamCost,purchase4SMarketData:()=>n.ScriptBuySellStockRamCost,purchase4SMarketDataTixApi:()=>n.ScriptBuySellStockRamCost,getPurchasedServerLimit:()=>n.ScriptGetPurchasedServerLimit,getPurchasedServerMaxRam:()=>n.ScriptGetPurchasedServerMaxRam,getPurchasedServerCost:()=>n.ScriptGetPurchaseServerRamCost,purchaseServer:()=>n.ScriptPurchaseServerRamCost,deleteServer:()=>n.ScriptPurchaseServerRamCost,getPurchasedServers:()=>n.ScriptPurchaseServerRamCost,write:()=>n.ScriptReadWriteRamCost,tryWrite:()=>n.ScriptReadWriteRamCost,read:()=>n.ScriptReadWriteRamCost,peek:()=>n.ScriptReadWriteRamCost,clear:()=>n.ScriptReadWriteRamCost,getPortHandle:()=>10*n.ScriptReadWriteRamCost,rm:()=>n.ScriptReadWriteRamCost,scriptRunning:()=>n.ScriptArbScriptRamCost,scriptKill:()=>n.ScriptArbScriptRamCost,getScriptName:()=>0,getScriptRam:()=>n.ScriptGetScriptRamCost,getHackTime:()=>n.ScriptGetHackTimeRamCost,getGrowTime:()=>n.ScriptGetHackTimeRamCost,getWeakenTime:()=>n.ScriptGetHackTimeRamCost,getScriptIncome:()=>n.ScriptGetScriptRamCost,getScriptExpGain:()=>n.ScriptGetScriptRamCost,getRunningScript:()=>n.ScriptGetRunningScriptRamCost,nFormat:()=>0,getTimeSinceLastAug:()=>n.ScriptGetHackTimeRamCost,prompt:()=>0,wget:()=>0,getFavorToDonate:()=>n.ScriptGetFavorToDonate,universityCourse:()=>n.ScriptSingularityFn1RamCost,gymWorkout:()=>n.ScriptSingularityFn1RamCost,travelToCity:()=>n.ScriptSingularityFn1RamCost,purchaseTor:()=>n.ScriptSingularityFn1RamCost,purchaseProgram:()=>n.ScriptSingularityFn1RamCost,getCurrentServer:()=>n.ScriptSingularityFn1RamCost,connect:()=>n.ScriptSingularityFn1RamCost,manualHack:()=>n.ScriptSingularityFn1RamCost,installBackdoor:()=>n.ScriptSingularityFn1RamCost,getStats:()=>n.ScriptSingularityFn1RamCost/4,getCharacterInformation:()=>n.ScriptSingularityFn1RamCost/4,getPlayer:()=>n.ScriptSingularityFn1RamCost/4,hospitalize:()=>n.ScriptSingularityFn1RamCost/4,isBusy:()=>n.ScriptSingularityFn1RamCost/4,stopAction:()=>n.ScriptSingularityFn1RamCost/2,upgradeHomeRam:()=>n.ScriptSingularityFn2RamCost,getUpgradeHomeRamCost:()=>n.ScriptSingularityFn2RamCost/2,workForCompany:()=>n.ScriptSingularityFn2RamCost,applyToCompany:()=>n.ScriptSingularityFn2RamCost,getCompanyRep:()=>n.ScriptSingularityFn2RamCost/3,getCompanyFavor:()=>n.ScriptSingularityFn2RamCost/3,getCompanyFavorGain:()=>n.ScriptSingularityFn2RamCost/4,checkFactionInvitations:()=>n.ScriptSingularityFn2RamCost,joinFaction:()=>n.ScriptSingularityFn2RamCost,workForFaction:()=>n.ScriptSingularityFn2RamCost,getFactionRep:()=>n.ScriptSingularityFn2RamCost/3,getFactionFavor:()=>n.ScriptSingularityFn2RamCost/3,getFactionFavorGain:()=>n.ScriptSingularityFn2RamCost/4,donateToFaction:()=>n.ScriptSingularityFn3RamCost,createProgram:()=>n.ScriptSingularityFn3RamCost,commitCrime:()=>n.ScriptSingularityFn3RamCost,getCrimeChance:()=>n.ScriptSingularityFn3RamCost,getCrimeStats:()=>n.ScriptSingularityFn3RamCost,getOwnedAugmentations:()=>n.ScriptSingularityFn3RamCost,getOwnedSourceFiles:()=>n.ScriptSingularityFn3RamCost,getAugmentationsFromFaction:()=>n.ScriptSingularityFn3RamCost,getAugmentationCost:()=>n.ScriptSingularityFn3RamCost,getAugmentationPrereq:()=>n.ScriptSingularityFn3RamCost,getAugmentationPrice:()=>n.ScriptSingularityFn3RamCost/2,getAugmentationRepReq:()=>n.ScriptSingularityFn3RamCost/2,getAugmentationStats:()=>n.ScriptSingularityFn3RamCost,purchaseAugmentation:()=>n.ScriptSingularityFn3RamCost,softReset:()=>n.ScriptSingularityFn3RamCost,installAugmentations:()=>n.ScriptSingularityFn3RamCost,gang:{createGang:()=>n.ScriptGangApiBaseRamCost/4,inGang:()=>n.ScriptGangApiBaseRamCost/4,getMemberNames:()=>n.ScriptGangApiBaseRamCost/4,getGangInformation:()=>n.ScriptGangApiBaseRamCost/2,getOtherGangInformation:()=>n.ScriptGangApiBaseRamCost/2,getMemberInformation:()=>n.ScriptGangApiBaseRamCost/2,canRecruitMember:()=>n.ScriptGangApiBaseRamCost/4,recruitMember:()=>n.ScriptGangApiBaseRamCost/2,getTaskNames:()=>n.ScriptGangApiBaseRamCost/4,getTaskStats:()=>n.ScriptGangApiBaseRamCost/4,setMemberTask:()=>n.ScriptGangApiBaseRamCost/2,getEquipmentNames:()=>n.ScriptGangApiBaseRamCost/4,getEquipmentCost:()=>n.ScriptGangApiBaseRamCost/2,getEquipmentType:()=>n.ScriptGangApiBaseRamCost/2,getEquipmentStats:()=>n.ScriptGangApiBaseRamCost/2,purchaseEquipment:()=>n.ScriptGangApiBaseRamCost,ascendMember:()=>n.ScriptGangApiBaseRamCost,setTerritoryWarfare:()=>n.ScriptGangApiBaseRamCost/2,getChanceToWinClash:()=>n.ScriptGangApiBaseRamCost,getBonusTime:()=>0},bladeburner:{getContractNames:()=>n.ScriptBladeburnerApiBaseRamCost/10,getOperationNames:()=>n.ScriptBladeburnerApiBaseRamCost/10,getBlackOpNames:()=>n.ScriptBladeburnerApiBaseRamCost/10,getBlackOpRank:()=>n.ScriptBladeburnerApiBaseRamCost/2,getGeneralActionNames:()=>n.ScriptBladeburnerApiBaseRamCost/10,getSkillNames:()=>n.ScriptBladeburnerApiBaseRamCost/10,startAction:()=>n.ScriptBladeburnerApiBaseRamCost,stopBladeburnerAction:()=>n.ScriptBladeburnerApiBaseRamCost/2,getCurrentAction:()=>n.ScriptBladeburnerApiBaseRamCost/4,getActionTime:()=>n.ScriptBladeburnerApiBaseRamCost,getActionEstimatedSuccessChance:()=>n.ScriptBladeburnerApiBaseRamCost,getActionRepGain:()=>n.ScriptBladeburnerApiBaseRamCost,getActionCountRemaining:()=>n.ScriptBladeburnerApiBaseRamCost,getActionMaxLevel:()=>n.ScriptBladeburnerApiBaseRamCost,getActionCurrentLevel:()=>n.ScriptBladeburnerApiBaseRamCost,getActionAutolevel:()=>n.ScriptBladeburnerApiBaseRamCost,setActionAutolevel:()=>n.ScriptBladeburnerApiBaseRamCost,setActionLevel:()=>n.ScriptBladeburnerApiBaseRamCost,getRank:()=>n.ScriptBladeburnerApiBaseRamCost,getSkillPoints:()=>n.ScriptBladeburnerApiBaseRamCost,getSkillLevel:()=>n.ScriptBladeburnerApiBaseRamCost,getSkillUpgradeCost:()=>n.ScriptBladeburnerApiBaseRamCost,upgradeSkill:()=>n.ScriptBladeburnerApiBaseRamCost,getTeamSize:()=>n.ScriptBladeburnerApiBaseRamCost,setTeamSize:()=>n.ScriptBladeburnerApiBaseRamCost,getCityEstimatedPopulation:()=>n.ScriptBladeburnerApiBaseRamCost,getCityEstimatedCommunities:()=>n.ScriptBladeburnerApiBaseRamCost,getCityChaos:()=>n.ScriptBladeburnerApiBaseRamCost,getCity:()=>n.ScriptBladeburnerApiBaseRamCost,switchCity:()=>n.ScriptBladeburnerApiBaseRamCost,getStamina:()=>n.ScriptBladeburnerApiBaseRamCost,joinBladeburnerFaction:()=>n.ScriptBladeburnerApiBaseRamCost,joinBladeburnerDivision:()=>n.ScriptBladeburnerApiBaseRamCost,getBonusTime:()=>0},codingcontract:{attempt:()=>n.ScriptCodingContractBaseRamCost,getContractType:()=>n.ScriptCodingContractBaseRamCost/2,getData:()=>n.ScriptCodingContractBaseRamCost/2,getDescription:()=>n.ScriptCodingContractBaseRamCost/2,getNumTriesRemaining:()=>n.ScriptCodingContractBaseRamCost/5},sleeve:{getNumSleeves:()=>n.ScriptSleeveBaseRamCost,setToShockRecovery:()=>n.ScriptSleeveBaseRamCost,setToSynchronize:()=>n.ScriptSleeveBaseRamCost,setToCommitCrime:()=>n.ScriptSleeveBaseRamCost,setToUniversityCourse:()=>n.ScriptSleeveBaseRamCost,travel:()=>n.ScriptSleeveBaseRamCost,setToCompanyWork:()=>n.ScriptSleeveBaseRamCost,setToFactionWork:()=>n.ScriptSleeveBaseRamCost,setToGymWorkout:()=>n.ScriptSleeveBaseRamCost,getSleeveStats:()=>n.ScriptSleeveBaseRamCost,getTask:()=>n.ScriptSleeveBaseRamCost,getInformation:()=>n.ScriptSleeveBaseRamCost,getSleeveAugmentations:()=>n.ScriptSleeveBaseRamCost,getSleevePurchasableAugs:()=>n.ScriptSleeveBaseRamCost,purchaseSleeveAug:()=>n.ScriptSleeveBaseRamCost},heart:{break:()=>0}};function i(...e){if(0===e.length)return console.warn("No arguments passed to getRamCost()"),0;let t=r[e[0]];for(let a=1;aObject(o.a)({unbuyable:{color:e.palette.action.disabled},money:{color:e.colors.money}}));function l(e){const t=s();if(void 0!==e.player){if("number"!=typeof e.money)throw new Error("if player if provided, money should be number, contact dev");if(!e.player.canAfford(e.money))return n.createElement("span",{className:t.unbuyable},r.a.formatMoney(e.money))}return n.createElement("span",{className:t.money},"number"==typeof e.money?r.a.formatMoney(e.money):e.money)}},,function(e,t,a){"use strict";a.d(t,"a",(function(){return n}));const n={}},function(e,t,a){"use strict";function n(e,t){if(null==t)return console.log("Reviver WRONGLY called with key: "+e+", and value: "+t),0;if("object"==typeof t&&"string"==typeof t.ctor&&void 0!==t.data){if("AllServersMap"===t.ctor)return console.log("Converting AllServersMap for v0.43.1"),t.data;const e=n.constructors[t.ctor];if("function"==typeof e&&"function"==typeof e.fromJSON)return e.fromJSON(t)}return t}function r(e,t,a){a||(a=Object.keys(t));const n={};for(let e=0;e{let t=""+e%1e3;for(;t.length<3;)t="0"+t;return t})();let u="";return n>0&&(u+=n+" days "),i>0&&(u+=i+" hours "),s>0&&(u+=s+" minutes "),u+=(t?`${l}.${c}`:""+l)+" seconds",u}function i(e){if(!o(e))return"";if(0===e.length)return"";const t=e.concat().sort(),a=t[0],n=t[t.length-1],r=a.length;let i=0;for(;iObject(n.useContext)(i.Player),Router:()=>Object(n.useContext)(i.Router)}},,,function(e,t,a){"use strict";function n(e,t){const a=Math.min(e,t),n=Math.max(e,t);return Math.floor(Math.random()*(n-a+1))+a}a.d(t,"a",(function(){return n}))},function(e,t,a){"use strict";let n;a.d(t,"a",(function(){return n})),function(e){e[e.ActiveScripts=0]="ActiveScripts",e[e.Augmentations=1]="Augmentations",e[e.BitVerse=2]="BitVerse",e[e.Bladeburner=3]="Bladeburner",e[e.City=4]="City",e[e.Corporation=5]="Corporation",e[e.CreateProgram=6]="CreateProgram",e[e.CreateScript=7]="CreateScript",e[e.DevMenu=8]="DevMenu",e[e.Faction=9]="Faction",e[e.Factions=10]="Factions",e[e.Gang=11]="Gang",e[e.Hacknet=12]="Hacknet",e[e.Infiltration=13]="Infiltration",e[e.Job=14]="Job",e[e.Milestones=15]="Milestones",e[e.Options=16]="Options",e[e.Resleeves=17]="Resleeves",e[e.Sleeves=18]="Sleeves",e[e.Stats=19]="Stats",e[e.StockMarket=20]="StockMarket",e[e.Terminal=21]="Terminal",e[e.Travel=22]="Travel",e[e.Tutorial=23]="Tutorial",e[e.Work=24]="Work",e[e.BladeburnerCinematic=25]="BladeburnerCinematic",e[e.Location=26]="Location",e[e.Loading=27]="Loading"}(n||(n={}))},,,,,function(e,t,a){"use strict";a.d(t,"a",(function(){return u}));var n=a(0),r=a(8),i=a(24),o=a(4),s=a(18),l=a(21);function c(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}class u{constructor(e={info:"",moneyCost:0,name:"",repCost:0}){c(this,"baseCost",0),c(this,"baseRepRequirement",0),c(this,"isSpecial",!1),c(this,"level",0),c(this,"name",""),c(this,"owned",!1),c(this,"prereqs",[]),c(this,"mults",{}),c(this,"startingCost",0),this.name=e.name,this.info=e.info,this.prereqs=e.prereqs?e.prereqs:[],this.baseRepRequirement=e.repCost*r.a.AugmentationRepCost,this.baseCost=e.moneyCost*r.a.AugmentationMoneyCost,this.startingCost=this.baseCost,e.isSpecial&&(this.isSpecial=!0),this.level=0,e.hacking_mult&&(this.mults.hacking_mult=e.hacking_mult),e.strength_mult&&(this.mults.strength_mult=e.strength_mult),e.defense_mult&&(this.mults.defense_mult=e.defense_mult),e.dexterity_mult&&(this.mults.dexterity_mult=e.dexterity_mult),e.agility_mult&&(this.mults.agility_mult=e.agility_mult),e.charisma_mult&&(this.mults.charisma_mult=e.charisma_mult),e.hacking_exp_mult&&(this.mults.hacking_exp_mult=e.hacking_exp_mult),e.strength_exp_mult&&(this.mults.strength_exp_mult=e.strength_exp_mult),e.defense_exp_mult&&(this.mults.defense_exp_mult=e.defense_exp_mult),e.dexterity_exp_mult&&(this.mults.dexterity_exp_mult=e.dexterity_exp_mult),e.agility_exp_mult&&(this.mults.agility_exp_mult=e.agility_exp_mult),e.charisma_exp_mult&&(this.mults.charisma_exp_mult=e.charisma_exp_mult),e.hacking_chance_mult&&(this.mults.hacking_chance_mult=e.hacking_chance_mult),e.hacking_speed_mult&&(this.mults.hacking_speed_mult=e.hacking_speed_mult),e.hacking_money_mult&&(this.mults.hacking_money_mult=e.hacking_money_mult),e.hacking_grow_mult&&(this.mults.hacking_grow_mult=e.hacking_grow_mult),e.company_rep_mult&&(this.mults.company_rep_mult=e.company_rep_mult),e.faction_rep_mult&&(this.mults.faction_rep_mult=e.faction_rep_mult),e.crime_money_mult&&(this.mults.crime_money_mult=e.crime_money_mult),e.crime_success_mult&&(this.mults.crime_success_mult=e.crime_success_mult),e.work_money_mult&&(this.mults.work_money_mult=e.work_money_mult),e.hacknet_node_money_mult&&(this.mults.hacknet_node_money_mult=e.hacknet_node_money_mult),e.hacknet_node_purchase_cost_mult&&(this.mults.hacknet_node_purchase_cost_mult=e.hacknet_node_purchase_cost_mult),e.hacknet_node_ram_cost_mult&&(this.mults.hacknet_node_ram_cost_mult=e.hacknet_node_ram_cost_mult),e.hacknet_node_core_cost_mult&&(this.mults.hacknet_node_core_cost_mult=e.hacknet_node_core_cost_mult),e.hacknet_node_level_cost_mult&&(this.mults.hacknet_node_level_cost_mult=e.hacknet_node_level_cost_mult),e.bladeburner_max_stamina_mult&&(this.mults.bladeburner_max_stamina_mult=e.bladeburner_max_stamina_mult),e.bladeburner_stamina_gain_mult&&(this.mults.bladeburner_stamina_gain_mult=e.bladeburner_stamina_gain_mult),e.bladeburner_analysis_mult&&(this.mults.bladeburner_analysis_mult=e.bladeburner_analysis_mult),e.bladeburner_success_chance_mult&&(this.mults.bladeburner_success_chance_mult=e.bladeburner_success_chance_mult),void 0===e.stats?this.stats=function(e,t,a){const r=(e,t=0)=>e===1.0777-1?"7.77%":e===1.777-1?"77.7%":o.a.formatPercentage(e,t);let i=n.createElement(n.Fragment,null,"Effects:");return e.hacking_mult&&e.hacking_mult==e.strength_mult&&e.hacking_mult==e.defense_mult&&e.hacking_mult==e.dexterity_mult&&e.hacking_mult==e.agility_mult&&e.hacking_mult==e.charisma_mult?i=n.createElement(n.Fragment,null,i,n.createElement("br",null),"+",r(e.hacking_mult-1)," all skills"):(e.hacking_mult&&(i=n.createElement(n.Fragment,null,i,n.createElement("br",null),"+",r(e.hacking_mult-1)," hacking skill")),e.strength_mult&&e.strength_mult==e.defense_mult&&e.strength_mult==e.dexterity_mult&&e.strength_mult==e.agility_mult?i=n.createElement(n.Fragment,null,i,n.createElement("br",null),"+",r(e.strength_mult-1)," combat skills"):(e.strength_mult&&(i=n.createElement(n.Fragment,null,i,n.createElement("br",null),"+",r(e.strength_mult-1)," strength skill")),e.defense_mult&&(i=n.createElement(n.Fragment,null,i,n.createElement("br",null),"+",r(e.defense_mult-1)," defense skill")),e.dexterity_mult&&(i=n.createElement(n.Fragment,null,i,n.createElement("br",null),"+",r(e.dexterity_mult-1)," dexterity skill")),e.agility_mult&&(i=n.createElement(n.Fragment,null,i,n.createElement("br",null),"+",r(e.agility_mult-1)," agility skill"))),e.charisma_mult&&(i=n.createElement(n.Fragment,null,i,n.createElement("br",null),"+",r(e.charisma_mult-1)," Charisma skill"))),e.hacking_exp_mult&&e.hacking_exp_mult===e.strength_exp_mult&&e.hacking_exp_mult===e.defense_exp_mult&&e.hacking_exp_mult===e.dexterity_exp_mult&&e.hacking_exp_mult===e.agility_exp_mult&&e.hacking_exp_mult===e.charisma_exp_mult?i=n.createElement(n.Fragment,null,i,n.createElement("br",null),"+",r(e.hacking_exp_mult-1)," exp for all skills"):(e.hacking_exp_mult&&(i=n.createElement(n.Fragment,null,i,n.createElement("br",null),"+",r(e.hacking_exp_mult-1)," hacking exp")),e.strength_exp_mult&&e.strength_exp_mult===e.defense_exp_mult&&e.strength_exp_mult===e.dexterity_exp_mult&&e.strength_exp_mult===e.agility_exp_mult?i=n.createElement(n.Fragment,null,i,n.createElement("br",null),"+",r(e.strength_exp_mult-1)," combat exp"):(e.strength_exp_mult&&(i=n.createElement(n.Fragment,null,i,n.createElement("br",null),"+",r(e.strength_exp_mult-1)," strength exp")),e.defense_exp_mult&&(i=n.createElement(n.Fragment,null,i,n.createElement("br",null),"+",r(e.defense_exp_mult-1)," defense exp")),e.dexterity_exp_mult&&(i=n.createElement(n.Fragment,null,i,n.createElement("br",null),"+",r(e.dexterity_exp_mult-1)," dexterity exp")),e.agility_exp_mult&&(i=n.createElement(n.Fragment,null,i,n.createElement("br",null),"+",r(e.agility_exp_mult-1)," agility exp"))),e.charisma_exp_mult&&(i=n.createElement(n.Fragment,null,i,n.createElement("br",null),"+",r(e.charisma_exp_mult-1)," charisma exp"))),e.hacking_speed_mult&&(i=n.createElement(n.Fragment,null,i,n.createElement("br",null),"+",r(e.hacking_speed_mult-1)," faster hack(), grow(), and weaken()")),e.hacking_chance_mult&&(i=n.createElement(n.Fragment,null,i,n.createElement("br",null),"+",r(e.hacking_chance_mult-1)," hack() success chance")),e.hacking_money_mult&&(i=n.createElement(n.Fragment,null,i,n.createElement("br",null),"+",r(e.hacking_money_mult-1)," hack() power")),e.hacking_grow_mult&&(i=n.createElement(n.Fragment,null,i,n.createElement("br",null),"+",r(e.hacking_grow_mult-1)," grow() power")),e.faction_rep_mult&&e.faction_rep_mult===e.company_rep_mult?i=n.createElement(n.Fragment,null,i,n.createElement("br",null),"+",r(e.faction_rep_mult-1)," reputation from factions and companies"):(e.faction_rep_mult&&(i=n.createElement(n.Fragment,null,i,n.createElement("br",null),"+",r(e.faction_rep_mult-1)," reputation from factions")),e.company_rep_mult&&(i=n.createElement(n.Fragment,null,i,n.createElement("br",null),"+",r(e.company_rep_mult-1)," reputation from companies"))),e.crime_money_mult&&(i=n.createElement(n.Fragment,null,i,n.createElement("br",null),"+",r(e.crime_money_mult-1)," crime money")),e.crime_success_mult&&(i=n.createElement(n.Fragment,null,i,n.createElement("br",null),"+",r(e.crime_success_mult-1)," crime success rate")),e.work_money_mult&&(i=n.createElement(n.Fragment,null,i,n.createElement("br",null),"+",r(e.work_money_mult-1)," work money")),e.hacknet_node_money_mult&&(i=n.createElement(n.Fragment,null,i,n.createElement("br",null),"+",r(e.hacknet_node_money_mult-1)," hacknet production")),e.hacknet_node_purchase_cost_mult&&(i=n.createElement(n.Fragment,null,i,n.createElement("br",null),"-",r(-(e.hacknet_node_purchase_cost_mult-1))," hacknet nodes cost")),e.hacknet_node_level_cost_mult&&(i=n.createElement(n.Fragment,null,i,n.createElement("br",null),"-",r(-(e.hacknet_node_level_cost_mult-1))," hacknet nodes upgrade cost")),e.bladeburner_max_stamina_mult&&(i=n.createElement(n.Fragment,null,i,n.createElement("br",null),"+",r(e.bladeburner_max_stamina_mult-1)," Bladeburner Max Stamina")),e.bladeburner_stamina_gain_mult&&(i=n.createElement(n.Fragment,null,i,n.createElement("br",null),"+",r(e.bladeburner_stamina_gain_mult-1)," Bladeburner Stamina gain")),e.bladeburner_analysis_mult&&(i=n.createElement(n.Fragment,null,i,n.createElement("br",null),"+",r(e.bladeburner_analysis_mult-1)," Bladeburner Field Analysis effectiveness")),e.bladeburner_success_chance_mult&&(i=n.createElement(n.Fragment,null,i,n.createElement("br",null),"+",r(e.bladeburner_success_chance_mult-1)," Bladeburner Contracts and Operations success chance")),a&&(i=n.createElement(n.Fragment,null,i,n.createElement("br",null),"Start with ",n.createElement(s.a,{money:a})," after installing Augmentations.")),t&&(i=n.createElement(n.Fragment,null,i,n.createElement("br",null),"Start with ",t.join(" and ")," after installing Augmentations.")),i}(this.mults,e.programs,e.startingMoney):this.stats=e.stats}addToFactions(e){for(let t=0;t{switch(typeof e){case"number":return e;case"object":return Object(s.a)(e.min,e.max);default:throw Error(`Do not know how to convert the type '${typeof e}' to a number`)}};for(const e of i.a){const i={hostname:e.hostname,ip:m(),numOpenPortsRequired:e.numOpenPortsRequired,organizationName:e.organizationName};void 0!==e.maxRamExponent&&(i.maxRam=Math.pow(2,o(e.maxRamExponent)));for(const t of a)void 0!==e[t]&&(i[t]=o(e[t]));const s=new n.a(i);for(const t of e.literature||[])s.messages.push(t);void 0!==e.specialName&&r.a.addIp(e.specialName,s.ip),h(s),void 0!==e.networkLayer&&t[o(e.networkLayer)-1].push(s)}const l=(e,t)=>{for(const r of e)a=r,n=t(),a.serversOnNetwork.push(n.ip),n.serversOnNetwork.push(a.ip);var a,n};l(t[0],()=>e);for(let e=1;e{return(a=t[e-1])[Math.floor(Math.random()*a.length)];var a})}function d(){for(const e in c)delete c[e];c={}}function f(e){c=JSON.parse(e,l.c)}},function(e,t,a){"use strict";a.d(t,"a",(function(){return n})),a.d(t,"c",(function(){return r})),a.d(t,"b",(function(){return i}));const n={MoneyGainPerLevel:1.6,BaseCost:1e3,LevelBaseCost:1,RamBaseCost:3e4,CoreBaseCost:5e5,PurchaseNextMult:1.85,UpgradeLevelMult:1.04,UpgradeRamMult:1.28,UpgradeCoreMult:1.48,MaxLevel:200,MaxRam:64,MaxCores:16},r={x1:1,x5:5,x10:10,MAX:"MAX"},i={HashesPerLevel:.001,BaseCost:5e4,RamBaseCost:2e5,CoreBaseCost:1e6,CacheBaseCost:1e7,PurchaseMult:3.2,UpgradeLevelMult:1.1,UpgradeRamMult:1.4,UpgradeCoreMult:1.55,UpgradeCacheMult:1.85,MaxServers:20,MaxLevel:300,MaxRam:8192,MaxCores:128,MaxCache:15}},function(e,t,a){"use strict";a.d(t,"a",(function(){return n}));const n={Idle:1,Contract:2,Operation:3,BlackOp:4,BlackOperation:4,Training:5,Recruitment:6,FieldAnalysis:7,"Field Analysis":7,Diplomacy:8,"Hyperbolic Regeneration Chamber":9}},function(e,t,a){"use strict";a.d(t,"f",(function(){return n})),a.d(t,"b",(function(){return m})),a.d(t,"e",(function(){return l})),a.d(t,"c",(function(){return c})),a.d(t,"a",(function(){return s})),a.d(t,"d",(function(){return u}));var n,r=a(2),i=a(56),o=a(324);!function(e){e[e.Start=0]="Start",e[e.GoToCharacterPage=1]="GoToCharacterPage",e[e.CharacterPage=2]="CharacterPage",e[e.CharacterGoToTerminalPage=3]="CharacterGoToTerminalPage",e[e.TerminalIntro=4]="TerminalIntro",e[e.TerminalHelp=5]="TerminalHelp",e[e.TerminalLs=6]="TerminalLs",e[e.TerminalScan=7]="TerminalScan",e[e.TerminalScanAnalyze1=8]="TerminalScanAnalyze1",e[e.TerminalScanAnalyze2=9]="TerminalScanAnalyze2",e[e.TerminalConnect=10]="TerminalConnect",e[e.TerminalAnalyze=11]="TerminalAnalyze",e[e.TerminalNuke=12]="TerminalNuke",e[e.TerminalManualHack=13]="TerminalManualHack",e[e.TerminalHackingMechanics=14]="TerminalHackingMechanics",e[e.TerminalGoHome=15]="TerminalGoHome",e[e.TerminalCreateScript=16]="TerminalCreateScript",e[e.TerminalTypeScript=17]="TerminalTypeScript",e[e.TerminalFree=18]="TerminalFree",e[e.TerminalRunScript=19]="TerminalRunScript",e[e.TerminalGoToActiveScriptsPage=20]="TerminalGoToActiveScriptsPage",e[e.ActiveScriptsPage=21]="ActiveScriptsPage",e[e.ActiveScriptsToTerminal=22]="ActiveScriptsToTerminal",e[e.TerminalTailScript=23]="TerminalTailScript",e[e.GoToHacknetNodesPage=24]="GoToHacknetNodesPage",e[e.HacknetNodesIntroduction=25]="HacknetNodesIntroduction",e[e.HacknetNodesGoToWorldPage=26]="HacknetNodesGoToWorldPage",e[e.WorldDescription=27]="WorldDescription",e[e.TutorialPageInfo=28]="TutorialPageInfo",e[e.End=29]="End"}(n||(n={}));const s={currStep:n.Start,isRunning:!1,stepIsDone:{[n.Start]:!1,[n.GoToCharacterPage]:!1,[n.CharacterPage]:!1,[n.CharacterGoToTerminalPage]:!1,[n.TerminalIntro]:!1,[n.TerminalHelp]:!1,[n.TerminalLs]:!1,[n.TerminalScan]:!1,[n.TerminalScanAnalyze1]:!1,[n.TerminalScanAnalyze2]:!1,[n.TerminalConnect]:!1,[n.TerminalAnalyze]:!1,[n.TerminalNuke]:!1,[n.TerminalManualHack]:!1,[n.TerminalHackingMechanics]:!1,[n.TerminalGoHome]:!1,[n.TerminalCreateScript]:!1,[n.TerminalTypeScript]:!1,[n.TerminalFree]:!1,[n.TerminalRunScript]:!1,[n.TerminalGoToActiveScriptsPage]:!1,[n.ActiveScriptsPage]:!1,[n.ActiveScriptsToTerminal]:!1,[n.TerminalTailScript]:!1,[n.GoToHacknetNodesPage]:!1,[n.HacknetNodesIntroduction]:!1,[n.HacknetNodesGoToWorldPage]:!1,[n.WorldDescription]:!1,[n.TutorialPageInfo]:!1,[n.End]:!1}};function l(){s.isRunning=!0}function c(){s.stepIsDone[s.currStep]=!0,s.currStepn.Start&&(s.currStep-=1),o.a.emit()}function m(){s.isRunning=!1,r.a.getHomeComputer().messages.push(i.a.HackersStartingHandbook),o.a.emit()}},function(e,t,a){"use strict";a.d(t,"a",(function(){return r}));const n=["START","PURCHASE","PRODUCTION","SALE","EXPORT"],r={INITIALSHARES:1e9,SHARESPERPRICEUPDATE:1e6,IssueNewSharesCooldown:216e3,SellSharesCooldown:18e3,CyclesPerMarketCycle:50,CyclesPerIndustryStateCycle:50/n.length,SecsPerMarketCycle:10,Cities:["Aevum","Chongqing","Sector-12","New Tokyo","Ishima","Volhaven"],WarehouseInitialCost:5e9,WarehouseInitialSize:100,WarehouseUpgradeBaseCost:1e9,OfficeInitialCost:4e9,OfficeInitialSize:3,OfficeUpgradeBaseCost:1e9,BribeThreshold:1e14,BribeToRepRatio:1e9,ProductProductionCostRatio:5,DividendMaxPercentage:.5,EmployeeSalaryMultiplier:3,CyclesPerEmployeeRaise:400,EmployeeRaiseAmount:50,BaseMaxProducts:3,AllCorporationStates:n,AllMaterials:["Water","Energy","Food","Plants","Metal","Hardware","Chemicals","Drugs","Robots","AI Cores","Real Estate"]}},function(e,t,a){"use strict";a.d(t,"b",(function(){return u})),a.d(t,"a",(function(){return m}));var n=a(0),r=a.n(n),i=a(60),o=a(238),s=a(132);function l(){return(l=Object.assign||function(e){for(var t=1;tr.a.createElement(i.a,l({},e,{classes:{root:c().root,...e.classes}})),m=e=>r.a.createElement(o.a,l({},e,{classes:{root:c().small,...e.classes}}))},function(e,t,a){"use strict";a.d(t,"a",(function(){return m}));var n=a(0),r=a.n(n),i=a(132),o=a(161),s=a(653),l=a(1166),c=a(31);const u=Object(i.a)(e=>Object(o.a)({modal:{display:"flex",alignItems:"center",justifyContent:"center"},paper:{backgroundColor:e.palette.background.default,border:"2px solid "+e.palette.primary.main,boxShadow:`0px 3px 5px -1px ${e.palette.primary.dark},0px 5px 8px 0px ${e.palette.primary.dark},0px 1px 14px 0px ${e.palette.primary.dark}`,padding:2,maxWidth:"80%",maxHeight:"80%",overflow:"auto","&::-webkit-scrollbar":{display:"none"},scrollbarWidth:"none"}})),m=e=>{const t=u();return r.a.createElement(s.a,{disableRestoreFocus:!0,disableScrollLock:!0,disableEnforceFocus:!0,disableAutoFocus:!0,open:e.open,onClose:e.onClose,closeAfterTransition:!0,className:t.modal},r.a.createElement(l.a,{in:e.open},r.a.createElement("div",{className:t.paper},r.a.createElement(c.a,{sx:{m:2}},e.children))))}},function(e,t,a){"use strict";a.d(t,"a",(function(){return i})),a.d(t,"b",(function(){return o})),a.d(t,"c",(function(){return s}));var n=a(0),r=a.n(n);const i={Corporation:r.a.createContext({}),Division:r.a.createContext({})},o=()=>Object(n.useContext)(i.Corporation),s=()=>Object(n.useContext)(i.Division)},function(e,t,a){"use strict";a.d(t,"h",(function(){return h})),a.d(t,"e",(function(){return p})),a.d(t,"g",(function(){return d})),a.d(t,"f",(function(){return f})),a.d(t,"a",(function(){return g})),a.d(t,"b",(function(){return y})),a.d(t,"c",(function(){return b})),a.d(t,"d",(function(){return E}));var n=a(36),r=a(57),i=a(493),o=a(8),s=a(6),l=a(70),c=a(56),u=a(621),m=a(494);function h(e){if(null!=e.ip&&Object(n.e)(e.ip)&&(e.ip=Object(n.c)()),null!=g(e.hostname)){let t=e.hostname;for(let a=0;a<200&&(t=`${e.hostname}-${a}`,null!=g(t));++a);e.hostname=t}return new r.a(e)}function p(e,t,a){let n=1+(s.a.ServerBaseGrowthRate-1)/e.hackDifficulty;n>s.a.ServerMaxGrowthRate&&(n=s.a.ServerMaxGrowthRate);const r=e.serverGrowth/100;return Math.log(t)/(Math.log(n)*a.hacking_grow_mult*r*o.a.ServerGrowthRate)}function d(e,t,a,n=1){let r=Object(i.a)(e,t,a,n);r<1&&(console.warn("serverGrowth calculated to be less than 1"),r=1);const o=e.moneyAvailable;if(e.moneyAvailable*=r,Object(u.a)(e.moneyMax)&&isNaN(e.moneyAvailable)&&(e.moneyAvailable=e.moneyMax),Object(u.a)(e.moneyMax)&&e.moneyAvailable>e.moneyMax&&(e.moneyAvailable=e.moneyMax),o!==e.moneyAvailable){let t=p(e,e.moneyAvailable/o,a);t=Math.max(0,t),e.fortify(2*s.a.ServerFortifyAmount*Math.ceil(t))}return e.moneyAvailable/o}function f(e){const t=e.programs.includes(l.a.BitFlume.name);e.programs.length=0,e.runningScripts=[],e.serversOnNetwork=[],e.isConnectedTo=!0,e.ramUsed=0,e.programs.push(l.a.NukeProgram.name),t&&e.programs.push(l.a.BitFlume.name),e.scripts.forEach((function(t){t.updateRamUsage(e.scripts)})),e.messages.length=0,e.messages.push(c.a.HackersStartingHandbook)}function g(e){for(const t in n.b)if(n.b.hasOwnProperty(t)&&n.b[t].hostname==e)return n.b[t];return null}function y(e){return Object(m.a)(e)?void 0!==n.b[e]?n.b[e]:null:g(e)}function b(e,t){return t>e.serversOnNetwork.length?(console.error("Tried to get server on network that was out of range"),null):n.b[e.serversOnNetwork[t]]}function E(e){return"backdoorInstalled"in e&&e.backdoorInstalled}},function(e,t,a){"use strict";a.d(t,"ab",(function(){return J})),a.d(t,"db",(function(){return X})),a.d(t,"eb",(function(){return Q})),a.d(t,"lb",(function(){return Z})),a.d(t,"o",(function(){return ee})),a.d(t,"Ib",(function(){return te})),a.d(t,"ob",(function(){return ae})),a.d(t,"Y",(function(){return ne})),a.d(t,"rb",(function(){return re})),a.d(t,"I",(function(){return ie})),a.d(t,"cb",(function(){return oe})),a.d(t,"q",(function(){return se})),a.d(t,"mb",(function(){return le})),a.d(t,"G",(function(){return ce})),a.d(t,"J",(function(){return ue})),a.d(t,"E",(function(){return me})),a.d(t,"F",(function(){return he})),a.d(t,"B",(function(){return pe})),a.d(t,"C",(function(){return de})),a.d(t,"H",(function(){return fe})),a.d(t,"gb",(function(){return ge})),a.d(t,"pb",(function(){return ye})),a.d(t,"fb",(function(){return be})),a.d(t,"Cb",(function(){return Ee})),a.d(t,"r",(function(){return _e})),a.d(t,"Jb",(function(){return ve})),a.d(t,"z",(function(){return ke})),a.d(t,"Db",(function(){return we})),a.d(t,"Lb",(function(){return Ce})),a.d(t,"A",(function(){return Se})),a.d(t,"Bb",(function(){return xe})),a.d(t,"Eb",(function(){return Oe})),a.d(t,"Ab",(function(){return Me})),a.d(t,"yb",(function(){return Te})),a.d(t,"xb",(function(){return Re})),a.d(t,"zb",(function(){return Pe})),a.d(t,"Kb",(function(){return Ae})),a.d(t,"y",(function(){return Ne})),a.d(t,"T",(function(){return Ie})),a.d(t,"S",(function(){return Fe})),a.d(t,"V",(function(){return je})),a.d(t,"Q",(function(){return De})),a.d(t,"R",(function(){return Be})),a.d(t,"O",(function(){return Le})),a.d(t,"P",(function(){return Ge})),a.d(t,"U",(function(){return We})),a.d(t,"vb",(function(){return He})),a.d(t,"u",(function(){return Ue})),a.d(t,"w",(function(){return qe})),a.d(t,"ub",(function(){return Ke})),a.d(t,"Fb",(function(){return $e})),a.d(t,"v",(function(){return ze})),a.d(t,"wb",(function(){return Ve})),a.d(t,"t",(function(){return Ye})),a.d(t,"x",(function(){return Je})),a.d(t,"tb",(function(){return Xe})),a.d(t,"Gb",(function(){return Qe})),a.d(t,"nb",(function(){return Ze})),a.d(t,"Z",(function(){return et})),a.d(t,"f",(function(){return tt})),a.d(t,"N",(function(){return at})),a.d(t,"ib",(function(){return nt})),a.d(t,"m",(function(){return rt})),a.d(t,"l",(function(){return it})),a.d(t,"e",(function(){return ot})),a.d(t,"j",(function(){return st})),a.d(t,"g",(function(){return lt})),a.d(t,"c",(function(){return ct})),a.d(t,"b",(function(){return ut})),a.d(t,"k",(function(){return mt})),a.d(t,"a",(function(){return ht})),a.d(t,"d",(function(){return pt})),a.d(t,"h",(function(){return dt})),a.d(t,"n",(function(){return ft})),a.d(t,"i",(function(){return gt})),a.d(t,"bb",(function(){return yt})),a.d(t,"jb",(function(){return bt})),a.d(t,"kb",(function(){return Et})),a.d(t,"s",(function(){return _t})),a.d(t,"qb",(function(){return vt})),a.d(t,"hb",(function(){return kt})),a.d(t,"D",(function(){return wt})),a.d(t,"Hb",(function(){return Ct})),a.d(t,"X",(function(){return St})),a.d(t,"p",(function(){return xt})),a.d(t,"W",(function(){return Ot})),a.d(t,"L",(function(){return Mt})),a.d(t,"K",(function(){return Tt})),a.d(t,"M",(function(){return Rt})),a.d(t,"sb",(function(){return Pt}));var n=a(20),r=a(152),i=a(312),o=a(7),s=a(8),l=a(94),c=a(200),u=a(59),m=a(567),h=a(447),p=a(82),d=a(25),f=a(6),g=a(70),y=a(404),b=a(75),E=a(172),_=a(24),v=a(77),k=a(128),w=a(221),C=a(23),S=a(9),x=a(283),O=a(231),M=a(353),T=a(214),R=a(36),P=a(57),A=a(44),N=a(14),I=a(67),F=a(1118),j=a(1119),D=a(317),B=a(63),L=a(443),G=a(354),W=a(99),H=a(4),U=a(329),q=a(15),K=a(22),$=a(103),z=a(18),V=a(0),Y=a.n(V);function J(){const e=Object(A.h)({adminRights:!0,hostname:"home",ip:Object(R.c)(),isConnectedTo:!0,maxRam:8,organizationName:"Home PC",purchasedByPlayer:!0});this.homeComputer=e.ip,this.currentServer=e.ip,Object(R.a)(e),this.getHomeComputer().programs.push(g.a.NukeProgram.name)}function X(){const e=this.getHomeComputer();this.currentServer=e.ip,this.homeComputer=e.ip,this.numPeopleKilled=0,this.karma=0,this.hacking_skill=1,this.strength=1,this.defense=1,this.dexterity=1,this.agility=1,this.charisma=1,this.hacking_exp=0,this.strength_exp=0,this.defense_exp=0,this.dexterity_exp=0,this.agility_exp=0,this.charisma_exp=0,this.money=new W.a(1e3),this.city=C.a.Sector12,this.location=S.a.TravelAgency,this.companyName="",this.jobs={},this.purchasedServers=[],this.factions=[],this.factionInvitations=[],this.queuedAugmentations=[],this.resleeves=[];const t=Math.min(3,B.a[10]+(10===this.bitNodeN?1:0))+this.sleevesFromCovenant;this.sleeves.length>t&&(this.sleeves.length=t);for(let e=this.sleeves.length;e=100?this.sleeves[e].synchronize(this):this.sleeves[e].shockRecovery(this));this.isWorking=!1,this.currentWorkFactionName="",this.currentWorkFactionDescription="",this.createProgramName="",this.className="",this.crimeType="",this.workHackExpGainRate=0,this.workStrExpGainRate=0,this.workDefExpGainRate=0,this.workDexExpGainRate=0,this.workAgiExpGainRate=0,this.workChaExpGainRate=0,this.workRepGainRate=0,this.workMoneyGainRate=0,this.workHackExpGained=0,this.workStrExpGained=0,this.workDefExpGained=0,this.workDexExpGained=0,this.workAgiExpGained=0,this.workChaExpGained=0,this.workRepGained=0,this.workMoneyGained=0,this.timeWorked=0,this.lastUpdate=(new Date).getTime(),this.playtimeSinceLastAug=0,this.scriptProdSinceLastAug=0,this.moneySourceA.reset(),this.hacknetNodes.length=0,this.hashManager.prestige(),this.reapplyAllAugmentations(!0),this.hp=this.max_hp}function Q(){this.prestigeAugmentation();for(let e=0;e0?this.intelligence=Math.floor(this.calculateSkill(this.intelligence_exp)):this.intelligence=0;const e=this.hp/this.max_hp;this.max_hp=Math.floor(10+this.defense/10),this.hp=Math.round(this.max_hp*e)}function ae(){this.hacking_chance_mult=1,this.hacking_speed_mult=1,this.hacking_money_mult=1,this.hacking_grow_mult=1,this.hacking_mult=1,this.strength_mult=1,this.defense_mult=1,this.dexterity_mult=1,this.agility_mult=1,this.charisma_mult=1,this.hacking_exp_mult=1,this.strength_exp_mult=1,this.defense_exp_mult=1,this.dexterity_exp_mult=1,this.agility_exp_mult=1,this.charisma_exp_mult=1,this.company_rep_mult=1,this.faction_rep_mult=1,this.crime_money_mult=1,this.crime_success_mult=1,this.hacknet_node_money_mult=1,this.hacknet_node_purchase_cost_mult=1,this.hacknet_node_ram_cost_mult=1,this.hacknet_node_core_cost_mult=1,this.hacknet_node_level_cost_mult=1,this.work_money_mult=1,this.bladeburner_max_stamina_mult=1,this.bladeburner_stamina_gain_mult=1,this.bladeburner_analysis_mult=1,this.bladeburner_success_chance_mult=1}function ne(e){const t=this.getHomeComputer();if(null==t)return!1;for(let a=0;a0||this.intelligence>0)&&(this.intelligence_exp+=e)}function ge(e){const t=e.toLowerCase();return t.includes("hack")?this.hacking_skill:t.includes("str")?this.strength:t.includes("def")?this.defense:t.includes("dex")?this.dexterity:t.includes("agi")?this.agility:t.includes("cha")?this.charisma:t.includes("int")?this.intelligence:0}function ye(e,t,a){this.workType!==f.a.WorkTypeFaction&&e===this.workType&&t===this.companyName||e===this.workType&&t===this.currentWorkFactionName&&a===this.factionWorkType||(this.isWorking&&this.singularityStopWork(),this.workHackExpGainRate=0,this.workStrExpGainRate=0,this.workDefExpGainRate=0,this.workDexExpGainRate=0,this.workAgiExpGainRate=0,this.workChaExpGainRate=0,this.workRepGainRate=0,this.workMoneyGainRate=0,this.workMoneyLossRate=0,this.workHackExpGained=0,this.workStrExpGained=0,this.workDefExpGained=0,this.workDexExpGained=0,this.workAgiExpGained=0,this.workChaExpGained=0,this.workRepGained=0,this.workMoneyGained=0,this.timeWorked=0,this.timeWorkedCreateProgram=0,this.currentWorkFactionName="",this.currentWorkFactionDescription="",this.createProgramName="",this.className="")}function be(e=1){let t=1;this.hasAugmentation(o.a.NeuroreceptorManager)||(t=this.focus?1:f.a.BaseFocusBonus);const a=t*this.workHackExpGainRate*e,n=t*this.workStrExpGainRate*e,r=t*this.workDefExpGainRate*e,i=t*this.workDexExpGainRate*e,s=t*this.workAgiExpGainRate*e,l=t*this.workChaExpGainRate*e,c=(this.workMoneyGainRate-this.workMoneyLossRate)*e;this.gainHackingExp(a),this.gainStrengthExp(n),this.gainDefenseExp(r),this.gainDexterityExp(i),this.gainAgilityExp(s),this.gainCharismaExp(l),this.gainMoney(c),this.className?this.recordMoneySource(c,"class"):this.recordMoneySource(c,"work"),this.workHackExpGained+=a,this.workStrExpGained+=n,this.workDefExpGained+=r,this.workDexExpGained+=i,this.workAgiExpGained+=s,this.workChaExpGained+=l,this.workRepGained+=t*this.workRepGainRate*e,this.workMoneyGained+=t*this.workMoneyGainRate*e,this.workMoneyGained-=t*this.workMoneyLossRate*e}function Ee(e,t){this.resetWorkStatus(f.a.WorkTypeCompany,t),this.isWorking=!0,this.focus=!0,this.companyName=t,this.workType=f.a.WorkTypeCompany,this.workHackExpGainRate=this.getWorkHackExpGain(),this.workStrExpGainRate=this.getWorkStrExpGain(),this.workDefExpGainRate=this.getWorkDefExpGain(),this.workDexExpGainRate=this.getWorkDexExpGain(),this.workAgiExpGainRate=this.getWorkAgiExpGain(),this.workChaExpGainRate=this.getWorkChaExpGain(),this.workRepGainRate=this.getWorkRepGain(),this.workMoneyGainRate=this.getWorkMoneyGain(),this.timeNeededToCompleteWork=f.a.MillisecondsPer8Hours,e.toWork()}function _e(){const e=I.a[this.companyName];if("string"==typeof e&&""!==e){const t=R.b[e];if(t instanceof P.a&&t&&t.backdoorInstalled)return.75}return.5}function ve(e){let t=!1;this.timeWorked+f.a._idleSpeed*e>=f.a.MillisecondsPer8Hours&&(t=!0,e=Math.round((f.a.MillisecondsPer8Hours-this.timeWorked)/f.a._idleSpeed)),this.timeWorked+=f.a._idleSpeed*e,this.workRepGainRate=this.getWorkRepGain(),this.processWorkEarnings(e);const a=u.a[this.companyName];return Object(L.a)(a,this.workRepGainRate,e),!!(t||this.timeWorked>=f.a.MillisecondsPer8Hours)&&(this.finishWork(!1),!0)}function ke(e,t=!1){e&&(this.workRepGained*=this.cancelationPenalty());u.a[this.companyName].playerReputation+=this.workRepGained,this.updateSkillLevels();let a=Y.a.createElement(Y.a.Fragment,null,"You earned a total of: ",Y.a.createElement("br",null),Y.a.createElement(z.a,{money:this.workMoneyGained}),Y.a.createElement("br",null),Y.a.createElement($.a,{reputation:this.workRepGained})," reputation for the company ",Y.a.createElement("br",null),H.a.formatExp(this.workHackExpGained)," hacking exp ",Y.a.createElement("br",null),H.a.formatExp(this.workStrExpGained)," strength exp ",Y.a.createElement("br",null),H.a.formatExp(this.workDefExpGained)," defense exp ",Y.a.createElement("br",null),H.a.formatExp(this.workDexExpGained)," dexterity exp ",Y.a.createElement("br",null),H.a.formatExp(this.workAgiExpGained)," agility exp ",Y.a.createElement("br",null),H.a.formatExp(this.workChaExpGained)," charisma exp",Y.a.createElement("br",null));if(a=e?Y.a.createElement(Y.a.Fragment,null,"You worked a short shift of ",Object(K.b)(this.timeWorked)," ",Y.a.createElement("br",null),Y.a.createElement("br",null),"Since you cancelled your work early, you only gained half of the reputation you earned. ",Y.a.createElement("br",null),Y.a.createElement("br",null),a):Y.a.createElement(Y.a.Fragment,null,"You worked a full shift of 8 hours! ",Y.a.createElement("br",null),Y.a.createElement("br",null),a),t||Object(q.a)(a),this.isWorking=!1,this.resetWorkStatus(),t){return"You worked a short shift of "+Object(K.b)(this.timeWorked)+" and earned $"+H.a.formatMoney(this.workMoneyGained)+", "+H.a.formatReputation(this.workRepGained)+" reputation, "+H.a.formatExp(this.workHackExpGained)+" hacking exp, "+H.a.formatExp(this.workStrExpGained)+" strength exp, "+H.a.formatExp(this.workDefExpGained)+" defense exp, "+H.a.formatExp(this.workDexExpGained)+" dexterity exp, "+H.a.formatExp(this.workAgiExpGained)+" agility exp, and "+H.a.formatExp(this.workChaExpGained)+" charisma exp."}return""}function we(e,t){this.resetWorkStatus(f.a.WorkTypeCompanyPartTime,t),this.isWorking=!0,this.focus=!0,this.companyName=t,this.workType=f.a.WorkTypeCompanyPartTime,this.workHackExpGainRate=this.getWorkHackExpGain(),this.workStrExpGainRate=this.getWorkStrExpGain(),this.workDefExpGainRate=this.getWorkDefExpGain(),this.workDexExpGainRate=this.getWorkDexExpGain(),this.workAgiExpGainRate=this.getWorkAgiExpGain(),this.workChaExpGainRate=this.getWorkChaExpGain(),this.workRepGainRate=this.getWorkRepGain(),this.workMoneyGainRate=this.getWorkMoneyGain(),this.timeNeededToCompleteWork=f.a.MillisecondsPer8Hours,e.toWork()}function Ce(e){let t=!1;return this.timeWorked+f.a._idleSpeed*e>=f.a.MillisecondsPer8Hours&&(t=!0,e=Math.round((f.a.MillisecondsPer8Hours-this.timeWorked)/f.a._idleSpeed)),this.timeWorked+=f.a._idleSpeed*e,this.workRepGainRate=this.getWorkRepGain(),this.processWorkEarnings(e),!!(t||this.timeWorked>=f.a.MillisecondsPer8Hours)&&(this.finishWorkPartTime(),!0)}function Se(e=!1){u.a[this.companyName].playerReputation+=this.workRepGained,this.updateSkillLevels();const t=Y.a.createElement(Y.a.Fragment,null,"You worked for ",Object(K.b)(this.timeWorked),Y.a.createElement("br",null),Y.a.createElement("br",null),"You earned a total of: ",Y.a.createElement("br",null),Y.a.createElement(z.a,{money:this.workMoneyGained}),Y.a.createElement("br",null),Y.a.createElement($.a,{reputation:this.workRepGained})," reputation for the company ",Y.a.createElement("br",null),H.a.formatExp(this.workHackExpGained)," hacking exp ",Y.a.createElement("br",null),H.a.formatExp(this.workStrExpGained)," strength exp ",Y.a.createElement("br",null),H.a.formatExp(this.workDefExpGained)," defense exp ",Y.a.createElement("br",null),H.a.formatExp(this.workDexExpGained)," dexterity exp ",Y.a.createElement("br",null),H.a.formatExp(this.workAgiExpGained)," agility exp ",Y.a.createElement("br",null),H.a.formatExp(this.workChaExpGained)," charisma exp",Y.a.createElement("br",null));if(e||Object(q.a)(t),this.isWorking=!1,this.resetWorkStatus(),e){return"You worked for "+Object(K.b)(this.timeWorked)+" and earned a total of $"+H.a.formatMoney(this.workMoneyGained)+", "+H.a.formatReputation(this.workRepGained)+" reputation, "+H.a.formatExp(this.workHackExpGained)+" hacking exp, "+H.a.formatExp(this.workStrExpGained)+" strength exp, "+H.a.formatExp(this.workDefExpGained)+" defense exp, "+H.a.formatExp(this.workDexExpGained)+" dexterity exp, "+H.a.formatExp(this.workAgiExpGained)+" agility exp, and "+H.a.formatExp(this.workChaExpGained)+" charisma exp"}return""}function xe(){this.focus=!0}function Oe(){this.focus=!1}function Me(e,t){let a=1+t.favor/100;isNaN(a)&&(a=1),this.workRepGainRate*=a,this.workRepGainRate*=s.a.FactionWorkRepGain,this.isWorking=!0,this.focus=!0,this.workType=f.a.WorkTypeFaction,this.currentWorkFactionName=t.name,this.timeNeededToCompleteWork=f.a.MillisecondsPer20Hours,e.toWork()}function Te(e,t){this.resetWorkStatus(f.a.WorkTypeFaction,t.name,f.a.FactionWorkHacking),this.workHackExpGainRate=.15*this.hacking_exp_mult*s.a.FactionWorkExpGain,this.workRepGainRate=(this.hacking_skill+this.intelligence)/f.a.MaxSkillLevel*this.faction_rep_mult*this.getIntelligenceBonus(.5),this.factionWorkType=f.a.FactionWorkHacking,this.currentWorkFactionDescription="carrying out hacking contracts",this.startFactionWork(e,t)}function Re(e,t){this.resetWorkStatus(f.a.WorkTypeFaction,t.name,f.a.FactionWorkField),this.workHackExpGainRate=.1*this.hacking_exp_mult*s.a.FactionWorkExpGain,this.workStrExpGainRate=.1*this.strength_exp_mult*s.a.FactionWorkExpGain,this.workDefExpGainRate=.1*this.defense_exp_mult*s.a.FactionWorkExpGain,this.workDexExpGainRate=.1*this.dexterity_exp_mult*s.a.FactionWorkExpGain,this.workAgiExpGainRate=.1*this.agility_exp_mult*s.a.FactionWorkExpGain,this.workChaExpGainRate=.1*this.charisma_exp_mult*s.a.FactionWorkExpGain,this.workRepGainRate=Object(T.a)(this,t),this.factionWorkType=f.a.FactionWorkField,this.currentWorkFactionDescription="carrying out field missions",this.startFactionWork(e,t)}function Pe(e,t){this.resetWorkStatus(f.a.WorkTypeFaction,t.name,f.a.FactionWorkSecurity),this.workHackExpGainRate=.05*this.hacking_exp_mult*s.a.FactionWorkExpGain,this.workStrExpGainRate=.15*this.strength_exp_mult*s.a.FactionWorkExpGain,this.workDefExpGainRate=.15*this.defense_exp_mult*s.a.FactionWorkExpGain,this.workDexExpGainRate=.15*this.dexterity_exp_mult*s.a.FactionWorkExpGain,this.workAgiExpGainRate=.15*this.agility_exp_mult*s.a.FactionWorkExpGain,this.workChaExpGainRate=0*this.charisma_exp_mult*s.a.FactionWorkExpGain,this.workRepGainRate=Object(T.b)(this,t),this.factionWorkType=f.a.FactionWorkSecurity,this.currentWorkFactionDescription="performing security detail",this.startFactionWork(e,t)}function Ae(e){const t=_.a[this.currentWorkFactionName];switch(this.factionWorkType){case f.a.FactionWorkHacking:this.workRepGainRate=Object(T.c)(this,t);break;case f.a.FactionWorkField:this.workRepGainRate=Object(T.a)(this,t);break;case f.a.FactionWorkSecurity:this.workRepGainRate=Object(T.b)(this,t)}let a=!1;return this.timeWorked+f.a._idleSpeed*e>=f.a.MillisecondsPer20Hours&&(a=!0,e=Math.round((f.a.MillisecondsPer20Hours-this.timeWorked)/f.a._idleSpeed)),this.timeWorked+=f.a._idleSpeed*e,this.processWorkEarnings(e),!!(a||this.timeWorked>=f.a.MillisecondsPer20Hours)&&(this.finishFactionWork(!1),!0)}function Ne(e,t=!1){const a=_.a[this.currentWorkFactionName];if(a.playerReputation+=this.workRepGained,this.updateSkillLevels(),t||Object(q.a)(Y.a.createElement(Y.a.Fragment,null,"You worked for your faction ",a.name," for a total of ",Object(K.b)(this.timeWorked)," ",Y.a.createElement("br",null),Y.a.createElement("br",null),"You earned a total of: ",Y.a.createElement("br",null),Y.a.createElement(z.a,{money:this.workMoneyGained}),Y.a.createElement("br",null),Y.a.createElement($.a,{reputation:this.workRepGained})," reputation for the faction ",Y.a.createElement("br",null),H.a.formatExp(this.workHackExpGained)," hacking exp ",Y.a.createElement("br",null),H.a.formatExp(this.workStrExpGained)," strength exp ",Y.a.createElement("br",null),H.a.formatExp(this.workDefExpGained)," defense exp ",Y.a.createElement("br",null),H.a.formatExp(this.workDexExpGained)," dexterity exp ",Y.a.createElement("br",null),H.a.formatExp(this.workAgiExpGained)," agility exp ",Y.a.createElement("br",null),H.a.formatExp(this.workChaExpGained)," charisma exp",Y.a.createElement("br",null))),this.isWorking=!1,this.resetWorkStatus(),t){return"You worked for your faction "+a.name+" for a total of "+Object(K.b)(this.timeWorked)+". You earned "+H.a.formatReputation(this.workRepGained)+" rep, "+H.a.formatExp(this.workHackExpGained)+" hacking exp, "+H.a.formatExp(this.workStrExpGained)+" str exp, "+H.a.formatExp(this.workDefExpGained)+" def exp, "+H.a.formatExp(this.workDexExpGained)+" dex exp, "+H.a.formatExp(this.workAgiExpGained)+" agi exp, and "+H.a.formatExp(this.workChaExpGained)+" cha exp."}return""}function Ie(){let e=1;const t=u.a[this.companyName];B.a[11]>0&&(e=1+t.favor/100);const a=this.jobs[this.companyName],n=p.a[a];return null==n?(console.error(`Could not find CompanyPosition object for ${a}. Work salary will be 0`),0):n.baseSalary*t.salaryMultiplier*this.work_money_mult*s.a.CompanyWorkMoney*e}function Fe(){const e=u.a[this.companyName],t=this.jobs[this.companyName],a=p.a[t];return null==e||null==a?(console.error(["Could not find Company object for "+this.companyName,`or CompanyPosition object for ${t}.`,"Work hack exp gain will be 0"].join(" ")),0):a.hackingExpGain*e.expMultiplier*this.hacking_exp_mult*s.a.CompanyWorkExpGain}function je(){const e=u.a[this.companyName],t=this.jobs[this.companyName],a=p.a[t];return null==e||null==a?(console.error(["Could not find Company object for "+this.companyName,`or CompanyPosition object for ${t}.`,"Work str exp gain will be 0"].join(" ")),0):a.strengthExpGain*e.expMultiplier*this.strength_exp_mult*s.a.CompanyWorkExpGain}function De(){const e=u.a[this.companyName],t=this.jobs[this.companyName],a=p.a[t];return null==e||null==a?(console.error(["Could not find Company object for "+this.companyName,`or CompanyPosition object for ${t}.`,"Work def exp gain will be 0"].join(" ")),0):a.defenseExpGain*e.expMultiplier*this.defense_exp_mult*s.a.CompanyWorkExpGain}function Be(){const e=u.a[this.companyName],t=this.jobs[this.companyName],a=p.a[t];return null==e||null==a?(console.error(["Could not find Company object for "+this.companyName,`or CompanyPosition object for ${t}.`,"Work dex exp gain will be 0"].join(" ")),0):a.dexterityExpGain*e.expMultiplier*this.dexterity_exp_mult*s.a.CompanyWorkExpGain}function Le(){const e=u.a[this.companyName],t=this.jobs[this.companyName],a=p.a[t];return null==e||null==a?(console.error(["Could not find Company object for "+this.companyName,`or CompanyPosition object for ${t}.`,"Work agi exp gain will be 0"].join(" ")),0):a.agilityExpGain*e.expMultiplier*this.agility_exp_mult*s.a.CompanyWorkExpGain}function Ge(){const e=u.a[this.companyName],t=this.jobs[this.companyName],a=p.a[t];return null==e||null==a?(console.error(["Could not find Company object for "+this.companyName,`or CompanyPosition object for ${t}.`,"Work cha exp gain will be 0"].join(" ")),0):a.charismaExpGain*e.expMultiplier*this.charisma_exp_mult*s.a.CompanyWorkExpGain}function We(){const e=u.a[this.companyName],t=this.jobs[this.companyName],a=p.a[t];if(null==e||null==a)return console.error(["Could not find Company object for "+this.companyName,`or CompanyPosition object for ${t}.`,"Work rep gain will be 0"].join(" ")),0;let n=a.calculateJobPerformance(this.hacking_skill,this.strength,this.defense,this.dexterity,this.agility,this.charisma);n+=this.intelligence/f.a.MaxSkillLevel;let r=1+e.favor/100;return isNaN(r)&&(r=1),n*this.company_rep_mult*r}function He(e,t,a,n){this.resetWorkStatus(),this.isWorking=!0,this.focus=!0,this.workType=f.a.WorkTypeCreateProgram,this.createProgramReqLvl=n,this.timeNeededToCompleteWork=a;for(let e=0;e=100)break;this.timeWorkedCreateProgram=n/100*this.timeNeededToCompleteWork,this.getHomeComputer().programs.splice(e,1)}}this.createProgramName=t,e.toWork()}function Ue(e){const t=this.createProgramReqLvl;let a=this.hacking_skill/t*this.getIntelligenceBonus(3);return a=1+(a-1)/5,this.timeWorked+=f.a._idleSpeed*e,this.timeWorkedCreateProgram+=f.a._idleSpeed*e*a,this.timeWorkedCreateProgram>=this.timeNeededToCompleteWork&&(this.finishCreateProgramWork(!1),!0)}function qe(e){const t=this.createProgramName;if(!1===e)Object(q.a)("You've finished creating "+t+"!
The new program can be found on your home computer."),this.getHomeComputer().programs.push(t);else{const e=t+"-"+(Math.floor(this.timeWorkedCreateProgram/this.timeNeededToCompleteWork*1e4)/100).toString()+"%-INC";this.getHomeComputer().programs.push(e)}return e||this.gainIntelligenceExp(this.createProgramReqLvl/f.a.IntelligenceProgramBaseExpGain),this.isWorking=!1,this.resetWorkStatus(),"You've finished creating "+t+"! The new program can be found on your home computer."}function Ke(e,t,a,n){this.resetWorkStatus(),this.isWorking=!0,this.focus=!0,this.workType=f.a.WorkTypeStudyClass,this.className=n;const r=1e3/f.a._idleSpeed;let i=0,o=0,l=0,c=0,u=0,m=0,h=0;const p=this.hashManager;switch(n){case f.a.ClassStudyComputerScience:o=f.a.ClassStudyComputerScienceBaseExp*a/r*p.getStudyMult();break;case f.a.ClassDataStructures:i=f.a.ClassDataStructuresBaseCost*t/r,o=f.a.ClassDataStructuresBaseExp*a/r*p.getStudyMult();break;case f.a.ClassNetworks:i=f.a.ClassNetworksBaseCost*t/r,o=f.a.ClassNetworksBaseExp*a/r*p.getStudyMult();break;case f.a.ClassAlgorithms:i=f.a.ClassAlgorithmsBaseCost*t/r,o=f.a.ClassAlgorithmsBaseExp*a/r*p.getStudyMult();break;case f.a.ClassManagement:i=f.a.ClassManagementBaseCost*t/r,h=f.a.ClassManagementBaseExp*a/r*p.getStudyMult();break;case f.a.ClassLeadership:i=f.a.ClassLeadershipBaseCost*t/r,h=f.a.ClassLeadershipBaseExp*a/r*p.getStudyMult();break;case f.a.ClassGymStrength:i=f.a.ClassGymBaseCost*t/r,l=a/r*p.getTrainingMult();break;case f.a.ClassGymDefense:i=f.a.ClassGymBaseCost*t/r,c=a/r*p.getTrainingMult();break;case f.a.ClassGymDexterity:i=f.a.ClassGymBaseCost*t/r,u=a/r*p.getTrainingMult();break;case f.a.ClassGymAgility:i=f.a.ClassGymBaseCost*t/r,m=a/r*p.getTrainingMult();break;default:throw new Error("ERR: Invalid/unrecognized class name")}this.workMoneyLossRate=i,this.workHackExpGainRate=o*this.hacking_exp_mult*s.a.ClassGymExpGain,this.workStrExpGainRate=l*this.strength_exp_mult*s.a.ClassGymExpGain,this.workDefExpGainRate=c*this.defense_exp_mult*s.a.ClassGymExpGain,this.workDexExpGainRate=u*this.dexterity_exp_mult*s.a.ClassGymExpGain,this.workAgiExpGainRate=m*this.agility_exp_mult*s.a.ClassGymExpGain,this.workChaExpGainRate=h*this.charisma_exp_mult*s.a.ClassGymExpGain,e.toWork()}function $e(e){return this.timeWorked+=f.a._idleSpeed*e,this.processWorkEarnings(e),!1}function ze(e=!1){if(this.gainIntelligenceExp(f.a.IntelligenceClassBaseExpGain*Math.round(this.timeWorked/1e3)),this.workMoneyGained>0)throw new Error("ERR: Somehow gained money while taking class");if(this.updateSkillLevels(),e||Object(q.a)(Y.a.createElement(Y.a.Fragment,null,"After ",this.className," for ",Object(K.b)(this.timeWorked),", ",Y.a.createElement("br",null),"you spent a total of ",Y.a.createElement(z.a,{money:-this.workMoneyGained}),". ",Y.a.createElement("br",null),Y.a.createElement("br",null),"You earned a total of: ",Y.a.createElement("br",null),H.a.formatExp(this.workHackExpGained)," hacking exp ",Y.a.createElement("br",null),H.a.formatExp(this.workStrExpGained)," strength exp ",Y.a.createElement("br",null),H.a.formatExp(this.workDefExpGained)," defense exp ",Y.a.createElement("br",null),H.a.formatExp(this.workDexExpGained)," dexterity exp ",Y.a.createElement("br",null),H.a.formatExp(this.workAgiExpGained)," agility exp ",Y.a.createElement("br",null),H.a.formatExp(this.workChaExpGained)," charisma exp",Y.a.createElement("br",null))),this.isWorking=!1,e){const e="After "+this.className+" for "+Object(K.b)(this.timeWorked)+", you spent a total of "+H.a.formatMoney(-1*this.workMoneyGained)+". You earned a total of: "+H.a.formatExp(this.workHackExpGained)+" hacking exp, "+H.a.formatExp(this.workStrExpGained)+" strength exp, "+H.a.formatExp(this.workDefExpGained)+" defense exp, "+H.a.formatExp(this.workDexExpGained)+" dexterity exp, "+H.a.formatExp(this.workAgiExpGained)+" agility exp, and "+H.a.formatExp(this.workChaExpGained)+" charisma exp";return this.resetWorkStatus(),e}return this.resetWorkStatus(),""}function Ve(e,t,a,n,r,i,o,l,c,u,m=null){this.crimeType=t,this.resetWorkStatus(),this.isWorking=!0,this.focus=!0,this.workType=f.a.WorkTypeCrime,null!==m&&(this.committingCrimeThruSingFn=!0,this.singFnCrimeWorkerScript=m),this.workHackExpGained=a*this.hacking_exp_mult*s.a.CrimeExpGain,this.workStrExpGained=n*this.strength_exp_mult*s.a.CrimeExpGain,this.workDefExpGained=r*this.defense_exp_mult*s.a.CrimeExpGain,this.workDexExpGained=i*this.dexterity_exp_mult*s.a.CrimeExpGain,this.workAgiExpGained=o*this.agility_exp_mult*s.a.CrimeExpGain,this.workChaExpGained=l*this.charisma_exp_mult*s.a.CrimeExpGain,this.workMoneyGained=c*this.crime_money_mult*s.a.CrimeMoney,this.timeNeededToCompleteWork=u,e.toWork()}function Ye(e){return this.timeWorked+=f.a._idleSpeed*e,this.timeWorked>=this.timeNeededToCompleteWork&&(this.finishCrime(!1),!0)}function Je(e){if(!e){if(Object(y.a)(this,this.crimeType)){let e=null;for(const t in b.a)if(b.a[t].type==this.crimeType){e=b.a[t];break}if(null==e)return Object(q.a)(`ERR: Unrecognized crime type (${this.crimeType}). This is probably a bug please contact the developer`),"";this.gainMoney(this.workMoneyGained),this.recordMoneySource(this.workMoneyGained,"crime"),this.karma-=e.karma,this.numPeopleKilled+=e.kills,e.intelligence_exp>0&&this.gainIntelligenceExp(e.intelligence_exp),this.workHackExpGained*=2,this.workStrExpGained*=2,this.workDefExpGained*=2,this.workDexExpGained*=2,this.workAgiExpGained*=2,this.workChaExpGained*=2;const t=this.singFnCrimeWorkerScript;this.committingCrimeThruSingFn&&null!==t?null==t.disableLogs.ALL&&null==t.disableLogs.commitCrime&&t.scriptRef.log("Crime successful! Gained "+H.a.formatMoney(this.workMoneyGained)+", "+H.a.formatExp(this.workHackExpGained)+" hack exp, "+H.a.formatExp(this.workStrExpGained)+" str exp, "+H.a.formatExp(this.workDefExpGained)+" def exp, "+H.a.formatExp(this.workDexExpGained)+" dex exp, "+H.a.formatExp(this.workAgiExpGained)+" agi exp, "+H.a.formatExp(this.workChaExpGained)+" cha exp."):Object(q.a)(Y.a.createElement(Y.a.Fragment,null,"Crime successful!",Y.a.createElement("br",null),Y.a.createElement("br",null),"You gained:",Y.a.createElement("br",null),Y.a.createElement(z.a,{money:this.workMoneyGained}),Y.a.createElement("br",null),H.a.formatExp(this.workHackExpGained)," hacking experience ",Y.a.createElement("br",null),H.a.formatExp(this.workStrExpGained)," strength experience",Y.a.createElement("br",null),H.a.formatExp(this.workDefExpGained)," defense experience",Y.a.createElement("br",null),H.a.formatExp(this.workDexExpGained)," dexterity experience",Y.a.createElement("br",null),H.a.formatExp(this.workAgiExpGained)," agility experience",Y.a.createElement("br",null),H.a.formatExp(this.workChaExpGained)," charisma experience"))}else{this.workHackExpGained/=2,this.workStrExpGained/=2,this.workDefExpGained/=2,this.workDexExpGained/=2,this.workAgiExpGained/=2,this.workChaExpGained/=2;const e=this.singFnCrimeWorkerScript;this.committingCrimeThruSingFn&&null!==e?null==e.disableLogs.ALL&&null==e.disableLogs.commitCrime&&e.scriptRef.log("Crime failed! Gained "+H.a.formatExp(this.workHackExpGained)+" hack exp, "+H.a.formatExp(this.workStrExpGained)+" str exp, "+H.a.formatExp(this.workDefExpGained)+" def exp, "+H.a.formatExp(this.workDexExpGained)+" dex exp, "+H.a.formatExp(this.workAgiExpGained)+" agi exp, "+H.a.formatExp(this.workChaExpGained)+" cha exp."):Object(q.a)(Y.a.createElement(Y.a.Fragment,null,"Crime failed!",Y.a.createElement("br",null),Y.a.createElement("br",null),"You gained:",Y.a.createElement("br",null),H.a.formatExp(this.workHackExpGained)," hacking experience ",Y.a.createElement("br",null),H.a.formatExp(this.workStrExpGained)," strength experience",Y.a.createElement("br",null),H.a.formatExp(this.workDefExpGained)," defense experience",Y.a.createElement("br",null),H.a.formatExp(this.workDexExpGained)," dexterity experience",Y.a.createElement("br",null),H.a.formatExp(this.workAgiExpGained)," agility experience",Y.a.createElement("br",null),H.a.formatExp(this.workChaExpGained)," charisma experience"))}this.gainHackingExp(this.workHackExpGained),this.gainStrengthExp(this.workStrExpGained),this.gainDefenseExp(this.workDefExpGained),this.gainDexterityExp(this.workDexExpGained),this.gainAgilityExp(this.workAgiExpGained),this.gainCharismaExp(this.workChaExpGained)}return this.committingCrimeThruSingFn=!1,this.singFnCrimeWorkerScript=null,this.isWorking=!1,this.crimeType="",this.resetWorkStatus(),""}function Xe(){if(!this.isWorking)return"";let e="";switch(this.workType){case f.a.WorkTypeStudyClass:e=this.finishClass(!0);break;case f.a.WorkTypeCompany:e=this.finishWork(!0,!0);break;case f.a.WorkTypeCompanyPartTime:e=this.finishWorkPartTime(!0);break;case f.a.WorkTypeFaction:e=this.finishFactionWork(!0,!0);break;case f.a.WorkTypeCreateProgram:e=this.finishCreateProgramWork(!0);break;case f.a.WorkTypeCrime:e=this.finishCrime(!0);break;default:return console.error(`Unrecognized work type (${this.workType})`),""}return e}function Qe(e){return"number"!=typeof e?(console.warn("Player.takeDamage() called without a numeric argument: "+e),!1):(this.hp-=e,this.hp<=0&&(this.hospitalize(),!0))}function Ze(e){"number"==typeof e?(this.hp+=e,this.hp>this.max_hp&&(this.hp=this.max_hp)):console.warn("Player.regenerateHp() called without a numeric argument: "+e)}function et(){const e=Object(G.b)(this);return!1===N.a.SuppressHospitalizationPopup&&Object(q.a)(Y.a.createElement(Y.a.Fragment,null,"You were in critical condition! You were taken to the hospital where luckily they were able to save your life. You were charged ",Y.a.createElement(z.a,{money:e}))),this.loseMoney(e),this.recordMoneySource(-1*e,"hospitalization"),this.hp=this.max_hp,e}function tt(e,t=!1){let a=null;""!==this.companyName&&(a=u.a[this.companyName]);const n=this.jobs[this.companyName],r=u.a[this.location];if(!(r instanceof c.a))return console.error(`Could not find company that matches the location: ${this.location}. Player.applyToCompany() failed`),!1;let i=e;if(!this.isQualified(r,i)){const e=Object(h.a)(r,i);return t||Object(q.a)("Unforunately, you do not qualify for this position
"+e),!1}for(;;){const e=Object(m.a)(i);if(null==e)break;if(!r.hasPosition(e))break;if(!this.isQualified(r,e))break;i=e}if(null!=a&&a.name==r.name&&i.name==n){const e=Object(m.a)(i);if(null==e)return t||Object(q.a)("You are already at the highest position for your field! No promotion available"),!1;if(r.hasPosition(e)){if(!t){const t=Object(h.a)(r,e);Object(q.a)("Unfortunately, you do not qualify for a promotion
"+t)}return!1}return t||Object(q.a)("You are already at the highest position for your field! No promotion available"),!1}return this.jobs[r.name]=i.name,this.companyName=this.location,t||Object(q.a)("Congratulations! You were offered a new job at "+this.companyName+" as a "+i.name+"!"),!0}function at(e,t){let a=null;if(""!==this.companyName&&(a=u.a[this.companyName]),null==a||a.name!=e.name)return t;const n=this.jobs[this.companyName],r=p.a[n];return r.isSoftwareJob()&&t.isSoftwareJob()||r.isITJob()&&t.isITJob()||r.isBusinessJob()&&t.isBusinessJob()||r.isSecurityEngineerJob()&&t.isSecurityEngineerJob()||r.isNetworkEngineerJob()&&t.isNetworkEngineerJob()||r.isSecurityJob()&&t.isSecurityJob()||r.isAgentJob()&&t.isAgentJob()||r.isSoftwareConsultantJob()&&t.isSoftwareConsultantJob()||r.isBusinessConsultantJob()&&t.isBusinessConsultantJob()||r.isPartTimeJob()&&t.isPartTimeJob()?Object(m.a)(r):t}function nt(e){this.isWorking=!1,this.companyName="",delete this.jobs[e]}function rt(e=!1){return this.applyForJob(p.a[d.j[0]],e)}function it(e=!1){return this.applyForJob(p.a[d.k[0]],e)}function ot(e=!1){return this.applyForJob(p.a[d.d[0]],e)}function st(e=!1){const t=u.a[this.location];return this.isQualified(t,p.a[d.i[0]])?this.applyForJob(p.a[d.i[0]],e):(e||Object(q.a)("Unforunately, you do not qualify for this position"),!1)}function lt(e=!1){const t=u.a[this.location];if(this.isQualified(t,p.a[d.f[0]])){const t=p.a[d.f[0]];return this.applyForJob(t,e)}return e||Object(q.a)("Unforunately, you do not qualify for this position"),!1}function ct(e=!1){return this.applyForJob(p.a[d.b[0]],e)}function ut(e=!1){return this.applyForJob(p.a[d.c[0]],e)}function mt(e=!1){return this.applyForJob(p.a[d.h[2]],e)}function ht(e=!1){const t=u.a[this.location];if(this.isQualified(t,p.a[d.a[0]])){const t=p.a[d.a[0]];return this.applyForJob(t,e)}return e||Object(q.a)("Unforunately, you do not qualify for this position"),!1}function pt(e=!1){const t=u.a[this.location];return this.isQualified(t,p.a[d.e[1]])?(this.companyName=t.name,this.jobs[t.name]=d.e[1],e||Object(q.a)("Congratulations, you are now employed at "+this.companyName),!0):(e||Object(q.a)("Unforunately, you do not qualify for this position"),!1)}function dt(e=!1){const t=u.a[this.location];return this.isQualified(t,p.a[d.g[1]])?(this.jobs[t.name]=d.g[1],e||Object(q.a)("Congratulations, you are now employed part-time at "+this.companyName),!0):(e||Object(q.a)("Unforunately, you do not qualify for this position"),!1)}function ft(e=!1){const t=u.a[this.location];return this.isQualified(t,p.a[d.e[0]])?(this.companyName=t.name,this.jobs[t.name]=d.e[0],e||Object(q.a)("Congratulations, you are now employed as a waiter at "+this.companyName),!0):(e||Object(q.a)("Unforunately, you do not qualify for this position"),!1)}function gt(e=!1){const t=u.a[this.location];return this.isQualified(t,p.a[d.g[0]])?(this.companyName=t.name,this.jobs[t.name]=d.g[0],e||Object(q.a)("Congratulations, you are now employed as a part-time waiter at "+this.companyName),!0):(e||Object(q.a)("Unforunately, you do not qualify for this position"),!1)}function yt(e,t){const a=e.jobStatReqOffset,n=t.requiredHacking>0?t.requiredHacking+a:0,r=t.requiredStrength>0?t.requiredStrength+a:0,i=t.requiredDefense>0?t.requiredDefense+a:0,o=t.requiredDexterity>0?t.requiredDexterity+a:0,s=t.requiredDexterity>0?t.requiredDexterity+a:0,l=t.requiredCharisma>0?t.requiredCharisma+a:0;return this.hacking_skill>=n&&this.strength>=r&&this.defense>=i&&this.dexterity>=o&&this.agility>=s&&this.charisma>=l&&e.playerReputation>=t.requiredReputation}function bt(e=!0){e&&this.resetMultipliers();for(let e=0;et}const i=_.a.Illuminati;!i.isBanned&&!i.isMember&&!i.alreadyInvited&&t>=30&&this.money.gte(15e10)&&this.hacking_skill>=1500&&this.strength>=1200&&this.defense>=1200&&this.dexterity>=1200&&this.agility>=1200&&e.push(i);const o=_.a.Daedalus;!o.isBanned&&!o.isMember&&!o.alreadyInvited&&t>=Math.round(30*s.a.DaedalusAugsRequirement)&&this.money.gte(1e11)&&(this.hacking_skill>=2500||this.strength>=1500&&this.defense>=1500&&this.dexterity>=1500&&this.agility>=1500)&&e.push(o);const l=_.a["The Covenant"];!l.isBanned&&!l.isMember&&!l.alreadyInvited&&t>=20&&this.money.gte(75e9)&&this.hacking_skill>=850&&this.strength>=850&&this.defense>=850&&this.dexterity>=850&&this.agility>=850&&e.push(l);const c=_.a.ECorp;c.isBanned||c.isMember||c.alreadyInvited||!r(S.a.AevumECorp)||e.push(c);const m=_.a.MegaCorp;m.isBanned||m.isMember||m.alreadyInvited||!r(S.a.Sector12MegaCorp)||e.push(m);const h=_.a["Bachman & Associates"];h.isBanned||h.isMember||h.alreadyInvited||!r(S.a.AevumBachmanAndAssociates)||e.push(h);const p=_.a["Blade Industries"];p.isBanned||p.isMember||p.alreadyInvited||!r(S.a.Sector12BladeIndustries)||e.push(p);const d=_.a.NWO;d.isBanned||d.isMember||d.alreadyInvited||!r(S.a.VolhavenNWO)||e.push(d);const g=_.a["Clarke Incorporated"];g.isBanned||g.isMember||g.alreadyInvited||!r(S.a.AevumClarkeIncorporated)||e.push(g);const y=_.a["OmniTek Incorporated"];y.isBanned||y.isMember||y.alreadyInvited||!r(S.a.VolhavenOmniTekIncorporated)||e.push(y);const b=_.a["Four Sigma"];b.isBanned||b.isMember||b.alreadyInvited||!r(S.a.Sector12FourSigma)||e.push(b);const E=_.a["KuaiGong International"];E.isBanned||E.isMember||E.alreadyInvited||!r(S.a.ChongqingKuaiGongInternational)||e.push(E);const v=_.a["Fulcrum Secret Technologies"],k=I.a[I.b.BitRunnersServer];if("string"!=typeof k)throw new Error("Fulcrum Secret Technologies should be string");const w=R.b[k];if(!(w instanceof P.a))throw new Error("Fulcrum Secret Technologies should be normal server");null==w?console.error("Could not find Fulcrum Secret Technologies Server"):v.isBanned||v.isMember||v.alreadyInvited||!w.backdoorInstalled||!r(S.a.AevumFulcrumTechnologies,25e4)||e.push(v);const x=_.a.BitRunners,O=I.a[I.b.BitRunnersServer];if("string"!=typeof O)throw new Error("BitRunners should be string");const M=R.b[O];if(!(M instanceof P.a))throw new Error("BitRunners should be normal server");null==M?console.error("Could not find BitRunners Server"):x.isBanned||x.isMember||!M.backdoorInstalled||x.alreadyInvited||e.push(x);const T=_.a["The Black Hand"],A=I.a[I.b.TheBlackHandServer];if("string"!=typeof A)throw new Error("TheBlackHand should be string");const N=R.b[A];if(!(N instanceof P.a))throw new Error("TheBlackHand should be normal server");null==N?console.error("Could not find The Black Hand Server"):T.isBanned||T.isMember||!N.backdoorInstalled||T.alreadyInvited||e.push(T);const F=_.a.NiteSec,j=I.a[I.b.NiteSecServer];if("string"!=typeof j)throw new Error("NiteSec should be string");const D=R.b[j];if(!(D instanceof P.a))throw new Error("NiteSec should be normal server");null==D?console.error("Could not find NiteSec Server"):F.isBanned||F.isMember||!D.backdoorInstalled||F.alreadyInvited||e.push(F);const B=_.a.Chongqing;B.isBanned||B.isMember||B.alreadyInvited||!this.money.gte(2e7)||this.city!=C.a.Chongqing||e.push(B);const L=_.a["Sector-12"];L.isBanned||L.isMember||L.alreadyInvited||!this.money.gte(15e6)||this.city!=C.a.Sector12||e.push(L);const G=_.a["New Tokyo"];G.isBanned||G.isMember||G.alreadyInvited||!this.money.gte(2e7)||this.city!=C.a.NewTokyo||e.push(G);const W=_.a.Aevum;W.isBanned||W.isMember||W.alreadyInvited||!this.money.gte(4e7)||this.city!=C.a.Aevum||e.push(W);const H=_.a.Ishima;H.isBanned||H.isMember||H.alreadyInvited||!this.money.gte(3e7)||this.city!=C.a.Ishima||e.push(H);const U=_.a.Volhaven;U.isBanned||U.isMember||U.alreadyInvited||!this.money.gte(5e7)||this.city!=C.a.Volhaven||e.push(U);const q=_.a["Speakers for the Dead"];!q.isBanned&&!q.isMember&&!q.alreadyInvited&&this.hacking_skill>=100&&this.strength>=300&&this.defense>=300&&this.dexterity>=300&&this.agility>=300&&this.numPeopleKilled>=30&&this.karma<=-45&&!a.includes(S.a.Sector12CIA)&&!a.includes(S.a.Sector12NSA)&&e.push(q);const K=_.a["The Dark Army"];!K.isBanned&&!K.isMember&&!K.alreadyInvited&&this.hacking_skill>=300&&this.strength>=300&&this.defense>=300&&this.dexterity>=300&&this.agility>=300&&this.city==C.a.Chongqing&&this.numPeopleKilled>=5&&this.karma<=-45&&!a.includes(S.a.Sector12CIA)&&!a.includes(S.a.Sector12NSA)&&e.push(K);const $=_.a["The Syndicate"];!$.isBanned&&!$.isMember&&!$.alreadyInvited&&this.hacking_skill>=200&&this.strength>=200&&this.defense>=200&&this.dexterity>=200&&this.agility>=200&&(this.city==C.a.Aevum||this.city==C.a.Sector12)&&this.money.gte(1e7)&&this.karma<=-90&&!a.includes(S.a.Sector12CIA)&&!a.includes(S.a.Sector12NSA)&&e.push($);const z=_.a.Silhouette;!z.isBanned&&!z.isMember&&!z.alreadyInvited&&(n.includes("Chief Technology Officer")||n.includes("Chief Financial Officer")||n.includes("Chief Executive Officer"))&&this.money.gte(15e6)&&this.karma<=-22&&e.push(z);const V=_.a.Tetrads;!V.isBanned&&!V.isMember&&!V.alreadyInvited&&(this.city==C.a.Chongqing||this.city==C.a.NewTokyo||this.city==C.a.Ishima)&&this.strength>=75&&this.defense>=75&&this.dexterity>=75&&this.agility>=75&&this.karma<=-18&&e.push(V);const Y=_.a["Slum Snakes"];!Y.isBanned&&!Y.isMember&&!Y.alreadyInvited&&this.strength>=30&&this.defense>=30&&this.dexterity>=30&&this.agility>=30&&this.karma<=-9&&this.money.gte(1e6)&&e.push(Y);const J=_.a.Netburners;let X=0,Q=0,Z=0;for(let e=0;e=80&&X>=8&&Q>=4&&Z>=100&&e.push(J);const ee=_.a["Tian Di Hui"];ee.isBanned||ee.isMember||ee.alreadyInvited||!this.money.gte(1e6)||!(this.hacking_skill>=50)||this.city!=C.a.Chongqing&&this.city!=C.a.NewTokyo&&this.city!=C.a.Ishima||e.push(ee);const te=_.a.CyberSec,ae=I.a[I.b.CyberSecServer];if("string"!=typeof ae)throw new Error("cybersec should be string");const ne=R.b[ae];if(!(ne instanceof P.a))throw new Error("cybersec should be normal server");return null==ne?console.error("Could not find CyberSec Server"):te.isBanned||te.isMember||!ne.backdoorInstalled||te.alreadyInvited||e.push(te),e}function vt(e){this.bitNodeN=e}function kt(e){for(const t in this.queuedAugmentations)if(this.queuedAugmentations[t].name==e)return void console.warn(`tried to queue ${e} twice, this may be a bug`);for(const t in this.augmentations)if(this.augmentations[t].name==e)return void console.warn(`tried to queue ${e} twice, this may be a bug`);this.queuedAugmentations.push(new i.a(e))}function wt(e,t=1){if(null==e||null==e.type||null==e)return"No reward for this contract";switch(e.type){case l.c.FactionReputation:if(null==e.name||!(_.a[e.name]instanceof E.a))return e.type=l.c.FactionReputationAll,this.gainCodingContractReward(e);const a=f.a.CodingContractBaseFactionRepGain*t;return _.a[e.name].playerReputation+=a,`Gained ${a} faction reputation for ${e.name}`;case l.c.FactionReputationAll:const n=f.a.CodingContractBaseFactionRepGain*t,r=["Bladeburners"],i=this.factions.slice().filter(e=>!r.includes(e));if(0==i.length)return e.type=l.c.Money,this.gainCodingContractReward(e,t);const o=Math.floor(n/i.length);for(const e of i)_.a[e]instanceof E.a&&(_.a[e].playerReputation+=o);return`Gained ${o} reputation for each of the following factions: ${i.toString()}`;case l.c.CompanyReputation:{if(null==e.name||!(u.a[e.name]instanceof c.a))return e.type=l.c.FactionReputationAll,this.gainCodingContractReward(e);const a=f.a.CodingContractBaseCompanyRepGain*t;return u.a[e.name].playerReputation+=a,`Gained ${a} company reputation for ${e.name}`}case l.c.Money:default:{const e=f.a.CodingContractBaseMoneyGain*t*s.a.CodingContractMoney;return this.gainMoney(e),this.recordMoneySource(e,"codingcontract"),"Gained "+H.a.formatMoney(e)}}}function Ct(e){return null==k.a[e]?(console.warn("Player.travel() called with invalid city: "+e),!1):(this.city=e,!0)}function St(e){return null==w.a[e]?(console.warn("Player.gotoLocation() called with invalid location: "+e),!1):(this.location=e,!0)}function xt(){return 10===this.bitNodeN||B.a[10]>0}function Ot(e){this.exploits.includes(e)||this.exploits.push(e)}function Mt(e){return Object(M.a)(this.intelligence,e)}function Tt(){return this.moneySourceA.casino}function Rt(e){return this.hasOwnProperty(e)?this[e]:1}function Pt(e,t){this.hasOwnProperty(e)&&(this[e]=t)}},,function(e,t,a){"use strict";a.d(t,"a",(function(){return n}));const n={Operations:"Operations",Engineer:"Engineer",Business:"Business",Management:"Management",RandD:"Research & Development",Training:"Training",Unassigned:"Unassigned"}},,,function(e,t,a){"use strict";a.d(t,"a",(function(){return s})),a.d(t,"d",(function(){return l})),a.d(t,"b",(function(){return c})),a.d(t,"c",(function(){return u})),a.d(t,"e",(function(){return m}));var n=a(0),r=a.n(n),i=a(109),o=a(119);const s={Energy:"Energy",Utilities:"Water Utilities",Agriculture:"Agriculture",Fishing:"Fishing",Mining:"Mining",Food:"Food",Tobacco:"Tobacco",Chemical:"Chemical",Pharmaceutical:"Pharmaceutical",Computer:"Computer Hardware",Robotics:"Robotics",Software:"Software",Healthcare:"Healthcare",RealEstate:"RealEstate"},l={Energy:225e9,Utilities:15e10,Agriculture:4e10,Fishing:8e10,Mining:3e11,Food:1e10,Tobacco:2e10,Chemical:7e10,Pharmaceutical:2e11,Computer:5e11,Robotics:1e12,Software:25e9,Healthcare:75e10,RealEstate:6e11},c={Energy:e=>r.a.createElement(r.a.Fragment,null,"Engage in the production and distribution of energy.",r.a.createElement("br",null),r.a.createElement("br",null),"Starting cost: ",r.a.createElement(o.a,{money:l.Energy,corp:e}),r.a.createElement("br",null),"Recommended starting Industry: NO"),Utilities:e=>r.a.createElement(r.a.Fragment,null,"Distribute water and provide wastewater services.",r.a.createElement("br",null),r.a.createElement("br",null),"Starting cost: ",r.a.createElement(o.a,{money:l.Utilities,corp:e}),r.a.createElement("br",null),"Recommended starting Industry: NO"),Agriculture:e=>r.a.createElement(r.a.Fragment,null,"Cultivate crops and breed livestock to produce food.",r.a.createElement("br",null),r.a.createElement("br",null),"Starting cost: ",r.a.createElement(o.a,{money:l.Agriculture,corp:e}),r.a.createElement("br",null),"Recommended starting Industry: YES"),Fishing:e=>r.a.createElement(r.a.Fragment,null,"Produce food through the breeding and processing of fish and fish products.",r.a.createElement("br",null),r.a.createElement("br",null),"Starting cost: ",r.a.createElement(o.a,{money:l.Fishing,corp:e}),r.a.createElement("br",null),"Recommended starting Industry: NO"),Mining:e=>r.a.createElement(r.a.Fragment,null,"Extract and process metals from the earth.",r.a.createElement("br",null),r.a.createElement("br",null),"Starting cost: ",r.a.createElement(o.a,{money:l.Mining,corp:e}),r.a.createElement("br",null),"Recommended starting Industry: NO"),Food:e=>r.a.createElement(r.a.Fragment,null,"Create your own restaurants all around the world.",r.a.createElement("br",null),r.a.createElement("br",null),"Starting cost: ",r.a.createElement(o.a,{money:l.Food,corp:e}),r.a.createElement("br",null),"Recommended starting Industry: YES"),Tobacco:e=>r.a.createElement(r.a.Fragment,null,"Create and distribute tobacco and tobacco-related products.",r.a.createElement("br",null),r.a.createElement("br",null),"Starting cost: ",r.a.createElement(o.a,{money:l.Tobacco,corp:e}),r.a.createElement("br",null),"Recommended starting Industry: YES"),Chemical:e=>r.a.createElement(r.a.Fragment,null,"Produce industrial chemicals.",r.a.createElement("br",null),r.a.createElement("br",null),"Starting cost: ",r.a.createElement(o.a,{money:l.Chemical,corp:e}),r.a.createElement("br",null),"Recommended starting Industry: NO"),Pharmaceutical:e=>r.a.createElement(r.a.Fragment,null,"Discover, develop, and create new pharmaceutical drugs.",r.a.createElement("br",null),r.a.createElement("br",null),"Starting cost: ",r.a.createElement(o.a,{money:l.Pharmaceutical,corp:e}),r.a.createElement("br",null),"Recommended starting Industry: NO"),Computer:e=>r.a.createElement(r.a.Fragment,null,"Develop and manufacture new computer hardware and networking infrastructures.",r.a.createElement("br",null),r.a.createElement("br",null),"Starting cost: ",r.a.createElement(o.a,{money:l.Computer,corp:e}),r.a.createElement("br",null),"Recommended starting Industry: NO"),Robotics:e=>r.a.createElement(r.a.Fragment,null,"Develop and create robots.",r.a.createElement("br",null),r.a.createElement("br",null),"Starting cost: ",r.a.createElement(o.a,{money:l.Robotics,corp:e}),r.a.createElement("br",null),"Recommended starting Industry: NO"),Software:e=>r.a.createElement(r.a.Fragment,null,"Develop computer software and create AI Cores.",r.a.createElement("br",null),r.a.createElement("br",null),"Starting cost: ",r.a.createElement(o.a,{money:l.Software,corp:e}),r.a.createElement("br",null),"Recommended starting Industry: YES"),Healthcare:e=>r.a.createElement(r.a.Fragment,null,"Create and manage hospitals.",r.a.createElement("br",null),r.a.createElement("br",null),"Starting cost: ",r.a.createElement(o.a,{money:l.Healthcare,corp:e}),r.a.createElement("br",null),"Recommended starting Industry: NO"),RealEstate:e=>r.a.createElement(r.a.Fragment,null,"Develop and manage real estate properties.",r.a.createElement("br",null),r.a.createElement("br",null),"Starting cost: ",r.a.createElement(o.a,{money:l.RealEstate,corp:e}),r.a.createElement("br",null),"Recommended starting Industry: NO")},u={Energy:Object(i.a)(),Utilities:Object(i.a)(),Agriculture:Object(i.a)(),Fishing:Object(i.a)(),Mining:Object(i.a)(),Food:Object(i.b)(),Tobacco:Object(i.b)(),Chemical:Object(i.a)(),Pharmaceutical:Object(i.b)(),Computer:Object(i.b)(),Robotics:Object(i.b)(),Software:Object(i.b)(),Healthcare:Object(i.b)(),RealEstate:Object(i.b)()};function m(){u.Energy=Object(i.a)(),u.Utilities=Object(i.a)(),u.Agriculture=Object(i.a)(),u.Fishing=Object(i.a)(),u.Mining=Object(i.a)(),u.Food=Object(i.a)(),u.Tobacco=Object(i.a)(),u.Chemical=Object(i.a)(),u.Pharmaceutical=Object(i.a)(),u.Computer=Object(i.a)(),u.Robotics=Object(i.a)(),u.Software=Object(i.a)(),u.Healthcare=Object(i.a)(),u.RealEstate=Object(i.a)()}},,,function(e,t,a){"use strict";let n;a.d(t,"a",(function(){return n})),function(e){e[e.Company=0]="Company",e[e.Gym=1]="Gym",e[e.Hospital=2]="Hospital",e[e.Slums=3]="Slums",e[e.Special=4]="Special",e[e.StockMarket=5]="StockMarket",e[e.TechVendor=6]="TechVendor",e[e.TravelAgency=7]="TravelAgency",e[e.University=8]="University",e[e.Casino=9]="Casino"}(n||(n={}))},,function(e,t,a){"use strict";a.d(t,"a",(function(){return n}));const n={CityNames:["Aevum","Chongqing","Sector-12","New Tokyo","Ishima","Volhaven"],CyclesPerSecond:5,StaminaGainPerSecond:.0085,BaseStaminaLoss:.285,MaxStaminaToGainFactor:7e4,DifficultyToTimeFactor:10,DiffMultExponentialFactor:.28,DiffMultLinearFactor:650,EffAgiLinearFactor:1e4,EffDexLinearFactor:1e4,EffAgiExponentialFactor:.04,EffDexExponentialFactor:.035,BaseRecruitmentTimeNeeded:300,PopulationThreshold:1e9,PopulationExponent:.7,ChaosThreshold:50,BaseStatGain:1,BaseIntGain:.003,ActionCountGrowthPeriod:480,RankToFactionRepFactor:2,RankNeededForFaction:25,ContractSuccessesPerLevel:3,OperationSuccessesPerLevel:2.5,RanksPerSkillPoint:3,ContractBaseMoneyGain:25e4,HrcHpGain:2,HrcStaminaGain:1}},function(e,t,a){"use strict";a.d(t,"a",(function(){return n}));const n={HackersStartingHandbook:"hackers-starting-handbook.lit",CorporationManagementHandbook:"corporation-management-handbook.lit",HistoryOfSynthoids:"history-of-synthoids.lit",AGreenTomorrow:"A-Green-Tomorrow.lit",AlphaOmega:"alpha-omega.lit",SimulatedReality:"simulated-reality.lit",BeyondMan:"beyond-man.lit",BrighterThanTheSun:"brighter-than-the-sun.lit",DemocracyIsDead:"democracy-is-dead.lit",Sector12Crime:"sector-12-crime.lit",ManAndMachine:"man-and-machine.lit",SecretSocieties:"secret-societies.lit",TheFailedFrontier:"the-failed-frontier.lit",CodedIntelligence:"coded-intelligence.lit",SyntheticMuscles:"synthetic-muscles.lit",TensionsInTechRace:"tensions-in-tech-race.lit",CostOfImmortality:"cost-of-immortality.lit",TheHiddenWorld:"the-hidden-world.lit",TheNewGod:"the-new-god.lit",NewTriads:"new-triads.lit",TheSecretWar:"the-secret-war.lit"}},function(e,t,a){"use strict";a.d(t,"a",(function(){return c}));var n=a(477),r=a(8),i=a(780),o=a(276),s=a(21);function l(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}class c extends n.a{constructor(e={hostname:"",ip:Object(o.a)()}){super(e),l(this,"backdoorInstalled",!1),l(this,"baseDifficulty",1),l(this,"hackDifficulty",1),l(this,"minDifficulty",1),l(this,"moneyAvailable",0),l(this,"moneyMax",0),l(this,"numOpenPortsRequired",5),l(this,"openPortCount",0),l(this,"purchasedByPlayer",!1),l(this,"requiredHackingSkill",1),l(this,"serverGrowth",1),this.hostname.startsWith("hacknet-node-")&&(this.hostname=Object(i.a)(10)),this.purchasedByPlayer=null!=e.purchasedByPlayer&&e.purchasedByPlayer,this.maxRam=null!=e.maxRam?e.maxRam:0,this.requiredHackingSkill=null!=e.requiredHackingSkill?e.requiredHackingSkill:1,this.moneyAvailable=null!=e.moneyAvailable?e.moneyAvailable*r.a.ServerStartingMoney:0,this.moneyMax=25*this.moneyAvailable*r.a.ServerMaxMoney,this.hackDifficulty=null!=e.hackDifficulty?e.hackDifficulty*r.a.ServerStartingSecurity:1,this.baseDifficulty=this.hackDifficulty,this.minDifficulty=Math.max(1,Math.round(this.hackDifficulty/3)),this.serverGrowth=null!=e.serverGrowth?e.serverGrowth:1,this.numOpenPortsRequired=null!=e.numOpenPortsRequired?e.numOpenPortsRequired:5}capDifficulty(){this.hackDifficulty100&&(this.hackDifficulty=100)}changeMinimumSecurity(e,t=!1){t?this.minDifficulty*=e:this.minDifficulty+=e,this.minDifficulty=Math.max(1,this.minDifficulty)}changeMaximumMoney(e,t=!1){t?this.moneyMax*=e:this.moneyMax+=e}fortify(e){this.hackDifficulty+=e,this.capDifficulty()}weaken(e){this.hackDifficulty-=e*r.a.ServerWeakenRate,this.capDifficulty()}toJSON(){return Object(s.b)("Server",this)}static fromJSON(e){return Object(s.a)(c,e.data)}}s.c.constructors.Server=c},function(e,t,a){"use strict";a.d(t,"g",(function(){return g})),a.d(t,"l",(function(){return y})),a.d(t,"h",(function(){return b})),a.d(t,"a",(function(){return E})),a.d(t,"b",(function(){return _})),a.d(t,"e",(function(){return v})),a.d(t,"f",(function(){return k})),a.d(t,"d",(function(){return w})),a.d(t,"c",(function(){return C})),a.d(t,"n",(function(){return S})),a.d(t,"o",(function(){return x})),a.d(t,"k",(function(){return O})),a.d(t,"j",(function(){return M})),a.d(t,"i",(function(){return T})),a.d(t,"p",(function(){return P})),a.d(t,"m",(function(){return A}));var n=a(248),r=a(230),i=a(206),o=a(37),s=a(89),l=a(322),c=a(249),u=a(323),m=a(39),h=a(36),p=a(44),d=a(57),f=a(63);function g(e){return 9===e.bitNodeN||f.a[9]>0}function y(e){if(m.a.isRunning){if(m.a.currStep!==m.f.HacknetNodesIntroduction)return-1;Object(m.c)()}const t=e.hacknetNodes.length;if(g(e)){const a=_(e);if(isNaN(a))throw new Error("Calculated cost of purchasing HacknetServer is NaN");return e.canAfford(a)?(e.loseMoney(a),e.createHacknetServer(),P(e),t):-1}{const a=E(e);if(isNaN(a))throw new Error("Calculated cost of purchasing HacknetNode is NaN");if(!e.canAfford(a))return-1;const r="hacknet-node-"+t,i=new n.a(r,e.hacknet_node_money_mult);return e.loseMoney(a),e.hacknetNodes.push(i),t}}function b(e){return g(e)&&e.hacknetNodes.length>=o.b.MaxServers}function E(e){return Object(r.d)(e.hacknetNodes.length+1,e.hacknet_node_purchase_cost_mult)}function _(e){return Object(i.f)(e.hacknetNodes.length+1,e.hacknet_node_purchase_cost_mult)}function v(e,t,a){if(null==a)throw new Error("getMaxNumberLevelUpgrades() called without maxLevel arg");if(e.money.lt(t.calculateLevelUpgradeCost(1,e.hacknet_node_level_cost_mult)))return 0;let n=1,r=a-1;const i=a-t.level;if(e.money.gt(t.calculateLevelUpgradeCost(i,e.hacknet_node_level_cost_mult)))return i;for(;n<=r;){const o=(n+r)/2|0;if(o!==a&&e.money.gt(t.calculateLevelUpgradeCost(o,e.hacknet_node_level_cost_mult))&&e.money.lt(t.calculateLevelUpgradeCost(o+1,e.hacknet_node_level_cost_mult)))return Math.min(i,o);if(e.money.lt(t.calculateLevelUpgradeCost(o,e.hacknet_node_level_cost_mult)))r=o-1;else{if(!e.money.gt(t.calculateLevelUpgradeCost(o,e.hacknet_node_level_cost_mult)))return Math.min(i,o);n=o+1}}return 0}function k(e,t,a){if(null==a)throw new Error("getMaxNumberRamUpgrades() called without maxLevel arg");if(e.money.lt(t.calculateRamUpgradeCost(1,e.hacknet_node_ram_cost_mult)))return 0;let n;if(n=t instanceof s.a?Math.round(Math.log2(a/t.maxRam)):Math.round(Math.log2(a/t.ram)),e.money.gt(t.calculateRamUpgradeCost(n,e.hacknet_node_ram_cost_mult)))return n;for(let a=n-1;a>=0;--a)if(e.money.gt(t.calculateRamUpgradeCost(a,e.hacknet_node_ram_cost_mult)))return a;return 0}function w(e,t,a){if(null==a)throw new Error("getMaxNumberCoreUpgrades() called without maxLevel arg");if(e.money.lt(t.calculateCoreUpgradeCost(1,e.hacknet_node_core_cost_mult)))return 0;let n=1,r=a-1;const i=a-t.cores;if(e.money.gt(t.calculateCoreUpgradeCost(i,e.hacknet_node_core_cost_mult)))return i;for(;n<=r;){const o=(n+r)/2|0;if(o!=a&&e.money.gt(t.calculateCoreUpgradeCost(o,e.hacknet_node_core_cost_mult))&&e.money.lt(t.calculateCoreUpgradeCost(o+1,e.hacknet_node_core_cost_mult)))return Math.min(i,o);if(e.money.lt(t.calculateCoreUpgradeCost(o,e.hacknet_node_core_cost_mult)))r=o-1;else{if(!e.money.gt(t.calculateCoreUpgradeCost(o,e.hacknet_node_core_cost_mult)))return Math.min(i,o);n=o+1}}return 0}function C(e,t,a){if(null==a)throw new Error("getMaxNumberCacheUpgrades() called without maxLevel arg");if(!e.canAfford(t.calculateCacheUpgradeCost(1)))return 0;let n=1,r=a-1;const i=a-t.cache;if(e.canAfford(t.calculateCacheUpgradeCost(i)))return i;for(;n<=r;){const o=(n+r)/2|0;if(o!=a&&e.canAfford(t.calculateCacheUpgradeCost(o))&&!e.canAfford(t.calculateCacheUpgradeCost(o+1)))return Math.min(i,o);if(e.canAfford(t.calculateCacheUpgradeCost(o))){if(!e.canAfford(t.calculateCacheUpgradeCost(o)))return Math.min(i,o);n=o+1}else r=o-1}return 0}function S(e,t,a=1){const n=Math.round(a),r=t.calculateLevelUpgradeCost(n,e.hacknet_node_level_cost_mult);if(isNaN(r)||r<=0||n<0)return!1;const i=t instanceof s.a;if(t.level>=(i?o.b.MaxLevel:o.a.MaxLevel))return!1;if(t.level+n>(i?o.b.MaxLevel:o.a.MaxLevel)){return S(e,t,Math.max(0,(i?o.b.MaxLevel:o.a.MaxLevel)-t.level))}return!!e.canAfford(r)&&(e.loseMoney(r),t.upgradeLevel(n,e.hacknet_node_money_mult),!0)}function x(e,t,a=1){const r=Math.round(a),i=t.calculateRamUpgradeCost(r,e.hacknet_node_ram_cost_mult);if(isNaN(i)||i<=0||r<0)return!1;if(t instanceof s.a&&t.maxRam>=o.b.MaxRam)return!1;if(t instanceof n.a&&t.ram>=o.a.MaxRam)return!1;if(t instanceof s.a){if(t.maxRam*Math.pow(2,r)>o.b.MaxRam){return x(e,t,Math.max(0,Math.log2(Math.round(o.b.MaxRam/t.maxRam))))}}else if(t instanceof n.a&&t.ram*Math.pow(2,r)>o.a.MaxRam){return x(e,t,Math.max(0,Math.log2(Math.round(o.a.MaxRam/t.ram))))}return!!e.canAfford(i)&&(e.loseMoney(i),t.upgradeRam(r,e.hacknet_node_money_mult),!0)}function O(e,t,a=1){const n=Math.round(a),r=t.calculateCoreUpgradeCost(n,e.hacknet_node_core_cost_mult);if(isNaN(r)||r<=0||n<0)return!1;const i=t instanceof s.a;if(t.cores>=(i?o.b.MaxCores:o.a.MaxCores))return!1;if(t.cores+n>(i?o.b.MaxCores:o.a.MaxCores)){return O(e,t,Math.max(0,(i?o.b.MaxCores:o.a.MaxCores)-t.cores))}return!!e.canAfford(r)&&(e.loseMoney(r),t.upgradeCore(n,e.hacknet_node_money_mult),!0)}function M(e,t,a=1){const n=Math.round(a),r=t.calculateCacheUpgradeCost(n);if(isNaN(r)||r<=0||n<0)return!1;if(!(t instanceof s.a))return console.warn("purchaseCacheUpgrade() called for a non-HacknetNode"),!1;if(t.cache+n>o.b.MaxCache){return M(e,t,Math.max(0,o.b.MaxCache-t.cache))}return!!e.canAfford(r)&&(e.loseMoney(r),t.upgradeCache(n),!0)}function T(e,t){return 0===e.hacknetNodes.length?0:g(e)?function(e,t){if(!(e.hashManager instanceof l.a))throw new Error("Player does not have a HashManager (should be in 'hashManager' prop)");let a=0;for(let r=0;r{var t;null!=o[(t=e).name]&&console.warn("Duplicate Company Position being defined: "+t.name),o[t.name]=new r.a(t)});for(const t in o){const a=o[t];e[t]instanceof r.a?(a.favor=e[t].favor,isNaN(a.favor)&&(a.favor=0)):a.favor=0}}function l(e){o=JSON.parse(e,i.c)}},,,,function(e,t,a){"use strict";a.d(t,"a",(function(){return r})),a.d(t,"b",(function(){return i}));var n=a(6);const r=Array(n.a.TotalNumBitNodes+1);function i(e){for(let e=0;e_data_Constants__WEBPACK_IMPORTED_MODULE_2__.a.DividendMaxPercentage)throw new Error("Invalid value. Must be an integer between 0 and "+_data_Constants__WEBPACK_IMPORTED_MODULE_2__.a.DividendMaxPercentage);e.dividendPercentage=100*t}function SellMaterial(mat,amt,price){""===price&&(price="0"),""===amt&&(amt="0");let cost=price.replace(/\s+/g,"");cost=cost.replace(/[^-()\d/*+.MP]/g,"");let temp=cost.replace(/MP/g,mat.bCost+"");try{temp=eval(temp)}catch(e){throw new Error("Invalid value or expression for sell price field: "+e)}if(null==temp||isNaN(parseFloat(temp)))throw new Error("Invalid value or expression for sell price field");if(cost.includes("MP")?mat.sCost=cost:mat.sCost=temp,amt.includes("MAX")||amt.includes("PROD")){let q=amt.replace(/\s+/g,"");q=q.replace(/[^-()\d/*+.MAXPROD]/g,"");let tempQty=q.replace(/MAX/g,"1");tempQty=tempQty.replace(/PROD/g,"1");try{tempQty=eval(tempQty)}catch(e){throw new Error("Invalid value or expression for sell price field: "+e)}if(null==tempQty||isNaN(parseFloat(tempQty)))throw new Error("Invalid value or expression for sell price field");mat.sllman[0]=!0,mat.sllman[1]=q}else{if(isNaN(parseFloat(amt)))throw new Error("Invalid value for sell quantity field! Must be numeric or 'MAX'");{let e=parseFloat(amt);isNaN(e)&&(e=0),0===e?(mat.sllman[0]=!1,mat.sllman[1]=0):(mat.sllman[0]=!0,mat.sllman[1]=e)}}}function SellProduct(product,city,amt,price,all){if(price.includes("MP")){price=price.replace(/\s+/g,""),price=price.replace(/[^-()\d/*+.MP]/g,"");let temp=price.replace(/MP/g,"1");try{temp=eval(temp)}catch(e){throw new Error("Invalid value or expression for sell quantity field: "+e)}if(null==temp||isNaN(parseFloat(temp)))throw new Error("Invalid value or expression for sell quantity field.");product.sCost=price}else{const e=parseFloat(price);if(isNaN(e))throw new Error("Invalid value for sell price field");product.sCost=e}const cities=Object.keys(_Locations_Cities__WEBPACK_IMPORTED_MODULE_6__.a);if(amt.includes("MAX")||amt.includes("PROD")){let qty=amt.replace(/\s+/g,"");qty=qty.replace(/[^-()\d/*+.MAXPROD]/g,"");let temp=qty.replace(/MAX/g,"1");temp=temp.replace(/PROD/g,"1");try{temp=eval(temp)}catch(e){throw new Error("Invalid value or expression for sell price field: "+e)}if(null==temp||isNaN(parseFloat(temp)))throw new Error("Invalid value or expression for sell price field");if(all)for(let e=0;e]/g,""),createCity:a,designCost:r,advCost:i});if(t.products[o.name]instanceof _Product__WEBPACK_IMPORTED_MODULE_4__.a)throw new Error("You already have a product with this name!");e.funds=e.funds.minus(r+i),t.products[o.name]=o}function Research(e,t){const a=_IndustryData__WEBPACK_IMPORTED_MODULE_0__.c[e.type];if(void 0===a)throw new Error(`No research tree for industry '${e.type}'`);if(!a.getAllNodes().includes(t))throw new Error(`No research named '${t}'`);const n=_ResearchMap__WEBPACK_IMPORTED_MODULE_9__.a[t];if(e.sciResearch.qty{var t;null!=i[(t=e).name]&&console.warn("Duplicate Company Position being defined: "+t.name),i[t.name]=new r.a(t)})},,,,,,function(e,t,a){"use strict";a.d(t,"a",(function(){return r}));var n=a(9);const r={};r[n.a.AevumECorp]="ECP",r[n.a.Sector12MegaCorp]="MGCP",r[n.a.Sector12BladeIndustries]="BLD",r[n.a.AevumClarkeIncorporated]="CLRK",r[n.a.VolhavenOmniTekIncorporated]="OMTK",r[n.a.Sector12FourSigma]="FSIG",r[n.a.ChongqingKuaiGongInternational]="KGI",r[n.a.AevumFulcrumTechnologies]="FLCM",r[n.a.IshimaStormTechnologies]="STM",r[n.a.NewTokyoDefComm]="DCOMM",r[n.a.VolhavenHeliosLabs]="HLS",r[n.a.NewTokyoVitaLife]="VITA",r[n.a.Sector12IcarusMicrosystems]="ICRS",r[n.a.Sector12UniversalEnergy]="UNV",r[n.a.AevumAeroCorp]="AERO",r[n.a.VolhavenOmniaCybersystems]="OMN",r[n.a.ChongqingSolarisSpaceSystems]="SLRS",r[n.a.NewTokyoGlobalPharmaceuticals]="GPH",r[n.a.IshimaNovaMedical]="NVMD",r[n.a.AevumWatchdogSecurity]="WDS",r[n.a.VolhavenLexoCorp]="LXO",r[n.a.AevumRhoConstruction]="RHOC",r[n.a.Sector12AlphaEnterprises]="APHE",r[n.a.VolhavenSysCoreSecurities]="SYSC",r[n.a.VolhavenCompuTek]="CTK",r[n.a.AevumNetLinkTechnologies]="NTLK",r[n.a.IshimaOmegaSoftware]="OMGA",r[n.a.Sector12FoodNStuff]="FNS",r["Sigma Cosmetics"]="SGC",r["Joes Guns"]="JGN",r["Catalyst Ventures"]="CTYS",r["Microdyne Technologies"]="MDYN",r["Titan Laboratories"]="TITN"},function(e,t,a){"use strict";a.d(t,"a",(function(){return u}));var n=a(6),r=a(477),i=a(37),o=a(206),s=a(276),l=a(21);function c(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}class u extends r.a{constructor(e={hostname:"",ip:Object(s.a)()}){super(e),c(this,"cache",1),c(this,"cores",1),c(this,"hashCapacity",0),c(this,"hashRate",0),c(this,"level",1),c(this,"onlineTimeSeconds",0),c(this,"totalHashesGenerated",0),this.maxRam=1,this.updateHashCapacity()}calculateCacheUpgradeCost(e){return Object(o.a)(this.cache,e)}calculateCoreUpgradeCost(e,t){return Object(o.b)(this.cores,e,t)}calculateLevelUpgradeCost(e,t){return Object(o.d)(this.level,e,t)}calculateRamUpgradeCost(e,t){return Object(o.e)(this.maxRam,e,t)}process(e=1){const t=e*n.a.MilliPerCycle/1e3;return this.hashRate*t}upgradeCache(e){this.cache=Math.min(i.b.MaxCache,Math.round(this.cache+e)),this.updateHashCapacity()}upgradeCore(e,t){this.cores=Math.min(i.b.MaxCores,Math.round(this.cores+e)),this.updateHashRate(t)}upgradeLevel(e,t){this.level=Math.min(i.b.MaxLevel,Math.round(this.level+e)),this.updateHashRate(t)}upgradeRam(e,t){for(let t=0;t=t.cap&&(o=.1,t.b=!1),isNaN(o)&&(o=.5);const s=Math.random(),u={stockMarket:g,symbolToStockMap:y};s{const t={c:this,onClose:()=>{e(c.Cancelled)},onAttempt:t=>{this.isSolution(t)?e(c.Success):e(c.Failure)}};i.a.emit(t)})}toJSON(){return Object(r.b)("CodingContract",this)}static fromJSON(e){return Object(r.a)(u,e.data)}}r.c.constructors.CodingContract=u},function(e,t,a){"use strict";let n;a.d(t,"a",(function(){return n})),function(e){e.LimitBuy="Limit Buy Order",e.LimitSell="Limit Sell Order",e.StopBuy="Stop Buy Order",e.StopSell="Stop Sell Order"}(n||(n={}))},function(e,t,a){"use strict";a.d(t,"b",(function(){return i})),a.d(t,"c",(function(){return o})),a.d(t,"e",(function(){return s})),a.d(t,"d",(function(){return l})),a.d(t,"a",(function(){return c})),a.d(t,"f",(function(){return u}));var n=a(8),r=a(353);function i(e,t){const a=(100-e.hackDifficulty)/100,n=1.75*t.hacking_skill,i=(n-e.requiredHackingSkill)/n*a*t.hacking_chance_mult*Object(r.a)(t.intelligence,1);return i>1?1:i<0?0:i}function o(e,t){null==e.baseDifficulty&&(e.baseDifficulty=e.hackDifficulty);let a=3;return a+=e.baseDifficulty*t.hacking_exp_mult*.3,a*n.a.HackExpGain}function s(e,t){const a=(100-e.hackDifficulty)/100*((t.hacking_skill-(e.requiredHackingSkill-1))/t.hacking_skill)*t.hacking_money_mult/240;return a<0?0:a>1?1:a*n.a.ScriptHackMoney}function l(e,t){let a=2.5*(e.requiredHackingSkill*e.hackDifficulty)+500;a/=t.hacking_skill+50;return 5*a/(t.hacking_speed_mult*Object(r.a)(t.intelligence,1))}function c(e,t){return 3.2*l(e,t)}function u(e,t){return 4*l(e,t)}},,,,,,function(e,t,a){"use strict";function n(e){return e.endsWith(".js")||e.endsWith(".script")||e.endsWith(".ns")}a.d(t,"a",(function(){return n}))},function(e,t,a){"use strict";a.d(t,"a",(function(){return l}));var n=a(0),r=a(4),i=a(132),o=a(161);const s=Object(i.a)(e=>Object(o.a)({reputation:{color:e.colors.rep}}));function l({reputation:e}){const t=s();return n.createElement("span",{className:t.reputation},"number"==typeof e?r.a.formatReputation(e):e)}},,,,,function(e,t,a){"use strict";a.d(t,"a",(function(){return s}));var n=a(0),r=a.n(n),i=a(4),o=a(18);function s({money:e}){return r.a.createElement(o.a,{money:i.a.formatMoney(e)+" / sec"})}},function(e,t,a){"use strict";a.d(t,"a",(function(){return s})),a.d(t,"b",(function(){return l}));var n=a(321),r=a(547);function i(e){const t=n.a[e];if(null==t)throw new Error("Invalid research name: "+e);return new r.a({text:t.name,cost:t.cost})}function o(){const e=i("Hi-Tech R&D Laboratory"),t=i("AutoBrew"),a=i("AutoPartyManager"),n=i("Automatic Drug Administration"),r=i("Bulk Purchasing"),o=i("CPH4 Injections"),s=i("Drones"),l=i("Drones - Assembly"),c=i("Drones - Transport"),u=i("Go-Juice"),m=i("HRBuddy-Recruitment"),h=i("HRBuddy-Training"),p=i("JoyWire"),d=i("Market-TA.I"),f=i("Market-TA.II"),g=i("Overclock"),y=i("Self-Correcting Assemblers"),b=i("Sti.mu");return n.addChild(u),n.addChild(o),s.addChild(l),s.addChild(c),m.addChild(h),d.addChild(f),g.addChild(b),e.addChild(t),e.addChild(a),e.addChild(n),e.addChild(r),e.addChild(s),e.addChild(m),e.addChild(p),e.addChild(d),e.addChild(g),e.addChild(y),e}function s(){const e=new r.b;return e.setRoot(o()),e}function l(){const e=new r.b,t=o(),a=i("uPgrade: Fulcrum"),n=i("uPgrade: Capacity.I"),s=i("uPgrade: Capacity.II"),l=i("uPgrade: Dashboard");return n.addChild(s),a.addChild(n),a.addChild(l),t.addChild(a),e.setRoot(t),e}},function(e,t,a){"use strict";function n(e){return e.startsWith("/")?e.slice(1):e}function r(e){return e.endsWith("/")?e.slice(0,-1):e}function i(e){return null!=e.match(/^[.a-zA-Z0-9_-]+[.][a-zA-Z0-9]+(?:-\d+(?:\.\d*)?%-INC)?$/)}function o(e){let t=e;if(0===t.length)return!1;if(1===t.length)return"/"===t;if(!t.startsWith("/"))return!1;t=t.slice(1),t=r(t);const a=t.split("/");for(const e of a)if("."!==e&&".."!==e&&null==e.match(/^.?[a-zA-Z0-9_-]+$/))return!1;return!0}function s(e){if(null==e||"string"!=typeof e)return!1;const t=e;if(t.length<3)return!1;if(t.endsWith("/"))return!1;const a=t.lastIndexOf("/");if(-1===a)return i(t);const n=t.slice(a+1);return o(t.slice(0,a+1))&&i(n)}function l(e){let t=e;if(t=n(t),t=r(t),-1===t.lastIndexOf("/"))return"/";const a=t.split("/");return 0===a.length?"/":a[0]+"/"}function c(e){const t=e,a=t.lastIndexOf("/");return-1===a?"":t.slice(0,a+1)}function u(e){return!!s(e)&&(null!=e&&0!==e.length&&e.lastIndexOf("/")<=0)}function m(e,t){let a=e;if(a.startsWith("/")||null==t||(a=t+(t.endsWith("/")?"":"/")+a),!o(a))return null;a=n(a),a=r(a);const i=a.split("/"),s=[];for(const e of i)if("."!==e)if(".."===e){if(null==s.pop())return null}else s.push(e);return"/"+s.join("/")}function h(e,t){let a=e;if(a.startsWith("/")||null==t||(a=t+(t.endsWith("/")?"":"/")+a),!s(a))return null;a=n(a);const r=a.split("/"),i=[];for(const e of r)if("."!==e)if(".."===e){if(null==i.pop())return null}else i.push(e);return"/"+i.join("/")}a.d(t,"h",(function(){return n})),a.d(t,"i",(function(){return r})),a.d(t,"f",(function(){return o})),a.d(t,"g",(function(){return s})),a.d(t,"d",(function(){return l})),a.d(t,"c",(function(){return c})),a.d(t,"e",(function(){return u})),a.d(t,"a",(function(){return m})),a.d(t,"b",(function(){return h}))},function(e,t,a){"use strict";a.d(t,"b",(function(){return ue})),a.d(t,"a",(function(){return me}));var n=a(0),r=a.n(n),i=a(152),o=a(282),s=a(327),l=a(9),c=a(221),u=a(39),m=a(808),h=a(324),p=a(311),d=a(15),f=a(36),g=a(24),y=a(207),b=a(92),E=a(132),_=a(161),v=a(31),k=a(1),w=a(30),C=a(812),S=a(816),x=a(834),O=a(844),M=a(862),T=a(894),R=a(909),P=a(952),A=a(966),N=a(969),I=a(970),F=a(1009),j=a(1018),D=a(633),B=a(1049),L=a(1050),G=a(1051),W=a(1067),H=a(1068),U=a(1073),q=a(1074),K=a(1084),$=a(1085),z=a(1095),V=a(535),Y=a(1097),J=a(1106),X=a(1109),Q=a(1111),Z=a(182),ee=a(1112),te=a(503),ae=a(247),ne=a(352),re=a(498),ie=a(224),oe=a(26);const se=Object(E.a)(e=>Object(_.a)({root:{"-ms-overflow-style":"none","scrollbar-width":"none",margin:e.spacing(0)}}));let le="",ce="",ue={page:()=>{throw new Error("Router called before initialization")},toActiveScripts:()=>{throw new Error("Router called before initialization")},toAugmentations:()=>{throw new Error("Router called before initialization")},toBitVerse:()=>{throw new Error("Router called before initialization")},toBladeburner:()=>{throw new Error("Router called before initialization")},toStats:()=>{throw new Error("Router called before initialization")},toCity:()=>{throw new Error("Router called before initialization")},toCorporation:()=>{throw new Error("Router called before initialization")},toCreateProgram:()=>{throw new Error("Router called before initialization")},toDevMenu:()=>{throw new Error("Router called before initialization")},toFaction:()=>{throw new Error("Router called before initialization")},toFactions:()=>{throw new Error("Router called before initialization")},toGameOptions:()=>{throw new Error("Router called before initialization")},toGang:()=>{throw new Error("Router called before initialization")},toHacknetNodes:()=>{throw new Error("Router called before initialization")},toInfiltration:()=>{throw new Error("Router called before initialization")},toJob:()=>{throw new Error("Router called before initialization")},toMilestones:()=>{throw new Error("Router called before initialization")},toResleeves:()=>{throw new Error("Router called before initialization")},toScriptEditor:()=>{throw new Error("Router called before initialization")},toSleeves:()=>{throw new Error("Router called before initialization")},toStockMarket:()=>{throw new Error("Router called before initialization")},toTerminal:()=>{throw new Error("Router called before initialization")},toTravel:()=>{throw new Error("Router called before initialization")},toTutorial:()=>{throw new Error("Router called before initialization")},toWork:()=>{throw new Error("Router called before initialization")},toBladeburnerCinematic:()=>{throw new Error("Router called before initialization")},toLocation:()=>{throw new Error("Router called before initialization")}};function me({player:e,engine:t,terminal:a}){const E=se(),[_,me]=Object(n.useState)(function(e){return e.isWorking?w.a.Work:w.a.Terminal}(e)),he=Object(n.useState)(0)[1],[pe,de]=Object(n.useState)(e.currentWorkFactionName?g.a[e.currentWorkFactionName]:void 0);if(void 0===pe&&_===w.a.Faction)throw new Error("Trying to go to a page without the proper setup");const[fe,ge]=Object(n.useState)(!1),[ye,be]=Object(n.useState)(!1),[Ee,_e]=Object(n.useState)(void 0);if(void 0===Ee&&(_===w.a.Infiltration||_===w.a.Location||_===w.a.Job))throw new Error("Trying to go to a page without the proper setup");const[ve,ke]=Object(n.useState)("");function we(){he(e=>e+1)}return Object(n.useEffect)(()=>h.a.subscribe(we),[]),ue={page:()=>_,toActiveScripts:()=>me(w.a.ActiveScripts),toAugmentations:()=>me(w.a.Augmentations),toBladeburner:()=>me(w.a.Bladeburner),toStats:()=>me(w.a.Stats),toCorporation:()=>me(w.a.Corporation),toCreateProgram:()=>me(w.a.CreateProgram),toDevMenu:()=>me(w.a.DevMenu),toFaction:e=>{me(w.a.Faction),e&&de(e)},toFactions:()=>me(w.a.Factions),toGameOptions:()=>me(w.a.Options),toGang:()=>me(w.a.Gang),toHacknetNodes:()=>me(w.a.Hacknet),toMilestones:()=>me(w.a.Milestones),toResleeves:()=>me(w.a.Resleeves),toScriptEditor:(e,t)=>{le=e,ce=t,me(w.a.CreateScript)},toSleeves:()=>me(w.a.Sleeves),toStockMarket:()=>me(w.a.StockMarket),toTerminal:()=>me(w.a.Terminal),toTutorial:()=>me(w.a.Tutorial),toJob:()=>{_e(c.a[e.companyName]),me(w.a.Job)},toCity:()=>{me(w.a.City)},toTravel:()=>{e.gotoLocation(l.a.TravelAgency),me(w.a.Travel)},toBitVerse:(e,t)=>{ge(e),be(t),me(w.a.BitVerse)},toInfiltration:e=>{_e(e),me(w.a.Infiltration)},toWork:()=>me(w.a.Work),toBladeburnerCinematic:()=>{me(w.a.BladeburnerCinematic),ke(ve)},toLocation:e=>{_e(e),me(w.a.Location)}},Object(n.useEffect)(()=>{le="",ce="",_!==w.a.Terminal&&window.scrollTo(0,0)}),r.a.createElement(oe.a.Player.Provider,{value:e},r.a.createElement(oe.a.Router.Provider,{value:ue},r.a.createElement(C.a,null,u.a.isRunning?r.a.createElement(m.a,null):r.a.createElement(X.a,{save:()=>o.b.saveGame()})),_===w.a.BitVerse?r.a.createElement(J.a,{flume:fe,enter:ie.a,quick:ye}):_===w.a.Infiltration?r.a.createElement(P.a,{location:Ee}):_===w.a.BladeburnerCinematic?r.a.createElement(Q.a,null):_===w.a.Work?r.a.createElement(N.a,null):r.a.createElement(v.a,{display:"flex",flexDirection:"row",width:"100%"},r.a.createElement(S.a,{player:e,router:ue,page:_}),r.a.createElement(v.a,{className:E.root,flexGrow:1,display:"block",px:1,height:"100vh"},_===w.a.Terminal?r.a.createElement(H.a,{terminal:a,router:ue,player:e}):_===w.a.Sleeves?r.a.createElement(F.a,null):_===w.a.Stats?r.a.createElement(z.a,null):_===w.a.CreateScript?r.a.createElement(G.a,{filename:le,code:ce,player:e,router:ue}):_===w.a.ActiveScripts?r.a.createElement(q.a,{workerScripts:Z.a}):_===w.a.Hacknet?r.a.createElement(j.a,{player:e}):_===w.a.CreateProgram?r.a.createElement(L.a,null):_===w.a.Factions?r.a.createElement(K.a,{player:e,router:ue}):_===w.a.Faction?r.a.createElement($.a,{faction:pe}):_===w.a.Milestones?r.a.createElement(W.a,{player:e}):_===w.a.Tutorial?r.a.createElement(U.a,null):_===w.a.DevMenu?r.a.createElement(O.a,{player:e,engine:t,router:ue}):_===w.a.Gang?r.a.createElement(T.a,null):_===w.a.Corporation?r.a.createElement(R.a,null):_===w.a.Bladeburner?r.a.createElement(M.a,null):_===w.a.Resleeves?r.a.createElement(A.a,null):_===w.a.Travel?r.a.createElement(V.a,{p:e,router:ue}):_===w.a.StockMarket?r.a.createElement(Y.a,{buyStockLong:y.a,buyStockShort:y.d,cancelOrder:b.c,eventEmitterForReset:b.e,initStockMarket:b.g,p:e,placeOrder:b.j,sellStockLong:y.c,sellStockShort:y.b,stockMarket:b.a}):_===w.a.City?r.a.createElement(B.a,null):_===w.a.Job||_===w.a.Location?r.a.createElement(D.a,{loc:Ee}):_===w.a.Options?r.a.createElement(I.a,{player:e,save:()=>o.b.saveGame(),export:()=>o.b.exportGame(),forceKill:()=>{for(const e of Object.keys(f.b))f.b[e].runningScripts=[];Object(d.a)("Forcefully deleted all running scripts. Please save and refresh page.")},softReset:()=>{Object(d.a)("Soft Reset!"),Object(p.a)(),ue.toTerminal()}}):_===w.a.Augmentations?r.a.createElement(x.a,{exportGameFn:()=>{o.b.exportGame(),Object(s.c)(e)},installAugmentationsFn:()=>{Object(i.d)(),ue.toTerminal()}}):r.a.createElement(r.a.Fragment,null,r.a.createElement(k.a,null,"Cannot load")))),r.a.createElement(ee.a,null),r.a.createElement(te.b,null),r.a.createElement(ae.b,null),r.a.createElement(ne.b,null),r.a.createElement(re.b,null)))}},,,function(e,t,a){"use strict";a.d(t,"a",(function(){return u}));var n=a(0),r=a.n(n),i=a(41),o=a(189),s=a(238),l=a(66),c=a(1);function u({rows:e,title:t,wide:a}){const n=a?s.a:i.a;return r.a.createElement(r.a.Fragment,null,t&&r.a.createElement(c.a,null,t),r.a.createElement(n,{size:"small",padding:"none"},r.a.createElement(o.a,null,e.map((e,t)=>r.a.createElement(l.a,{key:t},e.map((e,t)=>r.a.createElement(i.b,{key:t,align:0!==t?"right":"left"},r.a.createElement(c.a,{noWrap:!0},e))))))))}},function(e,t,a){"use strict";a.d(t,"a",(function(){return i}));var n=a(304),r=a(21);class i extends n.a{constructor(e=null){super(e),this.count=1}getActionTimePenalty(){return 1.5}getChaosCompetencePenalty(){return 1}getChaosDifficultyBonus(){return 1}toJSON(){return Object(r.b)("BlackOperation",this)}static fromJSON(e){return Object(r.a)(i,e.data)}}r.c.constructors.BlackOperation=i},function(e,t,a){"use strict";a.d(t,"c",(function(){return g})),a.d(t,"d",(function(){return y})),a.d(t,"b",(function(){return b})),a.d(t,"f",(function(){return E})),a.d(t,"a",(function(){return _})),a.d(t,"e",(function(){return v}));var n=a(20),r=a(312),i=a(7),o=a(8),s=a(6),l=a(172),c=a(24),u=a(2),m=a(14),h=a(214),p=a(63),d=a(15),f=a(498);function g(e){u.a.factionInvitations.push(e.name),e.alreadyInvited=!0,m.a.SuppressFactionInvites||f.a.emit(e)}function y(e){if(e.isMember)return;e.isMember=!0,u.a.factions.push(e.name);const t=e.getInfo();for(const e in t.enemies){const a=t.enemies[e];c.a[a]instanceof l.a&&(c.a[a].isBanned=!0)}for(let t=0;t0)for(let a=0;aObject(o.a)({unbuyable:{color:e.palette.action.disabled},money:{color:e.colors.money}}));function l(e){const t=s();return e.corp.funds.gt(e.money)?n.createElement("span",{className:t.money},r.a.formatMoney(e.money)):n.createElement("span",{className:t.unbuyable},r.a.formatMoney(e.money))}},,,function(e,t,a){"use strict";a.d(t,"a",(function(){return i}));var n=a(21);function r(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}class i{constructor(e="",t=""){r(this,"filename",""),r(this,"msg",""),r(this,"recvd",!1),this.filename=e,this.msg=t,this.recvd=!1}toJSON(){return Object(n.b)("Message",this)}static fromJSON(e){return Object(n.a)(i,e.data)}}n.c.constructors.Message=i},,function(e,t,a){"use strict";a.d(t,"a",(function(){return n}));const n={BladesIntuition:"Blade's Intuition",Cloak:"Cloak",Marksman:"Marksman",WeaponProficiency:"Weapon Proficiency",ShortCircuit:"Short-Circuit",DigitalObserver:"Digital Observer",Tracer:"Tracer",Overclock:"Overclock",Reaper:"Reaper",EvasiveSystem:"Evasive System",Datamancer:"Datamancer",CybersEdge:"Cyber's Edge",HandsOfMidas:"Hands of Midas",Hyperdrive:"Hyperdrive"}},function(e,t,a){"use strict";a.d(t,"a",(function(){return r})),a.d(t,"b",(function(){return i}));var n=a(0);const r={Gang:a.n(n).a.createContext({})},i=()=>Object(n.useContext)(r.Gang)},function(e,t,a){"use strict";a.d(t,"a",(function(){return u}));var n=a(286),r=a(182),i=a(255),o=a(315),s=a(36),l=a(277),c=a(351);function u(e,t,a){if(null!=a&&"boolean"==typeof a||(a=!0),e instanceof n.a)return h(e),!0;if(e instanceof o.a&&"string"==typeof t){const n=m(e.pid,a);if(n)return n;for(const n of r.a.values())if(n.name==e.filename&&n.serverIp==t&&Object(l.a)(n.args,e.args))return h(n,a),!0;return!1}return"number"==typeof e?m(e,a):(console.error("killWorkerScript() called with invalid argument:"),console.error(e),!1)}function m(e,t=!0){const a=r.a.get(e);return a instanceof n.a&&(h(a,t),!0)}function h(e,t=!0){e.env.stopFlag=!0,function(e){e instanceof n.a&&e.delay&&(clearTimeout(e.delay),e.delayResolve&&e.delayResolve())}(e),function(e,t=!0){if(!(e instanceof n.a))return console.error("Invalid argument passed into removeWorkerScript():"),void console.error(e);{const a=e.serverIp,n=e.name,o=s.b[a];if(null==o)return void console.error("Could not find server on which this script is running: "+a);o.ramUsed=Object(c.a)(o.ramUsed-e.ramUsage),o.ramUsed<0&&(console.warn(`Server (${o.hostname}) RAM usage went negative (if it's due to floating pt imprecision, it's okay): ${o.ramUsed}`),o.ramUsed=0);for(let t=0;t100?this.otlkMagForecast=100:this.otlkMagForecast<0&&(this.otlkMagForecast=0)}changePrice(e){this.lastPrice=this.price,this.price=e}cycleForecast(e=.1){const t=this.getForecastIncreaseChance();Math.random()5&&(this.otlkMag=Math.max(5,this.otlkMag-e))}influenceForecastForecast(e){this.otlkMagForecast>50?(this.otlkMagForecast-=e,this.otlkMagForecast=Math.max(50,this.otlkMagForecast)):this.otlkMagForecast<50&&(this.otlkMagForecast+=e,this.otlkMagForecast=Math.min(50,this.otlkMagForecast))}toJSON(){return Object(n.b)("Stock",this)}static fromJSON(e){return Object(n.a)(s,e.data)}}n.c.constructors.Stock=s},function(e,t,a){"use strict";a.d(t,"a",(function(){return n}));const n={}},,,function(e,t,a){"use strict";function n(){return"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,(function(e){const t=16*Math.random()|0;return("x"==e?t:3&t|8).toString(16)}))}a.d(t,"a",(function(){return r}));class r{constructor(){var e,t,a;a={},(t="subscribers")in(e=this)?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a}subscribe(e){let t=n();for(;void 0!==this.subscribers[t];)t=n();return this.subscribers[t]=e,()=>{delete this.subscribers[t]}}emit(...e){for(const t in this.subscribers){const a=this.subscribers[t];void 0!==a&&a(...e)}}}},,,,,function(e,t,a){"use strict";a.d(t,"a",(function(){return g}));var n=a(0),r=a.n(n),i=a(513),o=a.n(i),s=a(848),l=a.n(s),c=a(100),u=a(514),m=a.n(u),h=a(508),p=a.n(h),d=a(86),f=a(28);function g(e){const[t,a]=Object(n.useState)("");const{label:i,placeholder:s,add:u,subtract:h,reset:g,tons:y}=e;return r.a.createElement(r.a.Fragment,null,r.a.createElement(d.a,{label:i,value:t,onChange:function(e){""===e.target.value?a(""):a(parseFloat(e.target.value))},placeholder:s,type:"number",InputProps:{startAdornment:r.a.createElement(r.a.Fragment,null,r.a.createElement(f.a,{title:"Add a lot"},r.a.createElement(c.a,{onClick:y,size:"large"},r.a.createElement(p.a,{style:{transform:"rotate(-90deg)"}}))),r.a.createElement(f.a,{title:"Add"},r.a.createElement(c.a,{onClick:()=>u("string"!=typeof t?t:0),size:"large"},r.a.createElement(o.a,null)))),endAdornment:r.a.createElement(r.a.Fragment,null,r.a.createElement(f.a,{title:"Remove"},r.a.createElement(c.a,{onClick:()=>h("string"!=typeof t?t:0),size:"large"},r.a.createElement(l.a,null))),r.a.createElement(f.a,{title:"Reset"},r.a.createElement(c.a,{onClick:g,size:"large"},r.a.createElement(m.a,null))))}}))}},,function(e,t,a){"use strict";a.d(t,"a",(function(){return r})),a.d(t,"b",(function(){return i})),a.d(t,"c",(function(){return o})),a.d(t,"d",(function(){return s})),a.d(t,"f",(function(){return l})),a.d(t,"e",(function(){return c})),a.d(t,"g",(function(){return m})),a.d(t,"h",(function(){return h}));var n=a(118);let r={},i={};function o(e){r=""===e?{}:JSON.parse(e)}function s(e){i=""===e?{}:JSON.parse(e)}function l(){for(const e in r)r.hasOwnProperty(e)&&n.a.print("alias "+e+"="+r[e]);for(const e in i)i.hasOwnProperty(e)&&n.a.print("global alias "+e+"="+i[e])}function c(e,t=!1){const a=e.match(/^([_|\w|!|%|,|@]+)="(.+)"$/);return null!=a&&3==a.length&&(t?function(e,t){e in r&&delete r[e];i[e]=t.trim()}(a[1],a[2]):function(e,t){e in i&&delete i[e];r[e]=t.trim()}(a[1],a[2]),!0)}function u(e){return i.hasOwnProperty(e)?i[e]:null}function m(e){return r.hasOwnProperty(e)?(delete r[e],!0):!!i.hasOwnProperty(e)&&(delete i[e],!0)}function h(e){const t=e.split(" ");if(t.length>0){if("unalias"===t[0]||"alias"===t[0])return t.join(" ");let e=!0,o=0;for(;e&&o<10;){var a;o++,e=!1;const s=null===(i=t[0],a=r.hasOwnProperty(i)?r[i]:null)||void 0===a?void 0:a.split(" ");null!=s&&(e=!0,t.splice(0,1,...s));for(let a=0;a{t.delay=null,a()},e),t.delayResolve=a}))}function s(e,t){const a=i.b[e.serverIp];if(null==a)throw new Error("WorkerScript constructed with invalid server ip: "+e.serverIp);return"|"+a.hostname+"|"+e.name+"|"+t}function l(e,t,a){const n=e.scriptRef.threads;if(!a)return isNaN(n)||n<1?1:n;const r=0|a;if(isNaN(a)||r<1)throw s(e,`Invalid thread count passed to ${t}: ${a}. Threads must be a positive number.`);if(a>n)throw s(e,`Too many threads requested by ${t}. Requested: ${a}. Has: ${n}.`);return r}function c(e){if(!Object(r.a)(e))return!1;return 4==e.split("|").length}},function(e,t,a){"use strict";a.d(t,"a",(function(){return n}));class n{constructor(e,t,a){this.title=e,this.fn=t,this.txt=a}}},,,,,,,,,,function(e,t,a){"use strict";a.d(t,"a",(function(){return s}));var n=a(0),r=a.n(n),i=a(1),o=a(28);function s(e){const[t,a]=Object(n.useState)(!1);return r.a.createElement(o.a,{open:t,title:r.a.createElement(i.a,null,"Copied!")},r.a.createElement(i.a,{variant:e.variant,color:e.color,onClick:function(){const t=document.createElement("textarea");t.value=e.value,document.body.appendChild(t),t.select(),t.setSelectionRange(0,1e10),document.execCommand("copy"),document.body.removeChild(t),a(!0),setTimeout(()=>a(!1),1e3)}},e.value))}},,function(e,t,a){"use strict";a.d(t,"e",(function(){return S})),a.d(t,"d",(function(){return w})),a.d(t,"c",(function(){return _})),a.d(t,"a",(function(){return k})),a.d(t,"b",(function(){return C}));var n=a(35),r=a(20),i=a(312),o=a(7),s=a(8),l=a(6),c=a(24),u=a(2),m=a(311),h=a(70),p=a(63),d=a(15),f=a(788),g=a(313),y=a(0),b=a.n(y);function E(e){const t=e.name;r.a[t]=e}function _(){for(const e in c.a)c.a.hasOwnProperty(e)&&(c.a[e].augmentations=[]);Object(f.a)(r.a);const e=function(){const e=[{bonuses:{hacking_chance_mult:1.25,hacking_speed_mult:1.1,hacking_money_mult:1.25,hacking_grow_mult:1.1},description:"Increases the player's hacking chance by 25%.
Increases the player's hacking speed by 10%.
Increases the amount of money the player's gains from hacking by 25%.
Improves grow() by 10%."},{bonuses:{hacking_mult:1.15,hacking_exp_mult:2},description:"Increases the player's hacking skill by 15%.
Increases the player's hacking experience gain rate by 100%."},{bonuses:{strength_mult:1.25,strength_exp_mult:2,defense_mult:1.25,defense_exp_mult:2,dexterity_mult:1.25,dexterity_exp_mult:2,agility_mult:1.25,agility_exp_mult:2},description:"Increases all of the player's combat stats by 25%.
Increases all of the player's combat stat experience gain rate by 100%."},{bonuses:{charisma_mult:1.5,charisma_exp_mult:2},description:"This augmentation increases the player's charisma by 50%.
Increases the player's charisma experience gain rate by 100%."},{bonuses:{hacknet_node_money_mult:1.2,hacknet_node_purchase_cost_mult:.85,hacknet_node_ram_cost_mult:.85,hacknet_node_core_cost_mult:.85,hacknet_node_level_cost_mult:.85},description:"Increases the amount of money produced by Hacknet Nodes by 20%.
Decreases all costs related to Hacknet Node by 15%."},{bonuses:{company_rep_mult:1.25,faction_rep_mult:1.15,work_money_mult:1.7},description:"Increases the amount of money the player gains from working by 70%.
Increases the amount of reputation the player gains when working for a company by 25%.
Increases the amount of reputation the player gains for a faction by 15%."},{bonuses:{crime_success_mult:2,crime_money_mult:2},description:"Increases the player's crime success rate by 100%.
Increases the amount of money the player gains from crimes by 100%."}],t=new g.b(Math.floor(u.a.lastUpdate/36e5));for(let e=0;e<5;e++)t.step();return e[Math.floor(e.length*t.random())]}(),t={name:o.a.UnstableCircadianModulator,moneyCost:5e9,repCost:362500,info:"An experimental nanobot injection. Its unstable nature leads to unpredictable results based on your circadian rhythm."};Object.keys(e.bonuses).forEach(a=>t[a]=e.bonuses[a]);const a=new n.a(t);a.addToFactions(["Speakers for the Dead"]),C(o.a.UnstableCircadianModulator)&&delete r.a[o.a.UnstableCircadianModulator],E(a);const i=new n.a({name:o.a.HemoRecirculator,moneyCost:45e6,repCost:1e4,info:"A heart implant that greatly increases the body's ability to effectively use and pump blood.",strength_mult:1.08,defense_mult:1.08,agility_mult:1.08,dexterity_mult:1.08});i.addToFactions(["Tetrads","The Dark Army","The Syndicate"]),C(o.a.HemoRecirculator)&&delete r.a[o.a.HemoRecirculator],E(i);const m=new n.a({name:o.a.Targeting1,moneyCost:15e6,repCost:5e3,info:"A cranial implant that is embedded within the inner ear structures and optic nerves. It regulates and enhances balance and hand-eye coordination.",dexterity_mult:1.1});m.addToFactions(["Slum Snakes","The Dark Army","The Syndicate","Sector-12","Ishima","OmniTek Incorporated","KuaiGong International","Blade Industries"]),C(o.a.Targeting1)&&delete r.a[o.a.Targeting1],E(m);const d=new n.a({name:o.a.Targeting2,moneyCost:425e5,repCost:8750,info:"This upgraded version of the 'Augmented Targeting' implant is capable of augmenting reality by digitally displaying weaknesses and vital signs of threats.",prereqs:[o.a.Targeting1],dexterity_mult:1.2});d.addToFactions(["The Dark Army","The Syndicate","Sector-12","OmniTek Incorporated","KuaiGong International","Blade Industries"]),C(o.a.Targeting2)&&delete r.a[o.a.Targeting2],E(d);const y=new n.a({name:o.a.Targeting3,moneyCost:115e6,repCost:27500,info:"The latest version of the 'Augmented Targeting' implant adds the ability to lock-on and track threats.",prereqs:[o.a.Targeting2],dexterity_mult:1.3});y.addToFactions(["The Dark Army","The Syndicate","OmniTek Incorporated","KuaiGong International","Blade Industries","The Covenant"]),C(o.a.Targeting3)&&delete r.a[o.a.Targeting3],E(y);const _=new n.a({name:o.a.SyntheticHeart,moneyCost:2875e6,repCost:75e4,info:"This advanced artificial heart, created from plasteel and graphene, is capable of pumping blood more efficiently than an organic heart.",agility_mult:1.5,strength_mult:1.5});_.addToFactions(["KuaiGong International","Fulcrum Secret Technologies","Speakers for the Dead","NWO","The Covenant","Daedalus","Illuminati"]),C(o.a.SyntheticHeart)&&delete r.a[o.a.SyntheticHeart],E(_);const k=new n.a({name:o.a.SynfibrilMuscle,repCost:437500,moneyCost:1125e6,info:"The myofibrils in human muscles are injected with special chemicals that react with the proteins inside the myofibrils, altering their underlying structure. The end result is muscles that are stronger and more elastic. Scientists have named these artificially enhanced units 'synfibrils'.",strength_mult:1.3,defense_mult:1.3});k.addToFactions(["KuaiGong International","Fulcrum Secret Technologies","Speakers for the Dead","NWO","The Covenant","Daedalus","Illuminati","Blade Industries"]),C(o.a.SynfibrilMuscle)&&delete r.a[o.a.SynfibrilMuscle],E(k);const w=new n.a({name:o.a.CombatRib1,repCost:7500,moneyCost:2375e4,info:"The rib cage is augmented to continuously release boosters into the bloodstream which increase the oxygen-carrying capacity of blood.",strength_mult:1.1,defense_mult:1.1});w.addToFactions(["Slum Snakes","The Dark Army","The Syndicate","Volhaven","Ishima","OmniTek Incorporated","KuaiGong International","Blade Industries"]),C(o.a.CombatRib1)&&delete r.a[o.a.CombatRib1],E(w);const S=new n.a({name:o.a.CombatRib2,repCost:18750,moneyCost:65e6,info:"An upgraded version of the 'Combat Rib' augmentation that adds potent stimulants which improve focus and endurance while decreasing reaction time and fatigue.",prereqs:[o.a.CombatRib1],strength_mult:1.14,defense_mult:1.14});S.addToFactions(["The Dark Army","The Syndicate","Volhaven","OmniTek Incorporated","KuaiGong International","Blade Industries"]),C(o.a.CombatRib2)&&delete r.a[o.a.CombatRib2],E(S);const x=new n.a({name:o.a.CombatRib3,repCost:35e3,moneyCost:12e7,info:"The latest version of the 'Combat Rib' augmentation releases advanced anabolic steroids that improve muscle mass and physical performance while being safe and free of side effects.",prereqs:[o.a.CombatRib2],strength_mult:1.18,defense_mult:1.18});x.addToFactions(["The Dark Army","The Syndicate","OmniTek Incorporated","KuaiGong International","Blade Industries","The Covenant"]),C(o.a.CombatRib3)&&delete r.a[o.a.CombatRib3],E(x);const O=new n.a({name:o.a.NanofiberWeave,repCost:37500,moneyCost:125e6,info:"Synthetic nanofibers are woven into the skin's extracellular matrix using electrospinning, which improves its regenerative and extracellular homeostasis abilities.",strength_mult:1.2,defense_mult:1.2});O.addToFactions(["Tian Di Hui","The Syndicate","The Dark Army","Speakers for the Dead","Blade Industries","Fulcrum Secret Technologies","OmniTek Incorporated"]),C(o.a.NanofiberWeave)&&delete r.a[o.a.NanofiberWeave],E(O);const M=new n.a({name:o.a.SubdermalArmor,repCost:875e3,moneyCost:325e7,info:"The NEMEAN Subdermal Weave is a thin, light-weight, graphene plating that houses a dilatant fluid. The material is implanted underneath the skin, and is the most advanced form of defensive enhancement that has ever been created. The dilatant fluid, despite being thin and light, is extremely effective at stopping piercing blows and reducing blunt trauma. The properties of graphene allow the plating to mitigate damage from any fire or electrical traumas.",defense_mult:2.2});M.addToFactions(["The Syndicate","Fulcrum Secret Technologies","Illuminati","Daedalus","The Covenant"]),C(o.a.SubdermalArmor)&&delete r.a[o.a.SubdermalArmor],E(M);const T=new n.a({name:o.a.WiredReflexes,repCost:1250,moneyCost:25e5,info:"Synthetic nerve-enhancements are injected into all major parts of the somatic nervous system, supercharging the spread of neural signals and increasing reflex speed.",agility_mult:1.05,dexterity_mult:1.05});T.addToFactions(["Tian Di Hui","Slum Snakes","Sector-12","Volhaven","Aevum","Ishima","The Syndicate","The Dark Army","Speakers for the Dead"]),C(o.a.WiredReflexes)&&delete r.a[o.a.WiredReflexes],E(T);const R=new n.a({name:o.a.GrapheneBoneLacings,repCost:1125e3,moneyCost:425e7,info:"Graphene is grafted and fused into the skeletal structure, enhancing bone density and tensile strength.",strength_mult:1.7,defense_mult:1.7});R.addToFactions(["Fulcrum Secret Technologies","The Covenant"]),C(o.a.GrapheneBoneLacings)&&delete r.a[o.a.GrapheneBoneLacings],E(R);const P=new n.a({name:o.a.BionicSpine,repCost:45e3,moneyCost:125e6,info:"The spine is reconstructed using plasteel and carbon fibers. It is now capable of stimulating and regulating neural signals passing through the spinal cord, improving senses and reaction speed. The 'Bionic Spine' also interfaces with all other 'Bionic' implants.",strength_mult:1.15,defense_mult:1.15,agility_mult:1.15,dexterity_mult:1.15});P.addToFactions(["Speakers for the Dead","The Syndicate","KuaiGong International","OmniTek Incorporated","Blade Industries"]),C(o.a.BionicSpine)&&delete r.a[o.a.BionicSpine],E(P);const A=new n.a({name:o.a.GrapheneBionicSpine,repCost:1625e3,moneyCost:6e9,info:"An upgrade to the 'Bionic Spine' augmentation. The spine is fused with graphene which enhances durability and supercharges all body functions.",prereqs:[o.a.BionicSpine],strength_mult:1.6,defense_mult:1.6,agility_mult:1.6,dexterity_mult:1.6});A.addToFactions(["Fulcrum Secret Technologies","ECorp"]),C(o.a.GrapheneBionicSpine)&&delete r.a[o.a.GrapheneBionicSpine],E(A);const N=new n.a({name:o.a.BionicLegs,repCost:15e4,moneyCost:375e6,info:"Cybernetic legs, created from plasteel and carbon fibers, enhance running speed.",agility_mult:1.6});N.addToFactions(["Speakers for the Dead","The Syndicate","KuaiGong International","OmniTek Incorporated","Blade Industries"]),C(o.a.BionicLegs)&&delete r.a[o.a.BionicLegs],E(N);const I=new n.a({name:o.a.GrapheneBionicLegs,repCost:75e4,moneyCost:45e8,info:"An upgrade to the 'Bionic Legs' augmentation. The legs are fused with graphene, greatly enhancing jumping ability.",prereqs:[o.a.BionicLegs],agility_mult:2.5});I.addToFactions(["MegaCorp","ECorp","Fulcrum Secret Technologies"]),C(o.a.GrapheneBionicLegs)&&delete r.a[o.a.GrapheneBionicLegs],E(I);const F=new n.a({name:o.a.SpeechProcessor,repCost:7500,moneyCost:5e7,info:"A cochlear implant with an embedded computer that analyzes incoming speech. The embedded computer processes characteristics of incoming speech, such as tone and inflection, to pick up on subtle cues and aid in social interactions.",charisma_mult:1.2});F.addToFactions(["Tian Di Hui","Chongqing","Sector-12","New Tokyo","Aevum","Ishima","Volhaven","Silhouette"]),C(o.a.SpeechProcessor)&&delete r.a[o.a.SpeechProcessor],E(F);const j=new n.a({name:o.a.TITN41Injection,repCost:25e3,moneyCost:19e7,info:"TITN is a series of viruses that targets and alters the sequences of human DNA in genes that control personality. The TITN-41 strain alters these genes so that the subject becomes more outgoing and socialable.",charisma_mult:1.15,charisma_exp_mult:1.15});j.addToFactions(["Silhouette"]),C(o.a.TITN41Injection)&&delete r.a[o.a.TITN41Injection],E(j);const D=new n.a({name:o.a.EnhancedSocialInteractionImplant,repCost:375e3,moneyCost:1375e6,info:"A cranial implant that greatly assists in the user's ability to analyze social situations and interactions. The system uses a wide variety of factors such as facial expressions, body language, and the voice tone, and inflection to determine the best course of action during socialsituations. The implant also uses deep learning software to continuously learn new behaviorpatterns and how to best respond.",charisma_mult:1.6,charisma_exp_mult:1.6});D.addToFactions(["Bachman & Associates","NWO","Clarke Incorporated","OmniTek Incorporated","Four Sigma"]),C(o.a.EnhancedSocialInteractionImplant)&&delete r.a[o.a.EnhancedSocialInteractionImplant],E(D);const B=new n.a({name:o.a.BitWire,repCost:3750,moneyCost:1e7,info:"A small brain implant embedded in the cerebrum. This regulates and improves the brain's computing capabilities.",hacking_mult:1.05});B.addToFactions(["CyberSec","NiteSec"]),C(o.a.BitWire)&&delete r.a[o.a.BitWire],E(B);const L=new n.a({name:o.a.ArtificialBioNeuralNetwork,repCost:275e3,moneyCost:3e9,info:"A network consisting of millions of nanoprocessors is embedded into the brain. The network is meant to mimic the way a biological brain solves a problem, with each nanoprocessor acting similar to the way a neuron would in a neural network. However, these nanoprocessors are programmed to perform computations much faster than organic neurons, allowing the user to solve much more complex problems at a much faster rate.",hacking_speed_mult:1.03,hacking_money_mult:1.15,hacking_mult:1.12});L.addToFactions(["BitRunners","Fulcrum Secret Technologies"]),C(o.a.ArtificialBioNeuralNetwork)&&delete r.a[o.a.ArtificialBioNeuralNetwork],E(L);const G=new n.a({name:o.a.ArtificialSynapticPotentiation,repCost:6250,moneyCost:8e7,info:"The body is injected with a chemical that artificially induces synaptic potentiation, otherwise known as the strengthening of synapses. This results in enhanced cognitive abilities.",hacking_speed_mult:1.02,hacking_chance_mult:1.05,hacking_exp_mult:1.05});G.addToFactions(["The Black Hand","NiteSec"]),C(o.a.ArtificialSynapticPotentiation)&&delete r.a[o.a.ArtificialSynapticPotentiation],E(G);const W=new n.a({name:o.a.EnhancedMyelinSheathing,repCost:1e5,moneyCost:1375e6,info:"Electrical signals are used to induce a new, artificial form of myelinogenesis in the human body. This process results in the proliferation of new, synthetic myelin sheaths in the nervous system. These myelin sheaths can propogate neuro-signals much faster than their organic counterparts, leading to greater processing speeds and better brain function.",hacking_speed_mult:1.03,hacking_exp_mult:1.1,hacking_mult:1.08});W.addToFactions(["Fulcrum Secret Technologies","BitRunners","The Black Hand"]),C(o.a.EnhancedMyelinSheathing)&&delete r.a[o.a.EnhancedMyelinSheathing],E(W);const H=new n.a({name:o.a.SynapticEnhancement,repCost:2e3,moneyCost:75e5,info:"A small cranial implant that continuously uses weak electrical signals to stimulate the brain and induce stronger synaptic activity. This improves the user's cognitive abilities.",hacking_speed_mult:1.03});H.addToFactions(["CyberSec","Aevum"]),C(o.a.SynapticEnhancement)&&delete r.a[o.a.SynapticEnhancement],E(H);const U=new n.a({name:o.a.NeuralRetentionEnhancement,repCost:2e4,moneyCost:25e7,info:"Chemical injections are used to permanently alter and strengthen the brain's neuronal circuits, strengthening the ability to retain information.",hacking_exp_mult:1.25});U.addToFactions(["NiteSec"]),C(o.a.NeuralRetentionEnhancement)&&delete r.a[o.a.NeuralRetentionEnhancement],E(U);const q=new n.a({name:o.a.DataJack,repCost:112500,moneyCost:45e7,info:"A brain implant that provides an interface for direct, wireless communication between a computer's main memory and the mind. This implant allows the user to not only access a computer's memory, but also alter and delete it.",hacking_money_mult:1.25});q.addToFactions(["BitRunners","The Black Hand","NiteSec","Chongqing","New Tokyo"]),C(o.a.DataJack)&&delete r.a[o.a.DataJack],E(q);const K=new n.a({name:o.a.ENM,repCost:15e3,moneyCost:25e7,info:"A thin device embedded inside the arm containing a wireless module capable of connecting to nearby networks. Once connected, the Netburner Module is capable of capturing and processing all of the traffic on that network. By itself, the Embedded Netburner Module does not do much, but a variety of very powerful upgrades can be installed that allow you to fully control the traffic on a network.",hacking_mult:1.08});K.addToFactions(["BitRunners","The Black Hand","NiteSec","ECorp","MegaCorp","Fulcrum Secret Technologies","NWO","Blade Industries"]),C(o.a.ENM)&&delete r.a[o.a.ENM],E(K);const $=new n.a({name:o.a.ENMCore,repCost:25e4,moneyCost:25e8,info:"The Core library is an implant that upgrades the firmware of the Embedded Netburner Module. This upgrade allows the Embedded Netburner Module to generate its own data on a network.",prereqs:[o.a.ENM],hacking_speed_mult:1.03,hacking_money_mult:1.1,hacking_chance_mult:1.03,hacking_exp_mult:1.07,hacking_mult:1.07});$.addToFactions(["BitRunners","The Black Hand","ECorp","MegaCorp","Fulcrum Secret Technologies","NWO","Blade Industries"]),C(o.a.ENMCore)&&delete r.a[o.a.ENMCore],E($);const z=new n.a({name:o.a.ENMCoreV2,repCost:1e6,moneyCost:45e8,info:"The Core V2 library is an implant that upgrades the firmware of the Embedded Netburner Module. This upgraded firmware allows the Embedded Netburner Module to control information on a network by re-routing traffic, spoofing IP addresses, and altering the data inside network packets.",prereqs:[o.a.ENMCore],hacking_speed_mult:1.05,hacking_money_mult:1.3,hacking_chance_mult:1.05,hacking_exp_mult:1.15,hacking_mult:1.08});z.addToFactions(["BitRunners","ECorp","MegaCorp","Fulcrum Secret Technologies","NWO","Blade Industries","OmniTek Incorporated","KuaiGong International"]),C(o.a.ENMCoreV2)&&delete r.a[o.a.ENMCoreV2],E(z);const V=new n.a({name:o.a.ENMCoreV3,repCost:175e4,moneyCost:75e8,info:"The Core V3 library is an implant that upgrades the firmware of the Embedded Netburner Module. This upgraded firmware allows the Embedded Netburner Module to seamlessly inject code into any device on a network.",prereqs:[o.a.ENMCoreV2],hacking_speed_mult:1.05,hacking_money_mult:1.4,hacking_chance_mult:1.1,hacking_exp_mult:1.25,hacking_mult:1.1});V.addToFactions(["ECorp","MegaCorp","Fulcrum Secret Technologies","NWO","Daedalus","The Covenant","Illuminati"]),C(o.a.ENMCoreV3)&&delete r.a[o.a.ENMCoreV3],E(V);const Y=new n.a({name:o.a.ENMAnalyzeEngine,repCost:625e3,moneyCost:6e9,info:"Installs the Analyze Engine for the Embedded Netburner Module, which is a CPU cluster that vastly outperforms the Netburner Module's native single-core processor.",prereqs:[o.a.ENM],hacking_speed_mult:1.1});Y.addToFactions(["ECorp","MegaCorp","Fulcrum Secret Technologies","NWO","Daedalus","The Covenant","Illuminati"]),C(o.a.ENMAnalyzeEngine)&&delete r.a[o.a.ENMAnalyzeEngine],E(Y);const J=new n.a({name:o.a.ENMDMA,repCost:1e6,moneyCost:7e9,info:"This implant installs a Direct Memory Access (DMA) controller into the Embedded Netburner Module. This allows the Module to send and receive data directly to and from the main memory of devices on a network.",prereqs:[o.a.ENM],hacking_money_mult:1.4,hacking_chance_mult:1.2});J.addToFactions(["ECorp","MegaCorp","Fulcrum Secret Technologies","NWO","Daedalus","The Covenant","Illuminati"]),C(o.a.ENMDMA)&&delete r.a[o.a.ENMDMA],E(J);const X=new n.a({name:o.a.Neuralstimulator,repCost:5e4,moneyCost:3e9,info:"A cranial implant that intelligently stimulates certain areas of the brain in order to improve cognitive functions.",hacking_speed_mult:1.02,hacking_chance_mult:1.1,hacking_exp_mult:1.12});X.addToFactions(["The Black Hand","Chongqing","Sector-12","New Tokyo","Aevum","Ishima","Volhaven","Bachman & Associates","Clarke Incorporated","Four Sigma"]),C(o.a.Neuralstimulator)&&delete r.a[o.a.Neuralstimulator],E(X);const Q=new n.a({name:o.a.NeuralAccelerator,repCost:2e5,moneyCost:175e7,info:"A microprocessor that accelerates the processing speed of biological neural networks. This is a cranial implant that is embedded inside the brain.",hacking_mult:1.1,hacking_exp_mult:1.15,hacking_money_mult:1.2});Q.addToFactions(["BitRunners"]),C(o.a.NeuralAccelerator)&&delete r.a[o.a.NeuralAccelerator],E(Q);const Z=new n.a({name:o.a.CranialSignalProcessorsG1,repCost:1e4,moneyCost:7e7,info:"The first generation of Cranial Signal Processors. Cranial Signal Processors are a set of specialized microprocessors that are attached to neurons in the brain. These chips process neural signals to quickly and automatically perform specific computations so that the brain doesn't have to.",hacking_speed_mult:1.01,hacking_mult:1.05});Z.addToFactions(["CyberSec"]),C(o.a.CranialSignalProcessorsG1)&&delete r.a[o.a.CranialSignalProcessorsG1],E(Z);const ee=new n.a({name:o.a.CranialSignalProcessorsG2,repCost:18750,moneyCost:125e6,info:"The second generation of Cranial Signal Processors. Cranial Signal Processors are a set of specialized microprocessors that are attached to neurons in the brain. These chips process neural signals to quickly and automatically perform specific computations so that the brain doesn't have to.",prereqs:[o.a.CranialSignalProcessorsG1],hacking_speed_mult:1.02,hacking_chance_mult:1.05,hacking_mult:1.07});ee.addToFactions(["CyberSec","NiteSec"]),C(o.a.CranialSignalProcessorsG2)&&delete r.a[o.a.CranialSignalProcessorsG2],E(ee);const te=new n.a({name:o.a.CranialSignalProcessorsG3,repCost:5e4,moneyCost:55e7,info:"The third generation of Cranial Signal Processors. Cranial Signal Processors are a set of specialized microprocessors that are attached to neurons in the brain. These chips process neural signals to quickly and automatically perform specific computations so that the brain doesn't have to.",prereqs:[o.a.CranialSignalProcessorsG2],hacking_speed_mult:1.02,hacking_money_mult:1.15,hacking_mult:1.09});te.addToFactions(["NiteSec","The Black Hand","BitRunners"]),C(o.a.CranialSignalProcessorsG3)&&delete r.a[o.a.CranialSignalProcessorsG3],E(te);const ae=new n.a({name:o.a.CranialSignalProcessorsG4,repCost:125e3,moneyCost:11e8,info:"The fourth generation of Cranial Signal Processors. Cranial Signal Processors are a set of specialized microprocessors that are attached to neurons in the brain. These chips process neural signals to quickly and automatically perform specific computations so that the brain doesn't have to.",prereqs:[o.a.CranialSignalProcessorsG3],hacking_speed_mult:1.02,hacking_money_mult:1.2,hacking_grow_mult:1.25});ae.addToFactions(["The Black Hand","BitRunners"]),C(o.a.CranialSignalProcessorsG4)&&delete r.a[o.a.CranialSignalProcessorsG4],E(ae);const ne=new n.a({name:o.a.CranialSignalProcessorsG5,repCost:25e4,moneyCost:225e7,info:"The fifth generation of Cranial Signal Processors. Cranial Signal Processors are a set of specialized microprocessors that are attached to neurons in the brain. These chips process neural signals to quickly and automatically perform specific computations so that the brain doesn't have to.",prereqs:[o.a.CranialSignalProcessorsG4],hacking_mult:1.3,hacking_money_mult:1.25,hacking_grow_mult:1.75});ne.addToFactions(["BitRunners"]),C(o.a.CranialSignalProcessorsG5)&&delete r.a[o.a.CranialSignalProcessorsG5],E(ne);const re=new n.a({name:o.a.NeuronalDensification,repCost:187500,moneyCost:1375e6,info:"The brain is surgically re-engineered to have increased neuronal density by decreasing the neuron gap junction. Then, the body is genetically modified to enhance the production and capabilities of its neural stem cells.",hacking_mult:1.15,hacking_exp_mult:1.1,hacking_speed_mult:1.03});re.addToFactions(["Clarke Incorporated"]),C(o.a.NeuronalDensification)&&delete r.a[o.a.NeuronalDensification],E(re);const ie=new n.a({name:o.a.NuoptimalInjectorImplant,repCost:5e3,moneyCost:2e7,info:"This torso implant automatically injects nootropic supplements into the bloodstream to improve memory, increase focus, and provide other cognitive enhancements.",company_rep_mult:1.2});ie.addToFactions(["Tian Di Hui","Volhaven","New Tokyo","Chongqing","Clarke Incorporated","Four Sigma","Bachman & Associates"]),C(o.a.NuoptimalInjectorImplant)&&delete r.a[o.a.NuoptimalInjectorImplant],E(ie);const oe=new n.a({name:o.a.SpeechEnhancement,repCost:2500,moneyCost:125e5,info:"An advanced neural implant that improves your speaking abilities, making you more convincing and likable in conversations and overall improving your social interactions.",company_rep_mult:1.1,charisma_mult:1.1});oe.addToFactions(["Tian Di Hui","Speakers for the Dead","Four Sigma","KuaiGong International","Clarke Incorporated","Bachman & Associates"]),C(o.a.SpeechEnhancement)&&delete r.a[o.a.SpeechEnhancement],E(oe);const se=new n.a({name:o.a.FocusWire,repCost:75e3,moneyCost:9e8,info:"A cranial implant that stops procrastination by blocking specific neural pathways in the brain.",hacking_exp_mult:1.05,strength_exp_mult:1.05,defense_exp_mult:1.05,dexterity_exp_mult:1.05,agility_exp_mult:1.05,charisma_exp_mult:1.05,company_rep_mult:1.1,work_money_mult:1.2});se.addToFactions(["Bachman & Associates","Clarke Incorporated","Four Sigma","KuaiGong International"]),C(o.a.FocusWire)&&delete r.a[o.a.FocusWire],E(se);const le=new n.a({name:o.a.PCDNI,repCost:375e3,moneyCost:375e7,info:"Installs a Direct-Neural Interface jack into your arm that is compatible with most computers. Connecting to a computer through this jack allows you to interface with it using the brain's electrochemical signals.",company_rep_mult:1.3,hacking_mult:1.08});le.addToFactions(["Four Sigma","OmniTek Incorporated","ECorp","Blade Industries"]),C(o.a.PCDNI)&&delete r.a[o.a.PCDNI],E(le);const ce=new n.a({name:o.a.PCDNIOptimizer,repCost:5e5,moneyCost:45e8,info:"This is a submodule upgrade to the PC Direct-Neural Interface augmentation. It improves the performance of the interface and gives the user more control options to a connected computer.",prereqs:[o.a.PCDNI],company_rep_mult:1.75,hacking_mult:1.1});ce.addToFactions(["Fulcrum Secret Technologies","ECorp","Blade Industries"]),C(o.a.PCDNIOptimizer)&&delete r.a[o.a.PCDNIOptimizer],E(ce);const ue=new n.a({name:o.a.PCDNINeuralNetwork,repCost:15e5,moneyCost:75e8,info:"This is an additional installation that upgrades the functionality of the PC Direct-Neural Interface augmentation. When connected to a computer, The Neural Network upgrade allows the user to use their own brain's processing power to aid the computer in computational tasks.",prereqs:[o.a.PCDNI],company_rep_mult:2,hacking_mult:1.1,hacking_speed_mult:1.05});ue.addToFactions(["Fulcrum Secret Technologies"]),C(o.a.PCDNINeuralNetwork)&&delete r.a[o.a.PCDNINeuralNetwork],E(ue);const me=new n.a({name:o.a.ADRPheromone1,repCost:3750,moneyCost:175e5,info:"The body is genetically re-engineered so that it produces the ADR-V1 pheromone, an artificial pheromone discovered by scientists. The ADR-V1 pheromone, when excreted, triggers feelings of admiration and approval in other people.",company_rep_mult:1.1,faction_rep_mult:1.1});me.addToFactions(["Tian Di Hui","The Syndicate","NWO","MegaCorp","Four Sigma"]),C(o.a.ADRPheromone1)&&delete r.a[o.a.ADRPheromone1],E(me);const he=new n.a({name:o.a.ADRPheromone2,repCost:62500,moneyCost:55e7,info:"The body is genetically re-engineered so that it produces the ADR-V2 pheromone, which is similar to but more potent than ADR-V1. This pheromone, when excreted, triggers feelings of admiration, approval, and respect in others.",company_rep_mult:1.2,faction_rep_mult:1.2});he.addToFactions(["Silhouette","Four Sigma","Bachman & Associates","Clarke Incorporated"]),C(o.a.ADRPheromone2)&&delete r.a[o.a.ADRPheromone2],E(he);const pe=new n.a({name:o.a.ShadowsSimulacrum,repCost:37500,moneyCost:4e8,info:"A crude but functional matter phase-shifter module that is embedded in the brainstem and cerebellum. This augmentation was developed by criminal organizations and allows the user to project and control holographic simulacrums within a large radius. These simulacrums are commonly used for espionage and surveillance work.",company_rep_mult:1.15,faction_rep_mult:1.15});pe.addToFactions(["The Syndicate","The Dark Army","Speakers for the Dead"]),C(o.a.ShadowsSimulacrum)&&delete r.a[o.a.ShadowsSimulacrum],E(pe);const de=new n.a({name:o.a.HacknetNodeCPUUpload,repCost:3750,moneyCost:11e6,info:"Uploads the architecture and design details of a Hacknet Node's CPU into the brain. This allows the user to engineer custom hardware and software for the Hacknet Node that provides better performance.",hacknet_node_money_mult:1.15,hacknet_node_purchase_cost_mult:.85});de.addToFactions(["Netburners"]),C(o.a.HacknetNodeCPUUpload)&&delete r.a[o.a.HacknetNodeCPUUpload],E(de);const fe=new n.a({name:o.a.HacknetNodeCacheUpload,repCost:2500,moneyCost:55e5,info:"Uploads the architecture and design details of a Hacknet Node's main-memory cache into the brain. This allows the user to engineer custom cache hardware for the Hacknet Node that offers better performance.",hacknet_node_money_mult:1.1,hacknet_node_level_cost_mult:.85});fe.addToFactions(["Netburners"]),C(o.a.HacknetNodeCacheUpload)&&delete r.a[o.a.HacknetNodeCacheUpload],E(fe);const ge=new n.a({name:o.a.HacknetNodeNICUpload,repCost:1875,moneyCost:45e5,info:"Uploads the architecture and design details of a Hacknet Node's Network Interface Card (NIC) into the brain. This allows the user to engineer a custom NIC for the Hacknet Node that offers better performance.",hacknet_node_money_mult:1.1,hacknet_node_purchase_cost_mult:.9});ge.addToFactions(["Netburners"]),C(o.a.HacknetNodeNICUpload)&&delete r.a[o.a.HacknetNodeNICUpload],E(ge);const ye=new n.a({name:o.a.HacknetNodeKernelDNI,repCost:7500,moneyCost:4e7,info:"Installs a Direct-Neural Interface jack into the arm that is capable of connecting to a Hacknet Node. This lets the user access and manipulate the Node's kernel using electrochemical signals.",hacknet_node_money_mult:1.25});ye.addToFactions(["Netburners"]),C(o.a.HacknetNodeKernelDNI)&&delete r.a[o.a.HacknetNodeKernelDNI],E(ye);const be=new n.a({name:o.a.HacknetNodeCoreDNI,repCost:12500,moneyCost:6e7,info:"Installs a Direct-Neural Interface jack into the arm that is capable of connecting to a Hacknet Node. This lets the user access and manipulate the Node's processing logic using electrochemical signals.",hacknet_node_money_mult:1.45});be.addToFactions(["Netburners"]),C(o.a.HacknetNodeCoreDNI)&&delete r.a[o.a.HacknetNodeCoreDNI],E(be);const Ee=new n.a({name:o.a.NeuroFluxGovernor,repCost:1250,moneyCost:375e4,info:"A device that is embedded in the back of the neck. The NeuroFlux Governor monitors and regulates nervous impulses coming to and from the spinal column, essentially 'governing' the body. By doing so, it improves the functionality of the body's nervous system.",stats:b.a.createElement(b.a.Fragment,null,"This special augmentation can be leveled up infinitely. Each level of this augmentation increases ALL multipliers by 1%, stacking multiplicatively."),hacking_chance_mult:1.01,hacking_speed_mult:1.01,hacking_money_mult:1.01,hacking_grow_mult:1.01,hacking_mult:1.01,strength_mult:1.01,defense_mult:1.01,dexterity_mult:1.01,agility_mult:1.01,charisma_mult:1.01,hacking_exp_mult:1.01,strength_exp_mult:1.01,defense_exp_mult:1.01,dexterity_exp_mult:1.01,agility_exp_mult:1.01,charisma_exp_mult:1.01,company_rep_mult:1.01,faction_rep_mult:1.01,crime_money_mult:1.01,crime_success_mult:1.01,hacknet_node_money_mult:1.01,hacknet_node_purchase_cost_mult:.99,hacknet_node_ram_cost_mult:.99,hacknet_node_core_cost_mult:.99,hacknet_node_level_cost_mult:.99,work_money_mult:1.01});let _e=0;for(let e=0;e=0;e--)if(u.a.queuedAugmentations[e].name===o.a.NeuroFluxGovernor){t=e;break}for(let a=0;a"}return u.a.queuedAugmentations=[],Object(d.a)("You slowly drift to sleep as scientists put you under in order to install the following Augmentations:
"+e+"
You wake up in your home...you feel different..."),Object(m.a)(),!0}function C(e){return r.a.hasOwnProperty(e)}function S(e){return(e instanceof n.a?e.name:e)===o.a.NeuroFluxGovernor}},,function(e,t,a){"use strict";let n;a.d(t,"a",(function(){return n})),a.d(t,"b",(function(){return r})),function(e){e.Weapon="w",e.Armor="a",e.Vehicle="v",e.Rootkit="r",e.Augmentation="g"}(n||(n={}));const r=[{cost:1e6,mults:{str:1.04,def:1.04},name:"Baseball Bat",upgType:n.Weapon},{cost:12e6,mults:{str:1.08,def:1.08,dex:1.08},name:"Katana",upgType:n.Weapon},{cost:25e6,mults:{str:1.1,def:1.1,dex:1.1,agi:1.1},name:"Glock 18C",upgType:n.Weapon},{cost:5e7,mults:{str:1.12,def:1.1,agi:1.1},name:"P90C",upgType:n.Weapon},{cost:6e7,mults:{str:1.2,def:1.15},name:"Steyr AUG",upgType:n.Weapon},{cost:1e8,mults:{str:1.25,def:1.2},name:"AK-47",upgType:n.Weapon},{cost:15e7,mults:{str:1.3,def:1.25},name:"M15A10 Assault Rifle",upgType:n.Weapon},{cost:225e6,mults:{str:1.3,dex:1.25,agi:1.3},name:"AWM Sniper Rifle",upgType:n.Weapon},{cost:2e6,mults:{def:1.04},name:"Bulletproof Vest",upgType:n.Armor},{cost:5e6,mults:{def:1.08},name:"Full Body Armor",upgType:n.Armor},{cost:25e6,mults:{def:1.15,agi:1.15},name:"Liquid Body Armor",upgType:n.Armor},{cost:4e7,mults:{def:1.2},name:"Graphene Plating Armor",upgType:n.Armor},{cost:3e6,mults:{agi:1.04,cha:1.04},name:"Ford Flex V20",upgType:n.Vehicle},{cost:9e6,mults:{agi:1.08,cha:1.08},name:"ATX1070 Superbike",upgType:n.Vehicle},{cost:18e6,mults:{agi:1.12,cha:1.12},name:"Mercedes-Benz S9001",upgType:n.Vehicle},{cost:3e7,mults:{agi:1.16,cha:1.16},name:"White Ferrari",upgType:n.Vehicle},{cost:5e6,mults:{hack:1.05},name:"NUKE Rootkit",upgType:n.Rootkit},{cost:25e6,mults:{hack:1.1},name:"Soulstealer Rootkit",upgType:n.Rootkit},{cost:75e6,mults:{hack:1.15},name:"Demon Rootkit",upgType:n.Rootkit},{cost:4e7,mults:{hack:1.12},name:"Hmap Node",upgType:n.Rootkit},{cost:75e6,mults:{hack:1.15},name:"Jack the Ripper",upgType:n.Rootkit},{cost:1e10,mults:{str:1.3,dex:1.3},name:"Bionic Arms",upgType:n.Augmentation},{cost:1e10,mults:{agi:1.6},name:"Bionic Legs",upgType:n.Augmentation},{cost:15e9,mults:{str:1.15,def:1.15,dex:1.15,agi:1.15},name:"Bionic Spine",upgType:n.Augmentation},{cost:2e10,mults:{str:1.4,def:1.4},name:"BrachiBlades",upgType:n.Augmentation},{cost:12e9,mults:{str:1.2,def:1.2},name:"Nanofiber Weave",upgType:n.Augmentation},{cost:25e9,mults:{str:1.5,agi:1.5},name:"Synthetic Heart",upgType:n.Augmentation},{cost:15e9,mults:{str:1.3,def:1.3},name:"Synfibril Muscle",upgType:n.Augmentation},{cost:5e9,mults:{hack:1.05},name:"BitWire",upgType:n.Augmentation},{cost:1e10,mults:{hack:1.15},name:"Neuralstimulator",upgType:n.Augmentation},{cost:75e8,mults:{hack:1.1},name:"DataJack",upgType:n.Augmentation},{cost:5e10,mults:{str:1.7,def:1.7},name:"Graphene Bone Lacings",upgType:n.Augmentation}]},,,function(e,t,a){"use strict";a.d(t,"a",(function(){return n}));const n={Water:.05,Energy:.01,Food:.03,Plants:.05,Metal:.1,Hardware:.06,Chemicals:.05,Drugs:.02,Robots:.5,AICores:.1,RealEstate:0,"Real Estate":0,"AI Cores":0}},function(e,t,a){"use strict";a.d(t,"a",(function(){return M})),a.d(t,"c",(function(){return T})),a.d(t,"e",(function(){return P})),a.d(t,"f",(function(){return N})),a.d(t,"b",(function(){return I})),a.d(t,"d",(function(){return F}));var n=a(126),r=a(286),i=a(182),o=a(255),s=a(440),l=a(6),c=a(499),u=a(139),m=a(441),h=a(1115),p=a(1117),d=a(315),f=a(538),g=a(225),y=a(36),b=a(14),E=a(211),_=a(565),v=a(15),k=a(250),w=a(351),C=a(117),S=a(403),x=a(259),O=a(360);const M=[];for(let e=0;e{i=!0;let t=e.source.value;t.startsWith("./")&&(t=t.slice(2));const a=function(e){for(let t=0;t{a.push(e.id.name),n.push(e)}}),r+="var "+t+";\n(function (namespace) {\n",n.forEach(e=>{r+=Object(_.generate)(e),r+="\n"}),a.forEach(e=>{r+="namespace."+e+" = "+e,r+="\n"}),r+="})("+t+" || ("+t+" = {}));\n"}else{const t=[];e.specifiers.forEach(e=>{t.push(e.local.name)});const a=[];Object(O.b)(o,{FunctionDeclaration:e=>{t.includes(e.id.name)&&a.push(e)}}),a.forEach(e=>{r+=Object(_.generate)(e),r+="\n"})}}}),!i)return{code:e,lineOffset:0};let o=0;if("Program"!==a.type||null==a.body)throw new Error("Code could not be properly parsed");for(let e=a.body.length-1;e>=0;--e)"ImportDeclaration"===a.body[e].type&&(a.body.splice(e,1),++o);const s=(r.match(/\n/g)||[]).length-o;e=Object(_.generate)(a);return{code:e=r+e,lineOffset:s}}(t,e);a=n.code,i=n.lineOffset}catch(t){return Object(v.a)("Error processing Imports in "+e.name+":
"+t),e.env.stopFlag=!0,e.running=!1,Object(n.a)(e),Promise.resolve(e)}const o=function(t,a){const n=Object(m.a)(e);for(const e in n){const r=n[e];if("function"==typeof r)if("hack"===e||"grow"===e||"weaken"===e||"sleep"===e||"prompt"===e||"manualHack"===e){const n=function(...e){const a=[];for(let n=0;n"+t),e.env.stopFlag=!0,e.running=!1,Object(n.a)(e),Promise.resolve(e)}return new Promise((function(t,a){try{!function n(){try{if(e.env.stopFlag)return a(e);s.step()?Object(E.a)(n,b.a.CodeInstructionRunTime):t(e)}catch(t){return t=t.toString(),Object(u.a)(t)||(t=Object(u.b)(e,t)),e.errorMessage=t,a(e)}}()}catch(t){return Object(C.a)(t)?(e.errorMessage=t,a(e)):t instanceof r.a?a(t):a(e)}}))}function P(e,t,a){return A(e,t,a)?(t.runScript(e),e.pid):0}function A(e,t,a){let l=1;e.threads&&!isNaN(e.threads)?l=e.threads:e.threads=1;const c=Object(w.a)(Object(f.a)(e)*l);if(c>t.maxRam-t.ramUsed)return Object(v.a)(`Not enough RAM to run script ${e.filename} with args `+Object(k.a)(e.args)+". This likely occurred because you re-loaded the game and the script's RAM usage increased (either because of an update to the game or your changes to the script.)"),!1;t.ramUsed=Object(w.a)(t.ramUsed+c);const p=Object(s.a)();if(-1===p)throw new Error("Failed to start script because could not find available PID. This is most because you have too many scripts running.");const d=new r.a(e,p,m.a);d.ramUsage=c,i.a.set(p,d),o.a.emit();let g=null;if(d.name.endsWith(".js")||d.name.endsWith(".ns"))g=function(e){e.running=!0;let t=null;function a(a,n){return function(...r){if(e.env.stopFlag)throw e;if("sleep"===a)return n(...r);if(t)throw e.errorMessage=Object(u.b)(e,Object(S.sprintf)("Concurrent calls to Netscript functions not allowed! Did you forget to await hack(), grow(), or some other promise-returning function? (Currently running: %s tried to run: %s)",t,a)),e;let i;t=a;try{i=n(...r)}catch(e){throw t=null,e}return i&&void 0!==i.finally?i.finally((function(){t=null})):(t=null,i)}}for(const t in e.env.vars)"function"==typeof e.env.vars[t]&&(e.env.vars[t]=a(t,e.env.vars[t]));return new Promise((t,a)=>{Object(h.a)(e.getServer().scripts,e).then(()=>{t(e)}).catch(e=>a(e))}).catch(t=>{if(t instanceof Error)throw e.errorMessage=Object(u.b)(e,t.message+(t.stack&&"\nstack:\n"+t.stack.toString()||"")),e;if(Object(u.a)(t))throw e.errorMessage=t,e;throw t})}(d);else if(g=R(d),!(g instanceof Promise))return!1;return g.then((function(t){void 0!==a&&a.running&&(a.scriptRef.onlineExpGained+=e.onlineExpGained,a.scriptRef.onlineMoneyMade+=e.onlineMoneyMade),Object(n.a)(d),t.log("","Script finished running")})).catch((function(e){if(e instanceof Error)return Object(v.a)("Script runtime unknown error. This is a bug please contact game developer"),void console.error("Evaluating workerscript returns an Error. THIS SHOULDN'T HAPPEN: "+e.toString());if(e instanceof r.a){if(!Object(u.a)(e.errorMessage))return void e.log("","Script killed");{const t=e.errorMessage.split("|");if(4!=t.length)return console.error("ERROR: Something wrong with Error text in evaluator..."),void console.error("Error text: "+e.errorMessage);const a=t[1],n=t[2],r=t[3];let i=`RUNTIME ERROR
${n}@${a}
`;e.args.length>0&&(i+=`Args: ${Object(k.a)(e.args)}
`),i+="
",i+=r,Object(v.a)(i),e.log("","Script crashed with runtime error")}e.running=!1,e.env.stopFlag=!0}else{if(Object(u.a)(e))return Object(v.a)("Script runtime unknown error. This is a bug please contact game developer"),void console.error("ERROR: Evaluating workerscript returns only error message rather than WorkerScript object. THIS SHOULDN'T HAPPEN: "+e.toString());Object(v.a)("An unknown script died for an unknown reason. This is a bug please contact game dev"),console.error(e)}Object(n.a)(d)})),!0}function N(e=1){const t=e*l.a._idleSpeed/1e3;for(const e of i.a.values())e.scriptRef.onlineRunningTime+=t}function I(){const e=-1!==window.location.href.toLowerCase().indexOf("?noscripts");e&&console.info("Skipping the load of any scripts during startup");for(const t in y.b)if(y.b.hasOwnProperty(t)){const a=y.b[t];a.ramUsed=0;for(let e=0;ec)return i.log(e,`Cannot run script '${a}' (t=${o}) on '${t.hostname}' because there is not enough available RAM!`),0;{i.log(e,`'${a}' on '${t.hostname}' with ${o} threads and args: ${Object(k.a)(n)}.`);const r=new d.a(s,n);return r.threads=o,P(r,t,i)}}return i.log(e,`Could not find script '${a}' on '${t.hostname}'`),0}},function(e,t,a){"use strict";let n;a.d(t,"a",(function(){return n})),function(e){e[e.Field=0]="Field",e[e.Hacking=1]="Hacking",e[e.None=2]="None",e[e.Security=3]="Security"}(n||(n={}))},,,,function(e,t,a){"use strict";function n(e){const t=Object.assign({},{progress:0,totalTicks:20},e);t.progress=Math.max(Math.min(t.progress,1),0);const a=Math.max(Math.floor(t.progress/(1/t.totalTicks)),1),n=Math.max(t.totalTicks-a,0);return`[${"|".repeat(a)}${"-".repeat(n)}]`}a.d(t,"a",(function(){return n}))},,,,,function(e,t,a){"use strict";a.d(t,"a",(function(){return i}));var n=a(21);function r(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}class i{constructor(e={}){r(this,"name","InitName"),r(this,"qty",0),r(this,"qlt",0),r(this,"dmd",0),r(this,"dmdR",[0,0]),r(this,"cmp",0),r(this,"cmpR",[0,0]),r(this,"mv",0),r(this,"mku",0),r(this,"buy",0),r(this,"sll",0),r(this,"prd",0),r(this,"imp",0),r(this,"exp",[]),r(this,"totalExp",0),r(this,"bCost",0),r(this,"sCost",0),r(this,"prdman",[!1,0]),r(this,"sllman",[!1,0]),r(this,"marketTa1",!1),r(this,"marketTa2",!1),r(this,"marketTa2Price",0),e.name&&(this.name=e.name),this.init()}getMarkupLimit(){return this.qlt/this.mku}init(){switch(this.name){case"Water":this.dmd=75,this.dmdR=[65,85],this.cmp=50,this.cmpR=[40,60],this.bCost=1500,this.mv=.2,this.mku=6;break;case"Energy":this.dmd=90,this.dmdR=[80,99],this.cmp=80,this.cmpR=[65,95],this.bCost=2e3,this.mv=.2,this.mku=6;break;case"Food":this.dmd=80,this.dmdR=[70,90],this.cmp=60,this.cmpR=[35,85],this.bCost=5e3,this.mv=1,this.mku=3;break;case"Plants":this.dmd=70,this.dmdR=[20,90],this.cmp=50,this.cmpR=[30,70],this.bCost=3e3,this.mv=.6,this.mku=3.75;break;case"Metal":this.dmd=80,this.dmdR=[75,85],this.cmp=70,this.cmpR=[60,80],this.bCost=2650,this.mv=1,this.mku=6;break;case"Hardware":this.dmd=85,this.dmdR=[80,90],this.cmp=80,this.cmpR=[65,95],this.bCost=8e3,this.mv=.5,this.mku=1;break;case"Chemicals":this.dmd=55,this.dmdR=[40,70],this.cmp=60,this.cmpR=[40,80],this.bCost=9e3,this.mv=1.2,this.mku=2;break;case"Real Estate":this.dmd=50,this.dmdR=[5,99],this.cmp=50,this.cmpR=[25,75],this.bCost=8e4,this.mv=1.5,this.mku=1.5;break;case"Drugs":this.dmd=60,this.dmdR=[45,75],this.cmp=70,this.cmpR=[40,99],this.bCost=4e4,this.mv=1.6,this.mku=1;break;case"Robots":this.dmd=90,this.dmdR=[80,9],this.cmp=90,this.cmpR=[80,9],this.bCost=75e3,this.mv=.5,this.mku=1;break;case"AI Cores":this.dmd=90,this.dmdR=[80,99],this.cmp=90,this.cmpR=[80,9],this.bCost=15e3,this.mv=.8,this.mku=.5;break;case"Scientific Research":case"InitName":break;default:console.error("Invalid material type in init(): "+this.name)}}processMarket(){const e=1+Math.random()*this.mv/300,t=1+Math.random()*this.mv/100;Math.random()<.5?(this.cmp*=t,this.cmp>this.cmpR[1]&&(this.cmp=this.cmpR[1]),this.bCost*=1/e):(this.cmp*=1/t,this.cmpthis.dmdR[1]&&(this.dmd=this.dmdR[1]),this.bCost*=e):(this.dmd*=1/a,this.dmd({ind:e.ind,city:e.city,amt:e.amt})),e}toJSON(){return Object(n.b)("Material",this)}static fromJSON(e){return Object(n.a)(i,e.data)}}n.c.constructors.Material=i},,,,function(e,t,a){"use strict";a.d(t,"a",(function(){return s}));var n=a(497),r=a(543),i=a(21);function o(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}class s{constructor(e=""){o(this,"alreadyInvited",!1),o(this,"augmentations",[]),o(this,"favor",0),o(this,"isBanned",!1),o(this,"isMember",!1),o(this,"name",""),o(this,"playerReputation",0),o(this,"rolloverRep",0),this.name=e}getInfo(){const e=n.a[this.name];if(null==e)throw new Error(`Missing faction from FactionInfos: ${this.name} this probably means the faction got corrupted somehow`);return e}gainFavor(){null==this.favor&&(this.favor=0),null==this.rolloverRep&&(this.rolloverRep=0);const e=this.getFavorGain();2===e.length?(this.favor+=e[0],this.rolloverRep=e[1]):console.error("Invalid result from getFavorGain() function")}getFavorGain(){null==this.favor&&(this.favor=0),null==this.rolloverRep&&(this.rolloverRep=0);const e=Math.max(0,Object(r.a)(this.favor-1))+this.rolloverRep+this.playerReputation,t=Math.floor(Object(r.b)(e)),a=Object(r.a)(t);return[t-this.favor+1,e-a]}toJSON(){return Object(i.b)("Faction",this)}static fromJSON(e){return Object(i.a)(s,e.data)}}i.c.constructors.Faction=s},function(e,t,a){"use strict";let n,r;a.d(t,"b",(function(){return n})),a.d(t,"a",(function(){return r})),function(e){e[e.Cost=0]="Cost",e[e.Default=1]="Default",e[e.Reputation=2]="Reputation",e[e.Purchasable=3]="Purchasable"}(n||(n={})),function(e){e[e.Alphabetically=0]="Alphabetically",e[e.AcquirementTime=1]="AcquirementTime"}(r||(r={}))},,,,,function(e,t,a){"use strict";a.d(t,"a",(function(){return i}));var n=a(0),r=a.n(n);function i(e){return Object(n.useEffect)(()=>{function t(t){if(!t.isTrusted)return;e.onKeyDown.bind(this)(t)}return document.addEventListener("keydown",t),()=>document.removeEventListener("keydown",t)}),r.a.createElement(r.a.Fragment,null)}},function(e,t,a){"use strict";a.d(t,"a",(function(){return c}));var n=a(1447),r=a(0),i=a.n(r),o=a(1445),s=a(48);const l=Object(o.a)(e=>({root:{backgroundColor:e.palette.background.paper},bar:{transition:"none",backgroundColor:e.palette.primary.main}}))(n.a);function c(e){const[t,a]=Object(r.useState)(100);return Object(r.useEffect)(()=>{const t=setInterval(()=>{a(t=>(t<=0&&e.onExpire(),t-200/e.millis*100))},200);return()=>{clearInterval(t)}},[]),i.a.createElement(s.a,{item:!0,xs:12},i.a.createElement(l,{variant:"determinate",value:t,color:"primary"}))}},function(e,t,a){"use strict";function n(e,t,a){function n(e,t,n){function r(e,t,a){return(1-a)*e+a*t}for(const i of Object.keys(e))a[i]=r(e[i],t[i],n);return e}return t<0?n(e.Trivial,e.Trivial,0):t>=0&&t<1?n(e.Trivial,e.Normal,t):t>=1&&t<2?n(e.Normal,e.Hard,t-1):t>=2&&t<3?n(e.Hard,e.Impossible,t-2):n(e.Impossible,e.Impossible,0)}a.d(t,"a",(function(){return n}))},,function(e,t,a){"use strict";a.d(t,"a",(function(){return n}));const n=new Map},function(e,t,a){"use strict";a.d(t,"c",(function(){return i})),a.d(t,"b",(function(){return o})),a.d(t,"a",(function(){return s}));var n=a(0),r=a(15);function i(e,t){e.gainMoney(t),e.recordMoneySource(t,"casino")}function o(e){const t=e.getCasinoWinnings()>1e10;return t&&Object(r.a)(n.createElement(n.Fragment,null,"Alright cheater get out of here. You're not allowed here anymore.")),t}class s extends n.Component{win(e,t){e.gainMoney(t),e.recordMoneySource(t,"casino")}reachedLimit(e){const t=e.getCasinoWinnings()>1e10;return t&&Object(r.a)(n.createElement(n.Fragment,null,"Alright cheater get out of here. You're not allowed here anymore.")),t}}},function(e,t,a){"use strict";a.d(t,"a",(function(){return i}));var n=a(154),r=a(802);const i={};n.b.forEach(e=>{i[e.name]=new r.a(e.name,e.cost,e.upgType,e.mults)})},function(e,t,a){"use strict";a.d(t,"b",(function(){return o})),a.d(t,"c",(function(){return s})),a.d(t,"d",(function(){return l})),a.d(t,"a",(function(){return c}));var n=a(127),r=a(68),i=a(6);function o(e,t,a){if(isNaN(t)||t<=0||!(e instanceof n.a))return null;t=Math.min(t,e.maxShares);return a===r.a.Long?t*e.getAskPrice()+i.a.StockMarketCommission:t*e.getBidPrice()+i.a.StockMarketCommission}function s(e,t,a){if(isNaN(t)||t<=0||!(e instanceof n.a))return null;t=Math.min(t,e.maxShares);if(a===r.a.Long)return t*e.getBidPrice()-i.a.StockMarketCommission;return t*e.playerAvgShortPx+((e.playerAvgShortPx-e.getAskPrice())*t-i.a.StockMarketCommission)}function l(e,t){if(isNaN(t)||t<=0||!(e instanceof n.a))return;t=Math.min(t,e.maxShares);const a=e.shareTxUntilMovement;if(t<=a)return e.shareTxUntilMovement-=t,void(e.shareTxUntilMovement<=0&&(e.shareTxUntilMovement=e.shareTxForMovement,e.influenceForecast(.006),e.influenceForecastForecast(e.mv/100*.006)));const r=t-a;let i=1+Math.ceil(r/e.shareTxForMovement);e.shareTxUntilMovement=e.shareTxForMovement-(t-e.shareTxUntilMovement)%e.shareTxForMovement,(e.shareTxUntilMovement===e.shareTxForMovement||e.shareTxUntilMovement<=0)&&(++i,e.shareTxUntilMovement=e.shareTxForMovement);const o=.006*(i-1),s=o*(e.mv/100);e.influenceForecast(o),e.influenceForecastForecast(s)}function c(e,t,a){if(!(e instanceof n.a))return 0;const o=t===r.a.Long,s=a-i.a.StockMarketCommission,l=o?e.getAskPrice():e.getBidPrice();return Math.floor(s/l)}},function(e,t,a){"use strict";a.d(t,"a",(function(){return i}));var n=a(6);function r(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}class i{constructor(e="",t="",a=0,n=0,i=0,o=0,s={}){r(this,"difficulty",0),r(this,"karma",0),r(this,"kills",0),r(this,"money",0),r(this,"name",""),r(this,"time",0),r(this,"type",""),r(this,"hacking_success_weight",0),r(this,"strength_success_weight",0),r(this,"defense_success_weight",0),r(this,"dexterity_success_weight",0),r(this,"agility_success_weight",0),r(this,"charisma_success_weight",0),r(this,"hacking_exp",0),r(this,"strength_exp",0),r(this,"defense_exp",0),r(this,"dexterity_exp",0),r(this,"agility_exp",0),r(this,"charisma_exp",0),r(this,"intelligence_exp",0),this.name=e,this.type=t,this.time=a,this.money=n,this.difficulty=i,this.karma=o,this.hacking_success_weight=s.hacking_success_weight?s.hacking_success_weight:0,this.strength_success_weight=s.strength_success_weight?s.strength_success_weight:0,this.defense_success_weight=s.defense_success_weight?s.defense_success_weight:0,this.dexterity_success_weight=s.dexterity_success_weight?s.dexterity_success_weight:0,this.agility_success_weight=s.agility_success_weight?s.agility_success_weight:0,this.charisma_success_weight=s.charisma_success_weight?s.charisma_success_weight:0,this.hacking_exp=s.hacking_exp?s.hacking_exp:0,this.strength_exp=s.strength_exp?s.strength_exp:0,this.defense_exp=s.defense_exp?s.defense_exp:0,this.dexterity_exp=s.dexterity_exp?s.dexterity_exp:0,this.agility_exp=s.agility_exp?s.agility_exp:0,this.charisma_exp=s.charisma_exp?s.charisma_exp:0,this.intelligence_exp=s.intelligence_exp?s.intelligence_exp:0,this.kills=s.kills?s.kills:0}commit(e,t,a=1,n=null){return a<=0&&(a=1),t.startCrime(e,this.type,this.hacking_exp/a,this.strength_exp/a,this.defense_exp/a,this.dexterity_exp/a,this.agility_exp/a,this.charisma_exp/a,this.money/a,this.time,n),this.time}successRate(e){let t=this.hacking_success_weight*e.hacking_skill+this.strength_success_weight*e.strength+this.defense_success_weight*e.defense+this.dexterity_success_weight*e.dexterity+this.agility_success_weight*e.agility+this.charisma_success_weight*e.charisma+n.a.IntelligenceCrimeWeight*e.intelligence;return t/=n.a.MaxSkillLevel,t/=this.difficulty,t*=e.crime_success_mult,t*=e.getIntelligenceBonus(1),Math.min(t,1)}}},function(e,t,a){"use strict";a.d(t,"b",(function(){return c})),a.d(t,"a",(function(){return u}));var n=a(8),r=a(23),i=a(6),o=a(231),s=a(353);function l(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function c(){return{hack:0,str:0,def:0,dex:0,agi:0,cha:0,money:0}}class u{constructor(){l(this,"hacking_skill",1),l(this,"strength",1),l(this,"defense",1),l(this,"dexterity",1),l(this,"agility",1),l(this,"charisma",1),l(this,"intelligence",1),l(this,"hp",10),l(this,"max_hp",10),l(this,"hacking_exp",0),l(this,"strength_exp",0),l(this,"defense_exp",0),l(this,"dexterity_exp",0),l(this,"agility_exp",0),l(this,"charisma_exp",0),l(this,"intelligence_exp",0),l(this,"hacking_mult",1),l(this,"strength_mult",1),l(this,"defense_mult",1),l(this,"dexterity_mult",1),l(this,"agility_mult",1),l(this,"charisma_mult",1),l(this,"hacking_exp_mult",1),l(this,"strength_exp_mult",1),l(this,"defense_exp_mult",1),l(this,"dexterity_exp_mult",1),l(this,"agility_exp_mult",1),l(this,"charisma_exp_mult",1),l(this,"hacking_chance_mult",1),l(this,"hacking_speed_mult",1),l(this,"hacking_money_mult",1),l(this,"hacking_grow_mult",1),l(this,"company_rep_mult",1),l(this,"faction_rep_mult",1),l(this,"crime_money_mult",1),l(this,"crime_success_mult",1),l(this,"work_money_mult",1),l(this,"hacknet_node_money_mult",1),l(this,"hacknet_node_purchase_cost_mult",1),l(this,"hacknet_node_ram_cost_mult",1),l(this,"hacknet_node_core_cost_mult",1),l(this,"hacknet_node_level_cost_mult",1),l(this,"bladeburner_max_stamina_mult",1),l(this,"bladeburner_stamina_gain_mult",1),l(this,"bladeburner_analysis_mult",1),l(this,"bladeburner_success_chance_mult",1),l(this,"augmentations",[]),l(this,"queuedAugmentations",[]),l(this,"city",r.a.Sector12)}applyAugmentation(e){for(const t in e.mults)null==this[t]?console.warn("Augmentation has unrecognized multiplier property: "+t):this[t]*=e.mults[t]}calculateStat(e,t=1){return Object(o.b)(e,t)}getFactionFieldWorkRepGain(){return.9*(this.hacking_skill/i.a.MaxSkillLevel+this.strength/i.a.MaxSkillLevel+this.defense/i.a.MaxSkillLevel+this.dexterity/i.a.MaxSkillLevel+this.agility/i.a.MaxSkillLevel+this.charisma/i.a.MaxSkillLevel)/5.5*this.faction_rep_mult}getFactionHackingWorkRepGain(){return this.hacking_skill/i.a.MaxSkillLevel*this.faction_rep_mult}getFactionSecurityWorkRepGain(){return.9*(this.hacking_skill/i.a.MaxSkillLevel+this.strength/i.a.MaxSkillLevel+this.defense/i.a.MaxSkillLevel+this.dexterity/i.a.MaxSkillLevel+this.agility/i.a.MaxSkillLevel)/4.5*this.faction_rep_mult}resetMultipliers(){this.hacking_mult=1,this.strength_mult=1,this.defense_mult=1,this.dexterity_mult=1,this.agility_mult=1,this.charisma_mult=1,this.hacking_exp_mult=1,this.strength_exp_mult=1,this.defense_exp_mult=1,this.dexterity_exp_mult=1,this.agility_exp_mult=1,this.charisma_exp_mult=1,this.company_rep_mult=1,this.faction_rep_mult=1,this.crime_money_mult=1,this.crime_success_mult=1,this.work_money_mult=1}updateStatLevels(){this.hacking_skill=Math.max(1,Math.floor(this.calculateStat(this.hacking_exp,this.hacking_mult*n.a.HackingLevelMultiplier))),this.strength=Math.max(1,Math.floor(this.calculateStat(this.strength_exp,this.strength_mult*n.a.StrengthLevelMultiplier))),this.defense=Math.max(1,Math.floor(this.calculateStat(this.defense_exp,this.defense_mult*n.a.DefenseLevelMultiplier))),this.dexterity=Math.max(1,Math.floor(this.calculateStat(this.dexterity_exp,this.dexterity_mult*n.a.DexterityLevelMultiplier))),this.agility=Math.max(1,Math.floor(this.calculateStat(this.agility_exp,this.agility_mult*n.a.AgilityLevelMultiplier))),this.charisma=Math.max(1,Math.floor(this.calculateStat(this.charisma_exp,this.charisma_mult*n.a.CharismaLevelMultiplier)));const e=this.hp/this.max_hp;this.max_hp=Math.floor(10+this.defense/10),this.hp=Math.round(this.max_hp*e)}getIntelligenceBonus(e){return Object(s.a)(this.intelligence,e)}}},,,,,,,,,,,function(e,t,a){"use strict";a.d(t,"a",(function(){return s})),a.d(t,"b",(function(){return l}));var n=a(0),r=a.n(n),i=a(8);class o{constructor(e,t,a,n="",i=r.a.createElement(r.a.Fragment,null)){this.number=e,this.difficulty=t,this.name=a,this.desc=n,this.info=i}}const s={};function l(e){null==e.bitNodeN&&(e.bitNodeN=1);for(const e in i.a)i.a.hasOwnProperty(e)&&(i.a[e]=1);switch(e.bitNodeN){case 1:break;case 2:i.a.HackingLevelMultiplier=.8,i.a.ServerGrowthRate=.8,i.a.ServerMaxMoney=.2,i.a.ServerStartingMoney=.4,i.a.CrimeMoney=3,i.a.InfiltrationMoney=3,i.a.FactionWorkRepGain=.5,i.a.FactionPassiveRepGain=0,i.a.GangKarmaRequirement=0;break;case 3:i.a.HackingLevelMultiplier=.8,i.a.RepToDonateToFaction=.5,i.a.AugmentationRepCost=3,i.a.AugmentationMoneyCost=3,i.a.ServerMaxMoney=.2,i.a.ServerStartingMoney=.2,i.a.ServerGrowthRate=.2,i.a.ScriptHackMoney=.2,i.a.CompanyWorkMoney=.25,i.a.CrimeMoney=.25,i.a.HacknetNodeMoney=.25,i.a.HomeComputerRamCost=1.5,i.a.PurchasedServerCost=2,i.a.GangKarmaRequirement=3;break;case 4:i.a.ServerMaxMoney=.15,i.a.ServerStartingMoney=.75,i.a.ScriptHackMoney=.2,i.a.CompanyWorkMoney=.1,i.a.CrimeMoney=.2,i.a.HacknetNodeMoney=.05,i.a.CompanyWorkExpGain=.5,i.a.ClassGymExpGain=.5,i.a.FactionWorkExpGain=.5,i.a.HackExpGain=.4,i.a.CrimeExpGain=.5,i.a.FactionWorkRepGain=.75;break;case 5:i.a.ServerMaxMoney=2,i.a.ServerStartingSecurity=2,i.a.ServerStartingMoney=.5,i.a.ScriptHackMoney=.15,i.a.HacknetNodeMoney=.2,i.a.CrimeMoney=.5,i.a.InfiltrationRep=1.5,i.a.InfiltrationMoney=1.5,i.a.AugmentationMoneyCost=2,i.a.HackExpGain=.5,i.a.CorporationValuation=.5;break;case 6:i.a.HackingLevelMultiplier=.35,i.a.ServerMaxMoney=.4,i.a.ServerStartingMoney=.5,i.a.ServerStartingSecurity=1.5,i.a.ScriptHackMoney=.75,i.a.CompanyWorkMoney=.5,i.a.CrimeMoney=.75,i.a.InfiltrationMoney=.75,i.a.CorporationValuation=.2,i.a.HacknetNodeMoney=.2,i.a.FactionPassiveRepGain=0,i.a.HackExpGain=.25,i.a.DaedalusAugsRequirement=1.166,i.a.GangKarmaRequirement=5;break;case 7:i.a.BladeburnerRank=.6,i.a.BladeburnerSkillCost=2,i.a.AugmentationMoneyCost=3,i.a.HackingLevelMultiplier=.35,i.a.ServerMaxMoney=.4,i.a.ServerStartingMoney=.5,i.a.ServerStartingSecurity=1.5,i.a.ScriptHackMoney=.5,i.a.CompanyWorkMoney=.5,i.a.CrimeMoney=.75,i.a.InfiltrationMoney=.75,i.a.CorporationValuation=.2,i.a.HacknetNodeMoney=.2,i.a.FactionPassiveRepGain=0,i.a.HackExpGain=.25,i.a.FourSigmaMarketDataCost=2,i.a.FourSigmaMarketDataApiCost=2,i.a.DaedalusAugsRequirement=1.166,i.a.GangKarmaRequirement=5;break;case 8:i.a.ScriptHackMoney=.3,i.a.ScriptHackMoneyGain=0,i.a.ManualHackMoney=0,i.a.CompanyWorkMoney=0,i.a.CrimeMoney=0,i.a.HacknetNodeMoney=0,i.a.InfiltrationMoney=0,i.a.RepToDonateToFaction=0,i.a.CorporationValuation=0,i.a.CodingContractMoney=0,i.a.GangKarmaRequirement=10;break;case 9:i.a.HackingLevelMultiplier=.4,i.a.StrengthLevelMultiplier=.45,i.a.DefenseLevelMultiplier=.45,i.a.DexterityLevelMultiplier=.45,i.a.AgilityLevelMultiplier=.45,i.a.CharismaLevelMultiplier=.45,i.a.PurchasedServerLimit=0,i.a.HomeComputerRamCost=5,i.a.CrimeMoney=.5,i.a.ScriptHackMoney=.1,i.a.HackExpGain=.05,i.a.ServerStartingMoney=.1,i.a.ServerMaxMoney=.1,i.a.ServerStartingSecurity=2.5,i.a.CorporationValuation=.5,i.a.FourSigmaMarketDataCost=5,i.a.FourSigmaMarketDataApiCost=4,i.a.BladeburnerRank=.9,i.a.BladeburnerSkillCost=1.2,i.a.GangKarmaRequirement=3;break;case 10:i.a.HackingLevelMultiplier=.2,i.a.StrengthLevelMultiplier=.4,i.a.DefenseLevelMultiplier=.4,i.a.DexterityLevelMultiplier=.4,i.a.AgilityLevelMultiplier=.4,i.a.CharismaLevelMultiplier=.4,i.a.CompanyWorkMoney=.5,i.a.CrimeMoney=.5,i.a.HacknetNodeMoney=.5,i.a.ManualHackMoney=.5,i.a.ScriptHackMoney=.5,i.a.CodingContractMoney=.5,i.a.InfiltrationMoney=.5,i.a.CorporationValuation=.5,i.a.AugmentationMoneyCost=5,i.a.AugmentationRepCost=2,i.a.HomeComputerRamCost=1.5,i.a.PurchasedServerCost=5,i.a.PurchasedServerLimit=.6,i.a.PurchasedServerMaxRam=.5,i.a.BladeburnerRank=.8,i.a.GangKarmaRequirement=3;break;case 11:i.a.HackingLevelMultiplier=.5,i.a.HackExpGain=.5,i.a.ServerMaxMoney=.1,i.a.ServerStartingMoney=.1,i.a.ServerGrowthRate=.2,i.a.ServerWeakenRate=2,i.a.CrimeMoney=3,i.a.CompanyWorkMoney=.5,i.a.HacknetNodeMoney=.1,i.a.AugmentationMoneyCost=2,i.a.InfiltrationMoney=2.5,i.a.InfiltrationRep=2.5,i.a.CorporationValuation=.1,i.a.CodingContractMoney=.25,i.a.FourSigmaMarketDataCost=4,i.a.FourSigmaMarketDataApiCost=4;break;case 12:{let t=0;for(let a=0;a50&&this.consoleHistory.splice(0,1));const a=t.split(";");for(let t=0;t100&&this.consoleLogs.shift())}log(e){this.postToConsole(`[${Object(P.a)()}] ${e}`)}resetAction(){this.action=new r.a({type:i.a.Idle})}clearConsole(){this.consoleLogs.length=0}prestige(){this.resetAction();const e=C.a.Bladeburners;this.rank>=E.a.RankNeededForFaction&&Object(A.d)(e)}storeCycles(e=0){this.storedCycles+=e}getActionIdFromTypeAndName(e="",t=""){if(""===e||""===t)return null;const a=new r.a,n=e.toLowerCase().trim(),o=t.toLowerCase().trim();switch(n){case"contract":case"contracts":case"contr":return a.type=i.a.Contract,this.contracts.hasOwnProperty(t)?(a.name=t,a):null;case"operation":case"operations":case"op":case"ops":return a.type=i.a.Operation,this.operations.hasOwnProperty(t)?(a.name=t,a):null;case"blackoperation":case"black operation":case"black operations":case"black op":case"black ops":case"blackop":case"blackops":return a.type=i.a.BlackOp,s.a.hasOwnProperty(t)?(a.name=t,a):null;case"general":case"general action":case"gen":break;default:return null}if(n.startsWith("gen")){switch(o){case"training":a.type=i.a.Training,a.name="Training";break;case"recruitment":case"recruit":a.type=i.a.Recruitment,a.name="Recruitment";break;case"field analysis":case"fieldanalysis":a.type=i.a["Field Analysis"],a.name="Field Analysis";break;case"diplomacy":a.type=i.a.Diplomacy,a.name="Diplomacy";break;case"hyperbolic regeneration chamber":a.type=i.a["Hyperbolic Regeneration Chamber"],a.name="Hyperbolic Regeneration Chamber";break;default:return null}return a}return null}executeStartConsoleCommand(e,t){if(3!==t.length)return this.postToConsole("Invalid usage of 'start' console command: start [type] [name]"),void this.postToConsole("Use 'help start' for more info");const a=t[2];switch(t[1].toLowerCase()){case"general":case"gen":null!=m.a[a]?(this.action.type=i.a[a],this.action.name=a,this.startAction(e,this.action)):this.postToConsole("Invalid action name specified: "+t[2]);break;case"contract":case"contracts":null!=this.contracts[a]?(this.action.type=i.a.Contract,this.action.name=a,this.startAction(e,this.action)):this.postToConsole("Invalid contract name specified: "+t[2]);break;case"ops":case"op":case"operations":case"operation":null!=this.operations[a]?(this.action.type=i.a.Operation,this.action.name=a,this.startAction(e,this.action)):this.postToConsole("Invalid Operation name specified: "+t[2]);break;case"blackops":case"blackop":case"black operations":case"black operation":null!=s.a[a]?(this.action.type=i.a.BlackOperation,this.action.name=a,this.startAction(e,this.action)):this.postToConsole("Invalid BlackOp name specified: "+t[2]);break;default:this.postToConsole("Invalid action/event type specified: "+t[1]),this.postToConsole("Examples of valid action/event identifiers are: [general, contract, op, blackop]")}}executeSkillConsoleCommand(e){switch(e.length){case 1:this.postToConsole("Invalid usage of 'skill' console command: skill [action] [name]"),this.postToConsole("Use 'help skill' for more info");break;case 2:if("list"===e[1].toLowerCase()){this.postToConsole("Skills: ");const e=Object.keys(p.a);for(let t=0;t=n?(this.skillPoints-=n,this.upgradeSkill(a),this.log(a.name+" upgraded to Level "+this.skills[t])):this.postToConsole("You do not have enough Skill Points to upgrade this. You need "+Object(h.c)(n,0))}else this.postToConsole("Invalid usage of 'skill' console command: skill [action] [name]"),this.postToConsole("Use 'help skill' for more info");break}default:this.postToConsole("Invalid usage of 'skill' console command: skill [action] [name]"),this.postToConsole("Use 'help skill' for more info")}}executeLogConsoleCommand(e){if(e.length<3)return this.postToConsole("Invalid usage of log command: log [enable/disable] [action/event]"),void this.postToConsole("Use 'help log' for more details and examples");let t=!0;switch(e[1].toLowerCase().includes("d")&&(t=!1),e[2].toLowerCase()){case"general":case"gen":this.logging.general=t,this.log("Logging "+(t?"enabled":"disabled")+" for general actions");break;case"contract":case"contracts":this.logging.contracts=t,this.log("Logging "+(t?"enabled":"disabled")+" for Contracts");break;case"ops":case"op":case"operations":case"operation":this.logging.ops=t,this.log("Logging "+(t?"enabled":"disabled")+" for Operations");break;case"blackops":case"blackop":case"black operations":case"black operation":this.logging.blackops=t,this.log("Logging "+(t?"enabled":"disabled")+" for BlackOps");break;case"event":case"events":this.logging.events=t,this.log("Logging "+(t?"enabled":"disabled")+" for events");break;case"all":this.logging.general=t,this.logging.contracts=t,this.logging.ops=t,this.logging.blackops=t,this.logging.events=t,this.log("Logging "+(t?"enabled":"disabled")+" for everything");break;default:this.postToConsole("Invalid action/event type specified: "+e[2]),this.postToConsole("Examples of valid action/event identifiers are: [general, contracts, ops, blackops, events]")}}executeHelpConsoleCommand(e){if(1===e.length)for(const e of g.a.helpList)this.postToConsole(e);else for(let t=1;t0&&(i*=Object(b.a)(2,4),--n.comms,++a.comms);const o=Math.round(n.pop*i);n.pop-=o,a.pop+=o}triggerPotentialMigration(e,t){(null==t||isNaN(t))&&console.error("Invalid 'chance' parameter passed into Bladeburner.triggerPotentialMigration()"),t>1&&(t/=100),Math.random()1&&(u=Math.pow(u,.8)),e.gainIntelligenceExp(u)}getDiplomacyEffectiveness(e){return(100-(Math.pow(e.charisma,.045)+e.charisma/1e3))/100}getRecruitmentSuccessChance(e){return Math.pow(e.charisma,.45)/(this.teamSize+1)}getRecruitmentTime(e){const t=e.charisma*this.skillMultipliers.effCha,a=Math.pow(t,.81)+t/90;return Math.max(10,Math.round(E.a.BaseRecruitmentTimeNeeded-a))}resetSkillMultipliers(){this.skillMultipliers={successChanceAll:1,successChanceStealth:1,successChanceKill:1,successChanceContract:1,successChanceOperation:1,successChanceEstimate:1,actionTime:1,effHack:1,effStr:1,effDef:1,effDex:1,effAgi:1,effCha:1,effInt:1,stamina:1,money:1,expGain:1}}updateSkillMultipliers(){this.resetSkillMultipliers();for(const e in this.skills)if(this.skills.hasOwnProperty(e)){const t=p.a[e];if(null==t)throw new Error("Could not find Skill Object for: "+e);const a=this.skills[e];if(null==a||a<=0)continue;const n=Object.keys(this.skillMultipliers);for(let e=0;e=1){let n;n=e?Math.ceil(a/2):Math.floor(a);const r=Object(b.a)(0,n);this.teamSize-=r,this.teamLost+=r,this.logging.ops&&r>0&&this.log("Lost "+Object(h.c)(r,0)+" team members during this "+t.name)}const n=this.getCurrentCity();switch(t.name){case"Investigation":e?(n.improvePopulationEstimateByPercentage(.4*this.skillMultipliers.successChanceEstimate),Math.random()<.02*this.skillMultipliers.successChanceEstimate&&n.improveCommunityEstimate(1)):this.triggerPotentialMigration(this.city,.1);break;case"Undercover Operation":e?(n.improvePopulationEstimateByPercentage(.8*this.skillMultipliers.successChanceEstimate),Math.random()<.02*this.skillMultipliers.successChanceEstimate&&n.improveCommunityEstimate(1)):this.triggerPotentialMigration(this.city,.15);break;case"Sting Operation":e&&n.changePopulationByPercentage(-.1,{changeEstEqually:!0,nonZero:!0}),n.changeChaosByCount(.1);break;case"Raid":if(e)n.changePopulationByPercentage(-1,{changeEstEqually:!0,nonZero:!0}),--n.comms,--n.commsEst;else{const e=Object(b.a)(-10,-5)/10;n.changePopulationByPercentage(e,{nonZero:!0,changeEstEqually:!1})}n.changeChaosByPercentage(Object(b.a)(1,5));break;case"Stealth Retirement Operation":e&&n.changePopulationByPercentage(-.5,{changeEstEqually:!0,nonZero:!0}),n.changeChaosByPercentage(Object(b.a)(-3,-1));break;case"Assassination":e&&n.changePopulationByCount(-1,{estChange:-1,estOffset:0}),n.changeChaosByPercentage(Object(b.a)(-5,5));break;default:throw new Error("Invalid Action name in completeOperation: "+this.action.name)}}getActionObject(e){switch(e.type){case i.a.Contract:return this.contracts[e.name];case i.a.Operation:return this.operations[e.name];case i.a.BlackOp:case i.a.BlackOperation:return s.a[e.name];case i.a.Training:return m.a.Training;case i.a["Field Analysis"]:return m.a["Field Analysis"];case i.a.Recruitment:return m.a.Recruitment;case i.a.Diplomacy:return m.a.Diplomacy;case i.a["Hyperbolic Regeneration Chamber"]:return m.a["Hyperbolic Regeneration Chamber"];default:return null}}completeContract(e){if(this.action.type!==i.a.Contract)throw new Error("completeContract() called even though current action is not a Contract");const t=this.getCurrentCity();if(e)switch(this.action.name){case"Tracking":t.improvePopulationEstimateByCount(Object(b.a)(100,1e3));break;case"Bounty Hunter":t.changePopulationByCount(-1,{estChange:-1,estOffset:0}),t.changeChaosByCount(.02);break;case"Retirement":t.changePopulationByCount(-1,{estChange:-1,estOffset:0}),t.changeChaosByCount(.04);break;default:throw new Error("Invalid Action name in completeContract: "+this.action.name)}}completeAction(e,t){switch(this.action.type){case i.a.Contract:case i.a.Operation:try{const e=this.action.type===i.a.Operation,a=this.getActionObject(this.action);if(null==a)throw new Error("Failed to get Contract/Operation Object for: "+this.action.name);const n=a.getDifficulty(),r=Math.pow(n,E.a.DiffMultExponentialFactor)+n/E.a.DiffMultLinearFactor,o=Math.pow(a.rewardFac,a.level-1);if(this.stamina-=E.a.BaseStaminaLoss*r,this.stamina<0&&(this.stamina=0),a.attempt(this)){this.gainActionStats(t,a,!0),++a.successes,--a.count;let n=0;if(e||(n=E.a.ContractBaseMoneyGain*o*this.skillMultipliers.money,t.gainMoney(n),t.recordMoneySource(n,"bladeburner")),e?a.setMaxLevel(E.a.OperationSuccessesPerLevel):a.setMaxLevel(E.a.ContractSuccessesPerLevel),a.rankGain){const r=Object(k.a)(a.rankGain*o*v.a.BladeburnerRank,10);this.changeRank(t,r),e&&this.logging.ops?this.log(a.name+" successfully completed! Gained "+Object(h.c)(r,3)+" rank"):!e&&this.logging.contracts&&this.log(a.name+" contract successfully completed! Gained "+Object(h.c)(r,3)+" rank and "+_.a.formatMoney(n))}e?this.completeOperation(!0):this.completeContract(!0)}else{this.gainActionStats(t,a,!1),++a.failures;let n=0,i=0;if(a.rankLoss&&(n=Object(k.a)(a.rankLoss*o,10),this.changeRank(t,-1*n)),a.hpLoss){i=a.hpLoss*r,i=Math.ceil(Object(k.a)(i,10)),this.hpLost+=i;const e=Object(S.a)(t,i);t.takeDamage(i)&&(++this.numHosp,this.moneyLost+=e)}let s="";n>0&&(s+="Lost "+Object(h.c)(n,3)+" rank. "),i>0&&(s+="Took "+Object(h.c)(i,0)+" damage."),e&&this.logging.ops?this.log(a.name+" failed! "+s):!e&&this.logging.contracts&&this.log(a.name+" contract failed! "+s),e?this.completeOperation(!1):this.completeContract(!1)}a.autoLevel&&(a.level=a.maxLevel),this.startAction(t,this.action)}catch(e){Object(y.a)(e)}break;case i.a.BlackOp:case i.a.BlackOperation:try{const a=this.getActionObject(this.action);if(null==a||!(a instanceof l.a))throw new Error("Failed to get BlackOperation Object for: "+this.action.name);const n=a.getDifficulty(),r=Math.pow(n,E.a.DiffMultExponentialFactor)+n/E.a.DiffMultLinearFactor;this.stamina-=E.a.BaseStaminaLoss*r,this.stamina<0&&(this.stamina=0);const i=a.teamCount;let o;if(a.attempt(this)){this.gainActionStats(t,a,!0),a.count=0,this.blackops[a.name]=!0;let n=0;if(a.rankGain&&(n=Object(k.a)(a.rankGain*v.a.BladeburnerRank,10),this.changeRank(t,n)),o=Math.ceil(i/2),"Operation Daedalus"===a.name)return this.resetAction(),e.toBitVerse(!1,!1);this.logging.blackops&&this.log(a.name+" successful! Gained "+Object(h.c)(n,1)+" rank")}else{this.gainActionStats(t,a,!1);let e=0,n=0;if(a.rankLoss&&(e=Object(k.a)(a.rankLoss,10),this.changeRank(t,-1*e)),a.hpLoss){n=a.hpLoss*r,n=Math.ceil(Object(k.a)(n,10));const e=Object(S.a)(t,n);t.takeDamage(n)&&(++this.numHosp,this.moneyLost+=e)}o=Math.floor(i),this.logging.blackops&&this.log(a.name+" failed! Lost "+Object(h.c)(e,1)+" rank and took "+Object(h.c)(n,0)+" damage")}if(this.resetAction(),i>=1){const e=Object(b.a)(1,o);this.teamSize-=e,this.teamLost+=e,this.logging.blackops&&this.log("You lost "+Object(h.c)(e,0)+" team members during "+a.name)}}catch(e){Object(y.a)(e)}break;case i.a.Training:{this.stamina-=.5*E.a.BaseStaminaLoss;const e=30*t.strength_exp_mult,a=30*t.defense_exp_mult,n=30*t.dexterity_exp_mult,r=30*t.agility_exp_mult,i=.04*this.skillMultipliers.stamina;t.gainStrengthExp(e),t.gainDefenseExp(a),t.gainDexterityExp(n),t.gainAgilityExp(r),this.staminaBonus+=i,this.logging.general&&this.log("Training completed. Gained: "+Object(h.c)(e,1)+" str exp, "+Object(h.c)(a,1)+" def exp, "+Object(h.c)(n,1)+" dex exp, "+Object(h.c)(r,1)+" agi exp, "+Object(h.c)(i,3)+" max stamina"),this.startAction(t,this.action);break}case i.a.FieldAnalysis:case i.a["Field Analysis"]:{let e=.04*Math.pow(t.hacking_skill,.3)+.04*Math.pow(t.intelligence,.9)+.02*Math.pow(t.charisma,.3);if(e*=t.bladeburner_analysis_mult,isNaN(e)||e<0)throw new Error("Field Analysis Effectiveness calculated to be NaN or negative");const a=20*t.hacking_exp_mult,n=20*t.charisma_exp_mult;t.gainHackingExp(a),t.gainIntelligenceExp(E.a.BaseIntGain),t.gainCharismaExp(n),this.changeRank(t,.1*v.a.BladeburnerRank),this.getCurrentCity().improvePopulationEstimateByPercentage(e*this.skillMultipliers.successChanceEstimate),this.logging.general&&this.log("Field analysis completed. Gained 0.1 rank, "+Object(h.c)(a,1)+" hacking exp, and "+Object(h.c)(n,1)+" charisma exp"),this.startAction(t,this.action);break}case i.a.Recruitment:{const e=this.getRecruitmentSuccessChance(t);if(Math.random()=a){const e=Math.floor((this.maxRank-a)/E.a.RanksPerSkillPoint+1);this.skillPoints+=e,this.totalSkillPoints+=e}}processAction(e,t,a){if(this.action.type!==i.a.Idle){if(this.actionTimeToComplete<=0)throw new Error(`Invalid actionTimeToComplete value: ${this.actionTimeToComplete}, type; ${this.action.type}`);if(!(this.action instanceof r.a))throw new Error("Bladeburner.action is not an ActionIdentifier Object");return this.actionTimeCurrent+=a+this.actionTimeOverflow,this.actionTimeOverflow=0,this.actionTimeCurrent>=this.actionTimeToComplete?(this.actionTimeOverflow=this.actionTimeCurrent-this.actionTimeToComplete,this.completeAction(e,t)):void 0}}calculateStaminaGainPerSecond(e){const t=e.agility*this.skillMultipliers.effAgi,a=this.maxStamina/E.a.MaxStaminaToGainFactor;return(E.a.StaminaGainPerSecond+a)*Math.pow(t,.17)*(this.skillMultipliers.stamina*e.bladeburner_stamina_gain_mult)}calculateMaxStamina(e){const t=e.agility*this.skillMultipliers.effAgi,a=(Math.pow(t,.8)+this.staminaBonus)*this.skillMultipliers.stamina*e.bladeburner_max_stamina_mult;if(this.maxStamina!==a){const e=this.maxStamina;this.maxStamina=a,this.stamina=this.maxStamina*this.stamina/e}if(isNaN(a))throw new Error("Max Stamina calculated to be NaN in Bladeburner.calculateMaxStamina()")}create(){this.contracts.Tracking=new u.a({name:"Tracking",baseDifficulty:125,difficultyFac:1.02,rewardFac:1.041,rankGain:.3,hpLoss:.5,count:Object(b.a)(25,150),weights:{hack:0,str:.05,def:.05,dex:.35,agi:.35,cha:.1,int:.05},decays:{hack:0,str:.91,def:.91,dex:.91,agi:.91,cha:.9,int:1},isStealth:!0}),this.contracts["Bounty Hunter"]=new u.a({name:"Bounty Hunter",baseDifficulty:250,difficultyFac:1.04,rewardFac:1.085,rankGain:.9,hpLoss:1,count:Object(b.a)(5,150),weights:{hack:0,str:.15,def:.15,dex:.25,agi:.25,cha:.1,int:.1},decays:{hack:0,str:.91,def:.91,dex:.91,agi:.91,cha:.8,int:.9},isKill:!0}),this.contracts.Retirement=new u.a({name:"Retirement",baseDifficulty:200,difficultyFac:1.03,rewardFac:1.065,rankGain:.6,hpLoss:1,count:Object(b.a)(5,150),weights:{hack:0,str:.2,def:.2,dex:.2,agi:.2,cha:.1,int:.1},decays:{hack:0,str:.91,def:.91,dex:.91,agi:.91,cha:.8,int:.9},isKill:!0}),this.operations.Investigation=new c.a({name:"Investigation",baseDifficulty:400,difficultyFac:1.03,rewardFac:1.07,reqdRank:25,rankGain:2.2,rankLoss:.2,count:Object(b.a)(1,100),weights:{hack:.25,str:.05,def:.05,dex:.2,agi:.1,cha:.25,int:.1},decays:{hack:.85,str:.9,def:.9,dex:.9,agi:.9,cha:.7,int:.9},isStealth:!0}),this.operations["Undercover Operation"]=new c.a({name:"Undercover Operation",baseDifficulty:500,difficultyFac:1.04,rewardFac:1.09,reqdRank:100,rankGain:4.4,rankLoss:.4,hpLoss:2,count:Object(b.a)(1,100),weights:{hack:.2,str:.05,def:.05,dex:.2,agi:.2,cha:.2,int:.1},decays:{hack:.8,str:.9,def:.9,dex:.9,agi:.9,cha:.7,int:.9},isStealth:!0}),this.operations["Sting Operation"]=new c.a({name:"Sting Operation",baseDifficulty:650,difficultyFac:1.04,rewardFac:1.095,reqdRank:500,rankGain:5.5,rankLoss:.5,hpLoss:2.5,count:Object(b.a)(1,150),weights:{hack:.25,str:.05,def:.05,dex:.25,agi:.1,cha:.2,int:.1},decays:{hack:.8,str:.85,def:.85,dex:.85,agi:.85,cha:.7,int:.9},isStealth:!0}),this.operations.Raid=new c.a({name:"Raid",baseDifficulty:800,difficultyFac:1.045,rewardFac:1.1,reqdRank:3e3,rankGain:55,rankLoss:2.5,hpLoss:50,count:Object(b.a)(1,150),weights:{hack:.1,str:.2,def:.2,dex:.2,agi:.2,cha:0,int:.1},decays:{hack:.7,str:.8,def:.8,dex:.8,agi:.8,cha:0,int:.9},isKill:!0}),this.operations["Stealth Retirement Operation"]=new c.a({name:"Stealth Retirement Operation",baseDifficulty:1e3,difficultyFac:1.05,rewardFac:1.11,reqdRank:2e4,rankGain:22,rankLoss:2,hpLoss:10,count:Object(b.a)(1,150),weights:{hack:.1,str:.1,def:.1,dex:.3,agi:.3,cha:0,int:.1},decays:{hack:.7,str:.8,def:.8,dex:.8,agi:.8,cha:0,int:.9},isStealth:!0,isKill:!0}),this.operations.Assassination=new c.a({name:"Assassination",baseDifficulty:1500,difficultyFac:1.06,rewardFac:1.14,reqdRank:5e4,rankGain:44,rankLoss:4,hpLoss:5,count:Object(b.a)(1,150),weights:{hack:.1,str:.1,def:.1,dex:.3,agi:.3,cha:0,int:.1},decays:{hack:.6,str:.8,def:.8,dex:.8,agi:.8,cha:0,int:.8},isStealth:!0,isKill:!0})}process(e,t){if(!1===x.b&&this.blackops.hasOwnProperty("Operation Daedalus"))return e.toBitVerse(!1,!1);if(!1===T.a[R.a.BladesSimulacrum].owned&&t.isWorking){if(this.action.type!==i.a.Idle){let e="Your Bladeburner action was cancelled because you started doing something else.";this.automateEnabled&&(e+="
Your automation was disabled as well. You will have to re-enable it through the Bladeburner console",this.automateEnabled=!1),M.a.SuppressBladeburnerPopup||Object(O.a)(e)}this.resetAction()}if(this.stamina<=0&&(this.log("Your Bladeburner action was cancelled because your stamina hit 0"),this.resetAction()),this.storedCycles>=E.a.CyclesPerSecond){let a=Math.floor(this.storedCycles/E.a.CyclesPerSecond);a=Math.min(a,5),this.storedCycles-=a*E.a.CyclesPerSecond,this.calculateMaxStamina(t),this.stamina+=this.calculateStaminaGainPerSecond(t)*a,this.stamina=Math.min(this.maxStamina,this.stamina);for(const e of Object.values(this.contracts)){const t=o.a[e.name];if(void 0===t)throw new Error(`growth formula for action '${e.name}' is undefined`);e.count+=a*t()/E.a.ActionCountGrowthPeriod}for(const e of Object.values(this.operations)){const t=o.a[e.name];if(void 0===t)throw new Error(`growth formula for action '${e.name}' is undefined`);void 0!==t&&(e.count+=a*t()/E.a.ActionCountGrowthPeriod)}for(const e of E.a.CityNames){const t=this.cities[e];if(!(t instanceof f.a))throw new Error("Invalid City object when processing passive chaos reduction in Bladeburner.process");t.chaos-=1e-4*a,t.chaos=Math.max(0,t.chaos)}this.randomEventCounter-=a,this.randomEventCounter<=0&&(this.randomEvent(),this.randomEventCounter+=Object(b.a)(240,600)),this.processAction(e,t,a),this.automateEnabled&&(this.stamina<=this.automateThreshLow?this.action.name===this.automateActionLow.name&&this.action.type===this.automateActionLow.type||(this.action=new r.a({type:this.automateActionLow.type,name:this.automateActionLow.name}),this.startAction(t,this.action)):this.stamina>=this.automateThreshHigh&&(this.action.name===this.automateActionHigh.name&&this.action.type===this.automateActionHigh.type||(this.action=new r.a({type:this.automateActionHigh.type,name:this.automateActionHigh.name}),this.startAction(t,this.action))))}}getTypeAndNameFromActionId(e){const t={type:"",name:""},a=Object.keys(i.a);for(let n=0;nthis.rank)return n.log("bladeburner.startAction",`Insufficient rank to start Black Op '${o.name}'.`),!1;if(null!=this.blackops[o.name])return n.log("bladeburner.startAction",`Black Op ${o.name} has already been completed.`),!1;const t=[];for(const e in s.a)s.a.hasOwnProperty(e)&&t.push(e);t.sort((function(e,t){return s.a[e].reqdRank-s.a[t].reqdRank}));const r=t.indexOf(o.name);if(-1===r)return n.log("bladeburner.startAction",`Invalid Black Op: '${a}'`),!1;if(r>0&&null==this.blackops[t[r-1]])return n.log("bladeburner.startAction",`Preceding Black Op must be completed before starting '${o.name}'.`),!1}try{return this.startAction(e,o),n.log("bladeburner.startAction",`Starting bladeburner action with type '${t}' and name ${a}"`),!0}catch(e){return this.resetAction(),n.log("bladeburner.startAction",r),!1}}getActionTimeNetscriptFn(e,t,a,n){const r=`Invalid action: type='${t}' name='${a}'`,o=this.getActionIdFromTypeAndName(t,a);if(null==o)return n.log("bladeburner.getActionTime",r),-1;const s=this.getActionObject(o);if(null==s)return n.log("bladeburner.getActionTime",r),-1;switch(o.type){case i.a.Contract:case i.a.Operation:case i.a.BlackOp:case i.a.BlackOperation:return s.getActionTime(this);case i.a.Training:case i.a["Field Analysis"]:case i.a.FieldAnalysis:return 30;case i.a.Recruitment:return this.getRecruitmentTime(e);case i.a.Diplomacy:case i.a["Hyperbolic Regeneration Chamber"]:return 60;default:return n.log("bladeburner.getActionTime",r),-1}}getActionEstimatedSuccessChanceNetscriptFn(e,t,a,n){const r=`Invalid action: type='${t}' name='${a}'`,o=this.getActionIdFromTypeAndName(t,a);if(null==o)return n.log("bladeburner.getActionEstimatedSuccessChance",r),[-1,-1];const s=this.getActionObject(o);if(null==s)return n.log("bladeburner.getActionEstimatedSuccessChance",r),[-1,-1];switch(o.type){case i.a.Contract:case i.a.Operation:case i.a.BlackOp:case i.a.BlackOperation:return s.getEstSuccessChance(this);case i.a.Training:case i.a["Field Analysis"]:case i.a.FieldAnalysis:case i.a.Diplomacy:case i.a["Hyperbolic Regeneration Chamber"]:return[1,1];case i.a.Recruitment:{const t=this.getRecruitmentSuccessChance(e);return[t,t]}default:return n.log("bladeburner.getActionEstimatedSuccessChance",r),[-1,-1]}}getActionCountRemainingNetscriptFn(e,t,a){const n=`Invalid action: type='${e}' name='${t}'`,r=this.getActionIdFromTypeAndName(e,t);if(null==r)return a.log("bladeburner.getActionCountRemaining",n),-1;const o=this.getActionObject(r);if(null==o)return a.log("bladeburner.getActionCountRemaining",n),-1;switch(r.type){case i.a.Contract:case i.a.Operation:return Math.floor(o.count);case i.a.BlackOp:case i.a.BlackOperation:return null!=this.blackops[t]?0:1;case i.a.Training:case i.a.Recruitment:case i.a["Field Analysis"]:case i.a.FieldAnalysis:case i.a.Diplomacy:case i.a["Hyperbolic Regeneration Chamber"]:return 1/0;default:return a.log("bladeburner.getActionCountRemaining",n),-1}}getSkillLevelNetscriptFn(e,t){return""!==e&&p.a.hasOwnProperty(e)?null==this.skills[e]?0:this.skills[e]:(t.log("bladeburner.getSkillLevel",`Invalid skill: '${e}'`),-1)}getSkillUpgradeCostNetscriptFn(e,t){if(""===e||!p.a.hasOwnProperty(e))return t.log("bladeburner.getSkillUpgradeCost",`Invalid skill: '${e}'`),-1;const a=p.a[e];return null==this.skills[e]?a.calculateCost(0):a.calculateCost(this.skills[e])}upgradeSkillNetscriptFn(e,t){const a=`Invalid skill: '${e}'`;if(!p.a.hasOwnProperty(e))return t.log("bladeburner.upgradeSkill",a),!1;const n=p.a[e];let r=0;this.skills[e]&&!isNaN(this.skills[e])&&(r=this.skills[e]);const i=n.calculateCost(r);return n.maxLvl&&r>=n.maxLvl?(t.log("bladeburner.upgradeSkill",`Skill '${e}' is already maxed.`),!1):this.skillPoints=E.a.RankNeededForFaction?(Object(A.d)(t),e.log("bladeburner.joinBladeburnerFaction","Joined Bladeburners faction."),!0):(e.log("bladeburner.joinBladeburnerFaction",`You do not have the required rank (${this.rank}/${E.a.RankNeededForFaction}).`),!1))}toJSON(){return Object(n.b)("Bladeburner",this)}static fromJSON(e){return Object(n.a)(I,e.data)}}n.c.constructors.Bladeburner=I},function(e,t,a){"use strict";a.d(t,"a",(function(){return l}));var n=a(314),r=a(25),i=a(6),o=a(21);const s={name:"",info:"",companyPositions:{},expMultiplier:1,salaryMultiplier:1,jobStatReqOffset:0};class l{constructor(e=s){this.name=e.name,this.info=e.info,this.companyPositions=e.companyPositions,this.expMultiplier=e.expMultiplier,this.salaryMultiplier=e.salaryMultiplier,this.jobStatReqOffset=e.jobStatReqOffset,this.isPlayerEmployed=!1,this.playerReputation=1,this.favor=0,this.rolloverRep=0,this.isMegacorp=!1,e.isMegacorp&&(this.isMegacorp=!0)}hasPosition(e){return e instanceof n.a?null!=this.companyPositions[e.name]:null!=this.companyPositions[e]}hasAgentPositions(){return null!=this.companyPositions[r.a[0]]}hasBusinessConsultantPositions(){return null!=this.companyPositions[r.c[0]]}hasBusinessPositions(){return null!=this.companyPositions[r.b[0]]}hasEmployeePositions(){return null!=this.companyPositions[r.e[1]]}hasITPositions(){return null!=this.companyPositions[r.d[0]]}hasSecurityPositions(){return null!=this.companyPositions[r.h[2]]}hasSoftwareConsultantPositions(){return null!=this.companyPositions[r.k[0]]}hasSoftwarePositions(){return null!=this.companyPositions[r.j[0]]}hasWaiterPositions(){return null!=this.companyPositions[r.e[0]]}gainFavor(){null==this.favor&&(this.favor=0),null==this.rolloverRep&&(this.rolloverRep=0);const e=this.getFavorGain();2==e.length?(this.favor+=e[0],this.rolloverRep=e[1]):console.error("Invalid result from getFavorGain() function")}getFavorGain(){null==this.favor&&(this.favor=0),null==this.rolloverRep&&(this.rolloverRep=0);let e=0,t=this.playerReputation+this.rolloverRep,a=i.a.CompanyReputationToFavorBase*Math.pow(i.a.CompanyReputationToFavorMult,this.favor);for(;t>0&&t>=a;)++e,t-=a,a*=i.a.FactionReputationToFavorMult;return[e,t]}toJSON(){return Object(o.b)("Company",this)}static fromJSON(e){return Object(o.a)(l,e.data)}}o.c.constructors.Company=l},function(e,t,a){"use strict";a.d(t,"a",(function(){return c})),a.d(t,"b",(function(){return u})),a.d(t,"c",(function(){return m})),a.d(t,"e",(function(){return h})),a.d(t,"d",(function(){return p}));var n=a(36),r=a(44),i=a(8),o=a(6),s=a(15),l=a(803);function c(e){const t=Math.round(e);return isNaN(t)||!Object(l.a)(t)||t>m()?1/0:t*o.a.BaseCostFor1GBOfRamServer*i.a.PurchasedServerCost}function u(){return Math.round(o.a.PurchasedServerLimit*i.a.PurchasedServerLimit)}function m(){const e=Math.round(o.a.PurchasedServerMaxRam*i.a.PurchasedServerMaxRam);return 1<<31-Math.clz32(e)}function h(e,t,a,i){if(!i.canAfford(a))return void Object(s.a)("You don't have enough money to purchase this server!");if(i.purchasedServers.length>=u())return void Object(s.a)("You have reached the maximum limit of "+u()+" servers. You cannot purchase any more. You can delete some of your purchased servers using the deleteServer() Netscript function in a script");if(""==e)return void Object(s.a)("You must enter a hostname for your new server!");const o=Object(r.h)({adminRights:!0,hostname:e,ip:Object(n.c)(),isConnectedTo:!1,maxRam:t,organizationName:"",purchasedByPlayer:!0});Object(n.a)(o),i.purchasedServers.push(o.ip);const l=i.getHomeComputer();l.serversOnNetwork.push(o.ip),o.serversOnNetwork.push(l.ip),i.loseMoney(a),Object(s.a)("Server successfully purchased with hostname "+e)}function p(e){const t=e.getUpgradeHomeRamCost();if(!e.canAfford(t))return void Object(s.a)("You do not have enough money to purchase additional RAM for your home computer");const a=e.getHomeComputer();a.maxRam>=o.a.HomeComputerMaxRam?Object(s.a)("You cannot upgrade your home computer RAM because it is at its maximum possible value"):(a.maxRam*=2,e.loseMoney(t))}},,,function(e,t,a){"use strict";a.d(t,"a",(function(){return l}));var n=a(168),r=a(157),i=a(21),o=a(228);function s(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}class l{constructor(e={}){var t;s(this,"level",1),s(this,"sizeUsed",0),s(this,"smartSupplyEnabled",!1),s(this,"smartSupplyUseLeftovers",{}),s(this,"smartSupplyStore",0),this.loc=e.loc?e.loc:"",this.size=e.size?e.size:0,this.materials={Water:new n.a({name:"Water"}),Energy:new n.a({name:"Energy"}),Food:new n.a({name:"Food"}),Plants:new n.a({name:"Plants"}),Metal:new n.a({name:"Metal"}),Hardware:new n.a({name:"Hardware"}),Chemicals:new n.a({name:"Chemicals"}),Drugs:new n.a({name:"Drugs"}),Robots:new n.a({name:"Robots"}),AICores:new n.a({name:"AI Cores"}),RealEstate:new n.a({name:"Real Estate"})},this.smartSupplyUseLeftovers={Water:!0,Energy:!0,Food:!0,Plants:!0,Metal:!0,Hardware:!0,Chemicals:!0,Drugs:!0,Robots:!0,AICores:!0,RealEstate:!0},e.corp&&e.industry&&this.updateSize(e.corp,e.industry),null!==(t=e.corp)&&void 0!==t&&t.unlockUpgrades[1]&&(this.smartSupplyEnabled=!0)}updateMaterialSizeUsed(){this.sizeUsed=0;for(const e in this.materials){const t=this.materials[e];r.a.hasOwnProperty(e)&&(this.sizeUsed+=t.qty*r.a[e])}this.sizeUsed>this.size&&console.warn("Warehouse size used greater than capacity, something went wrong")}updateSize(e,t){try{this.size=100*this.level*e.getStorageMultiplier()*t.getStorageMultiplier()}catch(e){Object(o.a)(e)}}toJSON(){return Object(i.b)("Warehouse",this)}static fromJSON(e){return Object(i.a)(l,e.data)}}i.c.constructors.Warehouse=l},function(e,t,a){"use strict";a.d(t,"a",(function(){return i}));var n=a(800),r=a(501);const i={};n.a.forEach(e=>{i[e.name]=new r.a(e.name,e.desc,e.isHacking,e.isCombat,e.params)})},function(e,t,a){"use strict";a.d(t,"c",(function(){return i})),a.d(t,"d",(function(){return o})),a.d(t,"e",(function(){return s})),a.d(t,"b",(function(){return l})),a.d(t,"a",(function(){return c})),a.d(t,"f",(function(){return u}));var n=a(8),r=a(37);function i(e,t,a,i,o){return r.b.HashesPerLevel*e*Math.pow(1.07,Math.log2(a))*(1+(i-1)/5)*(1-t/a)*o*n.a.HacknetNodeMoney}function o(e,t=1,a=1){const n=Math.round(t);if(isNaN(n)||n<1)return 0;if(e>=r.b.MaxLevel)return 1/0;const i=r.b.UpgradeLevelMult;let o=0,s=e;for(let e=0;e=r.b.MaxRam)return 1/0;let i=0,o=Math.round(Math.log2(e)),s=e;for(let e=0;e=r.b.MaxCores)return 1/0;const i=r.b.UpgradeCoreMult;let o=0,s=e;for(let e=0;e=r.b.MaxCache)return 1/0;const n=r.b.UpgradeCacheMult;let i=0,o=e;for(let e=0;e=r.b.MaxServers?1/0:r.b.BaseCost*Math.pow(r.b.PurchaseMult,e-1)*t}},function(e,t,a){"use strict";a.d(t,"a",(function(){return m})),a.d(t,"c",(function(){return h})),a.d(t,"d",(function(){return p})),a.d(t,"b",(function(){return d}));var n=a(185),r=a(68),i=a(6),o=a(2),s=a(4),l=a(18),c=a(15),u=a(0);function m(e,t,a=null,m={}){if((t=Math.round(t))<=0)return!1;if(null==e||isNaN(t))return a?a.log("buyStock",`Invalid arguments: stock='${e}' shares='${t}'`):!0!==m.suppressDialog&&Object(c.a)("Failed to buy stock. This may be a bug, contact developer"),!1;const h=Object(n.b)(e,t,r.a.Long);if(null==h)return!1;if(o.a.money.lt(h))return a?a.log("buyStock",`You do not have enough money to purchase this position. You need ${s.a.formatMoney(h)}.`):!0!==m.suppressDialog&&Object(c.a)(u.createElement(u.Fragment,null,"You do not have enough money to purchase this. You need ",u.createElement(l.a,{money:h}))),!1;if(t+e.playerShares+e.playerShortShares>e.maxShares)return a?a.log("buyStock",`Purchasing '${t+e.playerShares+e.playerShortShares}' shares would exceed ${e.symbol}'s maximum (${e.maxShares}) number of shares`):!0!==m.suppressDialog&&Object(c.a)(`You cannot purchase this many shares. ${e.symbol} has a maximum of ${s.a.formatShares(e.maxShares)} shares.`),!1;const p=e.playerShares*e.playerAvgPx;o.a.loseMoney(h);const d=p+h-i.a.StockMarketCommission;if(e.playerShares=Math.round(e.playerShares+t),e.playerAvgPx=d/e.playerShares,Object(n.d)(e,t),null!=m.rerenderFn&&"function"==typeof m.rerenderFn&&m.rerenderFn(),a){const n=`Bought ${s.a.formatShares(t)} shares of ${e.symbol} for ${s.a.formatMoney(h)}. Paid ${s.a.formatMoney(i.a.StockMarketCommission)} in commission fees.`;a.log("buyStock",n)}else!0!==m.suppressDialog&&Object(c.a)(u.createElement(u.Fragment,null,"Bought ",s.a.formatShares(t)," shares of ",e.symbol," for ",u.createElement(l.a,{money:h}),". Paid"," ",u.createElement(l.a,{money:i.a.StockMarketCommission})," in commission fees."));return!0}function h(e,t,a=null,i={}){if(null==e||t<0||isNaN(t))return a?a.log("sellStock",`Invalid arguments: stock='${e}' shares='${t}'`):!0!==i.suppressDialog&&Object(c.a)("Failed to sell stock. This is probably due to an invalid quantity. Otherwise, this may be a bug, contact developer"),!1;if((t=Math.round(t))>e.playerShares&&(t=e.playerShares),0===t)return!1;const m=Object(n.c)(e,t,r.a.Long);if(null==m)return!1;let h=m-e.playerAvgPx*t;if(isNaN(h)&&(h=0),o.a.gainMoney(m),o.a.recordMoneySource(h,"stock"),a&&(a.scriptRef.onlineMoneyMade+=h,o.a.scriptProdSinceLastAug+=h),e.playerShares=Math.round(e.playerShares-t),0===e.playerShares&&(e.playerAvgPx=0),Object(n.d)(e,t),null!=i.rerenderFn&&"function"==typeof i.rerenderFn&&i.rerenderFn(),a){const n=`Sold ${s.a.formatShares(t)} shares of ${e.symbol}. After commissions, you gained a total of ${s.a.formatMoney(m)}.`;a.log("sellStock",n)}else!0!==i.suppressDialog&&Object(c.a)(u.createElement(u.Fragment,null,"Sold ",s.a.formatShares(t)," shares of ",e.symbol,". After commissions, you gained a total of"," ",u.createElement(l.a,{money:m}),"."));return!0}function p(e,t,a=null,m={}){if((t=Math.round(t))<=0)return!1;if(null==e||isNaN(t))return a?a.log("shortStock",`Invalid arguments: stock='${e}' shares='${t}'`):!0!==m.suppressDialog&&Object(c.a)("Failed to initiate a short position in a stock. This is probably due to an invalid quantity. Otherwise, this may be a bug, so contact developer"),!1;const h=Object(n.b)(e,t,r.a.Short);if(null==h)return!1;if(o.a.money.lt(h))return a?a.log("shortStock","You do not have enough money to purchase this short position. You need "+s.a.formatMoney(h)):!0!==m.suppressDialog&&Object(c.a)(u.createElement(u.Fragment,null,"You do not have enough money to purchase this short position. You need ",u.createElement(l.a,{money:h}))),!1;if(t+e.playerShares+e.playerShortShares>e.maxShares)return a?a.log("shortStock",`This '${t+e.playerShares+e.playerShortShares}' short shares would exceed ${e.symbol}'s maximum (${e.maxShares}) number of shares.`):!0!==m.suppressDialog&&Object(c.a)(`You cannot purchase this many shares. ${e.symbol} has a maximum of ${e.maxShares} shares.`),!1;const p=e.playerShortShares*e.playerAvgShortPx;o.a.loseMoney(h);const d=p+h-i.a.StockMarketCommission;if(e.playerShortShares=Math.round(e.playerShortShares+t),e.playerAvgShortPx=d/e.playerShortShares,Object(n.d)(e,t),null!=m.rerenderFn&&"function"==typeof m.rerenderFn&&m.rerenderFn(),a){const n=`Bought a short position of ${s.a.formatShares(t)} shares of ${e.symbol} for ${s.a.formatMoney(h)}. Paid ${s.a.formatMoney(i.a.StockMarketCommission)} in commission fees.`;a.log("shortStock",n)}else m.suppressDialog||Object(c.a)(u.createElement(u.Fragment,null,"Bought a short position of ",s.a.formatShares(t)," shares of ",e.symbol," for"," ",u.createElement(l.a,{money:h}),". Paid ",u.createElement(l.a,{money:i.a.StockMarketCommission})," in commission fees."));return!0}function d(e,t,a=null,i={}){if(null==e||isNaN(t)||t<0)return a?a.log("sellShort",`Invalid arguments: stock='${e}' shares='${t}'`):i.suppressDialog||Object(c.a)("Failed to sell a short position in a stock. This is probably due to an invalid quantity. Otherwise, this may be a bug, so contact developer"),!1;if((t=Math.round(t))>e.playerShortShares&&(t=e.playerShortShares),0===t)return!1;const m=t*e.playerAvgShortPx,h=Object(n.c)(e,t,r.a.Short);if(null==h||isNaN(h)||null==m)return a?a.log("sellShort","Failed to sell short position in a stock. This is probably either due to invalid arguments, or a bug"):i.suppressDialog||Object(c.a)("Failed to sell short position in a stock. This is probably either due to invalid arguments, or a bug"),!1;let p=h-m;if(isNaN(p)&&(p=0),o.a.gainMoney(h),o.a.recordMoneySource(p,"stock"),a&&(a.scriptRef.onlineMoneyMade+=p,o.a.scriptProdSinceLastAug+=p),e.playerShortShares=Math.round(e.playerShortShares-t),0===e.playerShortShares&&(e.playerAvgShortPx=0),Object(n.d)(e,t),null!=i.rerenderFn&&"function"==typeof i.rerenderFn&&i.rerenderFn(),a){const n=`Sold your short position of ${s.a.formatShares(t)} shares of ${e.symbol}. After commissions, you gained a total of `+s.a.formatMoney(h);a.log("sellShort",n)}else i.suppressDialog||Object(c.a)(u.createElement(u.Fragment,null,"Sold your short position of ",s.a.formatShares(t)," shares of ",e.symbol,". After commissions, you gained a total of ",u.createElement(l.a,{money:h})));return!0}},function(e,t,a){"use strict";a.d(t,"a",(function(){return i}));var n=a(8);function r(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}class i{constructor(e={name:"foo",desc:"foo"}){if(r(this,"baseCost",1),r(this,"costInc",1),r(this,"maxLvl",0),r(this,"successChanceAll",0),r(this,"successChanceStealth",0),r(this,"successChanceKill",0),r(this,"successChanceContract",0),r(this,"successChanceOperation",0),r(this,"successChanceEstimate",0),r(this,"actionTime",0),r(this,"effHack",0),r(this,"effStr",0),r(this,"effDef",0),r(this,"effDex",0),r(this,"effAgi",0),r(this,"effCha",0),r(this,"stamina",0),r(this,"money",0),r(this,"expGain",0),!e.name)throw new Error("Failed to initialize Bladeburner Skill. No name was specified in ctor");if(!e.desc)throw new Error("Failed to initialize Bladeburner Skills. No desc was specified in ctor");this.name=e.name,this.desc=e.desc,this.baseCost=e.baseCost?e.baseCost:1,this.costInc=e.costInc?e.costInc:1,e.maxLvl&&(this.maxLvl=e.maxLvl),e.successChanceAll&&(this.successChanceAll=e.successChanceAll),e.successChanceStealth&&(this.successChanceStealth=e.successChanceStealth),e.successChanceKill&&(this.successChanceKill=e.successChanceKill),e.successChanceContract&&(this.successChanceContract=e.successChanceContract),e.successChanceOperation&&(this.successChanceOperation=e.successChanceOperation),e.successChanceEstimate&&(this.successChanceEstimate=e.successChanceEstimate),e.actionTime&&(this.actionTime=e.actionTime),e.effHack&&(this.effHack=e.effHack),e.effStr&&(this.effStr=e.effStr),e.effDef&&(this.effDef=e.effDef),e.effDex&&(this.effDex=e.effDex),e.effAgi&&(this.effAgi=e.effAgi),e.effCha&&(this.effCha=e.effCha),e.stamina&&(this.stamina=e.stamina),e.money&&(this.money=e.money),e.expGain&&(this.expGain=e.expGain)}calculateCost(e){return Math.floor((this.baseCost+e*this.costInc)*n.a.BladeburnerSkillCost)}getMultiplier(e){return"successChanceAll"===e?this.successChanceAll:"successChanceStealth"===e?this.successChanceStealth:"successChanceKill"===e?this.successChanceKill:"successChanceContract"===e?this.successChanceContract:"successChanceOperation"===e?this.successChanceOperation:"successChanceEstimate"===e?this.successChanceEstimate:"actionTime"===e?this.actionTime:"effHack"===e?this.effHack:"effStr"===e?this.effStr:"effDef"===e?this.effDef:"effDex"===e?this.effDex:"effAgi"===e?this.effAgi:"effCha"===e?this.effCha:"stamina"===e?this.stamina:"money"===e?this.money:"expGain"===e?this.expGain:0}}},,,function(e,t,a){"use strict";a.d(t,"a",(function(){return n}));const n=window.setTimeout.bind(window)},function(e,t,a){"use strict";a.d(t,"a",(function(){return l}));var n=a(0),r=a(4),i=a(132),o=a(161);const s=Object(i.a)(e=>Object(o.a)({money:{color:e.colors.money}}));function l({hashes:e}){const t=s();return n.createElement("span",{className:t.money},"number"==typeof e?r.a.formatHashes(e):e)}},,function(e,t,a){"use strict";a.d(t,"c",(function(){return o})),a.d(t,"b",(function(){return s})),a.d(t,"a",(function(){return l}));var n=a(6),r=a(8);function i(e){let t=1+e.favor/100;return isNaN(t)&&(t=1),t*r.a.FactionWorkRepGain}function o(e,t){return(e.hacking_skill+e.intelligence/3)/n.a.MaxSkillLevel*e.faction_rep_mult*e.getIntelligenceBonus(1)*i(t)}function s(e,t){return.9*(e.hacking_skill/n.a.MaxSkillLevel+e.strength/n.a.MaxSkillLevel+e.defense/n.a.MaxSkillLevel+e.dexterity/n.a.MaxSkillLevel+e.agility/n.a.MaxSkillLevel+e.intelligence/n.a.MaxSkillLevel)/4.5*e.faction_rep_mult*i(t)*e.getIntelligenceBonus(1)}function l(e,t){return.9*(e.hacking_skill/n.a.MaxSkillLevel+e.strength/n.a.MaxSkillLevel+e.defense/n.a.MaxSkillLevel+e.dexterity/n.a.MaxSkillLevel+e.agility/n.a.MaxSkillLevel+e.charisma/n.a.MaxSkillLevel+e.intelligence/n.a.MaxSkillLevel)/5.5*e.faction_rep_mult*i(t)*e.getIntelligenceBonus(1)}},function(e,t,a){"use strict";a.d(t,"a",(function(){return i}));var n=a(208),r=a(124);const i={};i[r.a.BladesIntuition]=new n.a({name:r.a.BladesIntuition,desc:"Each level of this skill increases your success chance for all Contracts, Operations, and BlackOps by 3%",baseCost:3,costInc:2.1,successChanceAll:3}),i[r.a.Cloak]=new n.a({name:r.a.Cloak,desc:"Each level of this skill increases your success chance in stealth-related Contracts, Operations, and BlackOps by 5.5%",baseCost:2,costInc:1.1,successChanceStealth:5.5}),i[r.a.ShortCircuit]=new n.a({name:r.a.ShortCircuit,desc:"Each level of this skill increases your success chance in Contracts, Operations, and BlackOps that involve retirement by 5.5%",baseCost:2,costInc:2.1,successChanceKill:5.5}),i[r.a.DigitalObserver]=new n.a({name:r.a.DigitalObserver,desc:"Each level of this skill increases your success chance in all Operations and BlackOps by 4%",baseCost:2,costInc:2.1,successChanceOperation:4}),i[r.a.Tracer]=new n.a({name:r.a.Tracer,desc:"Each level of this skill increases your success chance in all Contracts by 4%",baseCost:2,costInc:2.1,successChanceContract:4}),i[r.a.Overclock]=new n.a({name:r.a.Overclock,desc:"Each level of this skill decreases the time it takes to attempt a Contract, Operation, and BlackOp by 1% (Max Level: 90)",baseCost:3,costInc:1.4,maxLvl:90,actionTime:1}),i[r.a.Reaper]=new n.a({name:r.a.Reaper,desc:"Each level of this skill increases your effective combat stats for Bladeburner actions by 2%",baseCost:2,costInc:2.1,effStr:2,effDef:2,effDex:2,effAgi:2}),i[r.a.EvasiveSystem]=new n.a({name:r.a.EvasiveSystem,desc:"Each level of this skill increases your effective dexterity and agility for Bladeburner actions by 4%",baseCost:2,costInc:2.1,effDex:4,effAgi:4}),i[r.a.Datamancer]=new n.a({name:r.a.Datamancer,desc:"Each level of this skill increases your effectiveness in synthoid population analysis and investigation by 5%. This affects all actions that can potentially increase the accuracy of your synthoid population/community estimates.",baseCost:3,costInc:1,successChanceEstimate:5}),i[r.a.CybersEdge]=new n.a({name:r.a.CybersEdge,desc:"Each level of this skill increases your max stamina by 2%",baseCost:1,costInc:3,stamina:2}),i[r.a.HandsOfMidas]=new n.a({name:r.a.HandsOfMidas,desc:"Each level of this skill increases the amount of money you receive from Contracts by 10%",baseCost:2,costInc:2.5,money:10}),i[r.a.Hyperdrive]=new n.a({name:r.a.Hyperdrive,desc:"Each level of this skill increases the experience earned from Contracts, Operations, and BlackOps by 10%",baseCost:1,costInc:2.5,expGain:10})},function(e,t,a){"use strict";let n;a.d(t,"b",(function(){return n})),a.d(t,"a",(function(){return r})),function(e){e.Clubs="clubs",e.Diamonds="diamonds",e.Hearts="hearts",e.Spades="spades"}(n||(n={}));class r{constructor(e,t){if(this.value=e,this.suit=t,e<1||e>13)throw new Error("Card instantiated with improper value: "+e)}formatValue(){switch(this.value){case 1:return"A";case 11:return"J";case 12:return"Q";case 13:return"K";default:return""+this.value}}isRedSuit(){return this.suit===n.Hearts||this.suit===n.Diamonds}getStringRepresentation(){return`${this.formatValue()} of ${this.suit}`}}},function(e,t,a){"use strict";a.d(t,"a",(function(){return i}));var n=a(21);function r(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}class i{constructor(e={}){r(this,"name",""),r(this,"type",-1),e.name&&(this.name=e.name),e.type&&(this.type=e.type)}toJSON(){return Object(n.b)("ActionIdentifier",this)}static fromJSON(e){return Object(n.a)(i,e.data)}}n.c.constructors.ActionIdentifier=i},,,,function(e,t,a){"use strict";a.d(t,"a",(function(){return l}));var n=a(370),r=a(128),i=a(624),o=a(23),s=a(807);const l={};function c(e){if(!e.name)throw new Error("Invalid constructor parameters for Location. No 'name' property");return l[e.name]instanceof i.a&&console.warn(`Property with name ${e.name} already exists and is being overwritten`),l[e.name]=new i.a(e),l[e.name]}r.a[o.a.Aevum]=new n.a(o.a.Aevum),r.a[o.a.Chongqing]=new n.a(o.a.Chongqing),r.a[o.a.Ishima]=new n.a(o.a.Ishima),r.a[o.a.NewTokyo]=new n.a(o.a.NewTokyo),r.a[o.a.Sector12]=new n.a(o.a.Sector12),r.a[o.a.Volhaven]=new n.a(o.a.Volhaven),r.a[o.a.Aevum].asciiArt="\n [aevum police headquarters] 26 \n o \n I \\ [bachman & associates] \n \\ 56 B \n x \\ [summit university] \n \\ \\ 28 \n \\ [snap fitness gym] x o--L-----------N \n K \\ / \n \\ \\ Q [casino] \n x 58 \\ / [travel agency] \n \\ 94 95 o \n 90 x 59 o------o | \n \\ / \\ | 98 102 103 \n o--------O------x----o 93 96 o-----+------------o o----o \n \\ | \\ / \n [hospital] \\ 61 [ecorp] x 31 99 o-F-o 101 \n o | \n | o---E-- | [fulcrum tech.] \n x 62 / A [aerocorp] \n [crush fitness gym] | / | \n | / | \n o--------D------+--o o \n | |\\ [rho construction] \n H [netlink tech.] | J \n | | \\ \n | 34 x \\ \n [clarke inc.] C | \\ [world stock exchange] \n | | \\ \n | | o-M-------R--------o \n[galactic cybersystems] G 35 x \n | [watchdog security] \n | \n 67 o \n \n [the slums] P ",r.a[o.a.Chongqing].asciiArt="\n | \n 75 o \n \\ \n o 76 \n 7 | | \n | + 77 \n [world stock exchange] F | \n \\ o 78 [kuaigong international] \n \\ / \n 38 o----x--x------x------A--------- \n / 39 | 41 \n 37 o + 79 o--x--x-C-0 \n / | / \n / x-----+-----x-----0 [hospital] \n[solaris space system] B | \n | + 80 \n | | \n 34 o E [travel agency] \n | \n | \n x 82 \n [the slums] D ",r.a[o.a.Ishima].asciiArt="\n o 59 \n o o | \n [storm tech.] | | G [world stock exchange] \n | | 28 | \n 23 o--C------o--------+----x----o | \n / / 25 | 27 \\ x 57 \n / / | \\ | \n / / | \\ | \n o 22 o | \\| 29/56 \n | | o \n | [hospital] D / \\ 3 2 1 \n o | / \\ o-------x------o \n / o / \\ / \n 48 o / 55 x \\ / \n \\ / / x \n \\ / [nova medical] / 4/30 \\ \n 49 x A \\ \n / \\ / \\ \n / \\ [travel agency] F o 31 \n / \\ 51 / \n / o----B------x-----o \n o 50 52 \n [omega soft.] \n [the slums] E ",r.a[o.a.NewTokyo].asciiArt="\n \n \n o \n \\ \n \\ [defcomm] \n \\ \n o--x---A--x--o [travel agency] \n 7 8 10 G \n [vitalife] o 12 [global pharmaceuticals] \n | \n o--D-x----x-------x-C-+--------x--x-B-x---x-o \n 21 22 23 \\ 24 25 26 27 \n \\ \n [noodle bar] x 14 \n \\ \n \\ \n [hospital] o 15 [world stock exchange] \n | \n o--x--E--x-----x-----x---+---x----x--H--x-o \n | \n | \n o 17 \n \n \n \n F [the slums] \n ",r.a[o.a.Sector12].asciiArt="\n 78 o 97 \n o [icarus microsystems] / \n N [powerhouse gym] o I \n 1 | | / \n o-----+---x----o 4 A [alpha ent.] o-------o / \n | 3 \\ | \\ / \n | \\ | [iron gym] x 95 \n (79) x \\ | / \\ \n | o-E----+----x----J--o 10 / o----T--o \n | | 8 \\ 94 x \n 80 x [city hall] | x 11 / [world stock exchange]\n | | \\ / \n | C [cia] \\ / \n Q [hospital] | F P [universal energy] \n | o [deltaone] \\ / \n | 35 o---------x 13/92/36 \n L [megacorp] 33 / / \\ \n | o------------o 34 / \\ \n (29) | / [carmichael sec.] D \\ \n o-----+-----x------o / O [rothman university] \n | 31 32 [nsa] M \n | / \n B [blade industries] H \n | / [four sigma] \n | [joe's guns] / \n | / \n 85 o--G--------K--------S-------o 88 [the slums] R \n \n [foodnstuff] [travel agency] ",r.a[o.a.Volhaven].asciiArt="\n [omnia cybersystems] \n 17 66 68 \n o o------G-------o \n \\ / \\ \n \\ o 65 o 69 \n [syscore sec.] H | | \n \\ | | [millenium fitness gym] \n \\ | 21 22 23 24 | 26 \n o----+--x--x----x---x---+-----x-------D-----o \n 19 | | 28 \n | F [omnitek inc.] \n [hospital] J 63 o \n | / 72 \n 3 | 5 6 / 9 \n o--------+----x-----x----+----------M-------o \n / | | \n / 61 x [helios labs] B [world stock exchange] \n [travel agency] L | | \n / | o \n / E [nwo] / 75 \n / [computek] | / \n / A-------o------I-----o \n 1 o | | \n | [zb] o 77 \n [lexocorp] C \n | \n o \n 57 \n \n \n [the slums] K ";for(const e of s.a){const t=c(e),a=t.city;if(null===a)for(const e in r.a)r.a[e].addLocation(t.name);else r.a[a].addLocation(t.name)}},function(e,t,a){"use strict";function n(e,t){return Math.random()*(t-e)+e}function r(e){switch(e.keyCode){case 38:case 87:return"↑";case 65:case 37:return"←";case 40:case 83:return"↓";case 39:case 68:return"→"}return""}a.d(t,"b",(function(){return n})),a.d(t,"a",(function(){return r}))},,function(e,t,a){"use strict";a.d(t,"b",(function(){return m})),a.d(t,"c",(function(){return h})),a.d(t,"a",(function(){return p}));var n=a(0),r=a.n(n),i=a(2),o=a(311),s=a(516),l=a(63),c=a(317),u=a(15);let m=!1;function h(e){m=e}function p(e,t,a,n){t?0===l.a[5]&&5!==n&&(i.a.intelligence=0,i.a.intelligence_exp=0):function(e){const t="SourceFile"+e.toString(),a=c.a[t];if(null==a)return void console.error("Could not find source file for Bit node: "+e);let n=!1,o=null;for(let t=0;t=3&&12!==o.n?Object(u.a)("The Source-File for the BitNode you just destroyed, "+a.name+", is already at max level!"):(++o.lvl,Object(u.a)(a.name+" was upgraded to level "+o.lvl+" for destroying its corresponding BitNode!"));else{const t=new s.a(e,1);i.a.sourceFiles.push(t),5===e&&0===i.a.intelligence&&(i.a.intelligence=1),Object(u.a)(r.a.createElement(r.a.Fragment,null,"You received a Source-File for destroying a BitNode!",r.a.createElement("br",null),r.a.createElement("br",null),a.name,r.a.createElement("br",null),r.a.createElement("br",null),a.info))}}(a),5===n&&0===i.a.intelligence&&(i.a.intelligence=1),m=!1,i.a.bitNodeN=n,6===n?e.toBladeburnerCinematic():e.toTerminal(),Object(o.b)(t)}},function(e,t,a){"use strict";a.d(t,"c",(function(){return u})),a.d(t,"a",(function(){return m})),a.d(t,"b",(function(){return h}));var n=a(6),r=a(2),i=a(36),o=a(57),s=a(44),l=a(4),c=a(277);function u(e){const t=((new Date).getTime()-r.a.lastUpdate)/1e3;let a=e.onlineRunningTime/14400;a>=1&&(a=1);for(const a in e.dataMap)if(e.dataMap.hasOwnProperty(a)){if(0==e.dataMap[a][2]||null==e.dataMap[a][2])continue;const n=i.b[a];if(null==n)continue;const c=Math.round(.5*e.dataMap[a][2]/e.onlineRunningTime*t);e.log(`Called on ${n.hostname} ${c} times while offline`);const u=i.b[e.server];if(!(n instanceof o.a))throw new Error("trying to grow a non-normal server");const m=Object(s.g)(n,c,r.a,u.cpuCores);e.log(`'${n.hostname}' grown by ${l.a.format(100*m-100,"0.000000%")} while offline`)}const c=a*(e.onlineExpGained/e.onlineRunningTime)*t;r.a.gainHackingExp(c),e.offlineRunningTime+=t,e.offlineExpGained+=c;for(const a in e.dataMap)if(e.dataMap.hasOwnProperty(a)){if(0==e.dataMap[a][3]||null==e.dataMap[a][3])continue;const r=i.b[a];if(null==r)continue;if(!(r instanceof o.a))throw new Error("trying to weaken a non-normal server");const s=i.b[e.server],l=Math.round(.5*e.dataMap[a][3]/e.onlineRunningTime*t);e.log(`Called weaken() on ${r.hostname} ${l} times while offline`);const c=1+(s.cpuCores-1)/16;r.weaken(n.a.ServerWeakenAmount*l*c)}}function m(e,t,a){for(let n=0;n{document.body.removeChild(e),window.URL.revokeObjectURL(a)},0)}}read(){return this.text}show(){Object(r.a)(`${this.fn}
${this.text}`)}toJSON(){return Object(i.b)("TextFile",this)}write(e){this.text=e}static fromJSON(e){return Object(i.a)(o,e.data)}}function s(e,t){const a=e.endsWith(".txt")?e:e+".txt";for(const e of t.textFiles)if(e.fn===a)return e;return null}function l(e,t,a){if(null!==s(e,a))return void console.error(`A file named "${e}" already exists on server ${a.hostname}.`);const n=new o(e,t);return a.textFiles.push(n),n}i.c.constructors.TextFile=o},function(e,t,a){"use strict";a.d(t,"a",(function(){return r}));var n=a(15);function r(e){console.error(e),Object(n.a)("Caught an exception: "+e+"
Filename: "+(e.fileName||"UNKNOWN FILE NAME")+"
Line Number: "+(e.lineNumber||"UNKNOWN LINE NUMBER")+"
This is a bug, please report to game developer with this message as well as details about how to reproduce the bug.
If you want to be safe, I suggest refreshing the game WITHOUT saving so that your safe doesn't get corrupted")}},function(e,t,a){"use strict";a.d(t,"a",(function(){return y})),a.d(t,"b",(function(){return f})),a.d(t,"e",(function(){return d})),a.d(t,"d",(function(){return b})),a.d(t,"c",(function(){return _}));var n=a(122),r=a(20),i=a(7),o=a(70),s=a(2),l=a(224),c=a(44),u=a(14),m=a(15),h=a(21);function p(e,t=!1){e.recvd=!0,!t&&u.a.SuppressMessages||d(e),function(e,t){const a=Object(c.a)(t);if(null==a)return void console.warn("Could not find server "+t);for(let t=0;t
This message was saved as "+e.filename+" onto your home computer.";Object(m.a)(t)}function f(){if(l.b)return;const e=y[E.Jumper0],t=y[E.Jumper1],a=y[E.Jumper2],n=y[E.Jumper3],c=y[E.Jumper4],u=y[E.CyberSecTest],m=y[E.NiteSecTest],h=y[E.BitRunnersTest],d=y[E.RedPill];let f=!1;if(r.a[i.a.TheRedPill].owned&&(f=!0),d&&f&&0===s.a.sourceFiles.length&&!l.b)p(d,!0);else if(d&&f)l.b||p(d);else if(e&&!e.recvd&&s.a.hacking_skill>=25){p(e);const t=o.a.Flight.name,a=s.a.getHomeComputer();a.programs.includes(t)||a.programs.push(t)}else t&&!t.recvd&&s.a.hacking_skill>=40?p(t):u&&!u.recvd&&s.a.hacking_skill>=50?p(u):a&&!a.recvd&&s.a.hacking_skill>=175?p(a):m&&!m.recvd&&s.a.hacking_skill>=200?p(m):n&&!n.recvd&&s.a.hacking_skill>=350?p(n):c&&!c.recvd&&s.a.hacking_skill>=490?p(c):h&&!h.recvd&&s.a.hacking_skill>=500&&p(h)}function g(e){y[e.filename]=e}let y={};function b(e){y=JSON.parse(e,h.c)}const E={Jumper0:"j0.msg",Jumper1:"j1.msg",Jumper2:"j2.msg",Jumper3:"j3.msg",Jumper4:"j4.msg",CyberSecTest:"csec-test.msg",NiteSecTest:"nitesec-test.msg",BitRunnersTest:"19dfj3l1nd.msg",RedPill:"icarus.msg"};function _(){y={},g(new n.a(E.Jumper0,"I know you can sense it. I know you're searching for it. It's why you spend night after night at your computer.
It's real, I've seen it. And I can help you find it. But not right now. You're not ready yet.
Use this program to track your progress
The fl1ght.exe program was added to your home computer
-jump3R")),g(new n.a(E.Jumper1,"Soon you will be contacted by a hacking group known as CyberSec. They can help you with your search.
You should join them, garner their favor, and exploit them for their Augmentations. But do not trust them. They are not what they seem. No one is.
-jump3R")),g(new n.a(E.Jumper2,"Do not try to save the world. There is no world to save. If you want to find the truth, worry only about yourself. Ethics and morals will get you killed.
Watch out for a hacking group known as NiteSec.
-jump3R")),g(new n.a(E.Jumper3,"You must learn to walk before you can run. And you must run before you can fly. Look for the black hand.
I.I.I.I
-jump3R")),g(new n.a(E.Jumper4,"To find what you are searching for, you must understand the bits. The bits are all around us. The runners will help you.
-jump3R")),g(new n.a(E.CyberSecTest,"We've been watching you. Your skills are very impressive. But you're wasting your talents. If you join us, you can put your skills to good use and change the world for the better. If you join us, we can unlock your full potential.
But first, you must pass our test. Find and install the backdoor on our server.
-CyberSec")),g(new n.a(E.NiteSecTest,"People say that the corrupted governments and corporations rule the world. Yes, maybe they do. But do you know who everyone really fears? People like us. Because they can't hide from us. Because they can't fight shadows and ideas with bullets.
Join us, and people will fear you, too.
Find and install the backdoor on our server. Then, we will contact you again.
-NiteSec")),g(new n.a(E.BitRunnersTest,"We know what you are doing. We know what drives you. We know what you are looking for.
We can help you find the answers.
run4theh111z")),g(new n.a(E.RedPill,"@)(#V%*N)@(#*)*C)@#%*)*V)@#(*%V@)(#VN%*)@#(*%
)@B(*#%)@)M#B*%V)____FIND___#$@)#%(B*)@#(*%B)
@_#(%_@#M(BDSPOMB__THE-CAVE_#)$(*@#$)@#BNBEGB
DFLSMFVMV)#@($*)@#*$MV)@#(*$V)M#(*$)M@(#*VM$)"))}},function(e,t,a){"use strict";a.d(t,"c",(function(){return i})),a.d(t,"b",(function(){return o})),a.d(t,"e",(function(){return s})),a.d(t,"a",(function(){return l})),a.d(t,"d",(function(){return c}));var n=a(8),r=a(37);function i(e,t,a,i){return e*r.a.MoneyGainPerLevel*Math.pow(1.035,t-1)*((a+5)/6)*i*n.a.HacknetNodeMoney}function o(e,t=1,a=1){const n=Math.round(t);if(isNaN(n)||n<1)return 0;if(e>=r.a.MaxLevel)return 1/0;const i=r.a.UpgradeLevelMult;let o=0,s=e;for(let e=0;e=r.a.MaxRam)return 1/0;let i=0,o=Math.round(Math.log2(e)),s=e;for(let e=0;e=r.a.MaxCores)return 1/0;const i=r.a.CoreBaseCost,o=r.a.UpgradeCoreMult;let s=0,l=e;for(let e=0;em.subscribe(e=>{const a=e.server+"-"+e.filename+e.args.map(e=>""+e).join("-");t(t=>[...t,{id:a,script:e}])}),[]),r.a.createElement(r.a.Fragment,null,e.map(e=>r.a.createElement(p,{key:e.id,script:e.script,id:e.id,onClose:()=>{return a=e.id,void t(e=>e.filter(e=>e.id!==a));var a}})))}function p(e){const t=Object(n.useRef)(null),a=Object(n.useState)(!1)[1];function i(){a(e=>!e)}return Object(n.useEffect)(()=>{const e=setInterval(i,1e3);return()=>clearInterval(e)},[]),Object(n.useEffect)(()=>{function t(t){27===t.keyCode&&e.onClose()}return document.addEventListener("keydown",t),()=>{document.removeEventListener("keydown",t)}},[]),r.a.createElement(u.a,{style:{display:"flex",flexFlow:"column",backgroundColor:"gray",width:"50%",position:"fixed",left:"50%",top:"40%",margin:"-10% 0 0 -25%",height:"auto",maxHeight:"50%",zIndex:10,border:"2px solid $hacker-green"},ref:t},r.a.createElement(u.a,{style:{cursor:"grab"}},r.a.createElement(l.a,{display:"flex",alignItems:"center",onMouseDown:function(e){const a=t.current;if(null===a)return;e.preventDefault();let n=e.clientX,r=e.clientY,i=a.offsetLeft+a.clientWidth/2,o=a.offsetTop+a.clientWidth/5;function s(e){const a=t.current;null!==a&&(i+=e.clientX-n,o+=e.clientY-r,a.style.left=i+"px",a.style.top=o+"px",a.style.right="",a.style.bottom="",n=e.clientX,r=e.clientY)}document.addEventListener("mouseup",(function e(){document.removeEventListener("mouseup",e),document.removeEventListener("mousemove",s)})),document.addEventListener("mousemove",s)}},r.a.createElement(s.a,{color:"primary",variant:"h6",noWrap:!0,component:"div"},e.script.filename," ",e.script.args.map(e=>""+e).join(" ")),r.a.createElement(l.a,{display:"flex",marginLeft:"auto"},r.a.createElement(c.a,{onClick:function(){Object(o.a)(e.script,e.script.server,!0),e.onClose()}},"Kill Script"),r.a.createElement(c.a,{onClick:e.onClose},"Close")))),r.a.createElement(u.a,null,r.a.createElement(l.a,{maxHeight:"25vh",overflow:"scroll"},e.script.logs.map((e,t)=>r.a.createElement(s.a,{key:t,style:{whiteSpace:"pre-line"}},e,r.a.createElement("br",null))))))}},function(e,t,a){"use strict";a.d(t,"a",(function(){return c}));var n=a(6),r=a(230),i=a(37),o=a(15),s=a(21);function l(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}class c{constructor(e="",t=1){l(this,"cores",1),l(this,"level",1),l(this,"moneyGainRatePerSecond",0),l(this,"onlineTimeSeconds",0),l(this,"ram",1),l(this,"totalMoneyGenerated",0),this.name=e,this.updateMoneyGainRate(t)}calculateCoreUpgradeCost(e=1,t){return Object(r.a)(this.cores,e,t)}calculateLevelUpgradeCost(e=1,t){return Object(r.b)(this.level,e,t)}calculateRamUpgradeCost(e=1,t){return Object(r.e)(this.ram,e,t)}process(e=1){const t=e*n.a.MilliPerCycle/1e3;let a=this.moneyGainRatePerSecond*t;return isNaN(a)&&(console.error(`Hacknet Node ${this.name} calculated earnings of NaN`),a=0),this.totalMoneyGenerated+=a,this.onlineTimeSeconds+=t,a}upgradeCore(e=1,t){this.cores=Math.min(i.a.MaxCores,Math.round(this.cores+e)),this.updateMoneyGainRate(t)}upgradeLevel(e=1,t){this.level=Math.min(i.a.MaxLevel,Math.round(this.level+e)),this.updateMoneyGainRate(t)}upgradeRam(e=1,t){for(let t=0;tObject.keys(n).includes(e))}},,,,function(e,t,a){"use strict";a.d(t,"a",(function(){return i}));var n=a(290),r=a(70);const i={BruteSSHProgram:new n.a(r.a.BruteSSHProgram.name,5e5,"Opens up SSH Ports"),FTPCrackProgram:new n.a(r.a.FTPCrackProgram.name,15e5,"Opens up FTP Ports"),RelaySMTPProgram:new n.a(r.a.RelaySMTPProgram.name,5e6,"Opens up SMTP Ports"),HTTPWormProgram:new n.a(r.a.HTTPWormProgram.name,3e7,"Opens up HTTP Ports"),SQLInjectProgram:new n.a(r.a.SQLInjectProgram.name,25e7,"Opens up SQL Ports"),DeepscanV1:new n.a(r.a.DeepscanV1.name,5e5,"Enables 'scan-analyze' with a depth up to 5"),DeepscanV2:new n.a(r.a.DeepscanV2.name,25e6,"Enables 'scan-analyze' with a depth up to 10"),AutolinkProgram:new n.a(r.a.AutoLink.name,1e6,"Enables direct connect via 'scan-analyze'"),ServerProfilerProgram:new n.a(r.a.ServerProfiler.name,1e6,"Displays hacking and Netscript-related information about a server")}},function(e,t,a){"use strict";function n(e,t){if(t<0||t>100)return e;const a=e*(t/100);return e+(Math.random()*(2*a)-a)}a.d(t,"a",(function(){return n}))},function(e,t,a){"use strict";let n;a.d(t,"a",(function(){return n})),function(e){e[e.SyntaxError=-1]="SyntaxError",e[e.ImportError=-2]="ImportError",e[e.URLImportError=-3]="URLImportError"}(n||(n={}))},function(e,t,a){"use strict";a.d(t,"a",(function(){return n}));const n={GangRespectToReputationRatio:25,MaximumGangMembers:12,CyclesPerTerritoryAndPowerUpdate:100,AscensionMultiplierRatio:.15,Names:["Slum Snakes","Tetrads","The Syndicate","The Dark Army","Speakers for the Dead","NiteSec","The Black Hand"]}},,,,,,,,,,,,,function(e,t,a){"use strict";a.d(t,"a",(function(){return r}));var n=a(454);function r(){return Object(n.a)(99)+"."+Object(n.a)(9)+"."+Object(n.a)(9)+"."+Object(n.a)(9)}},function(e,t,a){"use strict";function n(e,t){if(e.length!==t.length)return!1;for(let a=0;aObject(o.a)({favor:{color:e.colors.rep}}));function l({favor:e}){const t=s();return n.createElement("span",{className:t.favor},"number"==typeof e?r.a.formatFavor(e):e)}},function(e,t,a){"use strict";a.d(t,"b",(function(){return u})),a.d(t,"c",(function(){return h})),a.d(t,"a",(function(){return p}));var n=a(0),r=a.n(n),i=a(539),o=a(727),s=a(1409),l=a(131),c=a(14);const u=new l.a;let m;function h(){m=Object(i.a)({colors:{hp:c.a.theme.hp,money:c.a.theme.money,hack:c.a.theme.hack,combat:c.a.theme.combat,cha:c.a.theme.cha,int:c.a.theme.int,rep:c.a.theme.rep},palette:{primary:{light:c.a.theme.primarylight,main:c.a.theme.primary,dark:c.a.theme.primarydark},secondary:{light:c.a.theme.secondarylight,main:c.a.theme.secondary,dark:c.a.theme.secondarydark},error:{light:c.a.theme.errorlight,main:c.a.theme.error,dark:c.a.theme.errordark},info:{light:c.a.theme.infolight,main:c.a.theme.info,dark:c.a.theme.infodark},warning:{light:c.a.theme.warninglight,main:c.a.theme.warning,dark:c.a.theme.warningdark},background:{default:c.a.theme.black,paper:c.a.theme.well},action:{disabled:c.a.theme.disabled}},typography:{fontFamily:"monospace",button:{textTransform:"none"}},components:{MuiInputBase:{styleOverrides:{root:{backgroundColor:c.a.theme.well,color:c.a.theme.primary},input:{"&::placeholder":{userSelect:"none",color:c.a.theme.primarydark}}}},MuiInput:{styleOverrides:{root:{backgroundColor:c.a.theme.well,borderBottomColor:"#fff"},underline:{"&:hover":{borderBottomColor:c.a.theme.primarydark},"&:before":{borderBottomColor:c.a.theme.primary},"&:after":{borderBottomColor:c.a.theme.primarylight}}}},MuiInputLabel:{styleOverrides:{root:{color:c.a.theme.primarydark,userSelect:"none","&:before":{color:c.a.theme.primarylight}}}},MuiButton:{styleOverrides:{root:{backgroundColor:"#333",border:"1px solid "+c.a.theme.well,"&:hover":{backgroundColor:c.a.theme.black},borderRadius:0}}},MuiSelect:{styleOverrides:{icon:{color:c.a.theme.primary}},defaultProps:{variant:"standard"}},MuiTextField:{defaultProps:{variant:"standard"}},MuiTypography:{defaultProps:{color:"primary"}},MuiMenu:{styleOverrides:{list:{backgroundColor:c.a.theme.well}}},MuiMenuItem:{styleOverrides:{root:{color:c.a.theme.primary}}},MuiAccordionSummary:{styleOverrides:{root:{backgroundColor:"#111"}}},MuiAccordionDetails:{styleOverrides:{root:{backgroundColor:c.a.theme.black}}},MuiIconButton:{styleOverrides:{root:{color:c.a.theme.primary}}},MuiTooltip:{styleOverrides:{tooltip:{fontSize:"1em",color:c.a.theme.primary,backgroundColor:c.a.theme.well,borderRadius:0,border:"2px solid white",maxWidth:"100vh"}},defaultProps:{disableInteractive:!0}},MuiSlider:{styleOverrides:{valueLabel:{color:c.a.theme.primary,backgroundColor:c.a.theme.well}}},MuiDrawer:{styleOverrides:{paper:{"&::-webkit-scrollbar":{display:"none"},scrollbarWidth:"none",backgroundColor:c.a.theme.black},paperAnchorDockedLeft:{borderRight:"1px solid "+c.a.theme.welllight}}},MuiDivider:{styleOverrides:{root:{backgroundColor:c.a.theme.welllight}}},MuiFormControlLabel:{styleOverrides:{root:{color:c.a.theme.primary}}},MuiSwitch:{styleOverrides:{switchBase:{color:c.a.theme.primarydark},track:{backgroundColor:c.a.theme.welllight}}},MuiPaper:{styleOverrides:{root:{borderRadius:0,backgroundColor:c.a.theme.black,border:"1px solid "+c.a.theme.welllight}}},MuiTablePagination:{styleOverrides:{select:{color:c.a.theme.primary}}},MuiTab:{styleOverrides:{textColorPrimary:{color:c.a.theme.secondary,"&.Mui-selected":{color:c.a.theme.primary}}}}}})}h();const p=({children:e})=>r.a.createElement(o.a,{injectFirst:!0},r.a.createElement(s.a,{theme:m},e))},function(e,t,a){"use strict";a.d(t,"a",(function(){return c}));var n=a(2),r=a(29),i=a(261),o=a(21),s=a(55);function l(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}class c{constructor(e=null){l(this,"name",""),l(this,"level",1),l(this,"maxLevel",1),l(this,"autoLevel",!0),l(this,"baseDifficulty",100),l(this,"difficultyFac",1.01),l(this,"rewardFac",1.02),l(this,"successes",0),l(this,"failures",0),l(this,"rankGain",0),l(this,"rankLoss",0),l(this,"hpLoss",0),l(this,"hpLost",0),l(this,"isStealth",!1),l(this,"isKill",!1),l(this,"count",Object(r.a)(1e3,25e3)),l(this,"weights",{hack:1/7,str:1/7,def:1/7,dex:1/7,agi:1/7,cha:1/7,int:1/7}),l(this,"decays",{hack:.9,str:.9,def:.9,dex:.9,agi:.9,cha:.9,int:.9}),l(this,"teamCount",0),e&&e.name&&(this.name=e.name),e&&e.baseDifficulty&&(this.baseDifficulty=Object(i.a)(e.baseDifficulty,10)),e&&e.difficultyFac&&(this.difficultyFac=e.difficultyFac),e&&e.rewardFac&&(this.rewardFac=e.rewardFac),e&&e.rankGain&&(this.rankGain=e.rankGain),e&&e.rankLoss&&(this.rankLoss=e.rankLoss),e&&e.hpLoss&&(this.hpLoss=e.hpLoss),e&&e.isStealth&&(this.isStealth=e.isStealth),e&&e.isKill&&(this.isKill=e.isKill),e&&e.count&&(this.count=e.count),e&&e.weights&&(this.weights=e.weights),e&&e.decays&&(this.decays=e.decays);let t=0;for(const e in this.weights)this.weights.hasOwnProperty(e)&&(t+=this.weights[e]);if(t-1>=10*Number.EPSILON)throw new Error("Invalid weights when constructing Action "+this.name+". The weights should sum up to 1. They sum up to :1");for(const e in this.decays)if(this.decays.hasOwnProperty(e)&&this.decays[e]>1)throw new Error("Invalid decays when constructing Action "+this.name+". Decay value cannot be greater than 1")}getDifficulty(){const e=this.baseDifficulty*Math.pow(this.difficultyFac,this.level-1);if(isNaN(e))throw new Error("Calculated NaN in Action.getDifficulty()");return e}attempt(e){return Math.random()s.a.ChaosThreshold){const e=t.chaos-s.a.ChaosThreshold+1;return Math.pow(e,.1)}return 1}getEstSuccessChance(e){function t(e){return Math.max(0,Math.min(e,1))}const a=this.getSuccessChance(e,{est:!0}),n=this.getSuccessChance(e),r=Math.abs(n-a);let i=n-r,o=n+r;const s=e.getCurrentCity(),l=s.pop/s.popEst;return l<1?i*=l:o*=l,[t(i),t(o)]}getSuccessChance(e,t={est:!1}){if(null==e)throw new Error("Invalid Bladeburner instance passed into Action.getSuccessChance");let a=this.getDifficulty(),r=0;for(const t in this.weights)if(this.weights.hasOwnProperty(t)){const a=n.a.queryStatFromString(t),i="eff"+t.charAt(0).toUpperCase()+t.slice(1);let o=e.skillMultipliers[i];null==o&&(console.error("Failed to find Bladeburner Skill multiplier for: "+t),o=1),r+=this.weights[t]*Math.pow(o*a,this.decays[t])}if(r*=n.a.getIntelligenceBonus(.75),r*=e.calculateStaminaPenalty(),r*=this.getTeamSuccessBonus(e),r*=this.getChaosCompetencePenalty(e,t),a*=this.getChaosDifficultyBonus(e),"Raid"==this.name&&e.getCurrentCity().comms<=0)return 0;if(r*=e.skillMultipliers.successChanceAll,r*=this.getActionTypeSkillSuccessBonus(e),this.isStealth&&(r*=e.skillMultipliers.successChanceStealth),this.isKill&&(r*=e.skillMultipliers.successChanceKill),r*=n.a.bladeburner_success_chance_mult,isNaN(r))throw new Error("Competence calculated as NaN in Action.getSuccessChance()");return Math.min(1,r/a)}getSuccessesNeededForNextLevel(e){return Math.ceil(.5*this.maxLevel*(2*e+(this.maxLevel-1)))}setMaxLevel(e){this.successes>=this.getSuccessesNeededForNextLevel(e)&&++this.maxLevel}toJSON(){return Object(o.b)("Action",this)}static fromJSON(e){return Object(o.a)(c,e.data)}}o.c.constructors.Action=c},function(e,t,a){"use strict";a.d(t,"b",(function(){return S})),a.d(t,"a",(function(){return w}));var n=a(138),r=a(59),i=a(6),o=a(24),s=a(77),l=a(229),c=a(2),u=a(36),m=a(14),h=a(67),p=a(63),d=a(92),f=a(503),g=a(211),y=a(327),b=a(15),E=a(21),_=a(356);function v(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}class k{constructor(){v(this,"PlayerSave",""),v(this,"AllServersSave",""),v(this,"CompaniesSave",""),v(this,"FactionsSave",""),v(this,"SpecialServerIpsSave",""),v(this,"AliasesSave",""),v(this,"GlobalAliasesSave",""),v(this,"MessagesSave",""),v(this,"StockMarketSave",""),v(this,"SettingsSave",""),v(this,"VersionSave",""),v(this,"AllGangsSave",""),v(this,"LastExportBonus","")}getSaveString(){this.PlayerSave=JSON.stringify(c.a);const e=JSON.parse(JSON.stringify(u.b),E.c);for(const t in e){const a=e[t];if(null!=a)for(let e=0;ef.a.emit()).catch(e=>console.error(e))}exportGame(){const e=this.getSaveString(),t=Math.round(Date.now()/1e3),a=c.a.bitNodeN,n=`bitburnerSave_BN${a}x${p.a[a]}_${t}.json`,r=new Blob([e],{type:"text/plain"});if(window.navigator.msSaveOrOpenBlob)window.navigator.msSaveOrOpenBlob(r,n);else{const e=document.createElement("a"),t=URL.createObjectURL(r);e.href=t,e.download=n,document.body.appendChild(e),e.click(),Object(g.a)((function(){document.body.removeChild(e),window.URL.revokeObjectURL(t)}),0)}}toJSON(){return Object(E.b)("BitburnerSaveObject",this)}static fromJSON(e){return Object(E.a)(k,e.data)}}function w(e){if(!e)return!1;e=decodeURIComponent(escape(atob(e)));const t=JSON.parse(e,E.c);if(Object(c.b)(t.PlayerSave),Object(u.f)(t.AllServersSave),Object(r.c)(t.CompaniesSave),Object(o.d)(t.FactionsSave),Object(h.d)(t.SpecialServerIpsSave),t.hasOwnProperty("AliasesSave"))try{Object(n.c)(t.AliasesSave)}catch(e){console.warn("Could not load Aliases from save"),Object(n.c)("")}else console.warn("Save file did not contain an Aliases property"),Object(n.c)("");if(t.hasOwnProperty("GlobalAliasesSave"))try{Object(n.d)(t.GlobalAliasesSave)}catch(e){console.warn("Could not load GlobalAliases from save"),Object(n.d)("")}else console.warn("Save file did not contain a GlobalAliases property"),Object(n.d)("");if(t.hasOwnProperty("MessagesSave"))try{Object(l.d)(t.MessagesSave)}catch(e){console.warn("Could not load Messages from save"),Object(l.c)()}else console.warn("Save file did not contain a Messages property"),Object(l.c)();if(t.hasOwnProperty("StockMarketSave"))try{Object(d.i)(t.StockMarketSave)}catch(e){Object(d.i)("")}else Object(d.i)("");if(t.hasOwnProperty("SettingsSave"))try{m.a.load(t.SettingsSave)}catch(e){console.error("ERROR: Failed to parse Settings. Re-initing default values"),m.a.init()}else m.a.init();if(t.hasOwnProperty("LastExportBonus"))try{y.d(JSON.parse(t.LastExportBonus))}catch(e){y.d((new Date).getTime()),console.error("ERROR: Failed to parse last export bonus Settings "+e)}if(t.hasOwnProperty("VersionSave"))try{const e=JSON.parse(t.VersionSave,E.c);!function(e){const t=c.a;if(e<="0.41.2"){null!=t.companyPosition&&"string"!=typeof t.companyPosition&&(t.companyPosition=t.companyPosition.data.positionName,null==t.companyPosition&&(t.companyPosition=""));for(const e in r.a){const t=r.a[e];if(0==t.name&&null!=t.companyName&&(t.name=t.companyName),t.companyPositions instanceof Array){const e={};for(let a=0;aPlease report any bugs/issues through the github repository (https://github.com/danielyxie/bitburner/issues) or the Bitburner subreddit (reddit.com/r/bitburner).
"+i.a.LatestUpdate):e!=i.a.Version&&C()}catch(e){C()}else C();if(c.a.inGang()&&t.hasOwnProperty("AllGangsSave"))try{Object(s.b)(t.AllGangsSave)}catch(e){console.error("ERROR: Failed to parse AllGangsSave: "+e)}return!0}function C(){Object(b.a)("New update!
Please report any bugs/issues through the github repository or the Bitburner subreddit (reddit.com/r/bitburner).
"+i.a.LatestUpdate)}E.c.constructors.BitburnerSaveObject=k;const S=new k},function(e,t,a){"use strict";a.d(t,"a",(function(){return E}));var n=a(71),r=a(187),i=a(8),o=a(186),s=a(75),l=a(59),c=a(200),u=a(82),m=a(6),h=a(172),p=a(24),d=a(159),f=a(23),g=a(9),y=a(21);function b(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}class E extends r.a{constructor(e=null){super(),b(this,"className",""),b(this,"crimeType",""),b(this,"currentTask",n.a.Idle),b(this,"currentTaskLocation",""),b(this,"currentTaskMaxTime",0),b(this,"currentTaskTime",0),b(this,"earningsForSleeves",Object(r.b)()),b(this,"earningsForPlayer",Object(r.b)()),b(this,"earningsForTask",Object(r.b)()),b(this,"factionWorkType",d.a.None),b(this,"gainRatesForTask",Object(r.b)()),b(this,"gymStatType",""),b(this,"logs",[]),b(this,"memory",1),b(this,"shock",1),b(this,"storedCycles",0),b(this,"sync",1),null!=e&&this.shockRecovery(e)}commitCrime(e,t){const a=s.a[t];return a instanceof o.a&&(this.currentTask!==n.a.Idle?this.finishTask(e):this.resetTaskStatus(),this.gainRatesForTask.hack=a.hacking_exp*this.hacking_exp_mult*i.a.CrimeExpGain,this.gainRatesForTask.str=a.strength_exp*this.strength_exp_mult*i.a.CrimeExpGain,this.gainRatesForTask.def=a.defense_exp*this.defense_exp_mult*i.a.CrimeExpGain,this.gainRatesForTask.dex=a.dexterity_exp*this.dexterity_exp_mult*i.a.CrimeExpGain,this.gainRatesForTask.agi=a.agility_exp*this.agility_exp_mult*i.a.CrimeExpGain,this.gainRatesForTask.cha=a.charisma_exp*this.charisma_exp_mult*i.a.CrimeExpGain,this.gainRatesForTask.money=a.money*this.crime_money_mult*i.a.CrimeMoney,this.currentTaskLocation=String(this.gainRatesForTask.money),this.crimeType=t,this.currentTaskMaxTime=a.time,this.currentTask=n.a.Crime,!0)}finishTask(e){let t=Object(r.b)();if(this.currentTask===n.a.Crime&&this.currentTaskTime>=this.currentTaskMaxTime){const a=s.a[this.crimeType];if(!(a instanceof o.a))return console.error("Invalid data stored in sleeve.crimeType: "+this.crimeType),this.resetTaskStatus(),t;if(Math.random()0&&(this.hacking_exp+=t.hack),t.str>0&&(this.strength_exp+=t.str),t.def>0&&(this.defense_exp+=t.def),t.dex>0&&(this.dexterity_exp+=t.dex),t.agi>0&&(this.agility_exp+=t.agi),t.cha>0&&(this.charisma_exp+=t.cha),Object(r.b)();const i=this.shock/100*(this.sync/100)*a,o=t.hack*i,s=t.str*i,l=t.def*i,c=t.dex*i,u=t.agi*i,m=t.cha*i;return o>0&&(this.hacking_exp+=o,e.gainHackingExp(o),this.earningsForPlayer.hack+=o,this.earningsForTask.hack+=o),s>0&&(this.strength_exp+=s,e.gainStrengthExp(s),this.earningsForPlayer.str+=s,this.earningsForTask.str+=s),l>0&&(this.defense_exp+=l,e.gainDefenseExp(l),this.earningsForPlayer.def+=l,this.earningsForTask.def+=l),c>0&&(this.dexterity_exp+=c,e.gainDexterityExp(c),this.earningsForPlayer.dex+=c,this.earningsForTask.dex+=c),u>0&&(this.agility_exp+=u,e.gainAgilityExp(u),this.earningsForPlayer.agi+=u,this.earningsForTask.agi+=u),m>0&&(this.charisma_exp+=m,e.gainCharismaExp(m),this.earningsForPlayer.cha+=m,this.earningsForTask.cha+=m),this.earningsForSleeves.hack+=o*(this.sync/100),this.earningsForSleeves.str+=s*(this.sync/100),this.earningsForSleeves.def+=l*(this.sync/100),this.earningsForSleeves.dex+=c*(this.sync/100),this.earningsForSleeves.agi+=u*(this.sync/100),this.earningsForSleeves.cha+=m*(this.sync/100),{hack:o*(this.sync/100),str:s*(this.sync/100),def:l*(this.sync/100),dex:c*(this.sync/100),agi:u*(this.sync/100),cha:m*(this.sync/100),money:0}}gainMoney(e,t,a=1){const n=t.money*a;this.earningsForTask.money+=n,this.earningsForPlayer.money+=n,e.gainMoney(n),e.recordMoneySource(n,"sleeves")}getMemoryUpgradeCost(e){const t=Math.round(e);if(t<0)return 0;if(this.memory+t>100)return this.getMemoryUpgradeCost(100-this.memory);let a=0,n=this.memory-1;for(let t=0;t50&&this.logs.shift()}prestige(e){this.hacking_exp=0,this.strength_exp=0,this.defense_exp=0,this.dexterity_exp=0,this.agility_exp=0,this.charisma_exp=0,this.resetTaskStatus(),this.earningsForSleeves=Object(r.b)(),this.earningsForPlayer=Object(r.b)(),this.shockRecovery(e),this.augmentations=[],this.resetMultipliers(),this.shock=1,this.storedCycles=0,this.sync=Math.max(this.memory,1),this.logs=[]}process(e,t=1){const a=1e3/m.a.MilliPerCycle;if(this.storedCycles+=t,this.storedCyclesthis.currentTaskMaxTime&&(i=this.currentTaskMaxTime-this.currentTaskTime,o=Math.floor(i/m.a.MilliPerCycle),(i<0||o<0)&&(console.warn("Sleeve.process() calculated negative cycle usage"),i=0,o=0)),this.currentTaskTime+=i,this.shock=Math.min(100,this.shock+1e-4*o);let s=Object(r.b)();switch(this.currentTask){case n.a.Idle:break;case n.a.Class:case n.a.Gym:this.updateTaskGainRates(e),s=this.gainExperience(e,this.gainRatesForTask,o),this.gainMoney(e,this.gainRatesForTask,o);break;case n.a.Faction:{s=this.gainExperience(e,this.gainRatesForTask,o),this.gainMoney(e,this.gainRatesForTask,o);const t=p.a[this.currentTaskLocation];if(!(t instanceof h.a)){console.error("Invalid faction for Sleeve task: "+this.currentTaskLocation);break}t.playerReputation+=this.getRepGain(e)*o;break}case n.a.Company:{s=this.gainExperience(e,this.gainRatesForTask,o),this.gainMoney(e,this.gainRatesForTask,o);const t=l.a[this.currentTaskLocation];if(!(t instanceof c.a)){console.error("Invalid company for Sleeve task: "+this.currentTaskLocation);break}t.playerReputation+=this.getRepGain(e)*o;break}case n.a.Recovery:this.shock=Math.min(100,this.shock+2e-4*o),this.shock>=100&&this.resetTaskStatus();break;case n.a.Synchro:this.sync=Math.min(100,this.sync+2e-4*e.getIntelligenceBonus(.5)*o),this.sync>=100&&this.resetTaskStatus()}return 0!==this.currentTaskMaxTime&&this.currentTaskTime>=this.currentTaskMaxTime&&(this.currentTask===n.a.Crime?s=this.finishTask(e):this.finishTask(e)),this.updateStatLevels(),this.storedCycles-=o,s}resetTaskStatus(){this.earningsForTask=Object(r.b)(),this.gainRatesForTask=Object(r.b)(),this.currentTask=n.a.Idle,this.currentTaskTime=0,this.currentTaskMaxTime=0,this.factionWorkType=d.a.None,this.crimeType="",this.currentTaskLocation="",this.gymStatType="",this.className=""}shockRecovery(e){return this.currentTask!==n.a.Idle?this.finishTask(e):this.resetTaskStatus(),this.currentTask=n.a.Recovery,!0}synchronize(e){return this.currentTask!==n.a.Idle?this.finishTask(e):this.resetTaskStatus(),this.currentTask=n.a.Synchro,!0}takeUniversityCourse(e,t,a){this.currentTask!==n.a.Idle?this.finishTask(e):this.resetTaskStatus();let r=1;switch(t.toLowerCase()){case g.a.AevumSummitUniversity.toLowerCase():if(this.city!==f.a.Aevum)return!1;this.currentTaskLocation=g.a.AevumSummitUniversity,r=4;break;case g.a.Sector12RothmanUniversity.toLowerCase():if(this.city!==f.a.Sector12)return!1;this.currentTaskLocation=g.a.Sector12RothmanUniversity,r=3;break;case g.a.VolhavenZBInstituteOfTechnology.toLowerCase():if(this.city!==f.a.Volhaven)return!1;this.currentTaskLocation=g.a.VolhavenZBInstituteOfTechnology,r=5;break;default:return!1}switch(a.toLowerCase()){case"study computer science":break;case"data structures":this.gainRatesForTask.money=m.a.ClassDataStructuresBaseCost*r*-1;break;case"networks":this.gainRatesForTask.money=m.a.ClassNetworksBaseCost*r*-1;break;case"algorithms":this.gainRatesForTask.money=m.a.ClassAlgorithmsBaseCost*r*-1;break;case"management":this.gainRatesForTask.money=m.a.ClassManagementBaseCost*r*-1;break;case"leadership":this.gainRatesForTask.money=m.a.ClassLeadershipBaseCost*r*-1;break;default:return!1}return this.className=a,this.currentTask=n.a.Class,!0}travel(e,t){return e.loseMoney(m.a.TravelCost),this.city=t,!0}tryBuyAugmentation(e,t){return!!e.canAfford(t.startingCost)&&(!this.augmentations.some(e=>e.name===t.name)&&(e.loseMoney(t.startingCost),this.installAugmentation(t),!0))}updateTaskGainRates(e){if(this.currentTask!==n.a.Class)if(this.currentTask!==n.a.Gym)console.warn("Sleeve.updateTaskGainRates() called for unexpected task type "+this.currentTask);else{let t=1;switch(this.currentTaskLocation.toLowerCase()){case g.a.AevumCrushFitnessGym.toLowerCase():t=2;break;case g.a.AevumSnapFitnessGym.toLowerCase():t=5;break;case g.a.Sector12IronGym.toLowerCase():t=1;break;case g.a.Sector12PowerhouseGym.toLowerCase():t=10;break;case g.a.VolhavenMilleniumFitnessGym:t=4;break;default:return}const a=1,n=e.hashManager.getTrainingMult()*t,r=this.gymStatType.toLowerCase();r.includes("str")?this.gainRatesForTask.str=a*n*this.strength_exp_mult:r.includes("def")?this.gainRatesForTask.def=a*n*this.defense_exp_mult:r.includes("dex")?this.gainRatesForTask.dex=a*n*this.dexterity_exp_mult:r.includes("agi")&&(this.gainRatesForTask.agi=a*n*this.agility_exp_mult)}else{let t=1;switch(this.currentTaskLocation.toLowerCase()){case g.a.AevumSummitUniversity.toLowerCase():t=3;break;case g.a.Sector12RothmanUniversity.toLowerCase():t=2;break;case g.a.VolhavenZBInstituteOfTechnology.toLowerCase():t=4;break;default:return}const a=t*e.hashManager.getStudyMult();switch(this.className.toLowerCase()){case"study computer science":this.gainRatesForTask.hack=m.a.ClassStudyComputerScienceBaseExp*a*this.hacking_exp_mult;break;case"data structures":this.gainRatesForTask.hack=m.a.ClassDataStructuresBaseExp*a*this.hacking_exp_mult;break;case"networks":this.gainRatesForTask.hack=m.a.ClassNetworksBaseExp*a*this.hacking_exp_mult;break;case"algorithms":this.gainRatesForTask.hack=m.a.ClassAlgorithmsBaseExp*a*this.hacking_exp_mult;break;case"management":this.gainRatesForTask.cha=m.a.ClassManagementBaseExp*a*this.charisma_exp_mult;break;case"leadership":this.gainRatesForTask.cha=m.a.ClassLeadershipBaseExp*a*this.charisma_exp_mult}}}upgradeMemory(e){e<0?console.warn("Sleeve.upgradeMemory() called with negative value: "+e):this.memory=Math.min(100,Math.round(this.memory+e))}workForCompany(e,t){if(!(l.a[t]instanceof c.a)||null==e.jobs[t])return!1;this.currentTask!==n.a.Idle?this.finishTask(e):this.resetTaskStatus();const a=l.a[t],r=u.a[e.jobs[t]];return null!=a&&(null!=r&&(this.gainRatesForTask.money=r.baseSalary*a.salaryMultiplier*this.work_money_mult*i.a.CompanyWorkMoney,this.gainRatesForTask.hack=r.hackingExpGain*a.expMultiplier*this.hacking_exp_mult*i.a.CompanyWorkExpGain,this.gainRatesForTask.str=r.strengthExpGain*a.expMultiplier*this.strength_exp_mult*i.a.CompanyWorkExpGain,this.gainRatesForTask.def=r.defenseExpGain*a.expMultiplier*this.defense_exp_mult*i.a.CompanyWorkExpGain,this.gainRatesForTask.dex=r.dexterityExpGain*a.expMultiplier*this.dexterity_exp_mult*i.a.CompanyWorkExpGain,this.gainRatesForTask.agi=r.agilityExpGain*a.expMultiplier*this.agility_exp_mult*i.a.CompanyWorkExpGain,this.gainRatesForTask.cha=r.charismaExpGain*a.expMultiplier*this.charisma_exp_mult*i.a.CompanyWorkExpGain,this.currentTaskLocation=t,this.currentTask=n.a.Company,this.currentTaskMaxTime=m.a.MillisecondsPer8Hours,!0))}workForFaction(e,t,a){if(""===t)return!1;if(!(p.a[t]instanceof h.a&&e.factions.includes(t)))return!1;this.currentTask!==n.a.Idle?this.finishTask(e):this.resetTaskStatus();const r=p.a[t].getInfo(),o=a.toLowerCase();if(o.includes("hack")){if(!r.offerHackingWork)return!1;this.factionWorkType=d.a.Hacking,this.gainRatesForTask.hack=.15*this.hacking_exp_mult*i.a.FactionWorkExpGain}else if(o.includes("field")){if(!r.offerFieldWork)return!1;this.factionWorkType=d.a.Field,this.gainRatesForTask.hack=.1*this.hacking_exp_mult*i.a.FactionWorkExpGain,this.gainRatesForTask.str=.1*this.strength_exp_mult*i.a.FactionWorkExpGain,this.gainRatesForTask.def=.1*this.defense_exp_mult*i.a.FactionWorkExpGain,this.gainRatesForTask.dex=.1*this.dexterity_exp_mult*i.a.FactionWorkExpGain,this.gainRatesForTask.agi=.1*this.agility_exp_mult*i.a.FactionWorkExpGain,this.gainRatesForTask.cha=.1*this.charisma_exp_mult*i.a.FactionWorkExpGain}else{if(!o.includes("security"))return!1;if(!r.offerSecurityWork)return!1;this.factionWorkType=d.a.Security,this.gainRatesForTask.hack=.1*this.hacking_exp_mult*i.a.FactionWorkExpGain,this.gainRatesForTask.str=.15*this.strength_exp_mult*i.a.FactionWorkExpGain,this.gainRatesForTask.def=.15*this.defense_exp_mult*i.a.FactionWorkExpGain,this.gainRatesForTask.dex=.15*this.dexterity_exp_mult*i.a.FactionWorkExpGain,this.gainRatesForTask.agi=.15*this.agility_exp_mult*i.a.FactionWorkExpGain}return this.currentTaskLocation=t,this.currentTask=n.a.Faction,this.currentTaskMaxTime=m.a.MillisecondsPer20Hours,!0}workoutAtGym(e,t,a){this.currentTask!==n.a.Idle?this.finishTask(e):this.resetTaskStatus();let r=1;switch(t.toLowerCase()){case g.a.AevumCrushFitnessGym.toLowerCase():if(this.city!=f.a.Aevum)return!1;this.currentTaskLocation=g.a.AevumCrushFitnessGym,r=3;break;case g.a.AevumSnapFitnessGym.toLowerCase():if(this.city!=f.a.Aevum)return!1;this.currentTaskLocation=g.a.AevumSnapFitnessGym,r=10;break;case g.a.Sector12IronGym.toLowerCase():if(this.city!=f.a.Sector12)return!1;this.currentTaskLocation=g.a.Sector12IronGym,r=1;break;case g.a.Sector12PowerhouseGym.toLowerCase():if(this.city!=f.a.Sector12)return!1;this.currentTaskLocation=g.a.Sector12PowerhouseGym,r=20;break;case g.a.VolhavenMilleniumFitnessGym.toLowerCase():if(this.city!=f.a.Volhaven)return!1;this.currentTaskLocation=g.a.VolhavenMilleniumFitnessGym,r=7;break;default:return!1}const i=a.toLowerCase();return this.gainRatesForTask.money=m.a.ClassGymBaseCost*r*-1,!!(i.includes("str")||i.includes("def")||i.includes("dex")||i.includes("agi"))&&(this.gymStatType=a,this.currentTask=n.a.Gym,!0)}toJSON(){return Object(y.b)("Sleeve",this)}static fromJSON(e){return Object(y.a)(E,e.data)}}y.c.constructors.Sleeve=E},function(e,t,a){"use strict";a.d(t,"b",(function(){return i})),a.d(t,"a",(function(){return o})),a.d(t,"c",(function(){return s}));var n=a(14),r=a(348);class i{constructor(e,t){n.a.EnableTimestamps&&(e="["+Object(r.a)()+"] "+e),this.text=e,this.color=t}}class o{constructor(e,t){n.a.EnableTimestamps&&(e="["+Object(r.a)()+"] "+e),this.hostname=t,this.dashes=e}}class s{constructor(e,t){this.time=e,this.timeLeft=e,this.action=t}}},function(e,t,a){"use strict";a.d(t,"b",(function(){return r})),a.d(t,"a",(function(){return i}));var n=a(131);const r=new n.a,i=new n.a},function(e,t,a){"use strict";a.d(t,"a",(function(){return s}));var n=a(794),r=a(13),i=a(36);function o(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}class s{constructor(e,t,a){o(this,"code",""),o(this,"delay",null),o(this,"disableLogs",{}),o(this,"dynamicLoadedFns",{}),o(this,"dynamicRamUsage",r.a.ScriptBaseRamCost),o(this,"errorMessage",""),o(this,"loadedFns",{}),o(this,"output",""),o(this,"ramUsage",0),o(this,"running",!1),this.name=e.filename,this.serverIp=e.server;const s=Math.round(t);if("number"!=typeof s||isNaN(s))throw new Error("Invalid PID when constructing WorkerScript: "+t);this.pid=s,e.pid=s;const l=i.b[this.serverIp];if(null==l)throw new Error("WorkerScript constructed with invalid server ip: "+this.serverIp);let c=!1;for(let e=0;e=r.price)&&h(r,n);break;case i.a.LimitSell:case i.a.StopBuy:(r.pos===o.a.Long&&e.price>=r.price||r.pos===o.a.Short&&e.price<=r.price)&&h(r,n);break;case i.a.StopSell:(r.pos===o.a.Long&&e.price<=r.price||r.pos===o.a.Short&&e.price>=r.price)&&h(r,n);break;default:return void console.warn("Invalid order type: "+r.type)}}function h(e,t){const a=t.symbolToStockMap[e.stockSymbol];if(!(a instanceof r.a))return void console.error("Could not find stock for this order: "+e.stockSymbol);const m=t.stockMarket.Orders[a.symbol],h={suppressDialog:!0};let p=!0,d=!1;switch(e.type){case i.a.LimitBuy:case i.a.StopBuy:d=!0,e.pos===o.a.Long?p=Object(n.a)(a,e.shares,null,h)&&p:e.pos===o.a.Short&&(p=Object(n.d)(a,e.shares,null,h)&&p);break;case i.a.LimitSell:case i.a.StopSell:e.pos===o.a.Long?p=Object(n.c)(a,e.shares,null,h)&&p:e.pos===o.a.Short&&(p=Object(n.b)(a,e.shares,null,h)&&p);break;default:return void console.warn("Invalid order type: "+e.type)}const f=e.pos===o.a.Long?"Long":"Short";if(p){for(let t=0;t=s.a.CyclesPerIndustryStateCycle){const t=this.getState(),a=1,n=a*s.a.CyclesPerIndustryStateCycle;if(this.storedCycles-=n,this.divisions.forEach(e=>{e.process(a,t,this)}),this.shareSaleCooldown>0&&(this.shareSaleCooldown-=n),this.issueNewSharesCooldown>0&&(this.issueNewSharesCooldown-=n),"START"===t){this.revenue=new d.a(0),this.expenses=new d.a(0),this.divisions.forEach(e=>{e.lastCycleRevenue!==-1/0&&e.lastCycleRevenue!==1/0&&e.lastCycleExpenses!==-1/0&&e.lastCycleExpenses!==1/0&&(this.revenue=this.revenue.plus(e.lastCycleRevenue),this.expenses=this.expenses.plus(e.lastCycleExpenses))});const t=this.revenue.minus(this.expenses).times(a*s.a.SecsPerMarketCycle);if((isNaN(this.funds)||this.funds===1/0||this.funds===-1/0)&&(Object(m.a)("There was an error calculating your Corporations funds and they got reset to 0. This is a bug. Please report to game developer.
(Your funds have been set to $150b for the inconvenience)"),this.funds=new d.a(15e10)),this.dividendPercentage>0&&t>0)if(isNaN(this.dividendPercentage)||this.dividendPercentage<0||this.dividendPercentage>100*s.a.DividendMaxPercentage)console.error("Invalid Corporation dividend percentage: "+this.dividendPercentage);else{const a=this.dividendPercentage/100*t,n=t-a,r=a/this.totalShares,i=this.numShares*r*(1-this.dividendTaxPercentage/100);e.gainMoney(i),e.recordMoneySource(i,"corporation"),this.addFunds(n)}else this.addFunds(t);this.updateSharePrice()}this.state.nextState()}}determineValuation(){let e,t=this.revenue.minus(this.expenses).toNumber();return this.public?(this.dividendPercentage>0&&(t*=(100-this.dividendPercentage)/100),e=this.funds.toNumber()+85e3*t,e*=Math.pow(1.1,this.divisions.length),e=Math.max(e,0)):(e=1e10+Math.max(this.funds.toNumber(),0)/3,t>0?(e+=315e3*t,e*=Math.pow(1.1,this.divisions.length)):e=1e10*Math.pow(1.1,this.divisions.length),e-=e%1e6),e*l.a.CorporationValuation}getTargetSharePrice(){return this.determineValuation()/(2*(this.totalShares-this.numShares)+1)}updateSharePrice(){const e=this.getTargetSharePrice();this.sharePrice<=e?this.sharePrice*=1+.01*Math.random():this.sharePrice*=1-.01*Math.random(),this.sharePrice<=.01&&(this.sharePrice=.01)}immediatelyUpdateSharePrice(){this.sharePrice=this.getTargetSharePrice()}calculateShareSale(e){let t=e,a=this.shareSalesUntilPriceUpdate,n=this.sharePrice,r=0,i=0;const o=Math.ceil(e/s.a.SHARESPERPRICEUPDATE);if(isNaN(o)||o>1e7)return console.error("Something went wrong or unexpected when calculating share sale. Maxiterations calculated to be "+o),[0,0,0];for(let e=0;e3600?Math.floor(t/3600)+" hour(s)":t>60?Math.floor(t/60)+" minute(s)":Math.floor(t)+" second(s)"}unlock(e){const t=e[0],a=e[1];for(;this.unlockUpgrades.length<=t;)this.unlockUpgrades.push(0);this.funds.lt(a)?Object(m.a)("You don't have enough funds to unlock this!"):(this.unlockUpgrades[t]=1,this.funds=this.funds.minus(a),5===t?this.dividendTaxPercentage-=5:6===t&&(this.dividendTaxPercentage-=10))}upgrade(e){const t=e[0],a=e[1],n=e[2],r=e[3];for(;this.upgrades.length<=t;)this.upgrades.push(0);for(;this.upgradeMultipliers.length<=t;)this.upgradeMultipliers.push(1);const i=a*Math.pow(n,this.upgrades[t]);if(this.funds.lt(i))Object(m.a)("You don't have enough funds to purchase this!");else if(++this.upgrades[t],this.funds=this.funds.minus(i),this.upgradeMultipliers[t]=1+this.upgrades[t]*r,1===t)for(let e=0;e0){this.teamCount=Math.min(this.teamCount,e.teamSize);return Math.pow(this.teamCount,.05)}return 1}getActionTypeSkillSuccessBonus(e){return e.skillMultipliers.successChanceOperation}getChaosDifficultyBonus(e){const t=e.getCurrentCity();if(t.chaos>n.a.ChaosThreshold){const e=t.chaos-n.a.ChaosThreshold+1;return Math.pow(e,.1)}return 1}toJSON(){return Object(i.b)("Operation",this)}static fromJSON(e){return Object(i.a)(s,e.data)}}i.c.constructors.Operation=s},,,,,,,function(e,t,a){"use strict";a.d(t,"a",(function(){return T})),a.d(t,"b",(function(){return R}));var n=a(20),r=a(152),i=a(7),o=a(198),s=a(199),l=a(59),c=a(50),u=a(70),m=a(172),h=a(24),p=a(116),d=a(58),f=a(229),g=a(158),y=a(2),b=a(111),E=a(440),_=a(56),v=a(36),k=a(44),w=a(63),C=a(67),S=a(92),x=a(118),O=a(15),M=a(99);function T(){Object(o.b)(y.a);const e=y.a.factions.filter((function(e){return h.a[e].getInfo().keep}));y.a.prestigeAugmentation(),Object(g.c)();const t=y.a.getHomeComputer();Object(v.g)(),Object(C.e)(),Object(v.a)(t),Object(k.f)(t),Object(r.b)(i.a.Neurolink)&&n.a[i.a.Neurolink].owned&&(t.programs.push(u.a.FTPCrackProgram.name),t.programs.push(u.a.RelaySMTPProgram.name)),Object(r.b)(i.a.CashRoot)&&n.a[i.a.CashRoot].owned&&(y.a.setMoney(1e6),t.programs.push(u.a.BruteSSHProgram.name)),Object(r.b)(i.a.PCMatrix)&&n.a[i.a.PCMatrix].owned&&(t.programs.push(u.a.DeepscanV1.name),t.programs.push(u.a.AutoLink.name)),Object(v.d)(y.a.getHomeComputer());for(const e in l.a)l.a.hasOwnProperty(e)&&l.a[e].gainFavor();for(const e in h.a)h.a.hasOwnProperty(e)&&h.a[e].gainFavor();null!==x.a.action&&x.a.finishAction(b.b,y.a,!0),Object(h.c)(),y.a.factions=y.a.factions.concat(e),y.a.factions.map(e=>h.a[e].isMember=!0),Object(r.c)(),y.a.reapplyAllSourceFiles(),Object(l.b)(),Object(f.c)();const a=y.a.gang;if(y.a.inGang()&&null!==a){const e=h.a[a.facName];e instanceof m.a&&Object(p.d)(e)}if(y.a.bladeburner instanceof s.a&&y.a.bladeburner.prestige(),8===y.a.bitNodeN&&(y.a.money=new M.a(25e7)),(8===y.a.bitNodeN||w.a[8]>0)&&(y.a.hasWseAccount=!0,y.a.hasTixApiAccess=!0),y.a.hasWseAccount&&(Object(S.f)(),Object(S.h)()),Object(r.b)(i.a.TheRedPill)&&n.a[i.a.TheRedPill].owned){const e=C.a[C.b.WorldDaemon];if("string"!=typeof e)throw new Error("WorldDaemonIP should be string");const t=v.b[e],a=C.a[C.b.DaedalusServer];if("string"!=typeof a)throw new Error("DaedalusServerIP should be string");const n=v.b[a];t&&n&&(t.serversOnNetwork.push(n.ip),n.serversOnNetwork.push(t.ip))}Object(E.b)()}function R(e){Object(o.b)(y.a),Object(w.b)(y.a),y.a.prestigeSourceFile(),Object(g.c)();const t=y.a.getHomeComputer();Object(v.g)(),Object(C.e)(),Object(v.a)(t),Object(k.f)(t),Object(v.d)(y.a.getHomeComputer()),w.a[9]>=2?t.setMaxRam(128):w.a[1]>0?t.setMaxRam(32):t.setMaxRam(8),t.cpuCores=1;for(const e in l.a)l.a.hasOwnProperty(e)&&(l.a[e].favor=0);for(const e in h.a)h.a.hasOwnProperty(e)&&(h.a[e].favor=0);null!==x.a.action&&x.a.finishAction(b.b,y.a,!0);for(const e in n.a)n.a.hasOwnProperty(e)&&delete n.a[e];if(w.a[12]>0&&y.a.augmentations.push({name:i.a.NeuroFluxGovernor,level:w.a[12]}),Object(h.c)(),Object(r.c)(),y.a.reapplyAllSourceFiles(),Object(l.b)(),Object(f.c)(),3===y.a.bitNodeN&&(t.messages.push(_.a.CorporationManagementHandbook),Object(O.a)("You received a copy of the Corporation Management Handbook on your home computer. Read it if you need help getting started with Corporations!")),8===y.a.bitNodeN&&(y.a.money=new M.a(25e7)),(8===y.a.bitNodeN||w.a[8]>0)&&(y.a.hasWseAccount=!0,y.a.hasTixApiAccess=!0),10===y.a.bitNodeN&&Object(O.a)("Visit VitaLife in New Tokyo if you'd like to purchase a new sleeve!"),y.a.hasWseAccount?(Object(S.f)(),Object(S.h)()):Object(S.d)(),y.a.gang=null,y.a.corporation=null,Object(c.e)(),y.a.bladeburner=null,w.a[9]>=3){const e=y.a.createHacknetServer();e.level=100,e.cores=10,e.cache=5,e.updateHashRate(y.a.hacknet_node_money_mult),e.updateHashCapacity(),Object(d.p)(y.a)}0===w.a[5]||e||y.a.gainIntelligenceExp(300),Object(E.b)()}},function(e,t,a){"use strict";function n(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}a.d(t,"a",(function(){return r}));class r{constructor(e=""){n(this,"level",1),n(this,"name",""),this.name=e}}},function(e,t,a){"use strict";function n(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}a.d(t,"a",(function(){return r})),a.d(t,"b",(function(){return i}));const r=new class{constructor(){n(this,"m",1024),n(this,"a",341),n(this,"c",1),this.x=0,this.reset()}step(){this.x=(this.a*this.x+this.c)%this.m}random(){return this.step(),this.x/this.m}reset(){this.x=(new Date).getTime()%this.m}};class i{constructor(e){n(this,"s1",0),n(this,"s2",0),n(this,"s3",0);const t=e/1e3%3e4;this.s1=t,this.s2=t,this.s3=t}step(){this.s1=171*this.s1%30269,this.s2=172*this.s2%30307,this.s3=170*this.s3%30323}random(){return this.step(),(this.s1/30269+this.s2/30307+this.s3/30323)%1}}},function(e,t,a){"use strict";a.d(t,"a",(function(){return i}));var n=a(6),r=a(25);class i{constructor(e){this.name=e.name,this.nextPosition=e.nextPosition,this.baseSalary=e.baseSalary,this.repMultiplier=e.repMultiplier,this.requiredHacking=null!=e.reqdHacking?e.reqdHacking:0,this.requiredStrength=null!=e.reqdStrength?e.reqdStrength:0,this.requiredDefense=null!=e.reqdDefense?e.reqdDefense:0,this.requiredDexterity=null!=e.reqdDexterity?e.reqdDexterity:0,this.requiredAgility=null!=e.reqdAgility?e.reqdAgility:0,this.requiredCharisma=null!=e.reqdCharisma?e.reqdCharisma:0,this.requiredReputation=null!=e.reqdReputation?e.reqdReputation:0,this.hackingEffectiveness=null!=e.hackingEffectiveness?e.hackingEffectiveness:0,this.strengthEffectiveness=null!=e.strengthEffectiveness?e.strengthEffectiveness:0,this.defenseEffectiveness=null!=e.defenseEffectiveness?e.defenseEffectiveness:0,this.dexterityEffectiveness=null!=e.dexterityEffectiveness?e.dexterityEffectiveness:0,this.agilityEffectiveness=null!=e.agilityEffectiveness?e.agilityEffectiveness:0,this.charismaEffectiveness=null!=e.charismaEffectiveness?e.charismaEffectiveness:0,100!==Math.round(this.hackingEffectiveness+this.strengthEffectiveness+this.defenseEffectiveness+this.dexterityEffectiveness+this.agilityEffectiveness+this.charismaEffectiveness)&&console.error(`CompanyPosition ${this.name} parameters do not sum to 100`),this.hackingExpGain=null!=e.hackingExpGain?e.hackingExpGain:0,this.strengthExpGain=null!=e.strengthExpGain?e.strengthExpGain:0,this.defenseExpGain=null!=e.defenseExpGain?e.defenseExpGain:0,this.dexterityExpGain=null!=e.dexterityExpGain?e.dexterityExpGain:0,this.agilityExpGain=null!=e.agilityExpGain?e.agilityExpGain:0,this.charismaExpGain=null!=e.charismaExpGain?e.charismaExpGain:0}calculateJobPerformance(e,t,a,r,i,o){const s=this.hackingEffectiveness*e/n.a.MaxSkillLevel,l=this.strengthEffectiveness*t/n.a.MaxSkillLevel,c=this.defenseEffectiveness*a/n.a.MaxSkillLevel,u=this.dexterityEffectiveness*r/n.a.MaxSkillLevel,m=this.agilityEffectiveness*i/n.a.MaxSkillLevel,h=this.charismaEffectiveness*o/n.a.MaxSkillLevel;let p=this.repMultiplier*(s+l+c+u+m+h)/100;return isNaN(p)&&(console.error("Company reputation gain calculated to be NaN"),p=0),p}isSoftwareJob(){return r.j.includes(this.name)}isITJob(){return r.d.includes(this.name)}isSecurityEngineerJob(){return r.i.includes(this.name)}isNetworkEngineerJob(){return r.f.includes(this.name)}isBusinessJob(){return r.b.includes(this.name)}isSecurityJob(){return r.h.includes(this.name)}isAgentJob(){return r.a.includes(this.name)}isSoftwareConsultantJob(){return r.k.includes(this.name)}isBusinessConsultantJob(){return r.c.includes(this.name)}isPartTimeJob(){return r.g.includes(this.name)}}},function(e,t,a){"use strict";a.d(t,"a",(function(){return l}));var n=a(14),r=a(118),i=a(21),o=a(348);function s(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}class l{constructor(e=null,t=[]){s(this,"args",[]),s(this,"dataMap",{}),s(this,"filename",""),s(this,"logs",[]),s(this,"logUpd",!1),s(this,"offlineExpGained",0),s(this,"offlineMoneyMade",0),s(this,"offlineRunningTime",.01),s(this,"onlineExpGained",0),s(this,"onlineMoneyMade",0),s(this,"onlineRunningTime",.01),s(this,"pid",-1),s(this,"ramUsage",0),s(this,"server",""),s(this,"threads",1),null!=e&&(this.filename=e.filename,this.args=t,this.server=e.server,this.ramUsage=e.ramUsage)}log(e){this.logs.length>n.a.MaxLogCapacity&&this.logs.shift();let t=e;n.a.EnableTimestamps&&(t="["+Object(o.a)()+"] "+t),this.logs.push(t),this.logUpd=!0}displayLog(){for(let e=0;e0&&(this.ramUsage=Object(o.a)(t))}toJSON(){return Object(i.b)("Script",this)}static fromJSON(e){return Object(i.a)(c,e.data)}}i.c.constructors.Script=c},function(e,t,a){"use strict";a.d(t,"a",(function(){return i}));var n=a(790),r=a(791);const i={};for(const e of r.a)null!=i[(o=e).name]&&console.warn("Duplicate Research being defined: "+o.name),i[o.name]=new n.a(o);var o},function(e,t,a){"use strict";a.d(t,"a",(function(){return o}));var n=a(249),r=a(21);function i(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}class o{constructor(){i(this,"capacity",0),i(this,"hashes",0),i(this,"upgrades",{});for(const e in n.a)this.upgrades[e]=0}getMult(e){const t=n.a[e],a=this.upgrades[e];return null==t||null==a?(console.error("Could not find Hash Study upgrade"),1):1+t.value*a/100}getStudyMult(){return this.getMult("Improve Studying")}getTrainingMult(){return this.getMult("Improve Gym Training")}getUpgrade(e){const t=n.a[e];return t||(console.error("Invalid Upgrade Name given to HashManager.getUpgrade(): "+e),null)}getUpgradeCost(e){const t=this.getUpgrade(e),a=this.upgrades[e];return null==t||null==a?(console.error("Invalid Upgrade Name given to HashManager.getUpgradeCost(): "+e),1/0):t.getCost(a)}prestige(){for(const e in n.a)this.upgrades[e]=0;this.hashes=0,this.updateCapacity(0)}refundUpgrade(e){const t=n.a[e];--this.upgrades[e];const a=this.upgrades[e];if(null==t||null==a||a<0)return void console.error("Invalid Upgrade Name given to HashManager.upgrade(): "+e);const r=t.getCost(a);this.hashes+=r}storeHashes(e){this.hashes+=e,this.hashes=Math.min(this.hashes,this.capacity)}updateCapacity(e){e<0&&(this.capacity=0),this.capacity=Math.max(e,0)}upgrade(e){if(null==n.a[e])return console.error("Invalid Upgrade Name given to HashManager.upgrade(): "+e),!1;const t=this.getUpgradeCost(e);return!(this.hashes{try{return r.a[e].getInfo().offerHackingWork}catch(e){return console.error("Error when trying to filter Hacking Factions for Coding Contract Generation: "+e),!1}});return t===n.c.FactionReputation&&0===a.length&&(t=n.c.CompanyReputation),t===n.c.FactionReputationAll&&0===a.length&&(t=n.c.CompanyReputation),t===n.c.CompanyReputation&&0===Object.keys(i.a.jobs).length&&(t=n.c.Money),t}(e.type);const t=i.a.factions.filter(e=>{try{return r.a[e].getInfo().offerHackingWork}catch(e){return console.error("Error when trying to filter Hacking Factions for Coding Contract Generation: "+e),!1}});switch(e.type){case n.c.FactionReputation:{const a=t.length,n=t[Object(u.a)(0,a-1)];e.name=n;break}case n.c.CompanyReputation:{const t=Object.keys(i.a.jobs);t.length>0?e.name=t[Object(u.a)(0,t.length-1)]:e.type=n.c.Money;break}}return e}function g(){const e=Object.keys(o.b);let t=Object(u.a)(0,e.length-1),a=o.b[e[t]];for(let n=0;n<200&&(!(a instanceof c.a)||a.purchasedByPlayer||a.hostname===l.b.WorldDaemon);++n)t=Object(u.a)(0,e.length-1),a=o.b[e[t]];return a}function y(e,t){let a="contract-"+Object(u.a)(0,1e6);for(let t=0;t<1e3&&!(e.contracts.filter(e=>e.fn===a).length<=0);++t)a="contract-"+Object(u.a)(0,1e6);return t.name&&(a+="-"+t.name.replace(/\s/g,"")),a}},function(e,t,a){"use strict";a.d(t,"a",(function(){return n}));const n=new(a(131).a)},function(e,t,a){"use strict";a.d(t,"a",(function(){return u}));var n=a(47),r=a(40),i=a(29),o=a(22),s=a(21),l=a(798);function c(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}class u{constructor(e={}){c(this,"minEne",0),c(this,"maxEne",100),c(this,"minHap",0),c(this,"maxHap",100),c(this,"maxMor",100),c(this,"employees",[]),c(this,"employeeProd",{[n.a.Operations]:0,[n.a.Engineer]:0,[n.a.Business]:0,[n.a.Management]:0,[n.a.RandD]:0,total:0}),this.loc=e.loc?e.loc:"",this.size=e.size?e.size:1}atCapacity(){return this.employees.length>=this.size}process(e=1,t,a){if(a.hasResearch("HRBuddy-Recruitment")&&!this.atCapacity()){const e=this.hireRandomEmployee();a.hasResearch("HRBuddy-Training")&&void 0!==e&&(e.pos=n.a.Training)}this.maxEne=100,this.maxHap=100,this.maxMor=100,a.hasResearch("Go-Juice")&&(this.maxEne+=10),a.hasResearch("JoyWire")&&(this.maxHap+=10),a.hasResearch("Sti.mu")&&(this.maxMor+=10);let r=1;t.funds<0&&a.lastCycleRevenue<0?r=Math.pow(.99,e):t.funds>0&&a.lastCycleRevenue>0&&(r=Math.pow(1.01,e));const i=a.hasResearch("AutoBrew"),o=a.hasResearch("AutoPartyManager");let s=0;for(let t=0;t864e5}function o(e){if(i()){for(const t of e.factions)n.a[t].favor++;r=(new Date).getTime()}}function s(e){r=e}},,function(e,t,a){"use strict";a.d(t,"a",(function(){return i}));var n=a(21);function r(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}class i{constructor(){r(this,"bladeburner",0),r(this,"casino",0),r(this,"class",0),r(this,"codingcontract",0),r(this,"corporation",0),r(this,"crime",0),r(this,"gang",0),r(this,"hacking",0),r(this,"hacknetnode",0),r(this,"hospitalization",0),r(this,"infiltration",0),r(this,"sleeves",0),r(this,"stock",0),r(this,"total",0),r(this,"work",0)}record(e,t){const a=t.toLowerCase();"number"==typeof this[a]?(this[a]+=e,this.total+=e):console.warn("MoneySourceTracker.record() called with invalid source: "+t)}reset(){for(const e in this)"number"==typeof this[e]&&(this[e]=0)}toJSON(){return Object(n.b)("MoneySourceTracker",this)}static fromJSON(e){return Object(n.a)(i,e.data)}}n.c.constructors.MoneySourceTracker=i},,,,,,,,,,,,,,,,,,,function(e,t,a){"use strict";function n(){const e=new Date,t=("0"+e.getHours()).slice(-2),a=("0"+e.getMinutes()).slice(-2);return`${e.getMonth()+1}/${e.getDate()} ${t}:${a}`}a.d(t,"a",(function(){return n}))},,,function(e,t,a){"use strict";function n(e){return+(Math.round(parseFloat(e+"e+2"))+"e-2")}a.d(t,"a",(function(){return n}))},function(e,t,a){"use strict";a.d(t,"a",(function(){return l})),a.d(t,"b",(function(){return u}));var n=a(0),r=a.n(n),i=a(131),o=a(42),s=a(1);const l=new i.a;let c=0;function u(){const[e,t]=Object(n.useState)([]);return Object(n.useEffect)(()=>l.subscribe(e=>{const a=c+"";c++,t(t=>[...t,{id:a,text:e}])}),[]),r.a.createElement(r.a.Fragment,null,e.length>0&&r.a.createElement(o.a,{open:!0,onClose:function(){t(e=>e.slice(1,1e99))}},r.a.createElement(s.a,null,e[0].text)))}},function(e,t,a){"use strict";function n(e,t=1){return 1+t*Math.pow(e,.8)/600}a.d(t,"a",(function(){return n}))},function(e,t,a){"use strict";a.d(t,"b",(function(){return r})),a.d(t,"a",(function(){return i}));var n=a(6);function r(e){let t;return t="number"==typeof e.money?e.money:e.money.toNumber(),t<0?0:Math.min(.1*t,(e.max_hp-e.hp)*n.a.HospitalCostPerHp)}function i(e,t){const a=e.hp;e.hp-=t;const n=r(e);return e.hp=a,n}},function(e,t,a){"use strict";a.d(t,"a",(function(){return u}));var n=a(47),r=a(157),i=a(799),o=a(455),s=a(21),l=a(29);function c(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}class u{constructor(e={}){c(this,"name",""),c(this,"dmd",0),c(this,"cmp",0),c(this,"mku",0),c(this,"pCost",0),c(this,"sCost",0),c(this,"fin",!1),c(this,"prog",0),c(this,"createCity",""),c(this,"designCost",0),c(this,"advCost",0),c(this,"rat",0),c(this,"qlt",0),c(this,"per",0),c(this,"dur",0),c(this,"rel",0),c(this,"aes",0),c(this,"fea",0),c(this,"data",Object(o.a)([0,0,0])),c(this,"loc",""),c(this,"siz",0),c(this,"reqMats",{}),c(this,"prdman",Object(o.a)([!1,0])),c(this,"sllman",Object(o.a)([!1,0])),c(this,"marketTa1",!1),c(this,"marketTa2",!1),c(this,"marketTa2Price",Object(o.a)(0)),this.name=e.name?e.name:"",this.dmd=e.demand?e.demand:0,this.cmp=e.competition?e.competition:0,this.mku=e.markup?e.markup:0,this.createCity=e.createCity?e.createCity:"",this.designCost=e.designCost?e.designCost:0,this.advCost=e.advCost?e.advCost:0,this.qlt=e.quality?e.quality:0,this.per=e.performance?e.performance:0,this.dur=e.durability?e.durability:0,this.rel=e.reliability?e.reliability:0,this.aes=e.aesthetics?e.aesthetics:0,this.fea=e.features?e.features:0,this.loc=e.loc?e.loc:"",this.siz=e.size?e.size:0,this.reqMats=e.req?e.req:{}}createProduct(e=1,t=1){this.fin||(this.prog+=.01*e*t)}finishProduct(e,t){this.fin=!0;const a=this.prog/100,i=e[n.a.Engineer]/e.total,o=e[n.a.Management]/e.total,s=e[n.a.RandD]/e.total,c=e[n.a.Operations]/e.total,u=e[n.a.Business]/e.total,m=a*(1.2*i+.9*o+1.3*s+1.5*c+u)*(1+Math.pow(this.designCost,.1)/100)*(1+Math.pow(t.sciResearch.qty,t.sciFac)/800);this.qlt=m*(.1*e[n.a.Engineer]+.05*e[n.a.Management]+.05*e[n.a.RandD]+.02*e[n.a.Operations]+.02*e[n.a.Business]),this.per=m*(.15*e[n.a.Engineer]+.02*e[n.a.Management]+.02*e[n.a.RandD]+.02*e[n.a.Operations]+.02*e[n.a.Business]),this.dur=m*(.05*e[n.a.Engineer]+.02*e[n.a.Management]+.08*e[n.a.RandD]+.05*e[n.a.Operations]+.05*e[n.a.Business]),this.rel=m*(.02*e[n.a.Engineer]+.08*e[n.a.Management]+.02*e[n.a.RandD]+.05*e[n.a.Operations]+.08*e[n.a.Business]),this.aes=m*(0*e[n.a.Engineer]+.08*e[n.a.Management]+.05*e[n.a.RandD]+.02*e[n.a.Operations]+.1*e[n.a.Business]),this.fea=m*(.08*e[n.a.Engineer]+.05*e[n.a.Management]+.02*e[n.a.RandD]+.05*e[n.a.Operations]+.05*e[n.a.Business]),this.calculateRating(t);const h=1+Math.pow(this.advCost,.1)/100;this.mku=100/(h*Math.pow(this.qlt+.001,.65)*(u+o)),0===this.mku&&(this.mku=1),this.dmd=0===t.awareness?20:Math.min(100,h*(t.popularity/t.awareness*100)),this.cmp=Object(l.a)(0,70);for(const e in t.reqMats)if(t.reqMats.hasOwnProperty(e)){const a=t.reqMats[e];if(void 0===a)continue;this.reqMats[e]=a}this.siz=0;for(const e in t.reqMats){const a=t.reqMats[e];void 0!==a&&(this.siz+=r.a[e]*a)}}calculateRating(e){const t=i.a[e.type];null!=t?(this.rat=0,this.rat+=t.Quality?this.qlt*t.Quality:0,this.rat+=t.Performance?this.per*t.Performance:0,this.rat+=t.Durability?this.dur*t.Durability:0,this.rat+=t.Reliability?this.rel*t.Reliability:0,this.rat+=t.Aesthetics?this.aes*t.Aesthetics:0,this.rat+=t.Features?this.fea*t.Features:0):console.error("Could not find product rating weights for: "+e)}toJSON(){return Object(s.b)("Product",this)}static fromJSON(e){return Object(s.a)(u,e.data)}}s.c.constructors.Product=u},function(e,t,a){"use strict";function n(){return new Promise((e,t)=>{window.indexedDB||t("Indexed DB does not exists");const a=window.indexedDB.open("bitburnerSave",1);a.onupgradeneeded=function(){this.result.createObjectStore("savestring")},a.onerror=function(e){t("Failed to get IDB "+e)},a.onsuccess=function(){const a=this.result;a?e(a.transaction(["savestring"],"readwrite").objectStore("savestring")):t("database loadign result was undefined")}})}function r(){return new Promise(async(e,t)=>{await n().then(t=>new Promise((e,a)=>{const n=t.get("save");n.onerror=function(e){a("Error in Database request to get savestring: "+e)},n.onsuccess=function(){e(this.result)}}).then(t=>e(t))).catch(e=>t(e))})}function i(e){return n().then(t=>new Promise((a,n)=>{const r=t.put(e,"save");r.onerror=function(e){n("Error saving game to IndexedDB: "+e)},r.onsuccess=()=>a()}))}function o(){return n().then(e=>{e.delete("save")})}a.d(t,"b",(function(){return r})),a.d(t,"c",(function(){return i})),a.d(t,"a",(function(){return o}))},,,,,,,,,,,,,function(e,t,a){"use strict";a.d(t,"a",(function(){return l}));var n=a(55),r=a(29),i=a(21),o=a(261);function s(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}class l{constructor(e=n.a.CityNames[2]){s(this,"name",""),s(this,"pop",0),s(this,"popEst",0),s(this,"comms",0),s(this,"commsEst",0),s(this,"chaos",0),this.name=e,this.pop=Object(r.a)(n.a.PopulationThreshold,1.5*n.a.PopulationThreshold),this.popEst=this.pop*(Math.random()+.5),this.comms=Object(r.a)(5,150),this.commsEst=this.comms+Object(r.a)(-5,5),this.commsEst<0&&(this.commsEst=0),this.chaos=0}changeChaosByPercentage(e){if(isNaN(e))throw new Error("NaN passed into City.chaosChaosByPercentage()");0!==e&&(this.chaos+=this.chaos*(e/100),this.chaos<0&&(this.chaos=0))}improvePopulationEstimateByCount(e){if(isNaN(e))throw new Error("NaN passeed into City.improvePopulationEstimateByCount()");this.popEstthis.pop&&(this.popEst=this.pop)):this.popEst>this.pop&&(this.popEst-=e,this.popEstthis.pop&&(this.popEst=this.pop)):this.popEst>this.pop&&(this.popEst*=1-e/100,this.popEstthis.comms&&(this.commsEst=this.comms)):this.commsEst>this.comms&&(this.commsEst-=e,this.commsEst0?1:-1),this.pop+=a,t.changeEstEqually&&(this.popEst+=a,this.popEst<0&&(this.popEst=0)),a}changeChaosByCount(e){if(isNaN(e))throw new Error("NaN passed into City.changeChaosByCount()");0!==e&&(this.chaos+=e,this.chaos<0&&(this.chaos=0))}toJSON(){return Object(i.b)("City",this)}static fromJSON(e){return Object(i.a)(l,e.data)}}i.c.constructors.City=l},function(e,t,a){"use strict";a.d(t,"a",(function(){return n}));class n{constructor(e,t=[],a=""){this.name=e,this.locations=t,this.asciiArt=a}addLocation(e){this.locations.push(e)}}},,,,function(e,t,a){"use strict";a.d(t,"a",(function(){return l}));var n=a(0),r=a(1),i=a(10),o=a(78),s=a(31);function l(e){return n.createElement(s.a,null,n.createElement(o.a,{sx:{my:1,p:1,width:"100%"}},n.createElement(i.a,{onClick:e.onClick},e.buttonText),n.createElement(r.a,null,e.infoText)))}},function(e,t,a){"use strict";a.d(t,"b",(function(){return l})),a.d(t,"a",(function(){return u}));var n=a(0),r=a(1),i=a(28),o=a(10),s=a(86);let l;function c(e){let t="",a="";return e.tickerDisplayMode===l.Portfolio?(t="Switch to 'All Stocks' Mode",a="Displays all stocks on the WSE"):(t="Switch to 'Portfolio' Mode",a="Displays only the stocks for which you have shares or orders"),n.createElement(i.a,{title:n.createElement(r.a,null,a)},n.createElement(o.a,{onClick:e.changeDisplayMode},t))}function u(e){return n.createElement(n.Fragment,null,n.createElement(c,e),n.createElement("br",null),n.createElement(s.a,{sx:{width:"100%"},onChange:e.changeWatchlistFilter,placeholder:"Filter Stocks by symbol (comma-separated list)",type:"text"}))}!function(e){e[e.AllStocks=0]="AllStocks",e[e.Portfolio=1]="Portfolio"}(l||(l={}))},function(e,t,a){"use strict";a.d(t,"a",(function(){return s})),a.d(t,"b",(function(){return l})),a.d(t,"c",(function(){return c})),a.d(t,"d",(function(){return u})),a.d(t,"e",(function(){return m})),a.d(t,"f",(function(){return h}));var n=a(24),r=a(442),i=a(63),o=a(8);function s(){return 2===this.bitNodeN||!(i.a[2]<=0)&&this.karma<=-54e3*o.a.GangKarmaRequirement}function l(){const e=this.gang;if(null===e)throw new Error("Cannot get gang faction because player is not in a gang.");const t=n.a[e.facName];if(null==t)throw new Error("Gang has invalid faction name: "+e.facName);return t}function c(){if(!this.inGang())return"";const e=this.gang;if(null===e)throw new Error("Cannot get gang faction because player is not in a gang.");return e.facName}function u(e){if(!this.inGang())return!1;const t=this.gang;if(null===t)throw new Error("Cannot get gang faction because player is not in a gang.");return t.facName===e}function m(){return null!=this.gang&&null!=this.gang&&this.gang instanceof r.a}function h(e,t){this.gang=new r.a(e,t);const a=n.a[e];if(null==a)throw new Error("Invalid faction name when creating gang: "+e);a.playerReputation=0}},,,,,,,,,,,,function(e,t,a){"use strict";a.d(t,"a",(function(){return n}));const n={0:[0,2e10,"Export","Develop infrastructure to export your materials to your other facilities. This allows you to move materials around between different divisions and cities."],1:[1,25e9,"Smart Supply","Use advanced AI to anticipate your supply needs. This allows you to purchase exactly however many materials you need for production."],2:[2,5e9,"Market Research - Demand","Mine and analyze market data to determine the demand of all resources. The demand attribute, which affects sales, will be displayed for every material and product."],3:[3,5e9,"Market Data - Competition","Mine and analyze market data to determine how much competition there is on the market for all resources. The competition attribute, which affects sales, will be displayed for every material and product."],4:[4,1e10,"VeChain","Use AI and blockchain technology to identify where you can improve your supply chain systems. This upgrade will allow you to view a wide array of useful statistics about your Corporation."],5:[5,5e11,"Shady Accounting","Utilize unscrupulous accounting practices and pay off government officials to save money on taxes. This reduces the dividend tax rate by 5%."],6:[6,2e12,"Government Partnership","Help national governments further their agendas in exchange for lowered taxes. This reduces the dividend tax rate by 10%"]}},function(e,t,a){"use strict";a.d(t,"a",(function(){return n}));const n={0:[0,2e9,1.06,.03,"Smart Factories","Advanced AI automatically optimizes the operation and productivity of factories. Each level of this upgrade increases your global production by 3% (additive)."],1:[1,2e9,1.06,.1,"Smart Storage","Advanced AI automatically optimizes your warehouse storage methods. Each level of this upgrade increases your global warehouse storage size by 10% (additive)."],2:[2,4e9,1.1,.001,"DreamSense","Use DreamSense LCC Technologies to advertise your corporation to consumers through their dreams. Each level of this upgrade provides a passive increase in awareness of all of your companies (divisions) by 0.004 / market cycle,and in popularity by 0.001 / market cycle. A market cycle is approximately 15 seconds."],3:[3,4e9,1.12,.005,"Wilson Analytics","Purchase data and analysis from Wilson, a marketing research firm. Each level of this upgrades increases the effectiveness of your advertising by 0.5% (additive)."],4:[4,1e9,1.06,.1,"Nuoptimal Nootropic Injector Implants","Purchase the Nuoptimal Nootropic Injector augmentation for your employees. Each level of this upgrade globally increases the creativity of your employees by 10% (additive)."],5:[5,1e9,1.06,.1,"Speech Processor Implants","Purchase the Speech Processor augmentation for your employees. Each level of this upgrade globally increases the charisma of your employees by 10% (additive)."],6:[6,1e9,1.06,.1,"Neural Accelerators","Purchase the Neural Accelerator augmentation for your employees. Each level of this upgrade globally increases the intelligence of your employees by 10% (additive)."],7:[7,1e9,1.06,.1,"FocusWires","Purchase the FocusWire augmentation for your employees. Each level of this upgrade globally increases the efficiency of your employees by 10% (additive)."],8:[8,1e9,1.07,.01,"ABC SalesBots","Always Be Closing. Purchase these robotic salesmen to increase the amount of materials and products you sell. Each level of this upgrade globally increases your sales by 1% (additive)."],9:[9,5e9,1.07,.05,"Project Insight","Purchase 'Project Insight', a R&D service provided by the secretive Fulcrum Technologies. Each level of this upgrade globally increases the amount of Scientific Research you produce by 5% (additive)."]}},,function(e,t,a){"use strict";a.d(t,"a",(function(){return c}));var n=a(0),r=a.n(n),i=a(23),o=a(1),s=a(28);function l(e){return e.city!==e.currentCity?r.a.createElement(s.a,{title:r.a.createElement(o.a,null,e.city)},r.a.createElement("span",{onClick:()=>e.onTravel(e.city),style:{color:"white",lineHeight:"1em",whiteSpace:"pre",cursor:"pointer"}},e.city[0])):r.a.createElement("span",null,e.city[0])}function c(e){return r.a.createElement(r.a.Fragment,null,r.a.createElement(o.a,{sx:{lineHeight:"1em",whiteSpace:"pre"}}," ,_ . ._. _. ."),r.a.createElement(o.a,{sx:{lineHeight:"1em",whiteSpace:"pre"}}," , _-\\','|~\\~ ~/ ;-'_ _-' ,;_;_, ~~-"),r.a.createElement(o.a,{sx:{lineHeight:"1em",whiteSpace:"pre"}}," /~~-\\_/-'~'--' \\~~| ', ,' / / ~|-_\\_/~/~ ~~--~~~~'--_"),r.a.createElement(o.a,{sx:{lineHeight:"1em",whiteSpace:"pre"}}," / ,/'-/~ '\\ ,' _ , '",r.a.createElement(l,{onTravel:e.onTravel,currentCity:e.currentCity,city:i.a.Volhaven}),",'|~ ._/-, /~"),r.a.createElement(o.a,{sx:{lineHeight:"1em",whiteSpace:"pre"}}," ~/-'~\\_, '-,| '|. ' ~ ,\\ /'~ / /_ /~"),r.a.createElement(o.a,{sx:{lineHeight:"1em",whiteSpace:"pre"}},".-~ '| '',\\~|\\ _\\~ ,_ , ",r.a.createElement(l,{onTravel:e.onTravel,currentCity:e.currentCity,city:i.a.Chongqing})," /,"),r.a.createElement(o.a,{sx:{lineHeight:"1em",whiteSpace:"pre"}}," '\\ ",r.a.createElement(l,{onTravel:e.onTravel,currentCity:e.currentCity,city:i.a.Sector12})," /'~ |_/~\\\\,-,~ \\ \" ,_,/ |"),r.a.createElement(o.a,{sx:{lineHeight:"1em",whiteSpace:"pre"}}," | / ._-~'\\_ _~| \\ ) ",r.a.createElement(l,{onTravel:e.onTravel,currentCity:e.currentCity,city:i.a.NewTokyo})),r.a.createElement(o.a,{sx:{lineHeight:"1em",whiteSpace:"pre"}}," \\ __-\\ '/ ~ |\\ \\_ / ~"),r.a.createElement(o.a,{sx:{lineHeight:"1em",whiteSpace:"pre"}}," ., '\\ |, ~-_ - | \\\\_' ~| /\\ \\~ ,"),r.a.createElement(o.a,{sx:{lineHeight:"1em",whiteSpace:"pre"}}," ~-_' _; '\\ '-, \\,' /\\/ |"),r.a.createElement(o.a,{sx:{lineHeight:"1em",whiteSpace:"pre"}}," '\\_,~'\\_ \\_ _, /' ' |, /|'"),r.a.createElement(o.a,{sx:{lineHeight:"1em",whiteSpace:"pre"}}," / \\_ ~ | / \\ ~'; -,_."),r.a.createElement(o.a,{sx:{lineHeight:"1em",whiteSpace:"pre"}}," | ~\\ | | , '-_, ,; ~ ~\\"),r.a.createElement(o.a,{sx:{lineHeight:"1em",whiteSpace:"pre"}}," \\, ",r.a.createElement(l,{onTravel:e.onTravel,currentCity:e.currentCity,city:i.a.Aevum})," / \\ / /| ,-, , -,"),r.a.createElement(o.a,{sx:{lineHeight:"1em",whiteSpace:"pre"}}," | ,/ | |' |/ ,- ~ \\ '."),r.a.createElement(o.a,{sx:{lineHeight:"1em",whiteSpace:"pre"}}," ,| ,/ \\ ,/ \\ ",r.a.createElement(l,{onTravel:e.onTravel,currentCity:e.currentCity,city:i.a.Ishima})," |"),r.a.createElement(o.a,{sx:{lineHeight:"1em",whiteSpace:"pre"}}," / | ~ -~~-, / _"),r.a.createElement(o.a,{sx:{lineHeight:"1em",whiteSpace:"pre"}}," | ,-' ~ /"),r.a.createElement(o.a,{sx:{lineHeight:"1em",whiteSpace:"pre"}}," / ,' ~"),r.a.createElement(o.a,{sx:{lineHeight:"1em",whiteSpace:"pre"}}," ',| ~"),r.a.createElement(o.a,{sx:{lineHeight:"1em",whiteSpace:"pre"}}," ~'"))}},function(e,t,a){"use strict";a.d(t,"a",(function(){return l}));var n=a(0),r=a.n(n),i=a(22),o=a(875),s=a(876);function l(e){const t=e.action.getEstSuccessChance(e.bladeburner);let a=r.a.createElement(r.a.Fragment,null);return a=t[0]===t[1]?r.a.createElement(r.a.Fragment,null,Object(i.c)(100*t[0],1),"%"):r.a.createElement(r.a.Fragment,null,Object(i.c)(100*t[0],1),"% ~ ",Object(i.c)(100*t[1],1),"%"),r.a.createElement(r.a.Fragment,null,"Estimated success chance: ",a," ",e.action.isStealth?r.a.createElement(o.a,null):r.a.createElement(r.a.Fragment,null),e.action.isKill?r.a.createElement(s.a,null):r.a.createElement(r.a.Fragment,null))}},function(e,t,a){"use strict";a.d(t,"a",(function(){return o}));var n=a(0),r=a.n(n),i=a(42);function o(e){return r.a.createElement(i.a,{open:e.open,onClose:e.onClose},e.children)}},,,,,,,,,,,function(e,t,a){"use strict";a.d(t,"a",(function(){return i})),a.d(t,"b",(function(){return o}));var n=a(75),r=a(15);function i(e,t){let a=0,i=!1;for(const r in n.a){const o=n.a[r];if(o.type==t){a=o.successRate(e),i=!0;break}}return i?Math.random()<=a:(Object(r.a)(`ERR: Unrecognized crime type: ${t} This is probably a bug please contact the developer`),!1)}function o(e){return e.includes("shoplift")?n.a.Shoplift:e.includes("rob")&&e.includes("store")?n.a.RobStore:e.includes("mug")?n.a.Mug:e.includes("larceny")?n.a.Larceny:e.includes("drugs")?n.a.DealDrugs:e.includes("bond")&&e.includes("forge")?n.a.BondForgery:e.includes("traffick")&&e.includes("arms")?n.a.TraffickArms:e.includes("homicide")?n.a.Homicide:e.includes("grand")&&e.includes("auto")?n.a.GrandTheftAuto:e.includes("kidnap")?n.a.Kidnap:e.includes("assassinate")||e.includes("assassination")?n.a.Assassination:e.includes("heist")?n.a.Heist:null}},function(e,t,a){"use strict";a.d(t,"a",(function(){return i}));var n=a(524),r=a(920);function i(e){try{const t=Object(n.a)(e);Object(r.a)(t)}catch(e){}}},function(e,t,a){"use strict";a.d(t,"a",(function(){return s}));var n=a(0),r=a.n(n),i=a(4),o=a(103);function s({reputation:e}){return r.a.createElement(o.a,{reputation:i.a.formatReputation(e)+" / sec"})}},,,,,,,,,,function(e,t,a){"use strict";a.d(t,"b",(function(){return n})),a.d(t,"a",(function(){return r}));const n=5,r=1e13},function(e,t,a){"use strict";a.d(t,"e",(function(){return c})),a.d(t,"b",(function(){return u})),a.d(t,"c",(function(){return m})),a.d(t,"d",(function(){return h})),a.d(t,"a",(function(){return p}));var n=a(6),r=a(8),i=a(57),o=a(89),s=a(36),l=a(67);function c(){return l.a.hasOwnProperty("Darkweb Server")}function u(){const e=s.b[this.currentServer];if(null===e)throw new Error("somehow connected to a server that does not exist.");return e}function m(){const e=s.b[this.homeComputer];if(e instanceof i.a)return e;throw new Error("home computer was not a normal server")}function h(){const e=this.getHomeComputer().maxRam,t=Math.log2(e),a=Math.pow(1.58,t);return e*n.a.BaseCostFor1GBOfRamHome*a*r.a.HomeComputerRamCost}function p(){const e="hacknet-node-"+this.hacknetNodes.length,t=new o.a({adminRights:!0,hostname:e,ip:Object(s.c)()});this.hacknetNodes.push(t.ip),Object(s.a)(t);const a=this.getHomeComputer();return a.serversOnNetwork.push(t.ip),t.serversOnNetwork.push(a.ip),t}},,,,,,,,,,,,,,,,,,,,,,function(e,t,a){"use strict";a.d(t,"b",(function(){return c})),a.d(t,"c",(function(){return u})),a.d(t,"a",(function(){return m}));var n=a(260),r=a(2),i=a(118),o=a(67),s=a(4),l=a(494);function c(){if(o.a.hasOwnProperty("Darkweb Server")){const e=o.a.getIp("Darkweb Server");if(!Object(l.a)(e))return;const t=r.a.getCurrentServer();null!==t&&e==t.ip&&i.a.print("You are now connected to the dark web. From the dark web you can purchase illegal items. Use the 'buy -l' command to display a list of all the items you can buy. Use 'buy [item-name] to purchase an item.")}}function u(){for(const e in n.a){const t=n.a[e];i.a.print(`${t.program} - ${s.a.formatMoney(t.price)} - ${t.description}`)}}function m(e){e=e.toLowerCase();let t=null;for(const a in n.a){const r=n.a[a];r.program.toLowerCase()==e&&(t=r)}null!==t?r.a.hasProgram(t.program)?i.a.print("You already have the "+t.program+" program"):r.a.money.lt(t.price)?i.a.print("Not enough money to purchase "+t.program):(r.a.loseMoney(t.price),r.a.getHomeComputer().programs.push(t.program),i.a.print("You have purchased the "+t.program+" program. The new program can be found on your home computer.")):i.a.print("Unrecognized item: "+e)}},function(e,t,a){"use strict";a.d(t,"a",(function(){return i})),a.d(t,"b",(function(){return o}));var n=a(182);let r=1;function i(){let e=r,t=!1;for(let a=0;a<1e6;){if(!n.a.has(e+a)){t=!0,e+=a;break}a===Number.MAX_SAFE_INTEGER-1?a=1:++a}return t?(r=e+1,r>=Number.MAX_SAFE_INTEGER&&(r=1),e):-1}function o(){r=1}},function(e,t,a){"use strict";(function(e){a.d(t,"a",(function(){return Ne}));var n=a(403),r=a(500),i=a(13),o=a(255),s=a(20),l=a(152),c=a(311),u=a(7),m=a(8),h=a(404),p=a(199),d=a(200),f=a(59),g=a(314),y=a(82),b=a(6),E=a(260),_=a(69),v=a(388),k=a(389),w=a(96),C=a(493),S=a(442),x=a(77),O=a(205),M=a(184),T=a(24),R=a(116),P=a(159),A=a(456),N=a(58),I=a(230),F=a(206),j=a(37),D=a(89),B=a(23),L=a(9),G=a(118),W=a(231),H=a(122),U=a(2),q=a(70),K=a(320),$=a(225),z=a(102),V=a(36),Y=a(315),J=a(44),X=a(201),Q=a(57),Z=a(67),ee=a(63),te=a(207),ae=a(443),ne=a(92),re=a(185),ie=a(95),oe=a(68),se=a(88),le=a(251),ce=a(110),ue=a(227),me=a(158),he=a(126),pe=a(182),de=a(139),fe=a(499),ge=a(71),ye=a(502),be=a(256),Ee=a(111),_e=a(4),ve=a(211),ke=a(1113),we=a(22),Ce=a(247),Se=a(250),xe=a(117),Oe=a(303),Me=a(1114),Te=a(405),Re=a(248);const Pe=new fe.a("",()=>{});function Ae(e){if(null==e)return null;if(!(e.hasOwnProperty("properties")&&e.hasOwnProperty("getter")&&e.hasOwnProperty("setter")&&e.hasOwnProperty("proto")))return e;let t;if(e.hasOwnProperty("class")&&"Array"===e.class){t=[];const a=Pe.getProperty(e,"length");for(let n=0;n1.01*t.ramUsage)throw Object(de.b)(t,`Dynamic RAM usage calculated to be greater than initial RAM usage on fn: ${e}.\n This is probably because you somehow circumvented the static RAM calculation.\n\n Dynamic RAM Usage: ${_e.a.formatRAM(t.dynamicRamUsage)}\n Static RAM Usage: ${_e.a.formatRAM(t.ramUsage)}\n\n One of these could be the reason:\n * Using eval() to get a reference to a ns function\n const scan = eval('ns.scan');\n\n * Using map access to do the same\n const scan = ns['scan'];\n\n * Saving script in the improper order.\n Increase the cost of an imported script, save it, then run the\n parent. To fix this just re-open & save every script in order\n from most imported to least imported (parent script).\n\n Sorry :(`)},fe=function(e,t=""){const a=Object(J.b)(e);if(null==a)throw Ge(t,"Invalid IP/hostname: "+e);return a},Pe=function(e,a,n,r){if("string"==typeof n&&""!==n||(n="getRunningScript"),!Array.isArray(r))throw Object(de.b)(t,`Invalid scriptArgs argument passed into getRunningScript() from ${n}(). This is probably a bug. Please report to game developer`);if(null!=e&&"string"==typeof e){null==a&&(a=t.serverIp);const i=fe(a,n);return Object($.a)(e,r,i)}return t.scriptRef},Ie=function(e,t){"string"==typeof t&&""!==t||(t="getRunningScriptgetRunningScriptByPid");for(const t of Object.keys(V.b)){const a=V.b[t],n=Object($.b)(e,a);if(n)return n}return null},Fe=function(e,t,a){return Array.isArray(a)||(a=[]),`Cannot find running script ${e} on server ${t} with args: ${Object(Se.a)(a)}`},je=function(e=""){if(!U.a.hasWseAccount)throw Ge(e,`You don't have WSE Access! Cannot use ${e}()`);if(!U.a.hasTixApiAccess)throw Ge(e,`You don't have TIX API Access! Cannot use ${e}()`)},De=function(e,t=""){const a=ne.b[e];if(null==a)throw Ge(t,`Invalid stock symbol: '${e}'`);return a},Be=function(e,a=""){return e instanceof D.a&&(t.log(a,"Does not work on Hacknet Servers"),!0)},Le=function(e,t=""){if(isNaN(e))throw Ge(t,"Invalid index specified for Hacknet Node: "+e);if(e<0||e>=U.a.hacknetNodes.length)throw Ge(t,"Index specified for Hacknet Node is out-of-bounds: "+e);if(Object(N.g)(U.a)){const a=U.a.hacknetNodes[e];if("string"!=typeof a)throw new Error("hacknet node was not a string");const n=V.b[a];if(!(n instanceof D.a))throw new Error("hacknet server was not actually hacknet server");if(null==n)throw Ge(t,`Could not get Hacknet Server for index ${e}. This is probably a bug, please report to game dev`);return n}{const t=U.a.hacknetNodes[e];if(!(t instanceof Re.a))throw new Error("hacknet node was not node.");return t}},Ge=function(e,a){const n=(new Error).stack;if(void 0===n)throw new Error("how did we not throw an error?");const r=n.split("\n").slice(1),i=t.getServer().scripts,o=[];for(const e of r){let t;for(const a of i){a.url&&e.includes(a.url)&&(t=a.filename);for(const n of a.dependencies)e.includes(n.url)&&(t=n.filename)}if(!t)continue;function s(e){const t=e.match(/.*:(\d+):\d+.*/),a=e.match(/.*at (.+) \(.*/);return t&&a?{line:t[1],func:a[1]}:null}let a={line:"-1",func:"unknown"};const n=s(e);function l(e){const t=e.match(/.*:(\d+):\d+$/),a=e.lastIndexOf("@");return t&&-1!==a?{line:t[1],func:e.slice(0,a)}:null}n&&(a=n);const r=l(e);r&&(a=r),o.push(`${t}:L${a.line}@${a.func}`)}t.log(e,a);let c=`${e}: ${a}`;return 0!==o.length&&(c+="
Stack:
"+o.join("
")),Object(de.b)(t,c)},We=function(e,t){if(ee.a[5]<1&&5!==U.a.bitNodeN||ee.a[t]<1&&U.a.bitNodeN!==t){let a="";throw 5!==t&&(a=` and Source-File ${t}-1`),Ge("formulas."+e,`Requires Source-File 5-1${a} to run.`)}},He=function(e,t){if(4!==U.a.bitNodeN&&ee.a[4]7===e.n))){throw Ge("bladeburner."+e,"You do not currently have access to the Bladeburner API. You must either be in BitNode-7 or have Source-File 7.")}if(!t){if(!(a instanceof p.a)){throw Ge("bladeburner."+e,"You must be a member of the Bladeburner division to use this API.")}}},qe=function(e,t){const a=U.a.bladeburner;if(null===a)throw new Error("Must have joined bladeburner");if(!a.cities.hasOwnProperty(t))throw Ge("bladeburner."+e,"Invalid city: "+t)},Ke=function(e){if(10!==U.a.bitNodeN&&!ee.a[10])throw Ge("sleeve."+e,"You do not currently have access to the Sleeve API. This is either because you are not in BitNode-10 or because you do not have Source-File 10")},$e=function(e,a){if(a>=U.a.sleeves.length||a<0){const n="Invalid sleeve number: "+a;throw t.log(e,n),Ge("sleeve."+e,n)}},ze=function(e,t,a){const n=fe(t,e).getContract(a);if(null==n)throw Ge("codingcontract."+e,`Cannot find contract '${a}' on server '${t}'`);return n},Ve=function(e){const t=U.a.gang;if(null===t)throw new Error("Must have joined gang");if(!(t instanceof S.a))throw Ge("gang."+e,"You do not currently have a Gang")},Ye=function(e,t){const a=U.a.gang;if(null===a)throw new Error("Must have joined gang");for(const e of a.members)if(e.name===t)return e;throw Ge("gang."+e,`Invalid gang member: '${t}'`)},Je=function(e,t,a){const n=U.a.bladeburner;if(null===n)throw new Error("Must have joined bladeburner");const r=n.getActionIdFromTypeAndName(t,a);if(!r)throw Ge("bladeburner."+e,`Invalid action type='${t}', name='${a}'`);const i=n.getActionObject(r);if(!i)throw Ge("bladeburner."+e,`Invalid action type='${t}', name='${a}'`);return i},Xe=function(e,t){const a=f.a[t];if(null==a||!(a instanceof d.a))throw Ge(e,`Invalid company name: '${t}'`);return a},Qe=function(e,t){if(!Object(T.b)(t))throw Ge(e,"Invalid faction name: '"+t);return T.a[t]},Ze=function(e,t){if(!Object(l.b)(t))throw Ge(e,`Invalid augmentation: '${t}'`);return s.a[t]};function et(e){const t=U.a.corporation;if(null===t)throw new Error("cannot be called without a corporation");const a=t.divisions.find(t=>t.name===e);if(void 0===a)throw new Error(`No division named '${e}'`);return a}function tt(e,t){const a=et(e);if(!(t in a.offices))throw new Error(`Invalid city name '${t}'`);const n=a.offices[t];if(0===n)throw new Error(`${a.name} has not expanded to '${t}'`);return n}function at(e,t){const a=et(e);if(!(t in a.warehouses))throw new Error(`Invalid city name '${t}'`);const n=a.warehouses[t];if(0===n)throw new Error(`${a.name} has not expanded to '${t}'`);return n}function nt(e,t,a){const n=at(e,t).materials[a];if(void 0===n)throw new Error(`Invalid material name: '${a}'`);return n}function rt(e,t){const a=et(e).products[t];if(void 0===a)throw new Error(`Invalid product name: '${t}'`);return a}function it(e,t,a){const n=tt(e,t).employees.find(e=>e.name===a);if(void 0===n)throw new Error(`Invalid employee name: '${a}'`);return n}const ot=function(e=null){if(e&&Object(xe.a)(e)){const t=U.a.getHomeComputer();for(const a of t.scripts)if(a.filename===e){if(a.ramUsage>t.maxRam-t.ramUsed)return;const e=new Y.a(a,[]);e.threads=1,Object(me.e)(e,t)}}},st=function(e,a,{threads:n,stock:r}={}){if(void 0===e)throw Ge("hack","Takes 1 argument.");const i=Object(de.d)(t,"hack",n),o=Object(J.b)(e);if(!(o instanceof Q.a))throw Ge("hack",`Invalid IP/hostname: ${e}.`);if(null==o)throw Ge("hack",`Invalid IP/hostname: ${e}.`);const s=Object(w.d)(o,U.a),l=Object(A.b)(o,U.a);if(!l.res)throw Ge("hack",l.msg||"");return t.log("hack",`Executing ${e} in ${Object(we.b)(1e3*s,!0)} (t=${_e.a.formatThreads(i)})`),Object(de.c)(1e3*s,t).then((function(){if(t.env.stopFlag)return Promise.reject(t);const e=Object(w.b)(o,U.a),n=Math.random();let s=Object(w.c)(o,U.a)*i;const l=s/4;if(no.moneyAvailable&&(c=o.moneyAvailable),o.moneyAvailable-=c,o.moneyAvailable<0&&(o.moneyAvailable=0);const u=c*m.a.ScriptHackMoneyGain;return U.a.gainMoney(u),t.scriptRef.onlineMoneyMade+=u,U.a.scriptProdSinceLastAug+=u,U.a.recordMoneySource(u,"hacking"),t.scriptRef.recordHack(o.ip,u,i),U.a.gainHackingExp(s),t.scriptRef.onlineExpGained+=s,t.log("hack",`Successfully hacked '${o.hostname}' for ${_e.a.formatMoney(u)} and ${_e.a.formatExp(s)} exp (t=${_e.a.formatThreads(i)})`),o.fortify(b.a.ServerFortifyAmount*Math.min(i,n)),r&&Object(ae.c)(o,u),a&&(o.backdoorInstalled=!0),Promise.resolve(u)}return U.a.gainHackingExp(l),t.scriptRef.onlineExpGained+=l,t.log("hack",`Failed to hack '${o.hostname}'. Gained ${_e.a.formatExp(l)} exp (t=${_e.a.formatThreads(i)})`),Promise.resolve(0)}))},lt=function(e){let t="";for(let a of e)a=Ae(a),t+="object"!=typeof a?""+a:JSON.stringify(a);return t},ct={hacknet:{numNodes:function(){return U.a.hacknetNodes.length},maxNumNodes:function(){return Object(N.g)(U.a)?j.b.MaxServers:1/0},purchaseNode:function(){return Object(N.l)(U.a)},getPurchaseNodeCost:function(){return Object(N.g)(U.a)?Object(N.b)(U.a):Object(N.a)(U.a)},getNodeStats:function(e){const t=Le(e,"getNodeStats"),a=Object(N.g)(U.a),n={name:t instanceof D.a?t.hostname:t.name,level:t.level,ram:t instanceof D.a?t.maxRam:t.ram,cores:t.cores,production:t instanceof D.a?t.hashRate:t.moneyGainRatePerSecond,timeOnline:t.onlineTimeSeconds,totalProduction:t instanceof D.a?t.totalHashesGenerated:t.totalMoneyGenerated};return a&&t instanceof D.a&&(n.cache=t.cache,n.hashCapacity=t.hashCapacity),n},upgradeLevel:function(e,t){const a=Le(e,"upgradeLevel");return Object(N.n)(U.a,a,t)},upgradeRam:function(e,t){const a=Le(e,"upgradeRam");return Object(N.o)(U.a,a,t)},upgradeCore:function(e,t){const a=Le(e,"upgradeCore");return Object(N.k)(U.a,a,t)},upgradeCache:function(e,a){if(!Object(N.g)(U.a))return!1;const n=Le(e,"upgradeCache");if(!(n instanceof D.a))return t.log("upgradeCache","Can only be called on hacknet servers"),!1;const r=Object(N.j)(U.a,n,a);return r&&Object(N.p)(U.a),r},getLevelUpgradeCost:function(e,t){return Le(e,"upgradeLevel").calculateLevelUpgradeCost(t,U.a.hacknet_node_level_cost_mult)},getRamUpgradeCost:function(e,t){return Le(e,"upgradeRam").calculateRamUpgradeCost(t,U.a.hacknet_node_ram_cost_mult)},getCoreUpgradeCost:function(e,t){return Le(e,"upgradeCore").calculateCoreUpgradeCost(t,U.a.hacknet_node_core_cost_mult)},getCacheUpgradeCost:function(e,a){if(!Object(N.g)(U.a))return 1/0;const n=Le(e,"upgradeCache");return n instanceof D.a?n.calculateCacheUpgradeCost(a):(t.log("getCacheUpgradeCost","Can only be called on hacknet servers"),-1)},numHashes:function(){return Object(N.g)(U.a)?U.a.hashManager.hashes:0},hashCapacity:function(){return Object(N.g)(U.a)?U.a.hashManager.capacity:0},hashCost:function(e){return Object(N.g)(U.a)?U.a.hashManager.getUpgradeCost(e):1/0},spendHashes:function(e,t){return!!Object(N.g)(U.a)&&Object(N.m)(U.a,e,t)},getHashUpgradeLevel:function(e){const t=U.a.hashManager.upgrades[e];if(void 0===t)throw Ge("hacknet.hashUpgradeLevel","Invalid Hash Upgrade: "+e);return t},getStudyMult:function(){return!!Object(N.g)(U.a)&&U.a.hashManager.getStudyMult()},getTrainingMult:function(){return!!Object(N.g)(U.a)&&U.a.hashManager.getTrainingMult()}},sprintf:n.sprintf,vsprintf:n.vsprintf,scan:function(e=t.serverIp,n=!0){a("scan",Object(i.c)("scan"));const r=Object(J.b)(e);if(null==r)throw Ge("scan",`Invalid IP/hostname: ${e}.`);const o=[];for(let e=0;er.moneyAvailable)return-1;const o=Object(w.e)(r,U.a);return n/Math.floor(r.moneyAvailable*o)},hackAnalyzePercent:function(e){a("hackAnalyzePercent",Object(i.c)("hackAnalyzePercent"));const n=fe(e,"hackAnalyzePercent");return n instanceof Q.a?100*Object(w.e)(n,U.a):(t.log("hackAnalyzePercent","Cannot be executed on this server."),!1)},hackChance:function(e){a("hackChance",Object(i.c)("hackChance"));const n=fe(e,"hackChance");return n instanceof Q.a?Object(w.b)(n,U.a):(t.log("hackChance","Cannot be executed on this server."),!1)},sleep:function(e){if(void 0===e)throw Ge("sleep","Takes 1 argument.");return t.log("sleep",`Sleeping for ${e} milliseconds`),Object(de.c)(e,t).then((function(){return Promise.resolve(!0)}))},grow:function(e,{threads:n,stock:r}={}){a("grow",Object(i.c)("grow"));const o=Object(de.d)(t,"grow",n);if(void 0===e)throw Ge("grow","Takes 1 argument.");const s=Object(J.b)(e);if(!(s instanceof Q.a))return t.log("grow","Cannot be executed on this server."),!1;if(null==s)throw Ge("grow",`Invalid IP/hostname: ${e}.`);const l=Object(J.b)(t.serverIp);if(!(l instanceof Q.a))return t.log("grow","Cannot be executed on this server."),!1;const c=Object(A.a)(s);if(!c.res)throw Ge("grow",c.msg||"");const u=Object(w.a)(s,U.a);return t.log("grow",`Executing on '${s.hostname}' in ${Object(we.b)(1e3*u,!0)} (t=${_e.a.formatThreads(o)}).`),Object(de.c)(1e3*u,t).then((function(){if(t.env.stopFlag)return Promise.reject(t);const e=s.moneyAvailable<=0?1:s.moneyAvailable;s.moneyAvailable+=1*o,Object(J.g)(s,o,U.a,l.cpuCores);const a=s.moneyAvailable;t.scriptRef.recordGrow(s.ip,o);const n=Object(w.c)(s,U.a)*o,i=a/e-1;return t.log("grow",`Available money on '${s.hostname}' grown by ${_e.a.formatPercentage(i,6)}. Gained ${_e.a.formatExp(n)} hacking exp (t=${_e.a.formatThreads(o)}).`),t.scriptRef.onlineExpGained+=n,U.a.gainHackingExp(n),r&&Object(ae.b)(s,a-e),Promise.resolve(a/e)}))},growthAnalyze:function(e,n){a("growthAnalyze",Object(i.c)("growthAnalyze"));const r=fe(e,"growthAnalyze");if(!(r instanceof Q.a))return t.log("growthAnalyze","Cannot be executed on this server."),!1;if("number"!=typeof n||isNaN(n)||n<1||!isFinite(n))throw Ge("growthAnalyze",`Invalid argument: growth must be numeric and >= 1, is ${n}.`);return Object(J.e)(r,Number(n),U.a)},weaken:function(e,{threads:n}={}){a("weaken",Object(i.c)("weaken"));const r=Object(de.d)(t,"weaken",n);if(void 0===e)throw Ge("weaken","Takes 1 argument.");const o=Object(J.b)(e);if(!(o instanceof Q.a))return t.log("weaken","Cannot be executed on this server."),!1;if(null==o)throw Ge("weaken","Invalid IP/hostname: "+e);const s=Object(A.c)(o);if(!s.res)throw Ge("weaken",s.msg||"");const l=Object(w.f)(o,U.a);return t.log("weaken",`Executing on '${o.hostname}' in ${Object(we.b)(1e3*l,!0)} (t=${_e.a.formatThreads(r)})`),Object(de.c)(1e3*l,t).then((function(){if(t.env.stopFlag)return Promise.reject(t);const e=Object(J.b)(t.serverIp);if(null===e)return t.log("weaken","Server is null, did it die?"),Promise.resolve(0);const a=1+(e.cpuCores-1)/16;o.weaken(b.a.ServerWeakenAmount*r*a),t.scriptRef.recordWeaken(o.ip,r);const n=Object(w.c)(o,U.a)*r;return t.log("weaken",`'${o.hostname}' security level weakened to ${o.hackDifficulty}. Gained ${_e.a.formatExp(n)} hacking exp (t=${_e.a.formatThreads(r)})`),t.scriptRef.onlineExpGained+=n,U.a.gainHackingExp(n),Promise.resolve(b.a.ServerWeakenAmount*r)}))},print:function(...e){if(0===e.length)throw Ge("print","Takes at least 1 argument.");t.print(lt(e))},tprint:function(...e){if(0===e.length)throw Ge("tprint","Takes at least 1 argument.");G.a.print(`${t.scriptRef.filename}: ${lt(e)}`)},tprintf:function(e,...t){G.a.print(Object(n.vsprintf)(e,t))},clearLog:function(){t.scriptRef.clearLog()},disableLog:function(e){if("ALL"===e){for(e in ut)t.disableLogs[e]=!0;t.log("disableLog","Disabled logging for all functions")}else{if(void 0===ut[e])throw Ge("disableLog",`Invalid argument: ${e}.`);t.disableLogs[e]=!0,t.log("disableLog","Disabled logging for "+e)}},enableLog:function(e){if(void 0===ut[e])throw Ge("enableLog",`Invalid argument: ${e}.`);delete t.disableLogs[e],t.log("enableLog","Enabled logging for "+e)},isLogEnabled:function(e){if(void 0===ut[e])throw Ge("isLogEnabled",`Invalid argument: ${e}.`);return!t.disableLogs[e]},getScriptLogs:function(e,a,...n){const r=Pe(e,a,"getScriptLogs",n);return null==r?(t.log("getScriptLogs",Fe(e,a,n)),""):r.logs.slice()},tail:function(e,a=t.serverIp,...n){let r;r=0===arguments.length?t.scriptRef:"number"==typeof e?Ie(e,"tail"):Pe(e,a,"tail",n),null!=r?Ce.a.emit(r):t.log("tail",Fe(e,a,n))},nuke:function(e){if(a("nuke",Object(i.c)("nuke")),void 0===e)throw Ge("nuke","Takes 1 argument.");const n=Object(J.b)(e);if(!(n instanceof Q.a))return t.log("nuke","Cannot be executed on this server."),!1;if(null==n)throw Ge("nuke",`Invalid IP/hostname: ${e}.`);if(!U.a.hasProgram(q.a.NukeProgram.name))throw Ge("nuke","You do not have the NUKE.exe virus!");if(n.openPortCount 0, is "+n);const o=Object(J.b)(t.serverIp);if(null==o)throw Ge("run","Could not find server. This is a bug. Report to dev.");return Object(me.d)("run",o,e,r,t,n)},exec:function(e,n,r=1,...o){if(a("exec",Object(i.c)("exec")),void 0===e||void 0===n)throw Ge("exec","Usage: exec(scriptname, server, [numThreads], [arg1], [arg2]...)");if(isNaN(r)||r<=0)throw Ge("exec","Invalid thread count. Must be numeric and > 0, is "+r);const s=Object(J.b)(n);if(null==s)throw Ge("exec","Invalid IP/hostname: "+n);return Object(me.d)("exec",s,e,o,t,r)},spawn:function(e,n,...r){if(a("spawn",Object(i.c)("spawn")),!e||!n)throw Ge("spawn","Usage: spawn(scriptname, threads)");Object(ve.a)(()=>{if(isNaN(n)||n<=0)throw Ge("spawn","Invalid thread count. Must be numeric and > 0, is "+n);const a=Object(J.b)(t.serverIp);if(null==a)throw Ge("spawn","Could not find server. This is a bug. Report to dev");return Object(me.d)("spawn",a,e,r,t,n)},1e4),t.log("spawn",`Will execute '${e}' in 10 seconds`),t.running=!1,Object(he.a)(t)&&t.log("spawn","Exiting...")},kill:function(e,n,...r){let o;a("kill",Object(i.c)("kill"));const s="number"==typeof e;if(s)o=Object(he.a)(e);else{if(void 0===e||void 0===n)throw Ge("kill","Usage: kill(scriptname, server, [arg1], [arg2]...)");const a=fe(n),i=Pe(e,n,"kill",r);if(null==i)return t.log("kill",Fe(e,n,r)),!1;o=Object(he.a)(i,a.ip)}return o?(s?t.log("kill","Killing script with PID "+e):t.log("kill",`Killing '${e}' on '${n}' with args: ${Object(Se.a)(r)}.`),!0):(s?t.log("kill","No script with PID "+e):t.log("kill",`No such script '${e}' on '${n}' with args: ${Object(Se.a)(r)}`),!1)},killall:function(e=t.serverIp){if(a("killall",Object(i.c)("killall")),void 0===e)throw Ge("killall","Takes 1 argument");const n=Object(J.b)(e);if(null==n)throw Ge("killall","Invalid IP/hostname: "+e);const r=n.runningScripts.length>0;for(let e=n.runningScripts.length-1;e>=0;--e)Object(he.a)(n.runningScripts[e],n.ip,!1);return o.a.emit(),t.log("killall",`Killing all scripts on '${n.hostname}'. May take a few minutes for the scripts to die.`),r},exit:function(){t.running=!1,Object(he.a)(t)?t.log("exit","Exiting..."):t.log("exit","Failed. This is a bug. Report to dev.")},scp:function(e,n,r){if(a("scp",Object(i.c)("scp")),2!==arguments.length&&3!==arguments.length)throw Ge("scp","Takes 2 or 3 arguments");if(e&&e.constructor===Array){let a=!1;return e.forEach((function(e){Ne(t).scp(e,n,r)&&(a=!0)})),a}if(!Object(ce.g)(e))throw Ge("scp",`Invalid filename: '${e}'`);if(!e.endsWith(".lit")&&!Object(z.a)(e)&&!e.endsWith("txt"))throw Ge("scp","Only works for .script, .lit, and .txt files");let o,s;if(null!=r){if(void 0===e||void 0===n||void 0===r)throw Ge("scp","Takes 2 or 3 arguments");if(o=Object(J.b)(r),null==o)throw Ge("scp","Invalid IP/hostname: "+r);if(s=Object(J.b)(n),null==s)throw Ge("scp","Invalid IP/hostname: "+n)}else{if(null==n)throw Ge("scp","Takes 2 or 3 arguments");if(void 0===e||void 0===n)throw Ge("scp","Takes 2 or 3 arguments");if(o=Object(J.b)(n),null==o)throw Ge("scp","Invalid IP/hostname: "+n);if(s=Object(J.b)(t.serverIp),null==s)throw Ge("scp","Could not find server ip for this script. This is a bug. Report to dev.")}if(e.endsWith(".lit")){let a=!1;for(let t=0;t=2&&(r=t.toString());const o=[];for(let e=0;e0){e[a]=[];for(let t=0;t=Object(X.b)())return t.log("purchaseServer",`You have reached the maximum limit of ${Object(X.b)()} servers. You cannot purchase any more.`),"";const o=Object(X.a)(n);if(o===1/0)return t.log("purchaseServer",`Invalid argument: ram='${n}'`),"";if(U.a.money.lt(o))return t.log("purchaseServer","Not enough money to purchase server. Need "+_e.a.formatMoney(o)),"";const s=Object(J.h)({ip:Object(V.c)(),hostname:r,organizationName:"",isConnectedTo:!1,adminRights:!0,purchasedByPlayer:!0,maxRam:n});Object(V.a)(s),U.a.purchasedServers.push(s.ip);const l=U.a.getHomeComputer();return l.serversOnNetwork.push(s.ip),s.serversOnNetwork.push(l.ip),U.a.loseMoney(o),t.log("purchaseServer",`Purchased new server with hostname '${s.hostname}' for ${_e.a.formatMoney(o)}`),s.hostname},deleteServer:function(e){a("deleteServer",Object(i.c)("deleteServer"));let n=String(e);n=n.replace(/\s\s+/g,"");const r=Object(J.a)(n);if(!(r instanceof Q.a))return t.log("deleteServer",`Invalid argument: hostname='${n}'`),!1;if(null==r)return t.log("deleteServer",`Invalid argument: hostname='${n}'`),!1;if(!r.purchasedByPlayer||"home"===r.hostname)return t.log("deleteServer","Cannot delete non-purchased server."),!1;const o=r.ip;if(r.isConnectedTo)return t.log("deleteServer","You are currently connected to the server you are trying to delete."),!1;if(o===t.serverIp)return t.log("deleteServer","Cannot delete the server this script is running on."),!1;if(r.runningScripts.length>0)return t.log("deleteServer",`Cannot delete server '${r.hostname}' because it still has scripts running.`),!1;let s=!1;for(let e=0;eb.a.NumNetscriptPorts)throw Ge("write",`Trying to write to invalid port: ${e}. Only ports 1-${b.a.NumNetscriptPorts} are valid.`);const t=me.a[e-1];if(null==t||!(t instanceof Object))throw Ge("write",`Could not find port: ${e}. This is a bug. Report to dev.`);return t.write(n)}},tryWrite:function(e,t=""){if(a("tryWrite",Object(i.c)("tryWrite")),isNaN(e))throw Ge("tryWrite","Invalid argument: "+e);{if((e=Math.round(e))<1||e>b.a.NumNetscriptPorts)throw Ge("tryWrite",`Invalid port: ${e}. Only ports 1-${b.a.NumNetscriptPorts} are valid.`);const a=me.a[e-1];if(null==a||!(a instanceof Object))throw Ge("tryWrite",`Could not find port: ${e}. This is a bug. Report to dev.`);return a.tryWrite(t)}},read:function(e){if(a("read",Object(i.c)("read")),isNaN(e)){if(Object(xe.a)(e)){const a=e,n=Object(J.b)(t.serverIp);if(null==n)throw Ge("read","Error getting Server. This is a bug. Report to dev.");if(Object(z.a)(a)){const e=t.getScriptOnServer(a,n);return null==e?"":e.code}{const e=Object(ue.c)(a,n);return null!==e?e.text:""}}throw Ge("read","Invalid argument: "+e)}{if((e=Math.round(e))<1||e>b.a.NumNetscriptPorts)throw Ge("read",`Invalid port: ${e}. Only ports 1-${b.a.NumNetscriptPorts} are valid.`);const t=me.a[e-1];if(null==t||!(t instanceof Object))throw Ge("read",`Could not find port: ${e}. This is a bug. Report to dev.`);return t.read()}},peek:function(e){if(a("peek",Object(i.c)("peek")),isNaN(e))throw Ge("peek",`Invalid argument. Must be a port number between 1 and ${b.a.NumNetscriptPorts}, is ${e}`);if((e=Math.round(e))<1||e>b.a.NumNetscriptPorts)throw Ge("peek",`Invalid argument. Must be a port number between 1 and ${b.a.NumNetscriptPorts}, is ${e}`);const t=me.a[e-1];if(null==t||!(t instanceof Object))throw Ge("peek",`Could not find port: ${e}. This is a bug. Report to dev.`);return t.peek()},clear:function(e){if(a("clear",Object(i.c)("clear")),!isNaN(e)){if((e=Math.round(e))<1||e>b.a.NumNetscriptPorts)throw Ge("clear",`Trying to clear invalid port: ${e}. Only ports 1-${b.a.NumNetscriptPorts} are valid`);const t=me.a[e-1];if(null==t||!(t instanceof Object))throw Ge("clear",`Could not find port: ${e}. This is a bug. Report to dev.`);return t.clear()}if(!Object(xe.a)(e))throw Ge("clear","Invalid argument: "+e);{const a=e,n=Object(J.b)(t.serverIp);if(null==n)throw Ge("clear","Error getting Server. This is a bug. Report to dev.");const r=Object(ue.c)(a,n);null!=r&&r.write("")}return 0},getPortHandle:function(e){if(a("getPortHandle",Object(i.c)("getPortHandle")),isNaN(e))throw Ge("getPortHandle",`Invalid port: ${e} Must be an integer between 1 and ${b.a.NumNetscriptPorts}.`);if((e=Math.round(e))<1||e>b.a.NumNetscriptPorts)throw Ge("getPortHandle",`Invalid port: ${e}. Only ports 1-${b.a.NumNetscriptPorts} are valid.`);const t=me.a[e-1];if(null==t||!(t instanceof Object))throw Ge("getPortHandle",`Could not find port: ${e}. This is a bug. Report to dev.`);return t},rm:function(e,n){a("rm",Object(i.c)("rm")),null!=n&&""!==n||(n=t.serverIp);const r=fe(n,"rm").removeFile(e);return r.res||t.log("rm",r.msg+""),r.res},scriptRunning:function(e,t){a("scriptRunning",Object(i.c)("scriptRunning"));const n=Object(J.b)(t);if(null==n)throw Ge("scriptRunning","Invalid IP/hostname: "+t);for(let t=0;t{Object(Te.a)(t),e(!0)}}),r=Object(Oe.a)("button",{class:"popup-box-button",innerText:"No",clickListener:()=>{Object(Te.a)(t),e(!1)}});Object(Me.a)(t,[a,n,r])}))},wget:async function(a,n,r=t.serverIp){if(!Object(z.a)(n)&&!n.endsWith(".txt"))return t.log("wget",`Invalid target file: '${n}'. Must be a script or text file.`),Promise.resolve(!1);const i=fe(r,"wget");return new Promise((function(o){e.get(a,(function(e){let a;return a=Object(z.a)(n)?i.writeToScriptFile(n,e):i.writeToTextFile(n,e),a.success?a.overwritten?(t.log("wget",`Successfully retrieved content and overwrote '${n}' on '${r}'`),o(!0)):(t.log("wget",`Successfully retrieved content to new file '${n}' on '${r}'`),o(!0)):(t.log("wget","Failed."),o(!1))}),"text").fail((function(e){return t.log("wget",JSON.stringify(e)),o(!1)}))}))},getFavorToDonate:function(){return a("getFavorToDonate",Object(i.c)("getFavorToDonate")),Math.floor(b.a.BaseFavorToDonate*m.a.RepToDonateToFaction)},universityCourse:function(e,n){if(a("universityCourse",Object(i.c)("universityCourse")),He("universityCourse",1),U.a.isWorking){const e=U.a.singularityStopWork();t.log("universityCourse",e)}let r,o,s;switch(e.toLowerCase()){case L.a.AevumSummitUniversity.toLowerCase():if(U.a.city!=B.a.Aevum)return t.log("universityCourse","You cannot study at 'Summit University' because you are not in 'Aevum'."),!1;U.a.gotoLocation(L.a.AevumSummitUniversity),r=4,o=3;break;case L.a.Sector12RothmanUniversity.toLowerCase():if(U.a.city!=B.a.Sector12)return t.log("universityCourse","You cannot study at 'Rothman University' because you are not in 'Sector-12'."),!1;U.a.location=L.a.Sector12RothmanUniversity,r=3,o=2;break;case L.a.VolhavenZBInstituteOfTechnology.toLowerCase():if(U.a.city!=B.a.Volhaven)return t.log("universityCourse","You cannot study at 'ZB Institute of Technology' because you are not in 'Volhaven'."),!1;U.a.location=L.a.VolhavenZBInstituteOfTechnology,r=5,o=4;break;default:return t.log("universityCourse",`Invalid university name: '${e}'.`),!1}switch(n.toLowerCase()){case"Study Computer Science".toLowerCase():s=b.a.ClassStudyComputerScience;break;case"Data Structures".toLowerCase():s=b.a.ClassDataStructures;break;case"Networks".toLowerCase():s=b.a.ClassNetworks;break;case"Algorithms".toLowerCase():s=b.a.ClassAlgorithms;break;case"Management".toLowerCase():s=b.a.ClassManagement;break;case"Leadership".toLowerCase():s=b.a.ClassLeadership;break;default:return t.log("universityCourse",`Invalid class name: ${n}.`),!1}return U.a.startClass(Ee.b,r,o,s),t.log("universityCourse",`Started ${s} at ${e}`),!0},gymWorkout:function(e,n){if(a("gymWorkout",Object(i.c)("gymWorkout")),He("gymWorkout",1),U.a.isWorking){const e=U.a.singularityStopWork();t.log("gymWorkout",e)}let r,o;switch(e.toLowerCase()){case L.a.AevumCrushFitnessGym.toLowerCase():if(U.a.city!=B.a.Aevum)return t.log("gymWorkout","You cannot workout at 'Crush Fitness' because you are not in 'Aevum'."),!1;U.a.location=L.a.AevumCrushFitnessGym,r=3,o=2;break;case L.a.AevumSnapFitnessGym.toLowerCase():if(U.a.city!=B.a.Aevum)return t.log("gymWorkout","You cannot workout at 'Snap Fitness' because you are not in 'Aevum'."),!1;U.a.location=L.a.AevumSnapFitnessGym,r=10,o=5;break;case L.a.Sector12IronGym.toLowerCase():if(U.a.city!=B.a.Sector12)return t.log("gymWorkout","You cannot workout at 'Iron Gym' because you are not in 'Sector-12'."),!1;U.a.location=L.a.Sector12IronGym,r=1,o=1;break;case L.a.Sector12PowerhouseGym.toLowerCase():if(U.a.city!=B.a.Sector12)return t.log("gymWorkout","You cannot workout at 'Powerhouse Gym' because you are not in 'Sector-12'."),!1;U.a.location=L.a.Sector12PowerhouseGym,r=20,o=10;break;case L.a.VolhavenMilleniumFitnessGym.toLowerCase():if(U.a.city!=B.a.Volhaven)return t.log("gymWorkout","You cannot workout at 'Millenium Fitness Gym' because you are not in 'Volhaven'."),!1;U.a.location=L.a.VolhavenMilleniumFitnessGym,r=7,o=4;break;default:return t.log("gymWorkout",`Invalid gym name: ${e}. gymWorkout() failed`),!1}switch(n.toLowerCase()){case"strength".toLowerCase():case"str".toLowerCase():U.a.startClass(Ee.b,r,o,b.a.ClassGymStrength);break;case"defense".toLowerCase():case"def".toLowerCase():U.a.startClass(Ee.b,r,o,b.a.ClassGymDefense);break;case"dexterity".toLowerCase():case"dex".toLowerCase():U.a.startClass(Ee.b,r,o,b.a.ClassGymDexterity);break;case"agility".toLowerCase():case"agi".toLowerCase():U.a.startClass(Ee.b,r,o,b.a.ClassGymAgility);break;default:return t.log("gymWorkout",`Invalid stat: ${n}.`),!1}return t.log("gymWorkout",`Started training ${n} at ${e}`),!0},travelToCity:function(e){switch(a("travelToCity",Object(i.c)("travelToCity")),He("travelToCity",1),e){case B.a.Aevum:case B.a.Chongqing:case B.a.Sector12:case B.a.NewTokyo:case B.a.Ishima:case B.a.Volhaven:if(U.a.money.lt(b.a.TravelCost))throw Ge("travelToCity","Not enough money to travel.");return U.a.loseMoney(b.a.TravelCost),U.a.city=e,t.log("travelToCity","Traveled to "+e),!0;default:return t.log("travelToCity",`Invalid city name: '${e}'.`),!1}},purchaseTor:function(){if(a("purchaseTor",Object(i.c)("purchaseTor")),He("purchaseTor",1),null!=Z.a["Darkweb Server"])return t.log("purchaseTor","You already have a TOR router!"),!1;if(U.a.money.lt(b.a.TorRouterCost))return t.log("purchaseTor","You cannot afford to purchase a Tor router."),!1;U.a.loseMoney(b.a.TorRouterCost);const e=Object(J.h)({ip:Object(V.c)(),hostname:"darkweb",organizationName:"",isConnectedTo:!1,adminRights:!1,purchasedByPlayer:!1,maxRam:1});return Object(V.a)(e),Z.a.addIp("Darkweb Server",e.ip),U.a.getHomeComputer().serversOnNetwork.push(e.ip),e.serversOnNetwork.push(U.a.getHomeComputer().ip),U.a.gainIntelligenceExp(b.a.IntelligenceSingFnBaseExpGain),t.log("purchaseTor","You have purchased a Tor router!"),!0},purchaseProgram:function(e){if(a("purchaseProgram",Object(i.c)("purchaseProgram")),He("purchaseProgram",1),null==Z.a["Darkweb Server"])return t.log("purchaseProgram","You do not have the TOR router."),!1;e=e.toLowerCase();let n=null;for(const t in E.a){const a=E.a[t];a.program.toLowerCase()==e&&(n=a)}return null==n?(t.log("purchaseProgram",`Invalid program name: '${e}.`),!1):U.a.money.lt(n.price)?(t.log("purchaseProgram",`Not enough money to purchase '${n.program}'. Need ${_e.a.formatMoney(n.price)}`),!1):U.a.hasProgram(n.program)?(t.log("purchaseProgram",`You already have the '${n.program}' program`),!0):(U.a.loseMoney(n.price),U.a.getHomeComputer().programs.push(n.program),t.log("purchaseProgram",`You have purchased the '${n.program}' program. The new program can be found on your home computer.`),!0)},getCurrentServer:function(){return a("getCurrentServer",Object(i.c)("getCurrentServer")),He("getCurrentServer",1),U.a.getCurrentServer().hostname},connect:function(e){if(a("connect",Object(i.c)("connect")),He("connect",1),!e)throw Ge("connect",`Invalid hostname: '${e}'`);const t=Object(J.b)(e);if(null==t)throw Ge("connect",`Invalid hostname: '${e}'`);if("home"===e)return U.a.getCurrentServer().isConnectedTo=!1,U.a.currentServer=U.a.getHomeComputer().ip,U.a.getCurrentServer().isConnectedTo=!0,G.a.setcwd("/"),!0;const n=U.a.getCurrentServer();for(let a=0;a=b.a.HomeComputerMaxRam)return t.log("upgradeHomeRam","Your home computer is at max RAM."),!1;const n=U.a.getUpgradeHomeRamCost();return U.a.money.lt(n)?(t.log("upgradeHomeRam","You don't have enough money. Need "+_e.a.formatMoney(n)),!1):(e.maxRam*=2,U.a.loseMoney(n),U.a.gainIntelligenceExp(b.a.IntelligenceSingFnBaseExpGain),t.log("upgradeHomeRam",`Purchased additional RAM for home computer! It now has ${e.maxRam}GB of RAM.`),!0)},getUpgradeHomeRamCost:function(){return a("getUpgradeHomeRamCost",Object(i.c)("getUpgradeHomeRamCost")),He("getUpgradeHomeRamCost",2),U.a.getUpgradeHomeRamCost()},workForCompany:function(e){if(a("workForCompany",Object(i.c)("workForCompany")),He("workForCompany",2),null==e&&(e=U.a.companyName),null==e||""===e||!(f.a[e]instanceof d.a))return t.log("workForCompany",`Invalid company: '${e}'`),!1;if(!Object.keys(U.a.jobs).includes(e))return t.log("workForCompany",`You do not have a job at '${e}'`),!1;const n=U.a.jobs[e],r=y.a[n];if(""===n||!(r instanceof g.a))return t.log("workForCompany","You do not have a job"),!1;if(U.a.isWorking){const e=U.a.singularityStopWork();t.log("workForCompany",e)}return r.isPartTimeJob()?U.a.startWorkPartTime(Ee.b,e):U.a.startWork(Ee.b,e),t.log("workForCompany",`Began working at '${U.a.companyName}' as a '${n}'`),!0},applyToCompany:function(e,n){let r;switch(a("applyToCompany",Object(i.c)("applyToCompany")),He("applyToCompany",2),Xe("applyToCompany",e),U.a.location=e,n.toLowerCase()){case"software":r=U.a.applyForSoftwareJob(!0);break;case"software consultant":r=U.a.applyForSoftwareConsultantJob(!0);break;case"it":r=U.a.applyForItJob(!0);break;case"security engineer":r=U.a.applyForSecurityEngineerJob(!0);break;case"network engineer":r=U.a.applyForNetworkEngineerJob(!0);break;case"business":r=U.a.applyForBusinessJob(!0);break;case"business consultant":r=U.a.applyForBusinessConsultantJob(!0);break;case"security":r=U.a.applyForSecurityJob(!0);break;case"agent":r=U.a.applyForAgentJob(!0);break;case"employee":r=U.a.applyForEmployeeJob(!0);break;case"part-time employee":r=U.a.applyForPartTimeEmployeeJob(!0);break;case"waiter":r=U.a.applyForWaiterJob(!0);break;case"part-time waiter":r=U.a.applyForPartTimeWaiterJob(!0);break;default:return t.log("applyToCompany",`Invalid job: '${n}'.`),!1}return r?t.log("applyToCompany",`You were offered a new job at '${e}' as a '${U.a.jobs[e]}'`):t.log("applyToCompany",`You failed to get a new job/promotion at '${e}' in the '${n}' field.`),r},getCompanyRep:function(e){a("getCompanyRep",Object(i.c)("getCompanyRep")),He("getCompanyRep",2);return Xe("getCompanyRep",e).playerReputation},getCompanyFavor:function(e){a("getCompanyFavor",Object(i.c)("getCompanyFavor")),He("getCompanyFavor",2);return Xe("getCompanyFavor",e).favor},getCompanyFavorGain:function(e){a("getCompanyFavorGain",Object(i.c)("getCompanyFavorGain")),He("getCompanyFavorGain",2);return Xe("getCompanyFavorGain",e).getFavorGain()[0]},checkFactionInvitations:function(){return a("checkFactionInvitations",Object(i.c)("checkFactionInvitations")),He("checkFactionInvitations",2),U.a.factionInvitations.slice()},joinFaction:function(e){if(a("joinFaction",Object(i.c)("joinFaction")),He("joinFaction",2),Qe("joinFaction",e),!U.a.factionInvitations.includes(e))return t.log("joinFaction",`You have not been invited by faction '${e}'`),!1;const n=T.a[e];Object(R.d)(n);for(let t=0;t{Object(c.a)(),ot(e)},0),t.running=!1,Object(he.a)(t)},installAugmentations:function(e){if(a("installAugmentations",Object(i.c)("installAugmentations")),He("installAugmentations",3),0===U.a.queuedAugmentations.length)return t.log("installAugmentations","You do not have any Augmentations to be installed."),!1;U.a.gainIntelligenceExp(b.a.IntelligenceSingFnBaseExpGain),t.log("installAugmentations","Installing Augmentations. This will cause this script to be killed"),Object(ve.a)(()=>{Object(l.d)(),ot(e)},0),t.running=!1,Object(he.a)(t)},gang:{createGang:function(e){a("createGang",Object(i.c)("gang","createGang"));if(!U.a.canAccessGang()||!["Slum Snakes","Tetrads","The Syndicate","The Dark Army","Speakers for the Dead","NiteSec","The Black Hand"].includes(e))return!1;if(U.a.inGang())return!1;if(!U.a.factions.includes(e))return!1;const t="NiteSec"===e||"The Black Hand"===e;return U.a.startGang(e,t),!0},inGang:function(){return a("inGang",Object(i.c)("gang","inGang")),U.a.inGang()},getMemberNames:function(){a("getMemberNames",Object(i.c)("gang","getMemberNames")),Ve("getMemberNames");const e=U.a.gang;if(null===e)throw new Error("Should not be called without Gang");return e.members.map(e=>e.name)},getGangInformation:function(){a("getGangInformation",Object(i.c)("gang","getGangInformation")),Ve("getGangInformation");const e=U.a.gang;if(null===e)throw new Error("Should not be called without Gang");return{faction:e.facName,isHacking:e.isHackingGang,moneyGainRate:e.moneyGainRate,power:e.getPower(),respect:e.respect,respectGainRate:e.respectGainRate,territory:e.getTerritory(),territoryClashChance:e.territoryClashChance,territoryWarfareEngaged:e.territoryWarfareEngaged,wantedLevel:e.wanted,wantedLevelGainRate:e.wantedGainRate}},getOtherGangInformation:function(){a("getOtherGangInformation",Object(i.c)("gang","getOtherGangInformation")),Ve("getOtherGangInformation");const e={};for(const t in x.a)e[t]=Object.assign({},x.a[t]);return e},getMemberInformation:function(e){a("getMemberInformation",Object(i.c)("gang","getMemberInformation")),Ve("getMemberInformation");const t=Ye("getMemberInformation",e);return{name:t.name,task:t.task,earnedRespect:t.earnedRespect,hack:t.hack,str:t.str,def:t.def,dex:t.dex,agi:t.agi,cha:t.cha,hack_exp:t.hack_exp,str_exp:t.str_exp,def_exp:t.def_exp,dex_exp:t.dex_exp,agi_exp:t.agi_exp,cha_exp:t.cha_exp,hack_mult:t.hack_mult,str_mult:t.str_mult,def_mult:t.def_mult,dex_mult:t.dex_mult,agi_mult:t.agi_mult,cha_mult:t.cha_mult,hack_asc_mult:t.calculateAscensionMult(t.hack_asc_points),str_asc_mult:t.calculateAscensionMult(t.str_asc_points),def_asc_mult:t.calculateAscensionMult(t.def_asc_points),dex_asc_mult:t.calculateAscensionMult(t.dex_asc_points),agi_asc_mult:t.calculateAscensionMult(t.agi_asc_points),cha_asc_mult:t.calculateAscensionMult(t.cha_asc_points),hack_asc_points:t.hack_asc_points,str_asc_points:t.str_asc_points,def_asc_points:t.def_asc_points,dex_asc_points:t.dex_asc_points,agi_asc_points:t.agi_asc_points,cha_asc_points:t.cha_asc_points,upgrades:t.upgrades.slice(),augmentations:t.augmentations.slice()}},canRecruitMember:function(){a("canRecruitMember",Object(i.c)("gang","canRecruitMember")),Ve("canRecruitMember");const e=U.a.gang;if(null===e)throw new Error("Should not be called without Gang");return e.canRecruitMember()},recruitMember:function(e){a("recruitMember",Object(i.c)("gang","recruitMember")),Ve("recruitMember");const n=U.a.gang;if(null===n)throw new Error("Should not be called without Gang");const r=n.recruitMember(e);return r?t.log("recruitMember",`Successfully recruited Gang Member '${e}'`):t.log("recruitMember",`Failed to recruit Gang Member '${e}'`),r},getTaskNames:function(){a("getTaskNames",Object(i.c)("gang","getTaskNames")),Ve("getTaskNames");const e=U.a.gang;if(null===e)throw new Error("Should not be called without Gang");const t=e.getAllTaskNames();return t.unshift("Unassigned"),t},setMemberTask:function(e,n){a("setMemberTask",Object(i.c)("gang","setMemberTask")),Ve("setMemberTask");const r=Ye("setMemberTask",e).assignToTask(n);return r?t.log("setMemberTask",`Successfully assigned Gang Member '${e}' to '${n}' task`):t.log("setMemberTask",`Failed to assign Gang Member '${e}' to '${n}' task. '${e}' is now Unassigned`),r},getTaskStats:function(e){a("getTaskStats",Object(i.c)("gang","getTaskStats")),Ve("getTaskStats");const t=function(e,t){const a=O.a[t];if(!a)throw Ge("gang."+e,`Invalid task: '${t}'`);return a}("getTaskStats",e),n=Object.assign({},t);return n.territory=Object.assign({},t.territory),n},getEquipmentNames:function(){return a("getEquipmentNames",Object(i.c)("gang","getEquipmentNames")),Ve("getEquipmentNames"),Object.keys(M.a)},getEquipmentCost:function(e){a("getEquipmentCost",Object(i.c)("gang","getEquipmentCost")),Ve("getEquipmentCost");const t=U.a.gang;if(null===t)throw new Error("Should not be called without Gang");const n=M.a[e];return null===n?1/0:t.getUpgradeCost(n)},getEquipmentType:function(e){a("getEquipmentType",Object(i.c)("gang","getEquipmentType")),Ve("getEquipmentType");const t=M.a[e];return null==t?"":t.getType()},getEquipmentStats:function(e){a("getEquipmentStats",Object(i.c)("gang","getEquipmentStats")),Ve("getEquipmentStats");const t=M.a[e];if(!t)throw Ge("getEquipmentStats","Invalid equipment: "+e);return Object.assign({},t.mults)},purchaseEquipment:function(e,n){a("purchaseEquipment",Object(i.c)("gang","purchaseEquipment")),Ve("purchaseEquipment");const r=U.a.gang;if(null===r)throw new Error("Should not be called without Gang");const o=Ye("purchaseEquipment",e),s=M.a[n];if(!s)return!1;const l=o.buyUpgrade(s,U.a,r);return l?t.log("purchaseEquipment",`Purchased '${n}' for Gang member '${e}'`):t.log("purchaseEquipment",`Failed to purchase '${n}' for Gang member '${e}'`),l},ascendMember:function(e){a("ascendMember",Object(i.c)("gang","ascendMember")),Ve("ascendMember");const n=U.a.gang;if(null===n)throw new Error("Should not be called without Gang");const r=Ye("ascendMember",e);if(r.canAscend())return n.ascendMember(r,t)},setTerritoryWarfare:function(e){a("setTerritoryWarfare",Object(i.c)("gang","setTerritoryWarfare")),Ve("setTerritoryWarfare");const n=U.a.gang;if(null===n)throw new Error("Should not be called without Gang");e?(n.territoryWarfareEngaged=!0,t.log("setTerritoryWarfare","Engaging in Gang Territory Warfare")):(n.territoryWarfareEngaged=!1,t.log("setTerritoryWarfare","Disengaging in Gang Territory Warfare"))},getChanceToWinClash:function(e){a("getChanceToWinClash",Object(i.c)("gang","getChanceToWinClash")),Ve("getChanceToWinClash");const t=U.a.gang;if(null===t)throw new Error("Should not be called without Gang");if(null==x.a[e])throw Ge("gang.getChanceToWinClash","Invalid gang: "+e);const n=x.a[t.facName].power;return n/(x.a[e].power+n)},getBonusTime:function(){a("getBonusTime",Object(i.c)("gang","getBonusTime")),Ve("getBonusTime");const e=U.a.gang;if(null===e)throw new Error("Should not be called without Gang");return Math.round(e.storedCycles/5)}},bladeburner:{getContractNames:function(){a("getContractNames",Object(i.c)("bladeburner","getContractNames")),Ue("getContractNames");const e=U.a.bladeburner;if(null===e)throw new Error("Should not be called without Bladeburner");return e.getContractNamesNetscriptFn()},getOperationNames:function(){a("getOperationNames",Object(i.c)("bladeburner","getOperationNames")),Ue("getOperationNames");const e=U.a.bladeburner;if(null===e)throw new Error("Should not be called without Bladeburner");return e.getOperationNamesNetscriptFn()},getBlackOpNames:function(){a("getBlackOpNames",Object(i.c)("bladeburner","getBlackOpNames")),Ue("getBlackOpNames");const e=U.a.bladeburner;if(null===e)throw new Error("Should not be called without Bladeburner");return e.getBlackOpNamesNetscriptFn()},getBlackOpRank:function(e=""){a("getBlackOpRank",Object(i.c)("bladeburner","getBlackOpRank")),Ue("getBlackOpRank");return Je("getBlackOpRank","blackops",e).reqdRank},getGeneralActionNames:function(){a("getGeneralActionNames",Object(i.c)("bladeburner","getGeneralActionNames")),Ue("getGeneralActionNames");const e=U.a.bladeburner;if(null===e)throw new Error("Should not be called without Bladeburner");return e.getGeneralActionNamesNetscriptFn()},getSkillNames:function(){a("getSkillNames",Object(i.c)("bladeburner","getSkillNames")),Ue("getSkillNames");const e=U.a.bladeburner;if(null===e)throw new Error("Should not be called without Bladeburner");return e.getSkillNamesNetscriptFn()},startAction:function(e="",n=""){a("startAction",Object(i.c)("bladeburner","startAction")),Ue("startAction");const r=U.a.bladeburner;if(null===r)throw new Error("Should not be called without Bladeburner");try{return r.startActionNetscriptFn(U.a,e,n,t)}catch(e){throw Ge("bladeburner.startAction",e)}},stopBladeburnerAction:function(){a("stopBladeburnerAction",Object(i.c)("bladeburner","stopBladeburnerAction")),Ue("stopBladeburnerAction");const e=U.a.bladeburner;if(null===e)throw new Error("Should not be called without Bladeburner");return e.resetAction()},getCurrentAction:function(){a("getCurrentAction",Object(i.c)("bladeburner","getCurrentAction")),Ue("getCurrentAction");const e=U.a.bladeburner;if(null===e)throw new Error("Should not be called without Bladeburner");return e.getTypeAndNameFromActionId(e.action)},getActionTime:function(e="",n=""){a("getActionTime",Object(i.c)("bladeburner","getActionTime")),Ue("getActionTime");const r=U.a.bladeburner;if(null===r)throw new Error("Should not be called without Bladeburner");try{return r.getActionTimeNetscriptFn(U.a,e,n,t)}catch(e){throw Ge("bladeburner.getActionTime",e)}},getActionEstimatedSuccessChance:function(e="",n=""){a("getActionEstimatedSuccessChance",Object(i.c)("bladeburner","getActionEstimatedSuccessChance")),Ue("getActionEstimatedSuccessChance");const r=U.a.bladeburner;if(null===r)throw new Error("Should not be called without Bladeburner");try{return r.getActionEstimatedSuccessChanceNetscriptFn(U.a,e,n,t)}catch(e){throw Ge("bladeburner.getActionEstimatedSuccessChance",e)}},getActionRepGain:function(e="",t="",n){a("getActionRepGain",Object(i.c)("bladeburner","getActionRepGain")),Ue("getActionRepGain");const r=Je("getActionRepGain",e,t);let o;return o=null==n||isNaN(n)?Math.pow(r.rewardFac,r.level-1):Math.pow(r.rewardFac,n-1),r.rankGain*o*m.a.BladeburnerRank},getActionCountRemaining:function(e="",n=""){a("getActionCountRemaining",Object(i.c)("bladeburner","getActionCountRemaining")),Ue("getActionCountRemaining");const r=U.a.bladeburner;if(null===r)throw new Error("Should not be called without Bladeburner");try{return r.getActionCountRemainingNetscriptFn(e,n,t)}catch(e){throw Ge("bladeburner.getActionCountRemaining",e)}},getActionMaxLevel:function(e="",t=""){a("getActionMaxLevel",Object(i.c)("bladeburner","getActionMaxLevel")),Ue("getActionMaxLevel");return Je("getActionMaxLevel",e,t).maxLevel},getActionCurrentLevel:function(e="",t=""){a("getActionCurrentLevel",Object(i.c)("bladeburner","getActionCurrentLevel")),Ue("getActionCurrentLevel");return Je("getActionCurrentLevel",e,t).level},getActionAutolevel:function(e="",t=""){a("getActionAutolevel",Object(i.c)("bladeburner","getActionAutolevel")),Ue("getActionAutolevel");return Je("getActionCurrentLevel",e,t).autoLevel},setActionAutolevel:function(e="",t="",n=!0){a("setActionAutolevel",Object(i.c)("bladeburner","setActionAutolevel")),Ue("setActionAutolevel");Je("setActionAutolevel",e,t).autoLevel=n},setActionLevel:function(e="",t="",n=1){a("setActionLevel",Object(i.c)("bladeburner","setActionLevel")),Ue("setActionLevel");const r=Je("setActionLevel",e,t);if(n<1||n>r.maxLevel)throw Ge("bladeburner.setActionLevel",`Level must be between 1 and ${r.maxLevel}, is ${n}`);r.level=n},getRank:function(){a("getRank",Object(i.c)("bladeburner","getRank")),Ue("getRank");const e=U.a.bladeburner;if(null===e)throw new Error("Should not be called without Bladeburner");return e.rank},getSkillPoints:function(){a("getSkillPoints",Object(i.c)("bladeburner","getSkillPoints")),Ue("getSkillPoints");const e=U.a.bladeburner;if(null===e)throw new Error("Should not be called without Bladeburner");return e.skillPoints},getSkillLevel:function(e=""){a("getSkillLevel",Object(i.c)("bladeburner","getSkillLevel")),Ue("getSkillLevel");const n=U.a.bladeburner;if(null===n)throw new Error("Should not be called without Bladeburner");try{return n.getSkillLevelNetscriptFn(e,t)}catch(e){throw Ge("bladeburner.getSkillLevel",e)}},getSkillUpgradeCost:function(e=""){a("getSkillUpgradeCost",Object(i.c)("bladeburner","getSkillUpgradeCost")),Ue("getSkillUpgradeCost");const n=U.a.bladeburner;if(null===n)throw new Error("Should not be called without Bladeburner");try{return n.getSkillUpgradeCostNetscriptFn(e,t)}catch(e){throw Ge("bladeburner.getSkillUpgradeCost",e)}},upgradeSkill:function(e){a("upgradeSkill",Object(i.c)("bladeburner","upgradeSkill")),Ue("upgradeSkill");const n=U.a.bladeburner;if(null===n)throw new Error("Should not be called without Bladeburner");try{return n.upgradeSkillNetscriptFn(e,t)}catch(e){throw Ge("bladeburner.upgradeSkill",e)}},getTeamSize:function(e="",n=""){a("getTeamSize",Object(i.c)("bladeburner","getTeamSize")),Ue("getTeamSize");const r=U.a.bladeburner;if(null===r)throw new Error("Should not be called without Bladeburner");try{return r.getTeamSizeNetscriptFn(e,n,t)}catch(e){throw Ge("bladeburner.getTeamSize",e)}},setTeamSize:function(e="",n="",r){a("setTeamSize",Object(i.c)("bladeburner","setTeamSize")),Ue("setTeamSize");const o=U.a.bladeburner;if(null===o)throw new Error("Should not be called without Bladeburner");try{return o.setTeamSizeNetscriptFn(e,n,r,t)}catch(e){throw Ge("bladeburner.setTeamSize",e)}},getCityEstimatedPopulation:function(e){a("getCityEstimatedPopulation",Object(i.c)("bladeburner","getCityEstimatedPopulation")),Ue("getCityEstimatedPopulation"),qe("getCityEstimatedPopulation",e);const t=U.a.bladeburner;if(null===t)throw new Error("Should not be called without Bladeburner");return t.cities[e].popEst},getCityEstimatedCommunities:function(e){a("getCityEstimatedCommunities",Object(i.c)("bladeburner","getCityEstimatedCommunities")),Ue("getCityEstimatedCommunities"),qe("getCityEstimatedCommunities",e);const t=U.a.bladeburner;if(null===t)throw new Error("Should not be called without Bladeburner");return t.cities[e].commsEst},getCityChaos:function(e){a("getCityChaos",Object(i.c)("bladeburner","getCityChaos")),Ue("getCityChaos"),qe("getCityChaos",e);const t=U.a.bladeburner;if(null===t)throw new Error("Should not be called without Bladeburner");return t.cities[e].chaos},getCity:function(){a("getCity",Object(i.c)("bladeburner","getCity")),Ue("getCityChaos");const e=U.a.bladeburner;if(null===e)throw new Error("Should not be called without Bladeburner");return e.city},switchCity:function(e){a("switchCity",Object(i.c)("bladeburner","switchCity")),Ue("switchCity"),qe("switchCity",e);const t=U.a.bladeburner;if(null===t)throw new Error("Should not be called without Bladeburner");return t.city=e},getStamina:function(){a("getStamina",Object(i.c)("bladeburner","getStamina")),Ue("getStamina");const e=U.a.bladeburner;if(null===e)throw new Error("Should not be called without Bladeburner");return[e.stamina,e.maxStamina]},joinBladeburnerFaction:function(){a("joinBladeburnerFaction",Object(i.c)("bladeburner","joinBladeburnerFaction")),Ue("joinBladeburnerFaction",!0);const e=U.a.bladeburner;if(null===e)throw new Error("Should not be called without Bladeburner");return e.joinBladeburnerFactionNetscriptFn(t)},joinBladeburnerDivision:function(){a("joinBladeburnerDivision",Object(i.c)("bladeburner","joinBladeburnerDivision")),Ue("joinBladeburnerDivision",!0);if(null===U.a.bladeburner)throw new Error("Should not be called without Bladeburner");if(7===U.a.bitNodeN||ee.a[7]>0){if(8===U.a.bitNodeN)return!1;if(U.a.bladeburner instanceof p.a)return!0;if(U.a.strength>=100&&U.a.defense>=100&&U.a.dexterity>=100&&U.a.agility>=100){U.a.bladeburner=new p.a(U.a),t.log("joinBladeburnerDivision","You have been accepted into the Bladeburner division");const e=document.getElementById("world-menu-header");return e instanceof HTMLElement&&(e.click(),e.click()),!0}return t.log("joinBladeburnerDivision","You do not meet the requirements for joining the Bladeburner division"),!1}},getBonusTime:function(){a("getBonusTime",Object(i.c)("bladeburner","getBonusTime")),Ue("getBonusTime");const e=U.a.bladeburner;if(null===e)throw new Error("Should not be called without Bladeburner");return Math.round(e.storedCycles/5)}},corporation:{expandIndustry:function(e,t){const a=U.a.corporation;if(null===a)throw new Error("Should not be called without a corporation");Object(_.l)(a,e,t)},expandCity:function(e,t){const a=et(e),n=U.a.corporation;if(null===n)throw new Error("Should not be called without a corporation");Object(_.k)(n,a,t)},unlockUpgrade:function(e){const t=Object.values(v.a).find(t=>t[2]===e);if(void 0===t)throw new Error(`No upgrade named '${e}'`);const a=U.a.corporation;if(null===a)throw new Error("Should not be called without a corporation");Object(_.x)(a,t)},levelUpgrade:function(e){const t=Object.values(k.a).find(t=>t[4]===e);if(void 0===t)throw new Error(`No upgrade named '${e}'`);const a=U.a.corporation;if(null===a)throw new Error("Should not be called without a corporation");Object(_.h)(a,t)},issueDividends:function(e){const t=U.a.corporation;if(null===t)throw new Error("Should not be called without a corporation");Object(_.g)(t,e)},sellMaterial:function(e,t,a,n,r){const i=nt(e,t,a);Object(_.o)(i,n,r)},sellProduct:function(e,t,a,n,r,i){const o=rt(e,a);Object(_.p)(o,t,n,r,i)},discontinueProduct:function(e,t){et(e).discontinueProduct(rt(e,t))},setSmartSupply:function(e,t,a){const n=at(e,t);Object(_.u)(n,a)},buyMaterial:function(e,t,a,n){const r=nt(e,t,a);Object(_.c)(r,n)},employees:function(e,t){return tt(e,t).employees.map(e=>Object.assign({},e))},assignJob:function(e,t,a,n){const r=it(e,t,a);Object(_.a)(r,n)},hireEmployee:function(e,t){tt(e,t).hireRandomEmployee()},upgradeOfficeSize:function(e,t,a){const n=tt(e,t),r=U.a.corporation;if(null===r)throw new Error("Should not be called without a corporation");Object(_.y)(r,n,a)},throwParty:function(e,t,a){const n=tt(e,t),r=U.a.corporation;if(null===r)throw new Error("Should not be called without a corporation");Object(_.w)(r,n,a)},purchaseWarehouse:function(e,t){const a=U.a.corporation;if(null===a)throw new Error("Should not be called without a corporation");Object(_.m)(a,et(e),t)},upgradeWarehouse:function(e,t){const a=U.a.corporation;if(null===a)throw new Error("Should not be called without a corporation");Object(_.z)(a,et(e),at(e,t))},buyCoffee:function(e,t){const a=U.a.corporation;if(null===a)throw new Error("Should not be called without a corporation");Object(_.b)(a,et(e),tt(e,t))},hireAdVert:function(e){const t=U.a.corporation;if(null===t)throw new Error("Should not be called without a corporation");Object(_.f)(t,et(e),tt(e,"Sector-12"))},makeProduct:function(e,t,a,n,r){const i=U.a.corporation;if(null===i)throw new Error("Should not be called without a corporation");Object(_.j)(i,et(e),t,a,n,r)},research:function(e,t){Object(_.n)(et(e),t)},exportMaterial:function(e,t,a,n,r,i){Object(_.e)(a,n,nt(e,t,r),i+"")},cancelExportMaterial:function(e,t,a,n,r,i){Object(_.d)(a,n,nt(e,t,r),i+"")},setMaterialMarketTA1:function(e,t,a,n){Object(_.q)(nt(e,t,a),n)},setMaterialMarketTA2:function(e,t,a,n){Object(_.r)(nt(e,t,a),n)},setProductMarketTA1:function(e,t,a){Object(_.s)(rt(e,t),a)},setProductMarketTA2:function(e,t,a){Object(_.t)(rt(e,t),a)},getDivision:function(e){return et(e)},getOffice:function(e,t){return tt(e,t)},getWarehouse:function(e,t){return at(e,t)},getMaterial:function(e,t,a){return nt(e,t,a)},getProduct:function(e,t){return rt(e,t)},getEmployee:function(e,t,a){return it(e,t,a)}},codingcontract:{attempt:function(e,n,r=t.serverIp,{returnReward:o}={}){a("attempt",Object(i.c)("codingcontract","attempt"));const s=ze("attempt",r,n);if(Object(ke.a)(e)){const t=[];for(let a=0;a=s.getMaxNumTries()?(t.log("attempt",`Coding Contract attempt '${n}' failed. Contract is now self-destructing`),c.removeContract(n)):t.log("attempt",`Coding Contract attempt '${n}' failed. ${s.getMaxNumTries()-s.tries} attempts remaining.`),!!o&&""},getContractType:function(e,n=t.serverIp){a("getContractType",Object(i.c)("codingcontract","getContractType"));return ze("getContractType",n,e).getType()},getData:function(e,n=t.serverIp){a("getData",Object(i.c)("codingcontract","getData"));const r=ze("getData",n,e).getData();if(r.constructor===Array){const e=r.slice();for(let t=0;t1?2:1;a["-".repeat(n)+t[0]]=e}const n=r(a,{argv:t.args});for(const t of e)n.hasOwnProperty("--"+t[0])&&n.hasOwnProperty("-"+t[0])||(n[t[0]]=t[1]);for(const e of Object.keys(n)){if(!e.startsWith("-"))continue;const t=n[e];delete n[e];const a=2===e.length?1:2;n[e.slice(a)]=t}return n}};const ut=Object.fromEntries([...function e(t){const a=[];for(const[n,r]of Object.entries(t))"function"==typeof r?a.push(n):"object"==typeof r&&a.push(...e(r));return a}(ct)].map(e=>[e,!0]));return ct}}).call(this,a(581))},function(e,t,a){"use strict";a.d(t,"a",(function(){return d}));var n=a(172),r=a(24),i=a(15),o=a(21),s=a(228),l=a(29),c=a(263),u=a(6),m=a(205),h=a(77),p=a(801);class d{constructor(e="",t=!1){this.facName=e,this.members=[],this.wanted=1,this.respect=1,this.isHackingGang=t,this.respectGainRate=0,this.wantedGainRate=0,this.moneyGainRate=0,this.storedCycles=0,this.storedTerritoryAndPowerCycles=0,this.territoryClashChance=0,this.territoryWarfareEngaged=!1,this.notifyMemberDeath=!0}getPower(){return h.a[this.facName].power}getTerritory(){return h.a[this.facName].territory}process(e=1,t){const a=1e3/u.a._idleSpeed;if(isNaN(e)&&console.error("NaN passed into Gang.process(): "+e),this.storedCycles+=e,this.storedCycles<2*a)return;const n=Math.min(this.storedCycles,5*a);try{this.processGains(n,t),this.processExperienceGains(n),this.processTerritoryAndPowerGains(n),this.storedCycles-=n}catch(e){console.error("Exception caught when processing Gang: "+e)}}processGains(e=1,t){let a=0,o=0,s=0,l=0;for(let e=0;et&&(a=1),this.wanted=a,this.wanted<1&&(this.wanted=1)}t.gainMoney(a*e),t.recordMoneySource(a*e,"gang")}processTerritoryAndPowerGains(e=1){if(this.storedTerritoryAndPowerCycles+=e,this.storedTerritoryAndPowerCycles0&&(this.territoryClashChance=Math.max(0,this.territoryClashChance-.01));for(let e=0;et!==c.a.Names[e]),r=Object(l.a)(0,n.length-1),i=c.a.Names[e],o=n[r];if(!(i!==t&&o!==t||Math.random()=0;--e){const a=this.members[e];if("Territory Warfare"!==a.task)continue;const n=t/Math.pow(a.def,.6);Math.random()=c.a.MaximumGangMembers)&&this.respect>=this.getRespectNeededToRecruitMember()}getRespectNeededToRecruitMember(){if(this.members.length<3)return 0;const e=this.members.length-2;return Math.pow(5,e)}recruitMember(e){if(""===(e=String(e))||!this.canRecruitMember())return!1;if(this.members.filter(t=>t.name===e).length>=1)return!1;const t=new p.a(e);return this.members.push(t),!0}getWantedPenalty(){return this.respect/(this.respect+this.wanted)}calculatePower(){let e=0;for(let t=0;t{const t=m.a[e];return null!=t&&("Unassigned"!==t.name&&(this.isHackingGang===t.isHacking||!this.isHackingGang===t.isCombat))})}getUpgradeCost(e){return null==e?1/0:e.cost/this.getDiscount()}toJSON(){return Object(o.b)("Gang",this)}static fromJSON(e){return Object(o.a)(d,e.data)}}o.c.constructors.Gang=d},function(e,t,a){"use strict";a.d(t,"c",(function(){return i})),a.d(t,"b",(function(){return o})),a.d(t,"a",(function(){return s}));var n=a(127),r=a(92);function i(e,t){const a=e.organizationName;let i=null;if("string"==typeof a&&""!==a&&(i=r.a[a]),!(i instanceof n.a))return;const o=t/e.moneyMax;Math.random()0?t.requiredHacking+r:0,o=t.requiredStrength>0?t.requiredStrength+r:0,s=t.requiredDefense>0?t.requiredDefense+r:0,l=t.requiredDexterity>0?t.requiredDexterity+r:0,c=t.requiredDexterity>0?t.requiredDexterity+r:0,u=t.requiredCharisma>0?t.requiredCharisma+r:0,m=t.requiredReputation;return a?(n="Requires:
",n+=i.toString()+" hacking
",n+=o.toString()+" strength
",n+=s.toString()+" defense
",n+=l.toString()+" dexterity
",n+=c.toString()+" agility
",n+=u.toString()+" charisma
",n+=m.toString()+" reputation"):(n="(Requires ",i>0&&(n+=i+" hacking, "),o>0&&(n+=o+" strength, "),s>0&&(n+=s+" defense, "),l>0&&(n+=l+" dexterity, "),c>0&&(n+=c+" agility, "),u>0&&(n+=u+" charisma, "),m>1&&(n+=m+" reputation, "),n=n.substring(0,n.length-2),n+=")"),n}a.d(t,"a",(function(){return n}))},,,function(e,t,a){"use strict";a.d(t,"a",(function(){return l}));var n=a(0),r=a.n(n),i=a(1108),o=a(1),s=a(10);function l(e){const[t,a]=Object(n.useState)(0),[l,c]=Object(n.useState)(!1);return r.a.createElement(r.a.Fragment,null,e.lines.slice(0,t).map((e,t)=>r.a.createElement(o.a,{key:t},e)),e.lines.length>t&&r.a.createElement(i.a,{key:t,text:e.lines[t],onDone:function(){const n=t+1;a(n),n>=e.lines.length&&(e.onDone&&e.auto&&e.onDone(),c(!0))}}),!e.auto&&e.onDone&&l&&r.a.createElement(s.a,{onClick:e.onDone},"Continue ..."))}},,,,function(e,t,a){"use strict";a.d(t,"a",(function(){return r}));var n=a(29);function r(e){const t=Math.max(Math.min(e,255),0);return Object(n.a)(0,t)}},function(e,t,a){"use strict";a.d(t,"a",(function(){return r}));var n=a(128);function r(e){const t={},a=Object.keys(n.a);for(let n=0;nt.hacking_skill?{res:!1,msg:`Cannot hack ${e.hostname} server because your hacking skill is not high enough`}:{res:!0}}function i(e){return n(e,"grow")}function o(e){return n(e,"weaken")}a.d(t,"b",(function(){return r})),a.d(t,"a",(function(){return i})),a.d(t,"c",(function(){return o}))},,,,function(e,t,a){"use strict";a.d(t,"a",(function(){return n}));class n{constructor(e){this.cards=e}addCards(...e){return new n([...this.cards,...e])}removeByIndex(e){if(e>=this.cards.length)throw new Error("Tried to remove invalid card from Hand by index: "+e);return new n([...this.cards.slice().splice(e,1)])}}},function(e,t,a){"use strict";a.d(t,"a",(function(){return s}));var n=a(0),r=a(1),i=a(28),o=a(10);function s(e){return n.createElement(i.a,{title:null!=e.tooltip?n.createElement(r.a,null,e.tooltip):""},n.createElement(o.a,{onClick:e.onClick},e.text))}},,,,,,,,,,,,,,,,function(e,t,a){"use strict";a.d(t,"a",(function(){return m}));var n=a(94),r=a(320),i=a(110),o=a(227),s=a(102),l=a(276),c=a(277);function u(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}class m{constructor(e={hostname:"",ip:Object(l.a)()}){u(this,"contracts",[]),u(this,"cpuCores",1),u(this,"ftpPortOpen",!1),u(this,"hasAdminRights",!1),u(this,"hostname",""),u(this,"httpPortOpen",!1),u(this,"ip",""),u(this,"isConnectedTo",!1),u(this,"maxRam",0),u(this,"messages",[]),u(this,"organizationName",""),u(this,"programs",[]),u(this,"ramUsed",0),u(this,"runningScripts",[]),u(this,"scripts",[]),u(this,"serversOnNetwork",[]),u(this,"smtpPortOpen",!1),u(this,"sqlPortOpen",!1),u(this,"sshPortOpen",!1),u(this,"textFiles",[]),this.ip=e.ip?e.ip:Object(l.a)(),this.hostname=e.hostname,this.organizationName=null!=e.organizationName?e.organizationName:"",this.isConnectedTo=null!=e.isConnectedTo&&e.isConnectedTo,this.hasAdminRights=null!=e.adminRights&&e.adminRights}addContract(e){this.contracts.push(e)}getContract(e){for(const t of this.contracts)if(t.fn===e)return t;return null}getRunningScript(e,t){for(const a of this.runningScripts)if(a.filename===e&&Object(c.a)(a.args,t))return a;return null}getScript(e){for(let t=0;tt.fn!==e.fn):this.contracts=this.contracts.filter(t=>t.fn!==e)}removeFile(e){if(e.endsWith(".exe")||null!=e.match(/^.+\.exe-\d+(?:\.\d*)?%-INC$/)){for(let t=0;t{p.subscribe(e=>t(e))}),null===e)return r.a.createElement(r.a.Fragment,null);function d(){null!==e&&(e.onClose(),t(null))}const f=o.d[e.c.type],g=[];for(const[t,a]of f.desc(e.c.data).split("\n").entries())g.push(r.a.createElement("span",{key:t,dangerouslySetInnerHTML:{__html:a+"
"}}));return r.a.createElement(l.a,{open:null!==e,onClose:d},r.a.createElement(s.a,{variant:"h4",value:e.c.type}),r.a.createElement(u.a,null,"You are attempting to solve a Coding Contract. You have ",e.c.getMaxNumTries()-e.c.tries," tries remaining, after which the contract will self-destruct."),r.a.createElement("br",null),r.a.createElement(u.a,null,g),r.a.createElement("br",null),r.a.createElement(m.a,{autoFocus:!0,placeholder:"Enter Solution here",value:a,onChange:function(e){c(e.target.value)},onKeyDown:function(t){if(null===e)return;const n=t.target.value;t.keyCode===i.a.ENTER&&""!==n&&(t.preventDefault(),e.onAttempt(a))},InputProps:{endAdornment:r.a.createElement(h.a,{onClick:()=>{e.onAttempt(a),d()}},"Solve")}}))}},,,,,,,,,,,,,,function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.d(__webpack_exports__,"a",(function(){return calculateRamUsage}));var acorn_walk__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__(360),acorn__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__(259),_RamCalculationErrorCodes__WEBPACK_IMPORTED_MODULE_2__=__webpack_require__(262),_Netscript_RamCostGenerator__WEBPACK_IMPORTED_MODULE_3__=__webpack_require__(13);const specialReferenceIF="__SPECIAL_referenceIf",specialReferenceFOR="__SPECIAL_referenceFor",specialReferenceWHILE="__SPECIAL_referenceWhile",memCheckGlobalKey=".__GLOBAL__";async function parseOnlyRamCalculate(otherScripts,code,workerScript){try{let dependencyMap={};const completedParses=new Set,parseQueue=[];function parseCode(e,t){const a=parseOnlyCalculateDeps(e,t);completedParses.add(t);for(let e=0;e0;){const nextModule=parseQueue.shift();if(void 0===nextModule)throw new Error("nextModule should not be undefined");let code;if(nextModule.startsWith("https://")||nextModule.startsWith("http://"))try{const module=await eval("import(nextModule)");code="";for(const e in module)"function"==typeof module[e]&&(code+=module[e].toString()+";\n")}catch(e){return console.error(`Error dynamically importing module from ${nextModule} for RAM calculations: ${e}`),_RamCalculationErrorCodes__WEBPACK_IMPORTED_MODULE_2__.a.URLImportError}else{if(!Array.isArray(otherScripts))return console.warn("parseOnlyRamCalculate() not called with array of scripts"),_RamCalculationErrorCodes__WEBPACK_IMPORTED_MODULE_2__.a.ImportError;let e=null;const t=nextModule.startsWith("./")?nextModule.slice(2):nextModule;for(const a of otherScripts)if(a.filename===t){e=a;break}if(null==e)return _RamCalculationErrorCodes__WEBPACK_IMPORTED_MODULE_2__.a.ImportError;code=e.code}parseCode(code,nextModule)}let ram=_Netscript_RamCostGenerator__WEBPACK_IMPORTED_MODULE_3__.a.ScriptBaseRamCost;const unresolvedRefs=Object.keys(dependencyMap).filter(e=>e.startsWith(initialModule)),resolvedRefs=new Set;for(;unresolvedRefs.length>0;){const e=unresolvedRefs.shift();if(void 0===e)throw new Error("ref should not be undefined");if("hacknet"!==e||resolvedRefs.has("hacknet")||(ram+=_Netscript_RamCostGenerator__WEBPACK_IMPORTED_MODULE_3__.a.ScriptHacknetNodesRamCost),"document"!==e||resolvedRefs.has("document")||(ram+=_Netscript_RamCostGenerator__WEBPACK_IMPORTED_MODULE_3__.a.ScriptDomRamCost),"window"!==e||resolvedRefs.has("window")||(ram+=_Netscript_RamCostGenerator__WEBPACK_IMPORTED_MODULE_3__.a.ScriptDomRamCost),resolvedRefs.add(e),e.endsWith(".*")){const t=e.slice(0,e.length-2);for(const e of Object.keys(dependencyMap).filter(e=>e.startsWith(t)))for(const t of dependencyMap[e]||[])resolvedRefs.has(t)||unresolvedRefs.push(t)}else for(const t of dependencyMap[e]||[])resolvedRefs.has(t)||unresolvedRefs.push(t);try{function applyFuncRam(e){if("function"!=typeof e)return 0;try{let t;return t="AsyncFunction"===e.constructor.name?0:e.apply(null,[]),"number"==typeof t?t:0}catch(e){return console.error("Error applying function: "+e),0}}if(workerScript.loadedFns[e])continue;let t;workerScript.loadedFns[e]=!0,t=e in workerScript.env.vars.bladeburner?workerScript.env.vars.bladeburner[e]:e in workerScript.env.vars.codingcontract?workerScript.env.vars.codingcontract[e]:e in workerScript.env.vars.gang?workerScript.env.vars.gang[e]:e in workerScript.env.vars.sleeve?workerScript.env.vars.sleeve[e]:workerScript.env.vars[e],ram+=applyFuncRam(t)}catch(e){continue}}return ram}catch(e){return _RamCalculationErrorCodes__WEBPACK_IMPORTED_MODULE_2__.a.SyntaxError}}function parseOnlyCalculateDeps(e,t){const a=Object(acorn__WEBPACK_IMPORTED_MODULE_1__.a)(e,{sourceType:"module",ecmaVersion:"latest"}),n=t+memCheckGlobalKey,r={};r[n]=new Set;const i={},o=[];function s(e,a){const n=r[e]||(r[e]=new Set),o=i[a];void 0!==o&&n.add(o),n.add(t+"."+a),n.add(a)}const l=Object.getOwnPropertyNames(Object.prototype);function c(){return{Identifier:(e,t)=>{l.includes(e.name)||s(t.key,e.name)},WhileStatement:(e,t,a)=>{s(t.key,specialReferenceWHILE),e.test&&a(e.test,t),e.body&&a(e.body,t)},DoWhileStatement:(e,t,a)=>{s(t.key,specialReferenceWHILE),e.test&&a(e.test,t),e.body&&a(e.body,t)},ForStatement:(e,t,a)=>{s(t.key,specialReferenceFOR),e.init&&a(e.init,t),e.test&&a(e.test,t),e.update&&a(e.update,t),e.body&&a(e.body,t)},IfStatement:(e,t,a)=>{s(t.key,specialReferenceIF),e.test&&a(e.test,t),e.consequent&&a(e.consequent,t),e.alternate&&a(e.alternate,t)},MemberExpression:(e,t,a)=>{e.object&&a(e.object,t),e.property&&a(e.property,t)}}}return acorn_walk__WEBPACK_IMPORTED_MODULE_0__.a(a,{key:n},Object.assign({ImportDeclaration:(e,t)=>{const a=e.source.value;o.push(a);const n=r[t.key];if(void 0===n)throw new Error("set should not be undefined");n.add(a+memCheckGlobalKey);for(let n=0;n{const a=t+"."+e.id.name;acorn_walk__WEBPACK_IMPORTED_MODULE_0__.a(e,{key:a},c())}},c())),{dependencyMap:r,additionalModules:o}}async function calculateRamUsage(e,t){const a={loadedFns:{},env:{vars:_Netscript_RamCostGenerator__WEBPACK_IMPORTED_MODULE_3__.b}};try{return await parseOnlyRamCalculate(t,e,a)}catch(e){return console.error("Failed to parse script for RAM calculations:"),console.error(e),_RamCalculationErrorCodes__WEBPACK_IMPORTED_MODULE_2__.a.SyntaxError}return _RamCalculationErrorCodes__WEBPACK_IMPORTED_MODULE_2__.a.SyntaxError}},function(e,t,a){"use strict";a.d(t,"a",(function(){return i}));var n=a(6),r=a(8);function i(e,t,a,i=1){const o=Math.max(Math.floor(t),0);let s=1+(n.a.ServerBaseGrowthRate-1)/e.hackDifficulty;s>n.a.ServerMaxGrowthRate&&(s=n.a.ServerMaxGrowthRate);const l=o*(e.serverGrowth/100)*r.a.ServerGrowthRate,c=1+(i-1)/16;return Math.pow(s,l*a.hacking_grow_mult*c)}},function(e,t,a){"use strict";function n(e){const t="(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)";return new RegExp(`^${t}.${t}.${t}.${t}$`).test(e)}a.d(t,"a",(function(){return n}))},function(e,t,a){"use strict";a.d(t,"a",(function(){return u})),a.d(t,"b",(function(){return m}));var n=a(0),r=a.n(n),i=a(42),o=a(26),s=a(131),l=a(1),c=a(10);const u=new s.a;function m(){const e=o.b.Router(),[t,a]=Object(n.useState)(!1);return Object(n.useEffect)(()=>u.subscribe(()=>a(!0)),[]),r.a.createElement(i.a,{open:t,onClose:()=>a(!1)},r.a.createElement(l.a,null,"WARNING: USING THIS PROGRAM WILL CAUSE YOU TO LOSE ALL OF YOUR PROGRESS ON THE CURRENT BITNODE.",r.a.createElement("br",null),r.a.createElement("br",null),"Do you want to travel to the BitNode Nexus? This allows you to reset the current BitNode and select a new one."),r.a.createElement("br",null),r.a.createElement("br",null),r.a.createElement(c.a,{onClick:function(){e.toBitVerse(!0,!1),a(!1)}},"Travel to the BitVerse"))}},function(e,t,a){"use strict";a.d(t,"a",(function(){return i}));var n=a(785),r=a(15);function i(e){const t=n.a[e];if(null==t)return;const a=`${t.title}
${t.txt}`;Object(r.a)(a)}},function(e,t,a){"use strict";a.d(t,"a",(function(){return o}));var n=a(0),r=a.n(n);class i{constructor(e,t,a,n,r,i,o){this.infoText=e,this.enemies=t,this.offerHackingMission=a,this.offerHackingWork=n,this.offerFieldWork=r,this.offerSecurityWork=i,this.augmentationPriceMult=1,this.augmentationRepRequirementMult=1,this.keep=o}offersWork(){return this.offerFieldWork||this.offerHackingMission||this.offerHackingWork||this.offerSecurityWork}}const o={Illuminati:new i(r.a.createElement(r.a.Fragment,null,"Humanity never changes. No matter how civilized society becomes, it will eventually fall back into chaos. And from this chaos, we are the invisible hand that guides them to order."," "),[],!0,!0,!0,!1,!1),Daedalus:new i(r.a.createElement(r.a.Fragment,null,"Yesterday we obeyed kings and bent our necks to emperors. Today we kneel only to truth."),[],!0,!0,!0,!1,!1),"The Covenant":new i(r.a.createElement(r.a.Fragment,null,"Surrender yourself. Give up your empty individuality to become part of something great, something eternal. Become a slave. Submit your mind, body, and soul. Only then can you set yourself free.",r.a.createElement("br",null),r.a.createElement("br",null),"Only then can you discover immortality."),[],!0,!0,!0,!1,!1),ECorp:new i(r.a.createElement(r.a.Fragment,null,"ECorp's mission is simple: to connect the world of today with the technology of tomorrow. With our wide range of Internet-related software and commercial hardware, ECorp makes the world's information universally accessible."),[],!0,!0,!0,!0,!0),MegaCorp:new i(r.a.createElement(r.a.Fragment,null,"MegaCorp does what no other dares to do. We imagine. We create. We invent. We create what others have never even dreamed of. Our work fills the world's needs for food, water, power, and transporation on an unprecendented scale, in ways that no other company can.",r.a.createElement("br",null),r.a.createElement("br",null),"In our labs and factories and on the ground with customers, MegaCorp is ushering in a new era for the world."),[],!0,!0,!0,!0,!0),"Bachman & Associates":new i(r.a.createElement(r.a.Fragment,null,"Where Law and Business meet - thats where we are.",r.a.createElement("br",null),r.a.createElement("br",null),"Legal Insight - Business Instinct - Innovative Experience."),[],!0,!0,!0,!0,!0),"Blade Industries":new i(r.a.createElement(r.a.Fragment,null,"Augmentation is Salvation."),[],!0,!0,!0,!0,!0),NWO:new i(r.a.createElement(r.a.Fragment,null,"Humans don't truly desire freedom. They want to be observed, understood, and judged. They want to be given purpose and direction in life. That is why they created God. And that is why they created civilization - not because of willingness, but because of a need to be incorporated into higher orders of structure and meaning."),[],!0,!0,!0,!0,!0),"Clarke Incorporated":new i(r.a.createElement(r.a.Fragment,null,"The Power of the Genome - Unlocked."),[],!0,!0,!0,!0,!0),"OmniTek Incorporated":new i(r.a.createElement(r.a.Fragment,null,"Simply put, our mission is to design and build robots that make a difference."),[],!0,!0,!0,!0,!0),"Four Sigma":new i(r.a.createElement(r.a.Fragment,null,"The scientific method is the best way to approach investing. Big strategies backed up with big data. Driven by deep learning and innovative ideas. And improved by iteration. That's Four Sigma."),[],!0,!0,!0,!0,!0),"KuaiGong International":new i(r.a.createElement(r.a.Fragment,null,"Dream big. Work hard. Make history."),[],!0,!0,!0,!0,!0),"Fulcrum Secret Technologies":new i(r.a.createElement(r.a.Fragment,null,"The human organism has an innate desire to worship. That is why they created gods. If there were no gods, it would be necessary to create them. And now we can."),[],!0,!0,!1,!0,!0),BitRunners:new i(r.a.createElement(r.a.Fragment,null,"Our entire lives are controlled by bits. All of our actions, our thoughts, our personal information. It's all transformed into bits, stored in bits, communicated through bits. It’s impossible for any person to move, to live, to operate at any level without the use of bits. And when a person moves, lives, and operates, they leave behind their bits, mere traces of seemingly meaningless fragments of information. But these bits can be reconstructed. Transformed. Used.",r.a.createElement("br",null),r.a.createElement("br",null),"Those who run the bits, run the world."),[],!0,!0,!1,!1,!1),"The Black Hand":new i(r.a.createElement(r.a.Fragment,null,"The world, so afraid of strong government, now has no government. Only power - Digital power. Financial power. Technological power. And those at the top rule with an invisible hand. They built a society where the rich get richer, and everyone else suffers.",r.a.createElement("br",null),r.a.createElement("br",null),"So much pain. So many lives. Their darkness must end."),[],!0,!0,!0,!1,!1),NiteSec:new i(r.a.createElement(r.a.Fragment,null," __..__ ",r.a.createElement("br",null)," _.nITESECNIt. ",r.a.createElement("br",null)," .-'NITESECNITESEc. ",r.a.createElement("br",null)," .' NITESECNITESECn ",r.a.createElement("br",null)," / NITESECNITESEC; ",r.a.createElement("br",null)," : :NITESECNITESEC; ",r.a.createElement("br",null)," ; $ NITESECNITESECN ",r.a.createElement("br",null)," : _, ,N'ITESECNITESEC ",r.a.createElement("br",null)," : .+^^`, : `NITESECNIT ",r.a.createElement("br",null)," ) /), `-,-=,NITESECNI ",r.a.createElement("br",null)," / ^ ,-;|NITESECN; ",r.a.createElement("br",null)," / _.' '-';NITESECN ",r.a.createElement("br",null)," ( , ,-''`^NITE' ",r.a.createElement("br",null)," )` :`. .' ",r.a.createElement("br",null)," )-- ; `- / ",r.a.createElement("br",null)," ' _.-' : ",r.a.createElement("br",null)," ( _.-' . ",r.a.createElement("br",null)," ------. ",r.a.createElement("br",null)," . ",r.a.createElement("br",null)," _.nIt ",r.a.createElement("br",null)," _.nITESECNi ",r.a.createElement("br",null)," nITESECNIT^' ",r.a.createElement("br",null)," NITE^' ___ ",r.a.createElement("br",null)," / .gP''''Tp. ",r.a.createElement("br",null)," : d' . `b ",r.a.createElement("br",null)," ; d' o `b ; ",r.a.createElement("br",null)," / d; `b| ",r.a.createElement("br",null)," /, $; @ `: ",r.a.createElement("br",null)," /' $$ ; ",r.a.createElement("br",null)," .' $$b o | ",r.a.createElement("br",null)," .' d$$$; : ",r.a.createElement("br",null)," / .d$$$$; , ; ",r.a.createElement("br",null)," d .dNITESEC $ | ",r.a.createElement("br",null)," :bp.__.gNITESEC$$ :$ ; ",r.a.createElement("br",null)," NITESECNITESECNIT $$b : ",r.a.createElement("br",null)),[],!0,!0,!1,!1,!1),Aevum:new i(r.a.createElement(r.a.Fragment,null,"The Silicon City."),["Chongqing","New Tokyo","Ishima","Volhaven"],!0,!0,!0,!0,!1),Chongqing:new i(r.a.createElement(r.a.Fragment,null,"Serve the People."),["Sector-12","Aevum","Volhaven"],!0,!0,!0,!0,!1),Ishima:new i(r.a.createElement(r.a.Fragment,null,"The East Asian Order of the Future."),["Sector-12","Aevum","Volhaven"],!0,!0,!0,!0,!1),"New Tokyo":new i(r.a.createElement(r.a.Fragment,null,"Asia's World City."),["Sector-12","Aevum","Volhaven"],!0,!0,!0,!0,!1),"Sector-12":new i(r.a.createElement(r.a.Fragment,null,"The City of the Future."),["Chongqing","New Tokyo","Ishima","Volhaven"],!0,!0,!0,!0,!1),Volhaven:new i(r.a.createElement(r.a.Fragment,null,"Benefit, Honor, and Glory."),["Chongqing","Sector-12","New Tokyo","Aevum","Ishima"],!0,!0,!0,!0,!1),"Speakers for the Dead":new i(r.a.createElement(r.a.Fragment,null,"It is better to reign in Hell than to serve in Heaven."),[],!0,!0,!0,!0,!1),"The Dark Army":new i(r.a.createElement(r.a.Fragment,null,"The World doesn't care about right or wrong. It only cares about power."),[],!0,!0,!0,!1,!1),"The Syndicate":new i(r.a.createElement(r.a.Fragment,null,"Honor holds you back."),[],!0,!0,!0,!0,!1),Silhouette:new i(r.a.createElement(r.a.Fragment,null,"Corporations have filled the void of power left behind by the collapse of Western government. The issue is they've become so big that you don't know who they're working for. And if you're employed at one of these corporations, you don't even know who you're working for.",r.a.createElement("br",null),r.a.createElement("br",null),"That's terror. Terror, fear, and corruption. All born into the system, all propagated by the system."),[],!0,!0,!0,!1,!1),Tetrads:new i(r.a.createElement(r.a.Fragment,null,"Following the mandate of Heaven and carrying out the way."),[],!1,!1,!0,!0,!1),"Slum Snakes":new i(r.a.createElement(r.a.Fragment,null,"Slum Snakes rule!"),[],!1,!1,!0,!0,!1),Netburners:new i(r.a.createElement(r.a.Fragment,null,"~~//*>H4CK||3T 8URN3R5**>?>\\~~"),[],!0,!0,!1,!1,!1),"Tian Di Hui":new i(r.a.createElement(r.a.Fragment,null,"Obey Heaven and work righteously."),[],!0,!0,!1,!0,!1),CyberSec:new i(r.a.createElement(r.a.Fragment,null,"The Internet is the first thing that was built that we don't fully understand, the largest experiment in anarchy that we have ever had. And as the world becomes increasingly dominated by it, society approaches the brink of total chaos. We serve only to protect society, to protect humanity, to protect the world from imminent collapse."),[],!0,!0,!1,!1,!1),Bladeburners:new i(r.a.createElement(r.a.Fragment,null,"It's too bad they won't live. But then again, who does?",r.a.createElement("br",null),r.a.createElement("br",null),"Note that for this faction, reputation can only be gained through Bladeburner actions. Completing Bladeburner contracts/operations will increase your reputation."),[],!1,!1,!1,!1,!1)}},function(e,t,a){"use strict";a.d(t,"a",(function(){return m})),a.d(t,"b",(function(){return h}));var n=a(0),r=a.n(n),i=a(116),o=a(42),s=a(26),l=a(131),c=a(1),u=a(10);const m=new l.a;function h(){const[e,t]=Object(n.useState)(null),a=s.b.Player();return Object(n.useEffect)(()=>m.subscribe(e=>t(e)),[]),r.a.createElement(o.a,{open:null!==e,onClose:()=>t(null)},r.a.createElement(c.a,{variant:"h4"},"You have received a faction invitation."),r.a.createElement(c.a,null,"Would you like to join ",(e||{name:""}).name,"? ",r.a.createElement("br",null),r.a.createElement("br",null),"Warning: Joining this faction may prevent you from joining other factions during this run!"),r.a.createElement(u.a,{onClick:function(){if(null===e)return;-1===a.factionInvitations.findIndex(t=>t===e.name)&&console.error("Could not find faction in Player.factionInvitations"),Object(i.d)(e),t(null)}},"Join!"),r.a.createElement(u.a,{onClick:()=>t(null)},"Decide later"))}},function(e,t,a){"use strict";a.d(t,"a",(function(){return r}));var n=a(259),r=function(e,t,a=0){this.sourceCode=e,this.sourceCodeLineOffset=a,"string"==typeof e&&(e=n.a(e,r.PARSE_OPTIONS)),this.ast=e,this.initFunc_=t,this.paused_=!1,this.polyfills_=[],this.functionCounter_=0,this.stepFunctions_=Object.create(null);var i,o,s=/^step([A-Z]\w*)$/;for(var l in this)"function"==typeof this[l]&&(i=l.match(s))&&(this.stepFunctions_[i[1]]=this[l].bind(this));this.global=this.createScope(this.ast,null),this.ast=n.a(this.polyfills_.join("\n"),r.PARSE_OPTIONS),this.polyfills_=void 0,this.stripLocations_(this.ast,void 0,void 0),(o=new r.State(this.ast,this.global)).done=!1,this.stateStack=[o],this.run(),this.value=void 0,this.ast=e,(o=new r.State(this.ast,this.global)).done=!1,this.stateStack.length=0,this.stateStack[0]=o,this.nodeConstructor=o.node.constructor,this.stateStack=this.stateStack};
/**
* @license
* JavaScript Interpreter
diff --git a/main.bundle.js.map b/main.bundle.js.map
index 00643cfc1..c34d06f82 100644
--- a/main.bundle.js.map
+++ b/main.bundle.js.map
@@ -1 +1 @@
-{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///./src/Player.ts","webpack:///./src/ui/numeralFormat.ts","webpack:///./src/Constants.ts","webpack:///./src/Augmentation/data/AugmentationNames.ts","webpack:///./src/BitNode/BitNodeMultipliers.ts","webpack:///./src/Locations/data/LocationNames.ts","webpack:///./src/Netscript/RamCostGenerator.ts","webpack:///./src/Settings/Settings.ts","webpack:///./src/ui/React/DialogBox.tsx","webpack:///./src/ui/React/Money.tsx","webpack:///./src/Augmentation/Augmentations.ts","webpack:///./src/utils/JSONReviver.ts","webpack:///./src/utils/StringHelperFunctions.ts","webpack:///./src/Locations/data/CityNames.ts","webpack:///./src/Faction/Factions.ts","webpack:///./src/Company/data/companypositionnames.ts","webpack:///./src/ui/Context.ts","webpack:///./src/utils/helpers/getRandomInt.ts","webpack:///./src/ui/Router.ts","webpack:///./src/Augmentation/Augmentation.tsx","webpack:///./src/Server/AllServers.ts","webpack:///./src/Hacknet/data/Constants.ts","webpack:///./src/Bladeburner/data/ActionTypes.ts","webpack:///./src/InteractiveTutorial.ts","webpack:///./src/Corporation/data/Constants.ts","webpack:///./src/ui/React/Table.tsx","webpack:///./src/ui/React/Modal.tsx","webpack:///./src/Corporation/ui/Context.ts","webpack:///./src/Server/ServerHelpers.ts","webpack:///./src/PersonObjects/Player/PlayerObjectGeneralMethods.tsx","webpack:///./src/Corporation/EmployeePositions.ts","webpack:///./src/Corporation/IndustryData.tsx","webpack:///./src/Locations/LocationTypeEnum.ts","webpack:///./src/Bladeburner/data/Constants.ts","webpack:///./src/Literature/data/LiteratureNames.ts","webpack:///./src/Server/Server.ts","webpack:///./src/Hacknet/HacknetHelpers.tsx","webpack:///./src/Company/Companies.ts","webpack:///./src/SourceFile/SourceFileFlags.ts","webpack:///./src/Server/SpecialServerIps.ts","webpack:///./src/StockMarket/data/PositionTypes.ts","webpack:///./src/Corporation/Actions.ts","webpack:///./src/Programs/Programs.ts","webpack:///./src/PersonObjects/Sleeve/SleeveTaskTypesEnum.ts","webpack:///./src/Crime/Crimes.ts","webpack:///./src/Casino/utils.ts","webpack:///./src/Gang/AllGangs.ts","webpack:///./src/Company/CompanyPositions.ts","webpack:///./src/StockMarket/data/StockSymbols.ts","webpack:///./src/Hacknet/HacknetServer.ts","webpack:///./src/StockMarket/StockMarket.tsx","webpack:///./src/utils/helpers/keyCodes.ts","webpack:///./src/CodingContracts.ts","webpack:///./src/StockMarket/data/OrderTypes.ts","webpack:///./src/Hacking.ts","webpack:///./src/Script/isScriptFilename.ts","webpack:///./src/ui/React/Reputation.tsx","webpack:///./src/ui/React/MoneyRate.tsx","webpack:///./src/Corporation/data/BaseResearchTree.ts","webpack:///./src/Terminal/DirectoryHelpers.ts","webpack:///./src/ui/GameRoot.tsx","webpack:///./src/ui/React/StatsTable.tsx","webpack:///./src/Bladeburner/BlackOperation.ts","webpack:///./src/Faction/FactionHelpers.tsx","webpack:///./src/utils/helpers/isString.ts","webpack:///./src/Terminal.ts","webpack:///./src/Corporation/ui/MoneyCost.tsx","webpack:///./src/Message/Message.ts","webpack:///./src/Bladeburner/data/SkillNames.ts","webpack:///./src/Gang/ui/Context.ts","webpack:///./src/Netscript/killWorkerScript.ts","webpack:///./src/StockMarket/Stock.ts","webpack:///./src/Locations/Cities.ts","webpack:///./src/utils/EventEmitter.ts","webpack:///./src/DevMenu/ui/Adjuster.tsx","webpack:///./src/Alias.ts","webpack:///./src/NetscriptEvaluator.ts","webpack:///./src/Literature/Literature.ts","webpack:///./src/ui/React/CopyableText.tsx","webpack:///./src/Augmentation/AugmentationHelpers.tsx","webpack:///./src/Gang/data/upgrades.ts","webpack:///./src/Corporation/MaterialSizes.ts","webpack:///./src/NetscriptWorker.ts","webpack:///./src/Faction/FactionWorkTypeEnum.ts","webpack:///./src/utils/helpers/createProgressBarText.ts","webpack:///./src/Corporation/Material.ts","webpack:///./src/Faction/Faction.ts","webpack:///./src/Settings/SettingEnums.ts","webpack:///./src/Infiltration/ui/KeyHandler.tsx","webpack:///./src/Infiltration/ui/GameTimer.tsx","webpack:///./src/Infiltration/ui/Difficulty.ts","webpack:///./src/Netscript/WorkerScripts.ts","webpack:///./src/Casino/Game.tsx","webpack:///./src/Gang/GangMemberUpgrades.ts","webpack:///./src/StockMarket/StockMarketHelpers.ts","webpack:///./src/Crime/Crime.ts","webpack:///./src/PersonObjects/Person.ts","webpack:///./src/BitNode/BitNode.tsx","webpack:///./src/Bladeburner/Bladeburner.tsx","webpack:///./src/Company/Company.ts","webpack:///./src/Server/ServerPurchases.ts","webpack:///./src/Corporation/Warehouse.ts","webpack:///./src/Gang/GangMemberTasks.ts","webpack:///./src/Hacknet/formulas/HacknetServers.ts","webpack:///./src/StockMarket/BuyingAndSelling.tsx","webpack:///./src/Bladeburner/Skill.ts","webpack:///./src/utils/SetTimeoutRef.ts","webpack:///./src/ui/React/Hashes.tsx","webpack:///./src/PersonObjects/formulas/reputation.ts","webpack:///./src/Bladeburner/Skills.ts","webpack:///./src/Casino/CardDeck/Card.ts","webpack:///./src/Bladeburner/ActionIdentifier.ts","webpack:///./src/Locations/Locations.ts","webpack:///./src/Infiltration/utils.ts","webpack:///./src/RedPill.tsx","webpack:///./src/Script/ScriptHelpers.ts","webpack:///./src/TextFile.ts","webpack:///./src/utils/helpers/exceptionAlert.ts","webpack:///./src/Message/MessageHelpers.ts","webpack:///./src/Hacknet/formulas/HacknetNodes.ts","webpack:///./src/PersonObjects/formulas/skill.ts","webpack:///./src/Bladeburner/BlackOperations.tsx","webpack:///./src/Bladeburner/GeneralActions.tsx","webpack:///./src/SourceFile/SourceFile.ts","webpack:///./src/ui/React/LogBoxManager.tsx","webpack:///./src/Hacknet/HacknetNode.ts","webpack:///./src/Hacknet/HashUpgrades.ts","webpack:///./src/utils/helpers/arrayToString.ts","webpack:///./src/StockMarket/StockMarketCosts.ts","webpack:///./src/Locations/ui/ApplyToJobButton.tsx","webpack:///./src/Netscript/WorkerScriptStartStopEventEmitter.ts","webpack:///./src/Exploits/Exploit.ts","webpack:///./src/DarkWeb/DarkWebItems.ts","webpack:///./src/utils/helpers/addOffset.ts","webpack:///./src/Script/RamCalculationErrorCodes.ts","webpack:///./src/Gang/data/Constants.ts","webpack:///./src/utils/IPAddress.ts","webpack:///./src/utils/helpers/compareArrays.ts","webpack:///./src/ui/React/Favor.tsx","webpack:///./src/ui/React/Theme.tsx","webpack:///./src/Bladeburner/Action.tsx","webpack:///./src/SaveObject.tsx","webpack:///./src/PersonObjects/Sleeve/Sleeve.ts","webpack:///./src/Terminal/ITerminal.ts","webpack:///./src/Terminal/TerminalEvents.ts","webpack:///./src/Netscript/WorkerScript.ts","webpack:///./src/DarkWeb/DarkWebItem.ts","webpack:///./src/StockMarket/OrderProcessing.tsx","webpack:///./src/Corporation/Corporation.tsx","webpack:///./src/ui/uiHelpers/createElement.ts","webpack:///./src/Bladeburner/Operation.ts","webpack:///./src/Prestige.ts","webpack:///./src/Augmentation/PlayerOwnedAugmentation.ts","webpack:///./src/Casino/RNG.ts","webpack:///./src/Company/CompanyPosition.ts","webpack:///./src/Script/RunningScript.ts","webpack:///./src/SourceFile/SourceFiles.tsx","webpack:///./src/Bladeburner/ui/StartButton.tsx","webpack:///./src/Script/Script.ts","webpack:///./src/Corporation/ResearchMap.ts","webpack:///./src/Hacknet/HashManager.ts","webpack:///./src/CodingContractGenerator.ts","webpack:///./src/ui/InteractiveTutorial/ITutorialEvents.ts","webpack:///./src/Corporation/OfficeSpace.ts","webpack:///./src/Corporation/IndustryUpgrades.ts","webpack:///./src/ExportBonus.tsx","webpack:///./src/utils/MoneySourceTracker.ts","webpack:///./src/utils/helpers/getTimestamp.ts","webpack:///./src/utils/helpers/roundToTwo.ts","webpack:///./src/ui/React/AlertManager.tsx","webpack:///./src/PersonObjects/formulas/intelligence.ts","webpack:///./src/Hospital/Hospital.ts","webpack:///./src/Corporation/Product.ts","webpack:///./src/db.tsx","webpack:///./src/Bladeburner/City.ts","webpack:///./src/Locations/City.ts","webpack:///./src/Faction/ui/Option.tsx","webpack:///./src/StockMarket/ui/StockTickersConfig.tsx","webpack:///./src/PersonObjects/Player/PlayerObjectGangMethods.ts","webpack:///./src/Corporation/data/CorporationUnlockUpgrades.ts","webpack:///./src/Corporation/data/CorporationUpgrades.ts","webpack:///./src/ui/React/WorldMap.tsx","webpack:///./src/Bladeburner/ui/SuccessChance.tsx","webpack:///./src/ui/React/StaticModal.tsx","webpack:///./src/Crime/CrimeHelpers.ts","webpack:///./src/ui/uiHelpers/removeElementById.ts","webpack:///./src/ui/React/ReputationRate.tsx","webpack:///./src/PersonObjects/Sleeve/SleeveCovenantPurchases.tsx","webpack:///./src/PersonObjects/Player/PlayerObjectServerMethods.ts","webpack:///./src/DarkWeb/DarkWeb.tsx","webpack:///./src/Netscript/Pid.ts","webpack:///./src/NetscriptFunctions.ts","webpack:///./src/Gang/Gang.ts","webpack:///./src/StockMarket/PlayerInfluencing.ts","webpack:///./src/Company/GetJobRequirementText.ts","webpack:///./src/ui/React/CinematicText.tsx","webpack:///./src/utils/helpers/getRandomByte.ts","webpack:///./src/Locations/createCityMap.ts","webpack:///./src/Hacking/netscriptCanHack.ts","webpack:///./src/Casino/CardDeck/Hand.ts","webpack:///./src/StockMarket/ui/StockTickerTxButton.tsx","webpack:///./src/Server/BaseServer.ts","webpack:///./src/ui/React/CodingContractModal.tsx","webpack:///./src/Script/RamCalculations.ts","webpack:///./src/Server/formulas/grow.ts","webpack:///./src/utils/helpers/isValidIPAddress.ts","webpack:///./src/BitNode/ui/BitFlumeModal.tsx","webpack:///./src/Literature/LiteratureHelpers.ts","webpack:///./src/Faction/FactionInfo.tsx","webpack:///./src/Faction/ui/InvitationModal.tsx","webpack:///./src/ThirdParty/JSInterpreter.js","webpack:///./src/Gang/GangMemberTask.ts","webpack:///./src/PersonObjects/Sleeve/SleeveHelpers.ts","webpack:///./src/ui/React/Snackbar.tsx","webpack:///./src/Programs/ProgramHelpers.ts","webpack:///./src/ui/React/AugmentationAccordion.tsx","webpack:///./src/SourceFile/PlayerOwnedSourceFile.ts","webpack:///./src/Bladeburner/data/Icons.tsx","webpack:///./src/Bladeburner/ui/ActionLevel.tsx","webpack:///./src/Bladeburner/ui/Autolevel.tsx","webpack:///./src/Bladeburner/ui/TeamSizeButton.tsx","webpack:///./src/ui/React/createPopup.tsx","webpack:///./src/ui/uiHelpers/getElementById.ts","webpack:///./src/Infiltration/ui/BlinkingCursor.tsx","webpack:///./src/PersonObjects/Resleeving/Resleeving.ts","webpack:///./src/ui/React/HashRate.tsx","webpack:///./src/Locations/ui/TravelAgencyRoot.tsx","webpack:///./src/ui/React/TablePaginationActionsAll.tsx","webpack:///./src/Script/RunningScriptHelpers.ts","webpack:///./src/Faction/formulas/favor.ts","webpack:///./src/PersonObjects/Player/PlayerObjectBladeburnerMethods.ts","webpack:///./src/Bladeburner/Contract.ts","webpack:///./src/Bladeburner/data/Help.ts","webpack:///./src/Corporation/ResearchTree.ts","webpack:///./src/StockMarket/StockMarketConstants.ts","webpack:///./src/PersonObjects/Player/PlayerObjectCorporationMethods.ts","webpack:///./src/Company/GetNextCompanyPosition.ts","webpack:///./src/engine.tsx","webpack:///./src/ui/LoadingScreen.tsx","webpack:///./src/utils/helpers/isValidNumber.ts","webpack:///./src/Bladeburner/data/Growths.ts","webpack:///./src/StockMarket/Order.ts","webpack:///./src/Locations/Location.ts","webpack:///./src/ui/React/ServerDropdown.tsx","webpack:///./src/Locations/ui/GenericLocation.tsx","webpack:///./src/Casino/CardDeck/ReactCard.tsx","webpack:///./src/ScriptEditor/CursorPositions.ts","webpack:///./src/ScriptEditor/NetscriptDefinitions.ts","webpack:///./src/Milestones/Milestones.ts","webpack:///./src/Faction/formulas/donation.ts","webpack:///./src/StockMarket/data/TickerHeaderFormatData.ts","webpack:///./src/Terminal/Parser.ts","webpack:///./src/Terminal/HelpText.ts","webpack:///./src/Terminal/Terminal.ts","webpack:///./src/data/codingcontracttypes.ts","webpack:///./src/utils/helpers/createRandomString.ts","webpack:///./src/Programs/Program.ts","webpack:///./src/Programs/data/ProgramsMetadata.ts","webpack:///./src/Server/data/servers.ts","webpack:///./src/Corporation/CorporationState.ts","webpack:///./src/Literature/Literatures.ts","webpack:///./src/PersonObjects/Player/PlayerObject.ts","webpack:///./src/PersonObjects/Player/PlayerObjectAugmentationMethods.ts","webpack:///./src/utils/helpers/clearObject.ts","webpack:///./src/Company/data/CompaniesMetadata.ts","webpack:///./src/Corporation/Research.ts","webpack:///./src/Corporation/data/ResearchMetadata.ts","webpack:///./src/Hacknet/HashUpgrade.ts","webpack:///./src/Hacknet/data/HashUpgradesMetadata.tsx","webpack:///./src/Netscript/Environment.ts","webpack:///./src/Company/data/CompanyPositionsMetadata.ts","webpack:///./src/Corporation/Industry.ts","webpack:///./src/utils/calculateEffectWithFactors.ts","webpack:///./src/Corporation/Employee.ts","webpack:///./src/Corporation/ProductRatingWeights.ts","webpack:///./src/Gang/data/tasks.ts","webpack:///./src/Gang/GangMember.ts","webpack:///./src/Gang/GangMemberUpgrade.ts","webpack:///./src/utils/helpers/isPowerOfTwo.ts","webpack:///./src/StockMarket/data/InitStockMetadata.ts","webpack:///./src/Locations/data/LocationsMetadata.ts","webpack:///./src/ui/InteractiveTutorial/InteractiveTutorialRoot.tsx","webpack:///./src/ui/React/Overview.tsx","webpack:///./src/Sidebar/ui/SidebarRoot.tsx","webpack:///./src/Augmentation/ui/AugmentationsRoot.tsx","webpack:///./src/Augmentation/ui/InstalledAugmentations.tsx","webpack:///./src/Augmentation/ui/PlayerMultipliers.tsx","webpack:///./src/Augmentation/ui/PurchasedAugmentations.tsx","webpack:///./src/Augmentation/ui/SourceFiles.tsx","webpack:///./src/Augmentation/ui/SourceFileMinus1.tsx","webpack:///./src/Augmentation/ui/OwnedSourceFiles.tsx","webpack:///./src/ui/React/SourceFileAccordion.tsx","webpack:///./src/DevMenu.tsx","webpack:///./src/DevMenu/ui/General.tsx","webpack:///./src/DevMenu/ui/Stats.tsx","webpack:///./src/DevMenu/ui/Factions.tsx","webpack:///./src/DevMenu/ui/Augmentations.tsx","webpack:///./src/DevMenu/ui/SourceFiles.tsx","webpack:///./src/DevMenu/ui/Programs.tsx","webpack:///./src/DevMenu/ui/Servers.tsx","webpack:///./src/DevMenu/ui/Companies.tsx","webpack:///./src/DevMenu/ui/Bladeburner.tsx","webpack:///./src/DevMenu/ui/Gang.tsx","webpack:///./src/DevMenu/ui/Corporation.tsx","webpack:///./src/DevMenu/ui/CodingContracts.tsx","webpack:///./src/DevMenu/ui/StockMarket.tsx","webpack:///./src/DevMenu/ui/Sleeves.tsx","webpack:///./src/DevMenu/ui/TimeSkip.tsx","webpack:///./src/Bladeburner/ui/BladeburnerRoot.tsx","webpack:///./src/Bladeburner/ui/Stats.tsx","webpack:///./src/Bladeburner/ui/TravelModal.tsx","webpack:///./src/Bladeburner/ui/Console.tsx","webpack:///./src/Bladeburner/ui/AllPages.tsx","webpack:///./src/Bladeburner/ui/GeneralActionPage.tsx","webpack:///./src/Bladeburner/ui/GeneralActionList.tsx","webpack:///./src/Bladeburner/ui/GeneralActionElem.tsx","webpack:///./src/Bladeburner/data/GeneralActions.tsx","webpack:///./src/Bladeburner/ui/ContractPage.tsx","webpack:///./src/Bladeburner/ui/ContractList.tsx","webpack:///./src/Bladeburner/ui/ContractElem.tsx","webpack:///./src/Bladeburner/data/Contracts.tsx","webpack:///./src/Bladeburner/ui/StealthIcon.tsx","webpack:///./src/Bladeburner/ui/KillIcon.tsx","webpack:///./src/Bladeburner/ui/OperationPage.tsx","webpack:///./src/Bladeburner/ui/OperationList.tsx","webpack:///./src/Bladeburner/ui/OperationElem.tsx","webpack:///./src/Bladeburner/ui/TeamSizeModal.tsx","webpack:///./src/Bladeburner/data/Operations.tsx","webpack:///./src/Bladeburner/ui/BlackOpPage.tsx","webpack:///./src/Bladeburner/ui/BlackOpList.tsx","webpack:///./src/Bladeburner/ui/BlackOpElem.tsx","webpack:///./src/Bladeburner/data/BlackOperations.tsx","webpack:///./src/Bladeburner/ui/SkillPage.tsx","webpack:///./src/Bladeburner/ui/SkillList.tsx","webpack:///./src/Bladeburner/ui/SkillElem.tsx","webpack:///./src/Gang/ui/GangRoot.tsx","webpack:///./src/Gang/ui/ManagementSubpage.tsx","webpack:///./src/Gang/ui/GangStats.tsx","webpack:///./src/Gang/ui/BonusTime.tsx","webpack:///./src/Gang/ui/GangMemberList.tsx","webpack:///./src/Gang/ui/GangMemberAccordion.tsx","webpack:///./src/Gang/ui/GangMemberAccordionContent.tsx","webpack:///./src/Gang/ui/GangMemberStats.tsx","webpack:///./src/Gang/ui/AscensionModal.tsx","webpack:///./src/Gang/ui/TaskSelector.tsx","webpack:///./src/Gang/ui/TaskDescription.tsx","webpack:///./src/Gang/ui/RecruitButton.tsx","webpack:///./src/Gang/ui/RecruitModal.tsx","webpack:///./src/Gang/ui/TerritorySubpage.tsx","webpack:///./src/Gang/ui/EquipmentsSubpage.tsx","webpack:///./src/Corporation/ui/CorporationRoot.tsx","webpack:///./src/Corporation/ui/MainPanel.tsx","webpack:///./src/Corporation/ui/CityTabs.tsx","webpack:///./src/Corporation/ui/Industry.tsx","webpack:///./src/Corporation/ui/IndustryOffice.tsx","webpack:///./src/Corporation/ui/UpgradeOfficeSizeModal.tsx","webpack:///./src/Corporation/ui/ThrowPartyModal.tsx","webpack:///./src/Corporation/ui/IndustryOverview.tsx","webpack:///./src/Corporation/ui/MakeProductModal.tsx","webpack:///./src/Corporation/ui/ResearchPopup.tsx","webpack:///./src/ui/React/Popup.tsx","webpack:///./src/ui/uiHelpers/removeElement.ts","webpack:///./src/Corporation/ui/IndustryWarehouse.tsx","webpack:///./src/Corporation/ui/SmartSupplyModal.tsx","webpack:///./src/Corporation/ui/ProductElem.tsx","webpack:///./src/Corporation/ui/DiscontinueProductModal.tsx","webpack:///./src/Corporation/ui/LimitProductProductionModal.tsx","webpack:///./src/Corporation/ui/SellProductModal.tsx","webpack:///./src/Corporation/ui/ProductMarketTaModal.tsx","webpack:///./src/Corporation/ui/MaterialElem.tsx","webpack:///./src/Corporation/ui/ExportModal.tsx","webpack:///./src/Corporation/ui/MaterialMarketTaModal.tsx","webpack:///./src/Corporation/ui/SellMaterialModal.tsx","webpack:///./src/Corporation/ui/PurchaseMaterialModal.tsx","webpack:///./src/Corporation/ui/Helpers.tsx","webpack:///./src/Corporation/ui/IndustryProductEquation.tsx","webpack:///./src/Corporation/ui/ExpandNewCity.tsx","webpack:///./src/Corporation/ui/ExpandIndustryTab.tsx","webpack:///./src/Corporation/ui/Overview.tsx","webpack:///./src/Corporation/ui/LevelableUpgrade.tsx","webpack:///./src/Corporation/ui/UnlockUpgrade.tsx","webpack:///./src/Corporation/ui/BribeFactionModal.tsx","webpack:///./src/Corporation/ui/SellSharesModal.tsx","webpack:///./src/Corporation/ui/BuybackSharesModal.tsx","webpack:///./src/Corporation/ui/IssueDividendsModal.tsx","webpack:///./src/Corporation/ui/IssueNewSharesModal.tsx","webpack:///./src/Corporation/ui/FindInvestorsModal.tsx","webpack:///./src/Corporation/ui/GoPublicModal.tsx","webpack:///./src/Infiltration/ui/InfiltrationRoot.tsx","webpack:///./src/Infiltration/ui/Intro.tsx","webpack:///./src/Infiltration/ui/Game.tsx","webpack:///./src/Infiltration/ui/Countdown.tsx","webpack:///./src/Infiltration/ui/BracketGame.tsx","webpack:///./src/Infiltration/ui/SlashGame.tsx","webpack:///./src/Infiltration/ui/BackwardGame.tsx","webpack:///./src/Infiltration/ui/BribeGame.tsx","webpack:///./src/Infiltration/ui/CheatCodeGame.tsx","webpack:///./src/Infiltration/ui/Cyberpunk2077Game.tsx","webpack:///./src/Infiltration/ui/MinesweeperGame.tsx","webpack:///./src/Infiltration/ui/WireCuttingGame.tsx","webpack:///./src/Infiltration/ui/Victory.tsx","webpack:///./src/PersonObjects/Resleeving/ui/ResleeveRoot.tsx","webpack:///./src/PersonObjects/Resleeving/Resleeve.ts","webpack:///./src/PersonObjects/Resleeving/ui/ResleeveElem.tsx","webpack:///./src/ui/WorkInProgressRoot.tsx","webpack:///./src/ui/React/GameOptionsRoot.tsx","webpack:///./src/Diagnostic/FileDiagnosticModal.tsx","webpack:///./src/ui/React/ConfirmationModal.tsx","webpack:///./src/ui/React/ThemeEditorModal.tsx","webpack:///./src/PersonObjects/Sleeve/ui/SleeveRoot.tsx","webpack:///./src/PersonObjects/Sleeve/ui/SleeveElem.tsx","webpack:///./src/PersonObjects/Sleeve/ui/SleeveAugmentationsModal.tsx","webpack:///./src/PersonObjects/Sleeve/ui/TravelModal.tsx","webpack:///./src/PersonObjects/Sleeve/ui/StatsElement.tsx","webpack:///./src/PersonObjects/Sleeve/ui/MoreStatsModal.tsx","webpack:///./src/PersonObjects/Sleeve/ui/MoreEarningsModal.tsx","webpack:///./src/PersonObjects/Sleeve/ui/TaskSelector.tsx","webpack:///./src/PersonObjects/Sleeve/ui/FAQModal.tsx","webpack:///./src/Hacknet/ui/HacknetRoot.tsx","webpack:///./src/Hacknet/ui/GeneralInfo.tsx","webpack:///./src/Hacknet/ui/HacknetNodeElem.tsx","webpack:///./src/Hacknet/ui/HacknetServerElem.tsx","webpack:///./src/Hacknet/ui/HashUpgradeModal.tsx","webpack:///./src/Hacknet/ui/HacknetUpgradeElem.tsx","webpack:///./src/Hacknet/ui/MultiplierButtons.tsx","webpack:///./src/Hacknet/ui/PlayerInfo.tsx","webpack:///./src/Hacknet/ui/PurchaseButton.tsx","webpack:///./src/Locations/ui/CompanyLocation.tsx","webpack:///./src/Company/ui/QuitJobModal.tsx","webpack:///./src/Locations/ui/GymLocation.tsx","webpack:///./src/Locations/ui/HospitalLocation.tsx","webpack:///./src/Locations/ui/SlumsLocation.tsx","webpack:///./src/Locations/ui/SpecialLocation.tsx","webpack:///./src/Corporation/ui/CreateCorporationModal.tsx","webpack:///./src/Locations/ui/TechVendorLocation.tsx","webpack:///./src/Locations/ui/RamButton.tsx","webpack:///./src/Locations/ui/TorButton.tsx","webpack:///./src/Locations/LocationsHelpers.tsx","webpack:///./src/Locations/ui/CoresButton.tsx","webpack:///./src/Locations/ui/PurchaseServerModal.tsx","webpack:///./src/Locations/ui/TravelConfirmationModal.tsx","webpack:///./src/Locations/ui/UniversityLocation.tsx","webpack:///./src/Locations/ui/CasinoLocation.tsx","webpack:///./src/Casino/Blackjack.tsx","webpack:///./src/Casino/CardDeck/Deck.ts","webpack:///./src/Casino/CoinFlip.tsx","webpack:///./src/Casino/Roulette.tsx","webpack:///./src/Casino/SlotMachine.tsx","webpack:///./src/ui/React/CorruptableText.tsx","webpack:///./src/Locations/ui/City.tsx","webpack:///./src/Programs/ui/ProgramsRoot.tsx","webpack:///./src/ScriptEditor/ui/Root.tsx","webpack:///./src/ScriptEditor/ui/OptionsModal.tsx","webpack:///./src/Milestones/ui/MilestonesRoot.tsx","webpack:///./src/Terminal/ui/TerminalRoot.tsx","webpack:///./src/Terminal/ui/TerminalInput.tsx","webpack:///./src/Terminal/determineAllPossibilitiesForTabCompletion.ts","webpack:///./src/Terminal/DirectoryServerHelpers.ts","webpack:///./src/Terminal/tabCompletion.ts","webpack:///./src/Tutorial/ui/TutorialRoot.tsx","webpack:///./src/ui/ActiveScripts/ActiveScriptsRoot.tsx","webpack:///./src/ui/ActiveScripts/ScriptProduction.tsx","webpack:///./src/ui/ActiveScripts/ServerAccordions.tsx","webpack:///./src/ui/ActiveScripts/ServerAccordion.tsx","webpack:///./src/ui/ActiveScripts/ServerAccordionContent.tsx","webpack:///./src/ui/ActiveScripts/WorkerScriptAccordion.tsx","webpack:///./src/Faction/ui/FactionsRoot.tsx","webpack:///./src/Faction/ui/FactionRoot.tsx","webpack:///./src/Faction/ui/AugmentationsPage.tsx","webpack:///./src/Faction/ui/PurchaseableAugmentation.tsx","webpack:///./src/Faction/ui/PurchaseAugmentationModal.tsx","webpack:///./src/ui/React/Augmentation.tsx","webpack:///./src/Faction/ui/DonateOption.tsx","webpack:///./src/Faction/ui/Info.tsx","webpack:///./src/Faction/ui/CreateGangModal.tsx","webpack:///./src/PersonObjects/Sleeve/ui/CovenantPurchasesRoot.tsx","webpack:///./src/PersonObjects/Sleeve/ui/CovenantSleeveMemoryUpgrade.tsx","webpack:///./src/ui/CharacterStats.tsx","webpack:///./src/StockMarket/ui/StockMarketRoot.tsx","webpack:///./src/StockMarket/ui/InfoAndPurchases.tsx","webpack:///./src/StockMarket/ui/StockTickers.tsx","webpack:///./src/StockMarket/ui/StockTicker.tsx","webpack:///./src/StockMarket/ui/StockTickerHeaderText.tsx","webpack:///./src/StockMarket/ui/StockTickerOrderList.tsx","webpack:///./src/StockMarket/ui/StockTickerOrder.tsx","webpack:///./src/StockMarket/ui/StockTickerPositionText.tsx","webpack:///./src/StockMarket/ui/PlaceOrderModal.tsx","webpack:///./src/BitNode/ui/BitverseRoot.tsx","webpack:///./src/BitNode/ui/PortalModal.tsx","webpack:///./src/ui/React/CinematicLine.tsx","webpack:///./src/ui/React/CharacterOverview.tsx","webpack:///./src/Bladeburner/ui/BladeburnerCinematic.tsx","webpack:///./src/Exploits/Unclickable.tsx","webpack:///./src/utils/helpers/is2DArray.ts","webpack:///./src/ui/uiHelpers/createPopup.ts","webpack:///./src/NetscriptJSEvaluator.ts","webpack:///./src/Script/ScriptUrl.ts","webpack:///./src/NetscriptPort.ts","webpack:///./src/SourceFile/applySourceFile.ts","webpack:///./src/Exploits/applyExploits.ts","webpack:///./src/Terminal/commands/alias.ts","webpack:///./src/Terminal/commands/analyze.ts","webpack:///./src/Terminal/commands/backdoor.ts","webpack:///./src/Terminal/commands/buy.ts","webpack:///./src/Terminal/commands/cat.ts","webpack:///./src/Terminal/commands/cd.ts","webpack:///./src/Terminal/commands/check.ts","webpack:///./src/Terminal/commands/connect.ts","webpack:///./src/Terminal/commands/download.ts","webpack:///./src/Terminal/commands/expr.ts","webpack:///./src/Terminal/commands/free.ts","webpack:///./src/Terminal/commands/hack.ts","webpack:///./src/Terminal/commands/help.ts","webpack:///./src/Terminal/commands/home.ts","webpack:///./src/Terminal/commands/hostname.ts","webpack:///./src/Terminal/commands/ifconfig.ts","webpack:///./src/Terminal/commands/kill.ts","webpack:///./src/Terminal/commands/killall.ts","webpack:///./src/Terminal/commands/ls.tsx","webpack:///./src/Terminal/commands/lscpu.ts","webpack:///./src/Terminal/commands/mem.ts","webpack:///./src/Terminal/commands/mv.ts","webpack:///./src/Terminal/commands/nano.ts","webpack:///./src/Terminal/commands/ps.ts","webpack:///./src/Terminal/commands/rm.ts","webpack:///./src/Terminal/commands/run.ts","webpack:///./src/Terminal/commands/runScript.ts","webpack:///./src/Terminal/commands/runProgram.ts","webpack:///./src/Terminal/commands/scan.ts","webpack:///./src/Terminal/commands/scananalyze.ts","webpack:///./src/Terminal/commands/scp.ts","webpack:///./src/Terminal/commands/sudov.ts","webpack:///./src/Terminal/commands/tail.ts","webpack:///./src/Terminal/commands/top.ts","webpack:///./src/Terminal/commands/unalias.ts","webpack:///./src/Terminal/commands/wget.ts","webpack:///./src/Exploits/tampering.ts","webpack:///./src/index.tsx"],"names":["webpackJsonpCallback","data","moduleId","chunkId","chunkIds","moreModules","executeModules","i","resolves","length","Object","prototype","hasOwnProperty","call","installedChunks","push","modules","parentJsonpFunction","shift","deferredModules","apply","checkDeferredModules","result","deferredModule","fulfilled","j","depId","splice","__webpack_require__","s","installedModules","1","exports","module","l","m","c","d","name","getter","o","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","p","jsonpArray","window","oldJsonpFunction","slice","Player","PlayerObject","loadPlayer","saveString","JSON","parse","Reviver","money","Decimal","corporation","Corporation","funds","revenue","expenses","divisions","ind","lastCycleRevenue","lastCycleExpenses","thisCycleRevenue","thisCycleExpenses","exploits","sanitizeExploits","extraFormats","extraNotations","numeralWrapper","constructor","this","defaultLocale","updateLocale","numeral","locale","console","warn","format","Math","abs","answer","formatBigNumber","formatReallyBigNumber","decimalPlaces","Infinity","repeat","str","formatHp","formatMoney","formatSkill","formatExp","formatHashes","formatReputation","formatFavor","formatRAM","formatPercentage","formatter","formatServerSecurity","formatRespect","formatWanted","formatMultiplier","formatSleeveShock","formatSleeveSynchro","formatSleeveMemory","formatPopulation","formatStamina","formatShares","formatInfiltrationSecurity","formatThreads","parseMoney","numeralValue","parsed","parseFloat","isNaN","NaN","max","CONSTANTS","Version","_idleSpeed","MaxSkillLevel","MilliPerCycle","CorpFactionRepRequirement","BaseCostFor1GBOfRamHome","BaseCostFor1GBOfRamServer","TravelCost","BaseFavorToDonate","DonateMoneyToRepDivisor","FactionReputationToFavorBase","FactionReputationToFavorMult","CompanyReputationToFavorBase","CompanyReputationToFavorMult","NeuroFluxGovernorLevelMult","NumNetscriptPorts","HomeComputerMaxRam","ServerBaseGrowthRate","ServerMaxGrowthRate","ServerFortifyAmount","ServerWeakenAmount","PurchasedServerLimit","PurchasedServerMaxRam","MultipleAugMultiplier","TorRouterCost","InfiltrationBribeBaseAmount","InfiltrationMoneyValue","InfiltrationRepValue","InfiltrationExpPow","WSEAccountCost","TIXAPICost","MarketData4SCost","MarketDataTixApi4SCost","StockMarketCommission","HospitalCostPerHp","IntelligenceCrimeWeight","IntelligenceInfiltrationWeight","IntelligenceCrimeBaseExpGain","IntelligenceProgramBaseExpGain","IntelligenceTerminalHackBaseExpGain","IntelligenceSingFnBaseExpGain","IntelligenceClassBaseExpGain","MillisecondsPer20Hours","GameCyclesPer20Hours","MillisecondsPer10Hours","GameCyclesPer10Hours","MillisecondsPer8Hours","GameCyclesPer8Hours","MillisecondsPer4Hours","GameCyclesPer4Hours","MillisecondsPer2Hours","GameCyclesPer2Hours","MillisecondsPerHour","GameCyclesPerHour","MillisecondsPerHalfHour","GameCyclesPerHalfHour","MillisecondsPerQuarterHour","GameCyclesPerQuarterHour","MillisecondsPerFiveMinutes","GameCyclesPerFiveMinutes","BaseFocusBonus","FactionWorkHacking","FactionWorkField","FactionWorkSecurity","WorkTypeCompany","WorkTypeCompanyPartTime","WorkTypeFaction","WorkTypeCreateProgram","WorkTypeStudyClass","WorkTypeCrime","ClassStudyComputerScience","ClassDataStructures","ClassNetworks","ClassAlgorithms","ClassManagement","ClassLeadership","ClassGymStrength","ClassGymDefense","ClassGymDexterity","ClassGymAgility","ClassDataStructuresBaseCost","ClassNetworksBaseCost","ClassAlgorithmsBaseCost","ClassManagementBaseCost","ClassLeadershipBaseCost","ClassGymBaseCost","ClassStudyComputerScienceBaseExp","ClassDataStructuresBaseExp","ClassNetworksBaseExp","ClassAlgorithmsBaseExp","ClassManagementBaseExp","ClassLeadershipBaseExp","CrimeShoplift","CrimeRobStore","CrimeMug","CrimeLarceny","CrimeDrugs","CrimeBondForgery","CrimeTraffickArms","CrimeHomicide","CrimeGrandTheftAuto","CrimeKidnap","CrimeAssassination","CrimeHeist","CodingContractBaseFactionRepGain","CodingContractBaseCompanyRepGain","CodingContractBaseMoneyGain","TotalNumBitNodes","LatestUpdate","AugmentationNames","Targeting1","Targeting2","Targeting3","SyntheticHeart","SynfibrilMuscle","CombatRib1","CombatRib2","CombatRib3","NanofiberWeave","SubdermalArmor","WiredReflexes","GrapheneBoneLacings","BionicSpine","GrapheneBionicSpine","BionicLegs","GrapheneBionicLegs","SpeechProcessor","TITN41Injection","EnhancedSocialInteractionImplant","BitWire","ArtificialBioNeuralNetwork","ArtificialSynapticPotentiation","EnhancedMyelinSheathing","SynapticEnhancement","NeuralRetentionEnhancement","DataJack","ENM","ENMCore","ENMCoreV2","ENMCoreV3","ENMAnalyzeEngine","ENMDMA","Neuralstimulator","NeuralAccelerator","CranialSignalProcessorsG1","CranialSignalProcessorsG2","CranialSignalProcessorsG3","CranialSignalProcessorsG4","CranialSignalProcessorsG5","NeuronalDensification","NeuroreceptorManager","NuoptimalInjectorImplant","SpeechEnhancement","FocusWire","PCDNI","PCDNIOptimizer","PCDNINeuralNetwork","PCMatrix","ADRPheromone1","ADRPheromone2","ShadowsSimulacrum","HacknetNodeCPUUpload","HacknetNodeCacheUpload","HacknetNodeNICUpload","HacknetNodeKernelDNI","HacknetNodeCoreDNI","NeuroFluxGovernor","Neurotrainer1","Neurotrainer2","Neurotrainer3","Hypersight","LuminCloaking1","LuminCloaking2","HemoRecirculator","SmartSonar","PowerRecirculator","QLink","TheRedPill","SPTN97","HiveMind","CordiARCReactor","SmartJaw","Neotra","Xanipher","nextSENS","OmniTekInfoLoad","PhotosyntheticCells","Neurolink","TheBlackHand","UnstableCircadianModulator","CRTX42AA","Neuregen","CashRoot","NutriGen","INFRARet","DermaForce","GrapheneBrachiBlades","GrapheneBionicArms","BrachiBlades","BionicArms","SNA","HydroflameLeftArm","EsperEyewear","EMS4Recombination","OrionShoulder","HyperionV1","HyperionV2","GolemSerum","VangelisVirus","VangelisVirus3","INTERLINKED","BladeRunner","BladeArmor","BladeArmorPowerCells","BladeArmorEnergyShielding","BladeArmorUnibeam","BladeArmorOmnibeam","BladeArmorIPU","BladesSimulacrum","BitNodeMultipliers","HackingLevelMultiplier","StrengthLevelMultiplier","DefenseLevelMultiplier","DexterityLevelMultiplier","AgilityLevelMultiplier","CharismaLevelMultiplier","ServerGrowthRate","ServerMaxMoney","ServerStartingMoney","ServerStartingSecurity","ServerWeakenRate","HomeComputerRamCost","PurchasedServerCost","CompanyWorkMoney","CrimeMoney","HacknetNodeMoney","ManualHackMoney","ScriptHackMoney","ScriptHackMoneyGain","CodingContractMoney","ClassGymExpGain","CompanyWorkExpGain","CrimeExpGain","FactionWorkExpGain","HackExpGain","FactionPassiveRepGain","FactionWorkRepGain","RepToDonateToFaction","AugmentationMoneyCost","AugmentationRepCost","InfiltrationMoney","InfiltrationRep","FourSigmaMarketDataCost","FourSigmaMarketDataApiCost","CorporationValuation","BladeburnerRank","BladeburnerSkillCost","DaedalusAugsRequirement","GangKarmaRequirement","LocationName","RamCostConstants","ScriptBaseRamCost","ScriptDomRamCost","ScriptHackRamCost","ScriptHackAnalyzeRamCost","ScriptGrowRamCost","ScriptGrowthAnalyzeRamCost","ScriptWeakenRamCost","ScriptScanRamCost","ScriptPortProgramRamCost","ScriptRunRamCost","ScriptExecRamCost","ScriptSpawnRamCost","ScriptScpRamCost","ScriptKillRamCost","ScriptHasRootAccessRamCost","ScriptGetHostnameRamCost","ScriptGetHackingLevelRamCost","ScriptGetMultipliersRamCost","ScriptGetServerRamCost","ScriptGetServerMaxRam","ScriptGetServerUsedRam","ScriptFileExistsRamCost","ScriptIsRunningRamCost","ScriptHacknetNodesRamCost","ScriptHNUpgLevelRamCost","ScriptHNUpgRamRamCost","ScriptHNUpgCoreRamCost","ScriptGetStockRamCost","ScriptBuySellStockRamCost","ScriptGetPurchaseServerRamCost","ScriptPurchaseServerRamCost","ScriptGetPurchasedServerLimit","ScriptGetPurchasedServerMaxRam","ScriptRoundRamCost","ScriptReadWriteRamCost","ScriptArbScriptRamCost","ScriptGetScriptRamCost","ScriptGetRunningScriptRamCost","ScriptGetHackTimeRamCost","ScriptGetFavorToDonate","ScriptCodingContractBaseRamCost","ScriptSleeveBaseRamCost","ScriptSingularityFn1RamCost","ScriptSingularityFn2RamCost","ScriptSingularityFn3RamCost","ScriptGangApiBaseRamCost","ScriptBladeburnerApiBaseRamCost","RamCosts","hacknet","numNodes","purchaseNode","getPurchaseNodeCost","getNodeStats","upgradeLevel","upgradeRam","upgradeCore","upgradeCache","getLevelUpgradeCost","getRamUpgradeCost","getCoreUpgradeCost","getCacheUpgradeCost","numHashes","hashCost","spendHashes","sprintf","vsprintf","scan","hack","hackAnalyzeThreads","hackAnalyzePercent","hackChance","sleep","grow","growthAnalyze","weaken","print","tprint","clearLog","disableLog","enableLog","isLogEnabled","getScriptLogs","nuke","brutessh","ftpcrack","relaysmtp","httpworm","sqlinject","run","exec","spawn","kill","killall","exit","scp","ls","ps","hasRootAccess","getIp","getHostname","getHackingLevel","getHackingMultipliers","getHacknetMultipliers","getBitNodeMultipliers","getServer","getServerMoneyAvailable","getServerSecurityLevel","getServerBaseSecurityLevel","getServerMinSecurityLevel","getServerRequiredHackingLevel","getServerMaxMoney","getServerGrowth","getServerNumPortsRequired","getServerRam","getServerMaxRam","getServerUsedRam","serverExists","fileExists","isRunning","getStockSymbols","getStockPrice","getStockAskPrice","getStockBidPrice","getStockPosition","getStockMaxShares","getStockPurchaseCost","getStockSaleGain","buyStock","sellStock","shortStock","sellShort","placeOrder","cancelOrder","getOrders","getStockVolatility","getStockForecast","purchase4SMarketData","purchase4SMarketDataTixApi","getPurchasedServerLimit","getPurchasedServerMaxRam","getPurchasedServerCost","purchaseServer","deleteServer","getPurchasedServers","write","tryWrite","read","peek","clear","getPortHandle","rm","scriptRunning","scriptKill","getScriptName","getScriptRam","getHackTime","getGrowTime","getWeakenTime","getScriptIncome","getScriptExpGain","getRunningScript","nFormat","getTimeSinceLastAug","prompt","wget","getFavorToDonate","universityCourse","gymWorkout","travelToCity","purchaseTor","purchaseProgram","getCurrentServer","connect","manualHack","installBackdoor","getStats","getCharacterInformation","getPlayer","hospitalize","isBusy","stopAction","upgradeHomeRam","getUpgradeHomeRamCost","workForCompany","applyToCompany","getCompanyRep","getCompanyFavor","getCompanyFavorGain","checkFactionInvitations","joinFaction","workForFaction","getFactionRep","getFactionFavor","getFactionFavorGain","donateToFaction","createProgram","commitCrime","getCrimeChance","getCrimeStats","getOwnedAugmentations","getOwnedSourceFiles","getAugmentationsFromFaction","getAugmentationCost","getAugmentationPrereq","getAugmentationPrice","getAugmentationRepReq","getAugmentationStats","purchaseAugmentation","softReset","installAugmentations","gang","createGang","inGang","getMemberNames","getGangInformation","getOtherGangInformation","getMemberInformation","canRecruitMember","recruitMember","getTaskNames","getTaskStats","setMemberTask","getEquipmentNames","getEquipmentCost","getEquipmentType","getEquipmentStats","purchaseEquipment","ascendMember","setTerritoryWarfare","getChanceToWinClash","getBonusTime","bladeburner","getContractNames","getOperationNames","getBlackOpNames","getBlackOpRank","getGeneralActionNames","getSkillNames","startAction","stopBladeburnerAction","getCurrentAction","getActionTime","getActionEstimatedSuccessChance","getActionRepGain","getActionCountRemaining","getActionMaxLevel","getActionCurrentLevel","getActionAutolevel","setActionAutolevel","setActionLevel","getRank","getSkillPoints","getSkillLevel","getSkillUpgradeCost","upgradeSkill","getTeamSize","setTeamSize","getCityEstimatedPopulation","getCityEstimatedCommunities","getCityChaos","getCity","switchCity","getStamina","joinBladeburnerFaction","joinBladeburnerDivision","codingcontract","attempt","getContractType","getData","getDescription","getNumTriesRemaining","sleeve","getNumSleeves","setToShockRecovery","setToSynchronize","setToCommitCrime","setToUniversityCourse","travel","setToCompanyWork","setToFactionWork","setToGymWorkout","getSleeveStats","getTask","getInformation","getSleeveAugmentations","getSleevePurchasableAugs","purchaseSleeveAug","heart","break","getRamCost","args","curr","currType","defaultSettings","ActiveScriptsServerPageSize","ActiveScriptsScriptPageSize","AutosaveInterval","CodeInstructionRunTime","DisableASCIIArt","DisableHotkeys","DisableTextEffects","EnableBashHotkeys","EnableTimestamps","Locale","MaxLogCapacity","MaxPortCapacity","MaxTerminalCapacity","SuppressBuyAugmentationConfirmation","SuppressFactionInvites","SuppressHospitalizationPopup","SuppressMessages","SuppressTravelConfirmation","SuppressBladeburnerPopup","theme","primarylight","primary","primarydark","errorlight","error","errordark","secondarylight","secondary","secondarydark","warninglight","warning","warningdark","infolight","info","infodark","welllight","well","white","black","hp","combat","cha","int","rep","disabled","Settings","OwnedAugmentationsOrder","OwnedAugmentationsOrderSetting","AcquirementTime","PurchaseAugmentationsOrder","PurchaseAugmentationsOrderSetting","Default","MonacoTheme","MonacoInsertSpaces","init","assign","load","dialogBoxCreate","txt","AlertEvents","emit","dangerouslySetInnerHTML","__html","useStyles","makeStyles","createStyles","unbuyable","color","palette","action","colors","Money","props","classes","undefined","player","Error","canAfford","className","Augmentations","log","ctor","constructors","fromJSON","Generic_toJSON","ctorName","obj","keys","index","Generic_fromJSON","convertTimeMsToTimeElapsedString","time","showMilli","floor","totalSeconds","days","secondPerHours","secTruncDays","hours","secondPerMinute","secTruncHours","minutes","secTruncMinutes","milliTruncSec","res","longestCommonStart","strings","containsAllStrings","A","concat","sort","a1","a2","L","a","charAt","b","toUpperCase","substring","arr","every","isString","formatNumber","num","numFractionDigits","toLocaleString","maximumFractionDigits","minimumFractionDigits","generateRandomString","chars","random","CityName","Factions","loadFactions","faction","getInfo","err","factionExists","initFactions","FactionInfos","resetFaction","Faction","newFactionObject","factionName","favor","AddToFactions","SoftwareCompanyPositions","ITCompanyPositions","SecurityEngineerCompanyPositions","NetworkEngineerCompanyPositions","BusinessCompanyPositions","SecurityCompanyPositions","AgentCompanyPositions","MiscCompanyPositions","SoftwareConsultantCompanyPositions","BusinessConsultantCompanyPositions","PartTimeCompanyPositions","Context","React","createContext","Router","use","useContext","getRandomInt","min","lower","upper","Page","Augmentation","params","moneyCost","repCost","prereqs","baseRepRequirement","baseCost","startingCost","isSpecial","level","hacking_mult","mults","strength_mult","defense_mult","dexterity_mult","agility_mult","charisma_mult","hacking_exp_mult","strength_exp_mult","defense_exp_mult","dexterity_exp_mult","agility_exp_mult","charisma_exp_mult","hacking_chance_mult","hacking_speed_mult","hacking_money_mult","hacking_grow_mult","company_rep_mult","faction_rep_mult","crime_money_mult","crime_success_mult","work_money_mult","hacknet_node_money_mult","hacknet_node_purchase_cost_mult","hacknet_node_ram_cost_mult","hacknet_node_core_cost_mult","hacknet_node_level_cost_mult","bladeburner_max_stamina_mult","bladeburner_stamina_gain_mult","bladeburner_analysis_mult","bladeburner_success_chance_mult","stats","programs","startingMoney","f","x","decimals","desc","join","generateStatsDescription","addToFactions","factionList","augmentations","addToAllFactions","fac","facObj","toJSON","AllServers","ipExists","ip","createUniqueRandomIp","createRandomIp","AddToAllServers","server","serverIp","hostname","initForeignServers","homeComputer","networkLayers","propertiesToPatternMatch","toNumber","metadata","serverMetadata","serverParams","numOpenPortsRequired","organizationName","maxRamExponent","maxRam","pow","prop","Server","filename","literature","messages","specialName","SpecialServerIps","addIp","networkLayer","linkNetworkLayers","network1","selectServer","server1","server2","serversOnNetwork","getRandomArrayItem","prestigeAllServers","member","loadAllServers","HacknetNodeConstants","MoneyGainPerLevel","BaseCost","LevelBaseCost","RamBaseCost","CoreBaseCost","PurchaseNextMult","UpgradeLevelMult","UpgradeRamMult","UpgradeCoreMult","MaxLevel","MaxRam","MaxCores","PurchaseMultipliers","x1","x5","x10","MAX","HacknetServerConstants","HashesPerLevel","CacheBaseCost","PurchaseMult","UpgradeCacheMult","MaxServers","MaxCache","ActionTypes","Idle","Contract","Operation","BlackOp","BlackOperation","Training","Recruitment","FieldAnalysis","Diplomacy","iTutorialSteps","ITutorial","currStep","Start","stepIsDone","GoToCharacterPage","CharacterPage","CharacterGoToTerminalPage","TerminalIntro","TerminalHelp","TerminalLs","TerminalScan","TerminalScanAnalyze1","TerminalScanAnalyze2","TerminalConnect","TerminalAnalyze","TerminalNuke","TerminalManualHack","TerminalHackingMechanics","TerminalGoHome","TerminalCreateScript","TerminalTypeScript","TerminalFree","TerminalRunScript","TerminalGoToActiveScriptsPage","ActiveScriptsPage","ActiveScriptsToTerminal","TerminalTailScript","GoToHacknetNodesPage","HacknetNodesIntroduction","HacknetNodesGoToWorldPage","WorldDescription","TutorialPageInfo","End","iTutorialStart","iTutorialNextStep","iTutorialEnd","ITutorialEvents","iTutorialPrevStep","getHomeComputer","LiteratureNames","HackersStartingHandbook","AllCorporationStates","CorporationConstants","INITIALSHARES","SHARESPERPRICEUPDATE","IssueNewSharesCooldown","SellSharesCooldown","CyclesPerMarketCycle","CyclesPerIndustryStateCycle","SecsPerMarketCycle","Cities","WarehouseInitialCost","WarehouseInitialSize","WarehouseUpgradeBaseCost","OfficeInitialCost","OfficeInitialSize","OfficeUpgradeBaseCost","BribeThreshold","BribeToRepRatio","ProductProductionCostRatio","DividendMaxPercentage","EmployeeSalaryMultiplier","CyclesPerEmployeeRaise","EmployeeRaiseAmount","BaseMaxProducts","AllMaterials","root","borderBottom","small","width","TableCell","Table","modal","display","alignItems","justifyContent","paper","backgroundColor","background","default","border","main","boxShadow","dark","padding","maxWidth","maxHeight","overflow","scrollbarWidth","Modal","disableRestoreFocus","disableScrollLock","disableEnforceFocus","disableAutoFocus","open","onClose","closeAfterTransition","in","sx","children","Division","useCorporation","useDivision","safetlyCreateUniqueServer","GetServerByHostname","numCycleForGrowth","growth","ajdGrowthRate","hackDifficulty","serverGrowthPercentage","serverGrowth","processSingleServerGrowth","threads","cores","calculateServerGrowth","oldMoneyAvailable","moneyAvailable","isValidNumber","moneyMax","usedCycles","fortify","ceil","prestigeHomeComputer","homeComp","hasBitflume","includes","Programs","BitFlume","runningScripts","isConnectedTo","ramUsed","NukeProgram","scripts","forEach","script","updateRamUsage","isValidIPAddress","getServerOnNetwork","isBackdoorInstalled","backdoorInstalled","t_homeComp","adminRights","purchasedByPlayer","currentServer","prestigeAugmentation","numPeopleKilled","karma","hacking_skill","strength","defense","dexterity","agility","charisma","hacking_exp","strength_exp","defense_exp","dexterity_exp","agility_exp","charisma_exp","city","Sector12","location","TravelAgency","companyName","jobs","purchasedServers","factions","factionInvitations","queuedAugmentations","resleeves","numSleeves","SourceFileFlags","bitNodeN","sleevesFromCovenant","sleeves","Sleeve","shock","synchronize","shockRecovery","isWorking","currentWorkFactionName","currentWorkFactionDescription","createProgramName","crimeType","workHackExpGainRate","workStrExpGainRate","workDefExpGainRate","workDexExpGainRate","workAgiExpGainRate","workChaExpGainRate","workRepGainRate","workMoneyGainRate","workHackExpGained","workStrExpGained","workDefExpGained","workDexExpGained","workAgiExpGained","workChaExpGained","workRepGained","workMoneyGained","timeWorked","lastUpdate","Date","getTime","playtimeSinceLastAug","scriptProdSinceLastAug","moneySourceA","reset","hacknetNodes","hashManager","prestige","reapplyAllAugmentations","max_hp","prestigeSourceFile","sync","resetGangs","hasWseAccount","hasTixApiAccess","has4SData","has4SDataTixApi","moneySourceB","playtimeSinceLastBitnode","receiveInvite","calculateSkill","exp","mult","calculateSkillF","updateSkillLevels","intelligence","intelligence_exp","ratio","round","resetMultipliers","hasProgram","programName","home","toLowerCase","setMoney","gainMoney","plus","loseMoney","eq","minus","cost","gte","recordMoneySource","amt","source","MoneySourceTracker","record","gainHackingExp","gainStrengthExp","gainDefenseExp","gainDexterityExp","gainAgilityExp","gainCharismaExp","gainIntelligenceExp","queryStatFromString","tempStr","resetWorkStatus","generalType","group","workType","factionWorkType","singularityStopWork","workMoneyLossRate","timeWorkedCreateProgram","processWorkEarnings","numCycles","focusBonus","hasAugmentation","focus","hackExpGain","strExpGain","defExpGain","dexExpGain","agiExpGain","chaExpGain","moneyGain","startWork","router","getWorkHackExpGain","getWorkStrExpGain","getWorkDefExpGain","getWorkDexExpGain","getWorkAgiExpGain","getWorkChaExpGain","getWorkRepGain","getWorkMoneyGain","timeNeededToCompleteWork","toWork","cancelationPenalty","specialIp","work","overMax","comp","Companies","influenceStockThroughCompanyWork","finishWork","cancelled","sing","playerReputation","content","reputation","startWorkPartTime","workPartTime","finishWorkPartTime","startFocusing","stopFocusing","startFactionWork","favorMult","startFactionHackWork","getIntelligenceBonus","startFactionFieldWork","getFactionFieldWorkRepGain","startFactionSecurityWork","getFactionSecurityWorkRepGain","getHackingWorkRepGain","finishFactionWork","bn11Mult","company","companyPositionName","companyPosition","CompanyPositions","baseSalary","salaryMultiplier","hackingExpGain","expMultiplier","strengthExpGain","defenseExpGain","dexterityExpGain","agilityExpGain","charismaExpGain","jobPerformance","calculateJobPerformance","startCreateProgramWork","reqLevel","createProgramReqLvl","programFile","startsWith","endsWith","split","percComplete","Number","createProgramWork","reqLvl","skillMult","finishCreateProgramWork","incompleteName","toString","startClass","costMult","expMult","gameCPS","hackExp","strExp","defExp","dexExp","agiExp","chaExp","getStudyMult","getTrainingMult","takeClass","finishClass","startCrime","workerscript","committingCrimeThruSingFn","singFnCrimeWorkerScript","finishCrime","determineCrimeSuccess","crime","Crimes","type","kills","ws","disableLogs","ALL","scriptRef","takeDamage","regenerateHp","getHospitalizationCost","applyForJob","entryPosType","currCompany","currPositionName","Company","pos","isQualified","reqText","getJobRequirementText","newPos","getNextCompanyPositionHelper","hasPosition","nextPos","getNextCompanyPosition","currentPositionName","currentPosition","isSoftwareJob","isITJob","isBusinessJob","isSecurityEngineerJob","isNetworkEngineerJob","isSecurityJob","isAgentJob","isSoftwareConsultantJob","isBusinessConsultantJob","isPartTimeJob","quitJob","applyForSoftwareJob","posNames","applyForSoftwareConsultantJob","applyForItJob","applyForSecurityEngineerJob","applyForNetworkEngineerJob","applyForBusinessJob","applyForBusinessConsultantJob","applyForSecurityJob","applyForAgentJob","applyForEmployeeJob","applyForPartTimeEmployeeJob","applyForWaiterJob","applyForPartTimeWaiterJob","position","offset","jobStatReqOffset","reqHacking","requiredHacking","reqStrength","requiredStrength","reqDefense","requiredDefense","reqDexterity","requiredDexterity","reqAgility","reqCharisma","requiredCharisma","requiredReputation","augName","aug","owned","applyAugmentation","reapplyAllSourceFiles","sourceFiles","srcFileKey","SourceFiles","applySourceFile","applyExploit","checkForFactionInvitations","invitedFactions","numAugmentations","allCompanies","allPositions","values","checkMegacorpRequirements","repNeeded","illuminatiFac","isBanned","isMember","alreadyInvited","daedalusFac","covenantFac","ecorpFac","AevumECorp","megacorpFac","Sector12MegaCorp","bachmanandassociatesFac","AevumBachmanAndAssociates","bladeindustriesFac","Sector12BladeIndustries","nwoFac","VolhavenNWO","clarkeincorporatedFac","AevumClarkeIncorporated","omnitekincorporatedFac","VolhavenOmniTekIncorporated","foursigmaFac","Sector12FourSigma","kuaigonginternationalFac","ChongqingKuaiGongInternational","fulcrumsecrettechonologiesFac","fulcrumIP","SpecialServerNames","BitRunnersServer","fulcrumSecretServer","AevumFulcrumTechnologies","bitrunnersFac","bitrunnerIP","bitrunnersServer","theblackhandFac","tbhIP","TheBlackHandServer","blackhandServer","nitesecFac","nitesecIP","NiteSecServer","nitesecServer","chongqingFac","Chongqing","sector12Fac","newtokyoFac","NewTokyo","aevumFac","Aevum","ishimaFac","Ishima","volhavenFac","Volhaven","speakersforthedeadFac","Sector12CIA","Sector12NSA","thedarkarmyFac","thesyndicateFac","silhouetteFac","tetradsFac","slumsnakesFac","netburnersFac","totalHacknetRam","totalHacknetCores","totalHacknetLevels","v","hserver","ram","tiandihuiFac","cybersecFac","cyberSecIP","CyberSecServer","cybersecServer","setBitNodeNumber","queueAugmentation","PlayerOwnedAugmentation","gainCodingContractReward","reward","difficulty","CodingContractRewardType","FactionReputation","FactionReputationAll","repGain","totalGain","specialFactions","filter","gainPerFaction","facName","CompanyReputation","to","gotoLocation","Locations","canAccessResleeving","giveExploit","exploit","weight","calculateIntelligenceBonus","getCasinoWinnings","casino","getMult","setMult","EmployeePositions","Operations","Engineer","Business","Management","RandD","Unassigned","Industries","Energy","Utilities","Agriculture","Fishing","Mining","Food","Tobacco","Chemical","Pharmaceutical","Computer","Robotics","Software","Healthcare","RealEstate","IndustryStartingCosts","IndustryDescriptions","corp","IndustryResearchTrees","getBaseResearchTreeCopy","getProductIndustryResearchTreeCopy","resetIndustryResearchTrees","LocationType","BladeburnerConstants","CityNames","CyclesPerSecond","StaminaGainPerSecond","BaseStaminaLoss","MaxStaminaToGainFactor","DifficultyToTimeFactor","DiffMultExponentialFactor","DiffMultLinearFactor","EffAgiLinearFactor","EffDexLinearFactor","EffAgiExponentialFactor","EffDexExponentialFactor","BaseRecruitmentTimeNeeded","PopulationThreshold","PopulationExponent","ChaosThreshold","BaseStatGain","BaseIntGain","ActionCountGrowthPeriod","RankToFactionRepFactor","RankNeededForFaction","ContractSuccessesPerLevel","OperationSuccessesPerLevel","RanksPerSkillPoint","ContractBaseMoneyGain","HrcHpGain","HrcStaminaGain","CorporationManagementHandbook","HistoryOfSynthoids","AGreenTomorrow","AlphaOmega","SimulatedReality","BeyondMan","BrighterThanTheSun","DemocracyIsDead","Sector12Crime","ManAndMachine","SecretSocieties","TheFailedFrontier","CodedIntelligence","SyntheticMuscles","TensionsInTechRace","CostOfImmortality","TheHiddenWorld","TheNewGod","NewTriads","TheSecretWar","BaseServer","super","createRandomString","requiredHackingSkill","baseDifficulty","minDifficulty","capDifficulty","changeMinimumSecurity","perc","changeMaximumMoney","hasHacknetServers","purchaseHacknet","numOwned","getCostOfNextHacknetServer","createHacknetServer","updateHashManagerCapacity","getCostOfNextHacknetNode","node","HacknetNode","hasMaxNumberHacknetServers","calculateNodeCost","calculateServerCost","getMaxNumberLevelUpgrades","nodeObj","maxLevel","lt","calculateLevelUpgradeCost","levelsToMax","gt","getMaxNumberRamUpgrades","calculateRamUpgradeCost","HacknetServer","log2","getMaxNumberCoreUpgrades","calculateCoreUpgradeCost","getMaxNumberCacheUpgrades","calculateCacheUpgradeCost","cache","purchaseLevelUpgrade","levels","sanitizedLevels","isServer","purchaseRamUpgrade","purchaseCoreUpgrade","purchaseCacheUpgrade","processHacknetEarnings","HashManager","hashes","updateHashRate","h","process","totalHashesGenerated","storeHashes","processAllHacknetServerEarnings","total","processSingleHacknetNodeEarnings","processAllHacknetNodeEarnings","totalEarnings","nodes","updateCapacity","hashCapacity","purchaseHashUpgrade","upgName","upgTarget","upgrade","upg","HashUpgrades","refundUpgrade","target","e","division","sciResearch","qty","changeRank","skillPoints","generateRandomContract","initCompanies","oldCompanies","companiesMetadata","loadCompanies","Array","updateSourceFileFlags","sf","lvl","FulcrumSecretTechnologies","TheDarkArmyServer","DaedalusServer","WorldDaemon","SpecialServerIpsMap","prestigeSpecialServerIps","loadSpecialServerIps","initSpecialServerIps","PositionTypes","NewIndustry","industry","Industry","NewCity","offices","OfficeSpace","loc","size","UnlockUpgrade","unlock","LevelUpgrade","priceMult","upgrades","IssueDividends","percent","dividendPercentage","SellMaterial","mat","price","replace","temp","bCost","eval","sCost","q","tempQty","sllman","SellProduct","product","all","cities","tempCity","SetSmartSupply","warehouse","smartSupply","smartSupplyEnabled","SetSmartSupplyUseLeftovers","material","useLeftover","smartSupplyUseLeftovers","BuyMaterial","buy","AssignJob","employee","job","UpgradeOfficeSize","office","initialPriceMult","ThrowParty","costPerEmployee","totalCost","employees","throwParty","PurchaseWarehouse","warehouses","Warehouse","UpgradeWarehouse","sizeUpgradeCost","updateSize","BuyCoffee","IndustryUpgrades","HireAdVert","MakeProduct","productName","designInvest","marketingInvest","Product","createCity","designCost","advCost","products","Research","researchName","researchTree","getAllNodes","research","ResearchMap","researched","ExportMaterial","divisionName","cityName","sanitizedAmt","exportObj","CancelExportMaterial","LimitProductProduction","prdman","SetMaterialMarketTA1","on","marketTa1","SetMaterialMarketTA2","marketTa2","SetProductMarketTA1","SetProductMarketTA2","programsMetadata","Program","SleeveTaskType","Shoplift","Crime","dexterity_success_weight","agility_success_weight","RobStore","hacking_success_weight","Mug","strength_success_weight","defense_success_weight","Larceny","DealDrugs","charisma_success_weight","BondForgery","TraffickArms","Homicide","GrandTheftAuto","Kidnap","Assassination","Heist","trusted","event","isTrusted","AllGangs","power","territory","Tetrads","NiteSec","loadAllGangs","companyPositionMetadata","CompanyPosition","StockSymbols","IshimaStormTechnologies","NewTokyoDefComm","VolhavenHeliosLabs","NewTokyoVitaLife","Sector12IcarusMicrosystems","Sector12UniversalEnergy","AevumAeroCorp","VolhavenOmniaCybersystems","ChongqingSolarisSpaceSystems","NewTokyoGlobalPharmaceuticals","IshimaNovaMedical","AevumWatchdogSecurity","VolhavenLexoCorp","AevumRhoConstruction","Sector12AlphaEnterprises","VolhavenSysCoreSecurities","VolhavenCompuTek","AevumNetLinkTechnologies","IshimaOmegaSoftware","Sector12FoodNStuff","updateHashCapacity","seconds","hashRate","prodMult","runScript","calculateHashGainRate","StockMarket","Orders","storedCycles","ticksUntilCycle","SymbolToStockMap","stock","shares","workerScript","Stock","order","Order","symbol","orders","stk","processOrderRefs","stockMarket","symbolToStockMap","processOrders","stockOrders","stockSymbol","orderTxt","loadStockMarket","deleteStockMarket","initStockMarket","InitStockMetadata","TicksPerCycle","initSymbolToStockMap","cyclesPerStockUpdate","processStockPrices","timeNow","flipForecastForecast","stockMarketCycle","av","mv","chc","otlkMag","cap","changePrice","OrderTypes","LimitBuy","Short","LimitSell","Long","StopBuy","StopSell","otlkMagChange","cycleForecast","cycleForecastForecast","shareTxUntilMovement","shareTxForMovement","initStockMarketFnForReact","eventEmitterForUiReset","EventEmitter","KEY","CTRL","DOWNARROW","ENTER","ESC","TAB","UPARROW","B","C","D","E","F","G","H","I","J","K","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z","CodingContractType","gen","solver","diff","numTries","generate","CodingContractTypes","md","codingContractTypesMetadata","CodingContractResult","CodingContract","fn","getDifficulty","getMaxNumTries","getType","isSolution","solution","Promise","resolve","Cancelled","onAttempt","val","Success","Failure","CodingContractEvent","calculateHackingChance","difficultyMult","chance","calculateHackingExpGain","expGain","calculatePercentMoneyHacked","percentMoneyHacked","calculateHackingTime","skillFactor","calculateGrowTime","calculateWeakenTime","isScriptFilename","Reputation","MoneyRate","makeNode","Node","text","createBaseResearchTreeNodes","rootNode","autoBrew","autoParty","autoDrugs","bulkPurchasing","cph4","drones","dronesAssembly","dronesTransport","goJuice","hrRecruitment","hrTraining","joywire","marketta1","marketta2","overclock","scAssemblers","stimu","addChild","baseResearchTree","ResearchTree","setRoot","upgradeFulcrum","upgradeCapacity1","upgradeCapacity2","upgradeDashboard","removeLeadingSlash","removeTrailingSlash","isValidFilename","match","isValidDirectoryPath","path","t_path","dirs","dir","isValidFilePath","fnSeparator","lastIndexOf","getFirstParentDirectory","getAllParentDirectories","lastSlash","isInRootDirectory","evaluateDirectoryPath","currPath","reconstructedPath","pop","evaluateFilePath","margin","spacing","code","page","toActiveScripts","toAugmentations","toBitVerse","toBladeburner","toStats","toCity","toCorporation","toCreateProgram","toDevMenu","toFaction","toFactions","toGameOptions","toGang","toHacknetNodes","toInfiltration","toJob","toMilestones","toResleeves","toScriptEditor","toSleeves","toStockMarket","toTerminal","toTravel","toTutorial","toBladeburnerCinematic","toLocation","GameRoot","engine","terminal","setPage","useState","Work","Terminal","determineStartPage","setRerender","setFaction","flume","setFlume","quick","setQuick","setLocation","Infiltration","Location","Job","cinematicText","setCinematicText","rerender","old","useEffect","subscribe","ActiveScripts","Bladeburner","Stats","CreateProgram","DevMenu","Options","Gang","Hacknet","Milestones","Resleeves","CreateScript","Sleeves","Tutorial","City","Travel","BitVerse","BladeburnerCinematic","scrollTo","Provider","save","saveObject","saveGame","enter","enterBitNode","flexDirection","flexGrow","px","height","workerScripts","buyStockLong","buyStockShort","eventEmitterForReset","sellStockLong","sellStockShort","export","exportGame","forceKill","exportGameFn","onExport","installAugmentationsFn","StatsTable","rows","title","wide","MuiTable","map","row","elem","align","noWrap","count","getActionTimePenalty","getChaosCompetencePenalty","getChaosDifficultyBonus","inviteToFaction","InvitationEvent","factionInfo","enemies","enemy","hasAugmentationPrereqs","hasPrereqs","prereqAug","augmentationPriceMult","queuedAugmentation","getNextNeurofluxLevel","nextLevel","currLevel","processPassiveFactionRepGain","offersWork","getGangName","hRep","sRep","fRep","rate","String","TTerminal","MoneyCost","Message","msg","recvd","SkillNames","BladesIntuition","Cloak","Marksman","WeaponProficiency","ShortCircuit","DigitalObserver","Tracer","Overclock","Reaper","EvasiveSystem","Datamancer","CybersEdge","HandsOfMidas","Hyperdrive","useGang","killWorkerScript","rerenderUi","WorkerScript","stopAndCleanUpWorkerScript","RunningScript","killWorkerScriptByPid","pid","compareArrays","env","stopFlag","delay","clearTimeout","delayResolve","killNetscriptDelay","roundToTwo","ramUsage","runningScript","delete","WorkerScriptStartStopEventEmitter","removeWorkerScript","defaultConstructorParams","initPrice","marketCap","spreadPerc","range","divisor","lastPrice","playerShares","playerAvgPx","playerShortShares","playerAvgShortPx","otlkMagForecast","getAbsoluteForecast","totalSharesUnrounded","totalShares","maxShares","changeForecastForecast","newff","newPrice","changeAmt","increaseChance","getForecastIncreaseChance","getAskPrice","getBidPrice","influenceForecast","change","influenceForecastForecast","uuidv4","uuid","subscribers","sub","Adjuster","setValue","label","placeholder","add","subtract","tons","onChange","InputProps","startAdornment","onClick","style","transform","endAdornment","Aliases","GlobalAliases","loadAliases","loadGlobalAliases","printAliases","parseAliasDeclaration","dec","global","matches","trim","addGlobalAlias","addAlias","getGlobalAlias","removeAlias","substituteAliases","origCommand","commandArray","somethingSubstituted","depth","alias","netscriptDelay","setTimeoutRef","makeRuntimeRejectMsg","resolveNetscriptRequestedThreads","functionName","requestedThreads","requestedThreadsAsInt","isScriptErrorMessage","Literature","CopyableText","setOpen","variant","copyText","document","createElement","body","appendChild","select","setSelectionRange","execCommand","removeChild","setTimeout","AddToAugmentations","initAugmentations","clearObject","randomBonuses","bonuses","description","randomNumber","WHRNG","step","getRandomBonus","UnstableCircadianModulatorParams","augmentationExists","RedPill","FTPCrackProgram","RelaySMTPProgram","BruteSSHProgram","DeepscanV1","AutoLink","resetAugmentation","newAugObject","reapply","augObj","ownedAug","augmentationList","nfgIndex","isRepeatableAug","UpgradeType","gangMemberUpgradesMetadata","def","upgType","Weapon","dex","agi","Armor","Vehicle","Rootkit","MaterialSizes","Water","Plants","Metal","Hardware","Chemicals","Drugs","Robots","AICores","NetscriptPorts","NetscriptPort","prestigeWorkerScripts","startNetscript1Script","codeWithImports","codeLineOffset","running","importProcessingRes","ast","ecmaVersion","allowReserved","sourceType","generatedCode","hasImports","walksimple","ImportDeclaration","scriptName","getScript","scriptAst","specifiers","namespace","local","fnNames","fnDeclarations","FunctionDeclaration","id","fnName","fnsToImport","lineOffset","linesRemoved","processNetscript1Imports","interpreterInitialization","scope","NetscriptFunctions","entry","tempWrapper","fnArgs","pseudoToNative","cb","then","catch","setProperty","createAsyncFunction","createNativeFunction","nativeToPseudo","interpreter","Interpreter","reject","runInterpreter","errorMessage","startWorkerScript","parent","createAndAddWorkerScript","runningScriptObj","getRamUsageFromRunningScript","arrayToString","generateNextPid","set","runningFn","wrap","propName","finally","vars","executeJSScript","message","stack","startNetscript2Script","w","onlineExpGained","onlineMoneyMade","errorTextArray","errorMsg","updateOnlineScriptTimes","onlineRunningTime","loadAllRunningScripts","skipScriptLoad","href","indexOf","markUpdated","scriptCalculateOfflineProduction","runScriptFromScript","caller","scriptname","isArray","ramAvailable","hasAdminRights","FactionWorkType","createProgressBarText","derived","progress","totalTicks","bars","dashes","Material","getMarkupLimit","qlt","mku","dmd","dmdR","cmp","cmpR","processMarket","priceChange","compChange","dmdChange","copy","sll","prd","imp","totalExp","marketTa2Price","gainFavor","rolloverRep","getFavorGain","totalRep","favorToRep","newFavor","repToFavor","newRep","KeyHandler","press","onKeyDown","addEventListener","removeEventListener","TimerProgress","withStyles","bar","transition","LinearProgress","GameTimer","setV","intervalId","setInterval","onExpire","millis","clearInterval","item","xs","interpolate","settings","out","lerpD","lerp","y","Trivial","Normal","Hard","Impossible","Map","win","reachedLimit","reached","Game","GangMemberUpgrades","GangMemberUpgrade","getBuyTransactionCost","posType","getSellTransactionGain","processTransactionForecastMovement","firstShares","remainingShares","numIterations","forecastChange","forecastForecastChange","calculateBuyMaxAmount","isLong","remainingMoney","currPrice","commit","div","successRate","createTaskTracker","Person","calculateStat","getFactionHackingWorkRepGain","updateStatLevels","BitNode","number","BitNodes","initBitNodeMultipliers","sf12Lvl","inc","ActionIdentifier","general","contracts","ops","blackops","events","updateSkillMultipliers","calculateMaxStamina","stamina","maxStamina","getCurrentCity","calculateStaminaPenalty","actionId","actionTimeCurrent","actionTimeToComplete","getActionObject","resetAction","exceptionAlert","commsEst","getRecruitmentTime","skill","skillName","skills","executeConsoleCommands","commands","consoleHistory","arrayOfCommands","executeConsoleCommand","postToConsole","input","saveToLogs","consoleLogs","getTimestamp","clearConsole","bladeburnerFac","rank","storeCycles","getActionIdFromTypeAndName","convertedType","convertedName","operations","BlackOperations","executeStartConsoleCommand","GeneralActions","executeSkillConsoleCommand","skillNames","Skills","multKeys","skillMultipliers","Skill","currentLevel","pointCost","calculateCost","executeLogConsoleCommand","flag","logging","executeHelpConsoleCommand","line","ConsoleHelpText","helpList","helpText","executeAutomateConsoleCommand","variable","highLow","automateActionHigh","automateActionLow","automateThreshHigh","automateThreshLow","automateEnabled","parseCommandArguments","command","start","endQuote","substr","triggerMigration","sourceCityName","destCityName","destCity","sourceCity","rand","percentage","comms","triggerPotentialMigration","randomEvent","chaos","gainActionStats","success","successMult","unweightedGain","unweightedIntGain","weights","intExp","getDiplomacyEffectiveness","getRecruitmentSuccessChance","teamSize","effCharisma","effCha","charismaFactor","resetSkillMultipliers","successChanceAll","successChanceStealth","successChanceKill","successChanceContract","successChanceOperation","successChanceEstimate","actionTime","effHack","effStr","effDef","effDex","effAgi","effInt","multiplierNames","multiplierName","getMultiplier","multiplierValue","completeOperation","teamCount","losses","teamLost","improvePopulationEstimateByPercentage","improveCommunityEstimate","changePopulationByPercentage","changeEstEqually","nonZero","changeChaosByCount","changeChaosByPercentage","changePopulationByCount","estChange","estOffset","completeContract","improvePopulationEstimateByCount","completeAction","isOperation","difficultyMultiplier","rewardMultiplier","rewardFac","successes","setMaxLevel","rankGain","gain","addOffset","failures","loss","damage","rankLoss","hpLoss","hpLost","calculateHospitalizationCost","numHosp","moneyLost","logLossText","autoLevel","teamLossMax","staminaGain","staminaBonus","eff","successChance","maxRank","favorBonus","rankNeededForSp","totalSkillPoints","gainedSkillPoints","processAction","actionTimeOverflow","calculateStaminaGainPerSecond","effAgility","maxStaminaBonus","oldMax","difficultyFac","decays","isStealth","isKill","reqdRank","redPillFlag","contract","growthF","Growths","op","randomEventCounter","getTypeAndNameFromActionId","types","getContractNamesNetscriptFn","getOperationNamesNetscriptFn","getBlackOpNamesNetscriptFn","getGeneralActionNamesNetscriptFn","getSkillNamesNetscriptFn","startActionNetscriptFn","errorLogText","nm","getActionTimeNetscriptFn","actionObj","getActionEstimatedSuccessChanceNetscriptFn","getEstSuccessChance","recChance","getActionCountRemainingNetscriptFn","getSkillLevelNetscriptFn","getSkillUpgradeCostNetscriptFn","upgradeSkillNetscriptFn","maxLvl","getTeamSizeNetscriptFn","setTeamSizeNetscriptFn","sanitizedSize","joinBladeburnerFactionNetscriptFn","DefaultConstructorParams","companyPositions","isPlayerEmployed","isMegacorp","hasAgentPositions","hasBusinessConsultantPositions","hasBusinessPositions","hasEmployeePositions","hasITPositions","hasSecurityPositions","hasSoftwareConsultantPositions","hasSoftwarePositions","hasWaiterPositions","favorGain","reqdRep","getPurchaseServerCost","sanitizedRam","isPowerOfTwo","getPurchaseServerMaxRam","getPurchaseServerLimit","clz32","newServ","purchaseRamForHomeComputer","materials","unlockUpgrades","updateMaterialSizeUsed","sizeUsed","matName","getStorageMultiplier","GangMemberTasks","gangMemberTasksMetadata","GangMemberTask","isHacking","isCombat","startingLevel","extraLevels","totalMultiplier","startingRam","numUpgrades","currentRam","startingCores","currentCores","startingCache","currentCache","opts","suppressDialog","totalPrice","origTotal","newTotal","rerenderFn","resultTxt","gains","netProfit","origCost","profit","costInc","Hashes","Suit","Card","suit","formatValue","isRedSuit","Hearts","Diamonds","getStringRepresentation","constructLocation","asciiArt","LocationsMetadata","addLocation","getArrow","keyCode","setRedPillFlag","destroyedBitNode","newBitNode","bitNodeNumber","sourceFileKey","sourceFile","alreadyOwned","ownedSourceFile","playerSrcFile","PlayerOwnedSourceFile","giveSourceFile","timePassed","confidence","dataMap","serv","timesGrown","host","cpuCores","offlineRunningTime","offlineExpGained","timesWeakened","coreBonus","findRunningScript","findRunningScriptByPid","TextFile","append","download","file","Blob","navigator","msSaveOrOpenBlob","url","URL","createObjectURL","click","revokeObjectURL","show","getTextFile","textFiles","createTextFile","fileName","lineNumber","sendMessage","forced","showMessage","serverHostname","other","addMessageToServer","checkForMessagesToSend","jumper0","Messages","MessageFilenames","Jumper0","jumper1","Jumper1","jumper2","Jumper2","jumper3","Jumper3","jumper4","Jumper4","cybersecTest","CyberSecTest","nitesecTest","NiteSecTest","bitrunnersTest","BitRunnersTest","redpill","redpillOwned","flightName","Flight","AddToAllMessages","loadMessages","initMessages","calculateMoneyGainRate","startingCore","sanitizedCores","coreBaseCost","calculateExp","actionName","Action","SourceFile","bitnodeKey","bitnode","LogBoxEvents","LogBoxManager","logs","setLogs","LogWindow","close","container","useRef","closeHandler","flexFlow","left","top","zIndex","ref","cursor","onMouseDown","current","preventDefault","clientX","clientY","offsetLeft","clientWidth","offsetTop","mouseMove","right","bottom","mouseUp","component","marginLeft","whiteSpace","updateMoneyGainRate","moneyGainRatePerSecond","totalMoneyGenerated","onlineTimeSeconds","HashUpgradesMetadata","HashUpgrade","vals","getStockMarket4SDataCost","getStockMarket4STixApiCost","ApplyToJobButton","getJobRequirementTooltip","Exploit","names","UndocumentedFunctionCall","EditSaveFile","PrototypeTampering","Unclickable","Bypass","ExploitName","DarkWebItems","DarkWebItem","HTTPWormProgram","SQLInjectProgram","DeepscanV2","AutolinkProgram","ServerProfilerProgram","ServerProfiler","midpoint","RamCalculationErrorCode","GangConstants","GangRespectToReputationRatio","MaximumGangMembers","CyclesPerTerritoryAndPowerUpdate","AscensionMultiplierRatio","Names","getRandomByte","Favor","ThemeEvents","refreshTheme","createTheme","light","typography","fontFamily","button","textTransform","components","MuiInputBase","styleOverrides","userSelect","MuiInput","borderBottomColor","underline","MuiInputLabel","MuiButton","borderRadius","MuiSelect","icon","defaultProps","MuiTextField","MuiTypography","MuiMenu","list","MuiMenuItem","MuiAccordionSummary","MuiAccordionDetails","MuiIconButton","MuiTooltip","tooltip","fontSize","disableInteractive","MuiSlider","valueLabel","MuiDrawer","paperAnchorDockedLeft","borderRight","MuiDivider","MuiFormControlLabel","MuiSwitch","switchBase","track","MuiPaper","MuiTablePagination","MuiTab","textColorPrimary","TTheme","injectFirst","sum","EPSILON","decay","inst","getSuccessChance","baseTime","skillFac","effDexterity","statFac","getTeamSuccessBonus","getActionTypeSkillSuccessBonus","est","popEst","clamp","real","low","high","competence","stat","playerStatLvl","effMultiplier","getSuccessesNeededForNextLevel","baseSuccessesPerLevel","BitburnerSaveObject","getSaveString","PlayerSave","stringify","TempAllServers","AllServersSave","CompaniesSave","FactionsSave","SpecialServerIpsSave","AliasesSave","GlobalAliasesSave","MessagesSave","StockMarketSave","SettingsSave","VersionSave","LastExportBonus","ExportBonus","AllGangsSave","btoa","unescape","encodeURIComponent","GameSavedEvents","epochTime","now","bn","loadGame","decodeURIComponent","escape","atob","saveObj","ver","anyPlayer","positionName","evaluateVersionCompatibility","createNewUpdateText","None","crimeKey","currentTask","finishTask","resetTaskStatus","gainRatesForTask","currentTaskLocation","currentTaskMaxTime","retValue","currentTaskTime","successGainRates","keysForIteration","gainExperience","fromOtherSleeve","multFac","pHackExp","pStrExp","pDefExp","pDexExp","pAgiExp","pChaExp","earningsForPlayer","earningsForTask","earningsForSleeves","task","getMemoryUpgradeCost","memory","currCost","currMemory","getRepGain","Hacking","Field","Security","installAugmentation","cyclesUsed","Class","Gym","updateTaskGainRates","Recovery","Synchro","gymStatType","takeUniversityCourse","universityName","AevumSummitUniversity","Sector12RothmanUniversity","VolhavenZBInstituteOfTechnology","newCity","tryBuyAugmentation","some","AevumCrushFitnessGym","AevumSnapFitnessGym","Sector12IronGym","Sector12PowerhouseGym","VolhavenMilleniumFitnessGym","baseGymExp","totalExpMultiplier","sanitizedStat","totalExpMult","upgradeMemory","sanitizedWorkType","offerHackingWork","offerFieldWork","offerSecurityWork","workoutAtGym","gymName","Output","Link","TTimer","timeLeft","TerminalEvents","TerminalClearEvents","nsFuncsGenerator","sanitizedPid","found","Environment","getScriptOnServer","shouldLog","func","program","orderType","refs","orderBook","executeOrder","isBuy","CorporationState","numUnlockUpgrades","CorporationUnlockUpgrades","CorporationUpgrades","fill","upgradeMultipliers","addFunds","isFinite","getState","state","marketCycles","gameCycles","shareSaleCooldown","issueNewSharesCooldown","cycleProfit","times","totalDividends","retainedEarnings","dividendsPerShare","numShares","dividendTaxPercentage","updateSharePrice","nextState","determineValuation","public","getTargetSharePrice","targetPrice","sharePrice","immediatelyUpdateSharePrice","calculateShareSale","sharesTracker","sharesUntilUpdate","shareSalesUntilPriceUpdate","sharesSold","maxIterations","convertCooldownToString","cd","upgN","basePrice","upgradeAmt","getProductionMultiplier","getDreamSenseGain","getAdvertisingMultiplier","getEmployeeCreMultiplier","getEmployeeChaMultiplier","getEmployeeIntMultiplier","getEmployeeEffMultiplier","getSalesMultiplier","getScientificResearchMultiplier","getStarterGuide","hasHandbook","handbookFn","showLiterature","tagName","el","class","innerHTML","innerText","tabIndex","setElementAnchor","checked","pattern","maxLength","setElementInput","for","htmlFor","setElementLabel","clickListener","mouseDown","inputListener","changeListener","onkeyup","onkeydown","onfocus","setElementListeners","visibility","marginTop","float","cssFloat","setElementStyle","tooltipleft","tooltipsmall","tooltiplow","setElementTooltip","maintainMembership","keep","finishAction","WorldDaemonIP","DaedalusServerIP","resetPidCounter","setMaxRam","BadRNG","totalPlaytime","s1","s2","s3","nextPosition","repMultiplier","reqdHacking","reqdStrength","reqdDefense","reqdDexterity","requiredAgility","reqdAgility","reqdCharisma","reqdReputation","hackingEffectiveness","strengthEffectiveness","defenseEffectiveness","dexterityEffectiveness","agilityEffectiveness","charismaEffectiveness","hackRatio","strRatio","defRatio","dexRatio","agiRatio","chaRatio","reputationGain","logEntry","logUpd","displayLog","recordHack","moneyGained","recordGrow","recordWeaken","StartButton","mx","globalModuleSequenceNumber","Script","otherScripts","moduleSequenceNumber","saveScript","calculateRamUsage","researchMetadata","getUpgrade","getUpgradeCost","getCost","capacity","newCap","problemType","getRandomProblemType","getRandomReward","randServer","getRandomServer","contractFn","getRandomFilename","addContract","generateRandomContractOnHome","generateContract","problemTypes","rewardType","factionsThatAllowHacking","sanitizeRewardType","numFactions","randFaction","allJobs","servers","randIndex","atCapacity","hasResearch","emp","hireRandomEmployee","maxEne","maxHap","maxMor","perfMult","hasAutobrew","hasAutoparty","salaryPaid","mor","hap","ene","calculateEmployeeProductivity","employeeProd","prod","calculateProductivity","getElementById","cre","sal","Employee","experience","creativity","efficiency","salary","assignEmployeeToJob","unassignEmployeeFromJob","minEne","minHap","canGetBonus","setLastExportBonus","unixTime","sanitizedSource","formattedHours","getHours","formattedMinutes","getMinutes","getMonth","getDate","decimal","AlertManager","alerts","setAlerts","oldhp","createCityMap","demand","competition","markup","quality","per","performance","dur","durability","rel","reliability","aes","aesthetics","fea","features","siz","reqMats","req","createProduct","empWorkMult","fin","prog","finishProduct","progrMult","engrRatio","mgmtRatio","rndRatio","opsRatio","busRatio","totalMult","sciFac","calculateRating","advMult","awareness","popularity","reqMat","ProductRatingWeights","rat","Quality","Performance","Durability","Reliability","Aesthetics","Features","getDB","indexedDB","indexedDbRequest","onupgradeneeded","createObjectStore","onerror","ev","onsuccess","db","transaction","objectStore","async","request","put","deleteGame","locations","Option","my","buttonText","infoText","TickerDisplayMode","DisplayModeButton","tickerDisplayMode","Portfolio","changeDisplayMode","StockTickersConfig","changeWatchlistFilter","canAccessGang","getGangFaction","hasGangWith","startGang","hacking","currentCity","onTravel","lineHeight","WorldMap","SuccessChance","estimatedSuccessChance","StaticModal","findCrime","roughName","removeElementById","removeElement","ReputationRate","MaxSleevesFromCovenant","BaseCostPerSleeve","hasTorRouter","checkIfConnectedToDarkweb","darkwebIp","listAllDarkwebItems","buyDarkwebItem","itemName","pidCounter","tempCounter","has","MAX_SAFE_INTEGER","defaultInterpreter","toNative","pseudoObj","nativeObj","getProperty","hasProperty","properties","updateDynamicRam","ramCost","dynamicLoadedFns","dynamicRamUsage","safeGetServer","callingFnName","makeRuntimeErrorMsg","scriptArgs","getRunningScriptByPid","getCannotFindRunningScriptErrorMessage","checkTixApiAccess","callingFn","getStockFromSymbol","failOnHacknetServer","getHacknetNode","hi","errstack","userstack","stackline","dependency","dependencies","parseChromeStackline","lineMatch","funcMatch","chromeCall","parseFirefoxStackline","lio","firefoxCall","rejectMsg","checkFormulasAccess","extra","checkSingularityAccess","checkBladeburnerAccess","skipjoined","checkBladeburnerCity","checkSleeveAPIAccess","checkSleeveNumber","sleeveNumber","getCodingContract","getContract","checkGangApiAccess","getGangMember","members","getBladeburnerActionObject","getCompany","getFaction","getAugmentation","getDivision","find","getOffice","getWarehouse","getMaterial","materialName","getProduct","getEmployee","employeeName","runAfterReset","cbScript","manual","hackingTime","canHack","netscriptCanHack","expGainedOnSuccess","expGainedOnFailure","percentHacked","maxThreadNeeded","moneyDrained","influenceStockThroughServerHack","argsToString","arg","functions","maxNumNodes","hasUpgraded","production","timeOnline","totalProduction","getHashUpgradeLevel","hostnames","hackAmount","netscriptCanGrow","growTime","moneyBefore","moneyAfter","logGrowPercent","influenceStockThroughServerGrow","netscriptCanWeaken","weakenTime","tprintf","possibleLogs","tail","arguments","openPortCount","sshPortOpen","ftpPortOpen","smtpPortOpen","httpPortOpen","sqlPortOpen","scriptServer","spawnDelay","killByPid","scriptsRunning","ip1","ip2","destServer","currServ","txtFile","newFile","sourceScript","oldScript","newScript","grep","allFiles","processes","speed","purchaseCost","coreCost","levelCost","sanitizedPosType","orderPos","ltype","lpos","stockMarketOrders","forecast","hostnameStr","port","iport","status","removeFile","suc","offlineMoneyMade","tFormat","milliseconds","milliPrecision","popupId","textElement","yesBtn","noBtn","createPopup","$","writeToScriptFile","writeToTextFile","overwritten","fail","cityname","darkweb","setcwd","baseserver","installTime","jobTitles","maxHp","agilityExp","companyRep","crimeMoney","crimeSuccess","defenseExp","dexterityExp","factionRep","hackingExp","strengthExp","workMoney","tor","workHackExpGain","workStrExpGain","workDefExpGain","workDexExpGain","workAgiExpGain","workChaExpGain","workRepGain","workMoneyGain","charismaExp","field","hackAvailable","fdWkAvailable","scWkAvailable","repNeededToDonate","crimeRoughName","Slums","purchased","facname","augs","isHackingGang","moneyGainRate","getPower","respect","respectGainRate","getTerritory","territoryClashChance","territoryWarfareEngaged","wantedLevel","wanted","wantedLevelGainRate","wantedGainRate","cpy","earnedRespect","hack_exp","str_exp","def_exp","dex_exp","agi_exp","cha_exp","hack_mult","str_mult","def_mult","dex_mult","agi_mult","cha_mult","hack_asc_mult","calculateAscensionMult","hack_asc_points","str_asc_mult","str_asc_points","def_asc_mult","def_asc_points","dex_asc_mult","dex_asc_points","agi_asc_mult","agi_asc_points","cha_asc_mult","cha_asc_points","recruited","tasks","getAllTaskNames","unshift","memberName","taskName","assignToTask","getGangTask","equipName","equipment","buyUpgrade","canAscend","engage","otherGang","playerPower","worldHeader","HTMLElement","expandIndustry","industryName","expandCity","unlockUpgrade","upgradeName","levelUpgrade","issueDividends","sellMaterial","sellProduct","discontinueProduct","setSmartSupply","enabled","buyMaterial","assignJob","hireEmployee","upgradeOfficeSize","purchaseWarehouse","upgradeWarehouse","buyCoffee","hireAdVert","makeProduct","exportMaterial","sourceDivision","targetDivision","targetCity","cancelExportMaterial","setMaterialMarketTA1","setMaterialMarketTA2","setProductMarketTA1","setProductMarketTA2","returnReward","is2DArray","answerComponents","creward","removeContract","tries","crimeName","sl","jobTitle","purchasableAugs","findSleevePurchasableAugs","formulas","basic","hackPercent","growPercent","hackTime","levelUpgradeCost","ramUpgradeCost","coreUpgradeCost","extraCores","hacknetNodeCost","constants","hacknetServers","hashGainRate","HScalculateHashGainRate","HScalculateLevelUpgradeCost","HScalculateRamUpgradeCost","HScalculateCoreUpgradeCost","cacheUpgradeCost","extraCache","HScalculateCacheUpgradeCost","hashUpgradeCost","hacknetServerCost","HScalculateServerCost","bypass","doc","completely_unused_field","real_document","flags","Boolean","numDashes","ret","libarg","argv","fromEntries","getFunctionNames","functionNames","entries","storedTerritoryAndPowerCycles","notifyMemberDeath","cycles","processGains","processExperienceGains","processTerritoryAndPowerGains","moneyGains","respectGains","wantedLevelGains","justice","calculateRespectGain","calculateMoneyGain","calculateWantedLevelGain","baseWanted","recordEarnedRespect","oldWanted","newWanted","gangName","calculatePower","gainRoll","multiplicativeGain","additiveGain","others","thisGang","thisPwr","thisChance","calculateTerritoryGain","winGang","loseGang","powerBonus","territoryGain","clash","won","baseDeathChance","modifiedDeathChance","killMember","getRespectNeededToRecruitMember","GangMember","getWantedPenalty","memberTotal","totalRespect","lostRespect","ascend","getDiscount","discount","moneyHacked","orgName","percTotalMoneyHacked","moneyGrown","percTotalMoneyGrown","performanceMult","cyclesOfWork","compName","tooltiptext","reqRep","CinematicText","setI","done","setDone","lines","onDone","newI","auto","initValue","baseCheck","initialCheck","Hand","cards","addCards","removeByIndex","StockTickerTxButton","contractName","rs","CodingContractModal","setProps","setAnswer","contractType","autoFocus","specialReferenceIF","specialReferenceFOR","specialReferenceWHILE","memCheckGlobalKey","parseOnlyRamCalculate","dependencyMap","completedParses","Set","parseQueue","parseCode","moduleName","parseOnlyCalculateDeps","additionalModules","initialModule","nextModule","URLImportError","ImportError","unresolvedRefs","resolvedRefs","prefix","ident","k","dep","applyFuncRam","loadedFns","SyntaxError","currentModule","globalKey","internalToExternal","addRef","external","objectPrototypeProperties","getOwnPropertyNames","commonVisitors","Identifier","st","WhileStatement","walkDeeper","test","DoWhileStatement","ForStatement","update","IfStatement","consequent","alternate","MemberExpression","walk","importModuleName","spec","imported","codeCopy","numServerGrowthCycles","adjGrowthRate","numServerGrowthCyclesAdjusted","ipaddress","byteRange","RegExp","BitFlumeEvent","BitFlumeModal","litObj","Literatures","FactionInfo","offerHackingMission","augmentationRepRequirementMult","Illuminati","Daedalus","ECorp","MegaCorp","NWO","BitRunners","Silhouette","Netburners","CyberSec","Bladeburners","InvitationModal","findIndex","opt_initFunc","sourceCode","sourceCodeLineOffset","acorn","PARSE_OPTIONS","initFunc_","paused_","polyfills_","functionCounter_","stepFunctions_","stepMatch","methodName","createScope","stripLocations_","State","stateStack","nodeConstructor","READONLY_DESCRIPTOR","configurable","writable","NONENUMERABLE_DESCRIPTOR","READONLY_NONENUMERABLE_DESCRIPTOR","VARIABLE_DESCRIPTOR","STEP_ERROR","SCOPE_REFERENCE","VALUE_IN_DESCRIPTOR","toStringCycles_","getErrorLineNumber","getErrorLineNumberMessage","appendCode","populateScope_","initGlobalScope","OBJECT_PROTO","FUNCTION_PROTO","initFunction","initObject","proto","OBJECT","initArray","initString","initBoolean","initNumber","initDate","initRegExp","initError","initMath","initJSON","thisInterpreter","EvalError","parseInt","strFunctions","decodeURI","encodeURI","wrapper","nativeFunc","throwException","URI_ERROR","FUNCTION","ARRAY","ARRAY_PROTO","REGEXP","REGEXP_PROTO","DATE","DATE_PROTO","identifierRegexp","var_args","calledWithNew","newFunc","createObjectProto","argsStr","SYNTAX_ERROR","parentScope","boxThis","isObject","getScope","strict","box","getPrototype","thisArg","func_","funcThis_","arguments_","arrayPseudoToNative","TYPE_ERROR","doneExec_","setNativeFunctionPrototype","valueOf","throwIfNullUndefined","arrayNativeToPseudo","descriptor","preventExtensions","getOwnPropertyDescriptor","setter","hasValue","pseudoDescriptor","propertyIsEnumerable","newArray","first","legalArrayLength","RANGE_ERROR","reverse","howmany","opt_begin","opt_end","opt_separator","iLength","element","isa","jLength","searchElement","opt_fromIndex","STRING","fromCharCode","compareString","locales","options","localeCompare","separator","limit","jsList","regexp","search","newSubstr","BOOLEAN","NUMBER","numConsts","fractionDigits","toExponential","ERROR","digits","toFixed","precision","toPrecision","radix","from","Function","UTC","rgx","populateRegExp","lastIndex","opt_message","newError","createObject","createErrorSubclass","EVAL_ERROR","REFERENCE_ERROR","myMath","mathConsts","numFunctions","myJSON","child","legalArrayIndex","Value","strs","pseudoRegexp","nativeRegexp","ignoreCase","multiline","createFunction","opt_constructor","illegalConstructor","asyncFunc","pseudoDate","opt_cycles","pseudo","native","nativeArray","pseudoArray","lineNum","charCodeAt","isGetter","TypeError","opt_descriptor","ReferenceError","defObj","firstNode","expression","createSpecialScope","opt_scope","getValueFromScope","prevNode","setValueToScope","nodeClass","end","isConstructor","getValue","Completion","NORMAL","BREAK","CONTINUE","RETURN","THROW","errorClass","lineNumErrorMsg","unwind","lineNumberMsg","cv","labels","isLoop","isSwitch","realError","errorTable","RangeError","URIError","createGetter_","funcThis","doneCallee_","doneArgs_","createSetter_","elements","n_","array_","doneLeft_","doneRight_","leftReference_","doneGetter_","leftValue_","leftValue","doneSetter_","setterValue_","rightValue","directEval_","funcNode","paramName","paramValue","argsList","evalNode","argsWithCallback","done_","throwValue","mode_","test_","doneInit_","doneObject_","variable_","object_","visited_","name_","gotPropName","props_","doneVariable_","doneProperty_","properties_","kinds","switchValue_","defaultCase_","index_","switchCase","matched_","tested_","doneBlock_","doneHandler_","doneFinalizer_","leftSide_","changeValue","returnValue","declarations","declarationNode","init_","doneBody_","baseRespect","baseMoney","hackWeight","strWeight","defWeight","dexWeight","agiWeight","chaWeight","ownedAugNames","availableAugs","isAvailableForSleeve","Snackbar","anchorOrigin","vertical","horizontal","autoHideDuration","getAvailableCreatePrograms","AugmentationAccordion","displayName","Paper","unmountOnExit","stealthIcon","xmlns","viewBox","killIcon","ActionLevel","isActive","canIncrease","canDecrease","Autolevel","TeamSizeButton","gameContainer","getGameContainer","deepestPopupId","rootComponent","srcElement","removePopup","ReactDOM","elementId","BlinkingCursor","setOn","purchaseResleeve","augKey","generateResleeves","Resleeve","baseNumAugs","numAugs","augKeys","randKey","randAug","HashRate","TravelAgencyRoot","destination","setDestination","startTravel","Fragment","TablePaginationActionsAll","useTheme","rowsPerPage","onPageChange","flexShrink","ml","aria-label","direction","fma","ex","canAccessBladeburner","inBladeburner","startBladeburner","automate","cls","help","stop","createTreantMarkup","childrenArray","htmlClass","HTMLclass","findNode","setParent","chart","nodeStructure","queue","getMultiplierHelper","getProductProductionMultiplier","canAccessCorporation","hasCorporation","startCorporation","corpName","additionalShares","currPos","nextPosName","Engine","_lastUpdate","updateGame","expForOtherSleeves","decrementAllCounters","checkCounters","Counters","autoSaveCounter","updateSkillLevelsCounter","updateDisplays","updateDisplaysLong","updateActiveScriptsDisplay","createProgramNotifications","augmentationsNotifications","passiveFactionGrowth","mechanicProcess","contractGeneration","counterName","counter","adjustedCycles","startTampering","timeOffline","numCyclesOffline","offlineReputation","offlineHackingIncome","offlineProductionFromHacknetNodes","hacknetProdInfo","timeOfflineString","_thisUpdate","requestAnimationFrame","LoadingScreen","setShow","loaded","setLoaded","reason","doLoad","minHeight","Tracking","Retirement","Investigation","Raid","typ","invalidArgs","Void","infiltrationData","techVendorMaxRam","techVendorMinRam","ServerType","All","Foreign","Owned","Purchased","ServerDropdown","isValidServer","serverType","serverName","GenericLocation","locContent","locName","Hospital","Special","TechVendor","University","Casino","getLocationSpecificContent","card","textAlign","fontWeight","red","ReactCard","hidden","Clubs","Spades","CursorPositions","positions","saveCursor","getCursor","column","libSource","allFactionAugs","factionAugs","factionAug","repFromDonation","TickerHeaderFormatData","longestName","longestSymbol","isNumber","ParseCommands","allCommands","flat","ParseCommand","inQuote","prevChar","escaped","TerminalHelpText","HelpTexts","analyze","backdoor","cat","check","expr","free","ifconfig","lscpu","mem","nano","sudov","unalias","outputHistory","startHack","startBackdoor","startAnalyze","finishHack","finishBackdoor","finishAnalyze","isHacknet","org","hackingSkill","security","hackingChance","numPort","getProgressText","getFile","getLitFile","getFilepath","cwd","filepath","lit","currDir","contractOpen","executeScanAnalyzeCommand","visited","depthQueue","newS","titleDashes","connectToServer","executeCommands","commandHistory","commandHistoryIndex","executeCommand","n00dlesServ","commandName","scananalyze","removeBracketsFromArrayString","strCpy","removeQuotesFromString","convert2DArrayToString","ans","len","nums","ways","padStart","matrix","spiral","u","col","playerAns","reach","intervals","numIntervals","interval","sanitizedResult","sanitizedAns","ansArr","ipInAns","maxCur","maxSoFar","hold1","MIN_SAFE_INTEGER","hold2","release1","release2","prices","hold","rele","cur","createTriangleRecurse","numLevels","createTriangle","triangle","dp","numRows","numColumns","currentRow","gridString","grid","obstacleGrid","roll","dfs","pair","playerAnsArray","resultInAnswer","numDigits","digitsArray","sanitizedPlayerAnsArr","helper","evaluated","multed","htmlID","requireHackingLevel","targetServer","numAugReq","AevumGalacticCybersystems","Sector12DeltaOne","AevumPolice","NewTokyoNoodleBar","Sector12JoesGuns","generalMethods","augmentationMethods","bladeburnerMethods","corporationMethods","gangMethods","serverMethods","AllSoftwarePositions","AllITPositions","AllNetworkEngineerPositions","SecurityEngineerPositions","AllTechnologyPositions","AllBusinessPositions","AllAgentPositions","AllSecurityPositions","AllSoftwareConsultantPositions","AllBusinessConsultantPositions","SoftwarePositionsUpToHeadOfEngineering","SoftwarePositionsUpToLeadDeveloper","BusinessPositionsUpToOperationsManager","WaiterOnly","EmployeeOnly","PartTimeWaiterOnly","PartTimeEmployeeOnly","OperationsManagerOnly","CEOOnly","Sector12CarmichaelSecurity","advertisingMult","employeeChaMult","employeeCreMult","employeeEffMult","employeeIntMult","productionMult","productProductionMult","salesMult","sciResearchMult","storageMult","effectText","costPerLevel","hasTargetServer","lookup","reFac","robFac","aiFac","advFac","prodMats","hwFac","makesProducts","getProductDescriptionText","getMaximumNumberProducts","additional","hasMaximumNumberProducts","calculateProductionFactors","multSum","cityMult","updateWarehouseSizeUsed","prodName","dividedBy","newInd","employeeSalary","officeLoc","processMaterialMarket","processProductMarket","popularityGain","awarenessGain","processMaterials","processProducts","wh","foo","buyAmt","maxAmt","smartBuy","smartSupplyStore","worseAmt","totalSize","freeSpace","maxProd","getOfficeProductivity","totalMatSize","tmp","reqMatName","normQty","producableFrac","reqMatQtyNeeded","fooProd","fooI","businessFactor","getBusinessFactor","advertisingFactor","getAdvertisingFactors","marketFactor","getMarketFactor","markupLimit","numerator","sqrtNumerator","sqrtDenominator","denominator","sqrt","optimalPrice","maxSell","sellAmt","expI","amtStr","expIndustry","expWarehouse","engrProd","mgmtProd","opProd","mgmtFactor","processProduct","totalProfit","forProduct","netStorageSize","pCost","sCostString","businessProd","calculateEffectWithFactors","awarenessFac","popularityFac","ratioFac","updateResearchTree","expFac","linearFac","morale","happiness","energy","det","cyclesUntilRaise","trainingEff","effCre","effEff","prodBase","pro","points","unassignFromTask","statWeight","territoryMult","respectMult","calc","difficultyPerCycles","getGainedAscensionPoints","getCurrentAscensionMults","getAscensionMultsAfterAscend","getAscensionResults","postAscend","preAscend","applyUpgrade","respectToDeduct","createDescription","maxClearanceLevel","startingSecurityLevel","AevumCasino","Sector12CityHall","WorldStockExchange","textfield","InteractiveTutorialRoot","contents","canNext","square","nobackground","Overview","Loading","openedMixin","transitions","easing","sharp","duration","enteringScreen","overflowX","closedMixin","leavingScreen","breakpoints","up","Drawer","styled","shouldForwardProp","boxSizing","active","borderLeft","listitem","SidebarRoot","hackingOpen","setHackingOpen","characterOpen","setCharacterOpen","worldOpen","setWorldOpen","helpOpen","setHelpOpen","flashTerminal","flashStats","flashActiveScripts","flashHacknet","flashCity","flashTutorial","augmentationCount","invitationsCount","programCount","canCreateProgram","canOpenFactions","canOpenAugmentations","canOpenSleeves","canCorporation","canGang","canJob","canStockMarket","canBladeburner","clickTerminal","clickCreateScripts","clickStats","clickActiveScripts","clickCreateProgram","clickFactions","clickAugmentations","clickHacknet","clickCity","clickTravel","clickJob","clickBladeburner","clickGang","clickTutorial","handleShortcuts","altKey","anchor","timeout","clsx","badgeContent","AugmentationsRoot","InstalledAugmentations","sourceAugs","Alphabetically","aug1","aug2","dense","Improvements","MultiplierTable","PlayerMultipliers","augP","calculateAugmentedStats","PurchasedAugmentations","SourceFileMinus1","OwnedSourceFiles","sourceSfs","sf1","sf2","sfObj","SourceFileAccordion","DevMenuRoot","General","addMoney","TransitionProps","expandIcon","bigNumber","modifyExp","modifier","modifyKarma","resetExperience","modifyFactionRep","AllFaction","modifyFactionFavor","labelId","arial-label","augmentation","setAugmentation","validSFN","setSF","sfN","sfLvl","setAllSF","setProgram","AllPrograms","Servers","setServer","colSpan","setCompany","modifyCompanyRep","AllCompanies","modifyCompanyFavor","modifyBladeburnerRank","modify","modifyBladeburnerCycles","modifyGangCycles","modifyCorporationCycles","CodingContracts","setCodingcontract","cc","stockPrice","setStockPrice","setStockSymbol","processStocks","inputSymbols","SM","stocks","TimeSkip","timeskip","reload","BladeburnerRoot","travelOpen","setTravelOpen","inFaction","TravelModal","nopadding","preformatted","Line","Console","scrollHook","setCommand","consoleHistoryIndex","setConsoleHistoryIndex","scrollToBottom","scrollTop","scrollHeight","id2","prevCommand","currentTarget","spellCheck","AllPages","tab","GeneralActionPage","GeneralActionList","actions","GeneralActionElem","computedActionTimeCurrent","actionData","ContractPage","ContractList","ContractElem","Contracts","StealthIcon","KillIcon","OperationPage","OperationList","OperationElem","TeamSizeModal","BlackOpPage","BlackOpList","blackopName","blackop","BlackOpElem","hasReqdRank","SkillPage","valid","onUpgrade","SkillList","SkillElem","canLevel","GangRoot","ManagementSubpage","GangStats","territoryStr","BonusTime","CyclerPerSecond","bonusMillis","GangMemberList","onRecruit","GangMemberAccordion","GangMemberAccordionContent","onAscend","onTaskChange","GangMemberStats","ascendOpen","setAscendOpen","asc","AscensionModal","TaskSelector","setCurrentTask","TaskDescription","RecruitButton","RecruitModal","setName","recruit","onKeyUp","TerritorySubpage","gangNames","g","control","formatTerritory","OtherGangTerritory","clashVictoryChance","NextReveal","PurchasedUpgrade","UpgradeButton","GangMemberUpgradePanel","filterUpgrades","weaponUpgrades","armorUpgrades","vehicleUpgrades","rootkitUpgrades","augUpgrades","flexWrap","EquipmentsSubpage","CorporationRoot","setDivisionName","canExpand","industryType","MainPanel","CityTabs","setCity","cityStateSetter","countEmployee","SwitchButton","manualMode","switchMode","ManualManagement","setEmployee","employeePositionSelectorInitialValue","employeePositions","positionNames","nf","AutoAssignJob","numJob","numUnassigned","AutoManagement","vechain","totalMorale","totalHappiness","totalEnergy","totalSalary","avgMorale","avgHappiness","avgEnergy","IndustryOffice","upgradeOfficeSizeOpen","setUpgradeOfficeSizeOpen","throwPartyOpen","setThrowPartyOpen","employeeManualAssignMode","setEmployeeManualAssignMode","UpgradeSizeButton","upgradeSize","UpgradeOfficeSizeModal","upgradeCost","upgradeCost15","maxMult","maxNum","multIncrease","upgradeCostMax","ThrowPartyModal","setCost","canParty","MakeProductButton","makeOpen","setMakeOpen","hasMaxProducts","createProductButtonText","Text","advertisingInfo","advertisingFactors","totalAdvertisingFac","convertEffectFacToGraphic","ResearchPopup","Upgrades","IndustryOverview","MakeProductModal","allCities","design","setDesign","marketing","setMarketing","createProductPopupText","defaultValue","tpe","boxContent","nodeAlign","rootOrientation","siblingSeparation","connectors","stroke","Treant","allResearch","sanitizedName","Popup","keyDown","Element","firstChild","parentNode","debug","WarehouseRoot","smartSupplyOpen","setSmartSupplyOpen","canAffordUpgrade","stateText","mats","isRelevantMaterial","breakdown","IndustryWarehouse","EmptyWarehouse","Leftover","setChecked","SmartSupplyModal","ProductElem","sellOpen","setSellOpen","limitOpen","setLimitOpen","discontinueOpen","setDiscontinueOpen","marketTaOpen","setMarketTaOpen","nfB","hasUpgradeDashboard","sellButtonText","limitProductionButtonText","DiscontinueProductModal","LimitProductProductionModal","setLimit","limitProductProduction","SellProductModal","iQty","setQty","setPx","initialPrice","MarketTA2","ProductMarketTaModal","MaterialElem","purchaseMaterialOpen","setPurchaseMaterialOpen","exportOpen","setExportOpen","sellMaterialOpen","setSellMaterialOpen","materialMarketTaOpen","setMaterialMarketTaOpen","tutorial","purchaseButtonText","ExportModal","setIndustry","setAmt","removeExport","currentDivision","possibleCities","newCost","setNewCost","MaterialMarketTaModal","SellMaterialModal","setPrice","BulkPurchaseText","parsedAmt","amount","matSize","BulkPurchase","setBuyAmt","bulkPurchase","PurchaseMaterialModal","purchaseMaterial","IndustryProductEquation","reqs","reqAmt","raw","tex","ExpandNewCity","ExpandIndustryTab","possibleIndustries","newIndustry","multRows","appendMult","issuedShares","DividendsStats","PublicButtons","PrivateButtons","BribeButton","findInvestorsopen","setFindInvestorsopen","goPublicopen","setGoPublicopen","fundingAvailable","fundingRound","findInvestorsTooltip","upgradeData","sellSharesOpen","setSellSharesOpen","buybackSharesOpen","setBuybackSharesOpen","issueNewSharesOpen","setIssueNewSharesOpen","issueDividendsOpen","setIssueDividendsOpen","sellSharesOnCd","sellSharesTooltip","issueNewSharesOnCd","issueNewSharesTooltip","canBribe","playerEarnings","storedTime","LevelableUpgrade","UU","BribeFactionModal","setStock","selectedFaction","setSelectedFaction","getRepText","bribe","SellSharesModal","setShares","sell","stockSaleResults","newSharePrice","newSharesUntilUpdate","BuybackSharesModal","buybackPrice","IssueDividendsModal","setPercent","canIssue","EffectText","maxNewSharesUnrounded","maxNewShares","newShares","IssueNewSharesModal","issueNewShares","privateShares","FindInvestorsModal","percShares","roundMultiplier","funding","investShares","GoPublicModal","initialSharePrice","goPublic","InfiltrationRoot","setStart","startingDifficulty","totalStats","calcDifficulty","StartingDifficulty","Difficulty","cancel","arrowPart","arrow","Intro","Stage","minigames","SlashGame","BracketGame","BackwardGame","BribeGame","CheatCodeGame","Cyberpunk2077Game","MinesweeperGame","WireCuttingGame","setLevel","stage","setStage","Countdown","results","setResults","gameIds","setGameIds","lastGames","nextGameId","ids","setupNextGame","pushResult","next","stageComponent","onFinish","Minigame","MiniGame","onSuccess","Sell","onFailure","automated","setX","difficulties","timer","setRight","generateLeftSide","char","shiftKey","getChar","guarding","setGuarding","words","makeAnswer","guess","setGuess","nextGuess","choices","positive","option","negative","array","shuffleArray","makeChoices","setIndex","newIndex","arrows","generateCode","symbols","puzzle","randChar","generatePuzzle","generateAnswer","setPos","cell","move","mines","minefield","generateEmptyField","generateMinefield","memoryPhase","setMemoryPhase","reduce","fieldEquals","wiresmin","wiresmax","rules","colorNames","blue","wires","numWires","wireColors","generateWires","cutWires","setCutWires","questions","numQuestions","questionGenerators","randomPositionQuestion","randomColorQuestion","generateQuestion","question","_","wire","wireNum","shouldCut","wiresToBeCut","shouldBeCut","cutColor","Victory","quitInfiltration","levelBonus","SortOption","Cost","Strength","Defense","Dexterity","Agility","Charisma","AverageCombatStats","AverageAllStats","TotalNumAugmentations","getAverage","SortFunctions","ResleeveRoot","setSort","sortFunction","opt","resleeve","totalAugmentationCost","ResleeveElem","setAug","currentAug","CYCLES_PER_SEC","WorkInProgressRoot","unfocus","stopText","penaltyString","numBars","progressBar","GameOptionsRoot","importInput","execTime","setExecTime","logSize","setLogSize","portSize","setPortSize","terminalSize","setTerminalSize","autosaveInterval","setAutosaveInterval","suppressMessages","setSuppressMessages","suppressFactionInvites","setSuppressFactionInvites","suppressTravelConfirmations","setSuppressTravelConfirmations","suppressBuyAugmentationConfirmation","setSuppressBuyAugmentationConfirmation","suppressHospitalizationPopup","setSuppressHospitalizationPopup","suppressBladeburnerPopup","setSuppressBladeburnerPopup","disableHotkeys","setDisableHotkeys","disableASCIIArt","setDisableASCIIArt","disableTextEffects","setDisableTextEffects","enableBashHotkeys","setEnableBashHotkeys","enableTimestamps","setEnableTimestamps","setLocale","diagnosticOpen","setDiagnosticOpen","deleteGameOpen","setDeleteOpen","themeEditorOpen","setThemeEditorOpen","gutterBottom","sm","newValue","valueLabelDisplay","marks","method","src","alt","File","FileReader","FileList","ii","files","reader","onload","readAsText","onConfirm","confirmationText","ServerAccordion","FileDiagnosticModal","ips","ConfirmationModal","ColorEditor","onColorChange","defaultColor","hideTextfield","newColor","hex","ThemeEditorModal","customTheme","setCustomTheme","importedTheme","SleeveRoot","FAQOpen","setFAQOpen","SleeveElem","statsOpen","setStatsOpen","earningsOpen","setEarningsOpen","augmentationsOpen","setAugmentationsOpen","abc","setABC","doing","SleeveAugmentationsModal","StatsElement","MoreStatsModal","MoreEarningsModal","universitySelectorOptions","gymSelectorOptions","possibleJobs","forbiddenCompanies","otherSleeve","possibleFactions","forbiddenFactions","second","facInfo","universities","gyms","Synchronize","canDo","getABC","s0","setS0","setS1","setS2","validActions","detailsF","details","details2","detail","FAQModal","HacknetRoot","purchaseMultiplier","setPurchaseMultiplier","purchaseMultiplierOnClicks","multiplier","onClicks","GeneralInfo","HacknetNodeElem","purchaseMult","upgradeLevelContent","upgradeRamContent","upgradeCoresContent","upgradeLevelCost","upgradeRamCost","upgradeCoreCost","HacknetServerElem","upgradeCacheContent","upgradeCacheCost","HashUpgradeModal","HacknetUpgradeElem","selectedServer","setSelectedServer","effect","canPurchase","MultiplierButton","MultiplierButtons","buttons","btnProps","PlayerInfo","hasServers","PurchaseButton","CompanyLocation","quitOpen","setQuitOpen","isEmployedHere","onQuit","QuitJobModal","GymLocation","train","HospitalLocation","btnStyle","getHealed","currHp","setState","render","SlumsLocation","shopliftChance","robStoreChance","mugChance","larcenyChance","drugsChance","bondChance","armsChance","homicideChance","gtaChance","kidnapChance","assassinateChance","heistChance","SpecialLocation","handleBladeburner","new","handleResleeving","renderBladeburner","CreateCorporationModal","canSelfFund","ServerButton","TechVendorLocation","purchaseServerButtons","RamButton","TorButton","purchaseTorRouter","CoresButton","maxCores","PurchaseServerModal","setHostname","tryToPurchaseServer","TravelConfirmationModal","UniversityLocation","take","dataStructuresCost","networksCost","algorithmsCost","managementCost","leadershipCost","GameType","CasinoLocation","game","setGame","Coin","Slots","Roulette","Blackjack","Result","bet","canStartGame","playerHand","deck","safeDrawCard","dealerHand","gameInProgress","Pending","getTrueHandValue","finishGame","Tie","PlayerWonByBlackjack","DealerWon","hand","flatMap","handValues","getHandValue","valuesUnder21","isHandBusted","newHand","newDealerHand","PlayerWon","dealerHandValue","playerHandValue","isPlayerWinResult","betInput","wager","wagerInvalid","wagerInvalidHelperText","startGame","Deck","playerHandValues","getHandDisplayValues","dealerHandValues","wagerOnChange","helperText","playerHit","playerStay","startOnClick","elevation","numDecks","shuffle","drawCard","isEmpty","CoinFlip","investment","setInvestment","setResult","setStatus","playLock","setPlayLock","play","letter","correct","redNumbers","strategies","Red","payout","Black","Odd","Even","High","Low","Third1","Third2","Third3","Single","rng","canPlay","setCanPlay","setN","lock","setLock","strategy","setStrategy","playerWin","isRed","currentNumber","getPayout","payLines","SlotMachine","locks","setLocks","stoppedOne","getTable","getPaylineData","payline","point","countSequence","checkWinnings","CorruptableText","setContent","randFrom","randomize","LocationLetter","ASCIICity","locationLettersRegex","letterMap","lineElems","elems","startI","endI","locationI","ListCity","locationButtons","LocationCity","ProgramsRoot","populate","exclude","lastFilename","lastCode","lastPosition","Root","editorRef","setFilename","setCode","setRAM","optionsOpen","setOptionsOpen","setOptions","insertSpaces","getPosition","textFile","updateRAM","maybeSave","ctrlKey","metaKey","beforeMount","monaco","languages","registerCompletionItemProvider","provideCompletionItems","suggestions","kind","CompletionItemKind","insertText","insertTextRules","CompletionItemInsertTextRule","InsertAsSnippet","typescript","javascriptDefaults","addExtraLib","typescriptDefaults","onMount","editor","setPosition","loading","defaultLanguage","newCode","pretty","beautifyCode","indent_with_tabs","indent_size","brace_style","OptionsModal","setTheme","setInsertSpaces","MilestonesRoot","milestones","highestMilestone","milestone","ActionTimer","paragraph","overflowWrap","TerminalRoot","setKey","doScroll","hook","scrollIntoView","debounce","maxWait","TerminalInput","terminalInput","possibilities","setPossibilities","saveValue","moveTextCursor","inputLength","selectionStart","autoComplete","inputRef","semiColonIndex","allPos","determineAllPossibilitiesForTabCompletion","tabCompletion","selectionEnd","mod","inputText","delStart","modifyInput","parentDirPath","evaledParentDirPath","addAllCodingContracts","cct","addAllLitFiles","addAllPrograms","addAllScripts","processFilepath","addAllTextFiles","addAllDirectories","subdirs","getSubdirectories","t_parentDirPath","convertParentPath","isCommand","cmd","t_cmd","iphostname","addAllMessages","t_dir","processFile","subdir","remaining","allPossibilities","oldValue","longestStartSubstr","TutorialRoot","ActiveScriptsRoot","ScriptProduction","prodRateSinceLastAug","ServerAccordions","setFilter","setRowsPerPage","serverToScriptMap","filtered","rowsPerPageOptions","newPage","onRowsPerPageChange","ActionsComponent","paddedName","barOptions","headerTxt","ServerAccordionContent","disablePadding","noborder","WorkerScriptAccordion","killScript","onlineMps","onlineEps","FactionsRoot","openFaction","acceptInvitation","GangNames","MainPage","onAugmentations","sleevesOpen","setSleevesOpen","gangOpen","setGangOpen","isPlayersGang","favorToDonate","canDonate","canPurchaseSleeves","startHackingContracts","startFieldWork","startSecurityWork","FactionRoot","purchasingAugs","setPurchasingAugs","routeToMainPage","AugmentationsPage","getAugs","switchSortOrder","newOrder","augName1","augName2","getAugsSortedByCost","getAugsSortedByReputation","Purchasable","canBuy","hasReq","hasRep","cantBuy","getAugsSortedByPurchasable","getAugsSorted","purchasable","purchaseableAugmentation","augListElems","ownedElem","Requirements","PurchaseableAugmentation","hasCost","btnTxt","placement","PurchaseAugmentationModal","DonateOption","donateAmt","setDonateAmt","noformat","Info","CreateGangModal","CovenantPurchasesRoot","setUpdate","purchaseDisabled","upgradePanels","CovenantSleeveMemoryUpgrade","getPurchaseCost","maxMemory","purchaseBtnDisabled","purchaseBtnContent","LastEmployer","LastJob","Employers","Intelligence","bn5Stat","BladeburnerMults","CurrentBitNode","MoneyModal","convertMoneySourceTrackerToString","parts","hacknetnode","hospitalization","infiltration","CharacterStats","moneyOpen","setMoneyOpen","timeRows","StockMarketRoot","Purchase4SMarketDataTixApiAccessButton","PurchaseWseAccountButton","PurchaseTixApiAccessButton","Purchase4SMarketDataButton","InfoAndPurchases","StockTickers","setTickerDisplayMode","AllStocks","watchlistSymbols","setWatchlistSymbols","tickers","stockMarketProp","rerenderAllTickers","sanitizedWatchlist","SelectorOrderType","StockTicker","setOrderType","Market","tickerOpen","setTicketOpen","modalProps","setModalProps","placeText","place","getQuantity","hasOrderAccess","Limit","Stop","getBuyTransactionCostContent","getSellTransactionCostContent","playerMoney","localesWithLongPriceFormat","StockTickerHeaderText","stockPriceFormat","spacesAllottedForStockPrice","spacesAfterStockName","spacesBeforePrice","hdrText","plusOrMinus","StockTickerOrderList","StockTickerOrder","posTxt","LongPosition","percentageGains","ShortPosition","StockTickerPositionText","PlaceOrderModal","level0","level1","level2","level3","BitNodePortal","portalOpen","setPortalOpen","bitNode","cssClass","BitverseRoot","destroyed","destroySequence","setDestroySequence","nextSourceFileFlags","PortalModal","bitNodeKey","maxSourceFileLevel","newLevel","CinematicLine","setLength","ms","newLength","advance","cellNone","CharacterOverview","getComputedStyle","makeScriptBlob","uurls","shouldCompile","_getScriptUrls","loadedModule","depScript","seen","urlStack","transformedCode","unmodified","suffix","importedScript","urls","ScriptUrl","full","empty","srcFile","sourceFileObject","incMult","decMult","normalServer","evaledDir","zip","JSZip","zipFn","generateAsync","FileSaver","saveAs","sanitizedExpr","used","avail","usedPercent","numArgs","incorrectUsage","newPath","allPrograms","allScripts","allTextFiles","allContracts","allMessages","folders","handleFn","dest","parsedFn","firstParentDir","msgOrLit","postSegments","segments","filesPerRow","groups","numThreads","sourcePath","destPath","destFile","rsObj","delTarget","executableName","runContract","runProgram","commandArgs","runArgs","permissive","threadFlag","tailFlag","hasRoot","maxHostname","maxIP","tRes","sRes","candidates","args2","candidate","headers","currRunningScripts","numSpacesScript","spacesScript","numSpacesPid","spacesPid","numSpacesThread","spacesThread"],"mappings":"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AAkBz4G,GAGzByB,IAAOkiB,eAA+B4J,IAAnBgjC,IAASvwD,GAE9B,YADAizD,EAAaplC,IAAI,iBAAmB,YAAW7tB,yCAIjD,IAAKyB,IAAOwkC,SAASzC,SAASxjC,GAE5B,OADAizD,EAAaplC,IAAI,iBAAmB,4BAA2B7tB,OACxD,EAGT,GAAIyB,IAAOqlC,UAAW,CACpB,MAAMva,EAAM9qB,IAAO0qC,sBACnB8mB,EAAaplC,IAAI,iBAAkBtB,GAGrC,MAAMoK,EAAM1F,IAASjxB,GAEfugH,EAAgB,CACpB,aACA,WACA,eACA,QACA,WACA,uBACA,mBACA,MACA,sBACA,uBACA,aACA,yBACA,8BACA,aACA,iBACA,UACA,YACA,YACA,YACA,QACA,SACA,WACA,wBACA,gBACA,gBACA,aACA,aACA,cACA,YAEIC,EAAgB,CACpB,aACA,WACA,eACA,QACA,WACA,uBACA,mBACA,MACA,sBACA,uBACA,aACA,yBACA,iBACA,YACA,YACA,YACA,QACA,SACA,WACA,wBACA,gBACA,gBACA,aACA,UACA,eAEIC,EAAgB,CACpB,QACA,WACA,uBACA,mBACA,MACA,sBACA,uBACA,aACA,yBACA,8BACA,YACA,YACA,YACA,QACA,SACA,WACA,wBACA,gBACA,UACA,cACA,eAGF,OAAQ1tE,EAAKxI,eACX,IAAK,UACL,IAAK,oBACL,IAAK,mBACH,OAAKg2E,EAAc/8E,SAAS7M,EAAI32B,OAIhCyB,IAAOytC,qBAAqBrc,KAAQ8D,GACpCs8B,EAAaplC,IAAI,iBAAmB,+CAA8C8I,EAAI32B,UAC/E,IALLizD,EAAaplC,IAAI,iBAAmB,YAAW8I,EAAI32B,mDAC5C,GAKX,IAAK,QACL,IAAK,YACL,IAAK,aACH,OAAKwgH,EAAch9E,SAAS7M,EAAI32B,OAIhCyB,IAAO2tC,sBAAsBvc,KAAQ8D,GACrCs8B,EAAaplC,IAAI,iBAAmB,4CAA2C8I,EAAI32B,UAC5E,IALLizD,EAAaplC,IAAI,iBAAmB,YAAW8I,EAAI32B,gDAC5C,GAKX,IAAK,WACL,IAAK,eACL,IAAK,gBACH,OAAKygH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CA,sBACA,iBACA,MACA,IAKA,oCACA,wDACA,+BACA,sBACA,0DACA,IACA,wBACA,4BACA,yCACA,uDACA,IACA,8BACA,aACA,oBACA,qBACA,+CACA,YACA,IACA,OACA,IACA,aACA,KACA,sBACA,iBACA,MACA,IAIA,oDACA,8CACA,gCACA,kEACA,YACA,wBACA,4BACA,yCACA,SACA,oBACA,4CACA,OACA,IACA,IACA,MAIA,uDACA,8CACA,sBACA,0DACA,IACA,yCACA,wBACA,mDACA,4BACA,mCACA,mBACA,gBACA,IACA,yCACA,qEACA,yBACA,uBACA,qBACA,oBACA,2BACA,+BACA,uDACA,iCACA,8FACA,IACA,8BACA,oBACA,+DACA,wEACA,4CACA,eACA,IACA,0BACA,OACA,IACA,qBACA,gBACA,IACA,MAIA,gDACA,8CACA,gCACA,8DACA,eACA,wBACA,4BACA,yCACA,sBACA,SACA,oBACA,mDACA,OACA,IACA,YACA,IACA,MAIA,mDACA,8CACA,0CACA,kEACA,4DACA,gCACA,wBACA,WACA,oCACA,kBACA,kEACA,IACA,kBACA,IACA,yBACA,mDACA,IACA,gBACA,IACA,MAIA,wDACA,8CACA,0CACA,yGACA,kEACA,+BACA,wBACA,WACA,mCACA,eACA,kEACA,IACA,kBACA,IACA,wBACA,mDACA,IACA,gBACA,IACA,MAIA,iDACA,8CACA,+BACA,6DACA,wBACA,4BACA,+DACA,kCACA,iDACA,eACA,IACA,IACA,gBACA,IACA,MAEA,gBACA,oCACA,8CAEA,wCACA,2BACA,IAEA,0CACA,mBACA,kDACA,4CACA,sBACA,yBACA,sBACA,aACA,IACA,IACA,uBACA,IACA,eACA,KACA,QAEA,2DACA,8CACA,eACA,gBACA,0CACA,wFACA,IACA,wBACA,IACA,MACA,KAQJ20E,EAAY/0E,UAAUk3H,WAAa,SAAUjjD,GAC3C,IACI+jD,EADAN,EAAkB5yH,KAGtBkzH,EAAU,SAAU51H,GAElB,OADAA,EAAQ+kE,OAAO/kE,GACXs1H,EAAgBmB,iBAElB/z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IACA,2HACA,4HACA,IACA,+BACA,IACA,8GACA,IACA,uHACA,uCACA,IACA,uDACA,KAEF6iE,QAAS,CACP,SACA,IACA,0GACA,mHACA,kHACA,iCAEFC,SAAU,CACR,WACA,IACA,6FACA,IACA,+BACA,KAEFtjF,IAAK,CACH,qBACA,IACA,yEACA,IACA,oHACA,oDACA,IACA,yGAEFujF,IAAK,CACH,aACA,IACA,6EACA,IACA,aACA,IACA,cACA,IACA,mBAEFxqC,GAAI,CACF,WACA,IACA,yGACA,iFACA,IACA,qBACA,IACA,WACA,IACA,UAEFyqC,MAAO,CACL,gCACA,IACA,+HACA,uDACA,kIACA,IACA,gCACA,IACA,gGACA,IACA,mCAEFvvH,MAAO,CACL,QACA,IACA,mIACA,wIAEF+nH,IAAK,CACH,MACA,IACA,mIACA,0IAEFvmH,QAAS,CACP,wBACA,IACA,6GACA,sIACA,kEAEFstE,SAAU,CACR,8BACA,IACA,mFACA,IACA,4GACA,IACA,kDACA,IACA,0CACA,IACA,0CACA,KAEF0gD,KAAM,CACJ,iCACA,IACA,oFACA,IACA,oBACA,IACA,WACA,IACA,oBACA,IACA,sFAEFC,KAAM,CACJ,OACA,IACA,iIACA,iCAEF10H,KAAM,CACJ,OACA,IACA,uHACA,KAEFitH,KAAM,CACJ,iBACA,IACA,yHACA,0HACA,mEACA,IACA,aACA,IACA,qBAEFr9F,KAAM,CACJ,2GAEFhT,SAAU,CAAC,WAAY,IAAK,6CAC5B+3G,SAAU,CAAC,WAAY,IAAK,+CAC5BnzH,KAAM,CACJ,+BACA,IACA,aACA,IACA,4EACA,IACA,6EACA,4EACA,iFACA,4DACA,IACA,mCACA,IACA,qEACA,IACA,oCACA,IACA,sFAEFC,QAAS,CACP,UACA,IACA,4CACA,2HACA,uHACA,4EAEFG,GAAI,CACF,4BACA,IACA,iIACA,sDACA,IACA,8FACA,IACA,yHACA,IACA,YACA,IACA,wEACA,IACA,oBACA,IACA,iEACA,IACA,kBACA,IACA,uFACA,IACA,8BAEFgzH,MAAO,CAAC,QAAS,IAAK,yDAEtBC,IAAK,CACH,qCACA,IACA,6HACA,2HACA,gFACA,IACA,iBACA,IACA,uBACA,IACA,4HACA,kFAEF56E,GAAI,CACF,kBACA,IACA,6FACA,6FACA,kCACA,IACA,kFACA,kBACA,aACA,IACA,iEACA,IACA,iCAEF66E,KAAM,CACJ,mBACA,IACA,sGACA,2FACA,mBAEFjzH,GAAI,CAAC,KAAM,IAAK,6DAEhBsD,GAAI,CACF,YACA,IACA,6GACA,IACA,mDAEF9D,IAAK,CACH,+CACA,IACA,iCACA,IACA,sHACA,2GACA,gEACA,2DACA,2FACA,IACA,kHACA,iFACA,KAEFtB,KAAM,CACJ,OACA,IACA,6HACA,4CAEF,eAAgB,CACd,4BACA,IACA,kGACA,wGACA,4EACA,IACA,uGACA,qGACA,0BACA,IACA,iHACA,yGACA,UACA,IACA,2GACA,uEAEF4B,IAAK,CACH,iCACA,IACA,2EACA,oGACA,oCACA,kFAEFozH,MAAO,CAAC,QAAS,IAAK,qEAEtBp0B,KAAM,CACJ,+BACA,IACA,oHACA,uHACA,oEACA,IACA,0BACA,IACA,gFACA,IACA,4BAEFvoB,IAAK,CACH,MACA,IACA,yGACA,gCAEF48C,QAAS,CACP,uBACA,IACA,mFACA,IACA,iDACA,IACA,gBACA,IACA,kCACA,IACA,YACA,IACA,mGAEF/uH,KAAM,CACJ,2BACA,IACA,iGACA,oGACA,0CACA,IACA,mGACA,iDACA,IACA,kG,2wBClVG,MAAMi/C,GAA8B,+BAEjB,MAFiB,yBAId,IAJc,8BAKnB,GALmB,wBAON,CAAC,IAAIshC,IAAQ,cAAaj7F,IAAUC,QAAW,aAPzC,wBAU1B,GAV0B,kBAc/B,KAEVogD,QAAQnZ,EAAiB3f,EAAiBg8F,GACpB,OAAhBrmH,KAAK+pB,SACT/pB,KAAK+pB,OAAOm0E,UAAap7F,IAAUE,WAAaqjH,EAAU,IACtDrmH,KAAK+pB,OAAOm0E,SAAW,KAAMl+F,KAAKwkG,aAAax6D,EAAQ3f,GAAQ,GACnE8zE,IAAe70E,QAGjB+hE,OAAO1V,GACL31E,KAAKwsI,cA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,EACLitB,IAAK,GAEP0iC,mBAAoB,CAClB3vD,IAAK,IACLitB,IAAK,KAEPogC,OAAQtC,IAAa16C,IAAa8iC,0BAGpC,CACElpB,GAAG,EACHk4C,UAAW,CACTniE,IAAK,KACLitB,IAAK,MAEPm1C,UAAW,MACXzT,GAAI,CACF4T,QAAS,IACTviE,IAAK,GACLitB,IAAK,IAEPjzB,KAAMqW,IAAagjC,4BACnBwb,QAAS,GACTwT,WAAY,CACVE,QAAS,GACTviE,IAAK,EACLitB,IAAK,GAEP0iC,mBAAoB,CAClB3vD,IAAK,IACLitB,IAAK,KAEPogC,OAAQtC,IAAa16C,IAAagjC,8BAGpC,CACEppB,GAAG,EACHk4C,UAAW,CACTniE,IAAK,IACLitB,IAAK,KAEPm1C,UAAW,KACXzT,GAAI,CACF4T,QAAS,IACTviE,IAAK,IACLitB,IAAK,KAEPjzB,KAAMqW,IAAakjC,kBACnBsb,QAAS,GACTwT,WAAY,CACVE,QAAS,GACTviE,IAAK,GACLitB,IAAK,GAEP0iC,mBAAoB,CAClB3vD,IAAK,IACLitB,IAAK,KAEPogC,OAAQtC,IAAa16C,IAAakjC,oBAGpC,CACEtpB,GAAG,EACHk4C,UAAW,CACTniE,IAAK,KACLitB,IAAK,MAEPm1C,UAAW,MACXzT,GAAI,CACF4T,QAAS,IACTviE,IAAK,GACLitB,IAAK,IAEPjzB,KAAMqW,IAAaojC,+BACnBob,QAAS,GACTwT,WAAY,CACVE,QAAS,GACTviE,IAAK,EACLitB,IAAK,GAEP0iC,mBAAoB,CAClB3vD,IAAK,IACLitB,IAAK,KAEPogC,OAAQtC,IAAa16C,IAAaojC,iCAGpC,CACExpB,GAAG,EACHk4C,UAAW,CACTniE,IAAK,KACLitB,IAAK,MAEPm1C,UAAW,KACXzT,GAAI,CACF4T,QAAS,IACTviE,IAAK,IACLitB,IAAK,KAEPjzB,KAAMqW,IAAa0jC,yBACnB8a,QAAS,GACTwT,WAAY,CACVE,QAAS,GACTviE,IAAK,GACLitB,IAAK,GAEP0iC,mBAAoB,CAClB3vD,IAAK,IACLitB,IAAK,KAEPogC,OAAQtC,IAAa16C,IAAa0jC,2BAGpC,CACE9pB,GAAG,EACHk4C,UAAW,CACTniE,IAAK,KACLitB,IAAK,KAEPm1C,UAAW,MACXzT,GAAI,CACF4T,QAAS,IACTviE,IAAK,GACLitB,IAAK,IAEPjzB,KAAMqW,IAAa26C,wBACnB6D,QAAS,EACTwT,WAAY,CACVE,QAAS,GACTviE,IAAK,GACLitB,IAAK,GAEP0iC,mBAAoB,CAClB3vD,IAAK,MACLitB,IAAK,MAEPogC,OAAQtC,IAAa16C,IAAa26C,0BAGpC,CACE/gC,GAAG,EACHk4C,UAAW,CACTniE,IAAK,KACLitB,IAAK,KAEPm1C,UAAW,KACXzT,GAAI,CACF4T,QAAS,IACTviE,IAAK,GACLitB,IAAK,IAEPjzB,KAAMqW,IAAa46C,gBACnB4D,QAAS,GACTwT,WAAY,CACVE,QAAS,GACTviE,IAAK,GACLitB,IAAK,GAEP0iC,mBAAoB,CAClB3vD,IAAK,MACLitB,IAAK,MAEPogC,OAAQtC,IAAa16C,IAAa46C,kBAGpC,CACEhhC,GAAG,EACHk4C,UAAW,CACTniE,IAAK,KACLitB,IAAK,KAEPm1C,UAAW,MACXzT,GAAI,CACF4T,QAAS,IACTviE,IAAK,GACLitB,IAAK,IAEPjzB,KAAMqW,IAAa66C,mBACnB2D,QAAS,EACTwT,WAAY,CACVE,QAAS,GACTviE,IAAK,GACLitB,IAAK,GAEP0iC,mBAAoB,CAClB3vD,IAAK,MACLitB,IAAK,MAEPogC,OAAQtC,IAAa16C,IAAa66C,qBAGpC,CACEjhC,GAAG,EACHk4C,UAAW,CACTniE,IAAK,KACLitB,IAAK,KAEPm1C,UAAW,KACXzT,GAAI,CACF4T,QAAS,IACTviE,IAAK,GACLitB,IAAK,IAEPjzB,KAAMqW,IAAa86C,iBACnB0D,QAAS,EACTwT,WAAY,CACVE,QAAS,GACTviE,IAAK,GACLitB,IAAK,GAEP0iC,mBAAoB,CAClB3vD,IAAK,MACLitB,IAAK,MAEPogC,OAAQtC,IAAa16C,IAAa86C,mBAGpC,CACElhC,GAAG,EACHk4C,UAAW,CACTniE,IAAK,KACLitB,IAAK,MAEPm1C,UAAW,KACXzT,GAAI,CACF4T,QAAS,IACTviE,IAAK,GACLitB,IAAK,IAEPjzB,KAAMqW,IAAa+6C,2BACnByD,QAAS,IACTwT,WAAY,CACVE,QAAS,GACTviE,IAAK,GACLitB,IAAK,GAEP0iC,mBAAoB,CAClB3vD,IAAK,MACLitB,IAAK,MAEPogC,OAAQtC,IAAa16C,IAAa+6C,6BAGpC,CACEnhC,GAAG,EACHk4C,UAAW,CACTniE,IAAK,KACLitB,IAAK,MAEPm1C,UAAW,KACXzT,GAAI,CACF4T,QAAS,IACTviE,IAAK,GACLitB,IAAK,IAEPjzB,KAAMqW,IAAag7C,wBACnBwD,QAAS,GACTwT,WAAY,CACVE,QAAS,GACTviE,IAAK,GACLitB,IAAK,GAEP0iC,mBAAoB,CAClB3vD,IAAK,MACLitB,IAAK,MAEPogC,OAAQtC,IAAa16C,IAAag7C,0BAGpC,CACEphC,GAAG,EACHk4C,UAAW,CACTniE,IAAK,KACLitB,IAAK,KAEPm1C,UAAW,MACXzT,GAAI,CACF4T,QAAS,IACTviE,IAAK,GACLitB,IAAK,IAEPjzB,KAAMqW,IAAai7C,cACnBuD,QAAS,EACTwT,WAAY,CACVE,QAAS,GACTviE,IAAK,GACLitB,IAAK,GAEP0iC,mBAAoB,CAClB3vD,IAAK,MACLitB,IAAK,MAEPogC,OAAQtC,IAAa16C,IAAai7C,gBAGpC,CACErhC,GAAG,EACHk4C,UAAW,CACTniE,IAAK,KACLitB,IAAK,KAEPm1C,UAAW,KACXzT,GAAI,CACF4T,QAAS,IACTviE,IAAK,GACLitB,IAAK,IAEPjzB,KAAMqW,IAAak7C,0BACnBsD,QAAS,IACTwT,WAAY,CACVE,QAAS,GACTviE,IAAK,GACLitB,IAAK,GAEP0iC,mBAAoB,CAClB3vD,IAAK,MACLitB,IAAK,MAEPogC,OAAQtC,IAAa16C,IAAak7C,4BAGpC,CACEthC,GAAG,EACHk4C,UAAW,CACTniE,IAAK,KACLitB,IAAK,MAEPm1C,UAAW,MACXzT,GAAI,CACF4T,QAAS,IACTviE,IAAK,GACLitB,IAAK,IAEPjzB,KAAMqW,IAAam7C,6BACnBqD,QAAS,IACTwT,WAAY,CACVE,QAAS,GACTviE,IAAK,GACLitB,IAAK,GAEP0iC,mBAAoB,CAClB3vD,IAAK,MACLitB,IAAK,MAEPogC,OAAQtC,IAAa16C,IAAam7C,+BAGpC,CACEvhC,GAAG,EACHk4C,UAAW,CACTniE,IAAK,IACLitB,IAAK,MAEPm1C,UAAW,MACXzT,GAAI,CACF4T,QAAS,IACTviE,IAAK,GACLitB,IAAK,IAEPjzB,KAAMqW,IAAao7C,8BACnBoD,QAAS,KACTwT,WAAY,CACVE,QAAS,GACTviE,IAAK,GACLitB,IAAK,GAEP0iC,mBAAoB,CAClB3vD,IAAK,MACLitB,IAAK,MAEPogC,OAAQtC,IAAa16C,IAAao7C,gCAGpC,CACExhC,GAAG,EACHk4C,UAAW,CACTniE,IAAK,KACLitB,IAAK,MAEPm1C,UAAW,KACXzT,GAAI,CACF4T,QAAS,IACTviE,IAAK,GACLitB,IAAK,IAEPjzB,KAAMqW,IAAaq7C,kBACnBmD,QAAS,EACTwT,WAAY,CACVE,QAAS,GACTviE,IAAK,GACLitB,IAAK,GAEP0iC,mBAAoB,CAClB3vD,IAAK,MACLitB,IAAK,MAEPogC,OAAQtC,IAAa16C,IAAaq7C,oBAGpC,CACEzhC,GAAG,EACHk4C,UAAW,CACTniE,IAAK,KACLitB,IAAK,KAEPm1C,UAAW,MACXzT,GAAI,CACF4T,QAAS,IACTviE,IAAK,IACLitB,IAAK,KAEPjzB,KAAMqW,IAAas7C,sBACnBkD,QAAS,IACTwT,WAAY,CACVE,QAAS,GACTviE,IAAK,GACLitB,IAAK,GAEP0iC,mBAAoB,CAClB3vD,IAAK,KACLitB,IAAK,MAEPogC,OAAQtC,IAAa16C,IAAas7C,wBAGpC,CACE1hC,GAAG,EACHk4C,UAAW,CACTniE,IAAK,IACLitB,IAAK,MAEPm1C,UAAW,KACXzT,GAAI,CACF4T,QAAS,IACTviE,IAAK,IACLitB,IAAK,KAEPjzB,KAAMqW,IAAau7C,iBACnBiD,QAAS,EACTwT,WAAY,CACVE,QAAS,GACTviE,IAAK,GACLitB,IAAK,GAEP0iC,mBAAoB,CAClB3vD,IAAK,MACLitB,IAAK,MAEPogC,OAAQtC,IAAa16C,IAAau7C,mBAGpC,CACE3hC,GAAG,EACHk4C,UAAW,CACTniE,IAAK,IACLitB,IAAK,KAEPm1C,UAAW,MACXzT,GAAI,CACF4T,QAAS,IACTviE,IAAK,GACLitB,IAAK,IAEPjzB,KAAMqW,IAAaw7C,qBACnBgD,QAAS,EACTwT,WAAY,CACVE,QAAS,GACTviE,IAAK,GACLitB,IAAK,GAEP0iC,mBAAoB,CAClB3vD,IAAK,MACLitB,IAAK,KAEPogC,OAAQtC,IAAa16C,IAAaw7C,uBAGpC,CACE5hC,GAAG,EACHk4C,UAAW,CACTniE,IAAK,KACLitB,IAAK,KAEPm1C,UAAW,MACXzT,GAAI,CACF4T,QAAS,IACTviE,IAAK,IACLitB,IAAK,KAEPjzB,KAAMqW,IAAay7C,yBACnB+C,QAAS,GACTwT,WAAY,CACVE,QAAS,GACTviE,IAAK,GACLitB,IAAK,GAEP0iC,mBAAoB,CAClB3vD,IAAK,IACLitB,IAAK,KAEPogC,OAAQtC,IAAa16C,IAAay7C,2BAGpC,CACE7hC,GAAG,EACHk4C,UAAW,CACTniE,IAAK,IACLitB,IAAK,KAEPm1C,UAAW,KACXzT,GAAI,CACF4T,QAAS,IACTviE,IAAK,IACLitB,IAAK,KAEPjzB,KAAMqW,IAAa07C,0BACnB8C,QAAS,EACTwT,WAAY,CACVE,QAAS,GACTviE,IAAK,GACLitB,IAAK,GAEP0iC,mBAAoB,CAClB3vD,IAAK,IACLitB,IAAK,MAEPogC,OAAQtC,IAAa16C,IAAa07C,4BAGpC,CACE9hC,GAAG,EACHk4C,UAAW,CACTniE,IAAK,IACLitB,IAAK,KAEPm1C,UAAW,MACXzT,GAAI,CACF4T,QAAS,IACTviE,IAAK,IACLitB,IAAK,IAEPjzB,KAAMqW,IAAa27C,iBACnB6C,QAAS,EACTwT,WAAY,CACVE,QAAS,GACTviE,IAAK,GACLitB,IAAK,GAEP0iC,mBAAoB,CAClB3vD,IAAK,MACLitB,IAAK,KAEPogC,OAAQtC,IAAa16C,IAAa27C,mBAGpC,CACE/hC,GAAG,EACHk4C,UAAW,CACTniE,IAAK,IACLitB,IAAK,KAEPm1C,UAAW,KACXzT,GAAI,CACF4T,QAAS,IACTviE,IAAK,IACLitB,IAAK,KAEPjzB,KAAMqW,IAAa47C,yBACnB4C,QAAS,EACTwT,WAAY,CACVE,QAAS,GACTviE,IAAK,GACLitB,IAAK,GAEP0iC,mBAAoB,CAClB3vD,IAAK,KACLitB,IAAK,MAEPogC,OAAQtC,IAAa16C,IAAa47C,2BAGpC,CACEhiC,GAAG,EACHk4C,UAAW,CACTniE,IAAK,IACLitB,IAAK,KAEPm1C,UAAW,KACXzT,GAAI,CACF4T,QAAS,IACTviE,IAAK,IACLitB,IAAK,IAEPjzB,KAAMqW,IAAa67C,oBACnB2C,QAAS,GACTwT,WAAY,CACVE,QAAS,GACTviE,IAAK,GACLitB,IAAK,GAEP0iC,mBAAoB,CAClB3vD,IAAK,IACLitB,IAAK,KAEPogC,OAAQtC,IAAa16C,IAAa67C,sBAGpC,CACEjiC,GAAG,EACHk4C,UAAW,CACTniE,IAAK,KACLitB,IAAK,KAEPm1C,UAAW,KACXzT,GAAI,CACF4T,QAAS,IACTviE,IAAK,GACLitB,IAAK,IAEPjzB,KAAMqW,IAAa87C,mBACnB0C,QAAS,EACTwT,WAAY,CACVE,QAAS,GACTviE,IAAK,GACLitB,IAAK,GAEP0iC,mBAAoB,CAClB3vD,IAAK,KACLitB,IAAK,KAEPogC,OAAQtC,IAAa16C,IAAa87C,qBAGpC,CACEliC,GAAG,EACHk4C,UAAW,CACTniE,IAAK,KACLitB,IAAK,MAEPm1C,UAAW,KACXzT,GAAI,CACF4T,QAAS,IACTviE,IAAK,IACLitB,IAAK,KAEPjzB,KAAM,kBACN60D,QAAS,EACTwT,WAAY,CACVE,QAAS,GACTviE,IAAK,GACLitB,IAAK,GAEP0iC,mBAAoB,CAClB3vD,IAAK,IACLitB,IAAK,KAEPogC,OAAQtC,IAAa,oBAGvB,CACE9gC,GAAG,EACHk4C,UAAW,CACTniE,IAAK,KACLitB,IAAK,KAEPm1C,UAAW,KACXzT,GAAI,CACF4T,QAAS,IACTviE,IAAK,I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FqB3yI,EAAM2xI,aAUPA,UAAW3xI,EAAM2xI,aAEjD,kBAAC,IAAD,CAAMlmF,MAAI,EAACC,GAAI,GACb,kBAAC,IAAD,CAAYnO,MAAO,CAAEC,UAAW,eAAiBhnE,IAEnD,kBAAC,IAAD,CAAMi1E,MAAI,EAACC,GAAI,GACb,kBAAC,IAAD,KACG+mF,EACD,kBAAC,IAAD,SAkBV,MAAMF,EAAQ,CACZ,YACA,SACA,MACA,cACA,QACA,SACA,YACA,SACA,MACA,OACA,SACA,OACA,UACA,WACA,OACA,YACA,UACA,SACA,MACA,MACA,OACA,QACA,YACA,UACA,KACA,SACA,SACA,YACA,QACA,YACA,UACA,UACA,WACA,WACA,YACA,SACA,OACA,MACA,aACA,aACA,YACA,OACA,SACA,WACA,QACA,aACA,SACA,UACA,cACA,UACA,OACA,MACA,WACA,SACA,cACA,MACA,aACA,WACA,OACA,MACA,UACA,QACA,WACA,UACA,aACA,QACA,UACA,MACA,OACA,SACA,WACA,WACA,UACA,QACA,cACA,cACA,YACA,SACA,OACA,SACA,QACA,WACA,WACA,WACA,OACA,SACA,WACA,YACA,OACA,OACA,YACA,YACA,OACA,QACA,UACA,YACA,WACA,aACA,YACA,OACA,WACA,WACA,SACA,MACA,WACA,UACA,SACA,gBACA,OACA,QACA,UACA,QACA,QACA,UACA,YACA,QACA,YACA,UACA,QACA,SACA,SACA,QACA,UACA,cACA,QACA,aACA,MACA,UACA,OACA,WACA,WACA,UACA,SACA,aACA,YACA,SACA,SACA,SACA,OACA,WACA,QACA,OACA,WACA,SACA,SACA,WACA,SACA,UACA,QACA,SACA,QACA,UACA,UACA,UACA,UACA,aACA,WACA,QACA,SACA,MACA,WACA,SACA,aACA,UACA,MACA,OACA,SACA,UACA,OACA,OACA,UACA,SACA,aACA,SACA,SACA,SACA,SACA,SACA,WACA,SACA,YACA,QACA,QACA,YACA,WACA,oBACA,WACA,OACA,UACA,cACA,UACA,SACA,UACA,gBAC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","file":"main.bundle.js","sourcesContent":[" \t// install a JSONP callback for chunk loading\n \tfunction webpackJsonpCallback(data) {\n \t\tvar chunkIds = data[0];\n \t\tvar moreModules = data[1];\n \t\tvar executeModules = data[2];\n\n \t\t// add \"moreModules\" to the modules object,\n \t\t// then flag all \"chunkIds\" as loaded and fire callback\n \t\tvar moduleId, chunkId, i = 0, resolves = [];\n \t\tfor(;i < chunkIds.length; i++) {\n \t\t\tchunkId = chunkIds[i];\n \t\t\tif(Object.prototype.hasOwnProperty.call(installedChunks, chunkId) && installedChunks[chunkId]) {\n \t\t\t\tresolves.push(installedChunks[chunkId][0]);\n \t\t\t}\n \t\t\tinstalledChunks[chunkId] = 0;\n \t\t}\n \t\tfor(moduleId in moreModules) {\n \t\t\tif(Object.prototype.hasOwnProperty.call(moreModules, moduleId)) {\n \t\t\t\tmodules[moduleId] = moreModules[moduleId];\n \t\t\t}\n \t\t}\n \t\tif(parentJsonpFunction) parentJsonpFunction(data);\n\n \t\twhile(resolves.length) {\n \t\t\tresolves.shift()();\n \t\t}\n\n \t\t// add entry modules from loaded chunk to deferred list\n \t\tdeferredModules.push.apply(deferredModules, executeModules || []);\n\n \t\t// run deferred modules when all chunks ready\n \t\treturn checkDeferredModules();\n \t};\n \tfunction checkDeferredModules() {\n \t\tvar result;\n \t\tfor(var i = 0; i < deferredModules.length; i++) {\n \t\t\tvar deferredModule = deferredModules[i];\n \t\t\tvar fulfilled = true;\n \t\t\tfor(var j = 1; j < deferredModule.length; j++) {\n \t\t\t\tvar depId = deferredModule[j];\n \t\t\t\tif(installedChunks[depId] !== 0) fulfilled = false;\n \t\t\t}\n \t\t\tif(fulfilled) {\n \t\t\t\tdeferredModules.splice(i--, 1);\n \t\t\t\tresult = __webpack_require__(__webpack_require__.s = deferredModule[0]);\n \t\t\t}\n \t\t}\n\n \t\treturn result;\n \t}\n\n \t// The module cache\n \tvar installedModules = {};\n\n \t// object to store loaded and loading chunks\n \t// undefined = chunk not loaded, null = chunk preloaded/prefetched\n \t// Promise = chunk loading, 0 = chunk loaded\n \tvar installedChunks = {\n \t\t1: 0\n \t};\n\n \tvar deferredModules = [];\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n \tvar jsonpArray = window[\"webpackJsonp\"] = window[\"webpackJsonp\"] || [];\n \tvar oldJsonpFunction = jsonpArray.push.bind(jsonpArray);\n \tjsonpArray.push = webpackJsonpCallback;\n \tjsonpArray = jsonpArray.slice();\n \tfor(var i = 0; i < jsonpArray.length; i++) webpackJsonpCallback(jsonpArray[i]);\n \tvar parentJsonpFunction = oldJsonpFunction;\n\n\n \t// add entry module to deferred list\n \tdeferredModules.push([1220,0]);\n \t// run deferred modules when ready\n \treturn checkDeferredModules();\n","import { Corporation } from \"./Corporation/Corporation\";\nimport { PlayerObject } from \"./PersonObjects/Player/PlayerObject\";\nimport { sanitizeExploits } from \"./Exploits/Exploit\";\n\nimport { Reviver } from \"./utils/JSONReviver\";\n\nimport Decimal from \"decimal.js\";\n\nexport let Player = new PlayerObject();\n\nexport function loadPlayer(saveString: string): void {\n Player = JSON.parse(saveString, Reviver);\n\n // Parse Decimal.js objects\n Player.money = new Decimal(Player.money);\n\n if (Player.corporation instanceof Corporation) {\n Player.corporation.funds = new Decimal(Player.corporation.funds);\n Player.corporation.revenue = new Decimal(Player.corporation.revenue);\n Player.corporation.expenses = new Decimal(Player.corporation.expenses);\n\n for (let i = 0; i < Player.corporation.divisions.length; ++i) {\n const ind = Player.corporation.divisions[i];\n ind.lastCycleRevenue = new Decimal(ind.lastCycleRevenue);\n ind.lastCycleExpenses = new Decimal(ind.lastCycleExpenses);\n ind.thisCycleRevenue = new Decimal(ind.thisCycleRevenue);\n ind.thisCycleExpenses = new Decimal(ind.thisCycleExpenses);\n }\n }\n\n Player.exploits = sanitizeExploits(Player.exploits);\n}\n","import numeral from \"numeral\";\nimport \"numeral/locales/bg\";\nimport \"numeral/locales/cs\";\nimport \"numeral/locales/da-dk\";\nimport \"numeral/locales/de\";\nimport \"numeral/locales/en-au\";\nimport \"numeral/locales/en-gb\";\nimport \"numeral/locales/es\";\nimport \"numeral/locales/fr\";\nimport \"numeral/locales/hu\";\nimport \"numeral/locales/it\";\nimport \"numeral/locales/lv\";\nimport \"numeral/locales/no\";\nimport \"numeral/locales/pl\";\nimport \"numeral/locales/ru\";\n\n/* eslint-disable class-methods-use-this */\n\nconst extraFormats = [1e15, 1e18, 1e21, 1e24, 1e27, 1e30];\nconst extraNotations = [\"q\", \"Q\", \"s\", \"S\", \"o\", \"n\"];\n\nclass NumeralFormatter {\n // Default Locale\n defaultLocale = \"en\";\n\n constructor() {\n this.defaultLocale = \"en\";\n }\n\n updateLocale(l: string): boolean {\n if (numeral.locale(l) == null) {\n console.warn(`Invalid locale for numeral: ${l}`);\n\n numeral.locale(this.defaultLocale);\n return false;\n }\n return true;\n }\n\n format(n: number, format: string): string {\n // numeraljs doesnt properly format numbers that are too big or too small\n if (Math.abs(n) < 1e-6) {\n n = 0;\n }\n const answer = numeral(n).format(format);\n if (answer === \"NaN\") {\n return `${n}`;\n }\n return answer;\n }\n\n formatBigNumber(n: number): string {\n return this.format(n, \"0.000a\");\n }\n\n // TODO: leverage numeral.js to do it. This function also implies you can\n // use this format in some text field but you can't. ( \"1t\" will parse but\n // \"1s\" will not)\n formatReallyBigNumber(n: number, decimalPlaces = 3): string {\n if (n === Infinity) return \"∞\";\n for (let i = 0; i < extraFormats.length; i++) {\n if (extraFormats[i] < n && n <= extraFormats[i] * 1000) {\n return this.format(n / extraFormats[i], \"0.\" + \"0\".repeat(decimalPlaces)) + extraNotations[i];\n }\n }\n if (Math.abs(n) < 1000) {\n return this.format(n, \"0.\" + \"0\".repeat(decimalPlaces));\n }\n const str = this.format(n, \"0.\" + \"0\".repeat(decimalPlaces) + \"a\");\n if (str === \"NaNt\") return this.format(n, \"0.\" + \" \".repeat(decimalPlaces) + \"e+0\");\n return str;\n }\n\n formatHp(n: number): string {\n if (n < 1e6) {\n return this.format(n, \"0,0\");\n }\n return this.formatReallyBigNumber(n);\n }\n\n formatMoney(n: number): string {\n return \"$\" + this.formatReallyBigNumber(n);\n }\n\n formatSkill(n: number): string {\n if (n < 1e15) {\n return this.format(n, \"0,0\");\n }\n return this.formatReallyBigNumber(n);\n }\n\n formatExp(n: number): string {\n return this.formatReallyBigNumber(n);\n }\n\n formatHashes(n: number): string {\n return this.formatReallyBigNumber(n);\n }\n\n formatReputation(n: number): string {\n return this.formatReallyBigNumber(n);\n }\n\n formatFavor(n: number): string {\n return this.format(n, \"0,0\");\n }\n\n formatRAM(n: number): string {\n return this.format(n, \"0.00\") + \"GB\";\n }\n\n formatPercentage(n: number, decimalPlaces = 2): string {\n const formatter: string = \"0.\" + \"0\".repeat(decimalPlaces) + \"%\";\n return this.format(n, formatter);\n }\n\n formatServerSecurity(n: number): string {\n return this.format(n, \"0,0.000\");\n }\n\n formatRespect(n: number): string {\n return this.formatReallyBigNumber(n, 5);\n }\n\n formatWanted(n: number): string {\n return this.formatReallyBigNumber(n, 5);\n }\n\n formatMultiplier(n: number): string {\n return this.format(n, \"0,0.00\");\n }\n\n formatSleeveShock(n: number): string {\n return this.format(n, \"0,0.000\");\n }\n\n formatSleeveSynchro(n: number): string {\n return this.format(n, \"0,0.000\");\n }\n\n formatSleeveMemory(n: number): string {\n return this.format(n, \"0\");\n }\n\n formatPopulation(n: number): string {\n return this.format(n, \"0.000a\");\n }\n\n formatStamina(n: number): string {\n return this.format(n, \"0.0\");\n }\n\n formatShares(n: number): string {\n if (n < 1000) {\n return this.format(n, \"0\");\n }\n return this.formatReallyBigNumber(n);\n }\n\n formatInfiltrationSecurity(n: number): string {\n return this.formatReallyBigNumber(n);\n }\n\n formatThreads(n: number): string {\n return this.format(n, \"0,0\");\n }\n\n parseMoney(s: string): number {\n // numeral library does not handle formats like 1e10 well (returns 110),\n // so if both return a valid number, return the biggest one\n const numeralValue = numeral(s).value();\n const parsed = parseFloat(s);\n if (isNaN(parsed) && numeralValue === null) {\n return NaN;\n } else if (isNaN(parsed)) {\n return numeralValue;\n } else if (numeralValue === null) {\n return parsed;\n } else {\n return Math.max(numeralValue, parsed);\n }\n }\n}\n\nexport const numeralWrapper = new NumeralFormatter();\n","/**\n * Generic Game Constants\n *\n * Constants for specific mechanics or features will NOT be here.\n */\nexport const CONSTANTS: {\n Version: string;\n _idleSpeed: number;\n MaxSkillLevel: number;\n MilliPerCycle: number;\n CorpFactionRepRequirement: number;\n BaseFocusBonus: number;\n BaseCostFor1GBOfRamHome: number;\n BaseCostFor1GBOfRamServer: number;\n TravelCost: number;\n BaseFavorToDonate: number;\n DonateMoneyToRepDivisor: number;\n FactionReputationToFavorBase: number;\n FactionReputationToFavorMult: number;\n CompanyReputationToFavorBase: number;\n CompanyReputationToFavorMult: number;\n NeuroFluxGovernorLevelMult: number;\n NumNetscriptPorts: number;\n HomeComputerMaxRam: number;\n ServerBaseGrowthRate: number;\n ServerMaxGrowthRate: number;\n ServerFortifyAmount: number;\n ServerWeakenAmount: number;\n PurchasedServerLimit: number;\n PurchasedServerMaxRam: number;\n MultipleAugMultiplier: number;\n TorRouterCost: number;\n InfiltrationBribeBaseAmount: number;\n InfiltrationMoneyValue: number;\n InfiltrationRepValue: number;\n InfiltrationExpPow: number;\n WSEAccountCost: number;\n TIXAPICost: number;\n MarketData4SCost: number;\n MarketDataTixApi4SCost: number;\n StockMarketCommission: number;\n HospitalCostPerHp: number;\n IntelligenceCrimeWeight: number;\n IntelligenceInfiltrationWeight: number;\n IntelligenceCrimeBaseExpGain: number;\n IntelligenceProgramBaseExpGain: number;\n IntelligenceTerminalHackBaseExpGain: number;\n IntelligenceSingFnBaseExpGain: number;\n IntelligenceClassBaseExpGain: number;\n MillisecondsPer20Hours: number;\n GameCyclesPer20Hours: number;\n MillisecondsPer10Hours: number;\n GameCyclesPer10Hours: number;\n MillisecondsPer8Hours: number;\n GameCyclesPer8Hours: number;\n MillisecondsPer4Hours: number;\n GameCyclesPer4Hours: number;\n MillisecondsPer2Hours: number;\n GameCyclesPer2Hours: number;\n MillisecondsPerHour: number;\n GameCyclesPerHour: number;\n MillisecondsPerHalfHour: number;\n GameCyclesPerHalfHour: number;\n MillisecondsPerQuarterHour: number;\n GameCyclesPerQuarterHour: number;\n MillisecondsPerFiveMinutes: number;\n GameCyclesPerFiveMinutes: number;\n FactionWorkHacking: string;\n FactionWorkField: string;\n FactionWorkSecurity: string;\n WorkTypeCompany: string;\n WorkTypeCompanyPartTime: string;\n WorkTypeFaction: string;\n WorkTypeCreateProgram: string;\n WorkTypeStudyClass: string;\n WorkTypeCrime: string;\n ClassStudyComputerScience: string;\n ClassDataStructures: string;\n ClassNetworks: string;\n ClassAlgorithms: string;\n ClassManagement: string;\n ClassLeadership: string;\n ClassGymStrength: string;\n ClassGymDefense: string;\n ClassGymDexterity: string;\n ClassGymAgility: string;\n ClassDataStructuresBaseCost: number;\n ClassNetworksBaseCost: number;\n ClassAlgorithmsBaseCost: number;\n ClassManagementBaseCost: number;\n ClassLeadershipBaseCost: number;\n ClassGymBaseCost: number;\n ClassStudyComputerScienceBaseExp: number;\n ClassDataStructuresBaseExp: number;\n ClassNetworksBaseExp: number;\n ClassAlgorithmsBaseExp: number;\n ClassManagementBaseExp: number;\n ClassLeadershipBaseExp: number;\n CrimeShoplift: string;\n CrimeRobStore: string;\n CrimeMug: string;\n CrimeLarceny: string;\n CrimeDrugs: string;\n CrimeBondForgery: string;\n CrimeTraffickArms: string;\n CrimeHomicide: string;\n CrimeGrandTheftAuto: string;\n CrimeKidnap: string;\n CrimeAssassination: string;\n CrimeHeist: string;\n CodingContractBaseFactionRepGain: number;\n CodingContractBaseCompanyRepGain: number;\n CodingContractBaseMoneyGain: number;\n TotalNumBitNodes: number;\n LatestUpdate: string;\n} = {\n Version: \"0.55.0\",\n\n // Speed (in ms) at which the main loop is updated\n _idleSpeed: 200,\n\n /** Max level for any skill, assuming no multipliers. Determined by max numerical value in javascript for experience\n * and the skill level formula in Player.js. Note that all this means it that when experience hits MAX_INT, then\n * the player will have this level assuming no multipliers. Multipliers can cause skills to go above this.\n */\n MaxSkillLevel: 975,\n\n // Milliseconds per game cycle\n MilliPerCycle: 200,\n\n // How much reputation is needed to join a megacorporation's faction\n CorpFactionRepRequirement: 200e3,\n\n // Base RAM costs\n BaseCostFor1GBOfRamHome: 32000,\n BaseCostFor1GBOfRamServer: 55000, //1 GB of RAM\n\n // Cost to travel to another city\n TravelCost: 200e3,\n\n // Faction and Company favor-related things\n BaseFavorToDonate: 150,\n DonateMoneyToRepDivisor: 1e6,\n FactionReputationToFavorBase: 500,\n FactionReputationToFavorMult: 1.02,\n CompanyReputationToFavorBase: 500,\n CompanyReputationToFavorMult: 1.02,\n\n // NeuroFlux Governor Augmentation cost multiplier\n NeuroFluxGovernorLevelMult: 1.14,\n\n NumNetscriptPorts: 20,\n\n // Server-related constants\n HomeComputerMaxRam: 1073741824, // 2 ^ 30\n ServerBaseGrowthRate: 1.03, // Unadjusted Growth rate\n ServerMaxGrowthRate: 1.0035, // Maximum possible growth rate (max rate accounting for server security)\n ServerFortifyAmount: 0.002, // Amount by which server's security increases when its hacked/grown\n ServerWeakenAmount: 0.05, // Amount by which server's security decreases when weakened\n\n PurchasedServerLimit: 25,\n PurchasedServerMaxRam: 1048576, // 2^20\n\n // Augmentation Constants\n MultipleAugMultiplier: 1.9,\n\n // TOR Router\n TorRouterCost: 200e3,\n\n // Infiltration\n InfiltrationBribeBaseAmount: 100e3, //Amount per clearance level\n InfiltrationMoneyValue: 5e3, //Convert \"secret\" value to money\n InfiltrationRepValue: 1.4, //Convert \"secret\" value to faction reputation\n InfiltrationExpPow: 0.8,\n\n // Stock market\n WSEAccountCost: 200e6,\n TIXAPICost: 5e9,\n MarketData4SCost: 1e9,\n MarketDataTixApi4SCost: 25e9,\n StockMarketCommission: 100e3,\n\n // Hospital/Health\n HospitalCostPerHp: 100e3,\n\n // Intelligence-related constants\n IntelligenceCrimeWeight: 0.025, // Weight for how much int affects crime success rates\n IntelligenceInfiltrationWeight: 0.1, // Weight for how much int affects infiltration success rates\n IntelligenceCrimeBaseExpGain: 0.05,\n IntelligenceProgramBaseExpGain: 2.5, // Program required hack level divided by this to determine int exp gain\n IntelligenceTerminalHackBaseExpGain: 200, // Hacking exp divided by this to determine int exp gain\n IntelligenceSingFnBaseExpGain: 1.5,\n IntelligenceClassBaseExpGain: 0.01,\n\n // Time-related constants\n MillisecondsPer20Hours: 72000000,\n GameCyclesPer20Hours: 72000000 / 200,\n\n MillisecondsPer10Hours: 36000000,\n GameCyclesPer10Hours: 36000000 / 200,\n\n MillisecondsPer8Hours: 28800000,\n GameCyclesPer8Hours: 28800000 / 200,\n\n MillisecondsPer4Hours: 14400000,\n GameCyclesPer4Hours: 14400000 / 200,\n\n MillisecondsPer2Hours: 7200000,\n GameCyclesPer2Hours: 7200000 / 200,\n\n MillisecondsPerHour: 3600000,\n GameCyclesPerHour: 3600000 / 200,\n\n MillisecondsPerHalfHour: 1800000,\n GameCyclesPerHalfHour: 1800000 / 200,\n\n MillisecondsPerQuarterHour: 900000,\n GameCyclesPerQuarterHour: 900000 / 200,\n\n MillisecondsPerFiveMinutes: 300000,\n GameCyclesPerFiveMinutes: 300000 / 200,\n\n // Player Work & Action\n BaseFocusBonus: 0.8,\n FactionWorkHacking: \"Faction Hacking Work\",\n FactionWorkField: \"Faction Field Work\",\n FactionWorkSecurity: \"Faction Security Work\",\n\n WorkTypeCompany: \"Working for Company\",\n WorkTypeCompanyPartTime: \"Working for Company part-time\",\n WorkTypeFaction: \"Working for Faction\",\n WorkTypeCreateProgram: \"Working on Create a Program\",\n WorkTypeStudyClass: \"Studying or Taking a class at university\",\n WorkTypeCrime: \"Committing a crime\",\n\n ClassStudyComputerScience: \"studying Computer Science\",\n ClassDataStructures: \"taking a Data Structures course\",\n ClassNetworks: \"taking a Networks course\",\n ClassAlgorithms: \"taking an Algorithms course\",\n ClassManagement: \"taking a Management course\",\n ClassLeadership: \"taking a Leadership course\",\n ClassGymStrength: \"training your strength at a gym\",\n ClassGymDefense: \"training your defense at a gym\",\n ClassGymDexterity: \"training your dexterity at a gym\",\n ClassGymAgility: \"training your agility at a gym\",\n\n ClassDataStructuresBaseCost: 40,\n ClassNetworksBaseCost: 80,\n ClassAlgorithmsBaseCost: 320,\n ClassManagementBaseCost: 160,\n ClassLeadershipBaseCost: 320,\n ClassGymBaseCost: 120,\n\n ClassStudyComputerScienceBaseExp: 0.5,\n ClassDataStructuresBaseExp: 1,\n ClassNetworksBaseExp: 2,\n ClassAlgorithmsBaseExp: 4,\n ClassManagementBaseExp: 2,\n ClassLeadershipBaseExp: 4,\n\n CrimeShoplift: \"shoplift\",\n CrimeRobStore: \"rob a store\",\n CrimeMug: \"mug someone\",\n CrimeLarceny: \"commit larceny\",\n CrimeDrugs: \"deal drugs\",\n CrimeBondForgery: \"forge corporate bonds\",\n CrimeTraffickArms: \"traffick illegal arms\",\n CrimeHomicide: \"commit homicide\",\n CrimeGrandTheftAuto: \"commit grand theft auto\",\n CrimeKidnap: \"kidnap someone for ransom\",\n CrimeAssassination: \"assassinate a high-profile target\",\n CrimeHeist: \"pull off the ultimate heist\",\n\n // Coding Contract\n // TODO: Move this into Coding contract implementation?\n CodingContractBaseFactionRepGain: 2500,\n CodingContractBaseCompanyRepGain: 4000,\n CodingContractBaseMoneyGain: 75e6,\n\n // BitNode/Source-File related stuff\n TotalNumBitNodes: 24,\n\n LatestUpdate: `\n v0.55.0 - 2021-09-20 Material UI (hydroflame & community)\n -------------------------------------------\n\n ** Global ** \n\n * The game is now 100% in typescript, react, and Material-UI\n\n ** Misc. **\n\n * Corporations can no longer bribe special factions\n * Infiltration can no longer lose focus of the keyboard.\n * Fix terminal line limit\n * Added theme editor\n * Theme applies on game load (@Nolshine)\n * Sleeves no longer consume all bonus time for some actions\n * Fix a bug where the autocomlete list would get duplicates\n * Fix tutorial not scaling properly on small screens\n * Import should be more consistent\n * Typo with 'help' command\n * Fix infinite loop in casino\n * nerf noodle bar\n`,\n\n /*\n\n\n*/\n};\n","import { IMap } from \"../../types\";\n\nexport const AugmentationNames: IMap = {\n Targeting1: \"Augmented Targeting I\",\n Targeting2: \"Augmented Targeting II\",\n Targeting3: \"Augmented Targeting III\",\n SyntheticHeart: \"Synthetic Heart\",\n SynfibrilMuscle: \"Synfibril Muscle\",\n CombatRib1: \"Combat Rib I\",\n CombatRib2: \"Combat Rib II\",\n CombatRib3: \"Combat Rib III\",\n NanofiberWeave: \"Nanofiber Weave\",\n SubdermalArmor: \"NEMEAN Subdermal Weave\",\n WiredReflexes: \"Wired Reflexes\",\n GrapheneBoneLacings: \"Graphene Bone Lacings\",\n BionicSpine: \"Bionic Spine\",\n GrapheneBionicSpine: \"Graphene Bionic Spine Upgrade\",\n BionicLegs: \"Bionic Legs\",\n GrapheneBionicLegs: \"Graphene Bionic Legs Upgrade\",\n SpeechProcessor: \"Speech Processor Implant\",\n TITN41Injection: \"TITN-41 Gene-Modification Injection\",\n EnhancedSocialInteractionImplant: \"Enhanced Social Interaction Implant\",\n BitWire: \"BitWire\",\n ArtificialBioNeuralNetwork: \"Artificial Bio-neural Network Implant\",\n ArtificialSynapticPotentiation: \"Artificial Synaptic Potentiation\",\n EnhancedMyelinSheathing: \"Enhanced Myelin Sheathing\",\n SynapticEnhancement: \"Synaptic Enhancement Implant\",\n NeuralRetentionEnhancement: \"Neural-Retention Enhancement\",\n DataJack: \"DataJack\",\n ENM: \"Embedded Netburner Module\",\n ENMCore: \"Embedded Netburner Module Core Implant\",\n ENMCoreV2: \"Embedded Netburner Module Core V2 Upgrade\",\n ENMCoreV3: \"Embedded Netburner Module Core V3 Upgrade\",\n ENMAnalyzeEngine: \"Embedded Netburner Module Analyze Engine\",\n ENMDMA: \"Embedded Netburner Module Direct Memory Access Upgrade\",\n Neuralstimulator: \"Neuralstimulator\",\n NeuralAccelerator: \"Neural Accelerator\",\n CranialSignalProcessorsG1: \"Cranial Signal Processors - Gen I\",\n CranialSignalProcessorsG2: \"Cranial Signal Processors - Gen II\",\n CranialSignalProcessorsG3: \"Cranial Signal Processors - Gen III\",\n CranialSignalProcessorsG4: \"Cranial Signal Processors - Gen IV\",\n CranialSignalProcessorsG5: \"Cranial Signal Processors - Gen V\",\n NeuronalDensification: \"Neuronal Densification\",\n NeuroreceptorManager: \"Neuroreceptor Management Implant\",\n NuoptimalInjectorImplant: \"Nuoptimal Nootropic Injector Implant\",\n SpeechEnhancement: \"Speech Enhancement\",\n FocusWire: \"FocusWire\",\n PCDNI: \"PC Direct-Neural Interface\",\n PCDNIOptimizer: \"PC Direct-Neural Interface Optimization Submodule\",\n PCDNINeuralNetwork: \"PC Direct-Neural Interface NeuroNet Injector\",\n PCMatrix: \"PCMatrix\",\n ADRPheromone1: \"ADR-V1 Pheromone Gene\",\n ADRPheromone2: \"ADR-V2 Pheromone Gene\",\n ShadowsSimulacrum: \"The Shadow's Simulacrum\",\n HacknetNodeCPUUpload: \"Hacknet Node CPU Architecture Neural-Upload\",\n HacknetNodeCacheUpload: \"Hacknet Node Cache Architecture Neural-Upload\",\n HacknetNodeNICUpload: \"Hacknet Node NIC Architecture Neural-Upload\",\n HacknetNodeKernelDNI: \"Hacknet Node Kernel Direct-Neural Interface\",\n HacknetNodeCoreDNI: \"Hacknet Node Core Direct-Neural Interface\",\n NeuroFluxGovernor: \"NeuroFlux Governor\",\n Neurotrainer1: \"Neurotrainer I\",\n Neurotrainer2: \"Neurotrainer II\",\n Neurotrainer3: \"Neurotrainer III\",\n Hypersight: \"HyperSight Corneal Implant\",\n LuminCloaking1: \"LuminCloaking-V1 Skin Implant\",\n LuminCloaking2: \"LuminCloaking-V2 Skin Implant\",\n HemoRecirculator: \"HemoRecirculator\",\n SmartSonar: \"SmartSonar Implant\",\n PowerRecirculator: \"Power Recirculation Core\",\n QLink: \"QLink\",\n TheRedPill: \"The Red Pill\",\n SPTN97: \"SPTN-97 Gene Modification\",\n HiveMind: \"ECorp HVMind Implant\",\n CordiARCReactor: \"CordiARC Fusion Reactor\",\n SmartJaw: \"SmartJaw\",\n Neotra: \"Neotra\",\n Xanipher: \"Xanipher\",\n nextSENS: \"nextSENS Gene Modification\",\n OmniTekInfoLoad: \"OmniTek InfoLoad\",\n PhotosyntheticCells: \"Photosynthetic Cells\",\n Neurolink: \"BitRunners Neurolink\",\n TheBlackHand: \"The Black Hand\",\n UnstableCircadianModulator: \"Unstable Circadian Modulator\",\n CRTX42AA: \"CRTX42-AA Gene Modification\",\n Neuregen: \"Neuregen Gene Modification\",\n CashRoot: \"CashRoot Starter Kit\",\n NutriGen: \"NutriGen Implant\",\n INFRARet: \"INFRARET Enhancement\",\n DermaForce: \"DermaForce Particle Barrier\",\n GrapheneBrachiBlades: \"Graphene BranchiBlades Upgrade\",\n GrapheneBionicArms: \"Graphene Bionic Arms Upgrade\",\n BrachiBlades: \"BrachiBlades\",\n BionicArms: \"Bionic Arms\",\n SNA: \"Social Negotiation Assistant (S.N.A)\",\n HydroflameLeftArm: \"Hydroflame Left Arm\",\n EsperEyewear: \"EsperTech Bladeburner Eyewear\",\n EMS4Recombination: \"EMS-4 Recombination\",\n OrionShoulder: \"ORION-MKIV Shoulder\",\n HyperionV1: \"Hyperion Plasma Cannon V1\",\n HyperionV2: \"Hyperion Plasma Cannon V2\",\n GolemSerum: \"GOLEM Serum\",\n VangelisVirus: \"Vangelis Virus\",\n VangelisVirus3: \"Vangelis Virus 3.0\",\n INTERLINKED: \"I.N.T.E.R.L.I.N.K.E.D\",\n BladeRunner: \"Blade's Runners\",\n BladeArmor: \"BLADE-51b Tesla Armor\",\n BladeArmorPowerCells: \"BLADE-51b Tesla Armor: Power Cells Upgrade\",\n BladeArmorEnergyShielding: \"BLADE-51b Tesla Armor: Energy Shielding Upgrade\",\n BladeArmorUnibeam: \"BLADE-51b Tesla Armor: Unibeam Upgrade\",\n BladeArmorOmnibeam: \"BLADE-51b Tesla Armor: Omnibeam Upgrade\",\n BladeArmorIPU: \"BLADE-51b Tesla Armor: IPU Upgrade\",\n BladesSimulacrum: \"The Blade's Simulacrum\",\n\n //Wasteland Augs\n //PepBoy: \"P.E.P-Boy\", Plasma Energy Projection System\n //PepBoyForceField Generates plasma force fields\n //PepBoyBlasts Generate high density plasma concussive blasts\n //PepBoyDataStorage STore more data on pep boy,\n};\n","/**\n * Bitnode multipliers influence the difficulty of different aspects of the game.\n * Each Bitnode has a different theme/strategy to achieving the end goal, so these multipliers will can help drive the\n * player toward the intended strategy. Unless they really want to play the long, slow game of waiting...\n */\ninterface IBitNodeMultipliers {\n /**\n * Influences how quickly the player's agility level (not exp) scales\n */\n AgilityLevelMultiplier: number;\n\n /**\n * Influences the base cost to purchase an augmentation.\n */\n AugmentationMoneyCost: number;\n\n /**\n * Influences the base rep the player must have with a faction to purchase an augmentation.\n */\n AugmentationRepCost: number;\n\n /**\n * Influences how quickly the player can gain rank within Bladeburner.\n */\n BladeburnerRank: number;\n\n /**\n * Influences the cost of skill levels from Bladeburner.\n */\n BladeburnerSkillCost: number;\n\n /**\n * Influences how quickly the player's charisma level (not exp) scales\n */\n CharismaLevelMultiplier: number;\n\n /**\n * Influences the experience gained for each ability when a player completes a class.\n */\n ClassGymExpGain: number;\n\n /**\n * Influences the amount of money gained from completing Coding Contracts\n **/\n CodingContractMoney: number;\n\n /**\n * Influences the experience gained for each ability when the player completes working their job.\n */\n CompanyWorkExpGain: number;\n\n /**\n * Influences how much money the player earns when completing working their job.\n */\n CompanyWorkMoney: number;\n\n /**\n * Influences the valuation of corporations created by the player.\n */\n CorporationValuation: number;\n\n /**\n * Influences the base experience gained for each ability when the player commits a crime.\n */\n CrimeExpGain: number;\n\n /**\n * Influences the base money gained when the player commits a crime.\n */\n CrimeMoney: number;\n\n /**\n * Influences how many Augmentations you need in order to get invited to the Daedalus faction\n */\n DaedalusAugsRequirement: number;\n\n /**\n * Influences how quickly the player's defense level (not exp) scales\n */\n DefenseLevelMultiplier: number;\n\n /**\n * Influences how quickly the player's dexterity level (not exp) scales\n */\n DexterityLevelMultiplier: number;\n\n /**\n * Influences how much rep the player gains in each faction simply by being a member.\n */\n FactionPassiveRepGain: number;\n\n /**\n * Influences the experience gained for each ability when the player completes work for a Faction.\n */\n FactionWorkExpGain: number;\n\n /**\n * Influences how much rep the player gains when performing work for a faction.\n */\n FactionWorkRepGain: number;\n\n /**\n * Influences how much it costs to unlock the stock market's 4S Market Data API\n */\n FourSigmaMarketDataApiCost: number;\n\n /**\n * Influences how much it costs to unlock the stock market's 4S Market Data (NOT API)\n */\n FourSigmaMarketDataCost: number;\n\n /**\n * Influences how much negative karma is required to create a gang in this bitnode.\n */\n GangKarmaRequirement: number;\n\n /**\n * Influences the experienced gained when hacking a server.\n */\n HackExpGain: number;\n\n /**\n * Influences how quickly the player's hacking level (not experience) scales\n */\n HackingLevelMultiplier: number;\n\n /**\n * Influences how much money is produced by Hacknet Nodes.\n * Influeces the hash rate of Hacknet Servers (unlocked in BitNode-9)\n */\n HacknetNodeMoney: number;\n\n /**\n * Influences how much money it costs to upgrade your home computer's RAM\n */\n HomeComputerRamCost: number;\n\n /**\n * Influences how much money is gained when the player infiltrates a company.\n */\n InfiltrationMoney: number;\n\n /**\n * Influences how much rep the player can gain from factions when selling stolen documents and secrets\n */\n InfiltrationRep: number;\n\n /**\n * Influences how much money can be stolen from a server when the player performs a hack against it through\n * the Terminal.\n */\n ManualHackMoney: number;\n\n /**\n * Influence how much it costs to purchase a server\n */\n PurchasedServerCost: number;\n\n /**\n * Influences the maximum number of purchased servers you can have\n */\n PurchasedServerLimit: number;\n\n /**\n * Influences the maximum allowed RAM for a purchased server\n */\n PurchasedServerMaxRam: number;\n /**\n * Influences the minimum favor the player must have with a faction before they can donate to gain rep.\n */\n RepToDonateToFaction: number;\n\n /**\n * Influences how much money can be stolen from a server when a script performs a hack against it.\n */\n ScriptHackMoney: number;\n\n /**\n * The amount of money actually gained when script hack a server. This is\n * different than the above because you can reduce the amount of money but\n * not gain that same amount.\n */\n ScriptHackMoneyGain: number;\n\n /**\n * Influences the growth percentage per cycle against a server.\n */\n ServerGrowthRate: number;\n\n /**\n * Influences the maxmimum money that a server can grow to.\n */\n ServerMaxMoney: number;\n\n /**\n * Influences the initial money that a server starts with.\n */\n ServerStartingMoney: number;\n\n /**\n * Influences the initial security level (hackDifficulty) of a server.\n */\n ServerStartingSecurity: number;\n\n /**\n * Influences the weaken amount per invocation against a server.\n */\n ServerWeakenRate: number;\n\n /**\n * Influences how quickly the player's strength level (not exp) scales\n */\n StrengthLevelMultiplier: number;\n\n // Index signature\n [key: string]: number;\n}\n\n/**\n * The multipliers that are influenced by current Bitnode progression.\n */\n// tslint:disable-next-line:variable-name\nexport const BitNodeMultipliers: IBitNodeMultipliers = {\n HackingLevelMultiplier: 1,\n StrengthLevelMultiplier: 1,\n DefenseLevelMultiplier: 1,\n DexterityLevelMultiplier: 1,\n AgilityLevelMultiplier: 1,\n CharismaLevelMultiplier: 1,\n\n ServerGrowthRate: 1,\n ServerMaxMoney: 1,\n ServerStartingMoney: 1,\n ServerStartingSecurity: 1,\n ServerWeakenRate: 1,\n\n HomeComputerRamCost: 1,\n\n PurchasedServerCost: 1,\n PurchasedServerLimit: 1,\n PurchasedServerMaxRam: 1,\n\n CompanyWorkMoney: 1,\n CrimeMoney: 1,\n HacknetNodeMoney: 1,\n ManualHackMoney: 1,\n ScriptHackMoney: 1,\n ScriptHackMoneyGain: 1,\n CodingContractMoney: 1,\n\n ClassGymExpGain: 1,\n CompanyWorkExpGain: 1,\n CrimeExpGain: 1,\n FactionWorkExpGain: 1,\n HackExpGain: 1,\n\n FactionPassiveRepGain: 1,\n FactionWorkRepGain: 1,\n RepToDonateToFaction: 1,\n\n AugmentationMoneyCost: 1,\n AugmentationRepCost: 1,\n\n InfiltrationMoney: 1,\n InfiltrationRep: 1,\n\n FourSigmaMarketDataCost: 1,\n FourSigmaMarketDataApiCost: 1,\n\n CorporationValuation: 1,\n\n BladeburnerRank: 1,\n BladeburnerSkillCost: 1,\n\n DaedalusAugsRequirement: 1,\n GangKarmaRequirement: 1,\n};\n","/**\n * Names of all locations\n */\nexport enum LocationName {\n // Cities\n Aevum = \"Aevum\",\n Chongqing = \"Chongqing\",\n Ishima = \"Ishima\",\n NewTokyo = \"New Tokyo\",\n Sector12 = \"Sector-12\",\n Volhaven = \"Volhaven\",\n\n // Aevum Locations\n AevumAeroCorp = \"AeroCorp\",\n AevumBachmanAndAssociates = \"Bachman & Associates\",\n AevumClarkeIncorporated = \"Clarke Incorporated\",\n AevumCrushFitnessGym = \"Crush Fitness Gym\",\n AevumECorp = \"ECorp\",\n AevumFulcrumTechnologies = \"Fulcrum Technologies\",\n AevumGalacticCybersystems = \"Galactic Cybersystems\",\n AevumNetLinkTechnologies = \"NetLink Technologies\",\n AevumPolice = \"Aevum Police Headquarters\",\n AevumRhoConstruction = \"Rho Construction\",\n AevumSnapFitnessGym = \"Snap Fitness Gym\",\n AevumSummitUniversity = \"Summit University\",\n AevumWatchdogSecurity = \"Watchdog Security\",\n AevumCasino = \"Iker Molina Casino\",\n\n // Chongqing locations\n ChongqingKuaiGongInternational = \"KuaiGong International\",\n ChongqingSolarisSpaceSystems = \"Solaris Space Systems\",\n\n // Sector 12\n Sector12AlphaEnterprises = \"Alpha Enterprises\",\n Sector12BladeIndustries = \"Blade Industries\",\n Sector12CIA = \"Central Intelligence Agency\",\n Sector12CarmichaelSecurity = \"Carmichael Security\",\n Sector12CityHall = \"Sector-12 City Hall\",\n Sector12DeltaOne = \"DeltaOne\",\n Sector12FoodNStuff = \"FoodNStuff\",\n Sector12FourSigma = \"Four Sigma\",\n Sector12IcarusMicrosystems = \"Icarus Microsystems\",\n Sector12IronGym = \"Iron Gym\",\n Sector12JoesGuns = \"Joe's Guns\",\n Sector12MegaCorp = \"MegaCorp\",\n Sector12NSA = \"National Security Agency\",\n Sector12PowerhouseGym = \"Powerhouse Gym\",\n Sector12RothmanUniversity = \"Rothman University\",\n Sector12UniversalEnergy = \"Universal Energy\",\n\n // New Tokyo\n NewTokyoDefComm = \"DefComm\",\n NewTokyoGlobalPharmaceuticals = \"Global Pharmaceuticals\",\n NewTokyoNoodleBar = \"Noodle Bar\",\n NewTokyoVitaLife = \"VitaLife\",\n\n // Ishima\n IshimaNovaMedical = \"Nova Medical\",\n IshimaOmegaSoftware = \"Omega Software\",\n IshimaStormTechnologies = \"Storm Technologies\",\n\n // Volhaven\n VolhavenCompuTek = \"CompuTek\",\n VolhavenHeliosLabs = \"Helios Labs\",\n VolhavenLexoCorp = \"LexoCorp\",\n VolhavenMilleniumFitnessGym = \"Millenium Fitness Gym\",\n VolhavenNWO = \"NWO\",\n VolhavenOmniTekIncorporated = \"OmniTek Incorporated\",\n VolhavenOmniaCybersystems = \"Omnia Cybersystems\",\n VolhavenSysCoreSecurities = \"SysCore Securities\",\n VolhavenZBInstituteOfTechnology = \"ZB Institute of Technology\",\n\n // Generic locations\n Hospital = \"Hospital\",\n Slums = \"The Slums\",\n TravelAgency = \"Travel Agency\",\n WorldStockExchange = \"World Stock Exchange\",\n\n // Default name for Location objects\n Void = \"The Void\",\n}\n","import { IMap } from \"../types\";\n\n// TODO remember to update RamCalculations.js and WorkerScript.js\n\n// RAM costs for Netscript functions\nexport const RamCostConstants: IMap = {\n ScriptBaseRamCost: 1.6,\n ScriptDomRamCost: 25,\n ScriptHackRamCost: 0.1,\n ScriptHackAnalyzeRamCost: 1,\n ScriptGrowRamCost: 0.15,\n ScriptGrowthAnalyzeRamCost: 1,\n ScriptWeakenRamCost: 0.15,\n ScriptScanRamCost: 0.2,\n ScriptPortProgramRamCost: 0.05,\n ScriptRunRamCost: 1.0,\n ScriptExecRamCost: 1.3,\n ScriptSpawnRamCost: 2.0,\n ScriptScpRamCost: 0.6,\n ScriptKillRamCost: 0.5,\n ScriptHasRootAccessRamCost: 0.05,\n ScriptGetHostnameRamCost: 0.05,\n ScriptGetHackingLevelRamCost: 0.05,\n ScriptGetMultipliersRamCost: 4.0,\n ScriptGetServerRamCost: 0.1,\n ScriptGetServerMaxRam: 0.05,\n ScriptGetServerUsedRam: 0.05,\n ScriptFileExistsRamCost: 0.1,\n ScriptIsRunningRamCost: 0.1,\n ScriptHacknetNodesRamCost: 4.0,\n ScriptHNUpgLevelRamCost: 0.4,\n ScriptHNUpgRamRamCost: 0.6,\n ScriptHNUpgCoreRamCost: 0.8,\n ScriptGetStockRamCost: 2.0,\n ScriptBuySellStockRamCost: 2.5,\n ScriptGetPurchaseServerRamCost: 0.25,\n ScriptPurchaseServerRamCost: 2.25,\n ScriptGetPurchasedServerLimit: 0.05,\n ScriptGetPurchasedServerMaxRam: 0.05,\n ScriptRoundRamCost: 0.05,\n ScriptReadWriteRamCost: 1.0,\n ScriptArbScriptRamCost: 1.0,\n ScriptGetScriptRamCost: 0.1,\n ScriptGetRunningScriptRamCost: 0.3,\n ScriptGetHackTimeRamCost: 0.05,\n ScriptGetFavorToDonate: 0.1,\n ScriptCodingContractBaseRamCost: 10,\n ScriptSleeveBaseRamCost: 4,\n\n ScriptSingularityFn1RamCost: 2,\n ScriptSingularityFn2RamCost: 3,\n ScriptSingularityFn3RamCost: 5,\n\n ScriptGangApiBaseRamCost: 4,\n\n ScriptBladeburnerApiBaseRamCost: 4,\n};\n\nexport const RamCosts: IMap = {\n hacknet: {\n numNodes: () => 0,\n purchaseNode: () => 0,\n getPurchaseNodeCost: () => 0,\n getNodeStats: () => 0,\n upgradeLevel: () => 0,\n upgradeRam: () => 0,\n upgradeCore: () => 0,\n upgradeCache: () => 0,\n getLevelUpgradeCost: () => 0,\n getRamUpgradeCost: () => 0,\n getCoreUpgradeCost: () => 0,\n getCacheUpgradeCost: () => 0,\n numHashes: () => 0,\n hashCost: () => 0,\n spendHashes: () => 0,\n },\n sprintf: () => 0,\n vsprintf: () => 0,\n scan: () => RamCostConstants.ScriptScanRamCost,\n hack: () => RamCostConstants.ScriptHackRamCost,\n hackAnalyzeThreads: () => RamCostConstants.ScriptHackAnalyzeRamCost,\n hackAnalyzePercent: () => RamCostConstants.ScriptHackAnalyzeRamCost,\n hackChance: () => RamCostConstants.ScriptHackAnalyzeRamCost,\n sleep: () => 0,\n grow: () => RamCostConstants.ScriptGrowRamCost,\n growthAnalyze: () => RamCostConstants.ScriptGrowthAnalyzeRamCost,\n weaken: () => RamCostConstants.ScriptWeakenRamCost,\n print: () => 0,\n tprint: () => 0,\n clearLog: () => 0,\n disableLog: () => 0,\n enableLog: () => 0,\n isLogEnabled: () => 0,\n getScriptLogs: () => 0,\n nuke: () => RamCostConstants.ScriptPortProgramRamCost,\n brutessh: () => RamCostConstants.ScriptPortProgramRamCost,\n ftpcrack: () => RamCostConstants.ScriptPortProgramRamCost,\n relaysmtp: () => RamCostConstants.ScriptPortProgramRamCost,\n httpworm: () => RamCostConstants.ScriptPortProgramRamCost,\n sqlinject: () => RamCostConstants.ScriptPortProgramRamCost,\n run: () => RamCostConstants.ScriptRunRamCost,\n exec: () => RamCostConstants.ScriptExecRamCost,\n spawn: () => RamCostConstants.ScriptSpawnRamCost,\n kill: () => RamCostConstants.ScriptKillRamCost,\n killall: () => RamCostConstants.ScriptKillRamCost,\n exit: () => 0,\n scp: () => RamCostConstants.ScriptScpRamCost,\n ls: () => RamCostConstants.ScriptScanRamCost,\n ps: () => RamCostConstants.ScriptScanRamCost,\n hasRootAccess: () => RamCostConstants.ScriptHasRootAccessRamCost,\n getIp: () => RamCostConstants.ScriptGetHostnameRamCost,\n getHostname: () => RamCostConstants.ScriptGetHostnameRamCost,\n getHackingLevel: () => RamCostConstants.ScriptGetHackingLevelRamCost,\n getHackingMultipliers: () => RamCostConstants.ScriptGetMultipliersRamCost,\n getHacknetMultipliers: () => RamCostConstants.ScriptGetMultipliersRamCost,\n getBitNodeMultipliers: () => RamCostConstants.ScriptGetMultipliersRamCost,\n getServer: () => RamCostConstants.ScriptGetMultipliersRamCost / 2,\n getServerMoneyAvailable: () => RamCostConstants.ScriptGetServerRamCost,\n getServerSecurityLevel: () => RamCostConstants.ScriptGetServerRamCost,\n getServerBaseSecurityLevel: () => RamCostConstants.ScriptGetServerRamCost,\n getServerMinSecurityLevel: () => RamCostConstants.ScriptGetServerRamCost,\n getServerRequiredHackingLevel: () => RamCostConstants.ScriptGetServerRamCost,\n getServerMaxMoney: () => RamCostConstants.ScriptGetServerRamCost,\n getServerGrowth: () => RamCostConstants.ScriptGetServerRamCost,\n getServerNumPortsRequired: () => RamCostConstants.ScriptGetServerRamCost,\n getServerRam: () => RamCostConstants.ScriptGetServerRamCost,\n getServerMaxRam: () => RamCostConstants.ScriptGetServerMaxRam,\n getServerUsedRam: () => RamCostConstants.ScriptGetServerUsedRam,\n serverExists: () => RamCostConstants.ScriptGetServerRamCost,\n fileExists: () => RamCostConstants.ScriptFileExistsRamCost,\n isRunning: () => RamCostConstants.ScriptIsRunningRamCost,\n getStockSymbols: () => RamCostConstants.ScriptGetStockRamCost,\n getStockPrice: () => RamCostConstants.ScriptGetStockRamCost,\n getStockAskPrice: () => RamCostConstants.ScriptGetStockRamCost,\n getStockBidPrice: () => RamCostConstants.ScriptGetStockRamCost,\n getStockPosition: () => RamCostConstants.ScriptGetStockRamCost,\n getStockMaxShares: () => RamCostConstants.ScriptGetStockRamCost,\n getStockPurchaseCost: () => RamCostConstants.ScriptGetStockRamCost,\n getStockSaleGain: () => RamCostConstants.ScriptGetStockRamCost,\n buyStock: () => RamCostConstants.ScriptBuySellStockRamCost,\n sellStock: () => RamCostConstants.ScriptBuySellStockRamCost,\n shortStock: () => RamCostConstants.ScriptBuySellStockRamCost,\n sellShort: () => RamCostConstants.ScriptBuySellStockRamCost,\n placeOrder: () => RamCostConstants.ScriptBuySellStockRamCost,\n cancelOrder: () => RamCostConstants.ScriptBuySellStockRamCost,\n getOrders: () => RamCostConstants.ScriptBuySellStockRamCost,\n getStockVolatility: () => RamCostConstants.ScriptBuySellStockRamCost,\n getStockForecast: () => RamCostConstants.ScriptBuySellStockRamCost,\n purchase4SMarketData: () => RamCostConstants.ScriptBuySellStockRamCost,\n purchase4SMarketDataTixApi: () => RamCostConstants.ScriptBuySellStockRamCost,\n getPurchasedServerLimit: () => RamCostConstants.ScriptGetPurchasedServerLimit,\n getPurchasedServerMaxRam: () => RamCostConstants.ScriptGetPurchasedServerMaxRam,\n getPurchasedServerCost: () => RamCostConstants.ScriptGetPurchaseServerRamCost,\n purchaseServer: () => RamCostConstants.ScriptPurchaseServerRamCost,\n deleteServer: () => RamCostConstants.ScriptPurchaseServerRamCost,\n getPurchasedServers: () => RamCostConstants.ScriptPurchaseServerRamCost,\n write: () => RamCostConstants.ScriptReadWriteRamCost,\n tryWrite: () => RamCostConstants.ScriptReadWriteRamCost,\n read: () => RamCostConstants.ScriptReadWriteRamCost,\n peek: () => RamCostConstants.ScriptReadWriteRamCost,\n clear: () => RamCostConstants.ScriptReadWriteRamCost,\n getPortHandle: () => RamCostConstants.ScriptReadWriteRamCost * 10,\n rm: () => RamCostConstants.ScriptReadWriteRamCost,\n scriptRunning: () => RamCostConstants.ScriptArbScriptRamCost,\n scriptKill: () => RamCostConstants.ScriptArbScriptRamCost,\n getScriptName: () => 0,\n getScriptRam: () => RamCostConstants.ScriptGetScriptRamCost,\n getHackTime: () => RamCostConstants.ScriptGetHackTimeRamCost,\n getGrowTime: () => RamCostConstants.ScriptGetHackTimeRamCost,\n getWeakenTime: () => RamCostConstants.ScriptGetHackTimeRamCost,\n getScriptIncome: () => RamCostConstants.ScriptGetScriptRamCost,\n getScriptExpGain: () => RamCostConstants.ScriptGetScriptRamCost,\n getRunningScript: () => RamCostConstants.ScriptGetRunningScriptRamCost,\n nFormat: () => 0,\n getTimeSinceLastAug: () => RamCostConstants.ScriptGetHackTimeRamCost,\n prompt: () => 0,\n wget: () => 0,\n getFavorToDonate: () => RamCostConstants.ScriptGetFavorToDonate,\n\n // Singularity Functions\n universityCourse: () => RamCostConstants.ScriptSingularityFn1RamCost,\n gymWorkout: () => RamCostConstants.ScriptSingularityFn1RamCost,\n travelToCity: () => RamCostConstants.ScriptSingularityFn1RamCost,\n purchaseTor: () => RamCostConstants.ScriptSingularityFn1RamCost,\n purchaseProgram: () => RamCostConstants.ScriptSingularityFn1RamCost,\n getCurrentServer: () => RamCostConstants.ScriptSingularityFn1RamCost,\n connect: () => RamCostConstants.ScriptSingularityFn1RamCost,\n manualHack: () => RamCostConstants.ScriptSingularityFn1RamCost,\n installBackdoor: () => RamCostConstants.ScriptSingularityFn1RamCost,\n getStats: () => RamCostConstants.ScriptSingularityFn1RamCost / 4,\n getCharacterInformation: () => RamCostConstants.ScriptSingularityFn1RamCost / 4,\n getPlayer: () => RamCostConstants.ScriptSingularityFn1RamCost / 4,\n hospitalize: () => RamCostConstants.ScriptSingularityFn1RamCost / 4,\n isBusy: () => RamCostConstants.ScriptSingularityFn1RamCost / 4,\n stopAction: () => RamCostConstants.ScriptSingularityFn1RamCost / 2,\n upgradeHomeRam: () => RamCostConstants.ScriptSingularityFn2RamCost,\n getUpgradeHomeRamCost: () => RamCostConstants.ScriptSingularityFn2RamCost / 2,\n workForCompany: () => RamCostConstants.ScriptSingularityFn2RamCost,\n applyToCompany: () => RamCostConstants.ScriptSingularityFn2RamCost,\n getCompanyRep: () => RamCostConstants.ScriptSingularityFn2RamCost / 3,\n getCompanyFavor: () => RamCostConstants.ScriptSingularityFn2RamCost / 3,\n getCompanyFavorGain: () => RamCostConstants.ScriptSingularityFn2RamCost / 4,\n checkFactionInvitations: () => RamCostConstants.ScriptSingularityFn2RamCost,\n joinFaction: () => RamCostConstants.ScriptSingularityFn2RamCost,\n workForFaction: () => RamCostConstants.ScriptSingularityFn2RamCost,\n getFactionRep: () => RamCostConstants.ScriptSingularityFn2RamCost / 3,\n getFactionFavor: () => RamCostConstants.ScriptSingularityFn2RamCost / 3,\n getFactionFavorGain: () => RamCostConstants.ScriptSingularityFn2RamCost / 4,\n donateToFaction: () => RamCostConstants.ScriptSingularityFn3RamCost,\n createProgram: () => RamCostConstants.ScriptSingularityFn3RamCost,\n commitCrime: () => RamCostConstants.ScriptSingularityFn3RamCost,\n getCrimeChance: () => RamCostConstants.ScriptSingularityFn3RamCost,\n getCrimeStats: () => RamCostConstants.ScriptSingularityFn3RamCost,\n getOwnedAugmentations: () => RamCostConstants.ScriptSingularityFn3RamCost,\n getOwnedSourceFiles: () => RamCostConstants.ScriptSingularityFn3RamCost,\n getAugmentationsFromFaction: () => RamCostConstants.ScriptSingularityFn3RamCost,\n getAugmentationCost: () => RamCostConstants.ScriptSingularityFn3RamCost,\n getAugmentationPrereq: () => RamCostConstants.ScriptSingularityFn3RamCost,\n getAugmentationPrice: () => RamCostConstants.ScriptSingularityFn3RamCost / 2,\n getAugmentationRepReq: () => RamCostConstants.ScriptSingularityFn3RamCost / 2,\n getAugmentationStats: () => RamCostConstants.ScriptSingularityFn3RamCost,\n purchaseAugmentation: () => RamCostConstants.ScriptSingularityFn3RamCost,\n softReset: () => RamCostConstants.ScriptSingularityFn3RamCost,\n installAugmentations: () => RamCostConstants.ScriptSingularityFn3RamCost,\n\n // Gang API\n gang: {\n createGang: () => RamCostConstants.ScriptGangApiBaseRamCost / 4,\n inGang: () => RamCostConstants.ScriptGangApiBaseRamCost / 4,\n getMemberNames: () => RamCostConstants.ScriptGangApiBaseRamCost / 4,\n getGangInformation: () => RamCostConstants.ScriptGangApiBaseRamCost / 2,\n getOtherGangInformation: () => RamCostConstants.ScriptGangApiBaseRamCost / 2,\n getMemberInformation: () => RamCostConstants.ScriptGangApiBaseRamCost / 2,\n canRecruitMember: () => RamCostConstants.ScriptGangApiBaseRamCost / 4,\n recruitMember: () => RamCostConstants.ScriptGangApiBaseRamCost / 2,\n getTaskNames: () => RamCostConstants.ScriptGangApiBaseRamCost / 4,\n getTaskStats: () => RamCostConstants.ScriptGangApiBaseRamCost / 4,\n setMemberTask: () => RamCostConstants.ScriptGangApiBaseRamCost / 2,\n getEquipmentNames: () => RamCostConstants.ScriptGangApiBaseRamCost / 4,\n getEquipmentCost: () => RamCostConstants.ScriptGangApiBaseRamCost / 2,\n getEquipmentType: () => RamCostConstants.ScriptGangApiBaseRamCost / 2,\n getEquipmentStats: () => RamCostConstants.ScriptGangApiBaseRamCost / 2,\n purchaseEquipment: () => RamCostConstants.ScriptGangApiBaseRamCost,\n ascendMember: () => RamCostConstants.ScriptGangApiBaseRamCost,\n setTerritoryWarfare: () => RamCostConstants.ScriptGangApiBaseRamCost / 2,\n getChanceToWinClash: () => RamCostConstants.ScriptGangApiBaseRamCost,\n getBonusTime: () => 0,\n },\n\n // Bladeburner API\n bladeburner: {\n getContractNames: () => RamCostConstants.ScriptBladeburnerApiBaseRamCost / 10,\n getOperationNames: () => RamCostConstants.ScriptBladeburnerApiBaseRamCost / 10,\n getBlackOpNames: () => RamCostConstants.ScriptBladeburnerApiBaseRamCost / 10,\n getBlackOpRank: () => RamCostConstants.ScriptBladeburnerApiBaseRamCost / 2,\n getGeneralActionNames: () => RamCostConstants.ScriptBladeburnerApiBaseRamCost / 10,\n getSkillNames: () => RamCostConstants.ScriptBladeburnerApiBaseRamCost / 10,\n startAction: () => RamCostConstants.ScriptBladeburnerApiBaseRamCost,\n stopBladeburnerAction: () => RamCostConstants.ScriptBladeburnerApiBaseRamCost / 2,\n getCurrentAction: () => RamCostConstants.ScriptBladeburnerApiBaseRamCost / 4,\n getActionTime: () => RamCostConstants.ScriptBladeburnerApiBaseRamCost,\n getActionEstimatedSuccessChance: () => RamCostConstants.ScriptBladeburnerApiBaseRamCost,\n getActionRepGain: () => RamCostConstants.ScriptBladeburnerApiBaseRamCost,\n getActionCountRemaining: () => RamCostConstants.ScriptBladeburnerApiBaseRamCost,\n getActionMaxLevel: () => RamCostConstants.ScriptBladeburnerApiBaseRamCost,\n getActionCurrentLevel: () => RamCostConstants.ScriptBladeburnerApiBaseRamCost,\n getActionAutolevel: () => RamCostConstants.ScriptBladeburnerApiBaseRamCost,\n setActionAutolevel: () => RamCostConstants.ScriptBladeburnerApiBaseRamCost,\n setActionLevel: () => RamCostConstants.ScriptBladeburnerApiBaseRamCost,\n getRank: () => RamCostConstants.ScriptBladeburnerApiBaseRamCost,\n getSkillPoints: () => RamCostConstants.ScriptBladeburnerApiBaseRamCost,\n getSkillLevel: () => RamCostConstants.ScriptBladeburnerApiBaseRamCost,\n getSkillUpgradeCost: () => RamCostConstants.ScriptBladeburnerApiBaseRamCost,\n upgradeSkill: () => RamCostConstants.ScriptBladeburnerApiBaseRamCost,\n getTeamSize: () => RamCostConstants.ScriptBladeburnerApiBaseRamCost,\n setTeamSize: () => RamCostConstants.ScriptBladeburnerApiBaseRamCost,\n getCityEstimatedPopulation: () => RamCostConstants.ScriptBladeburnerApiBaseRamCost,\n getCityEstimatedCommunities: () => RamCostConstants.ScriptBladeburnerApiBaseRamCost,\n getCityChaos: () => RamCostConstants.ScriptBladeburnerApiBaseRamCost,\n getCity: () => RamCostConstants.ScriptBladeburnerApiBaseRamCost,\n switchCity: () => RamCostConstants.ScriptBladeburnerApiBaseRamCost,\n getStamina: () => RamCostConstants.ScriptBladeburnerApiBaseRamCost,\n joinBladeburnerFaction: () => RamCostConstants.ScriptBladeburnerApiBaseRamCost,\n joinBladeburnerDivision: () => RamCostConstants.ScriptBladeburnerApiBaseRamCost,\n getBonusTime: () => 0,\n },\n\n // Coding Contract API\n codingcontract: {\n attempt: () => RamCostConstants.ScriptCodingContractBaseRamCost,\n getContractType: () => RamCostConstants.ScriptCodingContractBaseRamCost / 2,\n getData: () => RamCostConstants.ScriptCodingContractBaseRamCost / 2,\n getDescription: () => RamCostConstants.ScriptCodingContractBaseRamCost / 2,\n getNumTriesRemaining: () => RamCostConstants.ScriptCodingContractBaseRamCost / 5,\n },\n\n // Duplicate Sleeve API\n sleeve: {\n getNumSleeves: () => RamCostConstants.ScriptSleeveBaseRamCost,\n setToShockRecovery: () => RamCostConstants.ScriptSleeveBaseRamCost,\n setToSynchronize: () => RamCostConstants.ScriptSleeveBaseRamCost,\n setToCommitCrime: () => RamCostConstants.ScriptSleeveBaseRamCost,\n setToUniversityCourse: () => RamCostConstants.ScriptSleeveBaseRamCost,\n travel: () => RamCostConstants.ScriptSleeveBaseRamCost,\n setToCompanyWork: () => RamCostConstants.ScriptSleeveBaseRamCost,\n setToFactionWork: () => RamCostConstants.ScriptSleeveBaseRamCost,\n setToGymWorkout: () => RamCostConstants.ScriptSleeveBaseRamCost,\n getSleeveStats: () => RamCostConstants.ScriptSleeveBaseRamCost,\n getTask: () => RamCostConstants.ScriptSleeveBaseRamCost,\n getInformation: () => RamCostConstants.ScriptSleeveBaseRamCost,\n getSleeveAugmentations: () => RamCostConstants.ScriptSleeveBaseRamCost,\n getSleevePurchasableAugs: () => RamCostConstants.ScriptSleeveBaseRamCost,\n purchaseSleeveAug: () => RamCostConstants.ScriptSleeveBaseRamCost,\n },\n\n heart: {\n // Easter egg function\n break: () => 0,\n },\n};\n\nexport function getRamCost(...args: string[]): number {\n if (args.length === 0) {\n console.warn(`No arguments passed to getRamCost()`);\n return 0;\n }\n\n let curr = RamCosts[args[0]];\n for (let i = 1; i < args.length; ++i) {\n if (curr == null) {\n console.warn(`Invalid function passed to getRamCost: ${args}`);\n return 0;\n }\n\n const currType = typeof curr;\n if (currType === \"function\" || currType === \"number\") {\n break;\n }\n\n curr = curr[args[i]];\n }\n\n const currType = typeof curr;\n if (currType === \"function\") {\n return curr();\n }\n\n if (currType === \"number\") {\n return curr;\n }\n\n console.warn(`Unexpected type (${currType}) for value [${args}]`);\n return 0;\n}\n","import { ISelfInitializer, ISelfLoading } from \"../types\";\nimport { OwnedAugmentationsOrderSetting, PurchaseAugmentationsOrderSetting } from \"./SettingEnums\";\n\n/**\n * Represents the default settings the player could customize.\n */\ninterface IDefaultSettings {\n /**\n * How many servers per page\n */\n ActiveScriptsServerPageSize: number;\n /**\n * How many scripts per page\n */\n ActiveScriptsScriptPageSize: number;\n /**\n * How often the game should autosave the player's progress, in seconds.\n */\n AutosaveInterval: number;\n\n /**\n * How many milliseconds between execution points for Netscript 1 statements.\n */\n CodeInstructionRunTime: number;\n\n /**\n * Render city as list of buttons.\n */\n DisableASCIIArt: boolean;\n\n /**\n * Whether global keyboard shortcuts should be recognized throughout the game.\n */\n DisableHotkeys: boolean;\n\n /**\n * Whether text effects such as corruption should be visible.\n */\n DisableTextEffects: boolean;\n\n /**\n * Enable bash hotkeys\n */\n EnableBashHotkeys: boolean;\n\n /**\n * Enable timestamps\n */\n EnableTimestamps: boolean;\n\n /**\n * Locale used for display numbers\n */\n Locale: string;\n\n /**\n * Limit the number of log entries for each script being executed on each server.\n */\n MaxLogCapacity: number;\n\n /**\n * Limit how many entries can be written to a Netscript Port before entries start to get pushed out.\n */\n MaxPortCapacity: number;\n\n /**\n * Limit the number of entries in the terminal.\n */\n MaxTerminalCapacity: number;\n\n /**\n * Whether the player should be asked to confirm purchasing each and every augmentation.\n */\n SuppressBuyAugmentationConfirmation: boolean;\n\n /**\n * Whether the user should be prompted to join each faction via a dialog box.\n */\n SuppressFactionInvites: boolean;\n\n /**\n * Whether to show a popup message when player is hospitalized from taking too much damage\n */\n SuppressHospitalizationPopup: boolean;\n\n /**\n * Whether the user should be shown a dialog box whenever they receive a new message file.\n */\n SuppressMessages: boolean;\n\n /**\n * Whether the user should be asked to confirm travelling between cities.\n */\n SuppressTravelConfirmation: boolean;\n\n /**\n * Whether the user should be displayed a popup message when his Bladeburner actions are cancelled.\n */\n SuppressBladeburnerPopup: boolean;\n\n /*\n * Theme colors\n */\n theme: {\n [key: string]: string | undefined;\n primarylight: string;\n primary: string;\n primarydark: string;\n errorlight: string;\n error: string;\n errordark: string;\n secondarylight: string;\n secondary: string;\n secondarydark: string;\n warninglight: string;\n warning: string;\n warningdark: string;\n infolight: string;\n info: string;\n infodark: string;\n welllight: string;\n well: string;\n white: string;\n black: string;\n hp: string;\n money: string;\n hack: string;\n combat: string;\n cha: string;\n int: string;\n rep: string;\n disabled: string;\n };\n}\n\n/**\n * Represents all possible settings the player wants to customize to their play style.\n */\ninterface ISettings extends IDefaultSettings {\n /**\n * What order the player's owned Augmentations/Source Files should be displayed in\n */\n OwnedAugmentationsOrder: OwnedAugmentationsOrderSetting;\n\n /**\n * What order the Augmentations should be displayed in when purchasing from a Faction\n */\n PurchaseAugmentationsOrder: PurchaseAugmentationsOrderSetting;\n\n MonacoTheme: string;\n\n MonacoInsertSpaces: boolean;\n}\n\nexport const defaultSettings: IDefaultSettings = {\n ActiveScriptsServerPageSize: 10,\n ActiveScriptsScriptPageSize: 10,\n AutosaveInterval: 60,\n CodeInstructionRunTime: 50,\n DisableASCIIArt: false,\n DisableHotkeys: false,\n DisableTextEffects: false,\n EnableBashHotkeys: false,\n EnableTimestamps: false,\n Locale: \"en\",\n MaxLogCapacity: 50,\n MaxPortCapacity: 50,\n MaxTerminalCapacity: 200,\n SuppressBuyAugmentationConfirmation: false,\n SuppressFactionInvites: false,\n SuppressHospitalizationPopup: false,\n SuppressMessages: false,\n SuppressTravelConfirmation: false,\n SuppressBladeburnerPopup: false,\n\n theme: {\n primarylight: \"#0f0\",\n primary: \"#0c0\",\n primarydark: \"#090\",\n errorlight: \"#f00\",\n error: \"#c00\",\n errordark: \"#900\",\n secondarylight: \"#AAA\",\n secondary: \"#888\",\n secondarydark: \"#666\",\n warninglight: \"#ff0\",\n warning: \"#cc0\",\n warningdark: \"#990\",\n infolight: \"#69f\",\n info: \"#36c\",\n infodark: \"#039\",\n welllight: \"#444\",\n well: \"#222\",\n white: \"#fff\",\n black: \"#000\",\n hp: \"#dd3434\",\n money: \"#ffd700\",\n hack: \"#adff2f\",\n combat: \"#faffdf\",\n cha: \"#a671d1\",\n int: \"#6495ed\",\n rep: \"#faffdf\",\n disabled: \"#66cfbc\",\n },\n};\n\n/**\n * The current options the player has customized to their play style.\n */\n// tslint:disable-next-line:variable-name\nexport const Settings: ISettings & ISelfInitializer & ISelfLoading = {\n ActiveScriptsServerPageSize: defaultSettings.ActiveScriptsServerPageSize,\n ActiveScriptsScriptPageSize: defaultSettings.ActiveScriptsScriptPageSize,\n AutosaveInterval: defaultSettings.AutosaveInterval,\n CodeInstructionRunTime: 25,\n DisableASCIIArt: defaultSettings.DisableASCIIArt,\n DisableHotkeys: defaultSettings.DisableHotkeys,\n DisableTextEffects: defaultSettings.DisableTextEffects,\n EnableBashHotkeys: defaultSettings.EnableBashHotkeys,\n EnableTimestamps: defaultSettings.EnableTimestamps,\n Locale: \"en\",\n MaxLogCapacity: defaultSettings.MaxLogCapacity,\n MaxPortCapacity: defaultSettings.MaxPortCapacity,\n MaxTerminalCapacity: defaultSettings.MaxTerminalCapacity,\n OwnedAugmentationsOrder: OwnedAugmentationsOrderSetting.AcquirementTime,\n PurchaseAugmentationsOrder: PurchaseAugmentationsOrderSetting.Default,\n SuppressBuyAugmentationConfirmation: defaultSettings.SuppressBuyAugmentationConfirmation,\n SuppressFactionInvites: defaultSettings.SuppressFactionInvites,\n SuppressHospitalizationPopup: defaultSettings.SuppressHospitalizationPopup,\n SuppressMessages: defaultSettings.SuppressMessages,\n SuppressTravelConfirmation: defaultSettings.SuppressTravelConfirmation,\n SuppressBladeburnerPopup: defaultSettings.SuppressBladeburnerPopup,\n MonacoTheme: \"vs-dark\",\n MonacoInsertSpaces: false,\n\n theme: {\n primarylight: defaultSettings.theme.primarylight,\n primary: defaultSettings.theme.primary,\n primarydark: defaultSettings.theme.primarydark,\n errorlight: defaultSettings.theme.errorlight,\n error: defaultSettings.theme.error,\n errordark: defaultSettings.theme.errordark,\n secondarylight: defaultSettings.theme.secondarylight,\n secondary: defaultSettings.theme.secondary,\n secondarydark: defaultSettings.theme.secondarydark,\n warninglight: defaultSettings.theme.warninglight,\n warning: defaultSettings.theme.warning,\n warningdark: defaultSettings.theme.warningdark,\n infolight: defaultSettings.theme.infolight,\n info: defaultSettings.theme.info,\n infodark: defaultSettings.theme.infodark,\n welllight: defaultSettings.theme.welllight,\n well: defaultSettings.theme.well,\n white: defaultSettings.theme.white,\n black: defaultSettings.theme.black,\n hp: defaultSettings.theme.hp,\n money: defaultSettings.theme.money,\n hack: defaultSettings.theme.hack,\n combat: defaultSettings.theme.combat,\n cha: defaultSettings.theme.cha,\n int: defaultSettings.theme.int,\n rep: defaultSettings.theme.rep,\n disabled: defaultSettings.theme.disabled,\n },\n init() {\n Object.assign(Settings, defaultSettings);\n },\n load(saveString: string) {\n Object.assign(Settings, JSON.parse(saveString));\n },\n};\n","import { AlertEvents } from \"./AlertManager\";\n\nimport React from \"react\";\n\nexport function dialogBoxCreate(txt: string | JSX.Element): void {\n if (typeof txt !== \"string\") {\n AlertEvents.emit(txt);\n } else {\n AlertEvents.emit();\n }\n}\n","import * as React from \"react\";\nimport { numeralWrapper } from \"../../ui/numeralFormat\";\nimport { IPlayer } from \"../../PersonObjects/IPlayer\";\nimport { Theme } from \"@mui/material/styles\";\nimport makeStyles from \"@mui/styles/makeStyles\";\nimport createStyles from \"@mui/styles/createStyles\";\n\nconst useStyles = makeStyles((theme: Theme) =>\n createStyles({\n unbuyable: {\n color: theme.palette.action.disabled,\n },\n money: {\n color: theme.colors.money,\n },\n }),\n);\n\ninterface IProps {\n money: number | string;\n player?: IPlayer;\n}\nexport function Money(props: IProps): React.ReactElement {\n const classes = useStyles();\n if (props.player !== undefined) {\n if (typeof props.money !== \"number\") throw new Error(\"if player if provided, money should be number, contact dev\");\n if (!props.player.canAfford(props.money))\n return {numeralWrapper.formatMoney(props.money)};\n }\n return (\n \n {typeof props.money === \"number\" ? numeralWrapper.formatMoney(props.money) : props.money}\n \n );\n}\n","import { Augmentation } from \"./Augmentation\";\nimport { IMap } from \"../types\";\n\nexport const Augmentations: IMap = {};\n","/* Generic Reviver, toJSON, and fromJSON functions used for saving and loading objects */\n\nexport interface IReviverValue {\n ctor: string;\n data: any;\n}\n\n// A generic \"smart reviver\" function.\n// Looks for object values with a `ctor` property and\n// a `data` property. If it finds them, and finds a matching\n// constructor that has a `fromJSON` property on it, it hands\n// off to that `fromJSON` fuunction, passing in the value.\nexport function Reviver(key: string, value: IReviverValue | null): any {\n if (value == null) {\n console.log(\"Reviver WRONGLY called with key: \" + key + \", and value: \" + value);\n return 0;\n }\n\n if (typeof value === \"object\" && typeof value.ctor === \"string\" && typeof value.data !== \"undefined\") {\n // Compatibility for version v0.43.1\n // TODO Remove this eventually\n if (value.ctor === \"AllServersMap\") {\n console.log(\"Converting AllServersMap for v0.43.1\");\n return value.data;\n }\n\n const ctor = Reviver.constructors[value.ctor];\n\n if (typeof ctor === \"function\" && typeof ctor.fromJSON === \"function\") {\n return ctor.fromJSON(value);\n }\n }\n return value;\n}\n\n// eslint-disable-next-line @typescript-eslint/no-namespace\nexport namespace Reviver {\n export const constructors: { [key: string]: any } = {};\n}\n\n// A generic \"toJSON\" function that creates the data expected\n// by Reviver.\n// `ctorName` The name of the constructor to use to revive it\n// `obj` The object being serialized\n// `keys` (Optional) Array of the properties to serialize,\n// if not given then all of the objects \"own\" properties\n// that don't have function values will be serialized.\n// (Note: If you list a property in `keys`, it will be serialized\n// regardless of whether it's an \"own\" property.)\n// Returns: The structure (which will then be turned into a string\n// as part of the JSON.stringify algorithm)\n// eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types\nexport function Generic_toJSON(ctorName: string, obj: any, keys?: string[]): IReviverValue {\n if (!keys) {\n keys = Object.keys(obj); // Only \"own\" properties are included\n }\n\n const data: any = {};\n for (let index = 0; index < keys.length; ++index) {\n const key = keys[index];\n data[key] = obj[key];\n }\n return { ctor: ctorName, data: data };\n}\n\n// A generic \"fromJSON\" function for use with Reviver: Just calls the\n// constructor function with no arguments, then applies all of the\n// key/value pairs from the raw data to the instance. Only useful for\n// constructors that can be reasonably called without arguments!\n// `ctor` The constructor to call\n// `data` The data to apply\n// Returns: The object\n// eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types\nexport function Generic_fromJSON(ctor: new () => T, data: any): T {\n const obj: any = new ctor();\n for (const name in data) {\n obj[name] = data[name];\n }\n return obj;\n}\n","import { EqualityFunc } from \"../types\";\nimport { isString } from \"./helpers/isString\";\n\n// Netburner String helper functions\n\n// Replaces the character at an index with a new character\nfunction replaceAt(base: string, index: number, character: string): string {\n return base.substr(0, index) + character + base.substr(index + character.length);\n}\n\n/*\nConverts a date representing time in milliseconds to a string with the format H hours M minutes and S seconds\ne.g. 10000 -> \"10 seconds\"\n 120000 -> \"2 minutes and 0 seconds\"\n*/\nfunction convertTimeMsToTimeElapsedString(time: number, showMilli = false): string {\n time = Math.floor(time);\n const millisecondsPerSecond = 1000;\n const secondPerMinute = 60;\n const minutesPerHours = 60;\n const secondPerHours: number = secondPerMinute * minutesPerHours;\n const hoursPerDays = 24;\n const secondPerDay: number = secondPerHours * hoursPerDays;\n\n // Convert ms to seconds, since we only have second-level precision\n const totalSeconds: number = Math.floor(time / millisecondsPerSecond);\n\n const days: number = Math.floor(totalSeconds / secondPerDay);\n const secTruncDays: number = totalSeconds % secondPerDay;\n\n const hours: number = Math.floor(secTruncDays / secondPerHours);\n const secTruncHours: number = secTruncDays % secondPerHours;\n\n const minutes: number = Math.floor(secTruncHours / secondPerMinute);\n const secTruncMinutes: number = secTruncHours % secondPerMinute;\n\n const milliTruncSec: string = (() => {\n let str = `${time % millisecondsPerSecond}`;\n while (str.length < 3) str = \"0\" + str;\n return str;\n })();\n\n const seconds: string = showMilli ? `${secTruncMinutes}.${milliTruncSec}` : `${secTruncMinutes}`;\n\n let res = \"\";\n if (days > 0) {\n res += `${days} days `;\n }\n if (hours > 0) {\n res += `${hours} hours `;\n }\n if (minutes > 0) {\n res += `${minutes} minutes `;\n }\n res += `${seconds} seconds`;\n\n return res;\n}\n\n// Finds the longest common starting substring in a set of strings\nfunction longestCommonStart(strings: string[]): string {\n if (!containsAllStrings(strings)) {\n return \"\";\n }\n if (strings.length === 0) {\n return \"\";\n }\n\n const A: string[] = strings.concat().sort();\n const a1: string = A[0];\n const a2: string = A[A.length - 1];\n const L: number = a1.length;\n let i = 0;\n const areEqualCaseInsensitive: EqualityFunc = (a: string, b: string) => a.toUpperCase() === b.toUpperCase();\n while (i < L && areEqualCaseInsensitive(a1.charAt(i), a2.charAt(i))) {\n i++;\n }\n\n return a1.substring(0, i);\n}\n\n// Returns whether an array contains entirely of string objects\nfunction containsAllStrings(arr: string[]): boolean {\n return arr.every(isString);\n}\n\n// Formats a number with commas and a specific number of decimal digits\nfunction formatNumber(num: number, numFractionDigits = 0): string {\n return num.toLocaleString(undefined, {\n maximumFractionDigits: numFractionDigits,\n minimumFractionDigits: numFractionDigits,\n });\n}\n\n// Checks if a string contains HTML elements\nfunction isHTML(str: string): boolean {\n const element: HTMLDivElement = document.createElement(\"div\");\n element.innerHTML = str;\n const c: NodeListOf = element.childNodes;\n for (let i: number = c.length - 1; i >= 0; i--) {\n if (c[i].nodeType === 1) {\n return true;\n }\n }\n\n return false;\n}\n\n// Generates a random alphanumeric string with N characters\nfunction generateRandomString(n: number): string {\n let str = \"\";\n const chars = \"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789\";\n\n for (let i = 0; i < n; i++) {\n str += chars.charAt(Math.floor(Math.random() * chars.length));\n }\n\n return str;\n}\n\nexport {\n convertTimeMsToTimeElapsedString,\n longestCommonStart,\n containsAllStrings,\n formatNumber,\n isHTML,\n generateRandomString,\n replaceAt,\n};\n","/**\n * All possible Cities in the game. Names only, not actual \"City\" object\n * Implemented as an enum for typing purposes\n */\nexport enum CityName {\n Aevum = \"Aevum\",\n Chongqing = \"Chongqing\",\n Ishima = \"Ishima\",\n NewTokyo = \"New Tokyo\",\n Sector12 = \"Sector-12\",\n Volhaven = \"Volhaven\",\n}\n","/**\n * Initialization and manipulation of the Factions object, which stores data\n * about all Factions in the game\n */\nimport { Faction } from \"./Faction\";\nimport { FactionInfos } from \"./FactionInfo\";\n\nimport { IMap } from \"../types\";\n\nimport { Reviver } from \"../utils/JSONReviver\";\n\nexport let Factions: IMap = {};\n\nexport function loadFactions(saveString: string): void {\n Factions = JSON.parse(saveString, Reviver);\n // safety check for when we load older save file that don't have newer factions\n for (const faction of Object.keys(Factions)) {\n try {\n Factions[faction].getInfo();\n } catch (err) {\n console.error(\"deleting \" + faction);\n delete Factions[faction];\n }\n }\n}\n\nexport function AddToFactions(faction: Faction): void {\n const name: string = faction.name;\n Factions[name] = faction;\n}\n\nexport function factionExists(name: string): boolean {\n return Factions.hasOwnProperty(name);\n}\n\nexport function initFactions(): void {\n for (const name in FactionInfos) {\n resetFaction(new Faction(name));\n }\n}\n\n//Resets a faction during (re-)initialization. Saves the favor in the new\n//Faction object and deletes the old Faction Object from \"Factions\". Then\n//reinserts the new Faction object\nexport function resetFaction(newFactionObject: Faction): void {\n if (!(newFactionObject instanceof Faction)) {\n throw new Error(\"Invalid argument 'newFactionObject' passed into resetFaction()\");\n }\n const factionName: string = newFactionObject.name;\n if (factionExists(factionName)) {\n newFactionObject.favor = Factions[factionName].favor;\n delete Factions[factionName];\n }\n AddToFactions(newFactionObject);\n}\n","// Defs for job titles, stored in arrays and categorized by job \"type\"\n\nexport const SoftwareCompanyPositions: string[] = [\n \"Software Engineering Intern\",\n \"Junior Software Engineer\",\n \"Senior Software Engineer\",\n \"Lead Software Developer\",\n \"Head of Software\",\n \"Head of Engineering\",\n \"Vice President of Technology\",\n \"Chief Technology Officer\",\n];\n\nexport const ITCompanyPositions: string[] = [\"IT Intern\", \"IT Analyst\", \"IT Manager\", \"Systems Administrator\"];\n\nexport const SecurityEngineerCompanyPositions: string[] = [\"Security Engineer\"];\n\nexport const NetworkEngineerCompanyPositions: string[] = [\"Network Engineer\", \"Network Administrator\"];\n\nexport const BusinessCompanyPositions: string[] = [\n \"Business Intern\",\n \"Business Analyst\",\n \"Business Manager\",\n \"Operations Manager\",\n \"Chief Financial Officer\",\n \"Chief Executive Officer\",\n];\n\nexport const SecurityCompanyPositions: string[] = [\n \"Police Officer\",\n \"Police Chief\",\n \"Security Guard\",\n \"Security Officer\",\n \"Security Supervisor\",\n \"Head of Security\",\n];\n\nexport const AgentCompanyPositions: string[] = [\"Field Agent\", \"Secret Agent\", \"Special Operative\"];\n\nexport const MiscCompanyPositions: string[] = [\"Waiter\", \"Employee\"];\n\nexport const SoftwareConsultantCompanyPositions: string[] = [\"Software Consultant\", \"Senior Software Consultant\"];\n\nexport const BusinessConsultantCompanyPositions: string[] = [\"Business Consultant\", \"Senior Business Consultant\"];\n\nexport const PartTimeCompanyPositions: string[] = [\"Part-time Waiter\", \"Part-time Employee\"];\n","import React, { useContext } from \"react\";\nimport { IPlayer } from \"../PersonObjects/IPlayer\";\nimport { IRouter } from \"./Router\";\n\nexport const Context: {\n Player: React.Context;\n Router: React.Context;\n} = {\n Player: React.createContext({} as IPlayer),\n Router: React.createContext({} as IRouter),\n};\n\nexport const use: {\n Player: () => IPlayer;\n Router: () => IRouter;\n} = {\n Player: () => useContext(Context.Player),\n Router: () => useContext(Context.Router),\n};\n","/**\n * Gets a random integer bounded by the values passed in.\n * @param min The minimum value in the range.\n * @param max The maximum value in the range.\n */\nexport function getRandomInt(min: number, max: number): number {\n const lower: number = Math.min(min, max);\n const upper: number = Math.max(min, max);\n\n return Math.floor(Math.random() * (upper - lower + 1)) + lower;\n}\n","import { Faction } from \"../Faction/Faction\";\nimport { Location } from \"../Locations/Location\";\n\n/**\n * The full-screen page the player is currently be on.\n * These pages are mutually exclusive.\n */\nexport enum Page {\n ActiveScripts,\n Augmentations,\n BitVerse,\n Bladeburner,\n City,\n Corporation,\n CreateProgram,\n CreateScript,\n DevMenu,\n Faction,\n Factions,\n Gang,\n Hacknet,\n Infiltration,\n Job,\n Milestones,\n Options,\n Resleeves,\n Sleeves,\n Stats,\n StockMarket,\n Terminal,\n Travel,\n Tutorial,\n Work,\n BladeburnerCinematic,\n Location,\n Loading,\n}\n\n/**\n * This class keeps track of player navigation/routing within the game.\n */\nexport interface IRouter {\n // toCinematicText(): void;\n // toInfiltration(): void;\n // toMission(): void;\n // toRedPill(): void;\n // toworkInProgress(): void;\n page(): Page;\n toActiveScripts(): void;\n toAugmentations(): void;\n toBitVerse(flume: boolean, quick: boolean): void;\n toBladeburner(): void;\n toStats(): void;\n toCity(): void; // travel ? city ?\n toCorporation(): void;\n toCreateProgram(): void;\n toDevMenu(): void;\n toFaction(faction?: Faction): void; // faction name\n toFactions(): void;\n toGameOptions(): void;\n toGang(): void;\n toHacknetNodes(): void;\n toInfiltration(location: Location): void;\n toJob(): void;\n toMilestones(): void;\n toResleeves(): void;\n toScriptEditor(filename?: string, code?: string): void;\n toSleeves(): void;\n toStockMarket(): void;\n toTerminal(): void;\n toTravel(): void;\n toTutorial(): void;\n toWork(): void;\n toBladeburnerCinematic(): void;\n toLocation(location: Location): void;\n}\n","// Class definition for a single Augmentation object\nimport * as React from \"react\";\nimport { IMap } from \"../types\";\n\nimport { BitNodeMultipliers } from \"../BitNode/BitNodeMultipliers\";\nimport { Faction } from \"../Faction/Faction\";\nimport { Factions } from \"../Faction/Factions\";\nimport { numeralWrapper } from \"../ui/numeralFormat\";\nimport { Money } from \"../ui/React/Money\";\n\nimport { Generic_fromJSON, Generic_toJSON, Reviver } from \"../utils/JSONReviver\";\n\nexport interface IConstructorParams {\n info: string | JSX.Element;\n stats?: JSX.Element | null;\n isSpecial?: boolean;\n moneyCost: number;\n name: string;\n prereqs?: string[];\n repCost: number;\n\n hacking_mult?: number;\n strength_mult?: number;\n defense_mult?: number;\n dexterity_mult?: number;\n agility_mult?: number;\n charisma_mult?: number;\n hacking_exp_mult?: number;\n strength_exp_mult?: number;\n defense_exp_mult?: number;\n dexterity_exp_mult?: number;\n agility_exp_mult?: number;\n charisma_exp_mult?: number;\n hacking_chance_mult?: number;\n hacking_speed_mult?: number;\n hacking_money_mult?: number;\n hacking_grow_mult?: number;\n company_rep_mult?: number;\n faction_rep_mult?: number;\n crime_money_mult?: number;\n crime_success_mult?: number;\n work_money_mult?: number;\n hacknet_node_money_mult?: number;\n hacknet_node_purchase_cost_mult?: number;\n hacknet_node_ram_cost_mult?: number;\n hacknet_node_core_cost_mult?: number;\n hacknet_node_level_cost_mult?: number;\n bladeburner_max_stamina_mult?: number;\n bladeburner_stamina_gain_mult?: number;\n bladeburner_analysis_mult?: number;\n bladeburner_success_chance_mult?: number;\n\n startingMoney?: number;\n programs?: string[];\n}\n\nfunction generateStatsDescription(mults: IMap, programs?: string[], startingMoney?: number): JSX.Element {\n const f = (x: number, decimals = 0): string => {\n // look, I don't know how to make a \"smart decimals\"\n // todo, make it smarter\n if (x === 1.0777 - 1) return \"7.77%\";\n if (x === 1.777 - 1) return \"77.7%\";\n return numeralWrapper.formatPercentage(x, decimals);\n };\n let desc = <>Effects:>;\n\n if (\n mults.hacking_mult &&\n mults.hacking_mult == mults.strength_mult &&\n mults.hacking_mult == mults.defense_mult &&\n mults.hacking_mult == mults.dexterity_mult &&\n mults.hacking_mult == mults.agility_mult &&\n mults.hacking_mult == mults.charisma_mult\n ) {\n desc = (\n <>\n {desc}\n
+{f(mults.hacking_mult - 1)} all skills\n >\n );\n } else {\n if (mults.hacking_mult)\n desc = (\n <>\n {desc}\n
+{f(mults.hacking_mult - 1)} hacking skill\n >\n );\n\n if (\n mults.strength_mult &&\n mults.strength_mult == mults.defense_mult &&\n mults.strength_mult == mults.dexterity_mult &&\n mults.strength_mult == mults.agility_mult\n ) {\n desc = (\n <>\n {desc}\n
+{f(mults.strength_mult - 1)} combat skills\n >\n );\n } else {\n if (mults.strength_mult)\n desc = (\n <>\n {desc}\n
+{f(mults.strength_mult - 1)} strength skill\n >\n );\n if (mults.defense_mult)\n desc = (\n <>\n {desc}\n
+{f(mults.defense_mult - 1)} defense skill\n >\n );\n if (mults.dexterity_mult)\n desc = (\n <>\n {desc}\n
+{f(mults.dexterity_mult - 1)} dexterity skill\n >\n );\n if (mults.agility_mult)\n desc = (\n <>\n {desc}\n
+{f(mults.agility_mult - 1)} agility skill\n >\n );\n }\n if (mults.charisma_mult)\n desc = (\n <>\n {desc}\n
+{f(mults.charisma_mult - 1)} Charisma skill\n >\n );\n }\n\n if (\n mults.hacking_exp_mult &&\n mults.hacking_exp_mult === mults.strength_exp_mult &&\n mults.hacking_exp_mult === mults.defense_exp_mult &&\n mults.hacking_exp_mult === mults.dexterity_exp_mult &&\n mults.hacking_exp_mult === mults.agility_exp_mult &&\n mults.hacking_exp_mult === mults.charisma_exp_mult\n ) {\n desc = (\n <>\n {desc}\n
+{f(mults.hacking_exp_mult - 1)} exp for all skills\n >\n );\n } else {\n if (mults.hacking_exp_mult)\n desc = (\n <>\n {desc}\n
+{f(mults.hacking_exp_mult - 1)} hacking exp\n >\n );\n\n if (\n mults.strength_exp_mult &&\n mults.strength_exp_mult === mults.defense_exp_mult &&\n mults.strength_exp_mult === mults.dexterity_exp_mult &&\n mults.strength_exp_mult === mults.agility_exp_mult\n ) {\n desc = (\n <>\n {desc}\n
+{f(mults.strength_exp_mult - 1)} combat exp\n >\n );\n } else {\n if (mults.strength_exp_mult)\n desc = (\n <>\n {desc}\n
+{f(mults.strength_exp_mult - 1)} strength exp\n >\n );\n if (mults.defense_exp_mult)\n desc = (\n <>\n {desc}\n
+{f(mults.defense_exp_mult - 1)} defense exp\n >\n );\n if (mults.dexterity_exp_mult)\n desc = (\n <>\n {desc}\n
+{f(mults.dexterity_exp_mult - 1)} dexterity exp\n >\n );\n if (mults.agility_exp_mult)\n desc = (\n <>\n {desc}\n
+{f(mults.agility_exp_mult - 1)} agility exp\n >\n );\n }\n if (mults.charisma_exp_mult)\n desc = (\n <>\n {desc}\n
+{f(mults.charisma_exp_mult - 1)} charisma exp\n >\n );\n }\n\n if (mults.hacking_speed_mult)\n desc = (\n <>\n {desc}\n
+{f(mults.hacking_speed_mult - 1)} faster hack(), grow(), and weaken()\n >\n );\n if (mults.hacking_chance_mult)\n desc = (\n <>\n {desc}\n
+{f(mults.hacking_chance_mult - 1)} hack() success chance\n >\n );\n if (mults.hacking_money_mult)\n desc = (\n <>\n {desc}\n
+{f(mults.hacking_money_mult - 1)} hack() power\n >\n );\n if (mults.hacking_grow_mult)\n desc = (\n <>\n {desc}\n
+{f(mults.hacking_grow_mult - 1)} grow() power\n >\n );\n\n if (mults.faction_rep_mult && mults.faction_rep_mult === mults.company_rep_mult) {\n desc = (\n <>\n {desc}\n
+{f(mults.faction_rep_mult - 1)} reputation from factions and companies\n >\n );\n } else {\n if (mults.faction_rep_mult)\n desc = (\n <>\n {desc}\n
+{f(mults.faction_rep_mult - 1)} reputation from factions\n >\n );\n if (mults.company_rep_mult)\n desc = (\n <>\n {desc}\n
+{f(mults.company_rep_mult - 1)} reputation from companies\n >\n );\n }\n\n if (mults.crime_money_mult)\n desc = (\n <>\n {desc}\n
+{f(mults.crime_money_mult - 1)} crime money\n >\n );\n if (mults.crime_success_mult)\n desc = (\n <>\n {desc}\n
+{f(mults.crime_success_mult - 1)} crime success rate\n >\n );\n if (mults.work_money_mult)\n desc = (\n <>\n {desc}\n
+{f(mults.work_money_mult - 1)} work money\n >\n );\n\n if (mults.hacknet_node_money_mult)\n desc = (\n <>\n {desc}\n
+{f(mults.hacknet_node_money_mult - 1)} hacknet production\n >\n );\n if (mults.hacknet_node_purchase_cost_mult)\n desc = (\n <>\n {desc}\n
-{f(-(mults.hacknet_node_purchase_cost_mult - 1))} hacknet nodes cost\n >\n );\n if (mults.hacknet_node_level_cost_mult)\n desc = (\n <>\n {desc}\n
-{f(-(mults.hacknet_node_level_cost_mult - 1))} hacknet nodes upgrade cost\n >\n );\n\n if (mults.bladeburner_max_stamina_mult)\n desc = (\n <>\n {desc}\n
+{f(mults.bladeburner_max_stamina_mult - 1)} Bladeburner Max Stamina\n >\n );\n if (mults.bladeburner_stamina_gain_mult)\n desc = (\n <>\n {desc}\n
+{f(mults.bladeburner_stamina_gain_mult - 1)} Bladeburner Stamina gain\n >\n );\n if (mults.bladeburner_analysis_mult)\n desc = (\n <>\n {desc}\n
+{f(mults.bladeburner_analysis_mult - 1)} Bladeburner Field Analysis effectiveness\n >\n );\n if (mults.bladeburner_success_chance_mult)\n desc = (\n <>\n {desc}\n
+{f(mults.bladeburner_success_chance_mult - 1)} Bladeburner Contracts and Operations success chance\n >\n );\n\n if (startingMoney)\n desc = (\n <>\n {desc}\n
\n Start with after installing Augmentations.\n >\n );\n\n if (programs)\n desc = (\n <>\n {desc}\n
\n Start with {programs.join(\" and \")} after installing Augmentations.\n >\n );\n return desc;\n}\n\nexport class Augmentation {\n // How much money this costs to buy\n baseCost = 0;\n\n // How much faction reputation is required to unlock this\n baseRepRequirement = 0;\n\n // Description of what this Aug is and what it does\n info: string | JSX.Element;\n\n // Description of the stats, often autogenerated, sometimes manually written.\n stats: JSX.Element | null;\n\n // Any Augmentation not immediately available in BitNode-1 is special (e.g. Bladeburner augs)\n isSpecial = false;\n\n // Augmentation level - for repeatable Augs like NeuroFlux Governor\n level = 0;\n\n // Name of Augmentation\n name = \"\";\n\n // Whether the player owns this Augmentation\n owned = false;\n\n // Array of names of all prerequisites\n prereqs: string[] = [];\n\n // Multipliers given by this Augmentation. Must match the property name in\n // The Player/Person classes\n mults: IMap = {};\n\n // Initial cost. Doesn't change when you purchase multiple Augmentation\n startingCost = 0;\n\n constructor(\n params: IConstructorParams = {\n info: \"\",\n moneyCost: 0,\n name: \"\",\n repCost: 0,\n },\n ) {\n this.name = params.name;\n this.info = params.info;\n this.prereqs = params.prereqs ? params.prereqs : [];\n\n this.baseRepRequirement = params.repCost * BitNodeMultipliers.AugmentationRepCost;\n this.baseCost = params.moneyCost * BitNodeMultipliers.AugmentationMoneyCost;\n this.startingCost = this.baseCost;\n\n if (params.isSpecial) {\n this.isSpecial = true;\n }\n\n this.level = 0;\n\n // Set multipliers\n if (params.hacking_mult) {\n this.mults.hacking_mult = params.hacking_mult;\n }\n if (params.strength_mult) {\n this.mults.strength_mult = params.strength_mult;\n }\n if (params.defense_mult) {\n this.mults.defense_mult = params.defense_mult;\n }\n if (params.dexterity_mult) {\n this.mults.dexterity_mult = params.dexterity_mult;\n }\n if (params.agility_mult) {\n this.mults.agility_mult = params.agility_mult;\n }\n if (params.charisma_mult) {\n this.mults.charisma_mult = params.charisma_mult;\n }\n if (params.hacking_exp_mult) {\n this.mults.hacking_exp_mult = params.hacking_exp_mult;\n }\n if (params.strength_exp_mult) {\n this.mults.strength_exp_mult = params.strength_exp_mult;\n }\n if (params.defense_exp_mult) {\n this.mults.defense_exp_mult = params.defense_exp_mult;\n }\n if (params.dexterity_exp_mult) {\n this.mults.dexterity_exp_mult = params.dexterity_exp_mult;\n }\n if (params.agility_exp_mult) {\n this.mults.agility_exp_mult = params.agility_exp_mult;\n }\n if (params.charisma_exp_mult) {\n this.mults.charisma_exp_mult = params.charisma_exp_mult;\n }\n if (params.hacking_chance_mult) {\n this.mults.hacking_chance_mult = params.hacking_chance_mult;\n }\n if (params.hacking_speed_mult) {\n this.mults.hacking_speed_mult = params.hacking_speed_mult;\n }\n if (params.hacking_money_mult) {\n this.mults.hacking_money_mult = params.hacking_money_mult;\n }\n if (params.hacking_grow_mult) {\n this.mults.hacking_grow_mult = params.hacking_grow_mult;\n }\n if (params.company_rep_mult) {\n this.mults.company_rep_mult = params.company_rep_mult;\n }\n if (params.faction_rep_mult) {\n this.mults.faction_rep_mult = params.faction_rep_mult;\n }\n if (params.crime_money_mult) {\n this.mults.crime_money_mult = params.crime_money_mult;\n }\n if (params.crime_success_mult) {\n this.mults.crime_success_mult = params.crime_success_mult;\n }\n if (params.work_money_mult) {\n this.mults.work_money_mult = params.work_money_mult;\n }\n if (params.hacknet_node_money_mult) {\n this.mults.hacknet_node_money_mult = params.hacknet_node_money_mult;\n }\n if (params.hacknet_node_purchase_cost_mult) {\n this.mults.hacknet_node_purchase_cost_mult = params.hacknet_node_purchase_cost_mult;\n }\n if (params.hacknet_node_ram_cost_mult) {\n this.mults.hacknet_node_ram_cost_mult = params.hacknet_node_ram_cost_mult;\n }\n if (params.hacknet_node_core_cost_mult) {\n this.mults.hacknet_node_core_cost_mult = params.hacknet_node_core_cost_mult;\n }\n if (params.hacknet_node_level_cost_mult) {\n this.mults.hacknet_node_level_cost_mult = params.hacknet_node_level_cost_mult;\n }\n if (params.bladeburner_max_stamina_mult) {\n this.mults.bladeburner_max_stamina_mult = params.bladeburner_max_stamina_mult;\n }\n if (params.bladeburner_stamina_gain_mult) {\n this.mults.bladeburner_stamina_gain_mult = params.bladeburner_stamina_gain_mult;\n }\n if (params.bladeburner_analysis_mult) {\n this.mults.bladeburner_analysis_mult = params.bladeburner_analysis_mult;\n }\n if (params.bladeburner_success_chance_mult) {\n this.mults.bladeburner_success_chance_mult = params.bladeburner_success_chance_mult;\n }\n\n if (params.stats === undefined)\n this.stats = generateStatsDescription(this.mults, params.programs, params.startingMoney);\n else this.stats = params.stats;\n }\n\n // Adds this Augmentation to the specified Factions\n addToFactions(factionList: string[]): void {\n for (let i = 0; i < factionList.length; ++i) {\n const faction: Faction | null = Factions[factionList[i]];\n if (faction == null) {\n console.warn(`In Augmentation.addToFactions(), could not find faction with this name: ${factionList[i]}`);\n continue;\n }\n faction.augmentations.push(this.name);\n }\n }\n\n // Adds this Augmentation to all Factions\n addToAllFactions(): void {\n for (const fac in Factions) {\n if (Factions.hasOwnProperty(fac)) {\n const facObj: Faction | null = Factions[fac];\n if (facObj == null) {\n console.warn(`Invalid Faction object in addToAllFactions(). Key value: ${fac}`);\n continue;\n }\n facObj.augmentations.push(this.name);\n }\n }\n }\n\n // Serialize the current object to a JSON save state.\n toJSON(): any {\n return Generic_toJSON(\"Augmentation\", this);\n }\n\n // Initiatizes a Augmentation object from a JSON save state.\n // eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types\n static fromJSON(value: any): Augmentation {\n return Generic_fromJSON(Augmentation, value.data);\n }\n}\n\nReviver.constructors.Augmentation = Augmentation;\n","import { Server } from \"./Server\";\nimport { SpecialServerIps } from \"./SpecialServerIps\";\nimport { serverMetadata } from \"./data/servers\";\n\nimport { HacknetServer } from \"../Hacknet/HacknetServer\";\n\nimport { IMap } from \"../types\";\nimport { createRandomIp } from \"../utils/IPAddress\";\nimport { getRandomInt } from \"../utils/helpers/getRandomInt\";\nimport { Reviver } from \"../utils/JSONReviver\";\n\n/**\n * Map of all Servers that exist in the game\n * Key (string) = IP\n * Value = Server object\n */\nexport let AllServers: IMap = {};\n\nexport function ipExists(ip: string): boolean {\n return AllServers[ip] != null;\n}\n\nexport function createUniqueRandomIp(): string {\n const ip = createRandomIp();\n\n // If the Ip already exists, recurse to create a new one\n if (ipExists(ip)) {\n return createRandomIp();\n }\n\n return ip;\n}\n\n// Saftely add a Server to the AllServers map\nexport function AddToAllServers(server: Server | HacknetServer): void {\n const serverIp = server.ip;\n if (ipExists(serverIp)) {\n console.warn(`IP of server that's being added: ${serverIp}`);\n console.warn(`Hostname of the server thats being added: ${server.hostname}`);\n console.warn(`The server that already has this IP is: ${AllServers[serverIp].hostname}`);\n throw new Error(\"Error: Trying to add a server with an existing IP\");\n }\n\n AllServers[serverIp] = server;\n}\n\ninterface IServerParams {\n hackDifficulty?: number;\n hostname: string;\n ip: string;\n maxRam?: number;\n moneyAvailable?: number;\n numOpenPortsRequired: number;\n organizationName: string;\n requiredHackingSkill?: number;\n serverGrowth?: number;\n\n [key: string]: any;\n}\n\nexport function initForeignServers(homeComputer: Server): void {\n /* Create a randomized network for all the foreign servers */\n //Groupings for creating a randomized network\n const networkLayers: Server[][] = [];\n for (let i = 0; i < 15; i++) {\n networkLayers.push([]);\n }\n\n // Essentially any property that is of type 'number | IMinMaxRange'\n const propertiesToPatternMatch: string[] = [\n \"hackDifficulty\",\n \"moneyAvailable\",\n \"requiredHackingSkill\",\n \"serverGrowth\",\n ];\n\n const toNumber = (value: any): any => {\n switch (typeof value) {\n case \"number\":\n return value;\n case \"object\":\n return getRandomInt(value.min, value.max);\n default:\n throw Error(`Do not know how to convert the type '${typeof value}' to a number`);\n }\n };\n\n for (const metadata of serverMetadata) {\n const serverParams: IServerParams = {\n hostname: metadata.hostname,\n ip: createUniqueRandomIp(),\n numOpenPortsRequired: metadata.numOpenPortsRequired,\n organizationName: metadata.organizationName,\n };\n\n if (metadata.maxRamExponent !== undefined) {\n serverParams.maxRam = Math.pow(2, toNumber(metadata.maxRamExponent));\n }\n\n for (const prop of propertiesToPatternMatch) {\n if (metadata[prop] !== undefined) {\n serverParams[prop] = toNumber(metadata[prop]);\n }\n }\n\n const server = new Server(serverParams);\n for (const filename of metadata.literature || []) {\n server.messages.push(filename);\n }\n\n if (metadata.specialName !== undefined) {\n SpecialServerIps.addIp(metadata.specialName, server.ip);\n }\n\n AddToAllServers(server);\n if (metadata.networkLayer !== undefined) {\n networkLayers[toNumber(metadata.networkLayer) - 1].push(server);\n }\n }\n\n /* Create a randomized network for all the foreign servers */\n const linkComputers = (server1: Server, server2: Server): void => {\n server1.serversOnNetwork.push(server2.ip);\n server2.serversOnNetwork.push(server1.ip);\n };\n\n const getRandomArrayItem = (arr: any[]): any => arr[Math.floor(Math.random() * arr.length)];\n\n const linkNetworkLayers = (network1: Server[], selectServer: () => Server): void => {\n for (const server of network1) {\n linkComputers(server, selectServer());\n }\n };\n\n // Connect the first tier of servers to the player's home computer\n linkNetworkLayers(networkLayers[0], () => homeComputer);\n for (let i = 1; i < networkLayers.length; i++) {\n linkNetworkLayers(networkLayers[i], () => getRandomArrayItem(networkLayers[i - 1]));\n }\n}\n\nexport function prestigeAllServers(): void {\n for (const member in AllServers) {\n delete AllServers[member];\n }\n AllServers = {};\n}\n\nexport function loadAllServers(saveString: string): void {\n AllServers = JSON.parse(saveString, Reviver);\n}\n","export const HacknetNodeConstants: {\n // Constants for Hacknet Node production\n MoneyGainPerLevel: number;\n\n // Constants for Hacknet Node purchase/upgrade costs\n BaseCost: number;\n LevelBaseCost: number;\n RamBaseCost: number;\n CoreBaseCost: number;\n\n PurchaseNextMult: number;\n UpgradeLevelMult: number;\n UpgradeRamMult: number;\n UpgradeCoreMult: number;\n\n // Constants for max upgrade levels for Hacknet Nodes\n MaxLevel: number;\n MaxRam: number;\n MaxCores: number;\n} = {\n MoneyGainPerLevel: 1.6,\n\n BaseCost: 1000,\n LevelBaseCost: 1,\n RamBaseCost: 30e3,\n CoreBaseCost: 500e3,\n\n PurchaseNextMult: 1.85,\n UpgradeLevelMult: 1.04,\n UpgradeRamMult: 1.28,\n UpgradeCoreMult: 1.48,\n\n MaxLevel: 200,\n MaxRam: 64,\n MaxCores: 16,\n};\n\nexport const PurchaseMultipliers: {\n [key: string]: number | \"MAX\" | undefined;\n x1: number;\n x5: number;\n x10: number;\n MAX: \"MAX\";\n} = {\n x1: 1,\n x5: 5,\n x10: 10,\n MAX: \"MAX\",\n};\n\nexport const HacknetServerConstants: {\n // Constants for Hacknet Server stats/production\n HashesPerLevel: number;\n\n // Constants for Hacknet Server purchase/upgrade costs\n BaseCost: number;\n RamBaseCost: number;\n CoreBaseCost: number;\n CacheBaseCost: number;\n\n PurchaseMult: number; // Multiplier for puchasing an additional Hacknet Server\n UpgradeLevelMult: number; // Multiplier for cost when upgrading level\n UpgradeRamMult: number; // Multiplier for cost when upgrading RAM\n UpgradeCoreMult: number; // Multiplier for cost when buying another core\n UpgradeCacheMult: number; // Multiplier for cost when upgrading cache\n MaxServers: number; // Max number of Hacknet Servers you can own\n\n // Constants for max upgrade levels for Hacknet Server\n MaxLevel: number;\n MaxRam: number;\n MaxCores: number;\n MaxCache: number;\n} = {\n HashesPerLevel: 0.001,\n\n BaseCost: 50e3,\n RamBaseCost: 200e3,\n CoreBaseCost: 1e6,\n CacheBaseCost: 10e6,\n\n PurchaseMult: 3.2,\n UpgradeLevelMult: 1.1,\n UpgradeRamMult: 1.4,\n UpgradeCoreMult: 1.55,\n UpgradeCacheMult: 1.85,\n\n MaxServers: 20,\n\n MaxLevel: 300,\n MaxRam: 8192,\n MaxCores: 128,\n MaxCache: 15,\n};\n","// Action Identifier enum\nexport const ActionTypes: {\n [key: string]: number;\n Idle: number;\n Contract: number;\n Operation: number;\n BlackOp: number;\n BlackOperation: number;\n Training: number;\n Recruitment: number;\n FieldAnalysis: number;\n \"Field Analysis\": number;\n Diplomacy: number;\n \"Hyperbolic Regeneration Chamber\": number;\n} = {\n Idle: 1,\n Contract: 2,\n Operation: 3,\n BlackOp: 4,\n BlackOperation: 4,\n Training: 5,\n Recruitment: 6,\n FieldAnalysis: 7,\n \"Field Analysis\": 7,\n Diplomacy: 8,\n \"Hyperbolic Regeneration Chamber\": 9,\n};\n","import { Player } from \"./Player\";\n\nimport { LiteratureNames } from \"./Literature/data/LiteratureNames\";\n\nimport { ITutorialEvents } from \"./ui/InteractiveTutorial/ITutorialEvents\";\n\n// Ordered array of keys to Interactive Tutorial Steps\nenum iTutorialSteps {\n Start,\n GoToCharacterPage, // Click on 'Stats' page\n CharacterPage, // Introduction to 'Stats' page\n CharacterGoToTerminalPage, // Go back to Terminal\n TerminalIntro, // Introduction to Terminal\n TerminalHelp, // Using 'help' Terminal command\n TerminalLs, // Using 'ls' Terminal command\n TerminalScan, // Using 'scan' Terminal command\n TerminalScanAnalyze1, // Using 'scan-analyze' Terminal command\n TerminalScanAnalyze2, // Using 'scan-analyze 3' Terminal command\n TerminalConnect, // Connecting to n00dles\n TerminalAnalyze, // Analyzing n00dles\n TerminalNuke, // NUKE n00dles\n TerminalManualHack, // Hack n00dles\n TerminalHackingMechanics, // Explanation of hacking mechanics\n TerminalGoHome, // Go home before creating a script.\n TerminalCreateScript, // Create a script using 'nano'\n TerminalTypeScript, // Script Editor page - Type script and then save & close\n TerminalFree, // Using 'Free' Terminal command\n TerminalRunScript, // Running script using 'run' Terminal command\n TerminalGoToActiveScriptsPage,\n ActiveScriptsPage,\n ActiveScriptsToTerminal,\n TerminalTailScript,\n GoToHacknetNodesPage,\n HacknetNodesIntroduction,\n HacknetNodesGoToWorldPage,\n WorldDescription,\n TutorialPageInfo,\n End,\n}\n\nconst ITutorial: {\n currStep: iTutorialSteps;\n isRunning: boolean;\n stepIsDone: {\n [iTutorialSteps.Start]: boolean;\n [iTutorialSteps.GoToCharacterPage]: boolean;\n [iTutorialSteps.CharacterPage]: boolean;\n [iTutorialSteps.CharacterGoToTerminalPage]: boolean;\n [iTutorialSteps.TerminalIntro]: boolean;\n [iTutorialSteps.TerminalHelp]: boolean;\n [iTutorialSteps.TerminalLs]: boolean;\n [iTutorialSteps.TerminalScan]: boolean;\n [iTutorialSteps.TerminalScanAnalyze1]: boolean;\n [iTutorialSteps.TerminalScanAnalyze2]: boolean;\n [iTutorialSteps.TerminalConnect]: boolean;\n [iTutorialSteps.TerminalAnalyze]: boolean;\n [iTutorialSteps.TerminalNuke]: boolean;\n [iTutorialSteps.TerminalManualHack]: boolean;\n [iTutorialSteps.TerminalHackingMechanics]: boolean;\n [iTutorialSteps.TerminalGoHome]: boolean;\n [iTutorialSteps.TerminalCreateScript]: boolean;\n [iTutorialSteps.TerminalTypeScript]: boolean;\n [iTutorialSteps.TerminalFree]: boolean;\n [iTutorialSteps.TerminalRunScript]: boolean;\n [iTutorialSteps.TerminalGoToActiveScriptsPage]: boolean;\n [iTutorialSteps.ActiveScriptsPage]: boolean;\n [iTutorialSteps.ActiveScriptsToTerminal]: boolean;\n [iTutorialSteps.TerminalTailScript]: boolean;\n [iTutorialSteps.GoToHacknetNodesPage]: boolean;\n [iTutorialSteps.HacknetNodesIntroduction]: boolean;\n [iTutorialSteps.HacknetNodesGoToWorldPage]: boolean;\n [iTutorialSteps.WorldDescription]: boolean;\n [iTutorialSteps.TutorialPageInfo]: boolean;\n [iTutorialSteps.End]: boolean;\n };\n} = {\n currStep: iTutorialSteps.Start,\n isRunning: false,\n\n // Keeps track of whether each step has been done\n stepIsDone: {\n [iTutorialSteps.Start]: false,\n [iTutorialSteps.GoToCharacterPage]: false,\n [iTutorialSteps.CharacterPage]: false,\n [iTutorialSteps.CharacterGoToTerminalPage]: false,\n [iTutorialSteps.TerminalIntro]: false,\n [iTutorialSteps.TerminalHelp]: false,\n [iTutorialSteps.TerminalLs]: false,\n [iTutorialSteps.TerminalScan]: false,\n [iTutorialSteps.TerminalScanAnalyze1]: false,\n [iTutorialSteps.TerminalScanAnalyze2]: false,\n [iTutorialSteps.TerminalConnect]: false,\n [iTutorialSteps.TerminalAnalyze]: false,\n [iTutorialSteps.TerminalNuke]: false,\n [iTutorialSteps.TerminalManualHack]: false,\n [iTutorialSteps.TerminalHackingMechanics]: false,\n [iTutorialSteps.TerminalGoHome]: false,\n [iTutorialSteps.TerminalCreateScript]: false,\n [iTutorialSteps.TerminalTypeScript]: false,\n [iTutorialSteps.TerminalFree]: false,\n [iTutorialSteps.TerminalRunScript]: false,\n [iTutorialSteps.TerminalGoToActiveScriptsPage]: false,\n [iTutorialSteps.ActiveScriptsPage]: false,\n [iTutorialSteps.ActiveScriptsToTerminal]: false,\n [iTutorialSteps.TerminalTailScript]: false,\n [iTutorialSteps.GoToHacknetNodesPage]: false,\n [iTutorialSteps.HacknetNodesIntroduction]: false,\n [iTutorialSteps.HacknetNodesGoToWorldPage]: false,\n [iTutorialSteps.WorldDescription]: false,\n [iTutorialSteps.TutorialPageInfo]: false,\n [iTutorialSteps.End]: false,\n },\n};\n\nfunction iTutorialStart(): void {\n ITutorial.isRunning = true;\n}\n\n// Go to the next step and evaluate it\nfunction iTutorialNextStep(): void {\n ITutorial.stepIsDone[ITutorial.currStep] = true;\n if (ITutorial.currStep < iTutorialSteps.End) {\n ITutorial.currStep += 1;\n }\n if (ITutorial.currStep === iTutorialSteps.End) iTutorialEnd();\n ITutorialEvents.emit();\n}\n\n// Go to previous step and evaluate\nfunction iTutorialPrevStep(): void {\n if (ITutorial.currStep > iTutorialSteps.Start) {\n ITutorial.currStep -= 1;\n }\n ITutorialEvents.emit();\n}\n\nfunction iTutorialEnd(): void {\n ITutorial.isRunning = false;\n\n Player.getHomeComputer().messages.push(LiteratureNames.HackersStartingHandbook);\n ITutorialEvents.emit();\n}\n\nexport { iTutorialSteps, iTutorialEnd, iTutorialStart, iTutorialNextStep, ITutorial, iTutorialPrevStep };\n","const CyclesPerMarketCycle = 50;\nconst AllCorporationStates = [\"START\", \"PURCHASE\", \"PRODUCTION\", \"SALE\", \"EXPORT\"];\nexport const CorporationConstants: {\n INITIALSHARES: number;\n SHARESPERPRICEUPDATE: number;\n IssueNewSharesCooldown: number;\n SellSharesCooldown: number;\n CyclesPerMarketCycle: number;\n CyclesPerIndustryStateCycle: number;\n SecsPerMarketCycle: number;\n Cities: string[];\n WarehouseInitialCost: number;\n WarehouseInitialSize: number;\n WarehouseUpgradeBaseCost: number;\n OfficeInitialCost: number;\n OfficeInitialSize: number;\n OfficeUpgradeBaseCost: number;\n BribeThreshold: number;\n BribeToRepRatio: number;\n ProductProductionCostRatio: number;\n DividendMaxPercentage: number;\n EmployeeSalaryMultiplier: number;\n CyclesPerEmployeeRaise: number;\n EmployeeRaiseAmount: number;\n BaseMaxProducts: number;\n AllCorporationStates: string[];\n AllMaterials: string[];\n} = {\n INITIALSHARES: 1e9, //Total number of shares you have at your company\n SHARESPERPRICEUPDATE: 1e6, //When selling large number of shares, price is dynamically updated for every batch of this amount\n IssueNewSharesCooldown: 216e3, // 12 Hour in terms of game cycles\n SellSharesCooldown: 18e3, // 1 Hour in terms of game cycles\n\n CyclesPerMarketCycle: CyclesPerMarketCycle,\n CyclesPerIndustryStateCycle: CyclesPerMarketCycle / AllCorporationStates.length,\n SecsPerMarketCycle: CyclesPerMarketCycle / 5,\n\n Cities: [\"Aevum\", \"Chongqing\", \"Sector-12\", \"New Tokyo\", \"Ishima\", \"Volhaven\"],\n\n WarehouseInitialCost: 5e9, //Initial purchase cost of warehouse\n WarehouseInitialSize: 100,\n WarehouseUpgradeBaseCost: 1e9,\n\n OfficeInitialCost: 4e9,\n OfficeInitialSize: 3,\n OfficeUpgradeBaseCost: 1e9,\n\n BribeThreshold: 100e12, //Money needed to be able to bribe for faction rep\n BribeToRepRatio: 1e9, //Bribe Value divided by this = rep gain\n\n ProductProductionCostRatio: 5, //Ratio of material cost of a product to its production cost\n\n DividendMaxPercentage: 0.5,\n\n EmployeeSalaryMultiplier: 3, // Employee stats multiplied by this to determine initial salary\n CyclesPerEmployeeRaise: 400, // All employees get a raise every X market cycles\n EmployeeRaiseAmount: 50, // Employee salary increases by this (additive)\n\n BaseMaxProducts: 3, // Initial value for maximum number of products allowed\n AllCorporationStates: AllCorporationStates,\n AllMaterials: [\n \"Water\",\n \"Energy\",\n \"Food\",\n \"Plants\",\n \"Metal\",\n \"Hardware\",\n \"Chemicals\",\n \"Drugs\",\n \"Robots\",\n \"AI Cores\",\n \"Real Estate\",\n ],\n};\n","import React from \"react\";\nimport { TableCell as MuiTableCell, TableCellProps, Table as MuiTable, TableProps } from \"@mui/material\";\n\nimport makeStyles from \"@mui/styles/makeStyles\";\n\nconst useStyles = makeStyles({\n root: {\n borderBottom: \"none\",\n },\n small: {\n width: \"1px\",\n },\n});\n\nexport const TableCell: React.FC = (props: TableCellProps) => {\n return (\n \n );\n};\n\nexport const Table: React.FC = (props: TableProps) => {\n return (\n \n );\n};\n","import React from \"react\";\nimport { Theme } from \"@mui/material\";\nimport makeStyles from \"@mui/styles/makeStyles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport M from \"@mui/material/Modal\";\nimport Fade from \"@mui/material/Fade\";\nimport Box from \"@mui/material/Box\";\n\nconst useStyles = makeStyles((theme: Theme) =>\n createStyles({\n modal: {\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"center\",\n },\n paper: {\n backgroundColor: theme.palette.background.default,\n border: \"2px solid \" + theme.palette.primary.main,\n boxShadow: `0px 3px 5px -1px ${theme.palette.primary.dark},0px 5px 8px 0px ${theme.palette.primary.dark},0px 1px 14px 0px ${theme.palette.primary.dark}`,\n padding: 2,\n maxWidth: \"80%\",\n maxHeight: \"80%\",\n overflow: \"auto\",\n \"&::-webkit-scrollbar\": {\n // webkit\n display: \"none\",\n },\n scrollbarWidth: \"none\", // firefox\n },\n }),\n);\n\ninterface IProps {\n open: boolean;\n onClose: () => void;\n children: React.ReactNode;\n}\n\nexport const Modal = (props: IProps): React.ReactElement => {\n const classes = useStyles();\n return (\n \n \n \n {props.children}\n
\n \n \n );\n};\n","import React, { useContext } from \"react\";\nimport { ICorporation } from \"../ICorporation\";\nimport { IIndustry } from \"../IIndustry\";\n\nexport const Context: {\n Corporation: React.Context;\n Division: React.Context;\n} = {\n Corporation: React.createContext({} as ICorporation),\n Division: React.createContext({} as IIndustry),\n};\n\nexport const useCorporation = (): ICorporation => useContext(Context.Corporation);\nexport const useDivision = (): IIndustry => useContext(Context.Division);\n","import { AllServers, createUniqueRandomIp, ipExists } from \"./AllServers\";\nimport { Server, IConstructorParams } from \"./Server\";\nimport { BaseServer } from \"./BaseServer\";\nimport { calculateServerGrowth } from \"./formulas/grow\";\n\nimport { BitNodeMultipliers } from \"../BitNode/BitNodeMultipliers\";\nimport { CONSTANTS } from \"../Constants\";\nimport { HacknetServer } from \"../Hacknet/HacknetServer\";\nimport { IPlayer } from \"../PersonObjects/IPlayer\";\nimport { Programs } from \"../Programs/Programs\";\nimport { LiteratureNames } from \"../Literature/data/LiteratureNames\";\n\nimport { isValidNumber } from \"../utils/helpers/isValidNumber\";\nimport { isValidIPAddress } from \"../utils/helpers/isValidIPAddress\";\n\n/**\n * Constructs a new server, while also ensuring that the new server\n * does not have a duplicate hostname/ip.\n */\nexport function safetlyCreateUniqueServer(params: IConstructorParams): Server {\n if (params.ip != null && ipExists(params.ip)) {\n params.ip = createUniqueRandomIp();\n }\n\n if (GetServerByHostname(params.hostname) != null) {\n // Use a for loop to ensure that we don't get suck in an infinite loop somehow\n let hostname: string = params.hostname;\n for (let i = 0; i < 200; ++i) {\n hostname = `${params.hostname}-${i}`;\n if (GetServerByHostname(hostname) == null) {\n break;\n }\n }\n params.hostname = hostname;\n }\n\n return new Server(params);\n}\n\n/**\n * Returns the number of \"growth cycles\" needed to grow the specified server by the\n * specified amount.\n * @param server - Server being grown\n * @param growth - How much the server is being grown by, in DECIMAL form (e.g. 1.5 rather than 50)\n * @param p - Reference to Player object\n * @returns Number of \"growth cycles\" needed\n */\nexport function numCycleForGrowth(server: Server, growth: number, p: IPlayer): number {\n let ajdGrowthRate = 1 + (CONSTANTS.ServerBaseGrowthRate - 1) / server.hackDifficulty;\n if (ajdGrowthRate > CONSTANTS.ServerMaxGrowthRate) {\n ajdGrowthRate = CONSTANTS.ServerMaxGrowthRate;\n }\n\n const serverGrowthPercentage = server.serverGrowth / 100;\n\n const cycles =\n Math.log(growth) /\n (Math.log(ajdGrowthRate) * p.hacking_grow_mult * serverGrowthPercentage * BitNodeMultipliers.ServerGrowthRate);\n\n return cycles;\n}\n\n//Applied server growth for a single server. Returns the percentage growth\nexport function processSingleServerGrowth(server: Server, threads: number, p: IPlayer, cores = 1): number {\n let serverGrowth = calculateServerGrowth(server, threads, p, cores);\n if (serverGrowth < 1) {\n console.warn(\"serverGrowth calculated to be less than 1\");\n serverGrowth = 1;\n }\n\n const oldMoneyAvailable = server.moneyAvailable;\n server.moneyAvailable *= serverGrowth;\n\n // in case of data corruption\n if (isValidNumber(server.moneyMax) && isNaN(server.moneyAvailable)) {\n server.moneyAvailable = server.moneyMax;\n }\n\n // cap at max\n if (isValidNumber(server.moneyMax) && server.moneyAvailable > server.moneyMax) {\n server.moneyAvailable = server.moneyMax;\n }\n\n // if there was any growth at all, increase security\n if (oldMoneyAvailable !== server.moneyAvailable) {\n //Growing increases server security twice as much as hacking\n let usedCycles = numCycleForGrowth(server, server.moneyAvailable / oldMoneyAvailable, p);\n usedCycles = Math.max(0, usedCycles);\n server.fortify(2 * CONSTANTS.ServerFortifyAmount * Math.ceil(usedCycles));\n }\n return server.moneyAvailable / oldMoneyAvailable;\n}\n\nexport function prestigeHomeComputer(homeComp: Server): void {\n const hasBitflume = homeComp.programs.includes(Programs.BitFlume.name);\n\n homeComp.programs.length = 0; //Remove programs\n homeComp.runningScripts = [];\n homeComp.serversOnNetwork = [];\n homeComp.isConnectedTo = true;\n homeComp.ramUsed = 0;\n homeComp.programs.push(Programs.NukeProgram.name);\n if (hasBitflume) {\n homeComp.programs.push(Programs.BitFlume.name);\n }\n\n //Update RAM usage on all scripts\n homeComp.scripts.forEach(function (script) {\n script.updateRamUsage(homeComp.scripts);\n });\n\n homeComp.messages.length = 0; //Remove .lit and .msg files\n homeComp.messages.push(LiteratureNames.HackersStartingHandbook);\n}\n\n//Returns server object with corresponding hostname\n// Relatively slow, would rather not use this a lot\nexport function GetServerByHostname(hostname: string): Server | HacknetServer | null {\n for (const ip in AllServers) {\n if (AllServers.hasOwnProperty(ip)) {\n if (AllServers[ip].hostname == hostname) {\n return AllServers[ip];\n }\n }\n }\n\n return null;\n}\n\n//Get server by IP or hostname. Returns null if invalid\nexport function getServer(s: string): Server | HacknetServer | null {\n if (!isValidIPAddress(s)) {\n return GetServerByHostname(s);\n }\n if (AllServers[s] !== undefined) {\n return AllServers[s];\n }\n\n return null;\n}\n\n// Returns the i-th server on the specified server's network\n// A Server's serverOnNetwork property holds only the IPs. This function returns\n// the actual Server object\nexport function getServerOnNetwork(server: BaseServer, i: number): Server | HacknetServer | null {\n if (i > server.serversOnNetwork.length) {\n console.error(\"Tried to get server on network that was out of range\");\n return null;\n }\n\n return AllServers[server.serversOnNetwork[i]];\n}\n\nexport function isBackdoorInstalled(server: Server | HacknetServer): boolean {\n if (\"backdoorInstalled\" in server) {\n return server.backdoorInstalled;\n }\n return false;\n}\n","import { IPlayer } from \"../IPlayer\";\nimport { Augmentations } from \"../../Augmentation/Augmentations\";\nimport { applyAugmentation } from \"../../Augmentation/AugmentationHelpers\";\nimport { PlayerOwnedAugmentation } from \"../../Augmentation/PlayerOwnedAugmentation\";\nimport { AugmentationNames } from \"../../Augmentation/data/AugmentationNames\";\nimport { BitNodeMultipliers } from \"../../BitNode/BitNodeMultipliers\";\nimport { CodingContractRewardType, ICodingContractReward } from \"../../CodingContracts\";\nimport { Company } from \"../../Company/Company\";\nimport { Companies } from \"../../Company/Companies\";\nimport { getNextCompanyPositionHelper } from \"../../Company/GetNextCompanyPosition\";\nimport { getJobRequirementText } from \"../../Company/GetJobRequirementText\";\nimport { CompanyPositions } from \"../../Company/CompanyPositions\";\nimport { CompanyPosition } from \"../../Company/CompanyPosition\";\nimport * as posNames from \"../../Company/data/companypositionnames\";\nimport { CONSTANTS } from \"../../Constants\";\nimport { Programs } from \"../../Programs/Programs\";\nimport { determineCrimeSuccess } from \"../../Crime/CrimeHelpers\";\nimport { Crimes } from \"../../Crime/Crimes\";\nimport { Exploit } from \"../../Exploits/Exploit\";\nimport { Faction } from \"../../Faction/Faction\";\nimport { Factions } from \"../../Faction/Factions\";\nimport { resetGangs } from \"../../Gang/AllGangs\";\nimport { Cities } from \"../../Locations/Cities\";\nimport { Locations } from \"../../Locations/Locations\";\nimport { CityName } from \"../../Locations/data/CityNames\";\nimport { LocationName } from \"../../Locations/data/LocationNames\";\nimport { Sleeve } from \"../../PersonObjects/Sleeve/Sleeve\";\nimport { calculateSkill as calculateSkillF } from \"../formulas/skill\";\nimport { calculateIntelligenceBonus } from \"../formulas/intelligence\";\nimport {\n getHackingWorkRepGain,\n getFactionSecurityWorkRepGain,\n getFactionFieldWorkRepGain,\n} from \"../formulas/reputation\";\nimport { AllServers, AddToAllServers, createUniqueRandomIp } from \"../../Server/AllServers\";\nimport { Server } from \"../../Server/Server\";\nimport { safetlyCreateUniqueServer } from \"../../Server/ServerHelpers\";\nimport { Settings } from \"../../Settings/Settings\";\nimport { SpecialServerIps, SpecialServerNames } from \"../../Server/SpecialServerIps\";\nimport { applySourceFile } from \"../../SourceFile/applySourceFile\";\nimport { applyExploit } from \"../../Exploits/applyExploits\";\nimport { SourceFiles } from \"../../SourceFile/SourceFiles\";\nimport { SourceFileFlags } from \"../../SourceFile/SourceFileFlags\";\nimport { influenceStockThroughCompanyWork } from \"../../StockMarket/PlayerInfluencing\";\nimport { getHospitalizationCost } from \"../../Hospital/Hospital\";\nimport { WorkerScript } from \"../../Netscript/WorkerScript\";\n\nimport Decimal from \"decimal.js\";\n\nimport { numeralWrapper } from \"../../ui/numeralFormat\";\nimport { IRouter } from \"../../ui/Router\";\nimport { MoneySourceTracker } from \"../../utils/MoneySourceTracker\";\nimport { dialogBoxCreate } from \"../../ui/React/DialogBox\";\nimport { convertTimeMsToTimeElapsedString } from \"../../utils/StringHelperFunctions\";\n\nimport { Reputation } from \"../../ui/React/Reputation\";\nimport { Money } from \"../../ui/React/Money\";\n\nimport React from \"react\";\n\nexport function init(this: IPlayer): void {\n /* Initialize Player's home computer */\n const t_homeComp = safetlyCreateUniqueServer({\n adminRights: true,\n hostname: \"home\",\n ip: createUniqueRandomIp(),\n isConnectedTo: true,\n maxRam: 8,\n organizationName: \"Home PC\",\n purchasedByPlayer: true,\n });\n this.homeComputer = t_homeComp.ip;\n this.currentServer = t_homeComp.ip;\n AddToAllServers(t_homeComp);\n\n this.getHomeComputer().programs.push(Programs.NukeProgram.name);\n}\n\nexport function prestigeAugmentation(this: IPlayer): void {\n const homeComp = this.getHomeComputer();\n this.currentServer = homeComp.ip;\n this.homeComputer = homeComp.ip;\n\n this.numPeopleKilled = 0;\n this.karma = 0;\n\n //Reset stats\n this.hacking_skill = 1;\n\n this.strength = 1;\n this.defense = 1;\n this.dexterity = 1;\n this.agility = 1;\n\n this.charisma = 1;\n\n this.hacking_exp = 0;\n this.strength_exp = 0;\n this.defense_exp = 0;\n this.dexterity_exp = 0;\n this.agility_exp = 0;\n this.charisma_exp = 0;\n\n this.money = new Decimal(1000);\n\n this.city = CityName.Sector12;\n this.location = LocationName.TravelAgency;\n\n this.companyName = \"\";\n this.jobs = {};\n\n this.purchasedServers = [];\n\n this.factions = [];\n this.factionInvitations = [];\n\n this.queuedAugmentations = [];\n\n this.resleeves = [];\n\n const numSleeves = Math.min(3, SourceFileFlags[10] + (this.bitNodeN === 10 ? 1 : 0)) + this.sleevesFromCovenant;\n if (this.sleeves.length > numSleeves) this.sleeves.length = numSleeves;\n for (let i = this.sleeves.length; i < numSleeves; i++) {\n this.sleeves.push(new Sleeve(this));\n }\n\n for (let i = 0; i < this.sleeves.length; ++i) {\n if (this.sleeves[i] instanceof Sleeve) {\n if (this.sleeves[i].shock >= 100) {\n this.sleeves[i].synchronize(this);\n } else {\n this.sleeves[i].shockRecovery(this);\n }\n }\n }\n\n this.isWorking = false;\n this.currentWorkFactionName = \"\";\n this.currentWorkFactionDescription = \"\";\n this.createProgramName = \"\";\n this.className = \"\";\n this.crimeType = \"\";\n\n this.workHackExpGainRate = 0;\n this.workStrExpGainRate = 0;\n this.workDefExpGainRate = 0;\n this.workDexExpGainRate = 0;\n this.workAgiExpGainRate = 0;\n this.workChaExpGainRate = 0;\n this.workRepGainRate = 0;\n this.workMoneyGainRate = 0;\n\n this.workHackExpGained = 0;\n this.workStrExpGained = 0;\n this.workDefExpGained = 0;\n this.workDexExpGained = 0;\n this.workAgiExpGained = 0;\n this.workChaExpGained = 0;\n this.workRepGained = 0;\n this.workMoneyGained = 0;\n\n this.timeWorked = 0;\n\n this.lastUpdate = new Date().getTime();\n\n // Statistics Trackers\n this.playtimeSinceLastAug = 0;\n this.scriptProdSinceLastAug = 0;\n this.moneySourceA.reset();\n\n this.hacknetNodes.length = 0;\n this.hashManager.prestige();\n\n // Reapply augs, re-calculate skills and reset HP\n this.reapplyAllAugmentations(true);\n this.hp = this.max_hp;\n}\n\nexport function prestigeSourceFile(this: IPlayer): void {\n this.prestigeAugmentation();\n // Duplicate sleeves are reset to level 1 every Bit Node (but the number of sleeves you have persists)\n for (let i = 0; i < this.sleeves.length; ++i) {\n if (this.sleeves[i] instanceof Sleeve) {\n this.sleeves[i].prestige(this);\n } else {\n this.sleeves[i] = new Sleeve(this);\n }\n }\n\n if (this.bitNodeN === 10) {\n for (let i = 0; i < this.sleeves.length; i++) {\n this.sleeves[i].shock = Math.max(25, this.sleeves[i].shock);\n this.sleeves[i].sync = Math.max(25, this.sleeves[i].sync);\n }\n }\n\n this.timeWorked = 0;\n\n // Gang\n this.gang = null;\n resetGangs();\n\n // Reset Stock market\n this.hasWseAccount = false;\n this.hasTixApiAccess = false;\n this.has4SData = false;\n this.has4SDataTixApi = false;\n\n // BitNode 3: Corporatocracy\n this.corporation = null;\n\n this.moneySourceB.reset();\n this.playtimeSinceLastBitnode = 0;\n this.augmentations = [];\n}\n\nexport function receiveInvite(this: IPlayer, factionName: string): void {\n if (this.factionInvitations.includes(factionName) || this.factions.includes(factionName)) {\n return;\n }\n this.factionInvitations.push(factionName);\n}\n\n//Calculates skill level based on experience. The same formula will be used for every skill\nexport function calculateSkill(this: IPlayer, exp: number, mult = 1): number {\n return calculateSkillF(exp, mult);\n}\n\nexport function updateSkillLevels(this: IPlayer): void {\n this.hacking_skill = Math.max(\n 1,\n Math.floor(this.calculateSkill(this.hacking_exp, this.hacking_mult * BitNodeMultipliers.HackingLevelMultiplier)),\n );\n this.strength = Math.max(\n 1,\n Math.floor(this.calculateSkill(this.strength_exp, this.strength_mult * BitNodeMultipliers.StrengthLevelMultiplier)),\n );\n this.defense = Math.max(\n 1,\n Math.floor(this.calculateSkill(this.defense_exp, this.defense_mult * BitNodeMultipliers.DefenseLevelMultiplier)),\n );\n this.dexterity = Math.max(\n 1,\n Math.floor(\n this.calculateSkill(this.dexterity_exp, this.dexterity_mult * BitNodeMultipliers.DexterityLevelMultiplier),\n ),\n );\n this.agility = Math.max(\n 1,\n Math.floor(this.calculateSkill(this.agility_exp, this.agility_mult * BitNodeMultipliers.AgilityLevelMultiplier)),\n );\n this.charisma = Math.max(\n 1,\n Math.floor(this.calculateSkill(this.charisma_exp, this.charisma_mult * BitNodeMultipliers.CharismaLevelMultiplier)),\n );\n\n if (this.intelligence > 0) {\n this.intelligence = Math.floor(this.calculateSkill(this.intelligence_exp));\n } else {\n this.intelligence = 0;\n }\n\n const ratio = this.hp / this.max_hp;\n this.max_hp = Math.floor(10 + this.defense / 10);\n this.hp = Math.round(this.max_hp * ratio);\n}\n\nexport function resetMultipliers(this: IPlayer): void {\n this.hacking_chance_mult = 1;\n this.hacking_speed_mult = 1;\n this.hacking_money_mult = 1;\n this.hacking_grow_mult = 1;\n\n this.hacking_mult = 1;\n this.strength_mult = 1;\n this.defense_mult = 1;\n this.dexterity_mult = 1;\n this.agility_mult = 1;\n this.charisma_mult = 1;\n\n this.hacking_exp_mult = 1;\n this.strength_exp_mult = 1;\n this.defense_exp_mult = 1;\n this.dexterity_exp_mult = 1;\n this.agility_exp_mult = 1;\n this.charisma_exp_mult = 1;\n\n this.company_rep_mult = 1;\n this.faction_rep_mult = 1;\n\n this.crime_money_mult = 1;\n this.crime_success_mult = 1;\n\n this.hacknet_node_money_mult = 1;\n this.hacknet_node_purchase_cost_mult = 1;\n this.hacknet_node_ram_cost_mult = 1;\n this.hacknet_node_core_cost_mult = 1;\n this.hacknet_node_level_cost_mult = 1;\n\n this.work_money_mult = 1;\n\n this.bladeburner_max_stamina_mult = 1;\n this.bladeburner_stamina_gain_mult = 1;\n this.bladeburner_analysis_mult = 1;\n this.bladeburner_success_chance_mult = 1;\n}\n\nexport function hasProgram(this: IPlayer, programName: string): boolean {\n const home = this.getHomeComputer();\n if (home == null) {\n return false;\n }\n\n for (let i = 0; i < home.programs.length; ++i) {\n if (programName.toLowerCase() == home.programs[i].toLowerCase()) {\n return true;\n }\n }\n return false;\n}\n\nexport function setMoney(this: IPlayer, money: number): void {\n if (isNaN(money)) {\n console.error(\"NaN passed into Player.setMoney()\");\n return;\n }\n this.money = new Decimal(money);\n}\n\nexport function gainMoney(this: IPlayer, money: number): void {\n if (isNaN(money)) {\n console.error(\"NaN passed into Player.gainMoney()\");\n return;\n }\n this.money = this.money.plus(money);\n}\n\nexport function loseMoney(this: IPlayer, money: number): void {\n if (isNaN(money)) {\n console.error(\"NaN passed into Player.loseMoney()\");\n return;\n }\n if (this.money.eq(Infinity) && money === Infinity) return;\n this.money = this.money.minus(money);\n}\n\nexport function canAfford(this: IPlayer, cost: number): boolean {\n if (isNaN(cost)) {\n console.error(`NaN passed into Player.canAfford()`);\n return false;\n }\n return this.money.gte(cost);\n}\n\nexport function recordMoneySource(this: IPlayer, amt: number, source: string): void {\n if (!(this.moneySourceA instanceof MoneySourceTracker)) {\n console.warn(`Player.moneySourceA was not properly initialized. Resetting`);\n this.moneySourceA = new MoneySourceTracker();\n }\n if (!(this.moneySourceB instanceof MoneySourceTracker)) {\n console.warn(`Player.moneySourceB was not properly initialized. Resetting`);\n this.moneySourceB = new MoneySourceTracker();\n }\n this.moneySourceA.record(amt, source);\n this.moneySourceB.record(amt, source);\n}\n\nexport function gainHackingExp(this: IPlayer, exp: number): void {\n if (isNaN(exp)) {\n console.error(\"ERR: NaN passed into Player.gainHackingExp()\");\n return;\n }\n this.hacking_exp += exp;\n if (this.hacking_exp < 0) {\n this.hacking_exp = 0;\n }\n\n this.hacking_skill = calculateSkillF(this.hacking_exp, this.hacking_mult * BitNodeMultipliers.HackingLevelMultiplier);\n}\n\nexport function gainStrengthExp(this: IPlayer, exp: number): void {\n if (isNaN(exp)) {\n console.error(\"ERR: NaN passed into Player.gainStrengthExp()\");\n return;\n }\n this.strength_exp += exp;\n if (this.strength_exp < 0) {\n this.strength_exp = 0;\n }\n\n this.strength = calculateSkillF(this.strength_exp, this.strength_mult * BitNodeMultipliers.StrengthLevelMultiplier);\n}\n\nexport function gainDefenseExp(this: IPlayer, exp: number): void {\n if (isNaN(exp)) {\n console.error(\"ERR: NaN passed into player.gainDefenseExp()\");\n return;\n }\n this.defense_exp += exp;\n if (this.defense_exp < 0) {\n this.defense_exp = 0;\n }\n\n this.defense = calculateSkillF(this.defense_exp, this.defense_mult * BitNodeMultipliers.DefenseLevelMultiplier);\n}\n\nexport function gainDexterityExp(this: IPlayer, exp: number): void {\n if (isNaN(exp)) {\n console.error(\"ERR: NaN passed into Player.gainDexterityExp()\");\n return;\n }\n this.dexterity_exp += exp;\n if (this.dexterity_exp < 0) {\n this.dexterity_exp = 0;\n }\n\n this.dexterity = calculateSkillF(\n this.dexterity_exp,\n this.dexterity_mult * BitNodeMultipliers.DexterityLevelMultiplier,\n );\n}\n\nexport function gainAgilityExp(this: IPlayer, exp: number): void {\n if (isNaN(exp)) {\n console.error(\"ERR: NaN passed into Player.gainAgilityExp()\");\n return;\n }\n this.agility_exp += exp;\n if (this.agility_exp < 0) {\n this.agility_exp = 0;\n }\n\n this.agility = calculateSkillF(this.agility_exp, this.agility_mult * BitNodeMultipliers.AgilityLevelMultiplier);\n}\n\nexport function gainCharismaExp(this: IPlayer, exp: number): void {\n if (isNaN(exp)) {\n console.error(\"ERR: NaN passed into Player.gainCharismaExp()\");\n return;\n }\n this.charisma_exp += exp;\n if (this.charisma_exp < 0) {\n this.charisma_exp = 0;\n }\n\n this.charisma = calculateSkillF(this.charisma_exp, this.charisma_mult * BitNodeMultipliers.CharismaLevelMultiplier);\n}\n\nexport function gainIntelligenceExp(this: IPlayer, exp: number): void {\n if (isNaN(exp)) {\n console.error(\"ERROR: NaN passed into Player.gainIntelligenceExp()\");\n return;\n }\n if (SourceFileFlags[5] > 0 || this.intelligence > 0) {\n this.intelligence_exp += exp;\n }\n}\n\n//Given a string expression like \"str\" or \"strength\", returns the given stat\nexport function queryStatFromString(this: IPlayer, str: string): number {\n const tempStr = str.toLowerCase();\n if (tempStr.includes(\"hack\")) {\n return this.hacking_skill;\n }\n if (tempStr.includes(\"str\")) {\n return this.strength;\n }\n if (tempStr.includes(\"def\")) {\n return this.defense;\n }\n if (tempStr.includes(\"dex\")) {\n return this.dexterity;\n }\n if (tempStr.includes(\"agi\")) {\n return this.agility;\n }\n if (tempStr.includes(\"cha\")) {\n return this.charisma;\n }\n if (tempStr.includes(\"int\")) {\n return this.intelligence;\n }\n return 0;\n}\n\n/******* Working functions *******/\nexport function resetWorkStatus(this: IPlayer, generalType?: string, group?: string, workType?: string): void {\n if (this.workType !== CONSTANTS.WorkTypeFaction && generalType === this.workType && group === this.companyName)\n return;\n if (generalType === this.workType && group === this.currentWorkFactionName && workType === this.factionWorkType)\n return;\n if (this.isWorking) this.singularityStopWork();\n this.workHackExpGainRate = 0;\n this.workStrExpGainRate = 0;\n this.workDefExpGainRate = 0;\n this.workDexExpGainRate = 0;\n this.workAgiExpGainRate = 0;\n this.workChaExpGainRate = 0;\n this.workRepGainRate = 0;\n this.workMoneyGainRate = 0;\n this.workMoneyLossRate = 0;\n\n this.workHackExpGained = 0;\n this.workStrExpGained = 0;\n this.workDefExpGained = 0;\n this.workDexExpGained = 0;\n this.workAgiExpGained = 0;\n this.workChaExpGained = 0;\n this.workRepGained = 0;\n this.workMoneyGained = 0;\n\n this.timeWorked = 0;\n this.timeWorkedCreateProgram = 0;\n\n this.currentWorkFactionName = \"\";\n this.currentWorkFactionDescription = \"\";\n this.createProgramName = \"\";\n this.className = \"\";\n}\n\nexport function processWorkEarnings(this: IPlayer, numCycles = 1): void {\n let focusBonus = 1;\n if (!this.hasAugmentation(AugmentationNames[\"NeuroreceptorManager\"])) {\n focusBonus = this.focus ? 1 : CONSTANTS.BaseFocusBonus;\n }\n const hackExpGain = focusBonus * this.workHackExpGainRate * numCycles;\n const strExpGain = focusBonus * this.workStrExpGainRate * numCycles;\n const defExpGain = focusBonus * this.workDefExpGainRate * numCycles;\n const dexExpGain = focusBonus * this.workDexExpGainRate * numCycles;\n const agiExpGain = focusBonus * this.workAgiExpGainRate * numCycles;\n const chaExpGain = focusBonus * this.workChaExpGainRate * numCycles;\n const moneyGain = (this.workMoneyGainRate - this.workMoneyLossRate) * numCycles;\n\n this.gainHackingExp(hackExpGain);\n this.gainStrengthExp(strExpGain);\n this.gainDefenseExp(defExpGain);\n this.gainDexterityExp(dexExpGain);\n this.gainAgilityExp(agiExpGain);\n this.gainCharismaExp(chaExpGain);\n this.gainMoney(moneyGain);\n if (this.className) {\n this.recordMoneySource(moneyGain, \"class\");\n } else {\n this.recordMoneySource(moneyGain, \"work\");\n }\n this.workHackExpGained += hackExpGain;\n this.workStrExpGained += strExpGain;\n this.workDefExpGained += defExpGain;\n this.workDexExpGained += dexExpGain;\n this.workAgiExpGained += agiExpGain;\n this.workChaExpGained += chaExpGain;\n this.workRepGained += focusBonus * this.workRepGainRate * numCycles;\n this.workMoneyGained += focusBonus * this.workMoneyGainRate * numCycles;\n this.workMoneyGained -= focusBonus * this.workMoneyLossRate * numCycles;\n}\n\n/* Working for Company */\nexport function startWork(this: IPlayer, router: IRouter, companyName: string): void {\n this.resetWorkStatus(CONSTANTS.WorkTypeCompany, companyName);\n this.isWorking = true;\n this.focus = true;\n this.companyName = companyName;\n this.workType = CONSTANTS.WorkTypeCompany;\n\n this.workHackExpGainRate = this.getWorkHackExpGain();\n this.workStrExpGainRate = this.getWorkStrExpGain();\n this.workDefExpGainRate = this.getWorkDefExpGain();\n this.workDexExpGainRate = this.getWorkDexExpGain();\n this.workAgiExpGainRate = this.getWorkAgiExpGain();\n this.workChaExpGainRate = this.getWorkChaExpGain();\n this.workRepGainRate = this.getWorkRepGain();\n this.workMoneyGainRate = this.getWorkMoneyGain();\n\n this.timeNeededToCompleteWork = CONSTANTS.MillisecondsPer8Hours;\n router.toWork();\n}\n\nexport function cancelationPenalty(this: IPlayer): number {\n const specialIp = SpecialServerIps[this.companyName];\n if (typeof specialIp === \"string\" && specialIp !== \"\") {\n const server = AllServers[specialIp];\n if (server instanceof Server) {\n if (server && server.backdoorInstalled) return 0.75;\n }\n }\n return 0.5;\n}\n\nexport function work(this: IPlayer, numCycles: number): boolean {\n // Cap the number of cycles being processed to whatever would put you at\n // the work time limit (8 hours)\n let overMax = false;\n if (this.timeWorked + CONSTANTS._idleSpeed * numCycles >= CONSTANTS.MillisecondsPer8Hours) {\n overMax = true;\n numCycles = Math.round((CONSTANTS.MillisecondsPer8Hours - this.timeWorked) / CONSTANTS._idleSpeed);\n }\n this.timeWorked += CONSTANTS._idleSpeed * numCycles;\n\n this.workRepGainRate = this.getWorkRepGain();\n this.processWorkEarnings(numCycles);\n\n const comp = Companies[this.companyName];\n influenceStockThroughCompanyWork(comp, this.workRepGainRate, numCycles);\n\n // If timeWorked == 8 hours, then finish. You can only gain 8 hours worth of exp and money\n if (overMax || this.timeWorked >= CONSTANTS.MillisecondsPer8Hours) {\n this.finishWork(false);\n return true;\n }\n return false;\n}\n\nexport function finishWork(this: IPlayer, cancelled: boolean, sing = false): string {\n //Since the work was cancelled early, player only gains half of what they've earned so far\n if (cancelled) {\n this.workRepGained *= this.cancelationPenalty();\n }\n\n const company = Companies[this.companyName];\n company.playerReputation += this.workRepGained;\n\n this.updateSkillLevels();\n\n let content = (\n <>\n You earned a total of:
\n \n
\n reputation for the company
\n {numeralWrapper.formatExp(this.workHackExpGained)} hacking exp
\n {numeralWrapper.formatExp(this.workStrExpGained)} strength exp
\n {numeralWrapper.formatExp(this.workDefExpGained)} defense exp
\n {numeralWrapper.formatExp(this.workDexExpGained)} dexterity exp
\n {numeralWrapper.formatExp(this.workAgiExpGained)} agility exp
\n {numeralWrapper.formatExp(this.workChaExpGained)} charisma exp\n
\n >\n );\n\n if (cancelled) {\n content = (\n <>\n You worked a short shift of {convertTimeMsToTimeElapsedString(this.timeWorked)}
\n
\n Since you cancelled your work early, you only gained half of the reputation you earned.
\n
\n {content}\n >\n );\n } else {\n content = (\n <>\n You worked a full shift of 8 hours!
\n
\n {content}\n >\n );\n }\n if (!sing) {\n dialogBoxCreate(content);\n }\n\n this.isWorking = false;\n\n this.resetWorkStatus();\n if (sing) {\n const res =\n \"You worked a short shift of \" +\n convertTimeMsToTimeElapsedString(this.timeWorked) +\n \" and \" +\n \"earned $\" +\n numeralWrapper.formatMoney(this.workMoneyGained) +\n \", \" +\n numeralWrapper.formatReputation(this.workRepGained) +\n \" reputation, \" +\n numeralWrapper.formatExp(this.workHackExpGained) +\n \" hacking exp, \" +\n numeralWrapper.formatExp(this.workStrExpGained) +\n \" strength exp, \" +\n numeralWrapper.formatExp(this.workDefExpGained) +\n \" defense exp, \" +\n numeralWrapper.formatExp(this.workDexExpGained) +\n \" dexterity exp, \" +\n numeralWrapper.formatExp(this.workAgiExpGained) +\n \" agility exp, and \" +\n numeralWrapper.formatExp(this.workChaExpGained) +\n \" charisma exp.\";\n\n return res;\n }\n\n return \"\";\n}\n\nexport function startWorkPartTime(this: IPlayer, router: IRouter, companyName: string): void {\n this.resetWorkStatus(CONSTANTS.WorkTypeCompanyPartTime, companyName);\n this.isWorking = true;\n this.focus = true;\n this.companyName = companyName;\n this.workType = CONSTANTS.WorkTypeCompanyPartTime;\n\n this.workHackExpGainRate = this.getWorkHackExpGain();\n this.workStrExpGainRate = this.getWorkStrExpGain();\n this.workDefExpGainRate = this.getWorkDefExpGain();\n this.workDexExpGainRate = this.getWorkDexExpGain();\n this.workAgiExpGainRate = this.getWorkAgiExpGain();\n this.workChaExpGainRate = this.getWorkChaExpGain();\n this.workRepGainRate = this.getWorkRepGain();\n this.workMoneyGainRate = this.getWorkMoneyGain();\n\n this.timeNeededToCompleteWork = CONSTANTS.MillisecondsPer8Hours;\n router.toWork();\n}\n\nexport function workPartTime(this: IPlayer, numCycles: number): boolean {\n //Cap the number of cycles being processed to whatever would put you at the\n //work time limit (8 hours)\n let overMax = false;\n if (this.timeWorked + CONSTANTS._idleSpeed * numCycles >= CONSTANTS.MillisecondsPer8Hours) {\n overMax = true;\n numCycles = Math.round((CONSTANTS.MillisecondsPer8Hours - this.timeWorked) / CONSTANTS._idleSpeed);\n }\n this.timeWorked += CONSTANTS._idleSpeed * numCycles;\n\n this.workRepGainRate = this.getWorkRepGain();\n this.processWorkEarnings(numCycles);\n\n //If timeWorked == 8 hours, then finish. You can only gain 8 hours worth of exp and money\n if (overMax || this.timeWorked >= CONSTANTS.MillisecondsPer8Hours) {\n this.finishWorkPartTime();\n return true;\n }\n return false;\n}\n\nexport function finishWorkPartTime(this: IPlayer, sing = false): string {\n const company = Companies[this.companyName];\n company.playerReputation += this.workRepGained;\n\n this.updateSkillLevels();\n\n const content = (\n <>\n You worked for {convertTimeMsToTimeElapsedString(this.timeWorked)}\n
\n
\n You earned a total of:
\n \n
\n reputation for the company
\n {numeralWrapper.formatExp(this.workHackExpGained)} hacking exp
\n {numeralWrapper.formatExp(this.workStrExpGained)} strength exp
\n {numeralWrapper.formatExp(this.workDefExpGained)} defense exp
\n {numeralWrapper.formatExp(this.workDexExpGained)} dexterity exp
\n {numeralWrapper.formatExp(this.workAgiExpGained)} agility exp
\n {numeralWrapper.formatExp(this.workChaExpGained)} charisma exp\n
\n >\n );\n if (!sing) {\n dialogBoxCreate(content);\n }\n\n this.isWorking = false;\n this.resetWorkStatus();\n\n if (sing) {\n const res =\n \"You worked for \" +\n convertTimeMsToTimeElapsedString(this.timeWorked) +\n \" and \" +\n \"earned a total of \" +\n \"$\" +\n numeralWrapper.formatMoney(this.workMoneyGained) +\n \", \" +\n numeralWrapper.formatReputation(this.workRepGained) +\n \" reputation, \" +\n numeralWrapper.formatExp(this.workHackExpGained) +\n \" hacking exp, \" +\n numeralWrapper.formatExp(this.workStrExpGained) +\n \" strength exp, \" +\n numeralWrapper.formatExp(this.workDefExpGained) +\n \" defense exp, \" +\n numeralWrapper.formatExp(this.workDexExpGained) +\n \" dexterity exp, \" +\n numeralWrapper.formatExp(this.workAgiExpGained) +\n \" agility exp, and \" +\n numeralWrapper.formatExp(this.workChaExpGained) +\n \" charisma exp\";\n return res;\n }\n return \"\";\n}\n\nexport function startFocusing(this: IPlayer): void {\n this.focus = true;\n}\n\nexport function stopFocusing(this: IPlayer): void {\n this.focus = false;\n}\n\n/* Working for Faction */\nexport function startFactionWork(this: IPlayer, router: IRouter, faction: Faction): void {\n //Update reputation gain rate to account for faction favor\n let favorMult = 1 + faction.favor / 100;\n if (isNaN(favorMult)) {\n favorMult = 1;\n }\n this.workRepGainRate *= favorMult;\n this.workRepGainRate *= BitNodeMultipliers.FactionWorkRepGain;\n\n this.isWorking = true;\n this.focus = true;\n this.workType = CONSTANTS.WorkTypeFaction;\n this.currentWorkFactionName = faction.name;\n\n this.timeNeededToCompleteWork = CONSTANTS.MillisecondsPer20Hours;\n router.toWork();\n}\n\nexport function startFactionHackWork(this: IPlayer, router: IRouter, faction: Faction): void {\n this.resetWorkStatus(CONSTANTS.WorkTypeFaction, faction.name, CONSTANTS.FactionWorkHacking);\n\n this.workHackExpGainRate = 0.15 * this.hacking_exp_mult * BitNodeMultipliers.FactionWorkExpGain;\n this.workRepGainRate =\n ((this.hacking_skill + this.intelligence) / CONSTANTS.MaxSkillLevel) *\n this.faction_rep_mult *\n this.getIntelligenceBonus(0.5);\n\n this.factionWorkType = CONSTANTS.FactionWorkHacking;\n this.currentWorkFactionDescription = \"carrying out hacking contracts\";\n\n this.startFactionWork(router, faction);\n}\n\nexport function startFactionFieldWork(this: IPlayer, router: IRouter, faction: Faction): void {\n this.resetWorkStatus(CONSTANTS.WorkTypeFaction, faction.name, CONSTANTS.FactionWorkField);\n\n this.workHackExpGainRate = 0.1 * this.hacking_exp_mult * BitNodeMultipliers.FactionWorkExpGain;\n this.workStrExpGainRate = 0.1 * this.strength_exp_mult * BitNodeMultipliers.FactionWorkExpGain;\n this.workDefExpGainRate = 0.1 * this.defense_exp_mult * BitNodeMultipliers.FactionWorkExpGain;\n this.workDexExpGainRate = 0.1 * this.dexterity_exp_mult * BitNodeMultipliers.FactionWorkExpGain;\n this.workAgiExpGainRate = 0.1 * this.agility_exp_mult * BitNodeMultipliers.FactionWorkExpGain;\n this.workChaExpGainRate = 0.1 * this.charisma_exp_mult * BitNodeMultipliers.FactionWorkExpGain;\n this.workRepGainRate = getFactionFieldWorkRepGain(this, faction);\n\n this.factionWorkType = CONSTANTS.FactionWorkField;\n this.currentWorkFactionDescription = \"carrying out field missions\";\n\n this.startFactionWork(router, faction);\n}\n\nexport function startFactionSecurityWork(this: IPlayer, router: IRouter, faction: Faction): void {\n this.resetWorkStatus(CONSTANTS.WorkTypeFaction, faction.name, CONSTANTS.FactionWorkSecurity);\n\n this.workHackExpGainRate = 0.05 * this.hacking_exp_mult * BitNodeMultipliers.FactionWorkExpGain;\n this.workStrExpGainRate = 0.15 * this.strength_exp_mult * BitNodeMultipliers.FactionWorkExpGain;\n this.workDefExpGainRate = 0.15 * this.defense_exp_mult * BitNodeMultipliers.FactionWorkExpGain;\n this.workDexExpGainRate = 0.15 * this.dexterity_exp_mult * BitNodeMultipliers.FactionWorkExpGain;\n this.workAgiExpGainRate = 0.15 * this.agility_exp_mult * BitNodeMultipliers.FactionWorkExpGain;\n this.workChaExpGainRate = 0.0 * this.charisma_exp_mult * BitNodeMultipliers.FactionWorkExpGain;\n this.workRepGainRate = getFactionSecurityWorkRepGain(this, faction);\n\n this.factionWorkType = CONSTANTS.FactionWorkSecurity;\n this.currentWorkFactionDescription = \"performing security detail\";\n\n this.startFactionWork(router, faction);\n}\n\nexport function workForFaction(this: IPlayer, numCycles: number): boolean {\n const faction = Factions[this.currentWorkFactionName];\n\n //Constantly update the rep gain rate\n switch (this.factionWorkType) {\n case CONSTANTS.FactionWorkHacking:\n this.workRepGainRate = getHackingWorkRepGain(this, faction);\n break;\n case CONSTANTS.FactionWorkField:\n this.workRepGainRate = getFactionFieldWorkRepGain(this, faction);\n break;\n case CONSTANTS.FactionWorkSecurity:\n this.workRepGainRate = getFactionSecurityWorkRepGain(this, faction);\n break;\n default:\n break;\n }\n\n //Cap the number of cycles being processed to whatever would put you at limit (20 hours)\n let overMax = false;\n if (this.timeWorked + CONSTANTS._idleSpeed * numCycles >= CONSTANTS.MillisecondsPer20Hours) {\n overMax = true;\n numCycles = Math.round((CONSTANTS.MillisecondsPer20Hours - this.timeWorked) / CONSTANTS._idleSpeed);\n }\n this.timeWorked += CONSTANTS._idleSpeed * numCycles;\n\n this.processWorkEarnings(numCycles);\n\n //If timeWorked == 20 hours, then finish. You can only work for the faction for 20 hours\n if (overMax || this.timeWorked >= CONSTANTS.MillisecondsPer20Hours) {\n this.finishFactionWork(false);\n return true;\n }\n return false;\n}\n\nexport function finishFactionWork(this: IPlayer, cancelled: boolean, sing = false): string {\n const faction = Factions[this.currentWorkFactionName];\n faction.playerReputation += this.workRepGained;\n\n this.updateSkillLevels();\n\n if (!sing) {\n dialogBoxCreate(\n <>\n You worked for your faction {faction.name} for a total of {convertTimeMsToTimeElapsedString(this.timeWorked)}{\" \"}\n
\n
\n You earned a total of:
\n \n
\n reputation for the faction
\n {numeralWrapper.formatExp(this.workHackExpGained)} hacking exp
\n {numeralWrapper.formatExp(this.workStrExpGained)} strength exp
\n {numeralWrapper.formatExp(this.workDefExpGained)} defense exp
\n {numeralWrapper.formatExp(this.workDexExpGained)} dexterity exp
\n {numeralWrapper.formatExp(this.workAgiExpGained)} agility exp
\n {numeralWrapper.formatExp(this.workChaExpGained)} charisma exp\n
\n >,\n );\n }\n\n this.isWorking = false;\n this.resetWorkStatus();\n if (sing) {\n const res =\n \"You worked for your faction \" +\n faction.name +\n \" for a total of \" +\n convertTimeMsToTimeElapsedString(this.timeWorked) +\n \". \" +\n \"You earned \" +\n numeralWrapper.formatReputation(this.workRepGained) +\n \" rep, \" +\n numeralWrapper.formatExp(this.workHackExpGained) +\n \" hacking exp, \" +\n numeralWrapper.formatExp(this.workStrExpGained) +\n \" str exp, \" +\n numeralWrapper.formatExp(this.workDefExpGained) +\n \" def exp, \" +\n numeralWrapper.formatExp(this.workDexExpGained) +\n \" dex exp, \" +\n numeralWrapper.formatExp(this.workAgiExpGained) +\n \" agi exp, and \" +\n numeralWrapper.formatExp(this.workChaExpGained) +\n \" cha exp.\";\n\n return res;\n }\n return \"\";\n}\n\n//Money gained per game cycle\nexport function getWorkMoneyGain(this: IPlayer): number {\n // If player has SF-11, calculate salary multiplier from favor\n let bn11Mult = 1;\n const company = Companies[this.companyName];\n if (SourceFileFlags[11] > 0) {\n bn11Mult = 1 + company.favor / 100;\n }\n\n // Get base salary\n const companyPositionName = this.jobs[this.companyName];\n const companyPosition = CompanyPositions[companyPositionName];\n if (companyPosition == null) {\n console.error(`Could not find CompanyPosition object for ${companyPositionName}. Work salary will be 0`);\n return 0;\n }\n\n return (\n companyPosition.baseSalary *\n company.salaryMultiplier *\n this.work_money_mult *\n BitNodeMultipliers.CompanyWorkMoney *\n bn11Mult\n );\n}\n\n//Hack exp gained per game cycle\nexport function getWorkHackExpGain(this: IPlayer): number {\n const company = Companies[this.companyName];\n const companyPositionName = this.jobs[this.companyName];\n const companyPosition = CompanyPositions[companyPositionName];\n if (company == null || companyPosition == null) {\n console.error(\n [\n `Could not find Company object for ${this.companyName}`,\n `or CompanyPosition object for ${companyPositionName}.`,\n `Work hack exp gain will be 0`,\n ].join(\" \"),\n );\n return 0;\n }\n\n return (\n companyPosition.hackingExpGain *\n company.expMultiplier *\n this.hacking_exp_mult *\n BitNodeMultipliers.CompanyWorkExpGain\n );\n}\n\n//Str exp gained per game cycle\nexport function getWorkStrExpGain(this: IPlayer): number {\n const company = Companies[this.companyName];\n const companyPositionName = this.jobs[this.companyName];\n const companyPosition = CompanyPositions[companyPositionName];\n if (company == null || companyPosition == null) {\n console.error(\n [\n `Could not find Company object for ${this.companyName}`,\n `or CompanyPosition object for ${companyPositionName}.`,\n `Work str exp gain will be 0`,\n ].join(\" \"),\n );\n return 0;\n }\n\n return (\n companyPosition.strengthExpGain *\n company.expMultiplier *\n this.strength_exp_mult *\n BitNodeMultipliers.CompanyWorkExpGain\n );\n}\n\n//Def exp gained per game cycle\nexport function getWorkDefExpGain(this: IPlayer): number {\n const company = Companies[this.companyName];\n const companyPositionName = this.jobs[this.companyName];\n const companyPosition = CompanyPositions[companyPositionName];\n if (company == null || companyPosition == null) {\n console.error(\n [\n `Could not find Company object for ${this.companyName}`,\n `or CompanyPosition object for ${companyPositionName}.`,\n `Work def exp gain will be 0`,\n ].join(\" \"),\n );\n return 0;\n }\n\n return (\n companyPosition.defenseExpGain *\n company.expMultiplier *\n this.defense_exp_mult *\n BitNodeMultipliers.CompanyWorkExpGain\n );\n}\n\n//Dex exp gained per game cycle\nexport function getWorkDexExpGain(this: IPlayer): number {\n const company = Companies[this.companyName];\n const companyPositionName = this.jobs[this.companyName];\n const companyPosition = CompanyPositions[companyPositionName];\n if (company == null || companyPosition == null) {\n console.error(\n [\n `Could not find Company object for ${this.companyName}`,\n `or CompanyPosition object for ${companyPositionName}.`,\n `Work dex exp gain will be 0`,\n ].join(\" \"),\n );\n return 0;\n }\n\n return (\n companyPosition.dexterityExpGain *\n company.expMultiplier *\n this.dexterity_exp_mult *\n BitNodeMultipliers.CompanyWorkExpGain\n );\n}\n\n//Agi exp gained per game cycle\nexport function getWorkAgiExpGain(this: IPlayer): number {\n const company = Companies[this.companyName];\n const companyPositionName = this.jobs[this.companyName];\n const companyPosition = CompanyPositions[companyPositionName];\n if (company == null || companyPosition == null) {\n console.error(\n [\n `Could not find Company object for ${this.companyName}`,\n `or CompanyPosition object for ${companyPositionName}.`,\n `Work agi exp gain will be 0`,\n ].join(\" \"),\n );\n return 0;\n }\n\n return (\n companyPosition.agilityExpGain *\n company.expMultiplier *\n this.agility_exp_mult *\n BitNodeMultipliers.CompanyWorkExpGain\n );\n}\n\n//Charisma exp gained per game cycle\nexport function getWorkChaExpGain(this: IPlayer): number {\n const company = Companies[this.companyName];\n const companyPositionName = this.jobs[this.companyName];\n const companyPosition = CompanyPositions[companyPositionName];\n if (company == null || companyPosition == null) {\n console.error(\n [\n `Could not find Company object for ${this.companyName}`,\n `or CompanyPosition object for ${companyPositionName}.`,\n `Work cha exp gain will be 0`,\n ].join(\" \"),\n );\n return 0;\n }\n\n return (\n companyPosition.charismaExpGain *\n company.expMultiplier *\n this.charisma_exp_mult *\n BitNodeMultipliers.CompanyWorkExpGain\n );\n}\n\n//Reputation gained per game cycle\nexport function getWorkRepGain(this: IPlayer): number {\n const company = Companies[this.companyName];\n const companyPositionName = this.jobs[this.companyName];\n const companyPosition = CompanyPositions[companyPositionName];\n if (company == null || companyPosition == null) {\n console.error(\n [\n `Could not find Company object for ${this.companyName}`,\n `or CompanyPosition object for ${companyPositionName}.`,\n `Work rep gain will be 0`,\n ].join(\" \"),\n );\n return 0;\n }\n\n let jobPerformance = companyPosition.calculateJobPerformance(\n this.hacking_skill,\n this.strength,\n this.defense,\n this.dexterity,\n this.agility,\n this.charisma,\n );\n\n //Intelligence provides a flat bonus to job performance\n jobPerformance += this.intelligence / CONSTANTS.MaxSkillLevel;\n\n //Update reputation gain rate to account for company favor\n let favorMult = 1 + company.favor / 100;\n if (isNaN(favorMult)) {\n favorMult = 1;\n }\n return jobPerformance * this.company_rep_mult * favorMult;\n}\n\n// export function getFactionSecurityWorkRepGain(this: IPlayer) {\n// var t = 0.9 * (this.hacking_skill / CONSTANTS.MaxSkillLevel +\n// this.strength / CONSTANTS.MaxSkillLevel +\n// this.defense / CONSTANTS.MaxSkillLevel +\n// this.dexterity / CONSTANTS.MaxSkillLevel +\n// this.agility / CONSTANTS.MaxSkillLevel) / 4.5;\n// return t * this.faction_rep_mult;\n// }\n\n// export function getFactionFieldWorkRepGain(this: IPlayer) {\n// var t = 0.9 * (this.hacking_skill / CONSTANTS.MaxSkillLevel +\n// this.strength / CONSTANTS.MaxSkillLevel +\n// this.defense / CONSTANTS.MaxSkillLevel +\n// this.dexterity / CONSTANTS.MaxSkillLevel +\n// this.agility / CONSTANTS.MaxSkillLevel +\n// this.charisma / CONSTANTS.MaxSkillLevel +\n// this.intelligence / CONSTANTS.MaxSkillLevel) / 5.5;\n// return t * this.faction_rep_mult;\n// }\n\n/* Creating a Program */\nexport function startCreateProgramWork(\n this: IPlayer,\n router: IRouter,\n programName: string,\n time: number,\n reqLevel: number,\n): void {\n this.resetWorkStatus();\n this.isWorking = true;\n this.focus = true;\n this.workType = CONSTANTS.WorkTypeCreateProgram;\n\n //Time needed to complete work affected by hacking skill (linearly based on\n //ratio of (your skill - required level) to MAX skill)\n //var timeMultiplier = (CONSTANTS.MaxSkillLevel - (this.hacking_skill - reqLevel)) / CONSTANTS.MaxSkillLevel;\n //if (timeMultiplier > 1) {timeMultiplier = 1;}\n //if (timeMultiplier < 0.01) {timeMultiplier = 0.01;}\n this.createProgramReqLvl = reqLevel;\n\n this.timeNeededToCompleteWork = time;\n //Check for incomplete program\n for (let i = 0; i < this.getHomeComputer().programs.length; ++i) {\n const programFile = this.getHomeComputer().programs[i];\n if (programFile.startsWith(programName) && programFile.endsWith(\"%-INC\")) {\n const res = programFile.split(\"-\");\n if (res.length != 3) {\n break;\n }\n const percComplete = Number(res[1].slice(0, -1));\n if (isNaN(percComplete) || percComplete < 0 || percComplete >= 100) {\n break;\n }\n this.timeWorkedCreateProgram = (percComplete / 100) * this.timeNeededToCompleteWork;\n this.getHomeComputer().programs.splice(i, 1);\n }\n }\n\n this.createProgramName = programName;\n router.toWork();\n}\n\nexport function createProgramWork(this: IPlayer, numCycles: number): boolean {\n //Higher hacking skill will allow you to create programs faster\n const reqLvl = this.createProgramReqLvl;\n let skillMult = (this.hacking_skill / reqLvl) * this.getIntelligenceBonus(3); //This should always be greater than 1;\n skillMult = 1 + (skillMult - 1) / 5; //The divider constant can be adjusted as necessary\n\n //Skill multiplier directly applied to \"time worked\"\n this.timeWorked += CONSTANTS._idleSpeed * numCycles;\n this.timeWorkedCreateProgram += CONSTANTS._idleSpeed * numCycles * skillMult;\n\n if (this.timeWorkedCreateProgram >= this.timeNeededToCompleteWork) {\n this.finishCreateProgramWork(false);\n return true;\n }\n return false;\n}\n\nexport function finishCreateProgramWork(this: IPlayer, cancelled: boolean): string {\n const programName = this.createProgramName;\n if (cancelled === false) {\n dialogBoxCreate(\n \"You've finished creating \" + programName + \"!
\" + \"The new program can be found on your home computer.\",\n );\n\n this.getHomeComputer().programs.push(programName);\n } else {\n const perc = (Math.floor((this.timeWorkedCreateProgram / this.timeNeededToCompleteWork) * 10000) / 100).toString();\n const incompleteName = programName + \"-\" + perc + \"%-INC\";\n this.getHomeComputer().programs.push(incompleteName);\n }\n\n if (!cancelled) {\n this.gainIntelligenceExp(this.createProgramReqLvl / CONSTANTS.IntelligenceProgramBaseExpGain);\n }\n\n this.isWorking = false;\n\n this.resetWorkStatus();\n return \"You've finished creating \" + programName + \"! The new program can be found on your home computer.\";\n}\n\n/* Studying/Taking Classes */\nexport function startClass(this: IPlayer, router: IRouter, costMult: number, expMult: number, className: string): void {\n this.resetWorkStatus();\n this.isWorking = true;\n this.focus = true;\n this.workType = CONSTANTS.WorkTypeStudyClass;\n\n this.className = className;\n\n const gameCPS = 1000 / CONSTANTS._idleSpeed;\n\n //Find cost and exp gain per game cycle\n let cost = 0;\n let hackExp = 0,\n strExp = 0,\n defExp = 0,\n dexExp = 0,\n agiExp = 0,\n chaExp = 0;\n const hashManager = this.hashManager;\n switch (className) {\n case CONSTANTS.ClassStudyComputerScience:\n hackExp = ((CONSTANTS.ClassStudyComputerScienceBaseExp * expMult) / gameCPS) * hashManager.getStudyMult();\n break;\n case CONSTANTS.ClassDataStructures:\n cost = (CONSTANTS.ClassDataStructuresBaseCost * costMult) / gameCPS;\n hackExp = ((CONSTANTS.ClassDataStructuresBaseExp * expMult) / gameCPS) * hashManager.getStudyMult();\n break;\n case CONSTANTS.ClassNetworks:\n cost = (CONSTANTS.ClassNetworksBaseCost * costMult) / gameCPS;\n hackExp = ((CONSTANTS.ClassNetworksBaseExp * expMult) / gameCPS) * hashManager.getStudyMult();\n break;\n case CONSTANTS.ClassAlgorithms:\n cost = (CONSTANTS.ClassAlgorithmsBaseCost * costMult) / gameCPS;\n hackExp = ((CONSTANTS.ClassAlgorithmsBaseExp * expMult) / gameCPS) * hashManager.getStudyMult();\n break;\n case CONSTANTS.ClassManagement:\n cost = (CONSTANTS.ClassManagementBaseCost * costMult) / gameCPS;\n chaExp = ((CONSTANTS.ClassManagementBaseExp * expMult) / gameCPS) * hashManager.getStudyMult();\n break;\n case CONSTANTS.ClassLeadership:\n cost = (CONSTANTS.ClassLeadershipBaseCost * costMult) / gameCPS;\n chaExp = ((CONSTANTS.ClassLeadershipBaseExp * expMult) / gameCPS) * hashManager.getStudyMult();\n break;\n case CONSTANTS.ClassGymStrength:\n cost = (CONSTANTS.ClassGymBaseCost * costMult) / gameCPS;\n strExp = (expMult / gameCPS) * hashManager.getTrainingMult();\n break;\n case CONSTANTS.ClassGymDefense:\n cost = (CONSTANTS.ClassGymBaseCost * costMult) / gameCPS;\n defExp = (expMult / gameCPS) * hashManager.getTrainingMult();\n break;\n case CONSTANTS.ClassGymDexterity:\n cost = (CONSTANTS.ClassGymBaseCost * costMult) / gameCPS;\n dexExp = (expMult / gameCPS) * hashManager.getTrainingMult();\n break;\n case CONSTANTS.ClassGymAgility:\n cost = (CONSTANTS.ClassGymBaseCost * costMult) / gameCPS;\n agiExp = (expMult / gameCPS) * hashManager.getTrainingMult();\n break;\n default:\n throw new Error(\"ERR: Invalid/unrecognized class name\");\n return;\n }\n\n this.workMoneyLossRate = cost;\n this.workHackExpGainRate = hackExp * this.hacking_exp_mult * BitNodeMultipliers.ClassGymExpGain;\n this.workStrExpGainRate = strExp * this.strength_exp_mult * BitNodeMultipliers.ClassGymExpGain;\n this.workDefExpGainRate = defExp * this.defense_exp_mult * BitNodeMultipliers.ClassGymExpGain;\n this.workDexExpGainRate = dexExp * this.dexterity_exp_mult * BitNodeMultipliers.ClassGymExpGain;\n this.workAgiExpGainRate = agiExp * this.agility_exp_mult * BitNodeMultipliers.ClassGymExpGain;\n this.workChaExpGainRate = chaExp * this.charisma_exp_mult * BitNodeMultipliers.ClassGymExpGain;\n router.toWork();\n}\n\nexport function takeClass(this: IPlayer, numCycles: number): boolean {\n this.timeWorked += CONSTANTS._idleSpeed * numCycles;\n this.processWorkEarnings(numCycles);\n return false;\n}\n\n//The 'sing' argument defines whether or not this function was called\n//through a Singularity Netscript function\nexport function finishClass(this: IPlayer, sing = false): string {\n this.gainIntelligenceExp(CONSTANTS.IntelligenceClassBaseExpGain * Math.round(this.timeWorked / 1000));\n\n if (this.workMoneyGained > 0) {\n throw new Error(\"ERR: Somehow gained money while taking class\");\n }\n\n this.updateSkillLevels();\n if (!sing) {\n dialogBoxCreate(\n <>\n After {this.className} for {convertTimeMsToTimeElapsedString(this.timeWorked)},
\n you spent a total of .
\n
\n You earned a total of:
\n {numeralWrapper.formatExp(this.workHackExpGained)} hacking exp
\n {numeralWrapper.formatExp(this.workStrExpGained)} strength exp
\n {numeralWrapper.formatExp(this.workDefExpGained)} defense exp
\n {numeralWrapper.formatExp(this.workDexExpGained)} dexterity exp
\n {numeralWrapper.formatExp(this.workAgiExpGained)} agility exp
\n {numeralWrapper.formatExp(this.workChaExpGained)} charisma exp\n
\n >,\n );\n }\n\n this.isWorking = false;\n\n if (sing) {\n const res =\n \"After \" +\n this.className +\n \" for \" +\n convertTimeMsToTimeElapsedString(this.timeWorked) +\n \", \" +\n \"you spent a total of \" +\n numeralWrapper.formatMoney(this.workMoneyGained * -1) +\n \". \" +\n \"You earned a total of: \" +\n numeralWrapper.formatExp(this.workHackExpGained) +\n \" hacking exp, \" +\n numeralWrapper.formatExp(this.workStrExpGained) +\n \" strength exp, \" +\n numeralWrapper.formatExp(this.workDefExpGained) +\n \" defense exp, \" +\n numeralWrapper.formatExp(this.workDexExpGained) +\n \" dexterity exp, \" +\n numeralWrapper.formatExp(this.workAgiExpGained) +\n \" agility exp, and \" +\n numeralWrapper.formatExp(this.workChaExpGained) +\n \" charisma exp\";\n this.resetWorkStatus();\n return res;\n }\n this.resetWorkStatus();\n return \"\";\n}\n\n//The EXP and $ gains are hardcoded. Time is in ms\nexport function startCrime(\n this: IPlayer,\n router: IRouter,\n crimeType: string,\n hackExp: number,\n strExp: number,\n defExp: number,\n dexExp: number,\n agiExp: number,\n chaExp: number,\n money: number,\n time: number,\n workerscript: WorkerScript | null = null,\n): void {\n this.crimeType = crimeType;\n\n this.resetWorkStatus();\n this.isWorking = true;\n this.focus = true;\n this.workType = CONSTANTS.WorkTypeCrime;\n\n if (workerscript !== null) {\n this.committingCrimeThruSingFn = true;\n this.singFnCrimeWorkerScript = workerscript;\n }\n\n this.workHackExpGained = hackExp * this.hacking_exp_mult * BitNodeMultipliers.CrimeExpGain;\n this.workStrExpGained = strExp * this.strength_exp_mult * BitNodeMultipliers.CrimeExpGain;\n this.workDefExpGained = defExp * this.defense_exp_mult * BitNodeMultipliers.CrimeExpGain;\n this.workDexExpGained = dexExp * this.dexterity_exp_mult * BitNodeMultipliers.CrimeExpGain;\n this.workAgiExpGained = agiExp * this.agility_exp_mult * BitNodeMultipliers.CrimeExpGain;\n this.workChaExpGained = chaExp * this.charisma_exp_mult * BitNodeMultipliers.CrimeExpGain;\n this.workMoneyGained = money * this.crime_money_mult * BitNodeMultipliers.CrimeMoney;\n\n this.timeNeededToCompleteWork = time;\n router.toWork();\n}\n\nexport function commitCrime(this: IPlayer, numCycles: number): boolean {\n this.timeWorked += CONSTANTS._idleSpeed * numCycles;\n\n if (this.timeWorked >= this.timeNeededToCompleteWork) {\n this.finishCrime(false);\n return true;\n }\n return false;\n}\n\nexport function finishCrime(this: IPlayer, cancelled: boolean): string {\n //Determine crime success/failure\n if (!cancelled) {\n if (determineCrimeSuccess(this, this.crimeType)) {\n //Handle Karma and crime statistics\n let crime = null;\n for (const i in Crimes) {\n if (Crimes[i].type == this.crimeType) {\n crime = Crimes[i];\n break;\n }\n }\n if (crime == null) {\n dialogBoxCreate(\n `ERR: Unrecognized crime type (${this.crimeType}). This is probably a bug please contact the developer`,\n );\n return \"\";\n }\n this.gainMoney(this.workMoneyGained);\n this.recordMoneySource(this.workMoneyGained, \"crime\");\n this.karma -= crime.karma;\n this.numPeopleKilled += crime.kills;\n if (crime.intelligence_exp > 0) {\n this.gainIntelligenceExp(crime.intelligence_exp);\n }\n\n //On a crime success, gain 2x exp\n this.workHackExpGained *= 2;\n this.workStrExpGained *= 2;\n this.workDefExpGained *= 2;\n this.workDexExpGained *= 2;\n this.workAgiExpGained *= 2;\n this.workChaExpGained *= 2;\n const ws = this.singFnCrimeWorkerScript;\n if (this.committingCrimeThruSingFn && ws !== null) {\n if (ws.disableLogs.ALL == null && ws.disableLogs.commitCrime == null) {\n ws.scriptRef.log(\n \"Crime successful! Gained \" +\n numeralWrapper.formatMoney(this.workMoneyGained) +\n \", \" +\n numeralWrapper.formatExp(this.workHackExpGained) +\n \" hack exp, \" +\n numeralWrapper.formatExp(this.workStrExpGained) +\n \" str exp, \" +\n numeralWrapper.formatExp(this.workDefExpGained) +\n \" def exp, \" +\n numeralWrapper.formatExp(this.workDexExpGained) +\n \" dex exp, \" +\n numeralWrapper.formatExp(this.workAgiExpGained) +\n \" agi exp, \" +\n numeralWrapper.formatExp(this.workChaExpGained) +\n \" cha exp.\",\n );\n }\n } else {\n dialogBoxCreate(\n <>\n Crime successful!\n
\n
\n You gained:\n
\n \n
\n {numeralWrapper.formatExp(this.workHackExpGained)} hacking experience
\n {numeralWrapper.formatExp(this.workStrExpGained)} strength experience\n
\n {numeralWrapper.formatExp(this.workDefExpGained)} defense experience\n
\n {numeralWrapper.formatExp(this.workDexExpGained)} dexterity experience\n
\n {numeralWrapper.formatExp(this.workAgiExpGained)} agility experience\n
\n {numeralWrapper.formatExp(this.workChaExpGained)} charisma experience\n >,\n );\n }\n } else {\n //Exp halved on failure\n this.workHackExpGained /= 2;\n this.workStrExpGained /= 2;\n this.workDefExpGained /= 2;\n this.workDexExpGained /= 2;\n this.workAgiExpGained /= 2;\n this.workChaExpGained /= 2;\n const ws = this.singFnCrimeWorkerScript;\n if (this.committingCrimeThruSingFn && ws !== null) {\n if (ws.disableLogs.ALL == null && ws.disableLogs.commitCrime == null) {\n ws.scriptRef.log(\n \"Crime failed! Gained \" +\n numeralWrapper.formatExp(this.workHackExpGained) +\n \" hack exp, \" +\n numeralWrapper.formatExp(this.workStrExpGained) +\n \" str exp, \" +\n numeralWrapper.formatExp(this.workDefExpGained) +\n \" def exp, \" +\n numeralWrapper.formatExp(this.workDexExpGained) +\n \" dex exp, \" +\n numeralWrapper.formatExp(this.workAgiExpGained) +\n \" agi exp, \" +\n numeralWrapper.formatExp(this.workChaExpGained) +\n \" cha exp.\",\n );\n }\n } else {\n dialogBoxCreate(\n <>\n Crime failed!\n
\n
\n You gained:\n
\n {numeralWrapper.formatExp(this.workHackExpGained)} hacking experience
\n {numeralWrapper.formatExp(this.workStrExpGained)} strength experience\n
\n {numeralWrapper.formatExp(this.workDefExpGained)} defense experience\n
\n {numeralWrapper.formatExp(this.workDexExpGained)} dexterity experience\n
\n {numeralWrapper.formatExp(this.workAgiExpGained)} agility experience\n
\n {numeralWrapper.formatExp(this.workChaExpGained)} charisma experience\n >,\n );\n }\n }\n\n this.gainHackingExp(this.workHackExpGained);\n this.gainStrengthExp(this.workStrExpGained);\n this.gainDefenseExp(this.workDefExpGained);\n this.gainDexterityExp(this.workDexExpGained);\n this.gainAgilityExp(this.workAgiExpGained);\n this.gainCharismaExp(this.workChaExpGained);\n }\n this.committingCrimeThruSingFn = false;\n this.singFnCrimeWorkerScript = null;\n this.isWorking = false;\n this.crimeType = \"\";\n this.resetWorkStatus();\n return \"\";\n}\n\n//Cancels the player's current \"work\" assignment and gives the proper rewards\n//Used only for Singularity functions, so no popups are created\nexport function singularityStopWork(this: IPlayer): string {\n if (!this.isWorking) {\n return \"\";\n }\n let res = \"\"; //Earnings text for work\n switch (this.workType) {\n case CONSTANTS.WorkTypeStudyClass:\n res = this.finishClass(true);\n break;\n case CONSTANTS.WorkTypeCompany:\n res = this.finishWork(true, true);\n break;\n case CONSTANTS.WorkTypeCompanyPartTime:\n res = this.finishWorkPartTime(true);\n break;\n case CONSTANTS.WorkTypeFaction:\n res = this.finishFactionWork(true, true);\n break;\n case CONSTANTS.WorkTypeCreateProgram:\n res = this.finishCreateProgramWork(true);\n break;\n case CONSTANTS.WorkTypeCrime:\n res = this.finishCrime(true);\n break;\n default:\n console.error(`Unrecognized work type (${this.workType})`);\n return \"\";\n }\n return res;\n}\n\n// Returns true if hospitalized, false otherwise\nexport function takeDamage(this: IPlayer, amt: number): boolean {\n if (typeof amt !== \"number\") {\n console.warn(`Player.takeDamage() called without a numeric argument: ${amt}`);\n return false;\n }\n\n this.hp -= amt;\n if (this.hp <= 0) {\n this.hospitalize();\n return true;\n } else {\n return false;\n }\n}\n\nexport function regenerateHp(this: IPlayer, amt: number): void {\n if (typeof amt !== \"number\") {\n console.warn(`Player.regenerateHp() called without a numeric argument: ${amt}`);\n return;\n }\n this.hp += amt;\n if (this.hp > this.max_hp) {\n this.hp = this.max_hp;\n }\n}\n\nexport function hospitalize(this: IPlayer): number {\n const cost = getHospitalizationCost(this);\n if (Settings.SuppressHospitalizationPopup === false) {\n dialogBoxCreate(\n <>\n You were in critical condition! You were taken to the hospital where luckily they were able to save your life.\n You were charged \n \n >,\n );\n }\n\n this.loseMoney(cost);\n this.recordMoneySource(-1 * cost, \"hospitalization\");\n this.hp = this.max_hp;\n return cost;\n}\n\n/********* Company job application **********/\n//Determines the job that the Player should get (if any) at the current company\n//The 'sing' argument designates whether or not this is being called from\n//the applyToCompany() Netscript Singularity function\nexport function applyForJob(this: IPlayer, entryPosType: CompanyPosition, sing = false): boolean {\n // Get current company and job\n let currCompany = null;\n if (this.companyName !== \"\") {\n currCompany = Companies[this.companyName];\n }\n const currPositionName = this.jobs[this.companyName];\n\n // Get company that's being applied to\n const company = Companies[this.location]; //Company being applied to\n if (!(company instanceof Company)) {\n console.error(`Could not find company that matches the location: ${this.location}. Player.applyToCompany() failed`);\n return false;\n }\n\n let pos = entryPosType;\n\n if (!this.isQualified(company, pos)) {\n const reqText = getJobRequirementText(company, pos);\n if (!sing) {\n dialogBoxCreate(\"Unforunately, you do not qualify for this position
\" + reqText);\n }\n return false;\n }\n\n while (true) {\n const newPos = getNextCompanyPositionHelper(pos);\n if (newPos == null) {\n break;\n }\n\n //Check if this company has this position\n if (company.hasPosition(newPos)) {\n if (!this.isQualified(company, newPos)) {\n //If player not qualified for next job, break loop so player will be given current job\n break;\n }\n pos = newPos;\n } else {\n break;\n }\n }\n\n //Check if the determined job is the same as the player's current job\n if (currCompany != null) {\n if (currCompany.name == company.name && pos.name == currPositionName) {\n const nextPos = getNextCompanyPositionHelper(pos);\n if (nextPos == null) {\n if (!sing) {\n dialogBoxCreate(\"You are already at the highest position for your field! No promotion available\");\n }\n return false;\n } else if (company.hasPosition(nextPos)) {\n if (!sing) {\n const reqText = getJobRequirementText(company, nextPos);\n dialogBoxCreate(\"Unfortunately, you do not qualify for a promotion
\" + reqText);\n }\n return false;\n } else {\n if (!sing) {\n dialogBoxCreate(\"You are already at the highest position for your field! No promotion available\");\n }\n return false;\n }\n return false; //Same job, do nothing\n }\n }\n\n this.jobs[company.name] = pos.name;\n this.companyName = this.location;\n\n if (!sing) {\n dialogBoxCreate(\"Congratulations! You were offered a new job at \" + this.companyName + \" as a \" + pos.name + \"!\");\n }\n return true;\n}\n\n//Returns your next position at a company given the field (software, business, etc.)\nexport function getNextCompanyPosition(\n this: IPlayer,\n company: Company,\n entryPosType: CompanyPosition,\n): CompanyPosition | null {\n let currCompany = null;\n if (this.companyName !== \"\") {\n currCompany = Companies[this.companyName];\n }\n\n //Not employed at this company, so return the entry position\n if (currCompany == null || currCompany.name != company.name) {\n return entryPosType;\n }\n\n //If the entry pos type and the player's current position have the same type,\n //return the player's \"nextCompanyPosition\". Otherwise return the entryposType\n //Employed at this company, so just return the next position if it exists.\n const currentPositionName = this.jobs[this.companyName];\n const currentPosition = CompanyPositions[currentPositionName];\n if (\n (currentPosition.isSoftwareJob() && entryPosType.isSoftwareJob()) ||\n (currentPosition.isITJob() && entryPosType.isITJob()) ||\n (currentPosition.isBusinessJob() && entryPosType.isBusinessJob()) ||\n (currentPosition.isSecurityEngineerJob() && entryPosType.isSecurityEngineerJob()) ||\n (currentPosition.isNetworkEngineerJob() && entryPosType.isNetworkEngineerJob()) ||\n (currentPosition.isSecurityJob() && entryPosType.isSecurityJob()) ||\n (currentPosition.isAgentJob() && entryPosType.isAgentJob()) ||\n (currentPosition.isSoftwareConsultantJob() && entryPosType.isSoftwareConsultantJob()) ||\n (currentPosition.isBusinessConsultantJob() && entryPosType.isBusinessConsultantJob()) ||\n (currentPosition.isPartTimeJob() && entryPosType.isPartTimeJob())\n ) {\n return getNextCompanyPositionHelper(currentPosition);\n }\n\n return entryPosType;\n}\n\nexport function quitJob(this: IPlayer, company: string): void {\n this.isWorking = false;\n this.companyName = \"\";\n delete this.jobs[company];\n}\n\nexport function applyForSoftwareJob(this: IPlayer, sing = false): boolean {\n return this.applyForJob(CompanyPositions[posNames.SoftwareCompanyPositions[0]], sing);\n}\n\nexport function applyForSoftwareConsultantJob(this: IPlayer, sing = false): boolean {\n return this.applyForJob(CompanyPositions[posNames.SoftwareConsultantCompanyPositions[0]], sing);\n}\n\nexport function applyForItJob(this: IPlayer, sing = false): boolean {\n return this.applyForJob(CompanyPositions[posNames.ITCompanyPositions[0]], sing);\n}\n\nexport function applyForSecurityEngineerJob(this: IPlayer, sing = false): boolean {\n const company = Companies[this.location]; //Company being applied to\n if (this.isQualified(company, CompanyPositions[posNames.SecurityEngineerCompanyPositions[0]])) {\n return this.applyForJob(CompanyPositions[posNames.SecurityEngineerCompanyPositions[0]], sing);\n } else {\n if (!sing) {\n dialogBoxCreate(\"Unforunately, you do not qualify for this position\");\n }\n return false;\n }\n}\n\nexport function applyForNetworkEngineerJob(this: IPlayer, sing = false): boolean {\n const company = Companies[this.location]; //Company being applied to\n if (this.isQualified(company, CompanyPositions[posNames.NetworkEngineerCompanyPositions[0]])) {\n const pos = CompanyPositions[posNames.NetworkEngineerCompanyPositions[0]];\n return this.applyForJob(pos, sing);\n } else {\n if (!sing) {\n dialogBoxCreate(\"Unforunately, you do not qualify for this position\");\n }\n return false;\n }\n}\n\nexport function applyForBusinessJob(this: IPlayer, sing = false): boolean {\n return this.applyForJob(CompanyPositions[posNames.BusinessCompanyPositions[0]], sing);\n}\n\nexport function applyForBusinessConsultantJob(this: IPlayer, sing = false): boolean {\n return this.applyForJob(CompanyPositions[posNames.BusinessConsultantCompanyPositions[0]], sing);\n}\n\nexport function applyForSecurityJob(this: IPlayer, sing = false): boolean {\n // TODO Police Jobs\n // Indexing starts at 2 because 0 is for police officer\n return this.applyForJob(CompanyPositions[posNames.SecurityCompanyPositions[2]], sing);\n}\n\nexport function applyForAgentJob(this: IPlayer, sing = false): boolean {\n const company = Companies[this.location]; //Company being applied to\n if (this.isQualified(company, CompanyPositions[posNames.AgentCompanyPositions[0]])) {\n const pos = CompanyPositions[posNames.AgentCompanyPositions[0]];\n return this.applyForJob(pos, sing);\n } else {\n if (!sing) {\n dialogBoxCreate(\"Unforunately, you do not qualify for this position\");\n }\n return false;\n }\n}\n\nexport function applyForEmployeeJob(this: IPlayer, sing = false): boolean {\n const company = Companies[this.location]; //Company being applied to\n if (this.isQualified(company, CompanyPositions[posNames.MiscCompanyPositions[1]])) {\n this.companyName = company.name;\n this.jobs[company.name] = posNames.MiscCompanyPositions[1];\n if (!sing) {\n dialogBoxCreate(\"Congratulations, you are now employed at \" + this.companyName);\n }\n\n return true;\n } else {\n if (!sing) {\n dialogBoxCreate(\"Unforunately, you do not qualify for this position\");\n }\n\n return false;\n }\n}\n\nexport function applyForPartTimeEmployeeJob(this: IPlayer, sing = false): boolean {\n const company = Companies[this.location]; //Company being applied to\n if (this.isQualified(company, CompanyPositions[posNames.PartTimeCompanyPositions[1]])) {\n this.jobs[company.name] = posNames.PartTimeCompanyPositions[1];\n if (!sing) {\n dialogBoxCreate(\"Congratulations, you are now employed part-time at \" + this.companyName);\n }\n\n return true;\n } else {\n if (!sing) {\n dialogBoxCreate(\"Unforunately, you do not qualify for this position\");\n }\n\n return false;\n }\n}\n\nexport function applyForWaiterJob(this: IPlayer, sing = false): boolean {\n const company = Companies[this.location]; //Company being applied to\n if (this.isQualified(company, CompanyPositions[posNames.MiscCompanyPositions[0]])) {\n this.companyName = company.name;\n this.jobs[company.name] = posNames.MiscCompanyPositions[0];\n if (!sing) {\n dialogBoxCreate(\"Congratulations, you are now employed as a waiter at \" + this.companyName);\n }\n return true;\n } else {\n if (!sing) {\n dialogBoxCreate(\"Unforunately, you do not qualify for this position\");\n }\n return false;\n }\n}\n\nexport function applyForPartTimeWaiterJob(this: IPlayer, sing = false): boolean {\n const company = Companies[this.location]; //Company being applied to\n if (this.isQualified(company, CompanyPositions[posNames.PartTimeCompanyPositions[0]])) {\n this.companyName = company.name;\n this.jobs[company.name] = posNames.PartTimeCompanyPositions[0];\n if (!sing) {\n dialogBoxCreate(\"Congratulations, you are now employed as a part-time waiter at \" + this.companyName);\n }\n return true;\n } else {\n if (!sing) {\n dialogBoxCreate(\"Unforunately, you do not qualify for this position\");\n }\n return false;\n }\n}\n\n//Checks if the Player is qualified for a certain position\nexport function isQualified(this: IPlayer, company: Company, position: CompanyPosition): boolean {\n const offset = company.jobStatReqOffset;\n const reqHacking = position.requiredHacking > 0 ? position.requiredHacking + offset : 0;\n const reqStrength = position.requiredStrength > 0 ? position.requiredStrength + offset : 0;\n const reqDefense = position.requiredDefense > 0 ? position.requiredDefense + offset : 0;\n const reqDexterity = position.requiredDexterity > 0 ? position.requiredDexterity + offset : 0;\n const reqAgility = position.requiredDexterity > 0 ? position.requiredDexterity + offset : 0;\n const reqCharisma = position.requiredCharisma > 0 ? position.requiredCharisma + offset : 0;\n\n if (\n this.hacking_skill >= reqHacking &&\n this.strength >= reqStrength &&\n this.defense >= reqDefense &&\n this.dexterity >= reqDexterity &&\n this.agility >= reqAgility &&\n this.charisma >= reqCharisma &&\n company.playerReputation >= position.requiredReputation\n ) {\n return true;\n }\n return false;\n}\n\n/********** Reapplying Augmentations and Source File ***********/\nexport function reapplyAllAugmentations(this: IPlayer, resetMultipliers = true): void {\n if (resetMultipliers) {\n this.resetMultipliers();\n }\n\n for (let i = 0; i < this.augmentations.length; ++i) {\n //Compatibility with new version\n if (this.augmentations[i].name === \"HacknetNode NIC Architecture Neural-Upload\") {\n this.augmentations[i].name = \"Hacknet Node NIC Architecture Neural-Upload\";\n }\n\n const augName = this.augmentations[i].name;\n const aug = Augmentations[augName];\n if (aug == null) {\n console.warn(`Invalid augmentation name in Player.reapplyAllAugmentations(). Aug ${augName} will be skipped`);\n continue;\n }\n aug.owned = true;\n if (aug.name == AugmentationNames.NeuroFluxGovernor) {\n for (let j = 0; j < aug.level; ++j) {\n applyAugmentation(this.augmentations[i], true);\n }\n continue;\n }\n applyAugmentation(this.augmentations[i], true);\n }\n\n this.updateSkillLevels();\n}\n\nexport function reapplyAllSourceFiles(this: IPlayer): void {\n //Will always be called after reapplyAllAugmentations() so multipliers do not have to be reset\n //this.resetMultipliers();\n\n for (let i = 0; i < this.sourceFiles.length; ++i) {\n const srcFileKey = \"SourceFile\" + this.sourceFiles[i].n;\n const sourceFileObject = SourceFiles[srcFileKey];\n if (sourceFileObject == null) {\n console.error(`Invalid source file number: ${this.sourceFiles[i].n}`);\n continue;\n }\n applySourceFile(this.sourceFiles[i]);\n }\n applyExploit();\n}\n\n/*************** Check for Faction Invitations *************/\n//This function sets the requirements to join a Faction. It checks whether the Player meets\n//those requirements and will return an array of all factions that the Player should\n//receive an invitation to\nexport function checkForFactionInvitations(this: IPlayer): Faction[] {\n const invitedFactions: Faction[] = []; //Array which will hold all Factions the player should be invited to\n\n const numAugmentations = this.augmentations.length;\n\n const allCompanies = Object.keys(this.jobs);\n const allPositions = Object.values(this.jobs);\n\n // Given a company name, safely returns the reputation (returns 0 if invalid company is specified)\n function getCompanyRep(companyName: string): number {\n const company = Companies[companyName];\n if (company == null) {\n return 0;\n } else {\n return company.playerReputation;\n }\n }\n\n // Helper function that returns a boolean indicating whether the Player meets\n // the requirements for the specified company. There are two requirements:\n // 1. High enough reputation\n // 2. Player is employed at the company\n function checkMegacorpRequirements(companyName: string, repNeeded = CONSTANTS.CorpFactionRepRequirement): boolean {\n return allCompanies.includes(companyName) && getCompanyRep(companyName) > repNeeded;\n }\n\n //Illuminati\n const illuminatiFac = Factions[\"Illuminati\"];\n if (\n !illuminatiFac.isBanned &&\n !illuminatiFac.isMember &&\n !illuminatiFac.alreadyInvited &&\n numAugmentations >= 30 &&\n this.money.gte(150000000000) &&\n this.hacking_skill >= 1500 &&\n this.strength >= 1200 &&\n this.defense >= 1200 &&\n this.dexterity >= 1200 &&\n this.agility >= 1200\n ) {\n invitedFactions.push(illuminatiFac);\n }\n\n //Daedalus\n const daedalusFac = Factions[\"Daedalus\"];\n if (\n !daedalusFac.isBanned &&\n !daedalusFac.isMember &&\n !daedalusFac.alreadyInvited &&\n numAugmentations >= Math.round(30 * BitNodeMultipliers.DaedalusAugsRequirement) &&\n this.money.gte(100000000000) &&\n (this.hacking_skill >= 2500 ||\n (this.strength >= 1500 && this.defense >= 1500 && this.dexterity >= 1500 && this.agility >= 1500))\n ) {\n invitedFactions.push(daedalusFac);\n }\n\n //The Covenant\n const covenantFac = Factions[\"The Covenant\"];\n if (\n !covenantFac.isBanned &&\n !covenantFac.isMember &&\n !covenantFac.alreadyInvited &&\n numAugmentations >= 20 &&\n this.money.gte(75000000000) &&\n this.hacking_skill >= 850 &&\n this.strength >= 850 &&\n this.defense >= 850 &&\n this.dexterity >= 850 &&\n this.agility >= 850\n ) {\n invitedFactions.push(covenantFac);\n }\n\n //ECorp\n const ecorpFac = Factions[\"ECorp\"];\n if (\n !ecorpFac.isBanned &&\n !ecorpFac.isMember &&\n !ecorpFac.alreadyInvited &&\n checkMegacorpRequirements(LocationName.AevumECorp)\n ) {\n invitedFactions.push(ecorpFac);\n }\n\n //MegaCorp\n const megacorpFac = Factions[\"MegaCorp\"];\n if (\n !megacorpFac.isBanned &&\n !megacorpFac.isMember &&\n !megacorpFac.alreadyInvited &&\n checkMegacorpRequirements(LocationName.Sector12MegaCorp)\n ) {\n invitedFactions.push(megacorpFac);\n }\n\n //Bachman & Associates\n const bachmanandassociatesFac = Factions[\"Bachman & Associates\"];\n if (\n !bachmanandassociatesFac.isBanned &&\n !bachmanandassociatesFac.isMember &&\n !bachmanandassociatesFac.alreadyInvited &&\n checkMegacorpRequirements(LocationName.AevumBachmanAndAssociates)\n ) {\n invitedFactions.push(bachmanandassociatesFac);\n }\n\n //Blade Industries\n const bladeindustriesFac = Factions[\"Blade Industries\"];\n if (\n !bladeindustriesFac.isBanned &&\n !bladeindustriesFac.isMember &&\n !bladeindustriesFac.alreadyInvited &&\n checkMegacorpRequirements(LocationName.Sector12BladeIndustries)\n ) {\n invitedFactions.push(bladeindustriesFac);\n }\n\n //NWO\n const nwoFac = Factions[\"NWO\"];\n if (\n !nwoFac.isBanned &&\n !nwoFac.isMember &&\n !nwoFac.alreadyInvited &&\n checkMegacorpRequirements(LocationName.VolhavenNWO)\n ) {\n invitedFactions.push(nwoFac);\n }\n\n //Clarke Incorporated\n const clarkeincorporatedFac = Factions[\"Clarke Incorporated\"];\n if (\n !clarkeincorporatedFac.isBanned &&\n !clarkeincorporatedFac.isMember &&\n !clarkeincorporatedFac.alreadyInvited &&\n checkMegacorpRequirements(LocationName.AevumClarkeIncorporated)\n ) {\n invitedFactions.push(clarkeincorporatedFac);\n }\n\n //OmniTek Incorporated\n const omnitekincorporatedFac = Factions[\"OmniTek Incorporated\"];\n if (\n !omnitekincorporatedFac.isBanned &&\n !omnitekincorporatedFac.isMember &&\n !omnitekincorporatedFac.alreadyInvited &&\n checkMegacorpRequirements(LocationName.VolhavenOmniTekIncorporated)\n ) {\n invitedFactions.push(omnitekincorporatedFac);\n }\n\n //Four Sigma\n const foursigmaFac = Factions[\"Four Sigma\"];\n if (\n !foursigmaFac.isBanned &&\n !foursigmaFac.isMember &&\n !foursigmaFac.alreadyInvited &&\n checkMegacorpRequirements(LocationName.Sector12FourSigma)\n ) {\n invitedFactions.push(foursigmaFac);\n }\n\n //KuaiGong International\n const kuaigonginternationalFac = Factions[\"KuaiGong International\"];\n if (\n !kuaigonginternationalFac.isBanned &&\n !kuaigonginternationalFac.isMember &&\n !kuaigonginternationalFac.alreadyInvited &&\n checkMegacorpRequirements(LocationName.ChongqingKuaiGongInternational)\n ) {\n invitedFactions.push(kuaigonginternationalFac);\n }\n\n //Fulcrum Secret Technologies - If u've unlocked fulcrum secret technolgoies server and have a high rep with the company\n const fulcrumsecrettechonologiesFac = Factions[\"Fulcrum Secret Technologies\"];\n const fulcrumIP = SpecialServerIps[SpecialServerNames.BitRunnersServer];\n if (typeof fulcrumIP !== \"string\") throw new Error(\"Fulcrum Secret Technologies should be string\");\n const fulcrumSecretServer = AllServers[fulcrumIP];\n if (!(fulcrumSecretServer instanceof Server)) throw new Error(\"Fulcrum Secret Technologies should be normal server\");\n if (fulcrumSecretServer == null) {\n console.error(\"Could not find Fulcrum Secret Technologies Server\");\n } else {\n if (\n !fulcrumsecrettechonologiesFac.isBanned &&\n !fulcrumsecrettechonologiesFac.isMember &&\n !fulcrumsecrettechonologiesFac.alreadyInvited &&\n fulcrumSecretServer.backdoorInstalled &&\n checkMegacorpRequirements(LocationName.AevumFulcrumTechnologies, 250e3)\n ) {\n invitedFactions.push(fulcrumsecrettechonologiesFac);\n }\n }\n\n //BitRunners\n const bitrunnersFac = Factions[\"BitRunners\"];\n const bitrunnerIP = SpecialServerIps[SpecialServerNames.BitRunnersServer];\n if (typeof bitrunnerIP !== \"string\") throw new Error(\"BitRunners should be string\");\n const bitrunnersServer = AllServers[bitrunnerIP];\n if (!(bitrunnersServer instanceof Server)) throw new Error(\"BitRunners should be normal server\");\n if (bitrunnersServer == null) {\n console.error(\"Could not find BitRunners Server\");\n } else if (\n !bitrunnersFac.isBanned &&\n !bitrunnersFac.isMember &&\n bitrunnersServer.backdoorInstalled &&\n !bitrunnersFac.alreadyInvited\n ) {\n invitedFactions.push(bitrunnersFac);\n }\n\n //The Black Hand\n\n const theblackhandFac = Factions[\"The Black Hand\"];\n const tbhIP = SpecialServerIps[SpecialServerNames.TheBlackHandServer];\n if (typeof tbhIP !== \"string\") throw new Error(\"TheBlackHand should be string\");\n const blackhandServer = AllServers[tbhIP];\n if (!(blackhandServer instanceof Server)) throw new Error(\"TheBlackHand should be normal server\");\n if (blackhandServer == null) {\n console.error(\"Could not find The Black Hand Server\");\n } else if (\n !theblackhandFac.isBanned &&\n !theblackhandFac.isMember &&\n blackhandServer.backdoorInstalled &&\n !theblackhandFac.alreadyInvited\n ) {\n invitedFactions.push(theblackhandFac);\n }\n\n //NiteSec\n const nitesecFac = Factions[\"NiteSec\"];\n const nitesecIP = SpecialServerIps[SpecialServerNames.NiteSecServer];\n if (typeof nitesecIP !== \"string\") throw new Error(\"NiteSec should be string\");\n const nitesecServer = AllServers[nitesecIP];\n if (!(nitesecServer instanceof Server)) throw new Error(\"NiteSec should be normal server\");\n if (nitesecServer == null) {\n console.error(\"Could not find NiteSec Server\");\n } else if (\n !nitesecFac.isBanned &&\n !nitesecFac.isMember &&\n nitesecServer.backdoorInstalled &&\n !nitesecFac.alreadyInvited\n ) {\n invitedFactions.push(nitesecFac);\n }\n\n //Chongqing\n const chongqingFac = Factions[\"Chongqing\"];\n if (\n !chongqingFac.isBanned &&\n !chongqingFac.isMember &&\n !chongqingFac.alreadyInvited &&\n this.money.gte(20000000) &&\n this.city == CityName.Chongqing\n ) {\n invitedFactions.push(chongqingFac);\n }\n\n //Sector-12\n const sector12Fac = Factions[\"Sector-12\"];\n if (\n !sector12Fac.isBanned &&\n !sector12Fac.isMember &&\n !sector12Fac.alreadyInvited &&\n this.money.gte(15000000) &&\n this.city == CityName.Sector12\n ) {\n invitedFactions.push(sector12Fac);\n }\n\n //New Tokyo\n const newtokyoFac = Factions[\"New Tokyo\"];\n if (\n !newtokyoFac.isBanned &&\n !newtokyoFac.isMember &&\n !newtokyoFac.alreadyInvited &&\n this.money.gte(20000000) &&\n this.city == CityName.NewTokyo\n ) {\n invitedFactions.push(newtokyoFac);\n }\n\n //Aevum\n const aevumFac = Factions[\"Aevum\"];\n if (\n !aevumFac.isBanned &&\n !aevumFac.isMember &&\n !aevumFac.alreadyInvited &&\n this.money.gte(40000000) &&\n this.city == CityName.Aevum\n ) {\n invitedFactions.push(aevumFac);\n }\n\n //Ishima\n const ishimaFac = Factions[\"Ishima\"];\n if (\n !ishimaFac.isBanned &&\n !ishimaFac.isMember &&\n !ishimaFac.alreadyInvited &&\n this.money.gte(30000000) &&\n this.city == CityName.Ishima\n ) {\n invitedFactions.push(ishimaFac);\n }\n\n //Volhaven\n const volhavenFac = Factions[\"Volhaven\"];\n if (\n !volhavenFac.isBanned &&\n !volhavenFac.isMember &&\n !volhavenFac.alreadyInvited &&\n this.money.gte(50000000) &&\n this.city == CityName.Volhaven\n ) {\n invitedFactions.push(volhavenFac);\n }\n\n //Speakers for the Dead\n const speakersforthedeadFac = Factions[\"Speakers for the Dead\"];\n if (\n !speakersforthedeadFac.isBanned &&\n !speakersforthedeadFac.isMember &&\n !speakersforthedeadFac.alreadyInvited &&\n this.hacking_skill >= 100 &&\n this.strength >= 300 &&\n this.defense >= 300 &&\n this.dexterity >= 300 &&\n this.agility >= 300 &&\n this.numPeopleKilled >= 30 &&\n this.karma <= -45 &&\n !allCompanies.includes(LocationName.Sector12CIA) &&\n !allCompanies.includes(LocationName.Sector12NSA)\n ) {\n invitedFactions.push(speakersforthedeadFac);\n }\n\n //The Dark Army\n const thedarkarmyFac = Factions[\"The Dark Army\"];\n if (\n !thedarkarmyFac.isBanned &&\n !thedarkarmyFac.isMember &&\n !thedarkarmyFac.alreadyInvited &&\n this.hacking_skill >= 300 &&\n this.strength >= 300 &&\n this.defense >= 300 &&\n this.dexterity >= 300 &&\n this.agility >= 300 &&\n this.city == CityName.Chongqing &&\n this.numPeopleKilled >= 5 &&\n this.karma <= -45 &&\n !allCompanies.includes(LocationName.Sector12CIA) &&\n !allCompanies.includes(LocationName.Sector12NSA)\n ) {\n invitedFactions.push(thedarkarmyFac);\n }\n\n //The Syndicate\n const thesyndicateFac = Factions[\"The Syndicate\"];\n if (\n !thesyndicateFac.isBanned &&\n !thesyndicateFac.isMember &&\n !thesyndicateFac.alreadyInvited &&\n this.hacking_skill >= 200 &&\n this.strength >= 200 &&\n this.defense >= 200 &&\n this.dexterity >= 200 &&\n this.agility >= 200 &&\n (this.city == CityName.Aevum || this.city == CityName.Sector12) &&\n this.money.gte(10000000) &&\n this.karma <= -90 &&\n !allCompanies.includes(LocationName.Sector12CIA) &&\n !allCompanies.includes(LocationName.Sector12NSA)\n ) {\n invitedFactions.push(thesyndicateFac);\n }\n\n //Silhouette\n const silhouetteFac = Factions[\"Silhouette\"];\n if (\n !silhouetteFac.isBanned &&\n !silhouetteFac.isMember &&\n !silhouetteFac.alreadyInvited &&\n (allPositions.includes(\"Chief Technology Officer\") ||\n allPositions.includes(\"Chief Financial Officer\") ||\n allPositions.includes(\"Chief Executive Officer\")) &&\n this.money.gte(15000000) &&\n this.karma <= -22\n ) {\n invitedFactions.push(silhouetteFac);\n }\n\n //Tetrads\n const tetradsFac = Factions[\"Tetrads\"];\n if (\n !tetradsFac.isBanned &&\n !tetradsFac.isMember &&\n !tetradsFac.alreadyInvited &&\n (this.city == CityName.Chongqing || this.city == CityName.NewTokyo || this.city == CityName.Ishima) &&\n this.strength >= 75 &&\n this.defense >= 75 &&\n this.dexterity >= 75 &&\n this.agility >= 75 &&\n this.karma <= -18\n ) {\n invitedFactions.push(tetradsFac);\n }\n\n //SlumSnakes\n const slumsnakesFac = Factions[\"Slum Snakes\"];\n if (\n !slumsnakesFac.isBanned &&\n !slumsnakesFac.isMember &&\n !slumsnakesFac.alreadyInvited &&\n this.strength >= 30 &&\n this.defense >= 30 &&\n this.dexterity >= 30 &&\n this.agility >= 30 &&\n this.karma <= -9 &&\n this.money.gte(1000000)\n ) {\n invitedFactions.push(slumsnakesFac);\n }\n\n //Netburners\n const netburnersFac = Factions[\"Netburners\"];\n let totalHacknetRam = 0;\n let totalHacknetCores = 0;\n let totalHacknetLevels = 0;\n for (let i = 0; i < this.hacknetNodes.length; ++i) {\n const v = this.hacknetNodes[i];\n if (typeof v === \"string\") {\n const hserver = AllServers[v];\n if (hserver instanceof Server) throw new Error(\"player hacknet server was not HacknetServer\");\n totalHacknetLevels += hserver.level;\n totalHacknetRam += hserver.maxRam;\n totalHacknetCores += hserver.cores;\n } else {\n totalHacknetLevels += v.level;\n totalHacknetRam += v.ram;\n totalHacknetCores += v.cores;\n }\n }\n if (\n !netburnersFac.isBanned &&\n !netburnersFac.isMember &&\n !netburnersFac.alreadyInvited &&\n this.hacking_skill >= 80 &&\n totalHacknetRam >= 8 &&\n totalHacknetCores >= 4 &&\n totalHacknetLevels >= 100\n ) {\n invitedFactions.push(netburnersFac);\n }\n\n //Tian Di Hui\n const tiandihuiFac = Factions[\"Tian Di Hui\"];\n if (\n !tiandihuiFac.isBanned &&\n !tiandihuiFac.isMember &&\n !tiandihuiFac.alreadyInvited &&\n this.money.gte(1000000) &&\n this.hacking_skill >= 50 &&\n (this.city == CityName.Chongqing || this.city == CityName.NewTokyo || this.city == CityName.Ishima)\n ) {\n invitedFactions.push(tiandihuiFac);\n }\n\n //CyberSec\n const cybersecFac = Factions[\"CyberSec\"];\n const cyberSecIP = SpecialServerIps[SpecialServerNames.CyberSecServer];\n if (typeof cyberSecIP !== \"string\") throw new Error(\"cybersec should be string\");\n const cybersecServer = AllServers[cyberSecIP];\n if (!(cybersecServer instanceof Server)) throw new Error(\"cybersec should be normal server\");\n if (cybersecServer == null) {\n console.error(\"Could not find CyberSec Server\");\n } else if (\n !cybersecFac.isBanned &&\n !cybersecFac.isMember &&\n cybersecServer.backdoorInstalled &&\n !cybersecFac.alreadyInvited\n ) {\n invitedFactions.push(cybersecFac);\n }\n\n return invitedFactions;\n}\n\n/************* BitNodes **************/\nexport function setBitNodeNumber(this: IPlayer, n: number): void {\n this.bitNodeN = n;\n}\n\nexport function queueAugmentation(this: IPlayer, name: string): void {\n for (const i in this.queuedAugmentations) {\n if (this.queuedAugmentations[i].name == name) {\n console.warn(`tried to queue ${name} twice, this may be a bug`);\n return;\n }\n }\n\n for (const i in this.augmentations) {\n if (this.augmentations[i].name == name) {\n console.warn(`tried to queue ${name} twice, this may be a bug`);\n return;\n }\n }\n\n this.queuedAugmentations.push(new PlayerOwnedAugmentation(name));\n}\n\n/************* Coding Contracts **************/\nexport function gainCodingContractReward(this: IPlayer, reward: ICodingContractReward, difficulty = 1): string {\n if (reward == null || reward.type == null || reward == null) {\n return `No reward for this contract`;\n }\n\n /* eslint-disable no-case-declarations */\n switch (reward.type) {\n case CodingContractRewardType.FactionReputation:\n if (reward.name == null || !(Factions[reward.name] instanceof Faction)) {\n // If no/invalid faction was designated, just give rewards to all factions\n reward.type = CodingContractRewardType.FactionReputationAll;\n return this.gainCodingContractReward(reward);\n }\n const repGain = CONSTANTS.CodingContractBaseFactionRepGain * difficulty;\n Factions[reward.name].playerReputation += repGain;\n return `Gained ${repGain} faction reputation for ${reward.name}`;\n case CodingContractRewardType.FactionReputationAll:\n const totalGain = CONSTANTS.CodingContractBaseFactionRepGain * difficulty;\n\n // Ignore Bladeburners and other special factions for this calculation\n const specialFactions = [\"Bladeburners\"];\n const factions = this.factions.slice().filter((f) => {\n return !specialFactions.includes(f);\n });\n\n // If the player was only part of the special factions, we'll just give money\n if (factions.length == 0) {\n reward.type = CodingContractRewardType.Money;\n return this.gainCodingContractReward(reward, difficulty);\n }\n\n const gainPerFaction = Math.floor(totalGain / factions.length);\n for (const facName of factions) {\n if (!(Factions[facName] instanceof Faction)) {\n continue;\n }\n Factions[facName].playerReputation += gainPerFaction;\n }\n return `Gained ${gainPerFaction} reputation for each of the following factions: ${factions.toString()}`;\n break;\n case CodingContractRewardType.CompanyReputation: {\n if (reward.name == null || !(Companies[reward.name] instanceof Company)) {\n //If no/invalid company was designated, just give rewards to all factions\n reward.type = CodingContractRewardType.FactionReputationAll;\n return this.gainCodingContractReward(reward);\n }\n const repGain = CONSTANTS.CodingContractBaseCompanyRepGain * difficulty;\n Companies[reward.name].playerReputation += repGain;\n return `Gained ${repGain} company reputation for ${reward.name}`;\n }\n case CodingContractRewardType.Money:\n default: {\n const moneyGain = CONSTANTS.CodingContractBaseMoneyGain * difficulty * BitNodeMultipliers.CodingContractMoney;\n this.gainMoney(moneyGain);\n this.recordMoneySource(moneyGain, \"codingcontract\");\n return `Gained ${numeralWrapper.formatMoney(moneyGain)}`;\n }\n }\n /* eslint-enable no-case-declarations */\n}\n\nexport function travel(this: IPlayer, to: CityName): boolean {\n if (Cities[to] == null) {\n console.warn(`Player.travel() called with invalid city: ${to}`);\n return false;\n }\n this.city = to;\n\n return true;\n}\n\nexport function gotoLocation(this: IPlayer, to: LocationName): boolean {\n if (Locations[to] == null) {\n console.warn(`Player.gotoLocation() called with invalid location: ${to}`);\n return false;\n }\n this.location = to;\n\n return true;\n}\n\nexport function canAccessResleeving(this: IPlayer): boolean {\n return this.bitNodeN === 10 || SourceFileFlags[10] > 0;\n}\n\nexport function giveExploit(this: IPlayer, exploit: Exploit): void {\n if (!this.exploits.includes(exploit)) {\n this.exploits.push(exploit);\n }\n}\n\nexport function getIntelligenceBonus(this: IPlayer, weight: number): number {\n return calculateIntelligenceBonus(this.intelligence, weight);\n}\n\nexport function getCasinoWinnings(this: IPlayer): number {\n return this.moneySourceA.casino;\n}\n\nexport function getMult(this: IPlayer, name: string): number {\n if (!this.hasOwnProperty(name)) return 1;\n return (this as any)[name];\n}\n\nexport function setMult(this: IPlayer, name: string, mult: number): void {\n if (!this.hasOwnProperty(name)) return;\n (this as any)[name] = mult;\n}\n","import { IMap } from \"../types\";\n\nexport const EmployeePositions: IMap = {\n Operations: \"Operations\",\n Engineer: \"Engineer\",\n Business: \"Business\",\n Management: \"Management\",\n RandD: \"Research & Development\",\n Training: \"Training\",\n Unassigned: \"Unassigned\",\n};\n","import React from \"react\";\nimport { ResearchTree } from \"./ResearchTree\";\nimport { ICorporation } from \"./ICorporation\";\nimport { getBaseResearchTreeCopy, getProductIndustryResearchTreeCopy } from \"./data/BaseResearchTree\";\nimport { MoneyCost } from \"./ui/MoneyCost\";\n\ninterface IIndustryMap {\n [key: string]: T | undefined;\n Energy: T;\n Utilities: T;\n Agriculture: T;\n Fishing: T;\n Mining: T;\n Food: T;\n Tobacco: T;\n Chemical: T;\n Pharmaceutical: T;\n Computer: T;\n Robotics: T;\n Software: T;\n Healthcare: T;\n RealEstate: T;\n}\n\n// Map of official names for each Industry\nexport const Industries: IIndustryMap = {\n Energy: \"Energy\",\n Utilities: \"Water Utilities\",\n Agriculture: \"Agriculture\",\n Fishing: \"Fishing\",\n Mining: \"Mining\",\n Food: \"Food\",\n Tobacco: \"Tobacco\",\n Chemical: \"Chemical\",\n Pharmaceutical: \"Pharmaceutical\",\n Computer: \"Computer Hardware\",\n Robotics: \"Robotics\",\n Software: \"Software\",\n Healthcare: \"Healthcare\",\n RealEstate: \"RealEstate\",\n};\n\n// Map of how much money it takes to start each industry\nexport const IndustryStartingCosts: IIndustryMap = {\n Energy: 225e9,\n Utilities: 150e9,\n Agriculture: 40e9,\n Fishing: 80e9,\n Mining: 300e9,\n Food: 10e9,\n Tobacco: 20e9,\n Chemical: 70e9,\n Pharmaceutical: 200e9,\n Computer: 500e9,\n Robotics: 1e12,\n Software: 25e9,\n Healthcare: 750e9,\n RealEstate: 600e9,\n};\n\n// Map of description for each industry\nexport const IndustryDescriptions: IIndustryMap<(corp: ICorporation) => React.ReactElement> = {\n Energy: (corp: ICorporation) => (\n <>\n Engage in the production and distribution of energy.\n
\n
\n Starting cost: \n
\n Recommended starting Industry: NO\n >\n ),\n Utilities: (corp: ICorporation) => (\n <>\n Distribute water and provide wastewater services.\n
\n
\n Starting cost: \n
\n Recommended starting Industry: NO\n >\n ),\n Agriculture: (corp: ICorporation) => (\n <>\n Cultivate crops and breed livestock to produce food.\n
\n
\n Starting cost: \n
\n Recommended starting Industry: YES\n >\n ),\n Fishing: (corp: ICorporation) => (\n <>\n Produce food through the breeding and processing of fish and fish products.\n
\n
\n Starting cost: \n
\n Recommended starting Industry: NO\n >\n ),\n Mining: (corp: ICorporation) => (\n <>\n Extract and process metals from the earth.\n
\n
\n Starting cost: \n
\n Recommended starting Industry: NO\n >\n ),\n Food: (corp: ICorporation) => (\n <>\n Create your own restaurants all around the world.\n
\n
\n Starting cost: \n
\n Recommended starting Industry: YES\n >\n ),\n Tobacco: (corp: ICorporation) => (\n <>\n Create and distribute tobacco and tobacco-related products.\n
\n
\n Starting cost: \n
\n Recommended starting Industry: YES\n >\n ),\n Chemical: (corp: ICorporation) => (\n <>\n Produce industrial chemicals.\n
\n
\n Starting cost: \n
\n Recommended starting Industry: NO\n >\n ),\n Pharmaceutical: (corp: ICorporation) => (\n <>\n Discover, develop, and create new pharmaceutical drugs.\n
\n
\n Starting cost: \n
\n Recommended starting Industry: NO\n >\n ),\n Computer: (corp: ICorporation) => (\n <>\n Develop and manufacture new computer hardware and networking infrastructures.\n
\n
\n Starting cost: \n
\n Recommended starting Industry: NO\n >\n ),\n Robotics: (corp: ICorporation) => (\n <>\n Develop and create robots.\n
\n
\n Starting cost: \n
\n Recommended starting Industry: NO\n >\n ),\n Software: (corp: ICorporation) => (\n <>\n Develop computer software and create AI Cores.\n
\n
\n Starting cost: \n
\n Recommended starting Industry: YES\n >\n ),\n Healthcare: (corp: ICorporation) => (\n <>\n Create and manage hospitals.\n
\n
\n Starting cost: \n
\n Recommended starting Industry: NO\n >\n ),\n RealEstate: (corp: ICorporation) => (\n <>\n Develop and manage real estate properties.\n
\n
\n Starting cost: \n
\n Recommended starting Industry: NO\n >\n ),\n};\n\n// Map of available Research for each Industry. This data is held in a\n// ResearchTree object\nexport const IndustryResearchTrees: IIndustryMap = {\n Energy: getBaseResearchTreeCopy(),\n Utilities: getBaseResearchTreeCopy(),\n Agriculture: getBaseResearchTreeCopy(),\n Fishing: getBaseResearchTreeCopy(),\n Mining: getBaseResearchTreeCopy(),\n Food: getProductIndustryResearchTreeCopy(),\n Tobacco: getProductIndustryResearchTreeCopy(),\n Chemical: getBaseResearchTreeCopy(),\n Pharmaceutical: getProductIndustryResearchTreeCopy(),\n Computer: getProductIndustryResearchTreeCopy(),\n Robotics: getProductIndustryResearchTreeCopy(),\n Software: getProductIndustryResearchTreeCopy(),\n Healthcare: getProductIndustryResearchTreeCopy(),\n RealEstate: getProductIndustryResearchTreeCopy(),\n};\n\nexport function resetIndustryResearchTrees(): void {\n IndustryResearchTrees.Energy = getBaseResearchTreeCopy();\n IndustryResearchTrees.Utilities = getBaseResearchTreeCopy();\n IndustryResearchTrees.Agriculture = getBaseResearchTreeCopy();\n IndustryResearchTrees.Fishing = getBaseResearchTreeCopy();\n IndustryResearchTrees.Mining = getBaseResearchTreeCopy();\n IndustryResearchTrees.Food = getBaseResearchTreeCopy();\n IndustryResearchTrees.Tobacco = getBaseResearchTreeCopy();\n IndustryResearchTrees.Chemical = getBaseResearchTreeCopy();\n IndustryResearchTrees.Pharmaceutical = getBaseResearchTreeCopy();\n IndustryResearchTrees.Computer = getBaseResearchTreeCopy();\n IndustryResearchTrees.Robotics = getBaseResearchTreeCopy();\n IndustryResearchTrees.Software = getBaseResearchTreeCopy();\n IndustryResearchTrees.Healthcare = getBaseResearchTreeCopy();\n IndustryResearchTrees.RealEstate = getBaseResearchTreeCopy();\n}\n","/**\n * Enum defining the different types of possible locations\n */\nexport enum LocationType {\n Company,\n Gym,\n Hospital,\n Slums,\n Special, // This location has special options/activities (e.g. Bladeburner, Re-sleeving)\n StockMarket,\n TechVendor,\n TravelAgency,\n University,\n Casino,\n}\n","export const BladeburnerConstants: {\n CityNames: string[];\n CyclesPerSecond: number;\n StaminaGainPerSecond: number;\n BaseStaminaLoss: number;\n MaxStaminaToGainFactor: number;\n DifficultyToTimeFactor: number;\n DiffMultExponentialFactor: number;\n DiffMultLinearFactor: number;\n EffAgiLinearFactor: number;\n EffDexLinearFactor: number;\n EffAgiExponentialFactor: number;\n EffDexExponentialFactor: number;\n BaseRecruitmentTimeNeeded: number;\n PopulationThreshold: number;\n PopulationExponent: number;\n ChaosThreshold: number;\n BaseStatGain: number;\n BaseIntGain: number;\n ActionCountGrowthPeriod: number;\n RankToFactionRepFactor: number;\n RankNeededForFaction: number;\n ContractSuccessesPerLevel: number;\n OperationSuccessesPerLevel: number;\n RanksPerSkillPoint: number;\n ContractBaseMoneyGain: number;\n HrcHpGain: number;\n HrcStaminaGain: number;\n} = {\n CityNames: [\"Aevum\", \"Chongqing\", \"Sector-12\", \"New Tokyo\", \"Ishima\", \"Volhaven\"],\n CyclesPerSecond: 5, // Game cycle is 200 ms\n\n StaminaGainPerSecond: 0.0085,\n BaseStaminaLoss: 0.285, // Base stamina loss per action. Increased based on difficulty\n MaxStaminaToGainFactor: 70000, // Max Stamina is divided by this to get bonus stamina gain\n\n DifficultyToTimeFactor: 10, // Action Difficulty divided by this to get base action time\n\n /**\n * The difficulty multiplier affects stamina loss and hp loss of an action. Also affects\n * experience gain. Its formula is:\n * difficulty ^ exponentialFactor + difficulty / linearFactor\n */\n DiffMultExponentialFactor: 0.28,\n DiffMultLinearFactor: 650,\n\n /**\n * These factors are used to calculate action time.\n * They affect how much action time is reduced based on your agility and dexterity\n */\n EffAgiLinearFactor: 10e3,\n EffDexLinearFactor: 10e3,\n EffAgiExponentialFactor: 0.04,\n EffDexExponentialFactor: 0.035,\n\n BaseRecruitmentTimeNeeded: 300, // Base time needed (s) to complete a Recruitment action\n\n PopulationThreshold: 1e9, // Population which determines baseline success rate\n PopulationExponent: 0.7, // Exponent that influences how different populations affect success rate\n ChaosThreshold: 50, // City chaos level after which it starts making tasks harder\n\n BaseStatGain: 1, // Base stat gain per second\n BaseIntGain: 0.003, // Base intelligence stat gain\n\n ActionCountGrowthPeriod: 480, // Time (s) it takes for action count to grow by its specified value\n\n RankToFactionRepFactor: 2, // Delta Faction Rep = this * Delta Rank\n RankNeededForFaction: 25,\n\n ContractSuccessesPerLevel: 3, // How many successes you need to level up a contract\n OperationSuccessesPerLevel: 2.5, // How many successes you need to level up an op\n\n RanksPerSkillPoint: 3, // How many ranks needed to get 1 Skill Point\n\n ContractBaseMoneyGain: 250e3, // Base Money Gained per contract\n\n HrcHpGain: 2, // HP Gained from Hyperbolic Regeneration chamber\n HrcStaminaGain: 1, // Percentage Stamina gained from Hyperbolic Regeneration Chamber\n};\n","import { IMap } from \"../../types\";\n\nexport const LiteratureNames: IMap = {\n HackersStartingHandbook: \"hackers-starting-handbook.lit\",\n CorporationManagementHandbook: \"corporation-management-handbook.lit\",\n HistoryOfSynthoids: \"history-of-synthoids.lit\",\n AGreenTomorrow: \"A-Green-Tomorrow.lit\",\n AlphaOmega: \"alpha-omega.lit\",\n SimulatedReality: \"simulated-reality.lit\",\n BeyondMan: \"beyond-man.lit\",\n BrighterThanTheSun: \"brighter-than-the-sun.lit\",\n DemocracyIsDead: \"democracy-is-dead.lit\",\n Sector12Crime: \"sector-12-crime.lit\",\n ManAndMachine: \"man-and-machine.lit\",\n SecretSocieties: \"secret-societies.lit\",\n TheFailedFrontier: \"the-failed-frontier.lit\",\n CodedIntelligence: \"coded-intelligence.lit\",\n SyntheticMuscles: \"synthetic-muscles.lit\",\n TensionsInTechRace: \"tensions-in-tech-race.lit\",\n CostOfImmortality: \"cost-of-immortality.lit\",\n TheHiddenWorld: \"the-hidden-world.lit\",\n TheNewGod: \"the-new-god.lit\",\n NewTriads: \"new-triads.lit\",\n TheSecretWar: \"the-secret-war.lit\",\n};\n","// Class representing a single hackable Server\nimport { BaseServer } from \"./BaseServer\";\n\nimport { BitNodeMultipliers } from \"../BitNode/BitNodeMultipliers\";\n\nimport { createRandomString } from \"../utils/helpers/createRandomString\";\nimport { createRandomIp } from \"../utils/IPAddress\";\nimport { Generic_fromJSON, Generic_toJSON, Reviver } from \"../utils/JSONReviver\";\n\nexport interface IConstructorParams {\n adminRights?: boolean;\n hackDifficulty?: number;\n hostname: string;\n ip?: string;\n isConnectedTo?: boolean;\n maxRam?: number;\n moneyAvailable?: number;\n numOpenPortsRequired?: number;\n organizationName?: string;\n purchasedByPlayer?: boolean;\n requiredHackingSkill?: number;\n serverGrowth?: number;\n}\n\nexport class Server extends BaseServer {\n // Flag indicating whether this server has a backdoor installed by a player\n backdoorInstalled = false;\n\n // Initial server security level\n // (i.e. security level when the server was created)\n baseDifficulty = 1;\n\n // Server Security Level\n hackDifficulty = 1;\n\n // Minimum server security level that this server can be weakened to\n minDifficulty = 1;\n\n // How much money currently resides on the server and can be hacked\n moneyAvailable = 0;\n\n // Maximum amount of money that this server can hold\n moneyMax = 0;\n\n // Number of open ports required in order to gain admin/root access\n numOpenPortsRequired = 5;\n\n // How many ports are currently opened on the server\n openPortCount = 0;\n\n // Flag indicating wehther this is a purchased server\n purchasedByPlayer = false;\n\n // Hacking level required to hack this server\n requiredHackingSkill = 1;\n\n // Parameter that affects how effectively this server's money can\n // be increased using the grow() Netscript function\n serverGrowth = 1;\n\n constructor(params: IConstructorParams = { hostname: \"\", ip: createRandomIp() }) {\n super(params);\n\n // \"hacknet-node-X\" hostnames are reserved for Hacknet Servers\n if (this.hostname.startsWith(\"hacknet-node-\")) {\n this.hostname = createRandomString(10);\n }\n\n this.purchasedByPlayer = params.purchasedByPlayer != null ? params.purchasedByPlayer : false;\n\n //RAM, CPU speed and Scripts\n this.maxRam = params.maxRam != null ? params.maxRam : 0; //GB\n\n /* Hacking information (only valid for \"foreign\" aka non-purchased servers) */\n this.requiredHackingSkill = params.requiredHackingSkill != null ? params.requiredHackingSkill : 1;\n this.moneyAvailable =\n params.moneyAvailable != null ? params.moneyAvailable * BitNodeMultipliers.ServerStartingMoney : 0;\n this.moneyMax = 25 * this.moneyAvailable * BitNodeMultipliers.ServerMaxMoney;\n\n //Hack Difficulty is synonymous with server security. Base Difficulty = Starting difficulty\n this.hackDifficulty =\n params.hackDifficulty != null ? params.hackDifficulty * BitNodeMultipliers.ServerStartingSecurity : 1;\n this.baseDifficulty = this.hackDifficulty;\n this.minDifficulty = Math.max(1, Math.round(this.hackDifficulty / 3));\n this.serverGrowth = params.serverGrowth != null ? params.serverGrowth : 1; //Integer from 0 to 100. Affects money increase from grow()\n\n //Port information, required for porthacking servers to get admin rights\n this.numOpenPortsRequired = params.numOpenPortsRequired != null ? params.numOpenPortsRequired : 5;\n }\n\n /**\n * Ensures that the server's difficulty (server security) doesn't get too high\n */\n capDifficulty(): void {\n if (this.hackDifficulty < this.minDifficulty) {\n this.hackDifficulty = this.minDifficulty;\n }\n if (this.hackDifficulty < 1) {\n this.hackDifficulty = 1;\n }\n\n // Place some arbitrarily limit that realistically should never happen unless someone is\n // screwing around with the game\n if (this.hackDifficulty > 100) {\n this.hackDifficulty = 100;\n }\n }\n\n /**\n * Change this server's minimum security\n * @param n - Value by which to increase/decrease the server's minimum security\n * @param perc - Whether it should be changed by a percentage, or a flat value\n */\n changeMinimumSecurity(n: number, perc = false): void {\n if (perc) {\n this.minDifficulty *= n;\n } else {\n this.minDifficulty += n;\n }\n\n // Server security cannot go below 1\n this.minDifficulty = Math.max(1, this.minDifficulty);\n }\n\n /**\n * Change this server's maximum money\n * @param n - Value by which to change the server's maximum money\n * @param perc - Whether it should be changed by a percentage, or a flat value\n */\n changeMaximumMoney(n: number, perc = false): void {\n if (perc) {\n this.moneyMax *= n;\n } else {\n this.moneyMax += n;\n }\n }\n\n /**\n * Strengthens a server's security level (difficulty) by the specified amount\n */\n fortify(amt: number): void {\n this.hackDifficulty += amt;\n this.capDifficulty();\n }\n\n /**\n * Lowers the server's security level (difficulty) by the specified amount)\n */\n weaken(amt: number): void {\n this.hackDifficulty -= amt * BitNodeMultipliers.ServerWeakenRate;\n this.capDifficulty();\n }\n\n /**\n * Serialize the current object to a JSON save state\n */\n toJSON(): any {\n return Generic_toJSON(\"Server\", this);\n }\n\n // Initializes a Server Object from a JSON save state\n // eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types\n static fromJSON(value: any): Server {\n return Generic_fromJSON(Server, value.data);\n }\n}\n\nReviver.constructors.Server = Server;\n","/**\n * Generic helper/utility functions for the Hacknet mechanic:\n * - Purchase nodes/upgrades\n * - Calculating maximum number of upgrades\n * - Processing Hacknet earnings\n * - Updating Hash Manager capacity\n * - Purchasing hash upgrades\n *\n * TODO Should probably split the different types of functions into their own modules\n */\nimport { HacknetNode } from \"./HacknetNode\";\nimport { calculateNodeCost } from \"./formulas/HacknetNodes\";\nimport { calculateServerCost } from \"./formulas/HacknetServers\";\nimport { HacknetNodeConstants, HacknetServerConstants } from \"./data/Constants\";\nimport { HacknetServer } from \"./HacknetServer\";\nimport { HashManager } from \"./HashManager\";\nimport { HashUpgrades } from \"./HashUpgrades\";\n\nimport { generateRandomContract } from \"../CodingContractGenerator\";\nimport { iTutorialSteps, iTutorialNextStep, ITutorial } from \"../InteractiveTutorial\";\nimport { IPlayer } from \"../PersonObjects/IPlayer\";\nimport { AllServers } from \"../Server/AllServers\";\nimport { GetServerByHostname } from \"../Server/ServerHelpers\";\nimport { Server } from \"../Server/Server\";\nimport { SourceFileFlags } from \"../SourceFile/SourceFileFlags\";\n\n// Returns a boolean indicating whether the player has Hacknet Servers\n// (the upgraded form of Hacknet Nodes)\nexport function hasHacknetServers(player: IPlayer): boolean {\n return player.bitNodeN === 9 || SourceFileFlags[9] > 0;\n}\n\nexport function purchaseHacknet(player: IPlayer): number {\n /* INTERACTIVE TUTORIAL */\n if (ITutorial.isRunning) {\n if (ITutorial.currStep === iTutorialSteps.HacknetNodesIntroduction) {\n iTutorialNextStep();\n } else {\n return -1;\n }\n }\n /* END INTERACTIVE TUTORIAL */\n\n const numOwned = player.hacknetNodes.length;\n if (hasHacknetServers(player)) {\n const cost = getCostOfNextHacknetServer(player);\n if (isNaN(cost)) {\n throw new Error(`Calculated cost of purchasing HacknetServer is NaN`);\n }\n\n if (!player.canAfford(cost)) {\n return -1;\n }\n player.loseMoney(cost);\n player.createHacknetServer();\n updateHashManagerCapacity(player);\n\n return numOwned;\n } else {\n const cost = getCostOfNextHacknetNode(player);\n if (isNaN(cost)) {\n throw new Error(`Calculated cost of purchasing HacknetNode is NaN`);\n }\n\n if (!player.canAfford(cost)) {\n return -1;\n }\n\n // Auto generate a name for the Node\n const name = \"hacknet-node-\" + numOwned;\n const node = new HacknetNode(name, player.hacknet_node_money_mult);\n\n player.loseMoney(cost);\n player.hacknetNodes.push(node);\n\n return numOwned;\n }\n}\n\nexport function hasMaxNumberHacknetServers(player: IPlayer): boolean {\n return hasHacknetServers(player) && player.hacknetNodes.length >= HacknetServerConstants.MaxServers;\n}\n\nexport function getCostOfNextHacknetNode(player: IPlayer): number {\n return calculateNodeCost(player.hacknetNodes.length + 1, player.hacknet_node_purchase_cost_mult);\n}\n\nexport function getCostOfNextHacknetServer(player: IPlayer): number {\n return calculateServerCost(player.hacknetNodes.length + 1, player.hacknet_node_purchase_cost_mult);\n}\n\n// Calculate the maximum number of times the Player can afford to upgrade a Hacknet Node's level\nexport function getMaxNumberLevelUpgrades(\n player: IPlayer,\n nodeObj: HacknetNode | HacknetServer,\n maxLevel: number,\n): number {\n if (maxLevel == null) {\n throw new Error(`getMaxNumberLevelUpgrades() called without maxLevel arg`);\n }\n\n if (player.money.lt(nodeObj.calculateLevelUpgradeCost(1, player.hacknet_node_level_cost_mult))) {\n return 0;\n }\n\n let min = 1;\n let max = maxLevel - 1;\n const levelsToMax = maxLevel - nodeObj.level;\n if (player.money.gt(nodeObj.calculateLevelUpgradeCost(levelsToMax, player.hacknet_node_level_cost_mult))) {\n return levelsToMax;\n }\n\n while (min <= max) {\n const curr = ((min + max) / 2) | 0;\n if (\n curr !== maxLevel &&\n player.money.gt(nodeObj.calculateLevelUpgradeCost(curr, player.hacknet_node_level_cost_mult)) &&\n player.money.lt(nodeObj.calculateLevelUpgradeCost(curr + 1, player.hacknet_node_level_cost_mult))\n ) {\n return Math.min(levelsToMax, curr);\n } else if (player.money.lt(nodeObj.calculateLevelUpgradeCost(curr, player.hacknet_node_level_cost_mult))) {\n max = curr - 1;\n } else if (player.money.gt(nodeObj.calculateLevelUpgradeCost(curr, player.hacknet_node_level_cost_mult))) {\n min = curr + 1;\n } else {\n return Math.min(levelsToMax, curr);\n }\n }\n return 0;\n}\n\n// Calculate the maximum number of times the Player can afford to upgrade a Hacknet Node's RAM\nexport function getMaxNumberRamUpgrades(\n player: IPlayer,\n nodeObj: HacknetNode | HacknetServer,\n maxLevel: number,\n): number {\n if (maxLevel == null) {\n throw new Error(`getMaxNumberRamUpgrades() called without maxLevel arg`);\n }\n\n if (player.money.lt(nodeObj.calculateRamUpgradeCost(1, player.hacknet_node_ram_cost_mult))) {\n return 0;\n }\n\n let levelsToMax;\n if (nodeObj instanceof HacknetServer) {\n levelsToMax = Math.round(Math.log2(maxLevel / nodeObj.maxRam));\n } else {\n levelsToMax = Math.round(Math.log2(maxLevel / nodeObj.ram));\n }\n if (player.money.gt(nodeObj.calculateRamUpgradeCost(levelsToMax, player.hacknet_node_ram_cost_mult))) {\n return levelsToMax;\n }\n\n //We'll just loop until we find the max\n for (let i = levelsToMax - 1; i >= 0; --i) {\n if (player.money.gt(nodeObj.calculateRamUpgradeCost(i, player.hacknet_node_ram_cost_mult))) {\n return i;\n }\n }\n return 0;\n}\n\n// Calculate the maximum number of times the Player can afford to upgrade a Hacknet Node's cores\nexport function getMaxNumberCoreUpgrades(\n player: IPlayer,\n nodeObj: HacknetNode | HacknetServer,\n maxLevel: number,\n): number {\n if (maxLevel == null) {\n throw new Error(`getMaxNumberCoreUpgrades() called without maxLevel arg`);\n }\n\n if (player.money.lt(nodeObj.calculateCoreUpgradeCost(1, player.hacknet_node_core_cost_mult))) {\n return 0;\n }\n\n let min = 1;\n let max = maxLevel - 1;\n const levelsToMax = maxLevel - nodeObj.cores;\n if (player.money.gt(nodeObj.calculateCoreUpgradeCost(levelsToMax, player.hacknet_node_core_cost_mult))) {\n return levelsToMax;\n }\n\n // Use a binary search to find the max possible number of upgrades\n while (min <= max) {\n const curr = ((min + max) / 2) | 0;\n if (\n curr != maxLevel &&\n player.money.gt(nodeObj.calculateCoreUpgradeCost(curr, player.hacknet_node_core_cost_mult)) &&\n player.money.lt(nodeObj.calculateCoreUpgradeCost(curr + 1, player.hacknet_node_core_cost_mult))\n ) {\n return Math.min(levelsToMax, curr);\n } else if (player.money.lt(nodeObj.calculateCoreUpgradeCost(curr, player.hacknet_node_core_cost_mult))) {\n max = curr - 1;\n } else if (player.money.gt(nodeObj.calculateCoreUpgradeCost(curr, player.hacknet_node_core_cost_mult))) {\n min = curr + 1;\n } else {\n return Math.min(levelsToMax, curr);\n }\n }\n\n return 0;\n}\n\n// Calculate the maximum number of times the Player can afford to upgrade a Hacknet Node's cache\nexport function getMaxNumberCacheUpgrades(player: IPlayer, nodeObj: HacknetServer, maxLevel: number): number {\n if (maxLevel == null) {\n throw new Error(`getMaxNumberCacheUpgrades() called without maxLevel arg`);\n }\n\n if (!player.canAfford(nodeObj.calculateCacheUpgradeCost(1))) {\n return 0;\n }\n\n let min = 1;\n let max = maxLevel - 1;\n const levelsToMax = maxLevel - nodeObj.cache;\n if (player.canAfford(nodeObj.calculateCacheUpgradeCost(levelsToMax))) {\n return levelsToMax;\n }\n\n // Use a binary search to find the max possible number of upgrades\n while (min <= max) {\n const curr = ((min + max) / 2) | 0;\n if (\n curr != maxLevel &&\n player.canAfford(nodeObj.calculateCacheUpgradeCost(curr)) &&\n !player.canAfford(nodeObj.calculateCacheUpgradeCost(curr + 1))\n ) {\n return Math.min(levelsToMax, curr);\n } else if (!player.canAfford(nodeObj.calculateCacheUpgradeCost(curr))) {\n max = curr - 1;\n } else if (player.canAfford(nodeObj.calculateCacheUpgradeCost(curr))) {\n min = curr + 1;\n } else {\n return Math.min(levelsToMax, curr);\n }\n }\n\n return 0;\n}\n\nexport function purchaseLevelUpgrade(player: IPlayer, node: HacknetNode | HacknetServer, levels = 1): boolean {\n const sanitizedLevels = Math.round(levels);\n const cost = node.calculateLevelUpgradeCost(sanitizedLevels, player.hacknet_node_level_cost_mult);\n if (isNaN(cost) || cost <= 0 || sanitizedLevels < 0) {\n return false;\n }\n\n const isServer = node instanceof HacknetServer;\n\n // If we're at max level, return false\n if (node.level >= (isServer ? HacknetServerConstants.MaxLevel : HacknetNodeConstants.MaxLevel)) {\n return false;\n }\n\n // If the number of specified upgrades would exceed the max level, calculate\n // the maximum number of upgrades and use that\n if (node.level + sanitizedLevels > (isServer ? HacknetServerConstants.MaxLevel : HacknetNodeConstants.MaxLevel)) {\n const diff = Math.max(0, (isServer ? HacknetServerConstants.MaxLevel : HacknetNodeConstants.MaxLevel) - node.level);\n return purchaseLevelUpgrade(player, node, diff);\n }\n\n if (!player.canAfford(cost)) {\n return false;\n }\n\n player.loseMoney(cost);\n node.upgradeLevel(sanitizedLevels, player.hacknet_node_money_mult);\n\n return true;\n}\n\nexport function purchaseRamUpgrade(player: IPlayer, node: HacknetNode | HacknetServer, levels = 1): boolean {\n const sanitizedLevels = Math.round(levels);\n const cost = node.calculateRamUpgradeCost(sanitizedLevels, player.hacknet_node_ram_cost_mult);\n if (isNaN(cost) || cost <= 0 || sanitizedLevels < 0) {\n return false;\n }\n\n if (node instanceof HacknetServer && node.maxRam >= HacknetServerConstants.MaxRam) {\n return false;\n }\n\n if (node instanceof HacknetNode && node.ram >= HacknetNodeConstants.MaxRam) {\n return false;\n }\n\n // If the number of specified upgrades would exceed the max RAM, calculate the\n // max possible number of upgrades and use that\n if (node instanceof HacknetServer) {\n if (node.maxRam * Math.pow(2, sanitizedLevels) > HacknetServerConstants.MaxRam) {\n const diff = Math.max(0, Math.log2(Math.round(HacknetServerConstants.MaxRam / node.maxRam)));\n return purchaseRamUpgrade(player, node, diff);\n }\n } else if (node instanceof HacknetNode) {\n if (node.ram * Math.pow(2, sanitizedLevels) > HacknetNodeConstants.MaxRam) {\n const diff = Math.max(0, Math.log2(Math.round(HacknetNodeConstants.MaxRam / node.ram)));\n return purchaseRamUpgrade(player, node, diff);\n }\n }\n\n if (!player.canAfford(cost)) {\n return false;\n }\n\n player.loseMoney(cost);\n node.upgradeRam(sanitizedLevels, player.hacknet_node_money_mult);\n\n return true;\n}\n\nexport function purchaseCoreUpgrade(player: IPlayer, node: HacknetNode | HacknetServer, levels = 1): boolean {\n const sanitizedLevels = Math.round(levels);\n const cost = node.calculateCoreUpgradeCost(sanitizedLevels, player.hacknet_node_core_cost_mult);\n if (isNaN(cost) || cost <= 0 || sanitizedLevels < 0) {\n return false;\n }\n\n const isServer = node instanceof HacknetServer;\n\n // Fail if we're already at max\n if (node.cores >= (isServer ? HacknetServerConstants.MaxCores : HacknetNodeConstants.MaxCores)) {\n return false;\n }\n\n // If the specified number of upgrades would exceed the max Cores, calculate\n // the max possible number of upgrades and use that\n if (node.cores + sanitizedLevels > (isServer ? HacknetServerConstants.MaxCores : HacknetNodeConstants.MaxCores)) {\n const diff = Math.max(0, (isServer ? HacknetServerConstants.MaxCores : HacknetNodeConstants.MaxCores) - node.cores);\n return purchaseCoreUpgrade(player, node, diff);\n }\n\n if (!player.canAfford(cost)) {\n return false;\n }\n\n player.loseMoney(cost);\n node.upgradeCore(sanitizedLevels, player.hacknet_node_money_mult);\n\n return true;\n}\n\nexport function purchaseCacheUpgrade(player: IPlayer, node: HacknetServer, levels = 1): boolean {\n const sanitizedLevels = Math.round(levels);\n const cost = node.calculateCacheUpgradeCost(sanitizedLevels);\n if (isNaN(cost) || cost <= 0 || sanitizedLevels < 0) {\n return false;\n }\n\n if (!(node instanceof HacknetServer)) {\n console.warn(`purchaseCacheUpgrade() called for a non-HacknetNode`);\n return false;\n }\n\n // Fail if we're already at max\n if (node.cache + sanitizedLevels > HacknetServerConstants.MaxCache) {\n const diff = Math.max(0, HacknetServerConstants.MaxCache - node.cache);\n return purchaseCacheUpgrade(player, node, diff);\n }\n\n if (!player.canAfford(cost)) {\n return false;\n }\n\n player.loseMoney(cost);\n node.upgradeCache(sanitizedLevels);\n\n return true;\n}\n\nexport function processHacknetEarnings(player: IPlayer, numCycles: number): number {\n // Determine if player has Hacknet Nodes or Hacknet Servers, then\n // call the appropriate function\n if (player.hacknetNodes.length === 0) {\n return 0;\n }\n if (hasHacknetServers(player)) {\n return processAllHacknetServerEarnings(player, numCycles);\n } else if (player.hacknetNodes[0] instanceof HacknetNode) {\n return processAllHacknetNodeEarnings(player, numCycles);\n } else {\n return 0;\n }\n}\n\nfunction processAllHacknetNodeEarnings(player: IPlayer, numCycles: number): number {\n let total = 0;\n for (let i = 0; i < player.hacknetNodes.length; ++i) {\n const node = player.hacknetNodes[i];\n if (typeof node === \"string\") throw new Error(\"player node should not be ip string\");\n total += processSingleHacknetNodeEarnings(player, numCycles, node);\n }\n\n return total;\n}\n\nfunction processSingleHacknetNodeEarnings(player: IPlayer, numCycles: number, nodeObj: HacknetNode): number {\n const totalEarnings = nodeObj.process(numCycles);\n player.gainMoney(totalEarnings);\n player.recordMoneySource(totalEarnings, \"hacknetnode\");\n\n return totalEarnings;\n}\n\nfunction processAllHacknetServerEarnings(player: IPlayer, numCycles: number): number {\n if (!(player.hashManager instanceof HashManager)) {\n throw new Error(`Player does not have a HashManager (should be in 'hashManager' prop)`);\n }\n\n let hashes = 0;\n for (let i = 0; i < player.hacknetNodes.length; ++i) {\n // hacknetNodes array only contains the IP addresses of the servers.\n // Also, update the hash rate before processing\n const ip = player.hacknetNodes[i];\n if (ip instanceof HacknetNode) throw new Error(`player nodes should not be HacketNode`);\n const hserver = AllServers[ip];\n if (hserver instanceof Server) throw new Error(`player nodes shoud not be Server`);\n hserver.updateHashRate(player.hacknet_node_money_mult);\n const h = hserver.process(numCycles);\n hserver.totalHashesGenerated += h;\n hashes += h;\n }\n\n player.hashManager.storeHashes(hashes);\n\n return hashes;\n}\n\nexport function updateHashManagerCapacity(player: IPlayer): void {\n if (!(player.hashManager instanceof HashManager)) {\n console.error(`Player does not have a HashManager`);\n return;\n }\n\n const nodes = player.hacknetNodes;\n if (nodes.length === 0) {\n player.hashManager.updateCapacity(0);\n return;\n }\n\n let total = 0;\n for (let i = 0; i < nodes.length; ++i) {\n if (typeof nodes[i] !== \"string\") {\n player.hashManager.updateCapacity(0);\n return;\n }\n const ip = nodes[i];\n if (ip instanceof HacknetNode) throw new Error(`player nodes should be string but isn't`);\n const h = AllServers[ip];\n if (!(h instanceof HacknetServer)) {\n player.hashManager.updateCapacity(0);\n return;\n }\n\n total += h.hashCapacity;\n }\n\n player.hashManager.updateCapacity(total);\n}\n\nexport function purchaseHashUpgrade(player: IPlayer, upgName: string, upgTarget: string): boolean {\n if (!(player.hashManager instanceof HashManager)) {\n console.error(`Player does not have a HashManager`);\n return false;\n }\n\n // HashManager handles the transaction. This just needs to actually implement\n // the effects of the upgrade\n if (player.hashManager.upgrade(upgName)) {\n const upg = HashUpgrades[upgName];\n\n switch (upgName) {\n case \"Sell for Money\": {\n player.gainMoney(upg.value);\n player.recordMoneySource(upg.value, \"hacknetnode\");\n break;\n }\n case \"Sell for Corporation Funds\": {\n const corp = player.corporation;\n if (corp === null) {\n player.hashManager.refundUpgrade(upgName);\n return false;\n }\n corp.funds = corp.funds.plus(upg.value);\n break;\n }\n case \"Reduce Minimum Security\": {\n try {\n const target = GetServerByHostname(upgTarget);\n if (target == null) {\n console.error(`Invalid target specified in purchaseHashUpgrade(): ${upgTarget}`);\n return false;\n }\n if (!(target instanceof Server)) throw new Error(`'${upgTarget}' is not a normal server.`);\n\n target.changeMinimumSecurity(upg.value, true);\n } catch (e) {\n player.hashManager.refundUpgrade(upgName);\n return false;\n }\n break;\n }\n case \"Increase Maximum Money\": {\n try {\n const target = GetServerByHostname(upgTarget);\n if (target == null) {\n console.error(`Invalid target specified in purchaseHashUpgrade(): ${upgTarget}`);\n return false;\n }\n if (!(target instanceof Server)) throw new Error(`'${upgTarget}' is not a normal server.`);\n\n target.changeMaximumMoney(upg.value, true);\n } catch (e) {\n player.hashManager.refundUpgrade(upgName);\n return false;\n }\n break;\n }\n case \"Improve Studying\": {\n // Multiplier handled by HashManager\n break;\n }\n case \"Improve Gym Training\": {\n // Multiplier handled by HashManager\n break;\n }\n case \"Exchange for Corporation Research\": {\n // This will throw if player doesn't have a corporation\n const corp = player.corporation;\n if (corp === null) {\n player.hashManager.refundUpgrade(upgName);\n return false;\n }\n for (const division of corp.divisions) {\n division.sciResearch.qty += upg.value;\n }\n break;\n }\n case \"Exchange for Bladeburner Rank\": {\n // This will throw if player isnt in Bladeburner\n const bladeburner = player.bladeburner;\n if (bladeburner === null) {\n player.hashManager.refundUpgrade(upgName);\n return false;\n }\n bladeburner.changeRank(player, upg.value);\n break;\n }\n case \"Exchange for Bladeburner SP\": {\n // This will throw if player isnt in Bladeburner\n const bladeburner = player.bladeburner;\n if (bladeburner === null) {\n player.hashManager.refundUpgrade(upgName);\n return false;\n }\n\n bladeburner.skillPoints += upg.value;\n break;\n }\n case \"Generate Coding Contract\": {\n generateRandomContract();\n break;\n }\n default:\n console.warn(`Unrecognized upgrade name ${upgName}. Upgrade has no effect`);\n player.hashManager.refundUpgrade(upgName);\n return false;\n }\n\n return true;\n }\n\n return false;\n}\n","// Constructs all CompanyPosition objects using the metadata in data/companypositions.ts\nimport { companiesMetadata } from \"./data/CompaniesMetadata\";\nimport { Company, IConstructorParams } from \"./Company\";\nimport { IMap } from \"../types\";\nimport { Reviver } from \"../utils/JSONReviver\";\n\nexport let Companies: IMap = {};\n\nfunction addCompany(params: IConstructorParams): void {\n if (Companies[params.name] != null) {\n console.warn(`Duplicate Company Position being defined: ${params.name}`);\n }\n Companies[params.name] = new Company(params);\n}\n\n// Used to initialize new Company objects for the Companies map\n// Called when creating new game or after a prestige/reset\nexport function initCompanies(): void {\n // Save Old Company data for 'favor'\n const oldCompanies = Companies;\n\n // Re-construct all Companies\n Companies = {};\n companiesMetadata.forEach((e) => {\n addCompany(e);\n });\n\n // Reset data\n for (const companyName in Companies) {\n const company = Companies[companyName];\n const oldCompany = oldCompanies[companyName];\n if (!(oldCompany instanceof Company)) {\n // New game, so no OldCompanies data\n company.favor = 0;\n } else {\n company.favor = oldCompanies[companyName].favor;\n if (isNaN(company.favor)) {\n company.favor = 0;\n }\n }\n }\n}\n\n// Used to load Companies map from a save\nexport function loadCompanies(saveString: string): void {\n Companies = JSON.parse(saveString, Reviver);\n}\n\n// Utility function to check if a string is valid company name\nexport function companyExists(name: string): boolean {\n return Companies.hasOwnProperty(name);\n}\n","// Contains an array containing information about the player's source files\n// Array[n] returns what level the player has of Source-File N.\n\nimport { CONSTANTS } from \"../Constants\";\nimport { IPlayer } from \"../PersonObjects/IPlayer\";\n\nexport const SourceFileFlags: number[] = Array(CONSTANTS.TotalNumBitNodes + 1); // Skip index 0\n\nexport function updateSourceFileFlags(p: IPlayer): void {\n for (let i = 0; i < SourceFileFlags.length; ++i) {\n SourceFileFlags[i] = 0;\n }\n\n for (let i = 0; i < p.sourceFiles.length; ++i) {\n const sf = p.sourceFiles[i];\n SourceFileFlags[sf.n] = sf.lvl;\n }\n}\n","import { IMap } from \"../types\";\nimport { Reviver, Generic_toJSON, Generic_fromJSON } from \"../utils/JSONReviver\";\n\n/* Holds IP of Special Servers */\nexport const SpecialServerNames: IMap = {\n FulcrumSecretTechnologies: \"Fulcrum Secret Technologies Server\",\n CyberSecServer: \"CyberSec Server\",\n NiteSecServer: \"NiteSec Server\",\n TheBlackHandServer: \"The Black Hand Server\",\n BitRunnersServer: \"BitRunners Server\",\n TheDarkArmyServer: \"The Dark Army Server\",\n DaedalusServer: \"Daedalus Server\",\n WorldDaemon: \"w0r1d_d43m0n\",\n};\n\nexport class SpecialServerIpsMap {\n // eslint-disable-next-line @typescript-eslint/ban-types\n [key: string]: Function | string;\n\n addIp(name: string, ip: string): void {\n this[name] = ip;\n }\n\n getIp(name: string): string {\n return this[name] as string;\n }\n\n // Serialize the current object to a JSON save state\n toJSON(): any {\n return Generic_toJSON(\"SpecialServerIpsMap\", this);\n }\n\n // Initializes a SpecialServerIpsMap Object from a JSON save state\n // eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types\n static fromJSON(value: any): SpecialServerIpsMap {\n return Generic_fromJSON(SpecialServerIpsMap, value.data);\n }\n}\n\nReviver.constructors.SpecialServerIpsMap = SpecialServerIpsMap;\n\nexport let SpecialServerIps: SpecialServerIpsMap = new SpecialServerIpsMap();\n\nexport function prestigeSpecialServerIps(): void {\n for (const member in SpecialServerIps) {\n delete SpecialServerIps[member];\n }\n\n SpecialServerIps = new SpecialServerIpsMap();\n}\n\nexport function loadSpecialServerIps(saveString: string): void {\n SpecialServerIps = JSON.parse(saveString, Reviver);\n}\n\nexport function initSpecialServerIps(): void {\n SpecialServerIps = new SpecialServerIpsMap();\n}\n","export enum PositionTypes {\n Long = \"L\",\n Short = \"S\",\n}\n","import { ICorporation } from \"./ICorporation\";\nimport { IIndustry } from \"./IIndustry\";\nimport { IndustryStartingCosts, IndustryResearchTrees } from \"./IndustryData\";\nimport { Industry } from \"./Industry\";\nimport { CorporationConstants } from \"./data/Constants\";\nimport { OfficeSpace } from \"./OfficeSpace\";\nimport { Material } from \"./Material\";\nimport { Product } from \"./Product\";\nimport { Warehouse } from \"./Warehouse\";\nimport { CorporationUnlockUpgrade } from \"./data/CorporationUnlockUpgrades\";\nimport { CorporationUpgrade } from \"./data/CorporationUpgrades\";\nimport { Cities } from \"../Locations/Cities\";\nimport { EmployeePositions } from \"./EmployeePositions\";\nimport { Employee } from \"./Employee\";\nimport { IndustryUpgrades } from \"./IndustryUpgrades\";\nimport { ResearchMap } from \"./ResearchMap\";\n\nexport function NewIndustry(corporation: ICorporation, industry: string, name: string): void {\n for (let i = 0; i < corporation.divisions.length; ++i) {\n if (corporation.divisions[i].name === name) {\n throw new Error(\"This division name is already in use!\");\n return;\n }\n }\n\n const cost = IndustryStartingCosts[industry];\n if (cost === undefined) {\n throw new Error(`Invalid industry: '${industry}'`);\n }\n if (corporation.funds.lt(cost)) {\n throw new Error(\"Not enough money to create a new division in this industry\");\n } else if (name === \"\") {\n throw new Error(\"New division must have a name!\");\n } else {\n corporation.funds = corporation.funds.minus(cost);\n corporation.divisions.push(\n new Industry({\n corp: corporation,\n name: name,\n type: industry,\n }),\n );\n }\n}\n\nexport function NewCity(corporation: ICorporation, division: IIndustry, city: string): void {\n if (corporation.funds.lt(CorporationConstants.OfficeInitialCost)) {\n throw new Error(\"You don't have enough company funds to open a new office!\");\n } else {\n corporation.funds = corporation.funds.minus(CorporationConstants.OfficeInitialCost);\n division.offices[city] = new OfficeSpace({\n loc: city,\n size: CorporationConstants.OfficeInitialSize,\n });\n }\n}\n\nexport function UnlockUpgrade(corporation: ICorporation, upgrade: CorporationUnlockUpgrade): void {\n if (corporation.funds.lt(upgrade[1])) {\n throw new Error(\"Insufficient funds\");\n }\n corporation.unlock(upgrade);\n}\n\nexport function LevelUpgrade(corporation: ICorporation, upgrade: CorporationUpgrade): void {\n const baseCost = upgrade[1];\n const priceMult = upgrade[2];\n const level = corporation.upgrades[upgrade[0]];\n const cost = baseCost * Math.pow(priceMult, level);\n if (corporation.funds.lt(cost)) {\n throw new Error(\"Insufficient funds\");\n } else {\n corporation.upgrade(upgrade);\n }\n}\n\nexport function IssueDividends(corporation: ICorporation, percent: number): void {\n if (isNaN(percent) || percent < 0 || percent > CorporationConstants.DividendMaxPercentage) {\n throw new Error(`Invalid value. Must be an integer between 0 and ${CorporationConstants.DividendMaxPercentage}`);\n }\n\n corporation.dividendPercentage = percent * 100;\n}\n\nexport function SellMaterial(mat: Material, amt: string, price: string): void {\n if (price === \"\") price = \"0\";\n if (amt === \"\") amt = \"0\";\n let cost = price.replace(/\\s+/g, \"\");\n cost = cost.replace(/[^-()\\d/*+.MP]/g, \"\"); //Sanitize cost\n let temp = cost.replace(/MP/g, mat.bCost + \"\");\n try {\n temp = eval(temp);\n } catch (e) {\n throw new Error(\"Invalid value or expression for sell price field: \" + e);\n }\n\n if (temp == null || isNaN(parseFloat(temp))) {\n throw new Error(\"Invalid value or expression for sell price field\");\n }\n\n if (cost.includes(\"MP\")) {\n mat.sCost = cost; //Dynamically evaluated\n } else {\n mat.sCost = temp;\n }\n\n //Parse quantity\n if (amt.includes(\"MAX\") || amt.includes(\"PROD\")) {\n let q = amt.replace(/\\s+/g, \"\");\n q = q.replace(/[^-()\\d/*+.MAXPROD]/g, \"\");\n let tempQty = q.replace(/MAX/g, \"1\");\n tempQty = tempQty.replace(/PROD/g, \"1\");\n try {\n tempQty = eval(tempQty);\n } catch (e) {\n throw new Error(\"Invalid value or expression for sell price field: \" + e);\n }\n\n if (tempQty == null || isNaN(parseFloat(tempQty))) {\n throw new Error(\"Invalid value or expression for sell price field\");\n }\n\n mat.sllman[0] = true;\n mat.sllman[1] = q; //Use sanitized input\n } else if (isNaN(parseFloat(amt))) {\n throw new Error(\"Invalid value for sell quantity field! Must be numeric or 'MAX'\");\n } else {\n let q = parseFloat(amt);\n if (isNaN(q)) {\n q = 0;\n }\n if (q === 0) {\n mat.sllman[0] = false;\n mat.sllman[1] = 0;\n } else {\n mat.sllman[0] = true;\n mat.sllman[1] = q;\n }\n }\n}\n\nexport function SellProduct(product: Product, city: string, amt: string, price: string, all: boolean): void {\n //Parse price\n if (price.includes(\"MP\")) {\n //Dynamically evaluated quantity. First test to make sure its valid\n //Sanitize input, then replace dynamic variables with arbitrary numbers\n price = price.replace(/\\s+/g, \"\");\n price = price.replace(/[^-()\\d/*+.MP]/g, \"\");\n let temp = price.replace(/MP/g, \"1\");\n try {\n temp = eval(temp);\n } catch (e) {\n throw new Error(\"Invalid value or expression for sell quantity field: \" + e);\n }\n if (temp == null || isNaN(parseFloat(temp))) {\n throw new Error(\"Invalid value or expression for sell quantity field.\");\n }\n product.sCost = price; //Use sanitized price\n } else {\n const cost = parseFloat(price);\n if (isNaN(cost)) {\n throw new Error(\"Invalid value for sell price field\");\n }\n product.sCost = cost;\n }\n\n // Array of all cities. Used later\n const cities = Object.keys(Cities);\n\n // Parse quantity\n if (amt.includes(\"MAX\") || amt.includes(\"PROD\")) {\n //Dynamically evaluated quantity. First test to make sure its valid\n let qty = amt.replace(/\\s+/g, \"\");\n qty = qty.replace(/[^-()\\d/*+.MAXPROD]/g, \"\");\n let temp = qty.replace(/MAX/g, \"1\");\n temp = temp.replace(/PROD/g, \"1\");\n try {\n temp = eval(temp);\n } catch (e) {\n throw new Error(\"Invalid value or expression for sell price field: \" + e);\n }\n\n if (temp == null || isNaN(parseFloat(temp))) {\n throw new Error(\"Invalid value or expression for sell price field\");\n }\n if (all) {\n for (let i = 0; i < cities.length; ++i) {\n const tempCity = cities[i];\n product.sllman[tempCity][0] = true;\n product.sllman[tempCity][1] = qty; //Use sanitized input\n }\n } else {\n product.sllman[city][0] = true;\n product.sllman[city][1] = qty; //Use sanitized input\n }\n } else if (isNaN(parseFloat(amt))) {\n throw new Error(\"Invalid value for sell quantity field! Must be numeric\");\n } else {\n let qty = parseFloat(amt);\n if (isNaN(qty)) {\n qty = 0;\n }\n if (qty === 0) {\n if (all) {\n for (let i = 0; i < cities.length; ++i) {\n const tempCity = cities[i];\n product.sllman[tempCity][0] = false;\n product.sllman[tempCity][1] = \"\";\n }\n } else {\n product.sllman[city][0] = false;\n product.sllman[city][1] = \"\";\n }\n } else {\n if (all) {\n for (let i = 0; i < cities.length; ++i) {\n const tempCity = cities[i];\n product.sllman[tempCity][0] = true;\n product.sllman[tempCity][1] = qty;\n }\n } else {\n product.sllman[city][0] = true;\n product.sllman[city][1] = qty;\n }\n }\n }\n}\n\nexport function SetSmartSupply(warehouse: Warehouse, smartSupply: boolean): void {\n warehouse.smartSupplyEnabled = smartSupply;\n}\n\nexport function SetSmartSupplyUseLeftovers(warehouse: Warehouse, material: Material, useLeftover: boolean): void {\n if (!Object.keys(warehouse.smartSupplyUseLeftovers).includes(material.name))\n throw new Error(`Invalid material '${material.name}'`);\n warehouse.smartSupplyUseLeftovers[material.name] = useLeftover;\n}\n\nexport function BuyMaterial(material: Material, amt: number): void {\n if (isNaN(amt)) {\n throw new Error(`Invalid amount '${amt}' to buy material '${material.name}'`);\n }\n material.buy = amt;\n}\n\nexport function AssignJob(employee: Employee, job: string): void {\n if (!Object.values(EmployeePositions).includes(job)) throw new Error(`'${job}' is not a valid job.`);\n employee.pos = job;\n}\n\nexport function UpgradeOfficeSize(corp: ICorporation, office: OfficeSpace, size: number): void {\n const initialPriceMult = Math.round(office.size / CorporationConstants.OfficeInitialSize);\n const costMultiplier = 1.09;\n // Calculate cost to upgrade size by 15 employees\n let mult = 0;\n for (let i = 0; i < size / CorporationConstants.OfficeInitialSize; ++i) {\n mult += Math.pow(costMultiplier, initialPriceMult + i);\n }\n const cost = CorporationConstants.OfficeInitialCost * mult;\n if (corp.funds.lt(cost)) return;\n office.size += size;\n corp.funds = corp.funds.minus(cost);\n}\n\nexport function ThrowParty(corp: ICorporation, office: OfficeSpace, costPerEmployee: number): number {\n const totalCost = costPerEmployee * office.employees.length;\n if (corp.funds.lt(totalCost)) return 0;\n corp.funds = corp.funds.minus(totalCost);\n let mult = 0;\n for (let i = 0; i < office.employees.length; ++i) {\n mult = office.employees[i].throwParty(costPerEmployee);\n }\n\n return mult;\n}\n\nexport function PurchaseWarehouse(corp: ICorporation, division: IIndustry, city: string): void {\n if (corp.funds.lt(CorporationConstants.WarehouseInitialCost)) return;\n if (division.warehouses[city] instanceof Warehouse) return;\n division.warehouses[city] = new Warehouse({\n corp: corp,\n industry: division,\n loc: city,\n size: CorporationConstants.WarehouseInitialSize,\n });\n corp.funds = corp.funds.minus(CorporationConstants.WarehouseInitialCost);\n}\n\nexport function UpgradeWarehouse(corp: ICorporation, division: IIndustry, warehouse: Warehouse): void {\n const sizeUpgradeCost = CorporationConstants.WarehouseUpgradeBaseCost * Math.pow(1.07, warehouse.level + 1);\n ++warehouse.level;\n warehouse.updateSize(corp, division);\n corp.funds = corp.funds.minus(sizeUpgradeCost);\n}\n\nexport function BuyCoffee(corp: ICorporation, division: IIndustry, office: OfficeSpace): void {\n const upgrade = IndustryUpgrades[0];\n const cost = office.employees.length * upgrade[1];\n if (corp.funds.lt(cost)) return;\n corp.funds = corp.funds.minus(cost);\n division.upgrade(upgrade, {\n corporation: corp,\n office: office,\n });\n}\n\nexport function HireAdVert(corp: ICorporation, division: IIndustry, office: OfficeSpace): void {\n const upgrade = IndustryUpgrades[1];\n const cost = upgrade[1] * Math.pow(upgrade[2], division.upgrades[1]);\n if (corp.funds.lt(cost)) return;\n corp.funds = corp.funds.minus(cost);\n division.upgrade(upgrade, {\n corporation: corp,\n office: office,\n });\n}\n\nexport function MakeProduct(\n corp: ICorporation,\n division: IIndustry,\n city: string,\n productName: string,\n designInvest: number,\n marketingInvest: number,\n): void {\n if (designInvest < 0) {\n designInvest = 0;\n }\n if (marketingInvest < 0) {\n marketingInvest = 0;\n }\n if (productName == null || productName === \"\") {\n throw new Error(\"You must specify a name for your product!\");\n }\n if (isNaN(designInvest)) {\n throw new Error(\"Invalid value for design investment\");\n }\n if (isNaN(marketingInvest)) {\n throw new Error(\"Invalid value for marketing investment\");\n }\n if (corp.funds.lt(designInvest + marketingInvest)) {\n throw new Error(\"You don't have enough company funds to make this large of an investment\");\n }\n const product = new Product({\n name: productName.replace(/[<>]/g, \"\"), //Sanitize for HTMl elements\n createCity: city,\n designCost: designInvest,\n advCost: marketingInvest,\n });\n if (division.products[product.name] instanceof Product) {\n throw new Error(`You already have a product with this name!`);\n }\n corp.funds = corp.funds.minus(designInvest + marketingInvest);\n division.products[product.name] = product;\n}\n\nexport function Research(division: IIndustry, researchName: string): void {\n const researchTree = IndustryResearchTrees[division.type];\n if (researchTree === undefined) throw new Error(`No research tree for industry '${division.type}'`);\n const allResearch = researchTree.getAllNodes();\n if (!allResearch.includes(researchName)) throw new Error(`No research named '${researchName}'`);\n const research = ResearchMap[researchName];\n\n if (division.sciResearch.qty < research.cost)\n throw new Error(`You do not have enough Scientific Research for ${research.name}`);\n division.sciResearch.qty -= research.cost;\n\n // Get the Node from the Research Tree and set its 'researched' property\n researchTree.research(researchName);\n division.researched[researchName] = true;\n}\n\nexport function ExportMaterial(divisionName: string, cityName: string, material: Material, amt: string): void {\n // Sanitize amt\n let sanitizedAmt = amt.replace(/\\s+/g, \"\");\n sanitizedAmt = sanitizedAmt.replace(/[^-()\\d/*+.MAX]/g, \"\");\n let temp = sanitizedAmt.replace(/MAX/g, \"1\");\n try {\n temp = eval(temp);\n } catch (e) {\n throw new Error(\"Invalid expression entered for export amount: \" + e);\n }\n\n const n = parseFloat(temp);\n\n if (n == null || isNaN(n) || n < 0) {\n throw new Error(\"Invalid amount entered for export\");\n }\n const exportObj = { ind: divisionName, city: cityName, amt: sanitizedAmt };\n material.exp.push(exportObj);\n}\n\nexport function CancelExportMaterial(divisionName: string, cityName: string, material: Material, amt: string): void {\n for (let i = 0; i < material.exp.length; ++i) {\n if (material.exp[i].ind !== divisionName || material.exp[i].city !== cityName || material.exp[i].amt !== amt)\n continue;\n material.exp.splice(i, 1);\n break;\n }\n}\n\nexport function LimitProductProduction(product: Product, cityName: string, qty: number): void {\n if (qty < 0 || isNaN(qty)) {\n product.prdman[cityName][0] = false;\n } else {\n product.prdman[cityName][0] = true;\n product.prdman[cityName][1] = qty;\n }\n}\n\nexport function SetMaterialMarketTA1(material: Material, on: boolean): void {\n material.marketTa1 = on;\n}\n\nexport function SetMaterialMarketTA2(material: Material, on: boolean): void {\n material.marketTa2 = on;\n}\n\nexport function SetProductMarketTA1(product: Product, on: boolean): void {\n product.marketTa1 = on;\n}\n\nexport function SetProductMarketTA2(product: Product, on: boolean): void {\n product.marketTa2 = on;\n}\n","import { Program } from \"./Program\";\nimport { programsMetadata } from \"./data/ProgramsMetadata\";\nimport { IMap } from \"../types\";\n\nexport const Programs: IMap = {};\n\nfor (const params of programsMetadata) {\n Programs[params.key] = new Program(params.name, params.create, params.run);\n}\n","/**\n * Enum for different types of tasks that a Sleeve can perform\n */\nexport enum SleeveTaskType {\n // Same Order as selectable order in UI\n Idle,\n Company,\n Faction,\n Crime,\n Class,\n Gym,\n Recovery,\n Synchro,\n}\n","import { Crime } from \"./Crime\";\n\nimport { CONSTANTS } from \"../Constants\";\nimport { IMap } from \"../types\";\n\nexport const Crimes: IMap = {\n Shoplift: new Crime(\"Shoplift\", CONSTANTS.CrimeShoplift, 2e3, 15e3, 1 / 20, 0.1, {\n dexterity_success_weight: 1,\n agility_success_weight: 1,\n\n dexterity_exp: 2,\n agility_exp: 2,\n }),\n\n RobStore: new Crime(\"Rob Store\", CONSTANTS.CrimeRobStore, 60e3, 400e3, 1 / 5, 0.5, {\n hacking_exp: 30,\n dexterity_exp: 45,\n agility_exp: 45,\n\n hacking_success_weight: 0.5,\n dexterity_success_weight: 2,\n agility_success_weight: 1,\n\n intelligence_exp: 7.5 * CONSTANTS.IntelligenceCrimeBaseExpGain,\n }),\n\n Mug: new Crime(\"Mug\", CONSTANTS.CrimeMug, 4e3, 36e3, 1 / 5, 0.25, {\n strength_exp: 3,\n defense_exp: 3,\n dexterity_exp: 3,\n agility_exp: 3,\n\n strength_success_weight: 1.5,\n defense_success_weight: 0.5,\n dexterity_success_weight: 1.5,\n agility_success_weight: 0.5,\n }),\n\n Larceny: new Crime(\"Larceny\", CONSTANTS.CrimeLarceny, 90e3, 800e3, 1 / 3, 1.5, {\n hacking_exp: 45,\n dexterity_exp: 60,\n agility_exp: 60,\n\n hacking_success_weight: 0.5,\n dexterity_success_weight: 1,\n agility_success_weight: 1,\n\n intelligence_exp: 15 * CONSTANTS.IntelligenceCrimeBaseExpGain,\n }),\n\n DealDrugs: new Crime(\"Deal Drugs\", CONSTANTS.CrimeDrugs, 10e3, 120e3, 1, 0.5, {\n dexterity_exp: 5,\n agility_exp: 5,\n charisma_exp: 10,\n\n charisma_success_weight: 3,\n dexterity_success_weight: 2,\n agility_success_weight: 1,\n }),\n\n BondForgery: new Crime(\"Bond Forgery\", CONSTANTS.CrimeBondForgery, 300e3, 4.5e6, 1 / 2, 0.1, {\n hacking_exp: 100,\n dexterity_exp: 150,\n charisma_exp: 15,\n\n hacking_success_weight: 0.05,\n dexterity_success_weight: 1.25,\n\n intelligence_exp: 60 * CONSTANTS.IntelligenceCrimeBaseExpGain,\n }),\n\n TraffickArms: new Crime(\"Traffick Arms\", CONSTANTS.CrimeTraffickArms, 40e3, 600e3, 2, 1, {\n strength_exp: 20,\n defense_exp: 20,\n dexterity_exp: 20,\n agility_exp: 20,\n charisma_exp: 40,\n\n charisma_success_weight: 1,\n strength_success_weight: 1,\n defense_success_weight: 1,\n dexterity_success_weight: 1,\n agility_success_weight: 1,\n }),\n\n Homicide: new Crime(\"Homicide\", CONSTANTS.CrimeHomicide, 3e3, 45e3, 1, 3, {\n strength_exp: 2,\n defense_exp: 2,\n dexterity_exp: 2,\n agility_exp: 2,\n\n strength_success_weight: 2,\n defense_success_weight: 2,\n dexterity_success_weight: 0.5,\n agility_success_weight: 0.5,\n\n kills: 1,\n }),\n\n GrandTheftAuto: new Crime(\"Grand Theft Auto\", CONSTANTS.CrimeGrandTheftAuto, 80e3, 1.6e6, 8, 5, {\n strength_exp: 20,\n defense_exp: 20,\n dexterity_exp: 20,\n agility_exp: 80,\n charisma_exp: 40,\n\n hacking_success_weight: 1,\n strength_success_weight: 1,\n dexterity_success_weight: 4,\n agility_success_weight: 2,\n charisma_success_weight: 2,\n\n intelligence_exp: 16 * CONSTANTS.IntelligenceCrimeBaseExpGain,\n }),\n\n Kidnap: new Crime(\"Kidnap\", CONSTANTS.CrimeKidnap, 120e3, 3.6e6, 5, 6, {\n strength_exp: 80,\n defense_exp: 80,\n dexterity_exp: 80,\n agility_exp: 80,\n charisma_exp: 80,\n\n charisma_success_weight: 1,\n strength_success_weight: 1,\n dexterity_success_weight: 1,\n agility_success_weight: 1,\n\n intelligence_exp: 26 * CONSTANTS.IntelligenceCrimeBaseExpGain,\n }),\n\n Assassination: new Crime(\"Assassination\", CONSTANTS.CrimeAssassination, 300e3, 12e6, 8, 10, {\n strength_exp: 300,\n defense_exp: 300,\n dexterity_exp: 300,\n agility_exp: 300,\n\n strength_success_weight: 1,\n dexterity_success_weight: 2,\n agility_success_weight: 1,\n\n intelligence_exp: 65 * CONSTANTS.IntelligenceCrimeBaseExpGain,\n\n kills: 1,\n }),\n\n Heist: new Crime(\"Heist\", CONSTANTS.CrimeHeist, 600e3, 120e6, 18, 15, {\n hacking_exp: 450,\n strength_exp: 450,\n defense_exp: 450,\n dexterity_exp: 450,\n agility_exp: 450,\n charisma_exp: 450,\n\n hacking_success_weight: 1,\n strength_success_weight: 1,\n defense_success_weight: 1,\n dexterity_success_weight: 1,\n agility_success_weight: 1,\n charisma_success_weight: 1,\n\n intelligence_exp: 130 * CONSTANTS.IntelligenceCrimeBaseExpGain,\n }),\n};\n","import * as React from \"react\";\n\nexport function trusted(f: () => void): (event: React.MouseEvent) => any {\n return function (event: React.MouseEvent): any {\n if (!event.isTrusted) return;\n f();\n };\n}\n","import { Reviver } from \"../utils/JSONReviver\";\n\ninterface GangTerritory {\n power: number;\n territory: number;\n}\n\nexport let AllGangs: {\n [key: string]: GangTerritory;\n} = {\n \"Slum Snakes\": {\n power: 1,\n territory: 1 / 7,\n },\n Tetrads: {\n power: 1,\n territory: 1 / 7,\n },\n \"The Syndicate\": {\n power: 1,\n territory: 1 / 7,\n },\n \"The Dark Army\": {\n power: 1,\n territory: 1 / 7,\n },\n \"Speakers for the Dead\": {\n power: 1,\n territory: 1 / 7,\n },\n NiteSec: {\n power: 1,\n territory: 1 / 7,\n },\n \"The Black Hand\": {\n power: 1,\n territory: 1 / 7,\n },\n};\n\nexport function resetGangs(): void {\n AllGangs = {\n \"Slum Snakes\": {\n power: 1,\n territory: 1 / 7,\n },\n Tetrads: {\n power: 1,\n territory: 1 / 7,\n },\n \"The Syndicate\": {\n power: 1,\n territory: 1 / 7,\n },\n \"The Dark Army\": {\n power: 1,\n territory: 1 / 7,\n },\n \"Speakers for the Dead\": {\n power: 1,\n territory: 1 / 7,\n },\n NiteSec: {\n power: 1,\n territory: 1 / 7,\n },\n \"The Black Hand\": {\n power: 1,\n territory: 1 / 7,\n },\n };\n}\n\nexport function loadAllGangs(saveString: string): void {\n AllGangs = JSON.parse(saveString, Reviver);\n}\n","// Constructs all CompanyPosition objects using the metadata in data/companypositions.ts\nimport { companyPositionMetadata } from \"./data/CompanyPositionsMetadata\";\nimport { CompanyPosition, IConstructorParams } from \"./CompanyPosition\";\nimport { IMap } from \"../types\";\n\nexport const CompanyPositions: IMap = {};\n\nfunction addCompanyPosition(params: IConstructorParams): void {\n if (CompanyPositions[params.name] != null) {\n console.warn(`Duplicate Company Position being defined: ${params.name}`);\n }\n CompanyPositions[params.name] = new CompanyPosition(params);\n}\n\ncompanyPositionMetadata.forEach((e) => {\n addCompanyPosition(e);\n});\n","import { IMap } from \"../../types\";\nimport { LocationName } from \"../../Locations/data/LocationNames\";\n\nexport const StockSymbols: IMap = {};\n\n// Stocks for companies at which you can work\nStockSymbols[LocationName.AevumECorp] = \"ECP\";\nStockSymbols[LocationName.Sector12MegaCorp] = \"MGCP\";\nStockSymbols[LocationName.Sector12BladeIndustries] = \"BLD\";\nStockSymbols[LocationName.AevumClarkeIncorporated] = \"CLRK\";\nStockSymbols[LocationName.VolhavenOmniTekIncorporated] = \"OMTK\";\nStockSymbols[LocationName.Sector12FourSigma] = \"FSIG\";\nStockSymbols[LocationName.ChongqingKuaiGongInternational] = \"KGI\";\nStockSymbols[LocationName.AevumFulcrumTechnologies] = \"FLCM\";\nStockSymbols[LocationName.IshimaStormTechnologies] = \"STM\";\nStockSymbols[LocationName.NewTokyoDefComm] = \"DCOMM\";\nStockSymbols[LocationName.VolhavenHeliosLabs] = \"HLS\";\nStockSymbols[LocationName.NewTokyoVitaLife] = \"VITA\";\nStockSymbols[LocationName.Sector12IcarusMicrosystems] = \"ICRS\";\nStockSymbols[LocationName.Sector12UniversalEnergy] = \"UNV\";\nStockSymbols[LocationName.AevumAeroCorp] = \"AERO\";\nStockSymbols[LocationName.VolhavenOmniaCybersystems] = \"OMN\";\nStockSymbols[LocationName.ChongqingSolarisSpaceSystems] = \"SLRS\";\nStockSymbols[LocationName.NewTokyoGlobalPharmaceuticals] = \"GPH\";\nStockSymbols[LocationName.IshimaNovaMedical] = \"NVMD\";\nStockSymbols[LocationName.AevumWatchdogSecurity] = \"WDS\";\nStockSymbols[LocationName.VolhavenLexoCorp] = \"LXO\";\nStockSymbols[LocationName.AevumRhoConstruction] = \"RHOC\";\nStockSymbols[LocationName.Sector12AlphaEnterprises] = \"APHE\";\nStockSymbols[LocationName.VolhavenSysCoreSecurities] = \"SYSC\";\nStockSymbols[LocationName.VolhavenCompuTek] = \"CTK\";\nStockSymbols[LocationName.AevumNetLinkTechnologies] = \"NTLK\";\nStockSymbols[LocationName.IshimaOmegaSoftware] = \"OMGA\";\nStockSymbols[LocationName.Sector12FoodNStuff] = \"FNS\";\n\n// Stocks for other companies\nStockSymbols[\"Sigma Cosmetics\"] = \"SGC\";\nStockSymbols[\"Joes Guns\"] = \"JGN\";\nStockSymbols[\"Catalyst Ventures\"] = \"CTYS\";\nStockSymbols[\"Microdyne Technologies\"] = \"MDYN\";\nStockSymbols[\"Titan Laboratories\"] = \"TITN\";\n","/**\n * Hacknet Servers - Reworked Hacknet Node mechanic for BitNode-9\n */\nimport { CONSTANTS } from \"../Constants\";\n\nimport { IHacknetNode } from \"./IHacknetNode\";\n\nimport { BaseServer } from \"../Server/BaseServer\";\nimport { RunningScript } from \"../Script/RunningScript\";\nimport { HacknetServerConstants } from \"./data/Constants\";\nimport {\n calculateHashGainRate,\n calculateLevelUpgradeCost,\n calculateRamUpgradeCost,\n calculateCoreUpgradeCost,\n calculateCacheUpgradeCost,\n} from \"./formulas/HacknetServers\";\n\nimport { createRandomIp } from \"../utils/IPAddress\";\n\nimport { Generic_fromJSON, Generic_toJSON, Reviver } from \"../utils/JSONReviver\";\n\ninterface IConstructorParams {\n adminRights?: boolean;\n hostname: string;\n ip?: string;\n isConnectedTo?: boolean;\n maxRam?: number;\n organizationName?: string;\n}\n\nexport class HacknetServer extends BaseServer implements IHacknetNode {\n // Cache level. Affects hash Capacity\n cache = 1;\n\n // Number of cores. Improves hash production\n cores = 1;\n\n // Number of hashes that can be stored by this Hacknet Server\n hashCapacity = 0;\n\n // Hashes produced per second\n hashRate = 0;\n\n // Similar to Node level. Improves hash production\n level = 1;\n\n // How long this HacknetServer has existed, in seconds\n onlineTimeSeconds = 0;\n\n // Total number of hashes earned by this server\n totalHashesGenerated = 0;\n\n constructor(params: IConstructorParams = { hostname: \"\", ip: createRandomIp() }) {\n super(params);\n\n this.maxRam = 1;\n this.updateHashCapacity();\n }\n\n calculateCacheUpgradeCost(levels: number): number {\n return calculateCacheUpgradeCost(this.cache, levels);\n }\n\n calculateCoreUpgradeCost(levels: number, costMult: number): number {\n return calculateCoreUpgradeCost(this.cores, levels, costMult);\n }\n\n calculateLevelUpgradeCost(levels: number, costMult: number): number {\n return calculateLevelUpgradeCost(this.level, levels, costMult);\n }\n\n calculateRamUpgradeCost(levels: number, costMult: number): number {\n return calculateRamUpgradeCost(this.maxRam, levels, costMult);\n }\n\n // Process this Hacknet Server in the game loop. Returns the number of hashes generated\n process(numCycles = 1): number {\n const seconds = (numCycles * CONSTANTS.MilliPerCycle) / 1000;\n\n return this.hashRate * seconds;\n }\n\n upgradeCache(levels: number): void {\n this.cache = Math.min(HacknetServerConstants.MaxCache, Math.round(this.cache + levels));\n this.updateHashCapacity();\n }\n\n upgradeCore(levels: number, prodMult: number): void {\n this.cores = Math.min(HacknetServerConstants.MaxCores, Math.round(this.cores + levels));\n this.updateHashRate(prodMult);\n }\n\n upgradeLevel(levels: number, prodMult: number): void {\n this.level = Math.min(HacknetServerConstants.MaxLevel, Math.round(this.level + levels));\n this.updateHashRate(prodMult);\n }\n\n upgradeRam(levels: number, prodMult: number): boolean {\n for (let i = 0; i < levels; ++i) {\n this.maxRam *= 2;\n }\n this.maxRam = Math.min(HacknetServerConstants.MaxRam, Math.round(this.maxRam));\n this.updateHashRate(prodMult);\n\n return true;\n }\n\n // Whenever a script is run, we must update this server's hash rate\n runScript(script: RunningScript, prodMult?: number): void {\n super.runScript(script);\n if (prodMult != null && typeof prodMult === \"number\") {\n this.updateHashRate(prodMult);\n }\n }\n\n updateHashCapacity(): void {\n this.hashCapacity = 32 * Math.pow(2, this.cache);\n }\n\n updateHashRate(prodMult: number): void {\n this.hashRate = calculateHashGainRate(this.level, this.ramUsed, this.maxRam, this.cores, prodMult);\n\n if (isNaN(this.hashRate)) {\n this.hashRate = 0;\n console.error(\n `Error calculating Hacknet Server hash production. This is a bug. Please report to game dev`,\n false,\n );\n }\n }\n\n // Serialize the current object to a JSON save state\n toJSON(): any {\n return Generic_toJSON(\"HacknetServer\", this);\n }\n\n // Initializes a HacknetServer Object from a JSON save state\n // eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types\n static fromJSON(value: any): HacknetServer {\n return Generic_fromJSON(HacknetServer, value.data);\n }\n}\n\nReviver.constructors.HacknetServer = HacknetServer;\n","import { IOrderBook } from \"./IOrderBook\";\nimport { IStockMarket } from \"./IStockMarket\";\nimport { Order } from \"./Order\";\nimport { processOrders } from \"./OrderProcessing\";\nimport { Stock } from \"./Stock\";\nimport { TicksPerCycle } from \"./StockMarketConstants\";\nimport { InitStockMetadata } from \"./data/InitStockMetadata\";\nimport { OrderTypes } from \"./data/OrderTypes\";\nimport { PositionTypes } from \"./data/PositionTypes\";\nimport { StockSymbols } from \"./data/StockSymbols\";\n\nimport { CONSTANTS } from \"../Constants\";\nimport { WorkerScript } from \"../Netscript/WorkerScript\";\nimport { IMap } from \"../types\";\nimport { EventEmitter } from \"../utils/EventEmitter\";\n\nimport { numeralWrapper } from \".././ui/numeralFormat\";\n\nimport { dialogBoxCreate } from \"../ui/React/DialogBox\";\nimport { Reviver } from \"../utils/JSONReviver\";\n\nexport let StockMarket: IStockMarket = {\n lastUpdate: 0,\n Orders: {},\n storedCycles: 0,\n ticksUntilCycle: 0,\n} as IStockMarket; // Maps full stock name -> Stock object\nexport const SymbolToStockMap: IMap = {}; // Maps symbol -> Stock object\n\nexport function placeOrder(\n stock: Stock,\n shares: number,\n price: number,\n type: OrderTypes,\n position: PositionTypes,\n workerScript: WorkerScript | null = null,\n): boolean {\n if (!(stock instanceof Stock)) {\n if (workerScript) {\n workerScript.log(\"placeOrder\", `Invalid stock: '${stock}'`);\n } else {\n dialogBoxCreate(`ERROR: Invalid stock passed to placeOrder() function`);\n }\n return false;\n }\n if (typeof shares !== \"number\" || typeof price !== \"number\") {\n if (workerScript) {\n workerScript.log(\"placeOrder\", `Invalid arguments: shares='${shares}' price='${price}'`);\n } else {\n dialogBoxCreate(\"ERROR: Invalid numeric value provided for either 'shares' or 'price' argument\");\n }\n return false;\n }\n\n const order = new Order(stock.symbol, shares, price, type, position);\n if (StockMarket[\"Orders\"] == null) {\n const orders: IOrderBook = {};\n for (const name in StockMarket) {\n const stk = StockMarket[name];\n if (!(stk instanceof Stock)) {\n continue;\n }\n orders[stk.symbol] = [];\n }\n StockMarket[\"Orders\"] = orders;\n }\n StockMarket[\"Orders\"][stock.symbol].push(order);\n\n // Process to see if it should be executed immediately\n const processOrderRefs = {\n stockMarket: StockMarket as IStockMarket,\n symbolToStockMap: SymbolToStockMap,\n };\n processOrders(stock, order.type, order.pos, processOrderRefs);\n\n return true;\n}\n\n// Returns true if successfully cancels an order, false otherwise\ninterface ICancelOrderParams {\n order?: Order;\n pos?: PositionTypes;\n price?: number;\n shares?: number;\n stock?: Stock;\n type?: OrderTypes;\n}\nexport function cancelOrder(params: ICancelOrderParams, workerScript: WorkerScript | null = null): boolean {\n if (StockMarket[\"Orders\"] == null) {\n return false;\n }\n if (params.order && params.order instanceof Order) {\n const order = params.order;\n // An 'Order' object is passed in\n const stockOrders = StockMarket[\"Orders\"][order.stockSymbol];\n for (let i = 0; i < stockOrders.length; ++i) {\n if (order == stockOrders[i]) {\n stockOrders.splice(i, 1);\n return true;\n }\n }\n return false;\n } else if (\n params.stock &&\n params.shares &&\n params.price &&\n params.type &&\n params.pos &&\n params.stock instanceof Stock\n ) {\n // Order properties are passed in. Need to look for the order\n const stockOrders = StockMarket[\"Orders\"][params.stock.symbol];\n const orderTxt = params.stock.symbol + \" - \" + params.shares + \" @ \" + numeralWrapper.formatMoney(params.price);\n for (let i = 0; i < stockOrders.length; ++i) {\n const order = stockOrders[i];\n if (\n params.shares === order.shares &&\n params.price === order.price &&\n params.type === order.type &&\n params.pos === order.pos\n ) {\n stockOrders.splice(i, 1);\n if (workerScript) {\n workerScript.scriptRef.log(\"Successfully cancelled order: \" + orderTxt);\n }\n return true;\n }\n }\n if (workerScript) {\n workerScript.scriptRef.log(\"Failed to cancel order: \" + orderTxt);\n }\n return false;\n }\n return false;\n}\n\nexport function loadStockMarket(saveString: string): void {\n if (saveString === \"\") {\n StockMarket = {\n lastUpdate: 0,\n Orders: {},\n storedCycles: 0,\n ticksUntilCycle: 0,\n } as IStockMarket;\n } else {\n StockMarket = JSON.parse(saveString, Reviver);\n }\n}\n\nexport function deleteStockMarket(): void {\n StockMarket = {\n lastUpdate: 0,\n Orders: {},\n storedCycles: 0,\n ticksUntilCycle: 0,\n } as IStockMarket;\n}\n\nexport function initStockMarket(): void {\n for (const stk in StockMarket) {\n if (StockMarket.hasOwnProperty(stk)) {\n delete StockMarket[stk];\n }\n }\n\n for (const metadata of InitStockMetadata) {\n const name = metadata.name;\n StockMarket[name] = new Stock(metadata);\n }\n\n const orders: IOrderBook = {};\n for (const name in StockMarket) {\n const stock = StockMarket[name];\n if (!(stock instanceof Stock)) {\n continue;\n }\n orders[stock.symbol] = [];\n }\n StockMarket[\"Orders\"] = orders;\n\n StockMarket.storedCycles = 0;\n StockMarket.lastUpdate = 0;\n StockMarket.ticksUntilCycle = TicksPerCycle;\n}\n\nexport function initSymbolToStockMap(): void {\n for (const name in StockSymbols) {\n if (StockSymbols.hasOwnProperty(name)) {\n const stock = StockMarket[name];\n if (stock == null) {\n console.error(`Could not find Stock for ${name}`);\n continue;\n }\n const symbol = StockSymbols[name];\n SymbolToStockMap[symbol] = stock;\n }\n }\n}\n\nexport function stockMarketCycle(): void {\n for (const name in StockMarket) {\n const stock = StockMarket[name];\n if (!(stock instanceof Stock)) {\n continue;\n }\n\n const roll = Math.random();\n if (roll < 0.45) {\n stock.b = !stock.b;\n stock.flipForecastForecast();\n }\n\n StockMarket.ticksUntilCycle = TicksPerCycle;\n }\n}\n\n// Stock prices updated every 6 seconds\nconst msPerStockUpdate = 6e3;\nconst cyclesPerStockUpdate = msPerStockUpdate / CONSTANTS.MilliPerCycle;\nexport function processStockPrices(numCycles = 1): void {\n if (StockMarket.storedCycles == null || isNaN(StockMarket.storedCycles)) {\n StockMarket.storedCycles = 0;\n }\n StockMarket.storedCycles += numCycles;\n\n if (StockMarket.storedCycles < cyclesPerStockUpdate) {\n return;\n }\n\n // We can process the update every 4 seconds as long as there are enough\n // stored cycles. This lets us account for offline time\n const timeNow = new Date().getTime();\n if (timeNow - StockMarket.lastUpdate < 4e3) {\n return;\n }\n\n StockMarket.lastUpdate = timeNow;\n StockMarket.storedCycles -= cyclesPerStockUpdate;\n\n // Cycle\n if (StockMarket.ticksUntilCycle == null || typeof StockMarket.ticksUntilCycle !== \"number\") {\n StockMarket.ticksUntilCycle = TicksPerCycle;\n }\n --StockMarket.ticksUntilCycle;\n if (StockMarket.ticksUntilCycle <= 0) {\n stockMarketCycle();\n }\n\n const v = Math.random();\n for (const name in StockMarket) {\n const stock = StockMarket[name];\n if (!(stock instanceof Stock)) {\n continue;\n }\n let av = (v * stock.mv) / 100;\n if (isNaN(av)) {\n av = 0.02;\n }\n\n let chc = 50;\n if (stock.b) {\n chc = (chc + stock.otlkMag) / 100;\n } else {\n chc = (chc - stock.otlkMag) / 100;\n }\n if (stock.price >= stock.cap) {\n chc = 0.1; // \"Soft Limit\" on stock price. It could still go up but its unlikely\n stock.b = false;\n }\n if (isNaN(chc)) {\n chc = 0.5;\n }\n\n const c = Math.random();\n const processOrderRefs = {\n stockMarket: StockMarket,\n symbolToStockMap: SymbolToStockMap,\n };\n if (c < chc) {\n stock.changePrice(stock.price * (1 + av));\n processOrders(stock, OrderTypes.LimitBuy, PositionTypes.Short, processOrderRefs);\n processOrders(stock, OrderTypes.LimitSell, PositionTypes.Long, processOrderRefs);\n processOrders(stock, OrderTypes.StopBuy, PositionTypes.Long, processOrderRefs);\n processOrders(stock, OrderTypes.StopSell, PositionTypes.Short, processOrderRefs);\n } else {\n stock.changePrice(stock.price / (1 + av));\n processOrders(stock, OrderTypes.LimitBuy, PositionTypes.Long, processOrderRefs);\n processOrders(stock, OrderTypes.LimitSell, PositionTypes.Short, processOrderRefs);\n processOrders(stock, OrderTypes.StopBuy, PositionTypes.Short, processOrderRefs);\n processOrders(stock, OrderTypes.StopSell, PositionTypes.Long, processOrderRefs);\n }\n\n let otlkMagChange = stock.otlkMag * av;\n if (stock.otlkMag < 5) {\n if (stock.otlkMag <= 1) {\n otlkMagChange = 1;\n } else {\n otlkMagChange *= 10;\n }\n }\n stock.cycleForecast(otlkMagChange);\n stock.cycleForecastForecast(otlkMagChange / 2);\n\n // Shares required for price movement gradually approaches max over time\n stock.shareTxUntilMovement = Math.min(stock.shareTxUntilMovement + 10, stock.shareTxForMovement);\n }\n}\n\nexport function initStockMarketFnForReact(): void {\n initStockMarket();\n initSymbolToStockMap();\n}\n\nexport const eventEmitterForUiReset = new EventEmitter<[]>();\n","import { IMap } from \"../../types\";\n\n/**\n * Keyboard key codes\n */\nexport const KEY: IMap = {\n CTRL: 17,\n DOWNARROW: 40,\n ENTER: 13,\n ESC: 27,\n TAB: 9,\n UPARROW: 38,\n\n \"0\": 48,\n \"1\": 49,\n \"2\": 50,\n \"3\": 51,\n \"4\": 52,\n \"5\": 53,\n \"6\": 54,\n \"7\": 55,\n \"8\": 56,\n \"9\": 57,\n\n A: 65,\n B: 66,\n C: 67,\n D: 68,\n E: 69,\n F: 70,\n G: 71,\n H: 72,\n I: 73,\n J: 74,\n K: 75,\n L: 76,\n M: 77,\n N: 78,\n O: 79,\n P: 80,\n Q: 81,\n R: 82,\n S: 83,\n T: 84,\n U: 85,\n V: 86,\n W: 87,\n X: 88,\n Y: 89,\n Z: 90,\n};\n","import { codingContractTypesMetadata, DescriptionFunc, GeneratorFunc, SolverFunc } from \"./data/codingcontracttypes\";\n\nimport { IMap } from \"./types\";\n\nimport { Generic_fromJSON, Generic_toJSON, Reviver } from \"./utils/JSONReviver\";\nimport { CodingContractEvent } from \"./ui/React/CodingContractModal\";\n\n/* tslint:disable:no-magic-numbers completed-docs max-classes-per-file no-console */\n\n/* Represents different types of problems that a Coding Contract can have */\nexport class CodingContractType {\n /**\n * Function that generates a description of the problem\n */\n desc: DescriptionFunc;\n\n /**\n * Number that generally represents the problem's difficulty. Bigger numbers = harder\n */\n difficulty: number;\n\n /**\n * A function that randomly generates a valid 'data' for the problem\n */\n generate: GeneratorFunc;\n\n /**\n * Name of the type of problem\n */\n name: string;\n\n /**\n * The maximum number of tries the player gets on this kind of problem before it self-destructs\n */\n numTries: number;\n\n /**\n * Stores a function that checks if the provided answer is correct\n */\n solver: SolverFunc;\n\n constructor(\n name: string,\n desc: DescriptionFunc,\n gen: GeneratorFunc,\n solver: SolverFunc,\n diff: number,\n numTries: number,\n ) {\n this.name = name;\n this.desc = desc;\n this.generate = gen;\n this.solver = solver;\n this.difficulty = diff;\n this.numTries = numTries;\n }\n}\n\n/* Contract Types */\n// tslint:disable-next-line\nexport const CodingContractTypes: IMap = {};\n\nfor (const md of codingContractTypesMetadata) {\n // tslint:disable-next-line\n CodingContractTypes[md.name] = new CodingContractType(\n md.name,\n md.desc,\n md.gen,\n md.solver,\n md.difficulty,\n md.numTries,\n );\n}\n\n/**\n * Enum representing the different types of rewards a Coding Contract can give\n */\nexport enum CodingContractRewardType {\n FactionReputation,\n FactionReputationAll,\n CompanyReputation,\n Money, // This must always be the last reward type\n}\n\n/**\n * Enum representing the result when trying to solve the Contract\n */\nexport enum CodingContractResult {\n Success,\n Failure,\n Cancelled,\n}\n\n/**\n * A class that represents the type of reward a contract gives\n */\nexport interface ICodingContractReward {\n /* Name of Company/Faction name for reward, if applicable */\n name?: string;\n type: CodingContractRewardType;\n}\n\n/**\n * A Coding Contract is a file that poses a programming-related problem to the Player.\n * The player receives a reward if the problem is solved correctly\n */\nexport class CodingContract {\n /* Relevant data for the contract's problem */\n data: any;\n\n /* Contract's filename */\n fn: string;\n\n /* Describes the reward given if this Contract is solved. The reward is actually\n processed outside of this file */\n reward: ICodingContractReward | null;\n\n /* Number of times the Contract has been attempted */\n tries = 0;\n\n /* String representing the contract's type. Must match type in ContractTypes */\n type: string;\n\n constructor(fn = \"\", type = \"Find Largest Prime Factor\", reward: ICodingContractReward | null = null) {\n this.fn = fn;\n if (!this.fn.endsWith(\".cct\")) {\n this.fn += \".cct\";\n }\n\n // tslint:disable-next-line\n if (CodingContractTypes[type] == null) {\n throw new Error(`Error: invalid contract type: ${type} please contact developer`);\n }\n\n this.type = type;\n this.data = CodingContractTypes[type].generate();\n this.reward = reward;\n }\n\n getData(): any {\n return this.data;\n }\n\n getDescription(): string {\n return CodingContractTypes[this.type].desc(this.data);\n }\n\n getDifficulty(): number {\n return CodingContractTypes[this.type].difficulty;\n }\n\n getMaxNumTries(): number {\n return CodingContractTypes[this.type].numTries;\n }\n\n getType(): string {\n return CodingContractTypes[this.type].name;\n }\n\n isSolution(solution: string): boolean {\n return CodingContractTypes[this.type].solver(this.data, solution);\n }\n\n /**\n * Creates a popup to prompt the player to solve the problem\n */\n async prompt(): Promise {\n return new Promise((resolve) => {\n const props = {\n c: this,\n onClose: () => {\n resolve(CodingContractResult.Cancelled);\n },\n onAttempt: (val: string) => {\n if (this.isSolution(val)) {\n resolve(CodingContractResult.Success);\n } else {\n resolve(CodingContractResult.Failure);\n }\n },\n };\n CodingContractEvent.emit(props);\n });\n }\n\n /**\n * Serialize the current file to a JSON save state.\n */\n toJSON(): any {\n return Generic_toJSON(\"CodingContract\", this);\n }\n\n /**\n * Initiatizes a CodingContract from a JSON save state.\n */\n // eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types\n static fromJSON(value: any): CodingContract {\n return Generic_fromJSON(CodingContract, value.data);\n }\n}\n\nReviver.constructors.CodingContract = CodingContract;\n","export enum OrderTypes {\n LimitBuy = \"Limit Buy Order\",\n LimitSell = \"Limit Sell Order\",\n StopBuy = \"Stop Buy Order\",\n StopSell = \"Stop Sell Order\",\n}\n","import { BitNodeMultipliers } from \"./BitNode/BitNodeMultipliers\";\nimport { IPlayer } from \"./PersonObjects/IPlayer\";\nimport { calculateIntelligenceBonus } from \"./PersonObjects/formulas/intelligence\";\nimport { Server } from \"./Server/Server\";\n\n/**\n * Returns the chance the player has to successfully hack a server\n */\nexport function calculateHackingChance(server: Server, player: IPlayer): number {\n const hackFactor = 1.75;\n const difficultyMult = (100 - server.hackDifficulty) / 100;\n const skillMult = hackFactor * player.hacking_skill;\n const skillChance = (skillMult - server.requiredHackingSkill) / skillMult;\n const chance =\n skillChance * difficultyMult * player.hacking_chance_mult * calculateIntelligenceBonus(player.intelligence, 1);\n if (chance > 1) {\n return 1;\n }\n if (chance < 0) {\n return 0;\n }\n\n return chance;\n}\n\n/**\n * Returns the amount of hacking experience the player will gain upon\n * successfully hacking a server\n */\nexport function calculateHackingExpGain(server: Server, player: IPlayer): number {\n const baseExpGain = 3;\n const diffFactor = 0.3;\n if (server.baseDifficulty == null) {\n server.baseDifficulty = server.hackDifficulty;\n }\n let expGain = baseExpGain;\n expGain += server.baseDifficulty * player.hacking_exp_mult * diffFactor;\n\n return expGain * BitNodeMultipliers.HackExpGain;\n}\n\n/**\n * Returns the percentage of money that will be stolen from a server if\n * it is successfully hacked (returns the decimal form, not the actual percent value)\n */\nexport function calculatePercentMoneyHacked(server: Server, player: IPlayer): number {\n // Adjust if needed for balancing. This is the divisor for the final calculation\n const balanceFactor = 240;\n\n const difficultyMult = (100 - server.hackDifficulty) / 100;\n const skillMult = (player.hacking_skill - (server.requiredHackingSkill - 1)) / player.hacking_skill;\n const percentMoneyHacked = (difficultyMult * skillMult * player.hacking_money_mult) / balanceFactor;\n if (percentMoneyHacked < 0) {\n return 0;\n }\n if (percentMoneyHacked > 1) {\n return 1;\n }\n\n return percentMoneyHacked * BitNodeMultipliers.ScriptHackMoney;\n}\n\n/**\n * Returns time it takes to complete a hack on a server, in seconds\n */\nexport function calculateHackingTime(server: Server, player: IPlayer): number {\n const difficultyMult = server.requiredHackingSkill * server.hackDifficulty;\n\n const baseDiff = 500;\n const baseSkill = 50;\n const diffFactor = 2.5;\n let skillFactor = diffFactor * difficultyMult + baseDiff;\n // tslint:disable-next-line\n skillFactor /= player.hacking_skill + baseSkill;\n\n const hackTimeMultiplier = 5;\n const hackingTime =\n (hackTimeMultiplier * skillFactor) /\n (player.hacking_speed_mult * calculateIntelligenceBonus(player.intelligence, 1));\n\n return hackingTime;\n}\n\n/**\n * Returns time it takes to complete a grow operation on a server, in seconds\n */\nexport function calculateGrowTime(server: Server, player: IPlayer): number {\n const growTimeMultiplier = 3.2; // Relative to hacking time. 16/5 = 3.2\n\n return growTimeMultiplier * calculateHackingTime(server, player);\n}\n\n/**\n * Returns time it takes to complete a weaken operation on a server, in seconds\n */\nexport function calculateWeakenTime(server: Server, player: IPlayer): number {\n const weakenTimeMultiplier = 4; // Relative to hacking time\n\n return weakenTimeMultiplier * calculateHackingTime(server, player);\n}\n","export function isScriptFilename(f: string): boolean {\n return f.endsWith(\".js\") || f.endsWith(\".script\") || f.endsWith(\".ns\");\n}\n","import * as React from \"react\";\nimport { numeralWrapper } from \"../../ui/numeralFormat\";\nimport { Theme } from \"@mui/material/styles\";\nimport makeStyles from \"@mui/styles/makeStyles\";\nimport createStyles from \"@mui/styles/createStyles\";\n\nconst useStyles = makeStyles((theme: Theme) =>\n createStyles({\n reputation: {\n color: theme.colors.rep,\n },\n }),\n);\n\nexport function Reputation({ reputation }: { reputation: number | string }): React.ReactElement {\n const classes = useStyles();\n return (\n \n {typeof reputation === \"number\" ? numeralWrapper.formatReputation(reputation) : reputation}\n \n );\n}\n","import React from \"react\";\nimport { numeralWrapper } from \"../../ui/numeralFormat\";\nimport { Money } from \"../../ui/React/Money\";\n\nexport function MoneyRate({ money }: { money: number }): JSX.Element {\n return ;\n}\n","// Defines the ResearchTree that is common to all Corporation Industries\n// i.e. all Industries have these types of Research available to unlock\nimport { Research } from \"../Research\";\nimport { ResearchMap } from \"../ResearchMap\";\nimport { ResearchTree, Node } from \"../ResearchTree\";\n\nfunction makeNode(name: string): Node {\n const research: Research | null = ResearchMap[name];\n if (research == null) {\n throw new Error(`Invalid research name: ${name}`);\n }\n\n return new Node({ text: research.name, cost: research.cost });\n}\n\n// Creates the Nodes for the BaseResearchTree.\n// Return the Root Node\nfunction createBaseResearchTreeNodes(): Node {\n const rootNode: Node = makeNode(\"Hi-Tech R&D Laboratory\");\n const autoBrew: Node = makeNode(\"AutoBrew\");\n const autoParty: Node = makeNode(\"AutoPartyManager\");\n const autoDrugs: Node = makeNode(\"Automatic Drug Administration\");\n const bulkPurchasing: Node = makeNode(\"Bulk Purchasing\");\n const cph4: Node = makeNode(\"CPH4 Injections\");\n const drones: Node = makeNode(\"Drones\");\n const dronesAssembly: Node = makeNode(\"Drones - Assembly\");\n const dronesTransport: Node = makeNode(\"Drones - Transport\");\n const goJuice: Node = makeNode(\"Go-Juice\");\n const hrRecruitment: Node = makeNode(\"HRBuddy-Recruitment\");\n const hrTraining: Node = makeNode(\"HRBuddy-Training\");\n const joywire: Node = makeNode(\"JoyWire\");\n const marketta1: Node = makeNode(\"Market-TA.I\");\n const marketta2: Node = makeNode(\"Market-TA.II\");\n const overclock: Node = makeNode(\"Overclock\");\n const scAssemblers: Node = makeNode(\"Self-Correcting Assemblers\");\n const stimu: Node = makeNode(\"Sti.mu\");\n\n autoDrugs.addChild(goJuice);\n autoDrugs.addChild(cph4);\n\n drones.addChild(dronesAssembly);\n drones.addChild(dronesTransport);\n\n hrRecruitment.addChild(hrTraining);\n\n marketta1.addChild(marketta2);\n\n overclock.addChild(stimu);\n\n rootNode.addChild(autoBrew);\n rootNode.addChild(autoParty);\n rootNode.addChild(autoDrugs);\n rootNode.addChild(bulkPurchasing);\n rootNode.addChild(drones);\n rootNode.addChild(hrRecruitment);\n rootNode.addChild(joywire);\n rootNode.addChild(marketta1);\n rootNode.addChild(overclock);\n rootNode.addChild(scAssemblers);\n\n return rootNode;\n}\n\nexport function getBaseResearchTreeCopy(): ResearchTree {\n const baseResearchTree: ResearchTree = new ResearchTree();\n baseResearchTree.setRoot(createBaseResearchTreeNodes());\n\n return baseResearchTree;\n}\n\n// Base Research Tree for Industry's that make products\nexport function getProductIndustryResearchTreeCopy(): ResearchTree {\n const researchTree: ResearchTree = new ResearchTree();\n const root = createBaseResearchTreeNodes();\n\n const upgradeFulcrum = makeNode(\"uPgrade: Fulcrum\");\n const upgradeCapacity1 = makeNode(\"uPgrade: Capacity.I\");\n const upgradeCapacity2 = makeNode(\"uPgrade: Capacity.II\");\n const upgradeDashboard = makeNode(\"uPgrade: Dashboard\");\n\n upgradeCapacity1.addChild(upgradeCapacity2);\n upgradeFulcrum.addChild(upgradeCapacity1);\n upgradeFulcrum.addChild(upgradeDashboard);\n root.addChild(upgradeFulcrum);\n\n researchTree.setRoot(root);\n\n return researchTree;\n}\n","/**\n * Helper functions that implement \"directory\" functionality in the Terminal.\n * These aren't \"real\" directories, it's more of a pseudo-directory implementation\n * that uses mainly string manipulation.\n *\n * This file contains functions that deal only with that string manipulation.\n * Functions that need to access/process Server-related things can be\n * found in ./DirectoryServerHelpers.ts\n */\n\n/**\n * Removes leading forward slash (\"/\") from a string.\n */\nexport function removeLeadingSlash(s: string): string {\n if (s.startsWith(\"/\")) {\n return s.slice(1);\n }\n\n return s;\n}\n\n/**\n * Removes trailing forward slash (\"/\") from a string.\n * Note that this will also remove the slash if it is the leading slash (i.e. if s = \"/\")\n */\nexport function removeTrailingSlash(s: string): string {\n if (s.endsWith(\"/\")) {\n return s.slice(0, -1);\n }\n\n return s;\n}\n\n/**\n * Checks whether a string is a valid filename. Only used for the filename itself,\n * not the entire filepath\n */\nexport function isValidFilename(filename: string): boolean {\n // Allows alphanumerics, hyphens, underscores, and percentage signs\n // Must have a file extension\n const regex = /^[.a-zA-Z0-9_-]+[.][a-zA-Z0-9]+(?:-\\d+(?:\\.\\d*)?%-INC)?$/;\n\n // match() returns null if no match is found\n return filename.match(regex) != null;\n}\n\n/**\n * Checks whether a string is a valid directory name. Only used for the directory itself,\n * not an entire path\n */\nexport function isValidDirectoryName(name: string): boolean {\n // Allows alphanumerics, hyphens, underscores, and percentage signs.\n // Name can begin with a single period, but otherwise cannot have any\n const regex = /^.?[a-zA-Z0-9_-]+$/;\n\n // match() returns null if no match is found\n return name.match(regex) != null;\n}\n\n/**\n * Checks whether a string is a valid directory path.\n * This only checks if it has the proper formatting. It does NOT check\n * if the directories actually exist on Terminal\n */\nexport function isValidDirectoryPath(path: string): boolean {\n let t_path: string = path;\n\n if (t_path.length === 0) {\n return false;\n }\n if (t_path.length === 1) {\n return t_path === \"/\";\n }\n\n // A full path must have a leading slash, but we'll ignore it for the checks\n if (t_path.startsWith(\"/\")) {\n t_path = t_path.slice(1);\n } else {\n return false;\n }\n\n // Trailing slash does not matter\n t_path = removeTrailingSlash(t_path);\n\n // Check that every section of the path is a valid directory name\n const dirs = t_path.split(\"/\");\n for (const dir of dirs) {\n // Special case, \".\" and \"..\" are valid for path\n if (dir === \".\" || dir === \"..\") {\n continue;\n }\n if (!isValidDirectoryName(dir)) {\n return false;\n }\n }\n\n return true;\n}\n\n/**\n * Checks whether a string is a valid file path. This only checks if it has the\n * proper formatting. It dose NOT check if the file actually exists on Terminal\n */\nexport function isValidFilePath(path: string): boolean {\n if (path == null || typeof path !== \"string\") {\n return false;\n }\n const t_path = path;\n\n // Impossible for filename to have less than length of 3\n if (t_path.length < 3) {\n return false;\n }\n\n // Full filepath can't end with trailing slash because it must be a file\n if (t_path.endsWith(\"/\")) {\n return false;\n }\n\n // Everything after the last forward slash is the filename. Everything before\n // it is the file path\n const fnSeparator = t_path.lastIndexOf(\"/\");\n if (fnSeparator === -1) {\n return isValidFilename(t_path);\n }\n\n const fn = t_path.slice(fnSeparator + 1);\n const dirPath = t_path.slice(0, fnSeparator + 1);\n\n return isValidDirectoryPath(dirPath) && isValidFilename(fn);\n}\n\n/**\n * Returns a formatted string for the first parent directory in a filepath. For example:\n * /home/var/test/ -> home/\n * If there is no first parent directory, then it returns \"/\" for root\n */\nexport function getFirstParentDirectory(path: string): string {\n let t_path = path;\n t_path = removeLeadingSlash(t_path);\n t_path = removeTrailingSlash(t_path);\n\n if (t_path.lastIndexOf(\"/\") === -1) {\n return \"/\";\n }\n\n const dirs = t_path.split(\"/\");\n if (dirs.length === 0) {\n return \"/\";\n }\n\n return dirs[0] + \"/\";\n}\n\n/**\n * Given a filepath, returns a formatted string for all of the parent directories\n * in that filepath. For example:\n * /home/var/tes -> home/var/\n * /home/var/test/ -> home/var/test/\n * If there are no parent directories, it returns the empty string\n */\nexport function getAllParentDirectories(path: string): string {\n const t_path = path;\n const lastSlash = t_path.lastIndexOf(\"/\");\n if (lastSlash === -1) {\n return \"\";\n }\n\n return t_path.slice(0, lastSlash + 1);\n}\n\n/**\n * Checks if a file path refers to a file in the root directory.\n */\nexport function isInRootDirectory(path: string): boolean {\n if (!isValidFilePath(path)) {\n return false;\n }\n if (path == null || path.length === 0) {\n return false;\n }\n\n return path.lastIndexOf(\"/\") <= 0;\n}\n\n/**\n * Evaluates a directory path, including the processing of linux dots.\n * Returns the full, proper path, or null if an invalid path is passed in\n */\nexport function evaluateDirectoryPath(path: string, currPath?: string): string | null {\n let t_path = path;\n\n // If the path begins with a slash, then its an absolute path. Otherwise its relative\n // For relative paths, we need to prepend the current directory\n if (!t_path.startsWith(\"/\") && currPath != null) {\n t_path = currPath + (currPath.endsWith(\"/\") ? \"\" : \"/\") + t_path;\n }\n\n if (!isValidDirectoryPath(t_path)) {\n return null;\n }\n\n // Trim leading/trailing slashes\n t_path = removeLeadingSlash(t_path);\n t_path = removeTrailingSlash(t_path);\n\n const dirs = t_path.split(\"/\");\n const reconstructedPath: string[] = [];\n\n for (const dir of dirs) {\n if (dir === \".\") {\n // Current directory, do nothing\n continue;\n } else if (dir === \"..\") {\n // Parent directory\n const res = reconstructedPath.pop();\n if (res == null) {\n return null; // Array was empty, invalid path\n }\n } else {\n reconstructedPath.push(dir);\n }\n }\n\n return \"/\" + reconstructedPath.join(\"/\");\n}\n\n/**\n * Evaluates a file path, including the processing of linux dots.\n * Returns the full, proper path, or null if an invalid path is passed in\n */\nexport function evaluateFilePath(path: string, currPath?: string): string | null {\n let t_path = path;\n\n // If the path begins with a slash, then its an absolute path. Otherwise its relative\n // For relative paths, we need to prepend the current directory\n if (!t_path.startsWith(\"/\") && currPath != null) {\n t_path = currPath + (currPath.endsWith(\"/\") ? \"\" : \"/\") + t_path;\n }\n\n if (!isValidFilePath(t_path)) {\n return null;\n }\n\n // Trim leading/trailing slashes\n t_path = removeLeadingSlash(t_path);\n\n const dirs = t_path.split(\"/\");\n const reconstructedPath: string[] = [];\n\n for (const dir of dirs) {\n if (dir === \".\") {\n // Current directory, do nothing\n continue;\n } else if (dir === \"..\") {\n // Parent directory\n const res = reconstructedPath.pop();\n if (res == null) {\n return null; // Array was empty, invalid path\n }\n } else {\n reconstructedPath.push(dir);\n }\n }\n\n return \"/\" + reconstructedPath.join(\"/\");\n}\n","import React, { useState, useEffect } from \"react\";\n\nimport { IPlayer } from \"../PersonObjects/IPlayer\";\nimport { IEngine } from \"../IEngine\";\nimport { ITerminal } from \"../Terminal/ITerminal\";\nimport { installAugmentations } from \"../Augmentation/AugmentationHelpers\";\nimport { saveObject } from \"../SaveObject\";\nimport { onExport } from \"../ExportBonus\";\nimport { LocationName } from \"../Locations/data/LocationNames\";\nimport { Location } from \"../Locations/Location\";\nimport { Locations } from \"../Locations/Locations\";\nimport { ITutorial } from \"../InteractiveTutorial\";\nimport { InteractiveTutorialRoot } from \"./InteractiveTutorial/InteractiveTutorialRoot\";\nimport { ITutorialEvents } from \"./InteractiveTutorial/ITutorialEvents\";\n\nimport { Faction } from \"../Faction/Faction\";\nimport { prestigeAugmentation } from \"../Prestige\";\nimport { dialogBoxCreate } from \"./React/DialogBox\";\nimport { AllServers } from \"../Server/AllServers\";\nimport { Factions } from \"../Faction/Factions\";\nimport { buyStock, sellStock, shortStock, sellShort } from \"../StockMarket/BuyingAndSelling\";\nimport {\n cancelOrder,\n eventEmitterForUiReset,\n initStockMarketFnForReact,\n placeOrder,\n StockMarket,\n} from \"../StockMarket/StockMarket\";\n\nimport { Theme } from \"@mui/material/styles\";\nimport makeStyles from \"@mui/styles/makeStyles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport Box from \"@mui/material/Box\";\nimport Typography from \"@mui/material/Typography\";\n\nimport { Page, IRouter } from \"./Router\";\nimport { Overview } from \"./React/Overview\";\nimport { SidebarRoot } from \"../Sidebar/ui/SidebarRoot\";\nimport { AugmentationsRoot } from \"../Augmentation/ui/AugmentationsRoot\";\nimport { DevMenuRoot } from \"../DevMenu\";\nimport { BladeburnerRoot } from \"../Bladeburner/ui/BladeburnerRoot\";\nimport { GangRoot } from \"../Gang/ui/GangRoot\";\nimport { CorporationRoot } from \"../Corporation/ui/CorporationRoot\";\nimport { InfiltrationRoot } from \"../Infiltration/ui/InfiltrationRoot\";\nimport { ResleeveRoot } from \"../PersonObjects/Resleeving/ui/ResleeveRoot\";\nimport { WorkInProgressRoot } from \"./WorkInProgressRoot\";\nimport { GameOptionsRoot } from \"../ui/React/GameOptionsRoot\";\nimport { SleeveRoot } from \"../PersonObjects/Sleeve/ui/SleeveRoot\";\nimport { HacknetRoot } from \"../Hacknet/ui/HacknetRoot\";\nimport { GenericLocation } from \"../Locations/ui/GenericLocation\";\nimport { LocationCity } from \"../Locations/ui/City\";\nimport { ProgramsRoot } from \"../Programs/ui/ProgramsRoot\";\nimport { Root as ScriptEditorRoot } from \"../ScriptEditor/ui/Root\";\nimport { MilestonesRoot } from \"../Milestones/ui/MilestonesRoot\";\nimport { TerminalRoot } from \"../Terminal/ui/TerminalRoot\";\nimport { TutorialRoot } from \"../Tutorial/ui/TutorialRoot\";\nimport { ActiveScriptsRoot } from \"../ui/ActiveScripts/ActiveScriptsRoot\";\nimport { FactionsRoot } from \"../Faction/ui/FactionsRoot\";\nimport { FactionRoot } from \"../Faction/ui/FactionRoot\";\nimport { CharacterStats } from \"./CharacterStats\";\nimport { TravelAgencyRoot } from \"../Locations/ui/TravelAgencyRoot\";\nimport { StockMarketRoot } from \"../StockMarket/ui/StockMarketRoot\";\nimport { BitverseRoot } from \"../BitNode/ui/BitverseRoot\";\nimport { CharacterOverview } from \"./React/CharacterOverview\";\nimport { BladeburnerCinematic } from \"../Bladeburner/ui/BladeburnerCinematic\";\nimport { workerScripts } from \"../Netscript/WorkerScripts\";\nimport { Unclickable } from \"../Exploits/Unclickable\";\nimport { Snackbar } from \"./React/Snackbar\";\nimport { LogBoxManager } from \"./React/LogBoxManager\";\nimport { AlertManager } from \"./React/AlertManager\";\nimport { InvitationModal } from \"../Faction/ui/InvitationModal\";\n\nimport { enterBitNode } from \"../RedPill\";\nimport { Context } from \"./Context\";\n\ninterface IProps {\n terminal: ITerminal;\n player: IPlayer;\n engine: IEngine;\n}\n\nconst useStyles = makeStyles((theme: Theme) =>\n createStyles({\n root: {\n \"-ms-overflow-style\": \"none\" /* for Internet Explorer, Edge */,\n \"scrollbar-width\": \"none\" /* for Firefox */,\n margin: theme.spacing(0),\n },\n }),\n);\n\nlet filename = \"\";\nlet code = \"\";\n\nexport let Router: IRouter = {\n page: () => {\n throw new Error(\"Router called before initialization\");\n },\n toActiveScripts: () => {\n throw new Error(\"Router called before initialization\");\n },\n toAugmentations: () => {\n throw new Error(\"Router called before initialization\");\n },\n toBitVerse: () => {\n throw new Error(\"Router called before initialization\");\n },\n toBladeburner: () => {\n throw new Error(\"Router called before initialization\");\n },\n toStats: () => {\n throw new Error(\"Router called before initialization\");\n },\n toCity: () => {\n throw new Error(\"Router called before initialization\");\n },\n toCorporation: () => {\n throw new Error(\"Router called before initialization\");\n },\n toCreateProgram: () => {\n throw new Error(\"Router called before initialization\");\n },\n toDevMenu: () => {\n throw new Error(\"Router called before initialization\");\n },\n toFaction: () => {\n throw new Error(\"Router called before initialization\");\n },\n toFactions: () => {\n throw new Error(\"Router called before initialization\");\n },\n toGameOptions: () => {\n throw new Error(\"Router called before initialization\");\n },\n toGang: () => {\n throw new Error(\"Router called before initialization\");\n },\n toHacknetNodes: () => {\n throw new Error(\"Router called before initialization\");\n },\n toInfiltration: () => {\n throw new Error(\"Router called before initialization\");\n },\n toJob: () => {\n throw new Error(\"Router called before initialization\");\n },\n toMilestones: () => {\n throw new Error(\"Router called before initialization\");\n },\n toResleeves: () => {\n throw new Error(\"Router called before initialization\");\n },\n toScriptEditor: () => {\n throw new Error(\"Router called before initialization\");\n },\n toSleeves: () => {\n throw new Error(\"Router called before initialization\");\n },\n toStockMarket: () => {\n throw new Error(\"Router called before initialization\");\n },\n toTerminal: () => {\n throw new Error(\"Router called before initialization\");\n },\n toTravel: () => {\n throw new Error(\"Router called before initialization\");\n },\n toTutorial: () => {\n throw new Error(\"Router called before initialization\");\n },\n toWork: () => {\n throw new Error(\"Router called before initialization\");\n },\n toBladeburnerCinematic: () => {\n throw new Error(\"Router called before initialization\");\n },\n toLocation: () => {\n throw new Error(\"Router called before initialization\");\n },\n};\n\nfunction determineStartPage(player: IPlayer): Page {\n if (player.isWorking) return Page.Work;\n return Page.Terminal;\n}\n\nexport function GameRoot({ player, engine, terminal }: IProps): React.ReactElement {\n const classes = useStyles();\n const [page, setPage] = useState(determineStartPage(player));\n const setRerender = useState(0)[1];\n const [faction, setFaction] = useState(\n player.currentWorkFactionName ? Factions[player.currentWorkFactionName] : (undefined as unknown as Faction),\n );\n if (faction === undefined && page === Page.Faction)\n throw new Error(\"Trying to go to a page without the proper setup\");\n\n const [flume, setFlume] = useState(false);\n const [quick, setQuick] = useState(false);\n const [location, setLocation] = useState(undefined as unknown as Location);\n if (location === undefined && (page === Page.Infiltration || page === Page.Location || page === Page.Job))\n throw new Error(\"Trying to go to a page without the proper setup\");\n\n const [cinematicText, setCinematicText] = useState(\"\");\n\n function rerender(): void {\n setRerender((old) => old + 1);\n }\n useEffect(() => {\n return ITutorialEvents.subscribe(rerender);\n }, []);\n\n Router = {\n page: () => page,\n toActiveScripts: () => setPage(Page.ActiveScripts),\n toAugmentations: () => setPage(Page.Augmentations),\n toBladeburner: () => setPage(Page.Bladeburner),\n toStats: () => setPage(Page.Stats),\n toCorporation: () => setPage(Page.Corporation),\n toCreateProgram: () => setPage(Page.CreateProgram),\n toDevMenu: () => setPage(Page.DevMenu),\n toFaction: (faction?: Faction) => {\n setPage(Page.Faction);\n if (faction) setFaction(faction);\n },\n toFactions: () => setPage(Page.Factions),\n toGameOptions: () => setPage(Page.Options),\n toGang: () => setPage(Page.Gang),\n toHacknetNodes: () => setPage(Page.Hacknet),\n toMilestones: () => setPage(Page.Milestones),\n toResleeves: () => setPage(Page.Resleeves),\n toScriptEditor: (fn: string, c: string) => {\n filename = fn;\n code = c;\n setPage(Page.CreateScript);\n },\n toSleeves: () => setPage(Page.Sleeves),\n toStockMarket: () => setPage(Page.StockMarket),\n toTerminal: () => setPage(Page.Terminal),\n toTutorial: () => setPage(Page.Tutorial),\n toJob: () => {\n setLocation(Locations[player.companyName]);\n setPage(Page.Job);\n },\n toCity: () => {\n setPage(Page.City);\n },\n toTravel: () => {\n player.gotoLocation(LocationName.TravelAgency);\n setPage(Page.Travel);\n },\n toBitVerse: (flume: boolean, quick: boolean) => {\n setFlume(flume);\n setQuick(quick);\n setPage(Page.BitVerse);\n },\n toInfiltration: (location: Location) => {\n setLocation(location);\n setPage(Page.Infiltration);\n },\n toWork: () => setPage(Page.Work),\n toBladeburnerCinematic: () => {\n setPage(Page.BladeburnerCinematic);\n setCinematicText(cinematicText);\n },\n toLocation: (location: Location) => {\n setLocation(location);\n setPage(Page.Location);\n },\n };\n\n useEffect(() => {\n filename = \"\";\n code = \"\";\n if (page !== Page.Terminal) window.scrollTo(0, 0);\n });\n\n return (\n \n \n \n {!ITutorial.isRunning ? (\n saveObject.saveGame()} />\n ) : (\n \n )}\n \n {page === Page.BitVerse ? (\n \n ) : page === Page.Infiltration ? (\n \n ) : page === Page.BladeburnerCinematic ? (\n \n ) : page === Page.Work ? (\n \n ) : (\n \n \n \n {page === Page.Terminal ? (\n \n ) : page === Page.Sleeves ? (\n \n ) : page === Page.Stats ? (\n \n ) : page === Page.CreateScript ? (\n \n ) : page === Page.ActiveScripts ? (\n \n ) : page === Page.Hacknet ? (\n \n ) : page === Page.CreateProgram ? (\n \n ) : page === Page.Factions ? (\n \n ) : page === Page.Faction ? (\n \n ) : page === Page.Milestones ? (\n \n ) : page === Page.Tutorial ? (\n \n ) : page === Page.DevMenu ? (\n \n ) : page === Page.Gang ? (\n \n ) : page === Page.Corporation ? (\n \n ) : page === Page.Bladeburner ? (\n \n ) : page === Page.Resleeves ? (\n \n ) : page === Page.Travel ? (\n \n ) : page === Page.StockMarket ? (\n \n ) : page === Page.City ? (\n \n ) : page === Page.Job ? (\n \n ) : page === Page.Location ? (\n \n ) : page === Page.Options ? (\n saveObject.saveGame()}\n export={() => saveObject.exportGame()}\n forceKill={() => {\n for (const hostname of Object.keys(AllServers)) {\n AllServers[hostname].runningScripts = [];\n }\n dialogBoxCreate(\"Forcefully deleted all running scripts. Please save and refresh page.\");\n }}\n softReset={() => {\n dialogBoxCreate(\"Soft Reset!\");\n prestigeAugmentation();\n Router.toTerminal();\n }}\n />\n ) : page === Page.Augmentations ? (\n {\n saveObject.exportGame();\n onExport(player);\n }}\n installAugmentationsFn={() => {\n installAugmentations();\n Router.toTerminal();\n }}\n />\n ) : (\n <>\n Cannot load\n >\n )}\n \n \n )}\n \n \n \n \n \n \n \n );\n}\n","import React from \"react\";\n\nimport { Table, TableCell } from \"./Table\";\nimport TableBody from \"@mui/material/TableBody\";\nimport { Table as MuiTable } from \"@mui/material\";\nimport TableRow from \"@mui/material/TableRow\";\nimport Typography from \"@mui/material/Typography\";\n\ninterface IProps {\n rows: any[][];\n title?: string;\n wide?: boolean;\n}\n\nexport function StatsTable({ rows, title, wide }: IProps): React.ReactElement {\n const T = wide ? MuiTable : Table;\n return (\n <>\n {title && {title}}\n \n \n {rows.map((row: any[], i: number) => (\n \n {row.map((elem: any, i: number) => (\n \n {elem}\n \n ))}\n \n ))}\n \n \n >\n );\n}\n","import { Operation, IOperationParams } from \"./Operation\";\nimport { Generic_fromJSON, Generic_toJSON, Reviver } from \"../utils/JSONReviver\";\n\nexport class BlackOperation extends Operation {\n constructor(params: IOperationParams | null = null) {\n super(params);\n this.count = 1;\n }\n\n // To be implemented by subtypes\n getActionTimePenalty(): number {\n return 1.5;\n }\n\n getChaosCompetencePenalty(/*inst: IBladeburner, params: ISuccessChanceParams*/): number {\n return 1;\n }\n\n getChaosDifficultyBonus(/*inst: IBladeburner, params: ISuccessChanceParams*/): number {\n return 1;\n }\n\n toJSON(): any {\n return Generic_toJSON(\"BlackOperation\", this);\n }\n\n // eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types\n static fromJSON(value: any): Operation {\n return Generic_fromJSON(BlackOperation, value.data);\n }\n}\n\nReviver.constructors.BlackOperation = BlackOperation;\n","import { Augmentations } from \"../Augmentation/Augmentations\";\nimport { Augmentation } from \"../Augmentation/Augmentation\";\nimport { PlayerOwnedAugmentation } from \"../Augmentation/PlayerOwnedAugmentation\";\nimport { AugmentationNames } from \"../Augmentation/data/AugmentationNames\";\nimport { BitNodeMultipliers } from \"../BitNode/BitNodeMultipliers\";\nimport { CONSTANTS } from \"../Constants\";\n\nimport { Faction } from \"./Faction\";\nimport { Factions } from \"./Factions\";\nimport { Player } from \"../Player\";\nimport { Settings } from \"../Settings/Settings\";\nimport {\n getHackingWorkRepGain,\n getFactionSecurityWorkRepGain,\n getFactionFieldWorkRepGain,\n} from \"../PersonObjects/formulas/reputation\";\nimport { SourceFileFlags } from \"../SourceFile/SourceFileFlags\";\n\nimport { dialogBoxCreate } from \"../ui/React/DialogBox\";\nimport { InvitationEvent } from \"./ui/InvitationModal\";\n\nexport function inviteToFaction(faction: Faction): void {\n Player.factionInvitations.push(faction.name);\n faction.alreadyInvited = true;\n if (!Settings.SuppressFactionInvites) {\n InvitationEvent.emit(faction);\n }\n}\n\nexport function joinFaction(faction: Faction): void {\n if (faction.isMember) return;\n faction.isMember = true;\n Player.factions.push(faction.name);\n const factionInfo = faction.getInfo();\n\n //Determine what factions you are banned from now that you have joined this faction\n for (const i in factionInfo.enemies) {\n const enemy = factionInfo.enemies[i];\n if (Factions[enemy] instanceof Faction) {\n Factions[enemy].isBanned = true;\n }\n }\n for (let i = 0; i < Player.factionInvitations.length; ++i) {\n if (Player.factionInvitations[i] == faction.name || Factions[Player.factionInvitations[i]].isBanned) {\n Player.factionInvitations.splice(i, 1);\n i--;\n }\n }\n}\n\n//Returns a boolean indicating whether the player has the prerequisites for the\n//specified Augmentation\nexport function hasAugmentationPrereqs(aug: Augmentation): boolean {\n let hasPrereqs = true;\n if (aug.prereqs && aug.prereqs.length > 0) {\n for (let i = 0; i < aug.prereqs.length; ++i) {\n const prereqAug = Augmentations[aug.prereqs[i]];\n if (prereqAug == null) {\n console.error(`Invalid prereq Augmentation ${aug.prereqs[i]}`);\n continue;\n }\n if (prereqAug.owned === false) {\n hasPrereqs = false;\n\n // Check if the aug is purchased\n for (let j = 0; j < Player.queuedAugmentations.length; ++j) {\n if (Player.queuedAugmentations[j].name === prereqAug.name) {\n hasPrereqs = true;\n break;\n }\n }\n }\n }\n }\n\n return hasPrereqs;\n}\n\nexport function purchaseAugmentation(aug: Augmentation, fac: Faction, sing = false): string {\n const factionInfo = fac.getInfo();\n const hasPrereqs = hasAugmentationPrereqs(aug);\n if (!hasPrereqs) {\n const txt =\n \"You must first purchase or install \" + aug.prereqs.join(\",\") + \" before you can \" + \"purchase this one.\";\n if (sing) {\n return txt;\n } else {\n dialogBoxCreate(txt);\n }\n } else if (aug.baseCost !== 0 && Player.money.lt(aug.baseCost * factionInfo.augmentationPriceMult)) {\n const txt = \"You don't have enough money to purchase \" + aug.name;\n if (sing) {\n return txt;\n }\n dialogBoxCreate(txt);\n } else if (fac.playerReputation < aug.baseRepRequirement) {\n const txt = \"You don't have enough faction reputation to purchase \" + aug.name;\n if (sing) {\n return txt;\n }\n dialogBoxCreate(txt);\n } else if (aug.baseCost === 0 || Player.money.gte(aug.baseCost * factionInfo.augmentationPriceMult)) {\n const queuedAugmentation = new PlayerOwnedAugmentation(aug.name);\n if (aug.name == AugmentationNames.NeuroFluxGovernor) {\n queuedAugmentation.level = getNextNeurofluxLevel();\n }\n Player.queuedAugmentations.push(queuedAugmentation);\n\n Player.loseMoney(aug.baseCost * factionInfo.augmentationPriceMult);\n\n // If you just purchased Neuroflux Governor, recalculate the cost\n if (aug.name == AugmentationNames.NeuroFluxGovernor) {\n let nextLevel = getNextNeurofluxLevel();\n --nextLevel;\n const mult = Math.pow(CONSTANTS.NeuroFluxGovernorLevelMult, nextLevel);\n aug.baseRepRequirement = 500 * mult * BitNodeMultipliers.AugmentationRepCost;\n aug.baseCost = 750e3 * mult * BitNodeMultipliers.AugmentationMoneyCost;\n\n for (let i = 0; i < Player.queuedAugmentations.length - 1; ++i) {\n aug.baseCost *= CONSTANTS.MultipleAugMultiplier * [1, 0.96, 0.94, 0.93][SourceFileFlags[11]];\n }\n }\n\n for (const name in Augmentations) {\n if (Augmentations.hasOwnProperty(name)) {\n Augmentations[name].baseCost *= CONSTANTS.MultipleAugMultiplier * [1, 0.96, 0.94, 0.93][SourceFileFlags[11]];\n }\n }\n\n if (sing) {\n return \"You purchased \" + aug.name;\n } else {\n if (!Settings.SuppressBuyAugmentationConfirmation) {\n dialogBoxCreate(\n \"You purchased \" +\n aug.name +\n \". It's enhancements will not take \" +\n \"effect until they are installed. To install your augmentations, go to the \" +\n \"'Augmentations' tab on the left-hand navigation menu. Purchasing additional \" +\n \"augmentations will now be more expensive.\",\n );\n }\n }\n } else {\n dialogBoxCreate(\n \"Hmm, something went wrong when trying to purchase an Augmentation. \" +\n \"Please report this to the game developer with an explanation of how to \" +\n \"reproduce this.\",\n );\n }\n return \"\";\n}\n\nexport function getNextNeurofluxLevel(): number {\n // Get current Neuroflux level based on Player's augmentations\n let currLevel = 0;\n for (let i = 0; i < Player.augmentations.length; ++i) {\n if (Player.augmentations[i].name === AugmentationNames.NeuroFluxGovernor) {\n currLevel = Player.augmentations[i].level;\n }\n }\n\n // Account for purchased but uninstalled Augmentations\n for (let i = 0; i < Player.queuedAugmentations.length; ++i) {\n if (Player.queuedAugmentations[i].name == AugmentationNames.NeuroFluxGovernor) {\n ++currLevel;\n }\n }\n return currLevel + 1;\n}\n\nexport function processPassiveFactionRepGain(numCycles: number): void {\n for (const name in Factions) {\n if (name === Player.currentWorkFactionName) continue;\n if (!Factions.hasOwnProperty(name)) continue;\n const faction = Factions[name];\n if (!faction.isMember) continue;\n // No passive rep for special factions\n const info = faction.getInfo();\n if (!info.offersWork()) continue;\n // No passive rep for gangs.\n if (Player.getGangName() === name) continue;\n // 0 favor = 1%/s\n // 50 favor = 6%/s\n // 100 favor = 11%/s\n const favorMult = Math.min(0.1, faction.favor / 1000 + 0.01);\n // Find the best of all possible favor gain, minimum 1 rep / 2 minute.\n const hRep = getHackingWorkRepGain(Player, faction);\n const sRep = getFactionSecurityWorkRepGain(Player, faction);\n const fRep = getFactionFieldWorkRepGain(Player, faction);\n const rate = Math.max(hRep * favorMult, sRep * favorMult, fRep * favorMult, 1 / 120);\n\n faction.playerReputation += rate * numCycles * Player.faction_rep_mult * BitNodeMultipliers.FactionPassiveRepGain;\n }\n}\n","/**\n * Checks whether the value passed in can be considered a string.\n * @param value The value to check if it is a string.\n */\n// eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types\nexport function isString(value: any): boolean {\n return typeof value === \"string\" || value instanceof String;\n}\n","import { Terminal as TTerminal } from \"./Terminal/Terminal\";\n\nexport const Terminal = new TTerminal();\n","import * as React from \"react\";\nimport { numeralWrapper } from \"../../ui/numeralFormat\";\nimport { ICorporation } from \"../ICorporation\";\nimport { Theme } from \"@mui/material/styles\";\nimport makeStyles from \"@mui/styles/makeStyles\";\nimport createStyles from \"@mui/styles/createStyles\";\n\nconst useStyles = makeStyles((theme: Theme) =>\n createStyles({\n unbuyable: {\n color: theme.palette.action.disabled,\n },\n money: {\n color: theme.colors.money,\n },\n }),\n);\n\ninterface IProps {\n money: number;\n corp: ICorporation;\n}\n\nexport function MoneyCost(props: IProps): React.ReactElement {\n const classes = useStyles();\n if (!props.corp.funds.gt(props.money))\n return {numeralWrapper.formatMoney(props.money)};\n\n return {numeralWrapper.formatMoney(props.money)};\n}\n","import { Reviver, Generic_toJSON, Generic_fromJSON } from \"../utils/JSONReviver\";\n\nexport class Message {\n // Name of Message file\n filename = \"\";\n\n // The text contains in the Message\n msg = \"\";\n\n // Flag indicating whether this Message has been received by the player\n recvd = false;\n\n constructor(filename = \"\", msg = \"\") {\n this.filename = filename;\n this.msg = msg;\n this.recvd = false;\n }\n\n // Serialize the current object to a JSON save state\n toJSON(): any {\n return Generic_toJSON(\"Message\", this);\n }\n\n // Initializes a Message Object from a JSON save state\n // eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types\n static fromJSON(value: any): Message {\n return Generic_fromJSON(Message, value.data);\n }\n}\n\nReviver.constructors.Message = Message;\n","export const SkillNames: {\n BladesIntuition: string;\n Cloak: string;\n Marksman: string;\n WeaponProficiency: string;\n ShortCircuit: string;\n DigitalObserver: string;\n Tracer: string;\n Overclock: string;\n Reaper: string;\n EvasiveSystem: string;\n Datamancer: string;\n CybersEdge: string;\n HandsOfMidas: string;\n Hyperdrive: string;\n} = {\n BladesIntuition: \"Blade's Intuition\",\n Cloak: \"Cloak\",\n Marksman: \"Marksman\",\n WeaponProficiency: \"Weapon Proficiency\",\n ShortCircuit: \"Short-Circuit\",\n DigitalObserver: \"Digital Observer\",\n Tracer: \"Tracer\",\n Overclock: \"Overclock\",\n Reaper: \"Reaper\",\n EvasiveSystem: \"Evasive System\",\n Datamancer: \"Datamancer\",\n CybersEdge: \"Cyber's Edge\",\n HandsOfMidas: \"Hands of Midas\",\n Hyperdrive: \"Hyperdrive\",\n};\n","import React, { useContext } from \"react\";\nimport { IGang } from \"../IGang\";\n\nexport const Context: {\n Gang: React.Context;\n} = {\n Gang: React.createContext({} as IGang),\n};\n\nexport const useGang = (): IGang => useContext(Context.Gang);\n","/**\n * Stops an actively-running script (represented by a WorkerScript object)\n * and removes it from the global pool of active scripts.\n */\nimport { WorkerScript } from \"./WorkerScript\";\nimport { workerScripts } from \"./WorkerScripts\";\nimport { WorkerScriptStartStopEventEmitter } from \"./WorkerScriptStartStopEventEmitter\";\n\nimport { RunningScript } from \"../Script/RunningScript\";\nimport { AllServers } from \"../Server/AllServers\";\n\nimport { compareArrays } from \"../utils/helpers/compareArrays\";\nimport { roundToTwo } from \"../utils/helpers/roundToTwo\";\n\nexport function killWorkerScript(runningScriptObj: RunningScript, serverIp: string, rerenderUi?: boolean): boolean;\nexport function killWorkerScript(workerScript: WorkerScript): boolean;\nexport function killWorkerScript(pid: number): boolean;\nexport function killWorkerScript(\n script: RunningScript | WorkerScript | number,\n serverIp?: string,\n rerenderUi?: boolean,\n): boolean {\n if (rerenderUi == null || typeof rerenderUi !== \"boolean\") {\n rerenderUi = true;\n }\n\n if (script instanceof WorkerScript) {\n stopAndCleanUpWorkerScript(script);\n\n return true;\n } else if (script instanceof RunningScript && typeof serverIp === \"string\") {\n // Try to kill by PID\n const res = killWorkerScriptByPid(script.pid, rerenderUi);\n if (res) {\n return res;\n }\n\n // If for some reason that doesn't work, we'll try the old way\n for (const ws of workerScripts.values()) {\n if (ws.name == script.filename && ws.serverIp == serverIp && compareArrays(ws.args, script.args)) {\n stopAndCleanUpWorkerScript(ws, rerenderUi);\n\n return true;\n }\n }\n\n return false;\n } else if (typeof script === \"number\") {\n return killWorkerScriptByPid(script, rerenderUi);\n } else {\n console.error(`killWorkerScript() called with invalid argument:`);\n console.error(script);\n return false;\n }\n}\n\nfunction killWorkerScriptByPid(pid: number, rerenderUi = true): boolean {\n const ws = workerScripts.get(pid);\n if (ws instanceof WorkerScript) {\n stopAndCleanUpWorkerScript(ws, rerenderUi);\n\n return true;\n }\n\n return false;\n}\n\nfunction stopAndCleanUpWorkerScript(workerScript: WorkerScript, rerenderUi = true): void {\n workerScript.env.stopFlag = true;\n killNetscriptDelay(workerScript);\n removeWorkerScript(workerScript, rerenderUi);\n}\n\n/**\n * Helper function that removes the script being killed from the global pool.\n * Also handles other cleanup-time operations\n *\n * @param {WorkerScript | number} - Identifier for WorkerScript. Either the object itself, or\n * its index in the global workerScripts array\n */\nfunction removeWorkerScript(workerScript: WorkerScript, rerenderUi = true): void {\n if (workerScript instanceof WorkerScript) {\n const ip = workerScript.serverIp;\n const name = workerScript.name;\n\n // Get the server on which the script runs\n const server = AllServers[ip];\n if (server == null) {\n console.error(`Could not find server on which this script is running: ${ip}`);\n return;\n }\n\n // Recalculate ram used on that server\n server.ramUsed = roundToTwo(server.ramUsed - workerScript.ramUsage);\n if (server.ramUsed < 0) {\n console.warn(\n `Server (${server.hostname}) RAM usage went negative (if it's due to floating pt imprecision, it's okay): ${server.ramUsed}`,\n );\n server.ramUsed = 0;\n }\n\n // Delete the RunningScript object from that server\n for (let i = 0; i < server.runningScripts.length; ++i) {\n const runningScript = server.runningScripts[i];\n if (runningScript.filename === name && compareArrays(runningScript.args, workerScript.args)) {\n server.runningScripts.splice(i, 1);\n break;\n }\n }\n\n // Delete script from global pool (workerScripts)\n const res = workerScripts.delete(workerScript.pid);\n if (!res) {\n console.warn(`removeWorkerScript() called with WorkerScript that wasn't in the global map:`);\n console.warn(workerScript);\n }\n\n if (rerenderUi) {\n WorkerScriptStartStopEventEmitter.emit();\n }\n } else {\n console.error(`Invalid argument passed into removeWorkerScript():`);\n console.error(workerScript);\n return;\n }\n}\n\n/**\n * Helper function that interrupts a script's delay if it is in the middle of a\n * timed, blocked operation (like hack(), sleep(), etc.). This allows scripts to\n * be killed immediately even if they're in the middle of one of those long operations\n */\nfunction killNetscriptDelay(workerScript: WorkerScript): void {\n if (workerScript instanceof WorkerScript) {\n if (workerScript.delay) {\n clearTimeout(workerScript.delay);\n if (workerScript.delayResolve) {\n workerScript.delayResolve();\n }\n }\n }\n}\n","import { IMinMaxRange } from \"../types\";\nimport { Generic_fromJSON, Generic_toJSON, Reviver } from \"../utils/JSONReviver\";\nimport { getRandomInt } from \"../utils/helpers/getRandomInt\";\n\nexport const StockForecastInfluenceLimit = 5;\n\nexport interface IConstructorParams {\n b: boolean;\n initPrice: number | IMinMaxRange;\n marketCap: number;\n mv: number | IMinMaxRange;\n name: string;\n otlkMag: number;\n spreadPerc: number | IMinMaxRange;\n shareTxForMovement: number | IMinMaxRange;\n symbol: string;\n}\n\nconst defaultConstructorParams: IConstructorParams = {\n b: true,\n initPrice: 10e3,\n marketCap: 1e12,\n mv: 1,\n name: \"\",\n otlkMag: 0,\n spreadPerc: 0,\n shareTxForMovement: 1e6,\n symbol: \"\",\n};\n\n// Helper function that convert a IMinMaxRange to a number\nfunction toNumber(n: number | IMinMaxRange): number {\n let value: number;\n switch (typeof n) {\n case \"number\": {\n return n;\n }\n case \"object\": {\n const range = n as IMinMaxRange;\n value = getRandomInt(range.min, range.max);\n break;\n }\n default:\n throw Error(`Do not know how to convert the type '${typeof n}' to a number`);\n }\n\n if (typeof n === \"object\" && typeof n.divisor === \"number\") {\n return value / n.divisor;\n }\n\n return value;\n}\n\n/**\n * Represents the valuation of a company in the World Stock Exchange.\n */\nexport class Stock {\n /**\n * Bear or bull (more likely to go up or down, based on otlkMag)\n */\n b: boolean;\n\n /**\n * Maximum price of a stock (per share)\n */\n readonly cap: number;\n\n /**\n * Stocks previous share price\n */\n lastPrice: number;\n\n /**\n * Maximum number of shares that player can own (both long and short combined)\n */\n readonly maxShares: number;\n\n /**\n * Maximum volatility\n */\n readonly mv: number;\n\n /**\n * Name of the company that the stock is for\n */\n readonly name: string;\n\n /**\n * Outlook magnitude. Represents the stock's forecast and likelihood\n * of increasing/decreasing (based on whether its in bear or bull mode)\n */\n otlkMag: number;\n\n /**\n * Forecast of outlook magnitude. Essentially a second-order forecast.\n * Unlike 'otlkMag', this number is on an absolute scale from 0-100 (rather than 0-50)\n */\n otlkMagForecast: number;\n\n /**\n * Average price of stocks that the player owns in the LONG position\n */\n playerAvgPx: number;\n\n /**\n * Average price of stocks that the player owns in the SHORT position\n */\n playerAvgShortPx: number;\n\n /**\n * Number of shares the player owns in the LONG position\n */\n playerShares: number;\n\n /**\n * Number of shares the player owns in the SHORT position\n */\n playerShortShares: number;\n\n /**\n * Stock's share price\n */\n price: number;\n\n /**\n * How many shares need to be transacted in order to trigger a price movement\n */\n readonly shareTxForMovement: number;\n\n /**\n * How many share transactions remaining until a price movement occurs\n * (separately tracked for upward and downward movements)\n */\n shareTxUntilMovement: number;\n\n /**\n * Spread percentage. The bid/ask prices for this stock are N% above or below\n * the \"real price\" to emulate spread.\n */\n readonly spreadPerc: number;\n\n /**\n * The stock's ticker symbol\n */\n readonly symbol: string;\n\n /**\n * Total number of shares of this stock\n * This is different than maxShares, as this is like authorized stock while\n * maxShares is outstanding stock.\n */\n readonly totalShares: number;\n\n constructor(p: IConstructorParams = defaultConstructorParams) {\n this.name = p.name;\n this.symbol = p.symbol;\n this.price = toNumber(p.initPrice);\n this.lastPrice = this.price;\n this.playerShares = 0;\n this.playerAvgPx = 0;\n this.playerShortShares = 0;\n this.playerAvgShortPx = 0;\n this.mv = toNumber(p.mv);\n this.b = p.b;\n this.otlkMag = p.otlkMag;\n this.otlkMagForecast = this.getAbsoluteForecast();\n this.cap = getRandomInt(this.price * 1e3, this.price * 25e3);\n this.spreadPerc = toNumber(p.spreadPerc);\n this.shareTxForMovement = toNumber(p.shareTxForMovement);\n this.shareTxUntilMovement = this.shareTxForMovement;\n\n // Total shares is determined by market cap, and is rounded to nearest 100k\n const totalSharesUnrounded: number = p.marketCap / this.price;\n this.totalShares = Math.round(totalSharesUnrounded / 1e5) * 1e5;\n\n // Max Shares (Outstanding shares) is a percentage of total shares\n const outstandingSharePercentage = 0.2;\n this.maxShares = Math.round((this.totalShares * outstandingSharePercentage) / 1e5) * 1e5;\n }\n\n /**\n * Safely set the stock's second-order forecast to a new value\n */\n changeForecastForecast(newff: number): void {\n this.otlkMagForecast = newff;\n if (this.otlkMagForecast > 100) {\n this.otlkMagForecast = 100;\n } else if (this.otlkMagForecast < 0) {\n this.otlkMagForecast = 0;\n }\n }\n\n /**\n * Set the stock to a new price. Also updates the stock's previous price tracker\n */\n changePrice(newPrice: number): void {\n this.lastPrice = this.price;\n this.price = newPrice;\n }\n\n /**\n * Change the stock's forecast during a stock market 'tick'.\n * The way a stock's forecast changes depends on various internal properties,\n * but is ultimately determined by RNG\n */\n cycleForecast(changeAmt = 0.1): void {\n const increaseChance = this.getForecastIncreaseChance();\n\n if (Math.random() < increaseChance) {\n // Forecast increases\n if (this.b) {\n this.otlkMag += changeAmt;\n } else {\n this.otlkMag -= changeAmt;\n }\n } else {\n // Forecast decreases\n if (this.b) {\n this.otlkMag -= changeAmt;\n } else {\n this.otlkMag += changeAmt;\n }\n }\n\n this.otlkMag = Math.min(this.otlkMag, 50);\n if (this.otlkMag < 0) {\n this.otlkMag *= -1;\n this.b = !this.b;\n }\n }\n\n /**\n * Change's the stock's second-order forecast during a stock market 'tick'.\n * The change for the second-order forecast to increase is 50/50\n */\n cycleForecastForecast(changeAmt = 0.1): void {\n if (Math.random() < 0.5) {\n this.changeForecastForecast(this.otlkMagForecast + changeAmt);\n } else {\n this.changeForecastForecast(this.otlkMagForecast - changeAmt);\n }\n }\n\n /**\n * \"Flip\" the stock's second-order forecast. This can occur during a\n * stock market \"cycle\" (determined by RNG). It is used to simulate\n * RL stock market cycles and introduce volatility\n */\n flipForecastForecast(): void {\n const diff = this.otlkMagForecast - 50;\n this.otlkMagForecast = 50 + -1 * diff;\n }\n\n /**\n * Returns the stock's absolute forecast, which is a number between 0-100\n */\n getAbsoluteForecast(): number {\n return this.b ? 50 + this.otlkMag : 50 - this.otlkMag;\n }\n\n /**\n * Return the price at which YOUR stock is bought (market ask price). Accounts for spread\n */\n getAskPrice(): number {\n return this.price * (1 + this.spreadPerc / 100);\n }\n\n /**\n * Return the price at which YOUR stock is sold (market bid price). Accounts for spread\n */\n getBidPrice(): number {\n return this.price * (1 - this.spreadPerc / 100);\n }\n\n /**\n * Returns the chance (0-1 decimal) that a stock has of having its forecast increase\n */\n getForecastIncreaseChance(): number {\n const diff = this.otlkMagForecast - this.getAbsoluteForecast();\n\n return (50 + Math.min(Math.max(diff, -45), 45)) / 100;\n }\n\n /**\n * Changes a stock's forecast. This is used when the stock is influenced\n * by a transaction. The stock's forecast always goes towards 50, but the\n * movement is capped by a certain threshold/limit\n */\n influenceForecast(change: number): void {\n if (this.otlkMag > StockForecastInfluenceLimit) {\n this.otlkMag = Math.max(StockForecastInfluenceLimit, this.otlkMag - change);\n }\n }\n\n /**\n * Changes a stock's second-order forecast. This is used when the stock is\n * influenced by a transaction. The stock's second-order forecast always\n * goes towards 50.\n */\n influenceForecastForecast(change: number): void {\n if (this.otlkMagForecast > 50) {\n this.otlkMagForecast -= change;\n this.otlkMagForecast = Math.max(50, this.otlkMagForecast);\n } else if (this.otlkMagForecast < 50) {\n this.otlkMagForecast += change;\n this.otlkMagForecast = Math.min(50, this.otlkMagForecast);\n }\n }\n\n /**\n * Serialize the Stock to a JSON save state.\n */\n toJSON(): any {\n return Generic_toJSON(\"Stock\", this);\n }\n\n /**\n * Initializes a Stock from a JSON save state\n */\n // eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types\n static fromJSON(value: any): Stock {\n return Generic_fromJSON(Stock, value.data);\n }\n}\n\nReviver.constructors.Stock = Stock;\n","/**\n * Map of all Cities in the game\n * Key = City Name, Value = City object\n */\nimport { City } from \"./City\";\nimport { IMap } from \"../types\";\n\nexport const Cities: IMap = {};\n","/**\n * Generic Event Emitter class following a subscribe/publish paradigm.\n */\n\ntype cbFn = (...args: any[]) => any;\n\nexport interface ISubscriber {\n /**\n * Callback function that will be run when an event is emitted\n */\n cb: cbFn;\n\n /**\n * Name/identifier for this subscriber\n */\n id: string;\n}\n\nfunction uuidv4(): string {\n return \"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx\".replace(/[xy]/g, function (c) {\n const r = (Math.random() * 16) | 0,\n v = c == \"x\" ? r : (r & 0x3) | 0x8;\n return v.toString(16);\n });\n}\n\nexport class EventEmitter {\n subscribers: { [key: string]: (...args: [...T]) => void | undefined } = {};\n\n subscribe(s: (...args: [...T]) => void): () => void {\n let uuid = uuidv4();\n while (this.subscribers[uuid] !== undefined) uuid = uuidv4();\n this.subscribers[uuid] = s;\n\n return () => {\n delete this.subscribers[uuid];\n };\n }\n\n emit(...args: [...T]): void {\n for (const s in this.subscribers) {\n const sub = this.subscribers[s];\n if (sub === undefined) continue;\n\n sub(...args);\n }\n }\n}\n","import React, { useState } from \"react\";\nimport AddIcon from \"@mui/icons-material/Add\";\nimport RemoveIcon from \"@mui/icons-material/Remove\";\nimport IconButton from \"@mui/material/IconButton\";\nimport ClearIcon from \"@mui/icons-material/Clear\";\nimport DoubleArrowIcon from \"@mui/icons-material/DoubleArrow\";\nimport TextField from \"@mui/material/TextField\";\nimport Tooltip from \"@mui/material/Tooltip\";\n\ninterface IProps {\n label: string;\n placeholder: string;\n add: (x: number) => void;\n subtract: (x: number) => void;\n tons: () => void;\n reset: () => void;\n}\n\nexport function Adjuster(props: IProps): React.ReactElement {\n const [value, setValue] = useState(\"\");\n\n function onChange(event: React.ChangeEvent): void {\n if (event.target.value === \"\") setValue(\"\");\n else setValue(parseFloat(event.target.value));\n }\n\n const { label, placeholder, add, subtract, reset, tons } = props;\n return (\n <>\n \n \n \n \n \n \n \n add(typeof value !== \"string\" ? value : 0)} size=\"large\">\n \n \n \n >\n ),\n endAdornment: (\n <>\n \n subtract(typeof value !== \"string\" ? value : 0)} size=\"large\">\n \n \n \n \n \n \n \n \n >\n ),\n }}\n />\n >\n );\n}\n","import { IMap } from \"./types\";\nimport { Terminal } from \"./Terminal\";\n\nexport let Aliases: IMap = {};\nexport let GlobalAliases: IMap = {};\n\nexport function loadAliases(saveString: string): void {\n if (saveString === \"\") {\n Aliases = {};\n } else {\n Aliases = JSON.parse(saveString);\n }\n}\n\nexport function loadGlobalAliases(saveString: string): void {\n if (saveString === \"\") {\n GlobalAliases = {};\n } else {\n GlobalAliases = JSON.parse(saveString);\n }\n}\n\n// Prints all aliases to terminal\nexport function printAliases(): void {\n for (const name in Aliases) {\n if (Aliases.hasOwnProperty(name)) {\n Terminal.print(\"alias \" + name + \"=\" + Aliases[name]);\n }\n }\n for (const name in GlobalAliases) {\n if (GlobalAliases.hasOwnProperty(name)) {\n Terminal.print(\"global alias \" + name + \"=\" + GlobalAliases[name]);\n }\n }\n}\n\n// Returns true if successful, false otherwise\nexport function parseAliasDeclaration(dec: string, global = false): boolean {\n const re = /^([_|\\w|!|%|,|@]+)=\"(.+)\"$/;\n const matches = dec.match(re);\n if (matches == null || matches.length != 3) {\n return false;\n }\n if (global) {\n addGlobalAlias(matches[1], matches[2]);\n } else {\n addAlias(matches[1], matches[2]);\n }\n return true;\n}\n\nfunction addAlias(name: string, value: string): void {\n if (name in GlobalAliases) {\n delete GlobalAliases[name];\n }\n Aliases[name] = value.trim();\n}\n\nfunction addGlobalAlias(name: string, value: string): void {\n if (name in Aliases) {\n delete Aliases[name];\n }\n GlobalAliases[name] = value.trim();\n}\n\nfunction getAlias(name: string): string | null {\n if (Aliases.hasOwnProperty(name)) {\n return Aliases[name];\n }\n\n return null;\n}\n\nfunction getGlobalAlias(name: string): string | null {\n if (GlobalAliases.hasOwnProperty(name)) {\n return GlobalAliases[name];\n }\n return null;\n}\n\nexport function removeAlias(name: string): boolean {\n if (Aliases.hasOwnProperty(name)) {\n delete Aliases[name];\n return true;\n }\n\n if (GlobalAliases.hasOwnProperty(name)) {\n delete GlobalAliases[name];\n return true;\n }\n\n return false;\n}\n\n/**\n * Returns the original string with any aliases substituted in.\n * Aliases are only applied to \"whole words\", one level deep\n */\nexport function substituteAliases(origCommand: string): string {\n const commandArray = origCommand.split(\" \");\n if (commandArray.length > 0) {\n // For the alias and unalias commands, dont substite\n if (commandArray[0] === \"unalias\" || commandArray[0] === \"alias\") {\n return commandArray.join(\" \");\n }\n\n let somethingSubstituted = true;\n let depth = 0;\n\n while (somethingSubstituted && depth < 10) {\n depth++;\n somethingSubstituted = false;\n const alias = getAlias(commandArray[0])?.split(\" \");\n if (alias != null) {\n somethingSubstituted = true;\n commandArray.splice(0, 1, ...alias);\n //commandArray[0] = alias;\n }\n for (let i = 0; i < commandArray.length; ++i) {\n const alias = getGlobalAlias(commandArray[i])?.split(\" \");\n if (alias != null) {\n somethingSubstituted = true;\n commandArray.splice(i, 1, ...alias);\n i += alias.length - 1;\n //commandArray[i] = alias;\n }\n }\n }\n }\n return commandArray.join(\" \");\n}\n","import { setTimeoutRef } from \"./utils/SetTimeoutRef\";\n\nimport { isString } from \"./utils/helpers/isString\";\nimport { AllServers } from \"./Server/AllServers\";\nimport { WorkerScript } from \"./Netscript/WorkerScript\";\n\nexport function netscriptDelay(time: number, workerScript: WorkerScript): Promise {\n return new Promise(function (resolve) {\n workerScript.delay = setTimeoutRef(() => {\n workerScript.delay = null;\n resolve();\n }, time);\n workerScript.delayResolve = resolve;\n });\n}\n\nexport function makeRuntimeRejectMsg(workerScript: WorkerScript, msg: string): string {\n const lineNum = \"\";\n const server = AllServers[workerScript.serverIp];\n if (server == null) {\n throw new Error(`WorkerScript constructed with invalid server ip: ${workerScript.serverIp}`);\n }\n\n return \"|\" + server.hostname + \"|\" + workerScript.name + \"|\" + msg + lineNum;\n}\n\nexport function resolveNetscriptRequestedThreads(\n workerScript: WorkerScript,\n functionName: string,\n requestedThreads: number,\n): number {\n const threads = workerScript.scriptRef.threads;\n if (!requestedThreads) {\n return isNaN(threads) || threads < 1 ? 1 : threads;\n }\n const requestedThreadsAsInt = requestedThreads | 0;\n if (isNaN(requestedThreads) || requestedThreadsAsInt < 1) {\n throw makeRuntimeRejectMsg(\n workerScript,\n `Invalid thread count passed to ${functionName}: ${requestedThreads}. Threads must be a positive number.`,\n );\n }\n if (requestedThreads > threads) {\n throw makeRuntimeRejectMsg(\n workerScript,\n `Too many threads requested by ${functionName}. Requested: ${requestedThreads}. Has: ${threads}.`,\n );\n }\n return requestedThreadsAsInt;\n}\n\nexport function isScriptErrorMessage(msg: string): boolean {\n if (!isString(msg)) {\n return false;\n }\n const splitMsg = msg.split(\"|\");\n if (splitMsg.length != 4) {\n return false;\n }\n return true;\n}\n","/**\n * Lore / world building literature files that can be found on servers.\n * These files can be read by the player\n */\nexport class Literature {\n title: string;\n fn: string;\n txt: string;\n\n constructor(title: string, filename: string, txt: string) {\n this.title = title;\n this.fn = filename;\n this.txt = txt;\n }\n}\n","import React, { useState } from \"react\";\nimport Typography from \"@mui/material/Typography\";\nimport Tooltip from \"@mui/material/Tooltip\";\n\ntype IProps = {\n value: string;\n color?: string;\n variant?:\n | \"button\"\n | \"caption\"\n | \"h1\"\n | \"h2\"\n | \"h3\"\n | \"h4\"\n | \"h5\"\n | \"h6\"\n | \"subtitle1\"\n | \"subtitle2\"\n | \"body1\"\n | \"body2\"\n | \"overline\"\n | \"inherit\"\n | undefined;\n};\n\nexport function CopyableText(props: IProps): React.ReactElement {\n const [open, setOpen] = useState(false);\n\n function copy(): void {\n const copyText = document.createElement(\"textarea\");\n copyText.value = props.value;\n document.body.appendChild(copyText);\n copyText.select();\n copyText.setSelectionRange(0, 1e10);\n document.execCommand(\"copy\");\n document.body.removeChild(copyText);\n setOpen(true);\n setTimeout(() => setOpen(false), 1000);\n }\n\n return (\n Copied!}>\n \n {props.value}\n \n \n );\n}\n","import { Augmentation, IConstructorParams } from \"./Augmentation\";\nimport { Augmentations } from \"./Augmentations\";\nimport { PlayerOwnedAugmentation, IPlayerOwnedAugmentation } from \"./PlayerOwnedAugmentation\";\nimport { AugmentationNames } from \"./data/AugmentationNames\";\n\nimport { BitNodeMultipliers } from \"../BitNode/BitNodeMultipliers\";\nimport { CONSTANTS } from \"../Constants\";\nimport { Factions, factionExists } from \"../Faction/Factions\";\nimport { Player } from \"../Player\";\nimport { prestigeAugmentation } from \"../Prestige\";\nimport { Programs } from \"../Programs/Programs\";\nimport { SourceFileFlags } from \"../SourceFile/SourceFileFlags\";\n\nimport { dialogBoxCreate } from \"../ui/React/DialogBox\";\nimport { clearObject } from \"../utils/helpers/clearObject\";\n\nimport { WHRNG } from \"../Casino/RNG\";\n\nimport React from \"react\";\n\nfunction AddToAugmentations(aug: Augmentation): void {\n const name = aug.name;\n Augmentations[name] = aug;\n}\n\nfunction getRandomBonus(): any {\n const bonuses = [\n {\n bonuses: {\n hacking_chance_mult: 1.25,\n hacking_speed_mult: 1.1,\n hacking_money_mult: 1.25,\n hacking_grow_mult: 1.1,\n },\n description:\n \"Increases the player's hacking chance by 25%.
\" +\n \"Increases the player's hacking speed by 10%.
\" +\n \"Increases the amount of money the player's gains from hacking by 25%.
\" +\n \"Improves grow() by 10%.\",\n },\n {\n bonuses: {\n hacking_mult: 1.15,\n hacking_exp_mult: 2,\n },\n description:\n \"Increases the player's hacking skill by 15%.
\" +\n \"Increases the player's hacking experience gain rate by 100%.\",\n },\n {\n bonuses: {\n strength_mult: 1.25,\n strength_exp_mult: 2,\n defense_mult: 1.25,\n defense_exp_mult: 2,\n dexterity_mult: 1.25,\n dexterity_exp_mult: 2,\n agility_mult: 1.25,\n agility_exp_mult: 2,\n },\n description:\n \"Increases all of the player's combat stats by 25%.
\" +\n \"Increases all of the player's combat stat experience gain rate by 100%.\",\n },\n {\n bonuses: {\n charisma_mult: 1.5,\n charisma_exp_mult: 2,\n },\n description:\n \"This augmentation increases the player's charisma by 50%.
\" +\n \"Increases the player's charisma experience gain rate by 100%.\",\n },\n {\n bonuses: {\n hacknet_node_money_mult: 1.2,\n hacknet_node_purchase_cost_mult: 0.85,\n hacknet_node_ram_cost_mult: 0.85,\n hacknet_node_core_cost_mult: 0.85,\n hacknet_node_level_cost_mult: 0.85,\n },\n description:\n \"Increases the amount of money produced by Hacknet Nodes by 20%.
\" +\n \"Decreases all costs related to Hacknet Node by 15%.\",\n },\n {\n bonuses: {\n company_rep_mult: 1.25,\n faction_rep_mult: 1.15,\n work_money_mult: 1.7,\n },\n description:\n \"Increases the amount of money the player gains from working by 70%.
\" +\n \"Increases the amount of reputation the player gains when working for a company by 25%.
\" +\n \"Increases the amount of reputation the player gains for a faction by 15%.\",\n },\n {\n bonuses: {\n crime_success_mult: 2,\n crime_money_mult: 2,\n },\n description:\n \"Increases the player's crime success rate by 100%.
\" +\n \"Increases the amount of money the player gains from crimes by 100%.\",\n },\n ];\n\n const randomNumber = new WHRNG(Math.floor(Player.lastUpdate / 3600000));\n for (let i = 0; i < 5; i++) randomNumber.step();\n\n return bonuses[Math.floor(bonuses.length * randomNumber.random())];\n}\n\nfunction initAugmentations(): void {\n for (const name in Factions) {\n if (Factions.hasOwnProperty(name)) {\n Factions[name].augmentations = [];\n }\n }\n\n //Reset Augmentations\n clearObject(Augmentations);\n\n //Time-Based Augment Test\n const randomBonuses = getRandomBonus();\n\n const UnstableCircadianModulatorParams: IConstructorParams = {\n name: AugmentationNames.UnstableCircadianModulator,\n moneyCost: 5e9,\n repCost: 3.625e5,\n info:\n \"An experimental nanobot injection. Its unstable nature leads to \" +\n \"unpredictable results based on your circadian rhythm.\",\n };\n Object.keys(randomBonuses.bonuses).forEach(\n (key) => ((UnstableCircadianModulatorParams as any)[key] = randomBonuses.bonuses[key]),\n );\n const UnstableCircadianModulator = new Augmentation(UnstableCircadianModulatorParams);\n\n UnstableCircadianModulator.addToFactions([\"Speakers for the Dead\"]);\n if (augmentationExists(AugmentationNames.UnstableCircadianModulator)) {\n delete Augmentations[AugmentationNames.UnstableCircadianModulator];\n }\n AddToAugmentations(UnstableCircadianModulator);\n\n //Combat stat augmentations\n const HemoRecirculator = new Augmentation({\n name: AugmentationNames.HemoRecirculator,\n moneyCost: 4.5e7,\n repCost: 1e4,\n info: \"A heart implant that greatly increases the body's ability to effectively use and pump \" + \"blood.\",\n strength_mult: 1.08,\n defense_mult: 1.08,\n agility_mult: 1.08,\n dexterity_mult: 1.08,\n });\n HemoRecirculator.addToFactions([\"Tetrads\", \"The Dark Army\", \"The Syndicate\"]);\n if (augmentationExists(AugmentationNames.HemoRecirculator)) {\n delete Augmentations[AugmentationNames.HemoRecirculator];\n }\n AddToAugmentations(HemoRecirculator);\n\n const Targeting1 = new Augmentation({\n name: AugmentationNames.Targeting1,\n moneyCost: 1.5e7,\n repCost: 5e3,\n info:\n \"A cranial implant that is embedded within the inner ear structures and optic nerves. It regulates \" +\n \"and enhances balance and hand-eye coordination.\",\n dexterity_mult: 1.1,\n });\n Targeting1.addToFactions([\n \"Slum Snakes\",\n \"The Dark Army\",\n \"The Syndicate\",\n \"Sector-12\",\n \"Ishima\",\n \"OmniTek Incorporated\",\n \"KuaiGong International\",\n \"Blade Industries\",\n ]);\n if (augmentationExists(AugmentationNames.Targeting1)) {\n delete Augmentations[AugmentationNames.Targeting1];\n }\n AddToAugmentations(Targeting1);\n\n const Targeting2 = new Augmentation({\n name: AugmentationNames.Targeting2,\n moneyCost: 4.25e7,\n repCost: 8.75e3,\n info:\n \"This upgraded version of the 'Augmented Targeting' implant is capable of augmenting \" +\n \"reality by digitally displaying weaknesses and vital signs of threats.\",\n prereqs: [AugmentationNames.Targeting1],\n dexterity_mult: 1.2,\n });\n Targeting2.addToFactions([\n \"The Dark Army\",\n \"The Syndicate\",\n \"Sector-12\",\n \"OmniTek Incorporated\",\n \"KuaiGong International\",\n \"Blade Industries\",\n ]);\n if (augmentationExists(AugmentationNames.Targeting2)) {\n delete Augmentations[AugmentationNames.Targeting2];\n }\n AddToAugmentations(Targeting2);\n\n const Targeting3 = new Augmentation({\n name: AugmentationNames.Targeting3,\n moneyCost: 1.15e8,\n repCost: 2.75e4,\n info: \"The latest version of the 'Augmented Targeting' implant adds the ability to lock-on and track threats.\",\n prereqs: [AugmentationNames.Targeting2],\n dexterity_mult: 1.3,\n });\n Targeting3.addToFactions([\n \"The Dark Army\",\n \"The Syndicate\",\n \"OmniTek Incorporated\",\n \"KuaiGong International\",\n \"Blade Industries\",\n \"The Covenant\",\n ]);\n if (augmentationExists(AugmentationNames.Targeting3)) {\n delete Augmentations[AugmentationNames.Targeting3];\n }\n AddToAugmentations(Targeting3);\n\n const SyntheticHeart = new Augmentation({\n name: AugmentationNames.SyntheticHeart,\n moneyCost: 2.875e9,\n repCost: 7.5e5,\n info:\n \"This advanced artificial heart, created from plasteel and graphene, is capable of pumping blood \" +\n \"more efficiently than an organic heart.\",\n agility_mult: 1.5,\n strength_mult: 1.5,\n });\n SyntheticHeart.addToFactions([\n \"KuaiGong International\",\n \"Fulcrum Secret Technologies\",\n \"Speakers for the Dead\",\n \"NWO\",\n \"The Covenant\",\n \"Daedalus\",\n \"Illuminati\",\n ]);\n if (augmentationExists(AugmentationNames.SyntheticHeart)) {\n delete Augmentations[AugmentationNames.SyntheticHeart];\n }\n AddToAugmentations(SyntheticHeart);\n\n const SynfibrilMuscle = new Augmentation({\n name: AugmentationNames.SynfibrilMuscle,\n repCost: 4.375e5,\n moneyCost: 1.125e9,\n info:\n \"The myofibrils in human muscles are injected with special chemicals that react with the proteins inside \" +\n \"the myofibrils, altering their underlying structure. The end result is muscles that are stronger and more elastic. \" +\n \"Scientists have named these artificially enhanced units 'synfibrils'.\",\n strength_mult: 1.3,\n defense_mult: 1.3,\n });\n SynfibrilMuscle.addToFactions([\n \"KuaiGong International\",\n \"Fulcrum Secret Technologies\",\n \"Speakers for the Dead\",\n \"NWO\",\n \"The Covenant\",\n \"Daedalus\",\n \"Illuminati\",\n \"Blade Industries\",\n ]);\n if (augmentationExists(AugmentationNames.SynfibrilMuscle)) {\n delete Augmentations[AugmentationNames.SynfibrilMuscle];\n }\n AddToAugmentations(SynfibrilMuscle);\n\n const CombatRib1 = new Augmentation({\n name: AugmentationNames.CombatRib1,\n repCost: 7.5e3,\n moneyCost: 2.375e7,\n info:\n \"The rib cage is augmented to continuously release boosters into the bloodstream \" +\n \"which increase the oxygen-carrying capacity of blood.\",\n strength_mult: 1.1,\n defense_mult: 1.1,\n });\n CombatRib1.addToFactions([\n \"Slum Snakes\",\n \"The Dark Army\",\n \"The Syndicate\",\n \"Volhaven\",\n \"Ishima\",\n \"OmniTek Incorporated\",\n \"KuaiGong International\",\n \"Blade Industries\",\n ]);\n if (augmentationExists(AugmentationNames.CombatRib1)) {\n delete Augmentations[AugmentationNames.CombatRib1];\n }\n AddToAugmentations(CombatRib1);\n\n const CombatRib2 = new Augmentation({\n name: AugmentationNames.CombatRib2,\n repCost: 1.875e4,\n moneyCost: 6.5e7,\n info:\n \"An upgraded version of the 'Combat Rib' augmentation that adds potent stimulants which \" +\n \"improve focus and endurance while decreasing reaction time and fatigue.\",\n prereqs: [AugmentationNames.CombatRib1],\n strength_mult: 1.14,\n defense_mult: 1.14,\n });\n CombatRib2.addToFactions([\n \"The Dark Army\",\n \"The Syndicate\",\n \"Volhaven\",\n \"OmniTek Incorporated\",\n \"KuaiGong International\",\n \"Blade Industries\",\n ]);\n if (augmentationExists(AugmentationNames.CombatRib2)) {\n delete Augmentations[AugmentationNames.CombatRib2];\n }\n AddToAugmentations(CombatRib2);\n\n const CombatRib3 = new Augmentation({\n name: AugmentationNames.CombatRib3,\n repCost: 3.5e4,\n moneyCost: 1.2e8,\n info:\n \"The latest version of the 'Combat Rib' augmentation releases advanced anabolic steroids that \" +\n \"improve muscle mass and physical performance while being safe and free of side effects.\",\n prereqs: [AugmentationNames.CombatRib2],\n strength_mult: 1.18,\n defense_mult: 1.18,\n });\n CombatRib3.addToFactions([\n \"The Dark Army\",\n \"The Syndicate\",\n \"OmniTek Incorporated\",\n \"KuaiGong International\",\n \"Blade Industries\",\n \"The Covenant\",\n ]);\n if (augmentationExists(AugmentationNames.CombatRib3)) {\n delete Augmentations[AugmentationNames.CombatRib3];\n }\n AddToAugmentations(CombatRib3);\n\n const NanofiberWeave = new Augmentation({\n name: AugmentationNames.NanofiberWeave,\n repCost: 3.75e4,\n moneyCost: 1.25e8,\n info:\n \"Synthetic nanofibers are woven into the skin's extracellular matrix using electrospinning, \" +\n \"which improves its regenerative and extracellular homeostasis abilities.\",\n strength_mult: 1.2,\n defense_mult: 1.2,\n });\n NanofiberWeave.addToFactions([\n \"Tian Di Hui\",\n \"The Syndicate\",\n \"The Dark Army\",\n \"Speakers for the Dead\",\n \"Blade Industries\",\n \"Fulcrum Secret Technologies\",\n \"OmniTek Incorporated\",\n ]);\n if (augmentationExists(AugmentationNames.NanofiberWeave)) {\n delete Augmentations[AugmentationNames.NanofiberWeave];\n }\n AddToAugmentations(NanofiberWeave);\n\n const SubdermalArmor = new Augmentation({\n name: AugmentationNames.SubdermalArmor,\n repCost: 8.75e5,\n moneyCost: 3.25e9,\n info:\n \"The NEMEAN Subdermal Weave is a thin, light-weight, graphene plating that houses a dilatant fluid. \" +\n \"The material is implanted underneath the skin, and is the most advanced form of defensive enhancement \" +\n \"that has ever been created. The dilatant fluid, despite being thin and light, is extremely effective \" +\n \"at stopping piercing blows and reducing blunt trauma. The properties of graphene allow the plating to \" +\n \"mitigate damage from any fire or electrical traumas.\",\n defense_mult: 2.2,\n });\n SubdermalArmor.addToFactions([\n \"The Syndicate\",\n \"Fulcrum Secret Technologies\",\n \"Illuminati\",\n \"Daedalus\",\n \"The Covenant\",\n ]);\n if (augmentationExists(AugmentationNames.SubdermalArmor)) {\n delete Augmentations[AugmentationNames.SubdermalArmor];\n }\n AddToAugmentations(SubdermalArmor);\n\n const WiredReflexes = new Augmentation({\n name: AugmentationNames.WiredReflexes,\n repCost: 1.25e3,\n moneyCost: 2.5e6,\n info:\n \"Synthetic nerve-enhancements are injected into all major parts of the somatic nervous system, \" +\n \"supercharging the spread of neural signals and increasing reflex speed.\",\n agility_mult: 1.05,\n dexterity_mult: 1.05,\n });\n WiredReflexes.addToFactions([\n \"Tian Di Hui\",\n \"Slum Snakes\",\n \"Sector-12\",\n \"Volhaven\",\n \"Aevum\",\n \"Ishima\",\n \"The Syndicate\",\n \"The Dark Army\",\n \"Speakers for the Dead\",\n ]);\n if (augmentationExists(AugmentationNames.WiredReflexes)) {\n delete Augmentations[AugmentationNames.WiredReflexes];\n }\n AddToAugmentations(WiredReflexes);\n\n const GrapheneBoneLacings = new Augmentation({\n name: AugmentationNames.GrapheneBoneLacings,\n repCost: 1.125e6,\n moneyCost: 4.25e9,\n info:\n \"Graphene is grafted and fused into the skeletal structure, \" + \"enhancing bone density and tensile strength.\",\n strength_mult: 1.7,\n defense_mult: 1.7,\n });\n GrapheneBoneLacings.addToFactions([\"Fulcrum Secret Technologies\", \"The Covenant\"]);\n if (augmentationExists(AugmentationNames.GrapheneBoneLacings)) {\n delete Augmentations[AugmentationNames.GrapheneBoneLacings];\n }\n AddToAugmentations(GrapheneBoneLacings);\n\n const BionicSpine = new Augmentation({\n name: AugmentationNames.BionicSpine,\n repCost: 4.5e4,\n moneyCost: 1.25e8,\n info:\n \"The spine is reconstructed using plasteel and carbon fibers. \" +\n \"It is now capable of stimulating and regulating neural signals \" +\n \"passing through the spinal cord, improving senses and reaction speed. \" +\n \"The 'Bionic Spine' also interfaces with all other 'Bionic' implants.\",\n strength_mult: 1.15,\n defense_mult: 1.15,\n agility_mult: 1.15,\n dexterity_mult: 1.15,\n });\n BionicSpine.addToFactions([\n \"Speakers for the Dead\",\n \"The Syndicate\",\n \"KuaiGong International\",\n \"OmniTek Incorporated\",\n \"Blade Industries\",\n ]);\n if (augmentationExists(AugmentationNames.BionicSpine)) {\n delete Augmentations[AugmentationNames.BionicSpine];\n }\n AddToAugmentations(BionicSpine);\n\n const GrapheneBionicSpine = new Augmentation({\n name: AugmentationNames.GrapheneBionicSpine,\n repCost: 1.625e6,\n moneyCost: 6e9,\n info:\n \"An upgrade to the 'Bionic Spine' augmentation. The spine is fused with graphene \" +\n \"which enhances durability and supercharges all body functions.\",\n prereqs: [AugmentationNames.BionicSpine],\n strength_mult: 1.6,\n defense_mult: 1.6,\n agility_mult: 1.6,\n dexterity_mult: 1.6,\n });\n GrapheneBionicSpine.addToFactions([\"Fulcrum Secret Technologies\", \"ECorp\"]);\n if (augmentationExists(AugmentationNames.GrapheneBionicSpine)) {\n delete Augmentations[AugmentationNames.GrapheneBionicSpine];\n }\n AddToAugmentations(GrapheneBionicSpine);\n\n const BionicLegs = new Augmentation({\n name: AugmentationNames.BionicLegs,\n repCost: 1.5e5,\n moneyCost: 3.75e8,\n info: \"Cybernetic legs, created from plasteel and carbon fibers, enhance running speed.\",\n agility_mult: 1.6,\n });\n BionicLegs.addToFactions([\n \"Speakers for the Dead\",\n \"The Syndicate\",\n \"KuaiGong International\",\n \"OmniTek Incorporated\",\n \"Blade Industries\",\n ]);\n if (augmentationExists(AugmentationNames.BionicLegs)) {\n delete Augmentations[AugmentationNames.BionicLegs];\n }\n AddToAugmentations(BionicLegs);\n\n const GrapheneBionicLegs = new Augmentation({\n name: AugmentationNames.GrapheneBionicLegs,\n repCost: 7.5e5,\n moneyCost: 4.5e9,\n info:\n \"An upgrade to the 'Bionic Legs' augmentation. The legs are fused \" +\n \"with graphene, greatly enhancing jumping ability.\",\n prereqs: [AugmentationNames.BionicLegs],\n agility_mult: 2.5,\n });\n GrapheneBionicLegs.addToFactions([\"MegaCorp\", \"ECorp\", \"Fulcrum Secret Technologies\"]);\n if (augmentationExists(AugmentationNames.GrapheneBionicLegs)) {\n delete Augmentations[AugmentationNames.GrapheneBionicLegs];\n }\n AddToAugmentations(GrapheneBionicLegs);\n\n // Work stat augmentations\n const SpeechProcessor = new Augmentation({\n name: AugmentationNames.SpeechProcessor,\n repCost: 7.5e3,\n moneyCost: 5e7,\n info:\n \"A cochlear implant with an embedded computer that analyzes incoming speech. \" +\n \"The embedded computer processes characteristics of incoming speech, such as tone \" +\n \"and inflection, to pick up on subtle cues and aid in social interactions.\",\n charisma_mult: 1.2,\n });\n SpeechProcessor.addToFactions([\n \"Tian Di Hui\",\n \"Chongqing\",\n \"Sector-12\",\n \"New Tokyo\",\n \"Aevum\",\n \"Ishima\",\n \"Volhaven\",\n \"Silhouette\",\n ]);\n if (augmentationExists(AugmentationNames.SpeechProcessor)) {\n delete Augmentations[AugmentationNames.SpeechProcessor];\n }\n AddToAugmentations(SpeechProcessor);\n\n const TITN41Injection = new Augmentation({\n name: AugmentationNames.TITN41Injection,\n repCost: 2.5e4,\n moneyCost: 1.9e8,\n info:\n \"TITN is a series of viruses that targets and alters the sequences of human DNA in genes that \" +\n \"control personality. The TITN-41 strain alters these genes so that the subject becomes more \" +\n \"outgoing and socialable.\",\n charisma_mult: 1.15,\n charisma_exp_mult: 1.15,\n });\n TITN41Injection.addToFactions([\"Silhouette\"]);\n if (augmentationExists(AugmentationNames.TITN41Injection)) {\n delete Augmentations[AugmentationNames.TITN41Injection];\n }\n AddToAugmentations(TITN41Injection);\n\n const EnhancedSocialInteractionImplant = new Augmentation({\n name: AugmentationNames.EnhancedSocialInteractionImplant,\n repCost: 3.75e5,\n moneyCost: 1.375e9,\n info:\n \"A cranial implant that greatly assists in the user's ability to analyze social situations \" +\n \"and interactions. The system uses a wide variety of factors such as facial expressions, body \" +\n \"language, and the voice tone, and inflection to determine the best course of action during social\" +\n \"situations. The implant also uses deep learning software to continuously learn new behavior\" +\n \"patterns and how to best respond.\",\n charisma_mult: 1.6,\n charisma_exp_mult: 1.6,\n });\n EnhancedSocialInteractionImplant.addToFactions([\n \"Bachman & Associates\",\n \"NWO\",\n \"Clarke Incorporated\",\n \"OmniTek Incorporated\",\n \"Four Sigma\",\n ]);\n if (augmentationExists(AugmentationNames.EnhancedSocialInteractionImplant)) {\n delete Augmentations[AugmentationNames.EnhancedSocialInteractionImplant];\n }\n AddToAugmentations(EnhancedSocialInteractionImplant);\n\n // Hacking augmentations\n const BitWire = new Augmentation({\n name: AugmentationNames.BitWire,\n repCost: 3.75e3,\n moneyCost: 1e7,\n info:\n \"A small brain implant embedded in the cerebrum. This regulates and improves the brain's computing \" +\n \"capabilities.\",\n hacking_mult: 1.05,\n });\n BitWire.addToFactions([\"CyberSec\", \"NiteSec\"]);\n if (augmentationExists(AugmentationNames.BitWire)) {\n delete Augmentations[AugmentationNames.BitWire];\n }\n AddToAugmentations(BitWire);\n\n const ArtificialBioNeuralNetwork = new Augmentation({\n name: AugmentationNames.ArtificialBioNeuralNetwork,\n repCost: 2.75e5,\n moneyCost: 3e9,\n info:\n \"A network consisting of millions of nanoprocessors is embedded into the brain. \" +\n \"The network is meant to mimic the way a biological brain solves a problem, with each \" +\n \"nanoprocessor acting similar to the way a neuron would in a neural network. However, these \" +\n \"nanoprocessors are programmed to perform computations much faster than organic neurons, \" +\n \"allowing the user to solve much more complex problems at a much faster rate.\",\n hacking_speed_mult: 1.03,\n hacking_money_mult: 1.15,\n hacking_mult: 1.12,\n });\n ArtificialBioNeuralNetwork.addToFactions([\"BitRunners\", \"Fulcrum Secret Technologies\"]);\n if (augmentationExists(AugmentationNames.ArtificialBioNeuralNetwork)) {\n delete Augmentations[AugmentationNames.ArtificialBioNeuralNetwork];\n }\n AddToAugmentations(ArtificialBioNeuralNetwork);\n\n const ArtificialSynapticPotentiation = new Augmentation({\n name: AugmentationNames.ArtificialSynapticPotentiation,\n repCost: 6.25e3,\n moneyCost: 8e7,\n info:\n \"The body is injected with a chemical that artificially induces synaptic potentiation, \" +\n \"otherwise known as the strengthening of synapses. This results in enhanced cognitive abilities.\",\n hacking_speed_mult: 1.02,\n hacking_chance_mult: 1.05,\n hacking_exp_mult: 1.05,\n });\n ArtificialSynapticPotentiation.addToFactions([\"The Black Hand\", \"NiteSec\"]);\n if (augmentationExists(AugmentationNames.ArtificialSynapticPotentiation)) {\n delete Augmentations[AugmentationNames.ArtificialSynapticPotentiation];\n }\n AddToAugmentations(ArtificialSynapticPotentiation);\n\n const EnhancedMyelinSheathing = new Augmentation({\n name: AugmentationNames.EnhancedMyelinSheathing,\n repCost: 1e5,\n moneyCost: 1.375e9,\n info:\n \"Electrical signals are used to induce a new, artificial form of myelinogenesis in the human body. \" +\n \"This process results in the proliferation of new, synthetic myelin sheaths in the nervous \" +\n \"system. These myelin sheaths can propogate neuro-signals much faster than their organic \" +\n \"counterparts, leading to greater processing speeds and better brain function.\",\n hacking_speed_mult: 1.03,\n hacking_exp_mult: 1.1,\n hacking_mult: 1.08,\n });\n EnhancedMyelinSheathing.addToFactions([\"Fulcrum Secret Technologies\", \"BitRunners\", \"The Black Hand\"]);\n if (augmentationExists(AugmentationNames.EnhancedMyelinSheathing)) {\n delete Augmentations[AugmentationNames.EnhancedMyelinSheathing];\n }\n AddToAugmentations(EnhancedMyelinSheathing);\n\n const SynapticEnhancement = new Augmentation({\n name: AugmentationNames.SynapticEnhancement,\n repCost: 2e3,\n moneyCost: 7.5e6,\n info:\n \"A small cranial implant that continuously uses weak electrical signals to stimulate the brain and \" +\n \"induce stronger synaptic activity. This improves the user's cognitive abilities.\",\n hacking_speed_mult: 1.03,\n });\n SynapticEnhancement.addToFactions([\"CyberSec\", \"Aevum\"]);\n if (augmentationExists(AugmentationNames.SynapticEnhancement)) {\n delete Augmentations[AugmentationNames.SynapticEnhancement];\n }\n AddToAugmentations(SynapticEnhancement);\n\n const NeuralRetentionEnhancement = new Augmentation({\n name: AugmentationNames.NeuralRetentionEnhancement,\n repCost: 2e4,\n moneyCost: 2.5e8,\n info:\n \"Chemical injections are used to permanently alter and strengthen the brain's neuronal \" +\n \"circuits, strengthening the ability to retain information.\",\n hacking_exp_mult: 1.25,\n });\n NeuralRetentionEnhancement.addToFactions([\"NiteSec\"]);\n if (augmentationExists(AugmentationNames.NeuralRetentionEnhancement)) {\n delete Augmentations[AugmentationNames.NeuralRetentionEnhancement];\n }\n AddToAugmentations(NeuralRetentionEnhancement);\n\n const DataJack = new Augmentation({\n name: AugmentationNames.DataJack,\n repCost: 1.125e5,\n moneyCost: 4.5e8,\n info:\n \"A brain implant that provides an interface for direct, wireless communication between a computer's main \" +\n \"memory and the mind. This implant allows the user to not only access a computer's memory, but also alter \" +\n \"and delete it.\",\n hacking_money_mult: 1.25,\n });\n DataJack.addToFactions([\"BitRunners\", \"The Black Hand\", \"NiteSec\", \"Chongqing\", \"New Tokyo\"]);\n if (augmentationExists(AugmentationNames.DataJack)) {\n delete Augmentations[AugmentationNames.DataJack];\n }\n AddToAugmentations(DataJack);\n\n const ENM = new Augmentation({\n name: AugmentationNames.ENM,\n repCost: 1.5e4,\n moneyCost: 2.5e8,\n info:\n \"A thin device embedded inside the arm containing a wireless module capable of connecting \" +\n \"to nearby networks. Once connected, the Netburner Module is capable of capturing and \" +\n \"processing all of the traffic on that network. By itself, the Embedded Netburner Module does \" +\n \"not do much, but a variety of very powerful upgrades can be installed that allow you to fully \" +\n \"control the traffic on a network.\",\n hacking_mult: 1.08,\n });\n ENM.addToFactions([\n \"BitRunners\",\n \"The Black Hand\",\n \"NiteSec\",\n \"ECorp\",\n \"MegaCorp\",\n \"Fulcrum Secret Technologies\",\n \"NWO\",\n \"Blade Industries\",\n ]);\n if (augmentationExists(AugmentationNames.ENM)) {\n delete Augmentations[AugmentationNames.ENM];\n }\n AddToAugmentations(ENM);\n\n const ENMCore = new Augmentation({\n name: AugmentationNames.ENMCore,\n repCost: 2.5e5,\n moneyCost: 2.5e9,\n info:\n \"The Core library is an implant that upgrades the firmware of the Embedded Netburner Module. \" +\n \"This upgrade allows the Embedded Netburner Module to generate its own data on a network.\",\n prereqs: [AugmentationNames.ENM],\n hacking_speed_mult: 1.03,\n hacking_money_mult: 1.1,\n hacking_chance_mult: 1.03,\n hacking_exp_mult: 1.07,\n hacking_mult: 1.07,\n });\n ENMCore.addToFactions([\n \"BitRunners\",\n \"The Black Hand\",\n \"ECorp\",\n \"MegaCorp\",\n \"Fulcrum Secret Technologies\",\n \"NWO\",\n \"Blade Industries\",\n ]);\n if (augmentationExists(AugmentationNames.ENMCore)) {\n delete Augmentations[AugmentationNames.ENMCore];\n }\n AddToAugmentations(ENMCore);\n\n const ENMCoreV2 = new Augmentation({\n name: AugmentationNames.ENMCoreV2,\n repCost: 1e6,\n moneyCost: 4.5e9,\n info:\n \"The Core V2 library is an implant that upgrades the firmware of the Embedded Netburner Module. \" +\n \"This upgraded firmware allows the Embedded Netburner Module to control information on \" +\n \"a network by re-routing traffic, spoofing IP addresses, and altering the data inside network \" +\n \"packets.\",\n prereqs: [AugmentationNames.ENMCore],\n hacking_speed_mult: 1.05,\n hacking_money_mult: 1.3,\n hacking_chance_mult: 1.05,\n hacking_exp_mult: 1.15,\n hacking_mult: 1.08,\n });\n ENMCoreV2.addToFactions([\n \"BitRunners\",\n \"ECorp\",\n \"MegaCorp\",\n \"Fulcrum Secret Technologies\",\n \"NWO\",\n \"Blade Industries\",\n \"OmniTek Incorporated\",\n \"KuaiGong International\",\n ]);\n if (augmentationExists(AugmentationNames.ENMCoreV2)) {\n delete Augmentations[AugmentationNames.ENMCoreV2];\n }\n AddToAugmentations(ENMCoreV2);\n\n const ENMCoreV3 = new Augmentation({\n name: AugmentationNames.ENMCoreV3,\n repCost: 1.75e6,\n moneyCost: 7.5e9,\n info:\n \"The Core V3 library is an implant that upgrades the firmware of the Embedded Netburner Module. \" +\n \"This upgraded firmware allows the Embedded Netburner Module to seamlessly inject code into \" +\n \"any device on a network.\",\n prereqs: [AugmentationNames.ENMCoreV2],\n hacking_speed_mult: 1.05,\n hacking_money_mult: 1.4,\n hacking_chance_mult: 1.1,\n hacking_exp_mult: 1.25,\n hacking_mult: 1.1,\n });\n ENMCoreV3.addToFactions([\n \"ECorp\",\n \"MegaCorp\",\n \"Fulcrum Secret Technologies\",\n \"NWO\",\n \"Daedalus\",\n \"The Covenant\",\n \"Illuminati\",\n ]);\n if (augmentationExists(AugmentationNames.ENMCoreV3)) {\n delete Augmentations[AugmentationNames.ENMCoreV3];\n }\n AddToAugmentations(ENMCoreV3);\n\n const ENMAnalyzeEngine = new Augmentation({\n name: AugmentationNames.ENMAnalyzeEngine,\n repCost: 6.25e5,\n moneyCost: 6e9,\n info:\n \"Installs the Analyze Engine for the Embedded Netburner Module, which is a CPU cluster \" +\n \"that vastly outperforms the Netburner Module's native single-core processor.\",\n prereqs: [AugmentationNames.ENM],\n hacking_speed_mult: 1.1,\n });\n ENMAnalyzeEngine.addToFactions([\n \"ECorp\",\n \"MegaCorp\",\n \"Fulcrum Secret Technologies\",\n \"NWO\",\n \"Daedalus\",\n \"The Covenant\",\n \"Illuminati\",\n ]);\n if (augmentationExists(AugmentationNames.ENMAnalyzeEngine)) {\n delete Augmentations[AugmentationNames.ENMAnalyzeEngine];\n }\n AddToAugmentations(ENMAnalyzeEngine);\n\n const ENMDMA = new Augmentation({\n name: AugmentationNames.ENMDMA,\n repCost: 1e6,\n moneyCost: 7e9,\n info:\n \"This implant installs a Direct Memory Access (DMA) controller into the \" +\n \"Embedded Netburner Module. This allows the Module to send and receive data \" +\n \"directly to and from the main memory of devices on a network.\",\n prereqs: [AugmentationNames.ENM],\n hacking_money_mult: 1.4,\n hacking_chance_mult: 1.2,\n });\n ENMDMA.addToFactions([\n \"ECorp\",\n \"MegaCorp\",\n \"Fulcrum Secret Technologies\",\n \"NWO\",\n \"Daedalus\",\n \"The Covenant\",\n \"Illuminati\",\n ]);\n if (augmentationExists(AugmentationNames.ENMDMA)) {\n delete Augmentations[AugmentationNames.ENMDMA];\n }\n AddToAugmentations(ENMDMA);\n\n const Neuralstimulator = new Augmentation({\n name: AugmentationNames.Neuralstimulator,\n repCost: 5e4,\n moneyCost: 3e9,\n info:\n \"A cranial implant that intelligently stimulates certain areas of the brain \" +\n \"in order to improve cognitive functions.\",\n hacking_speed_mult: 1.02,\n hacking_chance_mult: 1.1,\n hacking_exp_mult: 1.12,\n });\n Neuralstimulator.addToFactions([\n \"The Black Hand\",\n \"Chongqing\",\n \"Sector-12\",\n \"New Tokyo\",\n \"Aevum\",\n \"Ishima\",\n \"Volhaven\",\n \"Bachman & Associates\",\n \"Clarke Incorporated\",\n \"Four Sigma\",\n ]);\n if (augmentationExists(AugmentationNames.Neuralstimulator)) {\n delete Augmentations[AugmentationNames.Neuralstimulator];\n }\n AddToAugmentations(Neuralstimulator);\n\n const NeuralAccelerator = new Augmentation({\n name: AugmentationNames.NeuralAccelerator,\n repCost: 2e5,\n moneyCost: 1.75e9,\n info:\n \"A microprocessor that accelerates the processing \" +\n \"speed of biological neural networks. This is a cranial implant that is embedded inside the brain.\",\n hacking_mult: 1.1,\n hacking_exp_mult: 1.15,\n hacking_money_mult: 1.2,\n });\n NeuralAccelerator.addToFactions([\"BitRunners\"]);\n if (augmentationExists(AugmentationNames.NeuralAccelerator)) {\n delete Augmentations[AugmentationNames.NeuralAccelerator];\n }\n AddToAugmentations(NeuralAccelerator);\n\n const CranialSignalProcessorsG1 = new Augmentation({\n name: AugmentationNames.CranialSignalProcessorsG1,\n repCost: 1e4,\n moneyCost: 7e7,\n info:\n \"The first generation of Cranial Signal Processors. Cranial Signal Processors \" +\n \"are a set of specialized microprocessors that are attached to \" +\n \"neurons in the brain. These chips process neural signals to quickly and automatically perform specific computations \" +\n \"so that the brain doesn't have to.\",\n hacking_speed_mult: 1.01,\n hacking_mult: 1.05,\n });\n CranialSignalProcessorsG1.addToFactions([\"CyberSec\"]);\n if (augmentationExists(AugmentationNames.CranialSignalProcessorsG1)) {\n delete Augmentations[AugmentationNames.CranialSignalProcessorsG1];\n }\n AddToAugmentations(CranialSignalProcessorsG1);\n\n const CranialSignalProcessorsG2 = new Augmentation({\n name: AugmentationNames.CranialSignalProcessorsG2,\n repCost: 1.875e4,\n moneyCost: 1.25e8,\n info:\n \"The second generation of Cranial Signal Processors. Cranial Signal Processors \" +\n \"are a set of specialized microprocessors that are attached to \" +\n \"neurons in the brain. These chips process neural signals to quickly and automatically perform specific computations \" +\n \"so that the brain doesn't have to.\",\n prereqs: [AugmentationNames.CranialSignalProcessorsG1],\n hacking_speed_mult: 1.02,\n hacking_chance_mult: 1.05,\n hacking_mult: 1.07,\n });\n CranialSignalProcessorsG2.addToFactions([\"CyberSec\", \"NiteSec\"]);\n if (augmentationExists(AugmentationNames.CranialSignalProcessorsG2)) {\n delete Augmentations[AugmentationNames.CranialSignalProcessorsG2];\n }\n AddToAugmentations(CranialSignalProcessorsG2);\n\n const CranialSignalProcessorsG3 = new Augmentation({\n name: AugmentationNames.CranialSignalProcessorsG3,\n repCost: 5e4,\n moneyCost: 5.5e8,\n info:\n \"The third generation of Cranial Signal Processors. Cranial Signal Processors \" +\n \"are a set of specialized microprocessors that are attached to \" +\n \"neurons in the brain. These chips process neural signals to quickly and automatically perform specific computations \" +\n \"so that the brain doesn't have to.\",\n prereqs: [AugmentationNames.CranialSignalProcessorsG2],\n hacking_speed_mult: 1.02,\n hacking_money_mult: 1.15,\n hacking_mult: 1.09,\n });\n CranialSignalProcessorsG3.addToFactions([\"NiteSec\", \"The Black Hand\", \"BitRunners\"]);\n if (augmentationExists(AugmentationNames.CranialSignalProcessorsG3)) {\n delete Augmentations[AugmentationNames.CranialSignalProcessorsG3];\n }\n AddToAugmentations(CranialSignalProcessorsG3);\n\n const CranialSignalProcessorsG4 = new Augmentation({\n name: AugmentationNames.CranialSignalProcessorsG4,\n repCost: 1.25e5,\n moneyCost: 1.1e9,\n info:\n \"The fourth generation of Cranial Signal Processors. Cranial Signal Processors \" +\n \"are a set of specialized microprocessors that are attached to \" +\n \"neurons in the brain. These chips process neural signals to quickly and automatically perform specific computations \" +\n \"so that the brain doesn't have to.\",\n prereqs: [AugmentationNames.CranialSignalProcessorsG3],\n hacking_speed_mult: 1.02,\n hacking_money_mult: 1.2,\n hacking_grow_mult: 1.25,\n });\n CranialSignalProcessorsG4.addToFactions([\"The Black Hand\", \"BitRunners\"]);\n if (augmentationExists(AugmentationNames.CranialSignalProcessorsG4)) {\n delete Augmentations[AugmentationNames.CranialSignalProcessorsG4];\n }\n AddToAugmentations(CranialSignalProcessorsG4);\n\n const CranialSignalProcessorsG5 = new Augmentation({\n name: AugmentationNames.CranialSignalProcessorsG5,\n repCost: 2.5e5,\n moneyCost: 2.25e9,\n info:\n \"The fifth generation of Cranial Signal Processors. Cranial Signal Processors \" +\n \"are a set of specialized microprocessors that are attached to \" +\n \"neurons in the brain. These chips process neural signals to quickly and automatically perform specific computations \" +\n \"so that the brain doesn't have to.\",\n prereqs: [AugmentationNames.CranialSignalProcessorsG4],\n hacking_mult: 1.3,\n hacking_money_mult: 1.25,\n hacking_grow_mult: 1.75,\n });\n CranialSignalProcessorsG5.addToFactions([\"BitRunners\"]);\n if (augmentationExists(AugmentationNames.CranialSignalProcessorsG5)) {\n delete Augmentations[AugmentationNames.CranialSignalProcessorsG5];\n }\n AddToAugmentations(CranialSignalProcessorsG5);\n\n const NeuronalDensification = new Augmentation({\n name: AugmentationNames.NeuronalDensification,\n repCost: 1.875e5,\n moneyCost: 1.375e9,\n info:\n \"The brain is surgically re-engineered to have increased neuronal density \" +\n \"by decreasing the neuron gap junction. Then, the body is genetically modified \" +\n \"to enhance the production and capabilities of its neural stem cells.\",\n hacking_mult: 1.15,\n hacking_exp_mult: 1.1,\n hacking_speed_mult: 1.03,\n });\n NeuronalDensification.addToFactions([\"Clarke Incorporated\"]);\n if (augmentationExists(AugmentationNames.NeuronalDensification)) {\n delete Augmentations[AugmentationNames.NeuronalDensification];\n }\n AddToAugmentations(NeuronalDensification);\n\n // Work Augmentations\n const NuoptimalInjectorImplant = new Augmentation({\n name: AugmentationNames.NuoptimalInjectorImplant,\n repCost: 5e3,\n moneyCost: 2e7,\n info:\n \"This torso implant automatically injects nootropic supplements into \" +\n \"the bloodstream to improve memory, increase focus, and provide other \" +\n \"cognitive enhancements.\",\n company_rep_mult: 1.2,\n });\n NuoptimalInjectorImplant.addToFactions([\n \"Tian Di Hui\",\n \"Volhaven\",\n \"New Tokyo\",\n \"Chongqing\",\n \"Clarke Incorporated\",\n \"Four Sigma\",\n \"Bachman & Associates\",\n ]);\n if (augmentationExists(AugmentationNames.NuoptimalInjectorImplant)) {\n delete Augmentations[AugmentationNames.NuoptimalInjectorImplant];\n }\n AddToAugmentations(NuoptimalInjectorImplant);\n\n const SpeechEnhancement = new Augmentation({\n name: AugmentationNames.SpeechEnhancement,\n repCost: 2.5e3,\n moneyCost: 1.25e7,\n info:\n \"An advanced neural implant that improves your speaking abilities, making \" +\n \"you more convincing and likable in conversations and overall improving your \" +\n \"social interactions.\",\n company_rep_mult: 1.1,\n charisma_mult: 1.1,\n });\n SpeechEnhancement.addToFactions([\n \"Tian Di Hui\",\n \"Speakers for the Dead\",\n \"Four Sigma\",\n \"KuaiGong International\",\n \"Clarke Incorporated\",\n \"Bachman & Associates\",\n ]);\n if (augmentationExists(AugmentationNames.SpeechEnhancement)) {\n delete Augmentations[AugmentationNames.SpeechEnhancement];\n }\n AddToAugmentations(SpeechEnhancement);\n\n const FocusWire = new Augmentation({\n name: AugmentationNames.FocusWire,\n repCost: 7.5e4,\n moneyCost: 9e8,\n info: \"A cranial implant that stops procrastination by blocking specific neural pathways \" + \"in the brain.\",\n hacking_exp_mult: 1.05,\n strength_exp_mult: 1.05,\n defense_exp_mult: 1.05,\n dexterity_exp_mult: 1.05,\n agility_exp_mult: 1.05,\n charisma_exp_mult: 1.05,\n company_rep_mult: 1.1,\n work_money_mult: 1.2,\n });\n FocusWire.addToFactions([\"Bachman & Associates\", \"Clarke Incorporated\", \"Four Sigma\", \"KuaiGong International\"]);\n if (augmentationExists(AugmentationNames.FocusWire)) {\n delete Augmentations[AugmentationNames.FocusWire];\n }\n AddToAugmentations(FocusWire);\n\n const PCDNI = new Augmentation({\n name: AugmentationNames.PCDNI,\n repCost: 3.75e5,\n moneyCost: 3.75e9,\n info:\n \"Installs a Direct-Neural Interface jack into your arm that is compatible with most \" +\n \"computers. Connecting to a computer through this jack allows you to interface with \" +\n \"it using the brain's electrochemical signals.\",\n company_rep_mult: 1.3,\n hacking_mult: 1.08,\n });\n PCDNI.addToFactions([\"Four Sigma\", \"OmniTek Incorporated\", \"ECorp\", \"Blade Industries\"]);\n if (augmentationExists(AugmentationNames.PCDNI)) {\n delete Augmentations[AugmentationNames.PCDNI];\n }\n AddToAugmentations(PCDNI);\n\n const PCDNIOptimizer = new Augmentation({\n name: AugmentationNames.PCDNIOptimizer,\n repCost: 5e5,\n moneyCost: 4.5e9,\n info:\n \"This is a submodule upgrade to the PC Direct-Neural Interface augmentation. It \" +\n \"improves the performance of the interface and gives the user more control options \" +\n \"to a connected computer.\",\n prereqs: [AugmentationNames.PCDNI],\n company_rep_mult: 1.75,\n hacking_mult: 1.1,\n });\n PCDNIOptimizer.addToFactions([\"Fulcrum Secret Technologies\", \"ECorp\", \"Blade Industries\"]);\n if (augmentationExists(AugmentationNames.PCDNIOptimizer)) {\n delete Augmentations[AugmentationNames.PCDNIOptimizer];\n }\n AddToAugmentations(PCDNIOptimizer);\n\n const PCDNINeuralNetwork = new Augmentation({\n name: AugmentationNames.PCDNINeuralNetwork,\n repCost: 1.5e6,\n moneyCost: 7.5e9,\n info:\n \"This is an additional installation that upgrades the functionality of the \" +\n \"PC Direct-Neural Interface augmentation. When connected to a computer, \" +\n \"The Neural Network upgrade allows the user to use their own brain's \" +\n \"processing power to aid the computer in computational tasks.\",\n prereqs: [AugmentationNames.PCDNI],\n company_rep_mult: 2,\n hacking_mult: 1.1,\n hacking_speed_mult: 1.05,\n });\n PCDNINeuralNetwork.addToFactions([\"Fulcrum Secret Technologies\"]);\n if (augmentationExists(AugmentationNames.PCDNINeuralNetwork)) {\n delete Augmentations[AugmentationNames.PCDNINeuralNetwork];\n }\n AddToAugmentations(PCDNINeuralNetwork);\n\n const ADRPheromone1 = new Augmentation({\n name: AugmentationNames.ADRPheromone1,\n repCost: 3.75e3,\n moneyCost: 1.75e7,\n info:\n \"The body is genetically re-engineered so that it produces the ADR-V1 pheromone, \" +\n \"an artificial pheromone discovered by scientists. The ADR-V1 pheromone, when excreted, \" +\n \"triggers feelings of admiration and approval in other people.\",\n company_rep_mult: 1.1,\n faction_rep_mult: 1.1,\n });\n ADRPheromone1.addToFactions([\"Tian Di Hui\", \"The Syndicate\", \"NWO\", \"MegaCorp\", \"Four Sigma\"]);\n if (augmentationExists(AugmentationNames.ADRPheromone1)) {\n delete Augmentations[AugmentationNames.ADRPheromone1];\n }\n AddToAugmentations(ADRPheromone1);\n\n const ADRPheromone2 = new Augmentation({\n name: AugmentationNames.ADRPheromone2,\n repCost: 6.25e4,\n moneyCost: 5.5e8,\n info:\n \"The body is genetically re-engineered so that it produces the ADR-V2 pheromone, \" +\n \"which is similar to but more potent than ADR-V1. This pheromone, when excreted, \" +\n \"triggers feelings of admiration, approval, and respect in others.\",\n company_rep_mult: 1.2,\n faction_rep_mult: 1.2,\n });\n ADRPheromone2.addToFactions([\"Silhouette\", \"Four Sigma\", \"Bachman & Associates\", \"Clarke Incorporated\"]);\n if (augmentationExists(AugmentationNames.ADRPheromone2)) {\n delete Augmentations[AugmentationNames.ADRPheromone2];\n }\n AddToAugmentations(ADRPheromone2);\n\n const ShadowsSimulacrum = new Augmentation({\n name: AugmentationNames.ShadowsSimulacrum,\n repCost: 3.75e4,\n moneyCost: 4e8,\n info:\n \"A crude but functional matter phase-shifter module that is embedded \" +\n \"in the brainstem and cerebellum. This augmentation was developed by \" +\n \"criminal organizations and allows the user to project and control holographic \" +\n \"simulacrums within a large radius. These simulacrums are commonly used for \" +\n \"espionage and surveillance work.\",\n company_rep_mult: 1.15,\n faction_rep_mult: 1.15,\n });\n ShadowsSimulacrum.addToFactions([\"The Syndicate\", \"The Dark Army\", \"Speakers for the Dead\"]);\n if (augmentationExists(AugmentationNames.ShadowsSimulacrum)) {\n delete Augmentations[AugmentationNames.ShadowsSimulacrum];\n }\n AddToAugmentations(ShadowsSimulacrum);\n\n // HacknetNode Augmentations\n const HacknetNodeCPUUpload = new Augmentation({\n name: AugmentationNames.HacknetNodeCPUUpload,\n repCost: 3.75e3,\n moneyCost: 1.1e7,\n info:\n \"Uploads the architecture and design details of a Hacknet Node's CPU into \" +\n \"the brain. This allows the user to engineer custom hardware and software \" +\n \"for the Hacknet Node that provides better performance.\",\n hacknet_node_money_mult: 1.15,\n hacknet_node_purchase_cost_mult: 0.85,\n });\n HacknetNodeCPUUpload.addToFactions([\"Netburners\"]);\n if (augmentationExists(AugmentationNames.HacknetNodeCPUUpload)) {\n delete Augmentations[AugmentationNames.HacknetNodeCPUUpload];\n }\n AddToAugmentations(HacknetNodeCPUUpload);\n\n const HacknetNodeCacheUpload = new Augmentation({\n name: AugmentationNames.HacknetNodeCacheUpload,\n repCost: 2.5e3,\n moneyCost: 5.5e6,\n info:\n \"Uploads the architecture and design details of a Hacknet Node's main-memory cache \" +\n \"into the brain. This allows the user to engineer custom cache hardware for the \" +\n \"Hacknet Node that offers better performance.\",\n hacknet_node_money_mult: 1.1,\n hacknet_node_level_cost_mult: 0.85,\n });\n HacknetNodeCacheUpload.addToFactions([\"Netburners\"]);\n if (augmentationExists(AugmentationNames.HacknetNodeCacheUpload)) {\n delete Augmentations[AugmentationNames.HacknetNodeCacheUpload];\n }\n AddToAugmentations(HacknetNodeCacheUpload);\n\n const HacknetNodeNICUpload = new Augmentation({\n name: AugmentationNames.HacknetNodeNICUpload,\n repCost: 1.875e3,\n moneyCost: 4.5e6,\n info:\n \"Uploads the architecture and design details of a Hacknet Node's Network Interface Card (NIC) \" +\n \"into the brain. This allows the user to engineer a custom NIC for the Hacknet Node that \" +\n \"offers better performance.\",\n hacknet_node_money_mult: 1.1,\n hacknet_node_purchase_cost_mult: 0.9,\n });\n HacknetNodeNICUpload.addToFactions([\"Netburners\"]);\n if (augmentationExists(AugmentationNames.HacknetNodeNICUpload)) {\n delete Augmentations[AugmentationNames.HacknetNodeNICUpload];\n }\n AddToAugmentations(HacknetNodeNICUpload);\n\n const HacknetNodeKernelDNI = new Augmentation({\n name: AugmentationNames.HacknetNodeKernelDNI,\n repCost: 7.5e3,\n moneyCost: 4e7,\n info:\n \"Installs a Direct-Neural Interface jack into the arm that is capable of connecting to a \" +\n \"Hacknet Node. This lets the user access and manipulate the Node's kernel using \" +\n \"electrochemical signals.\",\n hacknet_node_money_mult: 1.25,\n });\n HacknetNodeKernelDNI.addToFactions([\"Netburners\"]);\n if (augmentationExists(AugmentationNames.HacknetNodeKernelDNI)) {\n delete Augmentations[AugmentationNames.HacknetNodeKernelDNI];\n }\n AddToAugmentations(HacknetNodeKernelDNI);\n\n const HacknetNodeCoreDNI = new Augmentation({\n name: AugmentationNames.HacknetNodeCoreDNI,\n repCost: 1.25e4,\n moneyCost: 6e7,\n info:\n \"Installs a Direct-Neural Interface jack into the arm that is capable of connecting \" +\n \"to a Hacknet Node. This lets the user access and manipulate the Node's processing logic using \" +\n \"electrochemical signals.\",\n hacknet_node_money_mult: 1.45,\n });\n HacknetNodeCoreDNI.addToFactions([\"Netburners\"]);\n if (augmentationExists(AugmentationNames.HacknetNodeCoreDNI)) {\n delete Augmentations[AugmentationNames.HacknetNodeCoreDNI];\n }\n AddToAugmentations(HacknetNodeCoreDNI);\n\n //Misc/Hybrid augmentations\n const NeuroFluxGovernor = new Augmentation({\n name: AugmentationNames.NeuroFluxGovernor,\n repCost: 1.25e3,\n moneyCost: 3.75e6,\n info:\n \"A device that is embedded in the back of the neck. The NeuroFlux Governor \" +\n \"monitors and regulates nervous impulses coming to and from the spinal column, \" +\n \"essentially 'governing' the body. By doing so, it improves the functionality of the \" +\n \"body's nervous system.\",\n stats: (\n <>\n This special augmentation can be leveled up infinitely. Each level of this augmentation increases ALL\n multipliers by 1%, stacking multiplicatively.\n >\n ),\n hacking_chance_mult: 1.01,\n hacking_speed_mult: 1.01,\n hacking_money_mult: 1.01,\n hacking_grow_mult: 1.01,\n hacking_mult: 1.01,\n strength_mult: 1.01,\n defense_mult: 1.01,\n dexterity_mult: 1.01,\n agility_mult: 1.01,\n charisma_mult: 1.01,\n hacking_exp_mult: 1.01,\n strength_exp_mult: 1.01,\n defense_exp_mult: 1.01,\n dexterity_exp_mult: 1.01,\n agility_exp_mult: 1.01,\n charisma_exp_mult: 1.01,\n company_rep_mult: 1.01,\n faction_rep_mult: 1.01,\n crime_money_mult: 1.01,\n crime_success_mult: 1.01,\n hacknet_node_money_mult: 1.01,\n hacknet_node_purchase_cost_mult: 0.99,\n hacknet_node_ram_cost_mult: 0.99,\n hacknet_node_core_cost_mult: 0.99,\n hacknet_node_level_cost_mult: 0.99,\n work_money_mult: 1.01,\n });\n\n // Set the Augmentation's level to the currently-installed level\n let currLevel = 0;\n for (let i = 0; i < Player.augmentations.length; ++i) {\n if (Player.augmentations[i].name === AugmentationNames.NeuroFluxGovernor) {\n currLevel = Player.augmentations[i].level;\n }\n }\n NeuroFluxGovernor.level = currLevel;\n\n // To set the price/rep req of the NeuroFlux, we have to take into account NeuroFlux\n // levels that are purchased but not yet installed\n let nextLevel = currLevel;\n for (let i = 0; i < Player.queuedAugmentations.length; ++i) {\n if (Player.queuedAugmentations[i].name === AugmentationNames.NeuroFluxGovernor) {\n ++nextLevel;\n }\n }\n let mult = Math.pow(CONSTANTS.NeuroFluxGovernorLevelMult, nextLevel);\n NeuroFluxGovernor.baseRepRequirement = 500 * mult * BitNodeMultipliers.AugmentationRepCost;\n NeuroFluxGovernor.baseCost = 750e3 * mult * BitNodeMultipliers.AugmentationMoneyCost;\n if (augmentationExists(AugmentationNames.NeuroFluxGovernor)) {\n delete Augmentations[AugmentationNames.NeuroFluxGovernor];\n }\n NeuroFluxGovernor.addToAllFactions();\n AddToAugmentations(NeuroFluxGovernor);\n\n const Neurotrainer1 = new Augmentation({\n name: AugmentationNames.Neurotrainer1,\n repCost: 1e3,\n moneyCost: 4e6,\n info:\n \"A decentralized cranial implant that improves the brain's ability to learn. It is \" +\n \"installed by releasing millions of nanobots into the human brain, each of which \" +\n \"attaches to a different neural pathway to enhance the brain's ability to retain \" +\n \"and retrieve information.\",\n hacking_exp_mult: 1.1,\n strength_exp_mult: 1.1,\n defense_exp_mult: 1.1,\n dexterity_exp_mult: 1.1,\n agility_exp_mult: 1.1,\n charisma_exp_mult: 1.1,\n });\n Neurotrainer1.addToFactions([\"CyberSec\", \"Aevum\"]);\n if (augmentationExists(AugmentationNames.Neurotrainer1)) {\n delete Augmentations[AugmentationNames.Neurotrainer1];\n }\n AddToAugmentations(Neurotrainer1);\n\n const Neurotrainer2 = new Augmentation({\n name: AugmentationNames.Neurotrainer2,\n repCost: 1e4,\n moneyCost: 4.5e7,\n info:\n \"A decentralized cranial implant that improves the brain's ability to learn. This \" +\n \"is a more powerful version of the Neurotrainer I augmentation, but it does not \" +\n \"require Neurotrainer I to be installed as a prerequisite.\",\n hacking_exp_mult: 1.15,\n strength_exp_mult: 1.15,\n defense_exp_mult: 1.15,\n dexterity_exp_mult: 1.15,\n agility_exp_mult: 1.15,\n charisma_exp_mult: 1.15,\n });\n Neurotrainer2.addToFactions([\"BitRunners\", \"NiteSec\"]);\n if (augmentationExists(AugmentationNames.Neurotrainer2)) {\n delete Augmentations[AugmentationNames.Neurotrainer2];\n }\n AddToAugmentations(Neurotrainer2);\n\n const Neurotrainer3 = new Augmentation({\n name: AugmentationNames.Neurotrainer3,\n repCost: 2.5e4,\n moneyCost: 1.3e8,\n info:\n \"A decentralized cranial implant that improves the brain's ability to learn. This \" +\n \"is a more powerful version of the Neurotrainer I and Neurotrainer II augmentation, \" +\n \"but it does not require either of them to be installed as a prerequisite.\",\n hacking_exp_mult: 1.2,\n strength_exp_mult: 1.2,\n defense_exp_mult: 1.2,\n dexterity_exp_mult: 1.2,\n agility_exp_mult: 1.2,\n charisma_exp_mult: 1.2,\n });\n Neurotrainer3.addToFactions([\"NWO\", \"Four Sigma\"]);\n if (augmentationExists(AugmentationNames.Neurotrainer3)) {\n delete Augmentations[AugmentationNames.Neurotrainer3];\n }\n AddToAugmentations(Neurotrainer3);\n\n const Hypersight = new Augmentation({\n name: AugmentationNames.Hypersight,\n repCost: 1.5e5,\n moneyCost: 2.75e9,\n info:\n \"A bionic eye implant that grants sight capabilities far beyond those of a natural human. \" +\n \"Embedded circuitry within the implant provides the ability to detect heat and movement \" +\n \"through solid objects such as walls, thus providing 'x-ray vision'-like capabilities.\",\n dexterity_mult: 1.4,\n hacking_speed_mult: 1.03,\n hacking_money_mult: 1.1,\n });\n Hypersight.addToFactions([\"Blade Industries\", \"KuaiGong International\"]);\n if (augmentationExists(AugmentationNames.Hypersight)) {\n delete Augmentations[AugmentationNames.Hypersight];\n }\n AddToAugmentations(Hypersight);\n\n const LuminCloaking1 = new Augmentation({\n name: AugmentationNames.LuminCloaking1,\n repCost: 1.5e3,\n moneyCost: 5e6,\n info:\n \"A skin implant that reinforces the skin with highly-advanced synthetic cells. These \" +\n \"cells, when powered, have a negative refractive index. As a result, they bend light \" +\n \"around the skin, making the user much harder to see to the naked eye.\",\n agility_mult: 1.05,\n crime_money_mult: 1.1,\n });\n LuminCloaking1.addToFactions([\"Slum Snakes\", \"Tetrads\"]);\n if (augmentationExists(AugmentationNames.LuminCloaking1)) {\n delete Augmentations[AugmentationNames.LuminCloaking1];\n }\n AddToAugmentations(LuminCloaking1);\n\n const LuminCloaking2 = new Augmentation({\n name: AugmentationNames.LuminCloaking2,\n repCost: 5e3,\n moneyCost: 3e7,\n info:\n \"This is a more advanced version of the LuminCloaking-V1 augmentation. This skin implant \" +\n \"reinforces the skin with highly-advanced synthetic cells. These \" +\n \"cells, when powered, are capable of not only bending light but also of bending heat, \" +\n \"making the user more resilient as well as stealthy.\",\n prereqs: [AugmentationNames.LuminCloaking1],\n agility_mult: 1.1,\n defense_mult: 1.1,\n crime_money_mult: 1.25,\n });\n LuminCloaking2.addToFactions([\"Slum Snakes\", \"Tetrads\"]);\n if (augmentationExists(AugmentationNames.LuminCloaking2)) {\n delete Augmentations[AugmentationNames.LuminCloaking2];\n }\n AddToAugmentations(LuminCloaking2);\n\n const SmartSonar = new Augmentation({\n name: AugmentationNames.SmartSonar,\n repCost: 2.25e4,\n moneyCost: 7.5e7,\n info: \"A cochlear implant that helps the player detect and locate enemies \" + \"using sound propagation.\",\n dexterity_mult: 1.1,\n dexterity_exp_mult: 1.15,\n crime_money_mult: 1.25,\n });\n SmartSonar.addToFactions([\"Slum Snakes\"]);\n if (augmentationExists(AugmentationNames.SmartSonar)) {\n delete Augmentations[AugmentationNames.SmartSonar];\n }\n AddToAugmentations(SmartSonar);\n\n const PowerRecirculator = new Augmentation({\n name: AugmentationNames.PowerRecirculator,\n repCost: 2.5e4,\n moneyCost: 1.8e8,\n info:\n \"The body's nerves are attached with polypyrrole nanocircuits that \" +\n \"are capable of capturing wasted energy, in the form of heat, \" +\n \"and converting it back into usable power.\",\n hacking_mult: 1.05,\n strength_mult: 1.05,\n defense_mult: 1.05,\n dexterity_mult: 1.05,\n agility_mult: 1.05,\n charisma_mult: 1.05,\n hacking_exp_mult: 1.1,\n strength_exp_mult: 1.1,\n defense_exp_mult: 1.1,\n dexterity_exp_mult: 1.1,\n agility_exp_mult: 1.1,\n charisma_exp_mult: 1.1,\n });\n PowerRecirculator.addToFactions([\"Tetrads\", \"The Dark Army\", \"The Syndicate\", \"NWO\"]);\n if (augmentationExists(AugmentationNames.PowerRecirculator)) {\n delete Augmentations[AugmentationNames.PowerRecirculator];\n }\n AddToAugmentations(PowerRecirculator);\n\n // Unique AUGS (Each Faction gets one unique augmentation)\n // Factions that already have unique augs up to this point:\n // Slum Snakes, CyberSec, Netburners, Fulcrum Secret Technologies,\n // Silhouette\n\n // Illuminati\n const QLink = new Augmentation({\n name: AugmentationNames.QLink,\n repCost: 1.875e6,\n moneyCost: 2.5e13,\n info:\n \"A brain implant that wirelessly connects you to the Illuminati's \" +\n \"quantum supercomputer, allowing you to access and use its incredible \" +\n \"computing power.\",\n hacking_mult: 1.75,\n hacking_speed_mult: 2,\n hacking_chance_mult: 2.5,\n hacking_money_mult: 4,\n });\n QLink.addToFactions([\"Illuminati\"]);\n if (augmentationExists(AugmentationNames.QLink)) {\n delete Augmentations[AugmentationNames.QLink];\n }\n AddToAugmentations(QLink);\n\n // Daedalus\n const RedPill = new Augmentation({\n name: AugmentationNames.TheRedPill,\n repCost: 2.5e6,\n moneyCost: 0,\n info: \"It's time to leave the cave.\",\n stats: null,\n });\n RedPill.addToFactions([\"Daedalus\"]);\n if (augmentationExists(AugmentationNames.TheRedPill)) {\n delete Augmentations[AugmentationNames.TheRedPill];\n }\n AddToAugmentations(RedPill);\n\n // Covenant\n const SPTN97 = new Augmentation({\n name: AugmentationNames.SPTN97,\n repCost: 1.25e6,\n moneyCost: 4.875e9,\n info:\n \"The SPTN-97 gene is injected into the genome. The SPTN-97 gene is an \" +\n \"artificially-synthesized gene that was developed by DARPA to create \" +\n \"super-soldiers through genetic modification. The gene was outlawed in \" +\n \"2056.\",\n strength_mult: 1.75,\n defense_mult: 1.75,\n dexterity_mult: 1.75,\n agility_mult: 1.75,\n hacking_mult: 1.15,\n });\n SPTN97.addToFactions([\"The Covenant\"]);\n if (augmentationExists(AugmentationNames.SPTN97)) {\n delete Augmentations[AugmentationNames.SPTN97];\n }\n AddToAugmentations(SPTN97);\n\n // ECorp\n const HiveMind = new Augmentation({\n name: AugmentationNames.HiveMind,\n repCost: 1.5e6,\n moneyCost: 5.5e9,\n info:\n \"A brain implant developed by ECorp. They do not reveal what \" +\n \"exactly the implant does, but they promise that it will greatly \" +\n \"enhance your abilities.\",\n hacking_grow_mult: 3,\n stats: null,\n });\n HiveMind.addToFactions([\"ECorp\"]);\n if (augmentationExists(AugmentationNames.HiveMind)) {\n delete Augmentations[AugmentationNames.HiveMind];\n }\n AddToAugmentations(HiveMind);\n\n // MegaCorp\n const CordiARCReactor = new Augmentation({\n name: AugmentationNames.CordiARCReactor,\n repCost: 1.125e6,\n moneyCost: 5e9,\n info:\n \"The thoracic cavity is equipped with a small chamber designed \" +\n \"to hold and sustain hydrogen plasma. The plasma is used to generate \" +\n \"fusion power through nuclear fusion, providing limitless amounts of clean \" +\n \"energy for the body.\",\n strength_mult: 1.35,\n defense_mult: 1.35,\n dexterity_mult: 1.35,\n agility_mult: 1.35,\n strength_exp_mult: 1.35,\n defense_exp_mult: 1.35,\n dexterity_exp_mult: 1.35,\n agility_exp_mult: 1.35,\n });\n CordiARCReactor.addToFactions([\"MegaCorp\"]);\n if (augmentationExists(AugmentationNames.CordiARCReactor)) {\n delete Augmentations[AugmentationNames.CordiARCReactor];\n }\n AddToAugmentations(CordiARCReactor);\n\n // BachmanAndAssociates\n const SmartJaw = new Augmentation({\n name: AugmentationNames.SmartJaw,\n repCost: 3.75e5,\n moneyCost: 2.75e9,\n info:\n \"A bionic jaw that contains advanced hardware and software \" +\n \"capable of psychoanalyzing and profiling the personality of \" +\n \"others using optical imaging software.\",\n charisma_mult: 1.5,\n charisma_exp_mult: 1.5,\n company_rep_mult: 1.25,\n faction_rep_mult: 1.25,\n });\n SmartJaw.addToFactions([\"Bachman & Associates\"]);\n if (augmentationExists(AugmentationNames.SmartJaw)) {\n delete Augmentations[AugmentationNames.SmartJaw];\n }\n AddToAugmentations(SmartJaw);\n\n // BladeIndustries\n const Neotra = new Augmentation({\n name: AugmentationNames.Neotra,\n repCost: 5.625e5,\n moneyCost: 2.875e9,\n info:\n \"A highly-advanced techno-organic drug that is injected into the skeletal \" +\n \"and integumentary system. The drug permanently modifies the DNA of the \" +\n \"body's skin and bone cells, granting them the ability to repair \" +\n \"and restructure themselves.\",\n strength_mult: 1.55,\n defense_mult: 1.55,\n });\n Neotra.addToFactions([\"Blade Industries\"]);\n if (augmentationExists(AugmentationNames.Neotra)) {\n delete Augmentations[AugmentationNames.Neotra];\n }\n AddToAugmentations(Neotra);\n\n // NWO\n const Xanipher = new Augmentation({\n name: AugmentationNames.Xanipher,\n repCost: 8.75e5,\n moneyCost: 4.25e9,\n info:\n \"A concoction of advanced nanobots that is orally ingested into the \" +\n \"body. These nanobots induce physiological changes and significantly \" +\n \"improve the body's functioning in all aspects.\",\n hacking_mult: 1.2,\n strength_mult: 1.2,\n defense_mult: 1.2,\n dexterity_mult: 1.2,\n agility_mult: 1.2,\n charisma_mult: 1.2,\n hacking_exp_mult: 1.15,\n strength_exp_mult: 1.15,\n defense_exp_mult: 1.15,\n dexterity_exp_mult: 1.15,\n agility_exp_mult: 1.15,\n charisma_exp_mult: 1.15,\n });\n Xanipher.addToFactions([\"NWO\"]);\n if (augmentationExists(AugmentationNames.Xanipher)) {\n delete Augmentations[AugmentationNames.Xanipher];\n }\n AddToAugmentations(Xanipher);\n\n const HydroflameLeftArm = new Augmentation({\n name: AugmentationNames.HydroflameLeftArm,\n repCost: 1.25e6,\n moneyCost: 2.5e12,\n info:\n \"The left arm of a legendary BitRunner who ascended beyond this world. \" +\n \"It projects a light blue energy shield that protects the exposed inner parts. \" +\n \"Even though it contains no weapons, the advanced tungsten titanium \" +\n \"alloy increases the users strength to unbelievable levels. The augmentation \" +\n \"gets more powerful over time for seemingly no reason.\",\n strength_mult: 2.7,\n });\n HydroflameLeftArm.addToFactions([\"NWO\"]);\n if (augmentationExists(AugmentationNames.HydroflameLeftArm)) {\n delete Augmentations[AugmentationNames.HydroflameLeftArm];\n }\n AddToAugmentations(HydroflameLeftArm);\n\n // ClarkeIncorporated\n const nextSENS = new Augmentation({\n name: AugmentationNames.nextSENS,\n repCost: 4.375e5,\n moneyCost: 1.925e9,\n info:\n \"The body is genetically re-engineered to maintain a state \" +\n \"of negligible senescence, preventing the body from \" +\n \"deteriorating with age.\",\n hacking_mult: 1.2,\n strength_mult: 1.2,\n defense_mult: 1.2,\n dexterity_mult: 1.2,\n agility_mult: 1.2,\n charisma_mult: 1.2,\n });\n nextSENS.addToFactions([\"Clarke Incorporated\"]);\n if (augmentationExists(AugmentationNames.nextSENS)) {\n delete Augmentations[AugmentationNames.nextSENS];\n }\n AddToAugmentations(nextSENS);\n\n // OmniTekIncorporated\n const OmniTekInfoLoad = new Augmentation({\n name: AugmentationNames.OmniTekInfoLoad,\n repCost: 6.25e5,\n moneyCost: 2.875e9,\n info:\n \"OmniTek's data and information repository is uploaded \" +\n \"into your brain, enhancing your programming and \" +\n \"hacking abilities.\",\n hacking_mult: 1.2,\n hacking_exp_mult: 1.25,\n });\n OmniTekInfoLoad.addToFactions([\"OmniTek Incorporated\"]);\n if (augmentationExists(AugmentationNames.OmniTekInfoLoad)) {\n delete Augmentations[AugmentationNames.OmniTekInfoLoad];\n }\n AddToAugmentations(OmniTekInfoLoad);\n\n // FourSigma\n // TODO Later when Intelligence is added in . Some aug that greatly increases int\n\n // KuaiGongInternational\n const PhotosyntheticCells = new Augmentation({\n name: AugmentationNames.PhotosyntheticCells,\n repCost: 5.625e5,\n moneyCost: 2.75e9,\n info:\n \"Chloroplasts are added to epidermal stem cells and are applied \" +\n \"to the body using a skin graft. The result is photosynthetic \" +\n \"skin cells, allowing users to generate their own energy \" +\n \"and nutrition using solar power.\",\n strength_mult: 1.4,\n defense_mult: 1.4,\n agility_mult: 1.4,\n });\n PhotosyntheticCells.addToFactions([\"KuaiGong International\"]);\n if (augmentationExists(AugmentationNames.PhotosyntheticCells)) {\n delete Augmentations[AugmentationNames.PhotosyntheticCells];\n }\n AddToAugmentations(PhotosyntheticCells);\n\n // BitRunners\n const Neurolink = new Augmentation({\n name: AugmentationNames.Neurolink,\n repCost: 8.75e5,\n moneyCost: 4.375e9,\n info:\n \"A brain implant that provides a high-bandwidth, direct neural link between your \" +\n \"mind and the BitRunners' data servers, which reportedly contain \" +\n \"the largest database of hacking tools and information in the world.\",\n hacking_mult: 1.15,\n hacking_exp_mult: 1.2,\n hacking_chance_mult: 1.1,\n hacking_speed_mult: 1.05,\n programs: [Programs.FTPCrackProgram.name, Programs.RelaySMTPProgram.name],\n });\n Neurolink.addToFactions([\"BitRunners\"]);\n if (augmentationExists(AugmentationNames.Neurolink)) {\n delete Augmentations[AugmentationNames.Neurolink];\n }\n AddToAugmentations(Neurolink);\n\n // BlackHand\n const TheBlackHand = new Augmentation({\n name: AugmentationNames.TheBlackHand,\n repCost: 1e5,\n moneyCost: 5.5e8,\n info:\n \"A highly advanced bionic hand. This prosthetic not only \" +\n \"enhances strength and dexterity but it is also embedded \" +\n \"with hardware and firmware that lets the user connect to, access, and hack \" +\n \"devices and machines by just touching them.\",\n strength_mult: 1.15,\n dexterity_mult: 1.15,\n hacking_mult: 1.1,\n hacking_speed_mult: 1.02,\n hacking_money_mult: 1.1,\n });\n TheBlackHand.addToFactions([\"The Black Hand\"]);\n if (augmentationExists(AugmentationNames.TheBlackHand)) {\n delete Augmentations[AugmentationNames.TheBlackHand];\n }\n AddToAugmentations(TheBlackHand);\n\n // NiteSec\n const CRTX42AA = new Augmentation({\n name: AugmentationNames.CRTX42AA,\n repCost: 4.5e4,\n moneyCost: 2.25e8,\n info:\n \"The CRTX42-AA gene is injected into the genome. \" +\n \"The CRTX42-AA is an artificially-synthesized gene that targets the visual and prefrontal \" +\n \"cortex and improves cognitive abilities.\",\n hacking_mult: 1.08,\n hacking_exp_mult: 1.15,\n });\n CRTX42AA.addToFactions([\"NiteSec\"]);\n if (augmentationExists(AugmentationNames.CRTX42AA)) {\n delete Augmentations[AugmentationNames.CRTX42AA];\n }\n AddToAugmentations(CRTX42AA);\n\n // Chongqing\n const Neuregen = new Augmentation({\n name: AugmentationNames.Neuregen,\n repCost: 3.75e4,\n moneyCost: 3.75e8,\n info:\n \"A drug that genetically modifies the neurons in the brain \" +\n \"resulting in neurons never die, continuously \" +\n \"regenerate, and strengthen themselves.\",\n hacking_exp_mult: 1.4,\n });\n Neuregen.addToFactions([\"Chongqing\"]);\n if (augmentationExists(AugmentationNames.Neuregen)) {\n delete Augmentations[AugmentationNames.Neuregen];\n }\n AddToAugmentations(Neuregen);\n\n // Sector12\n const CashRoot = new Augmentation({\n name: AugmentationNames.CashRoot,\n repCost: 1.25e4,\n moneyCost: 1.25e8,\n info: (\n <>\n A collection of digital assets saved on a small chip. The chip is implanted into your wrist. A small jack in the\n chip allows you to connect it to a computer and upload the assets.\n >\n ),\n startingMoney: 1e6,\n programs: [Programs.BruteSSHProgram.name],\n });\n CashRoot.addToFactions([\"Sector-12\"]);\n if (augmentationExists(AugmentationNames.CashRoot)) {\n delete Augmentations[AugmentationNames.CashRoot];\n }\n AddToAugmentations(CashRoot);\n\n // NewTokyo\n const NutriGen = new Augmentation({\n name: AugmentationNames.NutriGen,\n repCost: 6.25e3,\n moneyCost: 2.5e6,\n info:\n \"A thermo-powered artificial nutrition generator. Endogenously \" +\n \"synthesizes glucose, amino acids, and vitamins and redistributes them \" +\n \"across the body. The device is powered by the body's naturally wasted \" +\n \"energy in the form of heat.\",\n strength_exp_mult: 1.2,\n defense_exp_mult: 1.2,\n dexterity_exp_mult: 1.2,\n agility_exp_mult: 1.2,\n });\n NutriGen.addToFactions([\"New Tokyo\"]);\n if (augmentationExists(AugmentationNames.NutriGen)) {\n delete Augmentations[AugmentationNames.NutriGen];\n }\n AddToAugmentations(NutriGen);\n\n // Aevum\n const PCMatrix = new Augmentation({\n name: AugmentationNames.PCMatrix,\n repCost: 100e3,\n moneyCost: 2e9,\n info:\n \"A 'Probability Computation Matrix' is installed in the frontal cortex. This implant \" +\n \"uses advanced mathematical algorithims to rapidly identify and compute statistical \" +\n \"outcomes of nearly every situation.\",\n charisma_mult: 1.0777,\n charisma_exp_mult: 1.0777,\n work_money_mult: 1.777,\n faction_rep_mult: 1.0777,\n company_rep_mult: 1.0777,\n crime_success_mult: 1.0777,\n crime_money_mult: 1.0777,\n programs: [Programs.DeepscanV1.name, Programs.AutoLink.name],\n });\n PCMatrix.addToFactions([\"Aevum\"]);\n if (augmentationExists(AugmentationNames.PCMatrix)) {\n delete Augmentations[AugmentationNames.PCMatrix];\n }\n AddToAugmentations(PCMatrix);\n\n // Ishima\n const INFRARet = new Augmentation({\n name: AugmentationNames.INFRARet,\n repCost: 7.5e3,\n moneyCost: 3e7,\n info:\n \"A tiny chip that sits behind the retinae. This implant lets the\" + \"user visually detect infrared radiation.\",\n crime_success_mult: 1.25,\n crime_money_mult: 1.1,\n dexterity_mult: 1.1,\n });\n INFRARet.addToFactions([\"Ishima\"]);\n if (augmentationExists(AugmentationNames.INFRARet)) {\n delete Augmentations[AugmentationNames.INFRARet];\n }\n AddToAugmentations(INFRARet);\n\n // Volhaven\n const DermaForce = new Augmentation({\n name: AugmentationNames.DermaForce,\n repCost: 1.5e4,\n moneyCost: 5e7,\n info:\n \"Synthetic skin that is grafted onto the body. This skin consists of \" +\n \"millions of nanobots capable of projecting high-density muon beams, \" +\n \"creating an energy barrier around the user.\",\n defense_mult: 1.4,\n });\n DermaForce.addToFactions([\"Volhaven\"]);\n if (augmentationExists(AugmentationNames.DermaForce)) {\n delete Augmentations[AugmentationNames.DermaForce];\n }\n AddToAugmentations(DermaForce);\n\n // SpeakersForTheDead\n const GrapheneBrachiBlades = new Augmentation({\n name: AugmentationNames.GrapheneBrachiBlades,\n repCost: 2.25e5,\n moneyCost: 2.5e9,\n info:\n \"An upgrade to the BrachiBlades augmentation. It infuses \" +\n \"the retractable blades with an advanced graphene material \" +\n \"making them stronger and lighter.\",\n prereqs: [AugmentationNames.BrachiBlades],\n strength_mult: 1.4,\n defense_mult: 1.4,\n crime_success_mult: 1.1,\n crime_money_mult: 1.3,\n });\n GrapheneBrachiBlades.addToFactions([\"Speakers for the Dead\"]);\n if (augmentationExists(AugmentationNames.GrapheneBrachiBlades)) {\n delete Augmentations[AugmentationNames.GrapheneBrachiBlades];\n }\n AddToAugmentations(GrapheneBrachiBlades);\n\n // DarkArmy\n const GrapheneBionicArms = new Augmentation({\n name: AugmentationNames.GrapheneBionicArms,\n repCost: 5e5,\n moneyCost: 3.75e9,\n info:\n \"An upgrade to the Bionic Arms augmentation. It infuses the \" +\n \"prosthetic arms with an advanced graphene material \" +\n \"to make them stronger and lighter.\",\n prereqs: [AugmentationNames.BionicArms],\n strength_mult: 1.85,\n dexterity_mult: 1.85,\n });\n GrapheneBionicArms.addToFactions([\"The Dark Army\"]);\n if (augmentationExists(AugmentationNames.GrapheneBionicArms)) {\n delete Augmentations[AugmentationNames.GrapheneBionicArms];\n }\n AddToAugmentations(GrapheneBionicArms);\n\n // TheSyndicate\n const BrachiBlades = new Augmentation({\n name: AugmentationNames.BrachiBlades,\n repCost: 1.25e4,\n moneyCost: 9e7,\n info: \"A set of retractable plasteel blades that are implanted in the arm, underneath the skin.\",\n strength_mult: 1.15,\n defense_mult: 1.15,\n crime_success_mult: 1.1,\n crime_money_mult: 1.15,\n });\n BrachiBlades.addToFactions([\"The Syndicate\"]);\n if (augmentationExists(AugmentationNames.BrachiBlades)) {\n delete Augmentations[AugmentationNames.BrachiBlades];\n }\n AddToAugmentations(BrachiBlades);\n\n // Tetrads\n const BionicArms = new Augmentation({\n name: AugmentationNames.BionicArms,\n repCost: 6.25e4,\n moneyCost: 2.75e8,\n info:\n \"Cybernetic arms created from plasteel and carbon fibers that completely replace \" + \"the user's organic arms.\",\n strength_mult: 1.3,\n dexterity_mult: 1.3,\n });\n BionicArms.addToFactions([\"Tetrads\"]);\n if (augmentationExists(AugmentationNames.BionicArms)) {\n delete Augmentations[AugmentationNames.BionicArms];\n }\n AddToAugmentations(BionicArms);\n\n // TianDiHui\n const SNA = new Augmentation({\n name: AugmentationNames.SNA,\n repCost: 6.25e3,\n moneyCost: 3e7,\n info:\n \"A cranial implant that affects the user's personality, making them better \" +\n \"at negotiation in social situations.\",\n work_money_mult: 1.1,\n company_rep_mult: 1.15,\n faction_rep_mult: 1.15,\n });\n SNA.addToFactions([\"Tian Di Hui\"]);\n if (augmentationExists(AugmentationNames.SNA)) {\n delete Augmentations[AugmentationNames.SNA];\n }\n AddToAugmentations(SNA);\n\n const NeuroreceptorManager = new Augmentation({\n name: AugmentationNames.NeuroreceptorManager,\n repCost: 0.75e5,\n moneyCost: 5.5e8,\n info:\n \"A brain implant carefully assembled around the synapses, which \" +\n \"micromanages the activity and levels of various neuroreceptor \" +\n \"chemicals and modulates electrical acvitiy to optimize concentration, \" +\n \"allowing the user to multitask much more effectively.\",\n stats: (\n <>\n This augmentation removes the penalty for not focusing on actions such as working in a job or working for a\n faction.\n >\n ),\n });\n NeuroreceptorManager.addToFactions([\"Tian Di Hui\"]);\n if (augmentationExists(AugmentationNames.NeuroreceptorManager)) {\n delete Augmentations[AugmentationNames.NeuroreceptorManager];\n }\n AddToAugmentations(NeuroreceptorManager);\n\n // Special Bladeburner Augmentations\n const BladeburnersFactionName = \"Bladeburners\";\n if (factionExists(BladeburnersFactionName)) {\n const EsperEyewear = new Augmentation({\n name: AugmentationNames.EsperEyewear,\n repCost: 1.25e3,\n moneyCost: 1.65e8,\n info:\n \"Ballistic-grade protective and retractable eyewear that was designed specifically \" +\n \"for Bladeburner units. This \" +\n \"is implanted by installing a mechanical frame in the skull's orbit. \" +\n \"This frame interfaces with the brain and allows the user to \" +\n \"automatically extrude and extract the eyewear. The eyewear protects \" +\n \"against debris, shrapnel, lasers, blinding flashes, and gas. It is also \" +\n \"embedded with a data processing chip that can be programmed to display an \" +\n \"AR HUD to assist the user in field missions.\",\n bladeburner_success_chance_mult: 1.03,\n dexterity_mult: 1.05,\n isSpecial: true,\n });\n EsperEyewear.addToFactions([BladeburnersFactionName]);\n resetAugmentation(EsperEyewear);\n\n const EMS4Recombination = new Augmentation({\n name: AugmentationNames.EMS4Recombination,\n repCost: 2.5e3,\n moneyCost: 2.75e8,\n info:\n \"A DNA recombination of the EMS-4 Gene. This genetic engineering \" +\n \"technique was originally used on Bladeburners during the Synthoid uprising \" +\n \"to induce wakefulness and concentration, suppress fear, reduce empathy, \" +\n \"improve reflexes, and improve memory among other things.\",\n bladeburner_success_chance_mult: 1.03,\n bladeburner_analysis_mult: 1.05,\n bladeburner_stamina_gain_mult: 1.02,\n isSpecial: true,\n });\n EMS4Recombination.addToFactions([BladeburnersFactionName]);\n resetAugmentation(EMS4Recombination);\n\n const OrionShoulder = new Augmentation({\n name: AugmentationNames.OrionShoulder,\n repCost: 6.25e3,\n moneyCost: 5.5e8,\n info:\n \"A bionic shoulder augmentation for the right shoulder. Using cybernetics, \" +\n \"the ORION-MKIV shoulder enhances the strength and dexterity \" +\n \"of the user's right arm. It also provides protection due to its \" +\n \"crystallized graphene plating.\",\n defense_mult: 1.05,\n strength_mult: 1.05,\n dexterity_mult: 1.05,\n bladeburner_success_chance_mult: 1.04,\n isSpecial: true,\n });\n OrionShoulder.addToFactions([BladeburnersFactionName]);\n resetAugmentation(OrionShoulder);\n\n const HyperionV1 = new Augmentation({\n name: AugmentationNames.HyperionV1,\n repCost: 1.25e4,\n moneyCost: 2.75e9,\n info:\n \"A pair of mini plasma cannons embedded into the hands. The Hyperion is capable \" +\n \"of rapidly firing bolts of high-density plasma. The weapon is meant to \" +\n \"be used against augmented enemies as the ionized \" +\n \"nature of the plasma disrupts the electrical systems of Augmentations. However, \" +\n \"it can also be effective against non-augmented enemies due to its high temperature \" +\n \"and concussive force.\",\n bladeburner_success_chance_mult: 1.06,\n isSpecial: true,\n });\n HyperionV1.addToFactions([BladeburnersFactionName]);\n resetAugmentation(HyperionV1);\n\n const HyperionV2 = new Augmentation({\n name: AugmentationNames.HyperionV2,\n repCost: 2.5e4,\n moneyCost: 5.5e9,\n info:\n \"A pair of mini plasma cannons embedded into the hands. This augmentation \" +\n \"is more advanced and powerful than the original V1 model. This V2 model is \" +\n \"more power-efficient, more accurate, and can fire plasma bolts at a much \" +\n \"higher velocity than the V1 model.\",\n prereqs: [AugmentationNames.HyperionV1],\n bladeburner_success_chance_mult: 1.08,\n isSpecial: true,\n });\n HyperionV2.addToFactions([BladeburnersFactionName]);\n resetAugmentation(HyperionV2);\n\n const GolemSerum = new Augmentation({\n name: AugmentationNames.GolemSerum,\n repCost: 3.125e4,\n moneyCost: 1.1e10,\n info:\n \"A serum that permanently enhances many aspects of human capabilities, \" +\n \"including strength, speed, immune system enhancements, and mitochondrial efficiency. The \" +\n \"serum was originally developed by the Chinese military in an attempt to \" +\n \"create super soldiers.\",\n strength_mult: 1.07,\n defense_mult: 1.07,\n dexterity_mult: 1.07,\n agility_mult: 1.07,\n bladeburner_stamina_gain_mult: 1.05,\n isSpecial: true,\n });\n GolemSerum.addToFactions([BladeburnersFactionName]);\n resetAugmentation(GolemSerum);\n\n const VangelisVirus = new Augmentation({\n name: AugmentationNames.VangelisVirus,\n repCost: 1.875e4,\n moneyCost: 2.75e9,\n info:\n \"A synthetic symbiotic virus that is injected into human brain tissue. The Vangelis virus \" +\n \"heightens the senses and focus of its host, and also enhances its intuition.\",\n dexterity_exp_mult: 1.1,\n bladeburner_analysis_mult: 1.1,\n bladeburner_success_chance_mult: 1.04,\n isSpecial: true,\n });\n VangelisVirus.addToFactions([BladeburnersFactionName]);\n resetAugmentation(VangelisVirus);\n\n const VangelisVirus3 = new Augmentation({\n name: AugmentationNames.VangelisVirus3,\n repCost: 3.75e4,\n moneyCost: 1.1e10,\n info:\n \"An improved version of Vangelis, a synthetic symbiotic virus that is \" +\n \"injected into human brain tissue. On top of the benefits of the original \" +\n \"virus, this also grants an accelerated healing factor and enhanced \" +\n \"reflexes.\",\n prereqs: [AugmentationNames.VangelisVirus],\n defense_exp_mult: 1.1,\n dexterity_exp_mult: 1.1,\n bladeburner_analysis_mult: 1.15,\n bladeburner_success_chance_mult: 1.05,\n isSpecial: true,\n });\n VangelisVirus3.addToFactions([BladeburnersFactionName]);\n resetAugmentation(VangelisVirus3);\n\n const INTERLINKED = new Augmentation({\n name: AugmentationNames.INTERLINKED,\n repCost: 2.5e4,\n moneyCost: 5.5e9,\n info:\n \"The DNA is genetically modified to enhance the human's body \" +\n \"extracellular matrix (ECM). This improves the ECM's ability to \" +\n \"structurally support the body and grants heightened strength and \" +\n \"durability.\",\n strength_exp_mult: 1.05,\n defense_exp_mult: 1.05,\n dexterity_exp_mult: 1.05,\n agility_exp_mult: 1.05,\n bladeburner_max_stamina_mult: 1.1,\n isSpecial: true,\n });\n INTERLINKED.addToFactions([BladeburnersFactionName]);\n resetAugmentation(INTERLINKED);\n\n const BladeRunner = new Augmentation({\n name: AugmentationNames.BladeRunner,\n repCost: 2e4,\n moneyCost: 8.25e9,\n info:\n \"A cybernetic foot augmentation that was specifically created for Bladeburners \" +\n \"during the Synthoid Uprising. The organic musculature of the human foot \" +\n \"is enhanced with flexible carbon nanotube matrices that are controlled by \" +\n \"intelligent servo-motors.\",\n agility_mult: 1.05,\n bladeburner_max_stamina_mult: 1.05,\n bladeburner_stamina_gain_mult: 1.05,\n isSpecial: true,\n });\n BladeRunner.addToFactions([BladeburnersFactionName]);\n resetAugmentation(BladeRunner);\n\n const BladeArmor = new Augmentation({\n name: AugmentationNames.BladeArmor,\n repCost: 1.25e4,\n moneyCost: 1.375e9,\n info:\n \"A powered exoskeleton suit designed as armor for Bladeburner units. This \" +\n \"exoskeleton is incredibly adaptable and can protect the wearer from blunt, piercing, \" +\n \"concussive, thermal, chemical, and electric trauma. It also enhances the user's \" +\n \"physical abilities.\",\n strength_mult: 1.04,\n defense_mult: 1.04,\n dexterity_mult: 1.04,\n agility_mult: 1.04,\n bladeburner_stamina_gain_mult: 1.02,\n bladeburner_success_chance_mult: 1.03,\n isSpecial: true,\n });\n BladeArmor.addToFactions([BladeburnersFactionName]);\n resetAugmentation(BladeArmor);\n\n const BladeArmorPowerCells = new Augmentation({\n name: AugmentationNames.BladeArmorPowerCells,\n repCost: 1.875e4,\n moneyCost: 2.75e9,\n info:\n \"Upgrades the BLADE-51b Tesla Armor with Ion Power Cells, which are capable of \" +\n \"more efficiently storing and using power.\",\n prereqs: [AugmentationNames.BladeArmor],\n bladeburner_success_chance_mult: 1.05,\n bladeburner_stamina_gain_mult: 1.02,\n bladeburner_max_stamina_mult: 1.05,\n isSpecial: true,\n });\n BladeArmorPowerCells.addToFactions([BladeburnersFactionName]);\n resetAugmentation(BladeArmorPowerCells);\n\n const BladeArmorEnergyShielding = new Augmentation({\n name: AugmentationNames.BladeArmorEnergyShielding,\n repCost: 2.125e4,\n moneyCost: 5.5e9,\n info:\n \"Upgrades the BLADE-51b Tesla Armor with a plasma energy propulsion system \" +\n \"that is capable of projecting an energy shielding force field.\",\n prereqs: [AugmentationNames.BladeArmor],\n defense_mult: 1.05,\n bladeburner_success_chance_mult: 1.06,\n isSpecial: true,\n });\n BladeArmorEnergyShielding.addToFactions([BladeburnersFactionName]);\n resetAugmentation(BladeArmorEnergyShielding);\n\n const BladeArmorUnibeam = new Augmentation({\n name: AugmentationNames.BladeArmorUnibeam,\n repCost: 3.125e4,\n moneyCost: 1.65e10,\n info:\n \"Upgrades the BLADE-51b Tesla Armor with a concentrated deuterium-fluoride laser \" +\n \"weapon. It's precision and accuracy makes it useful for quickly neutralizing \" +\n \"threats while keeping casualties to a minimum.\",\n prereqs: [AugmentationNames.BladeArmor],\n bladeburner_success_chance_mult: 1.08,\n isSpecial: true,\n });\n BladeArmorUnibeam.addToFactions([BladeburnersFactionName]);\n resetAugmentation(BladeArmorUnibeam);\n\n const BladeArmorOmnibeam = new Augmentation({\n name: AugmentationNames.BladeArmorOmnibeam,\n repCost: 6.25e4,\n moneyCost: 2.75e10,\n info:\n \"Upgrades the BLADE-51b Tesla Armor Unibeam augmentation to use a \" +\n \"multiple-fiber system. This upgraded weapon uses multiple fiber laser \" +\n \"modules that combine together to form a single, more powerful beam of up to \" +\n \"2000MW.\",\n prereqs: [AugmentationNames.BladeArmorUnibeam],\n bladeburner_success_chance_mult: 1.1,\n isSpecial: true,\n });\n BladeArmorOmnibeam.addToFactions([BladeburnersFactionName]);\n resetAugmentation(BladeArmorOmnibeam);\n\n const BladeArmorIPU = new Augmentation({\n name: AugmentationNames.BladeArmorIPU,\n repCost: 1.5e4,\n moneyCost: 1.1e9,\n info:\n \"Upgrades the BLADE-51b Tesla Armor with an AI Information Processing \" +\n \"Unit that was specially designed to analyze Synthoid related data and \" +\n \"information.\",\n prereqs: [AugmentationNames.BladeArmor],\n bladeburner_analysis_mult: 1.15,\n bladeburner_success_chance_mult: 1.02,\n isSpecial: true,\n });\n BladeArmorIPU.addToFactions([BladeburnersFactionName]);\n resetAugmentation(BladeArmorIPU);\n\n const BladesSimulacrum = new Augmentation({\n name: AugmentationNames.BladesSimulacrum,\n repCost: 1.25e3,\n moneyCost: 1.5e11,\n info:\n \"A highly-advanced matter phase-shifter module that is embedded \" +\n \"in the brainstem and cerebellum. This augmentation allows \" +\n \"the user to project and control a holographic simulacrum within an \" +\n \"extremely large radius. These specially-modified holograms were specifically \" +\n \"weaponized by Bladeburner units to be used against Synthoids.\",\n stats: (\n <>\n This augmentation allows you to perform Bladeburner actions and other actions (such as working, commiting\n crimes, etc.) at the same time.\n >\n ),\n isSpecial: true,\n });\n BladesSimulacrum.addToFactions([BladeburnersFactionName]);\n resetAugmentation(BladesSimulacrum);\n }\n\n // Update costs based on how many have been purchased\n mult = Math.pow(\n CONSTANTS.MultipleAugMultiplier * [1, 0.96, 0.94, 0.93][SourceFileFlags[11]],\n Player.queuedAugmentations.length,\n );\n for (const name in Augmentations) {\n if (Augmentations.hasOwnProperty(name)) {\n Augmentations[name].baseCost *= mult;\n }\n }\n\n Player.reapplyAllAugmentations();\n}\n\n//Resets an Augmentation during (re-initizliation)\nfunction resetAugmentation(newAugObject: Augmentation): void {\n if (!(newAugObject instanceof Augmentation)) {\n throw new Error(\"Invalid argument 'newAugObject' passed into resetAugmentation\");\n }\n const name = newAugObject.name;\n if (augmentationExists(name)) {\n delete Augmentations[name];\n }\n AddToAugmentations(newAugObject);\n}\n\nfunction applyAugmentation(aug: IPlayerOwnedAugmentation, reapply = false): void {\n Augmentations[aug.name].owned = true;\n\n const augObj = Augmentations[aug.name];\n\n // Apply multipliers\n for (const mult in augObj.mults) {\n const v = Player.getMult(mult) * augObj.mults[mult];\n Player.setMult(mult, v);\n }\n\n // Special logic for NeuroFlux Governor\n if (aug.name === AugmentationNames.NeuroFluxGovernor) {\n if (!reapply) {\n Augmentations[aug.name].level = aug.level;\n for (let i = 0; i < Player.augmentations.length; ++i) {\n if (Player.augmentations[i].name == AugmentationNames.NeuroFluxGovernor) {\n Player.augmentations[i].level = aug.level;\n return;\n // break;\n }\n }\n }\n }\n\n // Push onto Player's Augmentation list\n if (!reapply) {\n const ownedAug = new PlayerOwnedAugmentation(aug.name);\n Player.augmentations.push(ownedAug);\n }\n}\n\nfunction installAugmentations(): boolean {\n if (Player.queuedAugmentations.length == 0) {\n dialogBoxCreate(\"You have not purchased any Augmentations to install!\");\n return false;\n }\n let augmentationList = \"\";\n let nfgIndex = -1;\n for (let i = Player.queuedAugmentations.length - 1; i >= 0; i--) {\n if (Player.queuedAugmentations[i].name === AugmentationNames.NeuroFluxGovernor) {\n nfgIndex = i;\n break;\n }\n }\n for (let i = 0; i < Player.queuedAugmentations.length; ++i) {\n const ownedAug = Player.queuedAugmentations[i];\n const aug = Augmentations[ownedAug.name];\n if (aug == null) {\n console.error(`Invalid augmentation: ${ownedAug.name}`);\n continue;\n }\n\n applyAugmentation(Player.queuedAugmentations[i]);\n if (ownedAug.name === AugmentationNames.NeuroFluxGovernor && i !== nfgIndex) continue;\n\n let level = \"\";\n if (ownedAug.name === AugmentationNames.NeuroFluxGovernor) {\n level = ` - ${ownedAug.level}`;\n }\n augmentationList += aug.name + level + \"
\";\n }\n Player.queuedAugmentations = [];\n dialogBoxCreate(\n \"You slowly drift to sleep as scientists put you under in order \" +\n \"to install the following Augmentations:
\" +\n augmentationList +\n \"
You wake up in your home...you feel different...\",\n );\n prestigeAugmentation();\n return true;\n}\n\nfunction augmentationExists(name: string): boolean {\n return Augmentations.hasOwnProperty(name);\n}\n\nexport function isRepeatableAug(aug: Augmentation): boolean {\n const augName = aug instanceof Augmentation ? aug.name : aug;\n\n if (augName === AugmentationNames.NeuroFluxGovernor) {\n return true;\n }\n\n return false;\n}\n\nexport { installAugmentations, initAugmentations, applyAugmentation, augmentationExists };\n","export interface IMults {\n hack?: number;\n str?: number;\n def?: number;\n dex?: number;\n agi?: number;\n cha?: number;\n}\n\nexport enum UpgradeType {\n Weapon = \"w\",\n Armor = \"a\",\n Vehicle = \"v\",\n Rootkit = \"r\",\n Augmentation = \"g\",\n}\n\n/**\n * Defines the parameters that can be used to initialize and describe a GangMemberUpgrade\n * (defined in Gang.js)\n */\nexport interface IGangMemberUpgradeMetadata {\n cost: number;\n mults: IMults;\n name: string;\n upgType: UpgradeType;\n}\n\n/**\n * Array of metadata for all Gang Member upgrades. Used to construct the global GangMemberUpgrade\n * objects in Gang.js\n */\nexport const gangMemberUpgradesMetadata: IGangMemberUpgradeMetadata[] = [\n {\n cost: 1e6,\n mults: { str: 1.04, def: 1.04 },\n name: \"Baseball Bat\",\n upgType: UpgradeType.Weapon,\n },\n {\n cost: 12e6,\n mults: { str: 1.08, def: 1.08, dex: 1.08 },\n name: \"Katana\",\n upgType: UpgradeType.Weapon,\n },\n {\n cost: 25e6,\n mults: { str: 1.1, def: 1.1, dex: 1.1, agi: 1.1 },\n name: \"Glock 18C\",\n upgType: UpgradeType.Weapon,\n },\n {\n cost: 50e6,\n mults: { str: 1.12, def: 1.1, agi: 1.1 },\n name: \"P90C\",\n upgType: UpgradeType.Weapon,\n },\n {\n cost: 60e6,\n mults: { str: 1.2, def: 1.15 },\n name: \"Steyr AUG\",\n upgType: UpgradeType.Weapon,\n },\n {\n cost: 100e6,\n mults: { str: 1.25, def: 1.2 },\n name: \"AK-47\",\n upgType: UpgradeType.Weapon,\n },\n {\n cost: 150e6,\n mults: { str: 1.3, def: 1.25 },\n name: \"M15A10 Assault Rifle\",\n upgType: UpgradeType.Weapon,\n },\n {\n cost: 225e6,\n mults: { str: 1.3, dex: 1.25, agi: 1.3 },\n name: \"AWM Sniper Rifle\",\n upgType: UpgradeType.Weapon,\n },\n {\n cost: 2e6,\n mults: { def: 1.04 },\n name: \"Bulletproof Vest\",\n upgType: UpgradeType.Armor,\n },\n {\n cost: 5e6,\n mults: { def: 1.08 },\n name: \"Full Body Armor\",\n upgType: UpgradeType.Armor,\n },\n {\n cost: 25e6,\n mults: { def: 1.15, agi: 1.15 },\n name: \"Liquid Body Armor\",\n upgType: UpgradeType.Armor,\n },\n {\n cost: 40e6,\n mults: { def: 1.2 },\n name: \"Graphene Plating Armor\",\n upgType: UpgradeType.Armor,\n },\n {\n cost: 3e6,\n mults: { agi: 1.04, cha: 1.04 },\n name: \"Ford Flex V20\",\n upgType: UpgradeType.Vehicle,\n },\n {\n cost: 9e6,\n mults: { agi: 1.08, cha: 1.08 },\n name: \"ATX1070 Superbike\",\n upgType: UpgradeType.Vehicle,\n },\n {\n cost: 18e6,\n mults: { agi: 1.12, cha: 1.12 },\n name: \"Mercedes-Benz S9001\",\n upgType: UpgradeType.Vehicle,\n },\n {\n cost: 30e6,\n mults: { agi: 1.16, cha: 1.16 },\n name: \"White Ferrari\",\n upgType: UpgradeType.Vehicle,\n },\n {\n cost: 5e6,\n mults: { hack: 1.05 },\n name: \"NUKE Rootkit\",\n upgType: UpgradeType.Rootkit,\n },\n {\n cost: 25e6,\n mults: { hack: 1.1 },\n name: \"Soulstealer Rootkit\",\n upgType: UpgradeType.Rootkit,\n },\n {\n cost: 75e6,\n mults: { hack: 1.15 },\n name: \"Demon Rootkit\",\n upgType: UpgradeType.Rootkit,\n },\n {\n cost: 40e6,\n mults: { hack: 1.12 },\n name: \"Hmap Node\",\n upgType: UpgradeType.Rootkit,\n },\n {\n cost: 75e6,\n mults: { hack: 1.15 },\n name: \"Jack the Ripper\",\n upgType: UpgradeType.Rootkit,\n },\n {\n cost: 10e9,\n mults: { str: 1.3, dex: 1.3 },\n name: \"Bionic Arms\",\n upgType: UpgradeType.Augmentation,\n },\n {\n cost: 10e9,\n mults: { agi: 1.6 },\n name: \"Bionic Legs\",\n upgType: UpgradeType.Augmentation,\n },\n {\n cost: 15e9,\n mults: { str: 1.15, def: 1.15, dex: 1.15, agi: 1.15 },\n name: \"Bionic Spine\",\n upgType: UpgradeType.Augmentation,\n },\n {\n cost: 20e9,\n mults: { str: 1.4, def: 1.4 },\n name: \"BrachiBlades\",\n upgType: UpgradeType.Augmentation,\n },\n {\n cost: 12e9,\n mults: { str: 1.2, def: 1.2 },\n name: \"Nanofiber Weave\",\n upgType: UpgradeType.Augmentation,\n },\n {\n cost: 25e9,\n mults: { str: 1.5, agi: 1.5 },\n name: \"Synthetic Heart\",\n upgType: UpgradeType.Augmentation,\n },\n {\n cost: 15e9,\n mults: { str: 1.3, def: 1.3 },\n name: \"Synfibril Muscle\",\n upgType: UpgradeType.Augmentation,\n },\n {\n cost: 5e9,\n mults: { hack: 1.05 },\n name: \"BitWire\",\n upgType: UpgradeType.Augmentation,\n },\n {\n cost: 10e9,\n mults: { hack: 1.15 },\n name: \"Neuralstimulator\",\n upgType: UpgradeType.Augmentation,\n },\n {\n cost: 7.5e9,\n mults: { hack: 1.1 },\n name: \"DataJack\",\n upgType: UpgradeType.Augmentation,\n },\n {\n cost: 50e9,\n mults: { str: 1.7, def: 1.7 },\n name: \"Graphene Bone Lacings\",\n upgType: UpgradeType.Augmentation,\n },\n];\n","import { IMap } from \"../types\";\n\n// Map of material (by name) to their sizes (how much space it takes in warehouse)\nexport const MaterialSizes: IMap = {\n Water: 0.05,\n Energy: 0.01,\n Food: 0.03,\n Plants: 0.05,\n Metal: 0.1,\n Hardware: 0.06,\n Chemicals: 0.05,\n Drugs: 0.02,\n Robots: 0.5,\n AICores: 0.1,\n RealEstate: 0,\n \"Real Estate\": 0,\n \"AI Cores\": 0,\n};\n","/**\n * Functions for handling WorkerScripts, which are the underlying mechanism\n * that allows for scripts to run\n */\nimport { killWorkerScript } from \"./Netscript/killWorkerScript\";\nimport { WorkerScript } from \"./Netscript/WorkerScript\";\nimport { workerScripts } from \"./Netscript/WorkerScripts\";\nimport { WorkerScriptStartStopEventEmitter } from \"./Netscript/WorkerScriptStartStopEventEmitter\";\nimport { generateNextPid } from \"./Netscript/Pid\";\n\nimport { CONSTANTS } from \"./Constants\";\nimport { Interpreter } from \"./ThirdParty/JSInterpreter\";\nimport { isScriptErrorMessage, makeRuntimeRejectMsg } from \"./NetscriptEvaluator\";\nimport { NetscriptFunctions } from \"./NetscriptFunctions\";\nimport { executeJSScript } from \"./NetscriptJSEvaluator\";\nimport { NetscriptPort, IPort } from \"./NetscriptPort\";\nimport { RunningScript } from \"./Script/RunningScript\";\nimport { getRamUsageFromRunningScript } from \"./Script/RunningScriptHelpers\";\nimport { scriptCalculateOfflineProduction } from \"./Script/ScriptHelpers\";\nimport { Script } from \"./Script/Script\";\nimport { AllServers } from \"./Server/AllServers\";\nimport { BaseServer } from \"./Server/BaseServer\";\nimport { Settings } from \"./Settings/Settings\";\nimport { setTimeoutRef } from \"./utils/SetTimeoutRef\";\n\nimport { generate } from \"escodegen\";\n\nimport { dialogBoxCreate } from \"./ui/React/DialogBox\";\nimport { arrayToString } from \"./utils/helpers/arrayToString\";\nimport { roundToTwo } from \"./utils/helpers/roundToTwo\";\nimport { isString } from \"./utils/helpers/isString\";\nimport { sprintf } from \"sprintf-js\";\n\nimport { parse } from \"acorn\";\nimport { simple as walksimple } from \"acorn-walk\";\n\n// Netscript Ports are instantiated here\nexport const NetscriptPorts: IPort[] = [];\nfor (let i = 0; i < CONSTANTS.NumNetscriptPorts; ++i) {\n NetscriptPorts.push(NetscriptPort());\n}\n\nexport function prestigeWorkerScripts(): void {\n for (const ws of workerScripts.values()) {\n ws.env.stopFlag = true;\n killWorkerScript(ws);\n }\n\n WorkerScriptStartStopEventEmitter.emit();\n workerScripts.clear();\n}\n\n// JS script promises need a little massaging to have the same guarantees as netscript\n// promises. This does said massaging and kicks the script off. It returns a promise\n// that resolves or rejects when the corresponding worker script is done.\nfunction startNetscript2Script(workerScript: WorkerScript): Promise {\n workerScript.running = true;\n\n // The name of the currently running netscript function, to prevent concurrent\n // calls to hack, grow, etc.\n let runningFn: string | null = null;\n\n // We need to go through the environment and wrap each function in such a way that it\n // can be called at most once at a time. This will prevent situations where multiple\n // hack promises are outstanding, for example.\n function wrap(propName: string, f: (...args: any[]) => Promise): (...args: any[]) => Promise {\n // This function unfortunately cannot be an async function, because we don't\n // know if the original one was, and there's no way to tell.\n return function (...args: any[]) {\n // Wrap every netscript function with a check for the stop flag.\n // This prevents cases where we never stop because we are only calling\n // netscript functions that don't check this.\n // This is not a problem for legacy Netscript because it also checks the\n // stop flag in the evaluator.\n if (workerScript.env.stopFlag) {\n throw workerScript;\n }\n\n if (propName === \"sleep\") return f(...args); // OK for multiple simultaneous calls to sleep.\n\n const msg =\n \"Concurrent calls to Netscript functions not allowed! \" +\n \"Did you forget to await hack(), grow(), or some other \" +\n \"promise-returning function? (Currently running: %s tried to run: %s)\";\n if (runningFn) {\n workerScript.errorMessage = makeRuntimeRejectMsg(workerScript, sprintf(msg, runningFn, propName));\n throw workerScript;\n }\n runningFn = propName;\n\n // If the function throws an error, clear the runningFn flag first, and then re-throw it\n // This allows people to properly catch errors thrown by NS functions without getting\n // the concurrent call error above\n let result;\n try {\n result = f(...args);\n } catch (e) {\n runningFn = null;\n throw e;\n }\n\n if (result && result.finally !== undefined) {\n return result.finally(function () {\n runningFn = null;\n });\n } else {\n runningFn = null;\n return result;\n }\n };\n }\n\n for (const prop in workerScript.env.vars) {\n if (typeof workerScript.env.vars[prop] !== \"function\") continue;\n workerScript.env.vars[prop] = wrap(prop, workerScript.env.vars[prop]);\n }\n\n // Note: the environment that we pass to the JS script only needs to contain the functions visible\n // to that script, which env.vars does at this point.\n return new Promise