From 920bfb79136f369880072682e820a1e0a134418f Mon Sep 17 00:00:00 2001 From: danielyxie Date: Mon, 5 Feb 2018 13:56:07 -0600 Subject: [PATCH 1/4] Fixed bug with Advert Inc upgrade not working properly because I used Math.random instead of getRandomInt. --- dist/bundle.js | 4 ++-- src/CompanyManagement.js | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/dist/bundle.js b/dist/bundle.js index ea4188fc7..bab693eec 100644 --- a/dist/bundle.js +++ b/dist/bundle.js @@ -39837,7 +39837,7 @@ var IndustryUpgrades = { "AdVert.Inc", "Hire AdVert.Inc to advertise your company. Each level of " + "this upgrade grants your company a static increase of 4 and 1 to its awareness and " + "popularity, respectively. It will then increase your company's awareness by 1%, and its popularity " + - "by a random percentage between 5% and 15%. These effects are increased by other upgrades " + + "by a random percentage between 5% and 10%. These effects are increased by other upgrades " + "that increase the power of your advertising."] } @@ -40736,7 +40736,7 @@ Industry.prototype.upgrade = function(upgrade, refs) { this.awareness += (4 * advMult); this.popularity += (1 * advMult); this.awareness *= (1.01 * advMult); - this.popularity *= ((1 + Math.random(5, 15) / 100) * advMult); + this.popularity *= ((1 + Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["g" /* getRandomInt */])(5, 10) / 100) * advMult); break; default: console.log("ERROR: Un-implemented function index: " + upgN); diff --git a/src/CompanyManagement.js b/src/CompanyManagement.js index 611e0930f..16951eb95 100644 --- a/src/CompanyManagement.js +++ b/src/CompanyManagement.js @@ -537,7 +537,7 @@ var IndustryUpgrades = { "AdVert.Inc", "Hire AdVert.Inc to advertise your company. Each level of " + "this upgrade grants your company a static increase of 4 and 1 to its awareness and " + "popularity, respectively. It will then increase your company's awareness by 1%, and its popularity " + - "by a random percentage between 5% and 15%. These effects are increased by other upgrades " + + "by a random percentage between 5% and 10%. These effects are increased by other upgrades " + "that increase the power of your advertising."] } @@ -1436,7 +1436,7 @@ Industry.prototype.upgrade = function(upgrade, refs) { this.awareness += (4 * advMult); this.popularity += (1 * advMult); this.awareness *= (1.01 * advMult); - this.popularity *= ((1 + Math.random(5, 15) / 100) * advMult); + this.popularity *= ((1 + getRandomInt(5, 10) / 100) * advMult); break; default: console.log("ERROR: Un-implemented function index: " + upgN); From dc26d831d6bb52700dd4b9e85f4c8dc2a06861f9 Mon Sep 17 00:00:00 2001 From: danielyxie Date: Fri, 9 Feb 2018 15:11:43 -0600 Subject: [PATCH 2/4] Reworked Gang UI --- dist/bundle.js | 1390 +++++++++++++++++++++----------------- src/Gang.js | 597 ++++++++++------ utils/HelperFunctions.js | 14 +- 3 files changed, 1173 insertions(+), 828 deletions(-) diff --git a/dist/bundle.js b/dist/bundle.js index bab693eec..84e33ac60 100644 --- a/dist/bundle.js +++ b/dist/bundle.js @@ -2514,16 +2514,17 @@ function dialogBoxCreate(txt) { /* unused harmony export sizeOfObject */ /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return addOffset; }); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "b", function() { return clearEventListeners; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "g", function() { return getRandomInt; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "h", function() { return getRandomInt; }); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "d", function() { return compareArrays; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "i", function() { return printArray; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "h", function() { return powerOfTwo; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "j", function() { return printArray; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "i", function() { return powerOfTwo; }); /* unused harmony export clearEventListenersEl */ -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "k", function() { return removeElementById; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "e", function() { return createElement; }); -/* unused harmony export createAccordionElement */ -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "j", function() { return removeChildrenFromElement; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "f", function() { return createPopup; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "l", function() { return removeElementById; }); +/* unused harmony export removeElement */ +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "f", function() { return createElement; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "e", function() { return createAccordionElement; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "k", function() { return removeChildrenFromElement; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "g", function() { return createPopup; }); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "c", function() { return clearSelector; }); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__StringHelperFunctions_js__ = __webpack_require__(4); //General helper functions @@ -2575,6 +2576,12 @@ function removeElementById(id) { elem.parentNode.removeChild(elem); } +function removeElement(elem) { + if (elem == null) {return;} + while(elem.firstChild) {elem.removeChild(elem.firstChild);} + elem.parentNode.removeChild(elem); +} + function removeChildrenFromElement(el) { if (Object(__WEBPACK_IMPORTED_MODULE_0__StringHelperFunctions_js__["f" /* isString */])(el)) { el = document.getElementById(el); @@ -2634,6 +2641,9 @@ function createElement(type, params) { if (params.changeListener) { el.addEventListener("change", params.changeListener); } + if (params.onkeyup) { + el.addEventListener("keyup", params.onkeyup); + } return el; } @@ -2655,7 +2665,6 @@ function createPopup(id, elems) { } //Creates both the header and panel element of an accordion and sets the click handler -//Returns the 'li' element that contains the hedaer and panel function createAccordionElement(params) { var li = document.createElement("li"), hdr = document.createElement("button"), @@ -2681,7 +2690,7 @@ function createAccordionElement(params) { tmpPanel.style.display = "block"; } } - return li; + return [li, hdr, panel]; } function clearSelector(selector) { @@ -4555,7 +4564,7 @@ let Engine = { /* Display character info */ displayCharacterInfo: function() { - Object(__WEBPACK_IMPORTED_MODULE_2__utils_HelperFunctions_js__["j" /* removeChildrenFromElement */])(Engine.Display.characterInfo); + Object(__WEBPACK_IMPORTED_MODULE_2__utils_HelperFunctions_js__["k" /* removeChildrenFromElement */])(Engine.Display.characterInfo); var companyPosition = ""; if (__WEBPACK_IMPORTED_MODULE_23__Player_js__["a" /* Player */].companyPosition != "") { @@ -4567,7 +4576,7 @@ let Engine = { intText = 'Intelligence: ' + (__WEBPACK_IMPORTED_MODULE_23__Player_js__["a" /* Player */].intelligence).toLocaleString() + "


"; } - Engine.Display.characterInfo.appendChild(Object(__WEBPACK_IMPORTED_MODULE_2__utils_HelperFunctions_js__["e" /* createElement */])("pre", { + Engine.Display.characterInfo.appendChild(Object(__WEBPACK_IMPORTED_MODULE_2__utils_HelperFunctions_js__["f" /* createElement */])("pre", { innerHTML: 'General

' + 'Current City: ' + __WEBPACK_IMPORTED_MODULE_23__Player_js__["a" /* Player */].city + '

' + @@ -4626,13 +4635,13 @@ let Engine = { if (__WEBPACK_IMPORTED_MODULE_23__Player_js__["a" /* Player */].sourceFiles.length !== 0) { var index = "BitNode" + __WEBPACK_IMPORTED_MODULE_23__Player_js__["a" /* Player */].bitNodeN; - Engine.Display.characterInfo.appendChild(Object(__WEBPACK_IMPORTED_MODULE_2__utils_HelperFunctions_js__["e" /* createElement */])("p", { + Engine.Display.characterInfo.appendChild(Object(__WEBPACK_IMPORTED_MODULE_2__utils_HelperFunctions_js__["f" /* createElement */])("p", { width:"60%", innerHTML: "
Current BitNode: " + __WEBPACK_IMPORTED_MODULE_23__Player_js__["a" /* Player */].bitNodeN + " (" + __WEBPACK_IMPORTED_MODULE_8__BitNode_js__["b" /* BitNodes */][index].name + ")

", })); - Engine.Display.characterInfo.appendChild(Object(__WEBPACK_IMPORTED_MODULE_2__utils_HelperFunctions_js__["e" /* createElement */])("p", { + Engine.Display.characterInfo.appendChild(Object(__WEBPACK_IMPORTED_MODULE_2__utils_HelperFunctions_js__["f" /* createElement */])("p", { width:"60%", fontSize: "13px", marginLeft:"4%", innerHTML:__WEBPACK_IMPORTED_MODULE_8__BitNode_js__["b" /* BitNodes */][index].info, })) @@ -4691,8 +4700,8 @@ let Engine = { var genericLocationsList = document.getElementById("generic-locations-list"); genericLocationsList.style.display = "inline"; if (__WEBPACK_IMPORTED_MODULE_23__Player_js__["a" /* Player */].corporation instanceof __WEBPACK_IMPORTED_MODULE_10__CompanyManagement_js__["a" /* Corporation */] && document.getElementById("location-corporation-button") == null) { - var li = Object(__WEBPACK_IMPORTED_MODULE_2__utils_HelperFunctions_js__["e" /* createElement */])("li", {}); - li.appendChild(Object(__WEBPACK_IMPORTED_MODULE_2__utils_HelperFunctions_js__["e" /* createElement */])("a", { + var li = Object(__WEBPACK_IMPORTED_MODULE_2__utils_HelperFunctions_js__["f" /* createElement */])("li", {}); + li.appendChild(Object(__WEBPACK_IMPORTED_MODULE_2__utils_HelperFunctions_js__["f" /* createElement */])("a", { innerText:__WEBPACK_IMPORTED_MODULE_23__Player_js__["a" /* Player */].corporation.name, id:"location-corporation-button", class:"a-link-button", clickListener:()=>{ @@ -6024,210 +6033,210 @@ __WEBPACK_IMPORTED_MODULE_8__utils_JSONReviver_js__["c" /* Reviver */].construct function initForeignServers() { //MegaCorporations var ECorpServer = new Server(Object(__WEBPACK_IMPORTED_MODULE_7__utils_IPAddress_js__["a" /* createRandomIp */])(), "ecorp", "ECorp", false, false, false, 0); - ECorpServer.setHackingParameters(Object(__WEBPACK_IMPORTED_MODULE_6__utils_HelperFunctions_js__["g" /* getRandomInt */])(1150, 1300), Object(__WEBPACK_IMPORTED_MODULE_6__utils_HelperFunctions_js__["g" /* getRandomInt */])(30000000000, 70000000000), 99, 99); + ECorpServer.setHackingParameters(Object(__WEBPACK_IMPORTED_MODULE_6__utils_HelperFunctions_js__["h" /* getRandomInt */])(1150, 1300), Object(__WEBPACK_IMPORTED_MODULE_6__utils_HelperFunctions_js__["h" /* getRandomInt */])(30000000000, 70000000000), 99, 99); ECorpServer.setPortProperties(5); AddToAllServers(ECorpServer); var MegaCorpServer = new Server(Object(__WEBPACK_IMPORTED_MODULE_7__utils_IPAddress_js__["a" /* createRandomIp */])(), "megacorp", "MegaCorp", false, false, false, 0); - MegaCorpServer.setHackingParameters(Object(__WEBPACK_IMPORTED_MODULE_6__utils_HelperFunctions_js__["g" /* getRandomInt */])(1150, 1300), Object(__WEBPACK_IMPORTED_MODULE_6__utils_HelperFunctions_js__["g" /* getRandomInt */])(40000000000, 60000000000), 99, 99); + MegaCorpServer.setHackingParameters(Object(__WEBPACK_IMPORTED_MODULE_6__utils_HelperFunctions_js__["h" /* getRandomInt */])(1150, 1300), Object(__WEBPACK_IMPORTED_MODULE_6__utils_HelperFunctions_js__["h" /* getRandomInt */])(40000000000, 60000000000), 99, 99); MegaCorpServer.setPortProperties(5); AddToAllServers(MegaCorpServer); var BachmanAndAssociatesServer = new Server(Object(__WEBPACK_IMPORTED_MODULE_7__utils_IPAddress_js__["a" /* createRandomIp */])(), "b-and-a", "Bachman & Associates", false, false, false, 0); - BachmanAndAssociatesServer.setHackingParameters(Object(__WEBPACK_IMPORTED_MODULE_6__utils_HelperFunctions_js__["g" /* getRandomInt */])(1000, 1050), Object(__WEBPACK_IMPORTED_MODULE_6__utils_HelperFunctions_js__["g" /* getRandomInt */])(20000000000, 25000000000), Object(__WEBPACK_IMPORTED_MODULE_6__utils_HelperFunctions_js__["g" /* getRandomInt */])(75, 85), Object(__WEBPACK_IMPORTED_MODULE_6__utils_HelperFunctions_js__["g" /* getRandomInt */])(65, 75)); + BachmanAndAssociatesServer.setHackingParameters(Object(__WEBPACK_IMPORTED_MODULE_6__utils_HelperFunctions_js__["h" /* getRandomInt */])(1000, 1050), Object(__WEBPACK_IMPORTED_MODULE_6__utils_HelperFunctions_js__["h" /* getRandomInt */])(20000000000, 25000000000), Object(__WEBPACK_IMPORTED_MODULE_6__utils_HelperFunctions_js__["h" /* getRandomInt */])(75, 85), Object(__WEBPACK_IMPORTED_MODULE_6__utils_HelperFunctions_js__["h" /* getRandomInt */])(65, 75)); BachmanAndAssociatesServer.setPortProperties(5); AddToAllServers(BachmanAndAssociatesServer); var BladeIndustriesServer = new Server(Object(__WEBPACK_IMPORTED_MODULE_7__utils_IPAddress_js__["a" /* createRandomIp */])(), "blade", "Blade Industries", false, false, false, 2); - BladeIndustriesServer.setHackingParameters(Object(__WEBPACK_IMPORTED_MODULE_6__utils_HelperFunctions_js__["g" /* getRandomInt */])(1000, 1100), Object(__WEBPACK_IMPORTED_MODULE_6__utils_HelperFunctions_js__["g" /* getRandomInt */])(12000000000, 20000000000), Object(__WEBPACK_IMPORTED_MODULE_6__utils_HelperFunctions_js__["g" /* getRandomInt */])(90, 95), Object(__WEBPACK_IMPORTED_MODULE_6__utils_HelperFunctions_js__["g" /* getRandomInt */])(60, 75)); + BladeIndustriesServer.setHackingParameters(Object(__WEBPACK_IMPORTED_MODULE_6__utils_HelperFunctions_js__["h" /* getRandomInt */])(1000, 1100), Object(__WEBPACK_IMPORTED_MODULE_6__utils_HelperFunctions_js__["h" /* getRandomInt */])(12000000000, 20000000000), Object(__WEBPACK_IMPORTED_MODULE_6__utils_HelperFunctions_js__["h" /* getRandomInt */])(90, 95), Object(__WEBPACK_IMPORTED_MODULE_6__utils_HelperFunctions_js__["h" /* getRandomInt */])(60, 75)); BladeIndustriesServer.setPortProperties(5); BladeIndustriesServer.messages.push("beyond-man.lit"); AddToAllServers(BladeIndustriesServer); var NWOServer = new Server(Object(__WEBPACK_IMPORTED_MODULE_7__utils_IPAddress_js__["a" /* createRandomIp */])(), "nwo", "New World Order", false, false, false, 2); - NWOServer.setHackingParameters(Object(__WEBPACK_IMPORTED_MODULE_6__utils_HelperFunctions_js__["g" /* getRandomInt */])(1000, 1200), Object(__WEBPACK_IMPORTED_MODULE_6__utils_HelperFunctions_js__["g" /* getRandomInt */])(25000000000, 35000000000), 99, Object(__WEBPACK_IMPORTED_MODULE_6__utils_HelperFunctions_js__["g" /* getRandomInt */])(75, 85)); + NWOServer.setHackingParameters(Object(__WEBPACK_IMPORTED_MODULE_6__utils_HelperFunctions_js__["h" /* getRandomInt */])(1000, 1200), Object(__WEBPACK_IMPORTED_MODULE_6__utils_HelperFunctions_js__["h" /* getRandomInt */])(25000000000, 35000000000), 99, Object(__WEBPACK_IMPORTED_MODULE_6__utils_HelperFunctions_js__["h" /* getRandomInt */])(75, 85)); NWOServer.setPortProperties(5); NWOServer.messages.push("the-hidden-world.lit"); AddToAllServers(NWOServer); var ClarkeIncorporatedServer = new Server(Object(__WEBPACK_IMPORTED_MODULE_7__utils_IPAddress_js__["a" /* createRandomIp */])(), "clarkeinc", "Clarke Incorporated", false, false, false, 2); - ClarkeIncorporatedServer.setHackingParameters(Object(__WEBPACK_IMPORTED_MODULE_6__utils_HelperFunctions_js__["g" /* getRandomInt */])(1000, 1200), Object(__WEBPACK_IMPORTED_MODULE_6__utils_HelperFunctions_js__["g" /* getRandomInt */])(15000000000, 25000000000), Object(__WEBPACK_IMPORTED_MODULE_6__utils_HelperFunctions_js__["g" /* getRandomInt */])(50, 60), Object(__WEBPACK_IMPORTED_MODULE_6__utils_HelperFunctions_js__["g" /* getRandomInt */])(50, 70)); + ClarkeIncorporatedServer.setHackingParameters(Object(__WEBPACK_IMPORTED_MODULE_6__utils_HelperFunctions_js__["h" /* getRandomInt */])(1000, 1200), Object(__WEBPACK_IMPORTED_MODULE_6__utils_HelperFunctions_js__["h" /* getRandomInt */])(15000000000, 25000000000), Object(__WEBPACK_IMPORTED_MODULE_6__utils_HelperFunctions_js__["h" /* getRandomInt */])(50, 60), Object(__WEBPACK_IMPORTED_MODULE_6__utils_HelperFunctions_js__["h" /* getRandomInt */])(50, 70)); ClarkeIncorporatedServer.setPortProperties(5); ClarkeIncorporatedServer.messages.push("beyond-man.lit"); ClarkeIncorporatedServer.messages.push("cost-of-immortality.lit"); AddToAllServers(ClarkeIncorporatedServer); var OmniTekIncorporatedServer = new Server(Object(__WEBPACK_IMPORTED_MODULE_7__utils_IPAddress_js__["a" /* createRandomIp */])(), "omnitek", "OmniTek Incorporated", false, false, false, 2); - OmniTekIncorporatedServer.setHackingParameters(Object(__WEBPACK_IMPORTED_MODULE_6__utils_HelperFunctions_js__["g" /* getRandomInt */])(900, 1100), Object(__WEBPACK_IMPORTED_MODULE_6__utils_HelperFunctions_js__["g" /* getRandomInt */])(15000000000, 20000000000), Object(__WEBPACK_IMPORTED_MODULE_6__utils_HelperFunctions_js__["g" /* getRandomInt */])(90, 99), Object(__WEBPACK_IMPORTED_MODULE_6__utils_HelperFunctions_js__["g" /* getRandomInt */])(95, 99)); + OmniTekIncorporatedServer.setHackingParameters(Object(__WEBPACK_IMPORTED_MODULE_6__utils_HelperFunctions_js__["h" /* getRandomInt */])(900, 1100), Object(__WEBPACK_IMPORTED_MODULE_6__utils_HelperFunctions_js__["h" /* getRandomInt */])(15000000000, 20000000000), Object(__WEBPACK_IMPORTED_MODULE_6__utils_HelperFunctions_js__["h" /* getRandomInt */])(90, 99), Object(__WEBPACK_IMPORTED_MODULE_6__utils_HelperFunctions_js__["h" /* getRandomInt */])(95, 99)); OmniTekIncorporatedServer.setPortProperties(5); OmniTekIncorporatedServer.messages.push("coded-intelligence.lit"); AddToAllServers(OmniTekIncorporatedServer); var FourSigmaServer = new Server(Object(__WEBPACK_IMPORTED_MODULE_7__utils_IPAddress_js__["a" /* createRandomIp */])(), "4sigma", "FourSigma", false, false, false, 0); - FourSigmaServer.setHackingParameters(Object(__WEBPACK_IMPORTED_MODULE_6__utils_HelperFunctions_js__["g" /* getRandomInt */])(950, 1200), Object(__WEBPACK_IMPORTED_MODULE_6__utils_HelperFunctions_js__["g" /* getRandomInt */])(15000000000, 25000000000), Object(__WEBPACK_IMPORTED_MODULE_6__utils_HelperFunctions_js__["g" /* getRandomInt */])(60, 70), Object(__WEBPACK_IMPORTED_MODULE_6__utils_HelperFunctions_js__["g" /* getRandomInt */])(75, 99)); + FourSigmaServer.setHackingParameters(Object(__WEBPACK_IMPORTED_MODULE_6__utils_HelperFunctions_js__["h" /* getRandomInt */])(950, 1200), Object(__WEBPACK_IMPORTED_MODULE_6__utils_HelperFunctions_js__["h" /* getRandomInt */])(15000000000, 25000000000), Object(__WEBPACK_IMPORTED_MODULE_6__utils_HelperFunctions_js__["h" /* getRandomInt */])(60, 70), Object(__WEBPACK_IMPORTED_MODULE_6__utils_HelperFunctions_js__["h" /* getRandomInt */])(75, 99)); FourSigmaServer.setPortProperties(5); AddToAllServers(FourSigmaServer); var KuaiGongInternationalServer = new Server(Object(__WEBPACK_IMPORTED_MODULE_7__utils_IPAddress_js__["a" /* createRandomIp */])(), "kuai-gong", "KuaiGong International", false, false, false, 0); - KuaiGongInternationalServer.setHackingParameters(Object(__WEBPACK_IMPORTED_MODULE_6__utils_HelperFunctions_js__["g" /* getRandomInt */])(1000, 1250), Object(__WEBPACK_IMPORTED_MODULE_6__utils_HelperFunctions_js__["g" /* getRandomInt */])(20000000000, 30000000000), Object(__WEBPACK_IMPORTED_MODULE_6__utils_HelperFunctions_js__["g" /* getRandomInt */])(95, 99), Object(__WEBPACK_IMPORTED_MODULE_6__utils_HelperFunctions_js__["g" /* getRandomInt */])(90, 99)); + KuaiGongInternationalServer.setHackingParameters(Object(__WEBPACK_IMPORTED_MODULE_6__utils_HelperFunctions_js__["h" /* getRandomInt */])(1000, 1250), Object(__WEBPACK_IMPORTED_MODULE_6__utils_HelperFunctions_js__["h" /* getRandomInt */])(20000000000, 30000000000), Object(__WEBPACK_IMPORTED_MODULE_6__utils_HelperFunctions_js__["h" /* getRandomInt */])(95, 99), Object(__WEBPACK_IMPORTED_MODULE_6__utils_HelperFunctions_js__["h" /* getRandomInt */])(90, 99)); KuaiGongInternationalServer.setPortProperties(5); AddToAllServers(KuaiGongInternationalServer); //Technology and communications companies (large targets) var FulcrumTechnologiesServer = new Server(Object(__WEBPACK_IMPORTED_MODULE_7__utils_IPAddress_js__["a" /* createRandomIp */])(), "fulcrumtech", "Fulcrum Technologies", false, false, false, 64); - FulcrumTechnologiesServer.setHackingParameters(Object(__WEBPACK_IMPORTED_MODULE_6__utils_HelperFunctions_js__["g" /* getRandomInt */])(1000, 1200), Object(__WEBPACK_IMPORTED_MODULE_6__utils_HelperFunctions_js__["g" /* getRandomInt */])(1400000000, 1800000000), Object(__WEBPACK_IMPORTED_MODULE_6__utils_HelperFunctions_js__["g" /* getRandomInt */])(85, 95), Object(__WEBPACK_IMPORTED_MODULE_6__utils_HelperFunctions_js__["g" /* getRandomInt */])(80, 99)); + FulcrumTechnologiesServer.setHackingParameters(Object(__WEBPACK_IMPORTED_MODULE_6__utils_HelperFunctions_js__["h" /* getRandomInt */])(1000, 1200), Object(__WEBPACK_IMPORTED_MODULE_6__utils_HelperFunctions_js__["h" /* getRandomInt */])(1400000000, 1800000000), Object(__WEBPACK_IMPORTED_MODULE_6__utils_HelperFunctions_js__["h" /* getRandomInt */])(85, 95), Object(__WEBPACK_IMPORTED_MODULE_6__utils_HelperFunctions_js__["h" /* getRandomInt */])(80, 99)); FulcrumTechnologiesServer.setPortProperties(5); FulcrumTechnologiesServer.messages.push("simulated-reality.lit"); AddToAllServers(FulcrumTechnologiesServer); var FulcrumSecretTechnologiesServer = new Server(Object(__WEBPACK_IMPORTED_MODULE_7__utils_IPAddress_js__["a" /* createRandomIp */])(), "fulcrumassets", "Fulcrum Technologies Assets", false, false, false, 0); - FulcrumSecretTechnologiesServer.setHackingParameters(Object(__WEBPACK_IMPORTED_MODULE_6__utils_HelperFunctions_js__["g" /* getRandomInt */])(1200, 1500), 1000000, 99, 1); + FulcrumSecretTechnologiesServer.setHackingParameters(Object(__WEBPACK_IMPORTED_MODULE_6__utils_HelperFunctions_js__["h" /* getRandomInt */])(1200, 1500), 1000000, 99, 1); FulcrumSecretTechnologiesServer.setPortProperties(5); AddToAllServers(FulcrumSecretTechnologiesServer); __WEBPACK_IMPORTED_MODULE_5__SpecialServerIps_js__["a" /* SpecialServerIps */].addIp(__WEBPACK_IMPORTED_MODULE_5__SpecialServerIps_js__["b" /* SpecialServerNames */].FulcrumSecretTechnologies, FulcrumSecretTechnologiesServer.ip); var StormTechnologiesServer = new Server(Object(__WEBPACK_IMPORTED_MODULE_7__utils_IPAddress_js__["a" /* createRandomIp */])(), "stormtech", "Storm Technologies", false, false, false, 0); - StormTechnologiesServer.setHackingParameters(Object(__WEBPACK_IMPORTED_MODULE_6__utils_HelperFunctions_js__["g" /* getRandomInt */])(900, 1050), Object(__WEBPACK_IMPORTED_MODULE_6__utils_HelperFunctions_js__["g" /* getRandomInt */])(1000000000, 1200000000), Object(__WEBPACK_IMPORTED_MODULE_6__utils_HelperFunctions_js__["g" /* getRandomInt */])(80, 90), Object(__WEBPACK_IMPORTED_MODULE_6__utils_HelperFunctions_js__["g" /* getRandomInt */])(70, 90)); + StormTechnologiesServer.setHackingParameters(Object(__WEBPACK_IMPORTED_MODULE_6__utils_HelperFunctions_js__["h" /* getRandomInt */])(900, 1050), Object(__WEBPACK_IMPORTED_MODULE_6__utils_HelperFunctions_js__["h" /* getRandomInt */])(1000000000, 1200000000), Object(__WEBPACK_IMPORTED_MODULE_6__utils_HelperFunctions_js__["h" /* getRandomInt */])(80, 90), Object(__WEBPACK_IMPORTED_MODULE_6__utils_HelperFunctions_js__["h" /* getRandomInt */])(70, 90)); StormTechnologiesServer.setPortProperties(5); AddToAllServers(StormTechnologiesServer); var DefCommServer = new Server(Object(__WEBPACK_IMPORTED_MODULE_7__utils_IPAddress_js__["a" /* createRandomIp */])(), "defcomm", "DefComm", false, false, false, 0); - DefCommServer.setHackingParameters(Object(__WEBPACK_IMPORTED_MODULE_6__utils_HelperFunctions_js__["g" /* getRandomInt */])(900, 1000), Object(__WEBPACK_IMPORTED_MODULE_6__utils_HelperFunctions_js__["g" /* getRandomInt */])(800000000, 950000000), Object(__WEBPACK_IMPORTED_MODULE_6__utils_HelperFunctions_js__["g" /* getRandomInt */])(85, 95), Object(__WEBPACK_IMPORTED_MODULE_6__utils_HelperFunctions_js__["g" /* getRandomInt */])(50, 70)); + DefCommServer.setHackingParameters(Object(__WEBPACK_IMPORTED_MODULE_6__utils_HelperFunctions_js__["h" /* getRandomInt */])(900, 1000), Object(__WEBPACK_IMPORTED_MODULE_6__utils_HelperFunctions_js__["h" /* getRandomInt */])(800000000, 950000000), Object(__WEBPACK_IMPORTED_MODULE_6__utils_HelperFunctions_js__["h" /* getRandomInt */])(85, 95), Object(__WEBPACK_IMPORTED_MODULE_6__utils_HelperFunctions_js__["h" /* getRandomInt */])(50, 70)); DefCommServer.setPortProperties(5); AddToAllServers(DefCommServer); var InfoCommServer = new Server(Object(__WEBPACK_IMPORTED_MODULE_7__utils_IPAddress_js__["a" /* createRandomIp */])(), "infocomm", "InfoComm", false, false, false, 0); - InfoCommServer.setHackingParameters(Object(__WEBPACK_IMPORTED_MODULE_6__utils_HelperFunctions_js__["g" /* getRandomInt */])(875, 950), Object(__WEBPACK_IMPORTED_MODULE_6__utils_HelperFunctions_js__["g" /* getRandomInt */])(600000000, 900000000), Object(__WEBPACK_IMPORTED_MODULE_6__utils_HelperFunctions_js__["g" /* getRandomInt */])(70, 90), Object(__WEBPACK_IMPORTED_MODULE_6__utils_HelperFunctions_js__["g" /* getRandomInt */])(35, 75)); + InfoCommServer.setHackingParameters(Object(__WEBPACK_IMPORTED_MODULE_6__utils_HelperFunctions_js__["h" /* getRandomInt */])(875, 950), Object(__WEBPACK_IMPORTED_MODULE_6__utils_HelperFunctions_js__["h" /* getRandomInt */])(600000000, 900000000), Object(__WEBPACK_IMPORTED_MODULE_6__utils_HelperFunctions_js__["h" /* getRandomInt */])(70, 90), Object(__WEBPACK_IMPORTED_MODULE_6__utils_HelperFunctions_js__["h" /* getRandomInt */])(35, 75)); InfoCommServer.setPortProperties(5); AddToAllServers(InfoCommServer); var HeliosLabsServer = new Server(Object(__WEBPACK_IMPORTED_MODULE_7__utils_IPAddress_js__["a" /* createRandomIp */])(), "helios", "Helios Labs", false, false, false, 2); - HeliosLabsServer.setHackingParameters(Object(__WEBPACK_IMPORTED_MODULE_6__utils_HelperFunctions_js__["g" /* getRandomInt */])(800, 900), Object(__WEBPACK_IMPORTED_MODULE_6__utils_HelperFunctions_js__["g" /* getRandomInt */])(550000000, 750000000), Object(__WEBPACK_IMPORTED_MODULE_6__utils_HelperFunctions_js__["g" /* getRandomInt */])(85, 95), Object(__WEBPACK_IMPORTED_MODULE_6__utils_HelperFunctions_js__["g" /* getRandomInt */])(70, 80)); + HeliosLabsServer.setHackingParameters(Object(__WEBPACK_IMPORTED_MODULE_6__utils_HelperFunctions_js__["h" /* getRandomInt */])(800, 900), Object(__WEBPACK_IMPORTED_MODULE_6__utils_HelperFunctions_js__["h" /* getRandomInt */])(550000000, 750000000), Object(__WEBPACK_IMPORTED_MODULE_6__utils_HelperFunctions_js__["h" /* getRandomInt */])(85, 95), Object(__WEBPACK_IMPORTED_MODULE_6__utils_HelperFunctions_js__["h" /* getRandomInt */])(70, 80)); HeliosLabsServer.setPortProperties(5); HeliosLabsServer.messages.push("beyond-man.lit"); AddToAllServers(HeliosLabsServer); var VitaLifeServer = new Server(Object(__WEBPACK_IMPORTED_MODULE_7__utils_IPAddress_js__["a" /* createRandomIp */])(), "vitalife", "VitaLife", false, false, false, 32); - VitaLifeServer.setHackingParameters(Object(__WEBPACK_IMPORTED_MODULE_6__utils_HelperFunctions_js__["g" /* getRandomInt */])(775, 900), Object(__WEBPACK_IMPORTED_MODULE_6__utils_HelperFunctions_js__["g" /* getRandomInt */])(700000000, 800000000), Object(__WEBPACK_IMPORTED_MODULE_6__utils_HelperFunctions_js__["g" /* getRandomInt */])(80, 90), Object(__WEBPACK_IMPORTED_MODULE_6__utils_HelperFunctions_js__["g" /* getRandomInt */])(60, 80)); + VitaLifeServer.setHackingParameters(Object(__WEBPACK_IMPORTED_MODULE_6__utils_HelperFunctions_js__["h" /* getRandomInt */])(775, 900), Object(__WEBPACK_IMPORTED_MODULE_6__utils_HelperFunctions_js__["h" /* getRandomInt */])(700000000, 800000000), Object(__WEBPACK_IMPORTED_MODULE_6__utils_HelperFunctions_js__["h" /* getRandomInt */])(80, 90), Object(__WEBPACK_IMPORTED_MODULE_6__utils_HelperFunctions_js__["h" /* getRandomInt */])(60, 80)); VitaLifeServer.setPortProperties(5); VitaLifeServer.messages.push("A-Green-Tomorrow.lit"); AddToAllServers(VitaLifeServer); var IcarusMicrosystemsServer = new Server(Object(__WEBPACK_IMPORTED_MODULE_7__utils_IPAddress_js__["a" /* createRandomIp */])(), "icarus", "Icarus Microsystems", false, false, false, 0); - IcarusMicrosystemsServer.setHackingParameters(Object(__WEBPACK_IMPORTED_MODULE_6__utils_HelperFunctions_js__["g" /* getRandomInt */])(850, 925), Object(__WEBPACK_IMPORTED_MODULE_6__utils_HelperFunctions_js__["g" /* getRandomInt */])(900000000, 1000000000), Object(__WEBPACK_IMPORTED_MODULE_6__utils_HelperFunctions_js__["g" /* getRandomInt */])(85, 95), Object(__WEBPACK_IMPORTED_MODULE_6__utils_HelperFunctions_js__["g" /* getRandomInt */])(85, 95)); + IcarusMicrosystemsServer.setHackingParameters(Object(__WEBPACK_IMPORTED_MODULE_6__utils_HelperFunctions_js__["h" /* getRandomInt */])(850, 925), Object(__WEBPACK_IMPORTED_MODULE_6__utils_HelperFunctions_js__["h" /* getRandomInt */])(900000000, 1000000000), Object(__WEBPACK_IMPORTED_MODULE_6__utils_HelperFunctions_js__["h" /* getRandomInt */])(85, 95), Object(__WEBPACK_IMPORTED_MODULE_6__utils_HelperFunctions_js__["h" /* getRandomInt */])(85, 95)); IcarusMicrosystemsServer.setPortProperties(5); AddToAllServers(IcarusMicrosystemsServer); var UniversalEnergyServer = new Server(Object(__WEBPACK_IMPORTED_MODULE_7__utils_IPAddress_js__["a" /* createRandomIp */])(), "univ-energy", "Universal Energy", false, false, false, 32); - UniversalEnergyServer.setHackingParameters(Object(__WEBPACK_IMPORTED_MODULE_6__utils_HelperFunctions_js__["g" /* getRandomInt */])(800, 900), Object(__WEBPACK_IMPORTED_MODULE_6__utils_HelperFunctions_js__["g" /* getRandomInt */])(1100000000, 1200000000), Object(__WEBPACK_IMPORTED_MODULE_6__utils_HelperFunctions_js__["g" /* getRandomInt */])(80, 90), Object(__WEBPACK_IMPORTED_MODULE_6__utils_HelperFunctions_js__["g" /* getRandomInt */])(80, 90)); + UniversalEnergyServer.setHackingParameters(Object(__WEBPACK_IMPORTED_MODULE_6__utils_HelperFunctions_js__["h" /* getRandomInt */])(800, 900), Object(__WEBPACK_IMPORTED_MODULE_6__utils_HelperFunctions_js__["h" /* getRandomInt */])(1100000000, 1200000000), Object(__WEBPACK_IMPORTED_MODULE_6__utils_HelperFunctions_js__["h" /* getRandomInt */])(80, 90), Object(__WEBPACK_IMPORTED_MODULE_6__utils_HelperFunctions_js__["h" /* getRandomInt */])(80, 90)); UniversalEnergyServer.setPortProperties(4); AddToAllServers(UniversalEnergyServer); var TitanLabsServer = new Server(Object(__WEBPACK_IMPORTED_MODULE_7__utils_IPAddress_js__["a" /* createRandomIp */])(), "titan-labs", "Titan Laboratories", false, false, false, 32); - TitanLabsServer.setHackingParameters(Object(__WEBPACK_IMPORTED_MODULE_6__utils_HelperFunctions_js__["g" /* getRandomInt */])(800, 875), Object(__WEBPACK_IMPORTED_MODULE_6__utils_HelperFunctions_js__["g" /* getRandomInt */])(750000000, 900000000), Object(__WEBPACK_IMPORTED_MODULE_6__utils_HelperFunctions_js__["g" /* getRandomInt */])(70, 80), Object(__WEBPACK_IMPORTED_MODULE_6__utils_HelperFunctions_js__["g" /* getRandomInt */])(60, 80)); + TitanLabsServer.setHackingParameters(Object(__WEBPACK_IMPORTED_MODULE_6__utils_HelperFunctions_js__["h" /* getRandomInt */])(800, 875), Object(__WEBPACK_IMPORTED_MODULE_6__utils_HelperFunctions_js__["h" /* getRandomInt */])(750000000, 900000000), Object(__WEBPACK_IMPORTED_MODULE_6__utils_HelperFunctions_js__["h" /* getRandomInt */])(70, 80), Object(__WEBPACK_IMPORTED_MODULE_6__utils_HelperFunctions_js__["h" /* getRandomInt */])(60, 80)); TitanLabsServer.setPortProperties(5); TitanLabsServer.messages.push("coded-intelligence.lit"); AddToAllServers(TitanLabsServer); var MicrodyneTechnologiesServer = new Server(Object(__WEBPACK_IMPORTED_MODULE_7__utils_IPAddress_js__["a" /* createRandomIp */])(), "microdyne", "Microdyne Technologies", false, false, false, 16); - MicrodyneTechnologiesServer.setHackingParameters(Object(__WEBPACK_IMPORTED_MODULE_6__utils_HelperFunctions_js__["g" /* getRandomInt */])(800, 875), Object(__WEBPACK_IMPORTED_MODULE_6__utils_HelperFunctions_js__["g" /* getRandomInt */])(500000000, 700000000), Object(__WEBPACK_IMPORTED_MODULE_6__utils_HelperFunctions_js__["g" /* getRandomInt */])(65, 75), Object(__WEBPACK_IMPORTED_MODULE_6__utils_HelperFunctions_js__["g" /* getRandomInt */])(70, 90)); + MicrodyneTechnologiesServer.setHackingParameters(Object(__WEBPACK_IMPORTED_MODULE_6__utils_HelperFunctions_js__["h" /* getRandomInt */])(800, 875), Object(__WEBPACK_IMPORTED_MODULE_6__utils_HelperFunctions_js__["h" /* getRandomInt */])(500000000, 700000000), Object(__WEBPACK_IMPORTED_MODULE_6__utils_HelperFunctions_js__["h" /* getRandomInt */])(65, 75), Object(__WEBPACK_IMPORTED_MODULE_6__utils_HelperFunctions_js__["h" /* getRandomInt */])(70, 90)); MicrodyneTechnologiesServer.setPortProperties(5); MicrodyneTechnologiesServer.messages.push("synthetic-muscles.lit"); AddToAllServers(MicrodyneTechnologiesServer); var TaiYangDigitalServer = new Server(Object(__WEBPACK_IMPORTED_MODULE_7__utils_IPAddress_js__["a" /* createRandomIp */])(), "taiyang-digital", "Taiyang Digital", false, false, false, 2); - TaiYangDigitalServer.setHackingParameters(Object(__WEBPACK_IMPORTED_MODULE_6__utils_HelperFunctions_js__["g" /* getRandomInt */])(850, 950), Object(__WEBPACK_IMPORTED_MODULE_6__utils_HelperFunctions_js__["g" /* getRandomInt */])(800000000, 900000000), Object(__WEBPACK_IMPORTED_MODULE_6__utils_HelperFunctions_js__["g" /* getRandomInt */])(70, 80), Object(__WEBPACK_IMPORTED_MODULE_6__utils_HelperFunctions_js__["g" /* getRandomInt */])(70, 80)); + TaiYangDigitalServer.setHackingParameters(Object(__WEBPACK_IMPORTED_MODULE_6__utils_HelperFunctions_js__["h" /* getRandomInt */])(850, 950), Object(__WEBPACK_IMPORTED_MODULE_6__utils_HelperFunctions_js__["h" /* getRandomInt */])(800000000, 900000000), Object(__WEBPACK_IMPORTED_MODULE_6__utils_HelperFunctions_js__["h" /* getRandomInt */])(70, 80), Object(__WEBPACK_IMPORTED_MODULE_6__utils_HelperFunctions_js__["h" /* getRandomInt */])(70, 80)); TaiYangDigitalServer.setPortProperties(5); TaiYangDigitalServer.messages.push("A-Green-Tomorrow.lit"); TaiYangDigitalServer.messages.push("brighter-than-the-sun.lit"); AddToAllServers(TaiYangDigitalServer); var GalacticCyberSystemsServer = new Server(Object(__WEBPACK_IMPORTED_MODULE_7__utils_IPAddress_js__["a" /* createRandomIp */])(), "galactic-cyber", "Galactic Cybersystems", false, false, false, 0); - GalacticCyberSystemsServer.setHackingParameters(Object(__WEBPACK_IMPORTED_MODULE_6__utils_HelperFunctions_js__["g" /* getRandomInt */])(825, 875), Object(__WEBPACK_IMPORTED_MODULE_6__utils_HelperFunctions_js__["g" /* getRandomInt */])(750000000, 850000000), Object(__WEBPACK_IMPORTED_MODULE_6__utils_HelperFunctions_js__["g" /* getRandomInt */])(55, 65), Object(__WEBPACK_IMPORTED_MODULE_6__utils_HelperFunctions_js__["g" /* getRandomInt */])(70, 90)); + GalacticCyberSystemsServer.setHackingParameters(Object(__WEBPACK_IMPORTED_MODULE_6__utils_HelperFunctions_js__["h" /* getRandomInt */])(825, 875), Object(__WEBPACK_IMPORTED_MODULE_6__utils_HelperFunctions_js__["h" /* getRandomInt */])(750000000, 850000000), Object(__WEBPACK_IMPORTED_MODULE_6__utils_HelperFunctions_js__["h" /* getRandomInt */])(55, 65), Object(__WEBPACK_IMPORTED_MODULE_6__utils_HelperFunctions_js__["h" /* getRandomInt */])(70, 90)); GalacticCyberSystemsServer.setPortProperties(5); AddToAllServers(GalacticCyberSystemsServer); //Defense Companies ("Large" Companies) var AeroCorpServer = new Server(Object(__WEBPACK_IMPORTED_MODULE_7__utils_IPAddress_js__["a" /* createRandomIp */])(), "aerocorp", "AeroCorp", false, false, false, 2); - AeroCorpServer.setHackingParameters(Object(__WEBPACK_IMPORTED_MODULE_6__utils_HelperFunctions_js__["g" /* getRandomInt */])(850, 925), Object(__WEBPACK_IMPORTED_MODULE_6__utils_HelperFunctions_js__["g" /* getRandomInt */])(1000000000, 1200000000), Object(__WEBPACK_IMPORTED_MODULE_6__utils_HelperFunctions_js__["g" /* getRandomInt */])(80, 90), Object(__WEBPACK_IMPORTED_MODULE_6__utils_HelperFunctions_js__["g" /* getRandomInt */])(55, 65)); + AeroCorpServer.setHackingParameters(Object(__WEBPACK_IMPORTED_MODULE_6__utils_HelperFunctions_js__["h" /* getRandomInt */])(850, 925), Object(__WEBPACK_IMPORTED_MODULE_6__utils_HelperFunctions_js__["h" /* getRandomInt */])(1000000000, 1200000000), Object(__WEBPACK_IMPORTED_MODULE_6__utils_HelperFunctions_js__["h" /* getRandomInt */])(80, 90), Object(__WEBPACK_IMPORTED_MODULE_6__utils_HelperFunctions_js__["h" /* getRandomInt */])(55, 65)); AeroCorpServer.setPortProperties(5); AeroCorpServer.messages.push("man-and-machine.lit"); AddToAllServers(AeroCorpServer); var OmniaCybersystemsServer = new Server(Object(__WEBPACK_IMPORTED_MODULE_7__utils_IPAddress_js__["a" /* createRandomIp */])(), "omnia", "Omnia Cybersystems", false, false, false, 0); - OmniaCybersystemsServer.setHackingParameters(Object(__WEBPACK_IMPORTED_MODULE_6__utils_HelperFunctions_js__["g" /* getRandomInt */])(850, 950), Object(__WEBPACK_IMPORTED_MODULE_6__utils_HelperFunctions_js__["g" /* getRandomInt */])(900000000, 1000000000), Object(__WEBPACK_IMPORTED_MODULE_6__utils_HelperFunctions_js__["g" /* getRandomInt */])(85, 95), Object(__WEBPACK_IMPORTED_MODULE_6__utils_HelperFunctions_js__["g" /* getRandomInt */])(60, 70)); + OmniaCybersystemsServer.setHackingParameters(Object(__WEBPACK_IMPORTED_MODULE_6__utils_HelperFunctions_js__["h" /* getRandomInt */])(850, 950), Object(__WEBPACK_IMPORTED_MODULE_6__utils_HelperFunctions_js__["h" /* getRandomInt */])(900000000, 1000000000), Object(__WEBPACK_IMPORTED_MODULE_6__utils_HelperFunctions_js__["h" /* getRandomInt */])(85, 95), Object(__WEBPACK_IMPORTED_MODULE_6__utils_HelperFunctions_js__["h" /* getRandomInt */])(60, 70)); OmniaCybersystemsServer.setPortProperties(5); AddToAllServers(OmniaCybersystemsServer); var ZBDefenseServer = new Server(Object(__WEBPACK_IMPORTED_MODULE_7__utils_IPAddress_js__["a" /* createRandomIp */])(), "zb-def", "ZB Defense Industries", false, false, false, 2); - ZBDefenseServer.setHackingParameters(Object(__WEBPACK_IMPORTED_MODULE_6__utils_HelperFunctions_js__["g" /* getRandomInt */])(775, 825), Object(__WEBPACK_IMPORTED_MODULE_6__utils_HelperFunctions_js__["g" /* getRandomInt */])(900000000, 1100000000), Object(__WEBPACK_IMPORTED_MODULE_6__utils_HelperFunctions_js__["g" /* getRandomInt */])(55, 65), Object(__WEBPACK_IMPORTED_MODULE_6__utils_HelperFunctions_js__["g" /* getRandomInt */])(65, 75)); + ZBDefenseServer.setHackingParameters(Object(__WEBPACK_IMPORTED_MODULE_6__utils_HelperFunctions_js__["h" /* getRandomInt */])(775, 825), Object(__WEBPACK_IMPORTED_MODULE_6__utils_HelperFunctions_js__["h" /* getRandomInt */])(900000000, 1100000000), Object(__WEBPACK_IMPORTED_MODULE_6__utils_HelperFunctions_js__["h" /* getRandomInt */])(55, 65), Object(__WEBPACK_IMPORTED_MODULE_6__utils_HelperFunctions_js__["h" /* getRandomInt */])(65, 75)); ZBDefenseServer.setPortProperties(4); ZBDefenseServer.messages.push("synthetic-muscles.lit"); AddToAllServers(ZBDefenseServer); var AppliedEnergeticsServer = new Server(Object(__WEBPACK_IMPORTED_MODULE_7__utils_IPAddress_js__["a" /* createRandomIp */])(), "applied-energetics", "Applied Energetics", false, false, false, 0); - AppliedEnergeticsServer.setHackingParameters(Object(__WEBPACK_IMPORTED_MODULE_6__utils_HelperFunctions_js__["g" /* getRandomInt */])(775, 850), Object(__WEBPACK_IMPORTED_MODULE_6__utils_HelperFunctions_js__["g" /* getRandomInt */])(700000000, 1000000000), Object(__WEBPACK_IMPORTED_MODULE_6__utils_HelperFunctions_js__["g" /* getRandomInt */])(60, 80), Object(__WEBPACK_IMPORTED_MODULE_6__utils_HelperFunctions_js__["g" /* getRandomInt */])(70, 75)); + AppliedEnergeticsServer.setHackingParameters(Object(__WEBPACK_IMPORTED_MODULE_6__utils_HelperFunctions_js__["h" /* getRandomInt */])(775, 850), Object(__WEBPACK_IMPORTED_MODULE_6__utils_HelperFunctions_js__["h" /* getRandomInt */])(700000000, 1000000000), Object(__WEBPACK_IMPORTED_MODULE_6__utils_HelperFunctions_js__["h" /* getRandomInt */])(60, 80), Object(__WEBPACK_IMPORTED_MODULE_6__utils_HelperFunctions_js__["h" /* getRandomInt */])(70, 75)); AppliedEnergeticsServer.setPortProperties(4); AddToAllServers(AppliedEnergeticsServer); var SolarisSpaceSystemsServer = new Server(Object(__WEBPACK_IMPORTED_MODULE_7__utils_IPAddress_js__["a" /* createRandomIp */])(), "solaris", "Solaris Space Systems", false, false, false, 2); - SolarisSpaceSystemsServer.setHackingParameters(Object(__WEBPACK_IMPORTED_MODULE_6__utils_HelperFunctions_js__["g" /* getRandomInt */])(750, 850), Object(__WEBPACK_IMPORTED_MODULE_6__utils_HelperFunctions_js__["g" /* getRandomInt */])(700000000, 900000000), Object(__WEBPACK_IMPORTED_MODULE_6__utils_HelperFunctions_js__["g" /* getRandomInt */])(70, 80), Object(__WEBPACK_IMPORTED_MODULE_6__utils_HelperFunctions_js__["g" /* getRandomInt */])(70, 80)); + SolarisSpaceSystemsServer.setHackingParameters(Object(__WEBPACK_IMPORTED_MODULE_6__utils_HelperFunctions_js__["h" /* getRandomInt */])(750, 850), Object(__WEBPACK_IMPORTED_MODULE_6__utils_HelperFunctions_js__["h" /* getRandomInt */])(700000000, 900000000), Object(__WEBPACK_IMPORTED_MODULE_6__utils_HelperFunctions_js__["h" /* getRandomInt */])(70, 80), Object(__WEBPACK_IMPORTED_MODULE_6__utils_HelperFunctions_js__["h" /* getRandomInt */])(70, 80)); SolarisSpaceSystemsServer.setPortProperties(5); SolarisSpaceSystemsServer.messages.push("A-Green-Tomorrow.lit"); SolarisSpaceSystemsServer.messages.push("the-failed-frontier.lit"); AddToAllServers(SolarisSpaceSystemsServer); var DeltaOneServer = new Server(Object(__WEBPACK_IMPORTED_MODULE_7__utils_IPAddress_js__["a" /* createRandomIp */])(), "deltaone", "Delta One", false, false, false, 0); - DeltaOneServer.setHackingParameters(Object(__WEBPACK_IMPORTED_MODULE_6__utils_HelperFunctions_js__["g" /* getRandomInt */])(800, 900), Object(__WEBPACK_IMPORTED_MODULE_6__utils_HelperFunctions_js__["g" /* getRandomInt */])(1300000000, 1700000000), Object(__WEBPACK_IMPORTED_MODULE_6__utils_HelperFunctions_js__["g" /* getRandomInt */])(75, 85), Object(__WEBPACK_IMPORTED_MODULE_6__utils_HelperFunctions_js__["g" /* getRandomInt */])(50, 70)); + DeltaOneServer.setHackingParameters(Object(__WEBPACK_IMPORTED_MODULE_6__utils_HelperFunctions_js__["h" /* getRandomInt */])(800, 900), Object(__WEBPACK_IMPORTED_MODULE_6__utils_HelperFunctions_js__["h" /* getRandomInt */])(1300000000, 1700000000), Object(__WEBPACK_IMPORTED_MODULE_6__utils_HelperFunctions_js__["h" /* getRandomInt */])(75, 85), Object(__WEBPACK_IMPORTED_MODULE_6__utils_HelperFunctions_js__["h" /* getRandomInt */])(50, 70)); DeltaOneServer.setPortProperties(5); AddToAllServers(DeltaOneServer); //Health, medicine, pharmaceutical companies ("Large" targets) var GlobalPharmaceuticalsServer = new Server(Object(__WEBPACK_IMPORTED_MODULE_7__utils_IPAddress_js__["a" /* createRandomIp */])(), "global-pharm", "Global Pharmaceuticals", false, false, false, 16); - GlobalPharmaceuticalsServer.setHackingParameters(Object(__WEBPACK_IMPORTED_MODULE_6__utils_HelperFunctions_js__["g" /* getRandomInt */])(750, 850), Object(__WEBPACK_IMPORTED_MODULE_6__utils_HelperFunctions_js__["g" /* getRandomInt */])(1500000000, 1750000000), Object(__WEBPACK_IMPORTED_MODULE_6__utils_HelperFunctions_js__["g" /* getRandomInt */])(75, 85), Object(__WEBPACK_IMPORTED_MODULE_6__utils_HelperFunctions_js__["g" /* getRandomInt */])(80, 90)); + GlobalPharmaceuticalsServer.setHackingParameters(Object(__WEBPACK_IMPORTED_MODULE_6__utils_HelperFunctions_js__["h" /* getRandomInt */])(750, 850), Object(__WEBPACK_IMPORTED_MODULE_6__utils_HelperFunctions_js__["h" /* getRandomInt */])(1500000000, 1750000000), Object(__WEBPACK_IMPORTED_MODULE_6__utils_HelperFunctions_js__["h" /* getRandomInt */])(75, 85), Object(__WEBPACK_IMPORTED_MODULE_6__utils_HelperFunctions_js__["h" /* getRandomInt */])(80, 90)); GlobalPharmaceuticalsServer.setPortProperties(4); GlobalPharmaceuticalsServer.messages.push("A-Green-Tomorrow.lit"); AddToAllServers(GlobalPharmaceuticalsServer); var NovaMedicalServer = new Server(Object(__WEBPACK_IMPORTED_MODULE_7__utils_IPAddress_js__["a" /* createRandomIp */])(), "nova-med", "Nova Medical", false, false, false, 0); - NovaMedicalServer.setHackingParameters(Object(__WEBPACK_IMPORTED_MODULE_6__utils_HelperFunctions_js__["g" /* getRandomInt */])(775, 850), Object(__WEBPACK_IMPORTED_MODULE_6__utils_HelperFunctions_js__["g" /* getRandomInt */])(1100000000, 1250000000), Object(__WEBPACK_IMPORTED_MODULE_6__utils_HelperFunctions_js__["g" /* getRandomInt */])(60, 80), Object(__WEBPACK_IMPORTED_MODULE_6__utils_HelperFunctions_js__["g" /* getRandomInt */])(65, 85)); + NovaMedicalServer.setHackingParameters(Object(__WEBPACK_IMPORTED_MODULE_6__utils_HelperFunctions_js__["h" /* getRandomInt */])(775, 850), Object(__WEBPACK_IMPORTED_MODULE_6__utils_HelperFunctions_js__["h" /* getRandomInt */])(1100000000, 1250000000), Object(__WEBPACK_IMPORTED_MODULE_6__utils_HelperFunctions_js__["h" /* getRandomInt */])(60, 80), Object(__WEBPACK_IMPORTED_MODULE_6__utils_HelperFunctions_js__["h" /* getRandomInt */])(65, 85)); NovaMedicalServer.setPortProperties(4); AddToAllServers(NovaMedicalServer); var ZeusMedicalServer = new Server(Object(__WEBPACK_IMPORTED_MODULE_7__utils_IPAddress_js__["a" /* createRandomIp */])(), "zeus-med", "Zeus Medical", false, false, false, 0); - ZeusMedicalServer.setHackingParameters(Object(__WEBPACK_IMPORTED_MODULE_6__utils_HelperFunctions_js__["g" /* getRandomInt */])(800, 850), Object(__WEBPACK_IMPORTED_MODULE_6__utils_HelperFunctions_js__["g" /* getRandomInt */])(1300000000, 1500000000), Object(__WEBPACK_IMPORTED_MODULE_6__utils_HelperFunctions_js__["g" /* getRandomInt */])(70, 90), Object(__WEBPACK_IMPORTED_MODULE_6__utils_HelperFunctions_js__["g" /* getRandomInt */])(70, 80)); + ZeusMedicalServer.setHackingParameters(Object(__WEBPACK_IMPORTED_MODULE_6__utils_HelperFunctions_js__["h" /* getRandomInt */])(800, 850), Object(__WEBPACK_IMPORTED_MODULE_6__utils_HelperFunctions_js__["h" /* getRandomInt */])(1300000000, 1500000000), Object(__WEBPACK_IMPORTED_MODULE_6__utils_HelperFunctions_js__["h" /* getRandomInt */])(70, 90), Object(__WEBPACK_IMPORTED_MODULE_6__utils_HelperFunctions_js__["h" /* getRandomInt */])(70, 80)); ZeusMedicalServer.setPortProperties(5); AddToAllServers(ZeusMedicalServer); var UnitaLifeGroupServer = new Server(Object(__WEBPACK_IMPORTED_MODULE_7__utils_IPAddress_js__["a" /* createRandomIp */])(), "unitalife", "UnitaLife Group", false, false, false, 32); - UnitaLifeGroupServer.setHackingParameters(Object(__WEBPACK_IMPORTED_MODULE_6__utils_HelperFunctions_js__["g" /* getRandomInt */])(775, 825), Object(__WEBPACK_IMPORTED_MODULE_6__utils_HelperFunctions_js__["g" /* getRandomInt */])(1000000000, 1100000000), Object(__WEBPACK_IMPORTED_MODULE_6__utils_HelperFunctions_js__["g" /* getRandomInt */])(70, 80), Object(__WEBPACK_IMPORTED_MODULE_6__utils_HelperFunctions_js__["g" /* getRandomInt */])(70, 80)); + UnitaLifeGroupServer.setHackingParameters(Object(__WEBPACK_IMPORTED_MODULE_6__utils_HelperFunctions_js__["h" /* getRandomInt */])(775, 825), Object(__WEBPACK_IMPORTED_MODULE_6__utils_HelperFunctions_js__["h" /* getRandomInt */])(1000000000, 1100000000), Object(__WEBPACK_IMPORTED_MODULE_6__utils_HelperFunctions_js__["h" /* getRandomInt */])(70, 80), Object(__WEBPACK_IMPORTED_MODULE_6__utils_HelperFunctions_js__["h" /* getRandomInt */])(70, 80)); UnitaLifeGroupServer.setPortProperties(4); AddToAllServers(UnitaLifeGroupServer); //"Medium level" targets var LexoCorpServer = new Server(Object(__WEBPACK_IMPORTED_MODULE_7__utils_IPAddress_js__["a" /* createRandomIp */])(), "lexo-corp", "Lexo Corporation", false, false, false, 16); - LexoCorpServer.setHackingParameters(Object(__WEBPACK_IMPORTED_MODULE_6__utils_HelperFunctions_js__["g" /* getRandomInt */])(650, 750), Object(__WEBPACK_IMPORTED_MODULE_6__utils_HelperFunctions_js__["g" /* getRandomInt */])(700000000, 800000000), Object(__WEBPACK_IMPORTED_MODULE_6__utils_HelperFunctions_js__["g" /* getRandomInt */])(60, 80), Object(__WEBPACK_IMPORTED_MODULE_6__utils_HelperFunctions_js__["g" /* getRandomInt */])(55, 65)); + LexoCorpServer.setHackingParameters(Object(__WEBPACK_IMPORTED_MODULE_6__utils_HelperFunctions_js__["h" /* getRandomInt */])(650, 750), Object(__WEBPACK_IMPORTED_MODULE_6__utils_HelperFunctions_js__["h" /* getRandomInt */])(700000000, 800000000), Object(__WEBPACK_IMPORTED_MODULE_6__utils_HelperFunctions_js__["h" /* getRandomInt */])(60, 80), Object(__WEBPACK_IMPORTED_MODULE_6__utils_HelperFunctions_js__["h" /* getRandomInt */])(55, 65)); LexoCorpServer.setPortProperties(4); AddToAllServers(LexoCorpServer); var RhoConstructionServer = new Server(Object(__WEBPACK_IMPORTED_MODULE_7__utils_IPAddress_js__["a" /* createRandomIp */])(), "rho-construction", "Rho Construction", false, false, false, 0); - RhoConstructionServer.setHackingParameters(Object(__WEBPACK_IMPORTED_MODULE_6__utils_HelperFunctions_js__["g" /* getRandomInt */])(475, 525), Object(__WEBPACK_IMPORTED_MODULE_6__utils_HelperFunctions_js__["g" /* getRandomInt */])(500000000, 700000000), Object(__WEBPACK_IMPORTED_MODULE_6__utils_HelperFunctions_js__["g" /* getRandomInt */])(40, 60), Object(__WEBPACK_IMPORTED_MODULE_6__utils_HelperFunctions_js__["g" /* getRandomInt */])(40, 60)); + RhoConstructionServer.setHackingParameters(Object(__WEBPACK_IMPORTED_MODULE_6__utils_HelperFunctions_js__["h" /* getRandomInt */])(475, 525), Object(__WEBPACK_IMPORTED_MODULE_6__utils_HelperFunctions_js__["h" /* getRandomInt */])(500000000, 700000000), Object(__WEBPACK_IMPORTED_MODULE_6__utils_HelperFunctions_js__["h" /* getRandomInt */])(40, 60), Object(__WEBPACK_IMPORTED_MODULE_6__utils_HelperFunctions_js__["h" /* getRandomInt */])(40, 60)); RhoConstructionServer.setPortProperties(3); AddToAllServers(RhoConstructionServer); var AlphaEnterprisesServer = new Server(Object(__WEBPACK_IMPORTED_MODULE_7__utils_IPAddress_js__["a" /* createRandomIp */])(), "alpha-ent", "Alpha Enterprises", false, false, false, 2); - AlphaEnterprisesServer.setHackingParameters(Object(__WEBPACK_IMPORTED_MODULE_6__utils_HelperFunctions_js__["g" /* getRandomInt */])(500, 600), Object(__WEBPACK_IMPORTED_MODULE_6__utils_HelperFunctions_js__["g" /* getRandomInt */])(600000000, 750000000), Object(__WEBPACK_IMPORTED_MODULE_6__utils_HelperFunctions_js__["g" /* getRandomInt */])(50, 70), Object(__WEBPACK_IMPORTED_MODULE_6__utils_HelperFunctions_js__["g" /* getRandomInt */])(50, 60)); + AlphaEnterprisesServer.setHackingParameters(Object(__WEBPACK_IMPORTED_MODULE_6__utils_HelperFunctions_js__["h" /* getRandomInt */])(500, 600), Object(__WEBPACK_IMPORTED_MODULE_6__utils_HelperFunctions_js__["h" /* getRandomInt */])(600000000, 750000000), Object(__WEBPACK_IMPORTED_MODULE_6__utils_HelperFunctions_js__["h" /* getRandomInt */])(50, 70), Object(__WEBPACK_IMPORTED_MODULE_6__utils_HelperFunctions_js__["h" /* getRandomInt */])(50, 60)); AlphaEnterprisesServer.setPortProperties(4); AlphaEnterprisesServer.messages.push("sector-12-crime.lit"); AddToAllServers(AlphaEnterprisesServer); var AevumPoliceServer = new Server(Object(__WEBPACK_IMPORTED_MODULE_7__utils_IPAddress_js__["a" /* createRandomIp */])(), "aevum-police", "Aevum Police Network", false, false, false, 0); - AevumPoliceServer.setHackingParameters(Object(__WEBPACK_IMPORTED_MODULE_6__utils_HelperFunctions_js__["g" /* getRandomInt */])(400, 450), Object(__WEBPACK_IMPORTED_MODULE_6__utils_HelperFunctions_js__["g" /* getRandomInt */])(200000000, 400000000), Object(__WEBPACK_IMPORTED_MODULE_6__utils_HelperFunctions_js__["g" /* getRandomInt */])(70, 80), Object(__WEBPACK_IMPORTED_MODULE_6__utils_HelperFunctions_js__["g" /* getRandomInt */])(30, 50)); + AevumPoliceServer.setHackingParameters(Object(__WEBPACK_IMPORTED_MODULE_6__utils_HelperFunctions_js__["h" /* getRandomInt */])(400, 450), Object(__WEBPACK_IMPORTED_MODULE_6__utils_HelperFunctions_js__["h" /* getRandomInt */])(200000000, 400000000), Object(__WEBPACK_IMPORTED_MODULE_6__utils_HelperFunctions_js__["h" /* getRandomInt */])(70, 80), Object(__WEBPACK_IMPORTED_MODULE_6__utils_HelperFunctions_js__["h" /* getRandomInt */])(30, 50)); AevumPoliceServer.setPortProperties(4); AddToAllServers(AevumPoliceServer); var RothmanUniversityServer = new Server(Object(__WEBPACK_IMPORTED_MODULE_7__utils_IPAddress_js__["a" /* createRandomIp */])(), "rothman-uni", "Rothman University Network", false, false, false, 4); - RothmanUniversityServer.setHackingParameters(Object(__WEBPACK_IMPORTED_MODULE_6__utils_HelperFunctions_js__["g" /* getRandomInt */])(370, 430), Object(__WEBPACK_IMPORTED_MODULE_6__utils_HelperFunctions_js__["g" /* getRandomInt */])(175000000, 250000000), Object(__WEBPACK_IMPORTED_MODULE_6__utils_HelperFunctions_js__["g" /* getRandomInt */])(45, 55), Object(__WEBPACK_IMPORTED_MODULE_6__utils_HelperFunctions_js__["g" /* getRandomInt */])(35, 45)); + RothmanUniversityServer.setHackingParameters(Object(__WEBPACK_IMPORTED_MODULE_6__utils_HelperFunctions_js__["h" /* getRandomInt */])(370, 430), Object(__WEBPACK_IMPORTED_MODULE_6__utils_HelperFunctions_js__["h" /* getRandomInt */])(175000000, 250000000), Object(__WEBPACK_IMPORTED_MODULE_6__utils_HelperFunctions_js__["h" /* getRandomInt */])(45, 55), Object(__WEBPACK_IMPORTED_MODULE_6__utils_HelperFunctions_js__["h" /* getRandomInt */])(35, 45)); RothmanUniversityServer.setPortProperties(3); RothmanUniversityServer.messages.push("secret-societies.lit"); RothmanUniversityServer.messages.push("the-failed-frontier.lit"); @@ -6235,12 +6244,12 @@ function initForeignServers() { AddToAllServers(RothmanUniversityServer); var ZBInstituteOfTechnologyServer = new Server(Object(__WEBPACK_IMPORTED_MODULE_7__utils_IPAddress_js__["a" /* createRandomIp */])(), "zb-institute", "ZB Institute of Technology Network", false, false, false, 4); - ZBInstituteOfTechnologyServer.setHackingParameters(Object(__WEBPACK_IMPORTED_MODULE_6__utils_HelperFunctions_js__["g" /* getRandomInt */])(725, 775), Object(__WEBPACK_IMPORTED_MODULE_6__utils_HelperFunctions_js__["g" /* getRandomInt */])(800000000, 1100000000), Object(__WEBPACK_IMPORTED_MODULE_6__utils_HelperFunctions_js__["g" /* getRandomInt */])(65, 85), Object(__WEBPACK_IMPORTED_MODULE_6__utils_HelperFunctions_js__["g" /* getRandomInt */])(75, 85)); + ZBInstituteOfTechnologyServer.setHackingParameters(Object(__WEBPACK_IMPORTED_MODULE_6__utils_HelperFunctions_js__["h" /* getRandomInt */])(725, 775), Object(__WEBPACK_IMPORTED_MODULE_6__utils_HelperFunctions_js__["h" /* getRandomInt */])(800000000, 1100000000), Object(__WEBPACK_IMPORTED_MODULE_6__utils_HelperFunctions_js__["h" /* getRandomInt */])(65, 85), Object(__WEBPACK_IMPORTED_MODULE_6__utils_HelperFunctions_js__["h" /* getRandomInt */])(75, 85)); ZBInstituteOfTechnologyServer.setPortProperties(5); AddToAllServers(ZBInstituteOfTechnologyServer); var SummitUniversityServer = new Server(Object(__WEBPACK_IMPORTED_MODULE_7__utils_IPAddress_js__["a" /* createRandomIp */])(), "summit-uni", "Summit University Network", false, false, false, 4); - SummitUniversityServer.setHackingParameters(Object(__WEBPACK_IMPORTED_MODULE_6__utils_HelperFunctions_js__["g" /* getRandomInt */])(425, 475), Object(__WEBPACK_IMPORTED_MODULE_6__utils_HelperFunctions_js__["g" /* getRandomInt */])(200000000, 350000000), Object(__WEBPACK_IMPORTED_MODULE_6__utils_HelperFunctions_js__["g" /* getRandomInt */])(45, 65), Object(__WEBPACK_IMPORTED_MODULE_6__utils_HelperFunctions_js__["g" /* getRandomInt */])(40, 60)); + SummitUniversityServer.setHackingParameters(Object(__WEBPACK_IMPORTED_MODULE_6__utils_HelperFunctions_js__["h" /* getRandomInt */])(425, 475), Object(__WEBPACK_IMPORTED_MODULE_6__utils_HelperFunctions_js__["h" /* getRandomInt */])(200000000, 350000000), Object(__WEBPACK_IMPORTED_MODULE_6__utils_HelperFunctions_js__["h" /* getRandomInt */])(45, 65), Object(__WEBPACK_IMPORTED_MODULE_6__utils_HelperFunctions_js__["h" /* getRandomInt */])(40, 60)); SummitUniversityServer.setPortProperties(3); SummitUniversityServer.messages.push("secret-societies.lit"); SummitUniversityServer.messages.push("the-failed-frontier.lit"); @@ -6248,35 +6257,35 @@ function initForeignServers() { AddToAllServers(SummitUniversityServer); var SysCoreSecuritiesServer = new Server(Object(__WEBPACK_IMPORTED_MODULE_7__utils_IPAddress_js__["a" /* createRandomIp */])(), "syscore", "SysCore Securities", false, false, false, 0); - SysCoreSecuritiesServer.setHackingParameters(Object(__WEBPACK_IMPORTED_MODULE_6__utils_HelperFunctions_js__["g" /* getRandomInt */])(550, 650), Object(__WEBPACK_IMPORTED_MODULE_6__utils_HelperFunctions_js__["g" /* getRandomInt */])(400000000, 600000000), Object(__WEBPACK_IMPORTED_MODULE_6__utils_HelperFunctions_js__["g" /* getRandomInt */])(60, 80), Object(__WEBPACK_IMPORTED_MODULE_6__utils_HelperFunctions_js__["g" /* getRandomInt */])(60, 70)); + SysCoreSecuritiesServer.setHackingParameters(Object(__WEBPACK_IMPORTED_MODULE_6__utils_HelperFunctions_js__["h" /* getRandomInt */])(550, 650), Object(__WEBPACK_IMPORTED_MODULE_6__utils_HelperFunctions_js__["h" /* getRandomInt */])(400000000, 600000000), Object(__WEBPACK_IMPORTED_MODULE_6__utils_HelperFunctions_js__["h" /* getRandomInt */])(60, 80), Object(__WEBPACK_IMPORTED_MODULE_6__utils_HelperFunctions_js__["h" /* getRandomInt */])(60, 70)); SysCoreSecuritiesServer.setPortProperties(4); AddToAllServers(SysCoreSecuritiesServer); var CatalystVenturesServer = new Server(Object(__WEBPACK_IMPORTED_MODULE_7__utils_IPAddress_js__["a" /* createRandomIp */])(), "catalyst", "Catalyst Ventures", false, false, false, 2); - CatalystVenturesServer.setHackingParameters(Object(__WEBPACK_IMPORTED_MODULE_6__utils_HelperFunctions_js__["g" /* getRandomInt */])(400, 450), Object(__WEBPACK_IMPORTED_MODULE_6__utils_HelperFunctions_js__["g" /* getRandomInt */])(300000000, 550000000), Object(__WEBPACK_IMPORTED_MODULE_6__utils_HelperFunctions_js__["g" /* getRandomInt */])(60, 70), Object(__WEBPACK_IMPORTED_MODULE_6__utils_HelperFunctions_js__["g" /* getRandomInt */])(25, 55)); + CatalystVenturesServer.setHackingParameters(Object(__WEBPACK_IMPORTED_MODULE_6__utils_HelperFunctions_js__["h" /* getRandomInt */])(400, 450), Object(__WEBPACK_IMPORTED_MODULE_6__utils_HelperFunctions_js__["h" /* getRandomInt */])(300000000, 550000000), Object(__WEBPACK_IMPORTED_MODULE_6__utils_HelperFunctions_js__["h" /* getRandomInt */])(60, 70), Object(__WEBPACK_IMPORTED_MODULE_6__utils_HelperFunctions_js__["h" /* getRandomInt */])(25, 55)); CatalystVenturesServer.setPortProperties(3); CatalystVenturesServer.messages.push("tensions-in-tech-race.lit"); AddToAllServers(CatalystVenturesServer); var TheHubServer = new Server(Object(__WEBPACK_IMPORTED_MODULE_7__utils_IPAddress_js__["a" /* createRandomIp */])(), "the-hub", "The Hub", false, false, false, 0); - TheHubServer.setHackingParameters(Object(__WEBPACK_IMPORTED_MODULE_6__utils_HelperFunctions_js__["g" /* getRandomInt */])(275, 325), Object(__WEBPACK_IMPORTED_MODULE_6__utils_HelperFunctions_js__["g" /* getRandomInt */])(150000000, 200000000), Object(__WEBPACK_IMPORTED_MODULE_6__utils_HelperFunctions_js__["g" /* getRandomInt */])(35, 45), Object(__WEBPACK_IMPORTED_MODULE_6__utils_HelperFunctions_js__["g" /* getRandomInt */])(45, 55)); + TheHubServer.setHackingParameters(Object(__WEBPACK_IMPORTED_MODULE_6__utils_HelperFunctions_js__["h" /* getRandomInt */])(275, 325), Object(__WEBPACK_IMPORTED_MODULE_6__utils_HelperFunctions_js__["h" /* getRandomInt */])(150000000, 200000000), Object(__WEBPACK_IMPORTED_MODULE_6__utils_HelperFunctions_js__["h" /* getRandomInt */])(35, 45), Object(__WEBPACK_IMPORTED_MODULE_6__utils_HelperFunctions_js__["h" /* getRandomInt */])(45, 55)); TheHubServer.setPortProperties(2); AddToAllServers(TheHubServer); var CompuTekServer = new Server(Object(__WEBPACK_IMPORTED_MODULE_7__utils_IPAddress_js__["a" /* createRandomIp */])(), "comptek", "CompuTek", false, false, false, 8); - CompuTekServer.setHackingParameters(Object(__WEBPACK_IMPORTED_MODULE_6__utils_HelperFunctions_js__["g" /* getRandomInt */])(300, 400), Object(__WEBPACK_IMPORTED_MODULE_6__utils_HelperFunctions_js__["g" /* getRandomInt */])(220000000, 250000000), Object(__WEBPACK_IMPORTED_MODULE_6__utils_HelperFunctions_js__["g" /* getRandomInt */])(55, 65), Object(__WEBPACK_IMPORTED_MODULE_6__utils_HelperFunctions_js__["g" /* getRandomInt */])(45, 65)); + CompuTekServer.setHackingParameters(Object(__WEBPACK_IMPORTED_MODULE_6__utils_HelperFunctions_js__["h" /* getRandomInt */])(300, 400), Object(__WEBPACK_IMPORTED_MODULE_6__utils_HelperFunctions_js__["h" /* getRandomInt */])(220000000, 250000000), Object(__WEBPACK_IMPORTED_MODULE_6__utils_HelperFunctions_js__["h" /* getRandomInt */])(55, 65), Object(__WEBPACK_IMPORTED_MODULE_6__utils_HelperFunctions_js__["h" /* getRandomInt */])(45, 65)); CompuTekServer.setPortProperties(3); CompuTekServer.messages.push("man-and-machine.lit"); AddToAllServers(CompuTekServer); var NetLinkTechnologiesServer = new Server(Object(__WEBPACK_IMPORTED_MODULE_7__utils_IPAddress_js__["a" /* createRandomIp */])(), "netlink", "NetLink Technologies", false, false, false, 2); - NetLinkTechnologiesServer.setHackingParameters(Object(__WEBPACK_IMPORTED_MODULE_6__utils_HelperFunctions_js__["g" /* getRandomInt */])(375, 425), 275000000, Object(__WEBPACK_IMPORTED_MODULE_6__utils_HelperFunctions_js__["g" /* getRandomInt */])(60, 80), Object(__WEBPACK_IMPORTED_MODULE_6__utils_HelperFunctions_js__["g" /* getRandomInt */])(45, 75)); + NetLinkTechnologiesServer.setHackingParameters(Object(__WEBPACK_IMPORTED_MODULE_6__utils_HelperFunctions_js__["h" /* getRandomInt */])(375, 425), 275000000, Object(__WEBPACK_IMPORTED_MODULE_6__utils_HelperFunctions_js__["h" /* getRandomInt */])(60, 80), Object(__WEBPACK_IMPORTED_MODULE_6__utils_HelperFunctions_js__["h" /* getRandomInt */])(45, 75)); NetLinkTechnologiesServer.setPortProperties(3); NetLinkTechnologiesServer.messages.push("simulated-reality.lit"); AddToAllServers(NetLinkTechnologiesServer); var JohnsonOrthopedicsServer = new Server(Object(__WEBPACK_IMPORTED_MODULE_7__utils_IPAddress_js__["a" /* createRandomIp */])(), "johnson-ortho", "Johnson Orthopedics", false, false, false, 4); - JohnsonOrthopedicsServer.setHackingParameters(Object(__WEBPACK_IMPORTED_MODULE_6__utils_HelperFunctions_js__["g" /* getRandomInt */])(250, 300), Object(__WEBPACK_IMPORTED_MODULE_6__utils_HelperFunctions_js__["g" /* getRandomInt */])(70000000, 85000000), Object(__WEBPACK_IMPORTED_MODULE_6__utils_HelperFunctions_js__["g" /* getRandomInt */])(35, 65), Object(__WEBPACK_IMPORTED_MODULE_6__utils_HelperFunctions_js__["g" /* getRandomInt */])(35, 65)); + JohnsonOrthopedicsServer.setHackingParameters(Object(__WEBPACK_IMPORTED_MODULE_6__utils_HelperFunctions_js__["h" /* getRandomInt */])(250, 300), Object(__WEBPACK_IMPORTED_MODULE_6__utils_HelperFunctions_js__["h" /* getRandomInt */])(70000000, 85000000), Object(__WEBPACK_IMPORTED_MODULE_6__utils_HelperFunctions_js__["h" /* getRandomInt */])(35, 65), Object(__WEBPACK_IMPORTED_MODULE_6__utils_HelperFunctions_js__["h" /* getRandomInt */])(35, 65)); JohnsonOrthopedicsServer.setPortProperties(2); AddToAllServers(JohnsonOrthopedicsServer); @@ -6341,14 +6350,14 @@ function initForeignServers() { AddToAllServers(MaxHardwareServer); var OmegaSoftwareServer = new Server(Object(__WEBPACK_IMPORTED_MODULE_7__utils_IPAddress_js__["a" /* createRandomIp */])(), "omega-net", "Omega Software", false, false, false, 32); - OmegaSoftwareServer.setHackingParameters(Object(__WEBPACK_IMPORTED_MODULE_6__utils_HelperFunctions_js__["g" /* getRandomInt */])(180, 220), Object(__WEBPACK_IMPORTED_MODULE_6__utils_HelperFunctions_js__["g" /* getRandomInt */])(60000000, 70000000), Object(__WEBPACK_IMPORTED_MODULE_6__utils_HelperFunctions_js__["g" /* getRandomInt */])(25, 35), Object(__WEBPACK_IMPORTED_MODULE_6__utils_HelperFunctions_js__["g" /* getRandomInt */])(30, 40)); + OmegaSoftwareServer.setHackingParameters(Object(__WEBPACK_IMPORTED_MODULE_6__utils_HelperFunctions_js__["h" /* getRandomInt */])(180, 220), Object(__WEBPACK_IMPORTED_MODULE_6__utils_HelperFunctions_js__["h" /* getRandomInt */])(60000000, 70000000), Object(__WEBPACK_IMPORTED_MODULE_6__utils_HelperFunctions_js__["h" /* getRandomInt */])(25, 35), Object(__WEBPACK_IMPORTED_MODULE_6__utils_HelperFunctions_js__["h" /* getRandomInt */])(30, 40)); OmegaSoftwareServer.setPortProperties(2); OmegaSoftwareServer.messages.push("the-new-god.lit"); AddToAllServers(OmegaSoftwareServer); //Gyms var CrushFitnessGymServer = new Server(Object(__WEBPACK_IMPORTED_MODULE_7__utils_IPAddress_js__["a" /* createRandomIp */])(), "crush-fitness", "Crush Fitness", false, false, false, 0); - CrushFitnessGymServer.setHackingParameters(Object(__WEBPACK_IMPORTED_MODULE_6__utils_HelperFunctions_js__["g" /* getRandomInt */])(225, 275), Object(__WEBPACK_IMPORTED_MODULE_6__utils_HelperFunctions_js__["g" /* getRandomInt */])(40000000, 60000000), Object(__WEBPACK_IMPORTED_MODULE_6__utils_HelperFunctions_js__["g" /* getRandomInt */])(35, 45), Object(__WEBPACK_IMPORTED_MODULE_6__utils_HelperFunctions_js__["g" /* getRandomInt */])(27, 33)); + CrushFitnessGymServer.setHackingParameters(Object(__WEBPACK_IMPORTED_MODULE_6__utils_HelperFunctions_js__["h" /* getRandomInt */])(225, 275), Object(__WEBPACK_IMPORTED_MODULE_6__utils_HelperFunctions_js__["h" /* getRandomInt */])(40000000, 60000000), Object(__WEBPACK_IMPORTED_MODULE_6__utils_HelperFunctions_js__["h" /* getRandomInt */])(35, 45), Object(__WEBPACK_IMPORTED_MODULE_6__utils_HelperFunctions_js__["h" /* getRandomInt */])(27, 33)); CrushFitnessGymServer.setPortProperties(2); AddToAllServers(CrushFitnessGymServer); @@ -6358,23 +6367,23 @@ function initForeignServers() { AddToAllServers(IronGymServer); var MilleniumFitnessGymServer = new Server(Object(__WEBPACK_IMPORTED_MODULE_7__utils_IPAddress_js__["a" /* createRandomIp */])(), "millenium-fitness", "Millenium Fitness Network", false, false, false, 0); - MilleniumFitnessGymServer.setHackingParameters(Object(__WEBPACK_IMPORTED_MODULE_6__utils_HelperFunctions_js__["g" /* getRandomInt */])(475, 525), 250000000, Object(__WEBPACK_IMPORTED_MODULE_6__utils_HelperFunctions_js__["g" /* getRandomInt */])(45, 55), Object(__WEBPACK_IMPORTED_MODULE_6__utils_HelperFunctions_js__["g" /* getRandomInt */])(25, 45)); + MilleniumFitnessGymServer.setHackingParameters(Object(__WEBPACK_IMPORTED_MODULE_6__utils_HelperFunctions_js__["h" /* getRandomInt */])(475, 525), 250000000, Object(__WEBPACK_IMPORTED_MODULE_6__utils_HelperFunctions_js__["h" /* getRandomInt */])(45, 55), Object(__WEBPACK_IMPORTED_MODULE_6__utils_HelperFunctions_js__["h" /* getRandomInt */])(25, 45)); MilleniumFitnessGymServer.setPortProperties(3); AddToAllServers(MilleniumFitnessGymServer); var PowerhouseGymServer = new Server(Object(__WEBPACK_IMPORTED_MODULE_7__utils_IPAddress_js__["a" /* createRandomIp */])(), "powerhouse-fitness", "Powerhouse Fitness", false, false, false, 0); - PowerhouseGymServer.setHackingParameters(Object(__WEBPACK_IMPORTED_MODULE_6__utils_HelperFunctions_js__["g" /* getRandomInt */])(950, 1100), 900000000, Object(__WEBPACK_IMPORTED_MODULE_6__utils_HelperFunctions_js__["g" /* getRandomInt */])(55, 65), Object(__WEBPACK_IMPORTED_MODULE_6__utils_HelperFunctions_js__["g" /* getRandomInt */])(50, 60)); + PowerhouseGymServer.setHackingParameters(Object(__WEBPACK_IMPORTED_MODULE_6__utils_HelperFunctions_js__["h" /* getRandomInt */])(950, 1100), 900000000, Object(__WEBPACK_IMPORTED_MODULE_6__utils_HelperFunctions_js__["h" /* getRandomInt */])(55, 65), Object(__WEBPACK_IMPORTED_MODULE_6__utils_HelperFunctions_js__["h" /* getRandomInt */])(50, 60)); PowerhouseGymServer.setPortProperties(5); AddToAllServers(PowerhouseGymServer); var SnapFitnessGymServer = new Server(Object(__WEBPACK_IMPORTED_MODULE_7__utils_IPAddress_js__["a" /* createRandomIp */])(), "snap-fitness", "Snap Fitness", false, false, false, 0); - SnapFitnessGymServer.setHackingParameters(Object(__WEBPACK_IMPORTED_MODULE_6__utils_HelperFunctions_js__["g" /* getRandomInt */])(675, 800), 450000000, Object(__WEBPACK_IMPORTED_MODULE_6__utils_HelperFunctions_js__["g" /* getRandomInt */])(40, 60), Object(__WEBPACK_IMPORTED_MODULE_6__utils_HelperFunctions_js__["g" /* getRandomInt */])(40, 60)); + SnapFitnessGymServer.setHackingParameters(Object(__WEBPACK_IMPORTED_MODULE_6__utils_HelperFunctions_js__["h" /* getRandomInt */])(675, 800), 450000000, Object(__WEBPACK_IMPORTED_MODULE_6__utils_HelperFunctions_js__["h" /* getRandomInt */])(40, 60), Object(__WEBPACK_IMPORTED_MODULE_6__utils_HelperFunctions_js__["h" /* getRandomInt */])(40, 60)); SnapFitnessGymServer.setPortProperties(4); AddToAllServers(SnapFitnessGymServer); //Faction servers, cannot hack money from these var BitRunnersServer = new Server(Object(__WEBPACK_IMPORTED_MODULE_7__utils_IPAddress_js__["a" /* createRandomIp */])(), "run4theh111z", "The Runners", false, false, false, 2); - BitRunnersServer.setHackingParameters(Object(__WEBPACK_IMPORTED_MODULE_6__utils_HelperFunctions_js__["g" /* getRandomInt */])(505, 550), 0, 0, 0); + BitRunnersServer.setHackingParameters(Object(__WEBPACK_IMPORTED_MODULE_6__utils_HelperFunctions_js__["h" /* getRandomInt */])(505, 550), 0, 0, 0); BitRunnersServer.setPortProperties(4); BitRunnersServer.messages.push("simulated-reality.lit"); BitRunnersServer.messages.push("the-new-god.lit"); @@ -6382,27 +6391,27 @@ function initForeignServers() { __WEBPACK_IMPORTED_MODULE_5__SpecialServerIps_js__["a" /* SpecialServerIps */].addIp(__WEBPACK_IMPORTED_MODULE_5__SpecialServerIps_js__["b" /* SpecialServerNames */].BitRunnersServer, BitRunnersServer.ip); var TheBlackHandServer = new Server(Object(__WEBPACK_IMPORTED_MODULE_7__utils_IPAddress_js__["a" /* createRandomIp */])(), "I.I.I.I", "I.I.I.I", false, false, false, 2); - TheBlackHandServer.setHackingParameters(Object(__WEBPACK_IMPORTED_MODULE_6__utils_HelperFunctions_js__["g" /* getRandomInt */])(340, 365), 0, 0, 0); + TheBlackHandServer.setHackingParameters(Object(__WEBPACK_IMPORTED_MODULE_6__utils_HelperFunctions_js__["h" /* getRandomInt */])(340, 365), 0, 0, 0); TheBlackHandServer.setPortProperties(3); TheBlackHandServer.messages.push("democracy-is-dead.lit"); AddToAllServers(TheBlackHandServer); __WEBPACK_IMPORTED_MODULE_5__SpecialServerIps_js__["a" /* SpecialServerIps */].addIp(__WEBPACK_IMPORTED_MODULE_5__SpecialServerIps_js__["b" /* SpecialServerNames */].TheBlackHandServer, TheBlackHandServer.ip); var NiteSecServer = new Server(Object(__WEBPACK_IMPORTED_MODULE_7__utils_IPAddress_js__["a" /* createRandomIp */])(), "avmnite-02h", "NiteSec", false, false, false, 2); - NiteSecServer.setHackingParameters(Object(__WEBPACK_IMPORTED_MODULE_6__utils_HelperFunctions_js__["g" /* getRandomInt */])(202, 220), 0, 0, 0); + NiteSecServer.setHackingParameters(Object(__WEBPACK_IMPORTED_MODULE_6__utils_HelperFunctions_js__["h" /* getRandomInt */])(202, 220), 0, 0, 0); NiteSecServer.setPortProperties(2); NiteSecServer.messages.push("democracy-is-dead.lit"); AddToAllServers(NiteSecServer); __WEBPACK_IMPORTED_MODULE_5__SpecialServerIps_js__["a" /* SpecialServerIps */].addIp(__WEBPACK_IMPORTED_MODULE_5__SpecialServerIps_js__["b" /* SpecialServerNames */].NiteSecServer, NiteSecServer.ip); var DarkArmyServer = new Server(Object(__WEBPACK_IMPORTED_MODULE_7__utils_IPAddress_js__["a" /* createRandomIp */])(), ".", ".", false, false, false, 0); - DarkArmyServer.setHackingParameters(Object(__WEBPACK_IMPORTED_MODULE_6__utils_HelperFunctions_js__["g" /* getRandomInt */])(505, 550), 0, 0, 0); + DarkArmyServer.setHackingParameters(Object(__WEBPACK_IMPORTED_MODULE_6__utils_HelperFunctions_js__["h" /* getRandomInt */])(505, 550), 0, 0, 0); DarkArmyServer.setPortProperties(4); AddToAllServers(DarkArmyServer); __WEBPACK_IMPORTED_MODULE_5__SpecialServerIps_js__["a" /* SpecialServerIps */].addIp(__WEBPACK_IMPORTED_MODULE_5__SpecialServerIps_js__["b" /* SpecialServerNames */].TheDarkArmyServer, DarkArmyServer.ip); var CyberSecServer = new Server(Object(__WEBPACK_IMPORTED_MODULE_7__utils_IPAddress_js__["a" /* createRandomIp */])(), "CSEC", "CyberSec", false, false, false, 2); - CyberSecServer.setHackingParameters(Object(__WEBPACK_IMPORTED_MODULE_6__utils_HelperFunctions_js__["g" /* getRandomInt */])(51, 60), 0, 0, 0); + CyberSecServer.setHackingParameters(Object(__WEBPACK_IMPORTED_MODULE_6__utils_HelperFunctions_js__["h" /* getRandomInt */])(51, 60), 0, 0, 0); CyberSecServer.setPortProperties(1); CyberSecServer.messages.push("democracy-is-dead.lit"); AddToAllServers(CyberSecServer); @@ -17473,7 +17482,7 @@ function runScriptsLoop() { Object(__WEBPACK_IMPORTED_MODULE_8__utils_DialogBox_js__["a" /* dialogBoxCreate */])("Script runtime error:
Server Ip: " + serverIp + "
Script name: " + scriptName + - "
Args:" + Object(__WEBPACK_IMPORTED_MODULE_9__utils_HelperFunctions_js__["i" /* printArray */])(w.args) + "
" + errorMsg); + "
Args:" + Object(__WEBPACK_IMPORTED_MODULE_9__utils_HelperFunctions_js__["j" /* printArray */])(w.args) + "
" + errorMsg); w.scriptRef.log("Script crashed with runtime error"); } else { w.scriptRef.log("Script killed"); @@ -17530,7 +17539,7 @@ function addWorkerScript(runningScriptObj, server) { var ramAvailable = server.maxRam - server.ramUsed; if (ramUsage > ramAvailable) { Object(__WEBPACK_IMPORTED_MODULE_8__utils_DialogBox_js__["a" /* dialogBoxCreate */])("Not enough RAM to run script " + runningScriptObj.filename + " with args " + - Object(__WEBPACK_IMPORTED_MODULE_9__utils_HelperFunctions_js__["i" /* printArray */])(runningScriptObj.args) + ". This likely occurred because you re-loaded " + + Object(__WEBPACK_IMPORTED_MODULE_9__utils_HelperFunctions_js__["j" /* printArray */])(runningScriptObj.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.)"); return; @@ -21140,67 +21149,67 @@ function getNumAvailableCreateProgram() { function initCreateProgramButtons() { var createProgramList = document.getElementById("create-program-list"); - nukeALink = Object(__WEBPACK_IMPORTED_MODULE_2__utils_HelperFunctions_js__["e" /* createElement */])("a", { + nukeALink = Object(__WEBPACK_IMPORTED_MODULE_2__utils_HelperFunctions_js__["f" /* createElement */])("a", { class:"a-link-button", id:"create-program-nuke", innerText:Programs.NukeProgram, tooltip:"This virus is used to gain root access to a machine if enough ports are opened.", }); createProgramList.appendChild(nukeALink); - bruteSshALink = Object(__WEBPACK_IMPORTED_MODULE_2__utils_HelperFunctions_js__["e" /* createElement */])("a", { + bruteSshALink = Object(__WEBPACK_IMPORTED_MODULE_2__utils_HelperFunctions_js__["f" /* createElement */])("a", { class:"a-link-button", id:"create-program-brutessh", innerText:Programs.BruteSSHProgram, tooltip:"This program executes a brute force attack that opens SSH ports" }); createProgramList.appendChild(bruteSshALink); - ftpCrackALink = Object(__WEBPACK_IMPORTED_MODULE_2__utils_HelperFunctions_js__["e" /* createElement */])("a", { + ftpCrackALink = Object(__WEBPACK_IMPORTED_MODULE_2__utils_HelperFunctions_js__["f" /* createElement */])("a", { class:"a-link-button", id:"create-program-ftpcrack", innerText:Programs.FTPCrackProgram, tooltip:"This program cracks open FTP ports" }); createProgramList.appendChild(ftpCrackALink); - relaySmtpALink = Object(__WEBPACK_IMPORTED_MODULE_2__utils_HelperFunctions_js__["e" /* createElement */])("a", { + relaySmtpALink = Object(__WEBPACK_IMPORTED_MODULE_2__utils_HelperFunctions_js__["f" /* createElement */])("a", { class:"a-link-button", id:"create-program-relaysmtp", innerText:Programs.RelaySMTPProgram, tooltip:"This program opens SMTP ports by redirecting data" }) ; createProgramList.appendChild(relaySmtpALink); - httpWormALink = Object(__WEBPACK_IMPORTED_MODULE_2__utils_HelperFunctions_js__["e" /* createElement */])("a", { + httpWormALink = Object(__WEBPACK_IMPORTED_MODULE_2__utils_HelperFunctions_js__["f" /* createElement */])("a", { class:"a-link-button", id:"create-program-httpworm", innerText:Programs.HTTPWormProgram, tooltip:"This virus opens up HTTP ports" }); createProgramList.appendChild(httpWormALink); - sqlInjectALink = Object(__WEBPACK_IMPORTED_MODULE_2__utils_HelperFunctions_js__["e" /* createElement */])("a", { + sqlInjectALink = Object(__WEBPACK_IMPORTED_MODULE_2__utils_HelperFunctions_js__["f" /* createElement */])("a", { class:"a-link-button", id:"create-program-sqlinject", innerText:Programs.SQLInjectProgram, tooltip:"This virus opens SQL ports" }); createProgramList.appendChild(sqlInjectALink); - deepscanv1ALink = Object(__WEBPACK_IMPORTED_MODULE_2__utils_HelperFunctions_js__["e" /* createElement */])("a", { + deepscanv1ALink = Object(__WEBPACK_IMPORTED_MODULE_2__utils_HelperFunctions_js__["f" /* createElement */])("a", { class:"a-link-button", id:"create-program-deepscanv1", innerText:Programs.DeepscanV1, tooltip:"This program allows you to use the scan-analyze command with a depth up to 5" }); createProgramList.appendChild(deepscanv1ALink); - deepscanv2ALink = Object(__WEBPACK_IMPORTED_MODULE_2__utils_HelperFunctions_js__["e" /* createElement */])("a", { + deepscanv2ALink = Object(__WEBPACK_IMPORTED_MODULE_2__utils_HelperFunctions_js__["f" /* createElement */])("a", { class:"a-link-button", id:"create-program-deepscanv2", innerText:Programs.DeepscanV2, tooltip:"This program allows you to use the scan-analyze command with a depth up to 10" }); createProgramList.appendChild(deepscanv2ALink); - servProfilerALink = Object(__WEBPACK_IMPORTED_MODULE_2__utils_HelperFunctions_js__["e" /* createElement */])("a", { + servProfilerALink = Object(__WEBPACK_IMPORTED_MODULE_2__utils_HelperFunctions_js__["f" /* createElement */])("a", { class:"a-link-button", id:"create-program-serverprofiler", innerText:Programs.ServerProfiler, tooltip:"This program is used to display hacking and Netscript-related information about servers" }); createProgramList.appendChild(servProfilerALink); - bitFlumeALink = Object(__WEBPACK_IMPORTED_MODULE_2__utils_HelperFunctions_js__["e" /* createElement */])("a", { + bitFlumeALink = Object(__WEBPACK_IMPORTED_MODULE_2__utils_HelperFunctions_js__["f" /* createElement */])("a", { class:"a-link-button", id:"create-program-bitflume", innerText:Programs.BitFlume, tooltip:"This program creates a portal to the BitNode Nexus (allows you to restart and switch BitNodes)" }); createProgramList.appendChild(bitFlumeALink); - autolinkALink = Object(__WEBPACK_IMPORTED_MODULE_2__utils_HelperFunctions_js__["e" /* createElement */])("a", { + autolinkALink = Object(__WEBPACK_IMPORTED_MODULE_2__utils_HelperFunctions_js__["f" /* createElement */])("a", { class:"a-link-button", id:"create-program-autolink", innerText:"AutoLink.exe", tooltip:"This program allows you to directly connect to other servers through the 'scan-analyze' command" }); @@ -21441,7 +21450,7 @@ function scriptEditorInit() { console.log("Error finding 'script-editor-buttons-wrapper'"); return; } - var closeButton = Object(__WEBPACK_IMPORTED_MODULE_12__utils_HelperFunctions_js__["e" /* createElement */])("a", { + var closeButton = Object(__WEBPACK_IMPORTED_MODULE_12__utils_HelperFunctions_js__["f" /* createElement */])("a", { class:"a-link-button", display:"inline-block", innerText:"Save & Close (Ctrl + b)", clickListener:()=>{ @@ -21450,11 +21459,11 @@ function scriptEditorInit() { } }); - scriptEditorRamText = Object(__WEBPACK_IMPORTED_MODULE_12__utils_HelperFunctions_js__["e" /* createElement */])("p", { + scriptEditorRamText = Object(__WEBPACK_IMPORTED_MODULE_12__utils_HelperFunctions_js__["f" /* createElement */])("p", { display:"inline-block", margin:"10px", id:"script-editor-status-text" }); - var checkboxLabel = Object(__WEBPACK_IMPORTED_MODULE_12__utils_HelperFunctions_js__["e" /* createElement */])("label", { + var checkboxLabel = Object(__WEBPACK_IMPORTED_MODULE_12__utils_HelperFunctions_js__["f" /* createElement */])("label", { for:"script-editor-ram-check", margin:"4px", marginTop: "8px", innerText:"Dynamic RAM Usage Checker", color:"white", tooltip:"Enable/Disable the dynamic RAM Usage display. You may " + @@ -21462,13 +21471,13 @@ function scriptEditorInit() { "performance issues" }); - scriptEditorRamCheck = Object(__WEBPACK_IMPORTED_MODULE_12__utils_HelperFunctions_js__["e" /* createElement */])("input", { + scriptEditorRamCheck = Object(__WEBPACK_IMPORTED_MODULE_12__utils_HelperFunctions_js__["f" /* createElement */])("input", { type:"checkbox", name:"script-editor-ram-check", id:"script-editor-ram-check", margin:"4px", marginTop: "8px", }); scriptEditorRamCheck.checked = true; - var documentationButton = Object(__WEBPACK_IMPORTED_MODULE_12__utils_HelperFunctions_js__["e" /* createElement */])("a", { + var documentationButton = Object(__WEBPACK_IMPORTED_MODULE_12__utils_HelperFunctions_js__["f" /* createElement */])("a", { display:"inline-block", class:"a-link-button", innerText:"Netscript Documentation", href:"https://bitburner.wikia.com/wiki/Netscript", target:"_blank" @@ -23782,7 +23791,7 @@ let Terminal = { return; } else { //Able to run script - post("Running script with " + numThreads + " thread(s) and args: " + Object(__WEBPACK_IMPORTED_MODULE_18__utils_HelperFunctions_js__["i" /* printArray */])(args) + "."); + post("Running script with " + numThreads + " thread(s) and args: " + Object(__WEBPACK_IMPORTED_MODULE_18__utils_HelperFunctions_js__["j" /* printArray */])(args) + "."); post("May take a few seconds to start up the process..."); var runningScriptObj = new __WEBPACK_IMPORTED_MODULE_13__Script_js__["b" /* RunningScript */](script, args); runningScriptObj.threads = numThreads; @@ -27639,15 +27648,15 @@ function NetscriptFunctions(workerScript) { } var runningScriptObj = Object(__WEBPACK_IMPORTED_MODULE_15__Script_js__["d" /* findRunningScript */])(filename, argsForKillTarget, server); if (runningScriptObj == null) { - workerScript.scriptRef.log("kill() failed. No such script "+ filename + " on " + server.hostname + " with args: " + Object(__WEBPACK_IMPORTED_MODULE_27__utils_HelperFunctions_js__["i" /* printArray */])(argsForKillTarget)); + workerScript.scriptRef.log("kill() failed. No such script "+ filename + " on " + server.hostname + " with args: " + Object(__WEBPACK_IMPORTED_MODULE_27__utils_HelperFunctions_js__["j" /* printArray */])(argsForKillTarget)); return false; } var res = Object(__WEBPACK_IMPORTED_MODULE_22__NetscriptWorker_js__["d" /* killWorkerScript */])(runningScriptObj, server.ip); if (res) { - workerScript.scriptRef.log("Killing " + filename + " on " + server.hostname + " with args: " + Object(__WEBPACK_IMPORTED_MODULE_27__utils_HelperFunctions_js__["i" /* printArray */])(argsForKillTarget) + ". May take up to a few minutes for the scripts to die..."); + workerScript.scriptRef.log("Killing " + filename + " on " + server.hostname + " with args: " + Object(__WEBPACK_IMPORTED_MODULE_27__utils_HelperFunctions_js__["j" /* printArray */])(argsForKillTarget) + ". May take up to a few minutes for the scripts to die..."); return true; } else { - workerScript.scriptRef.log("kill() failed. No such script "+ filename + " on " + server.hostname + " with args: " + Object(__WEBPACK_IMPORTED_MODULE_27__utils_HelperFunctions_js__["i" /* printArray */])(argsForKillTarget)); + workerScript.scriptRef.log("kill() failed. No such script "+ filename + " on " + server.hostname + " with args: " + Object(__WEBPACK_IMPORTED_MODULE_27__utils_HelperFunctions_js__["j" /* printArray */])(argsForKillTarget)); return false; } }, @@ -28517,7 +28526,7 @@ function NetscriptFunctions(workerScript) { } ram = Math.round(ram); - if (isNaN(ram) || !Object(__WEBPACK_IMPORTED_MODULE_27__utils_HelperFunctions_js__["h" /* powerOfTwo */])(ram)) { + if (isNaN(ram) || !Object(__WEBPACK_IMPORTED_MODULE_27__utils_HelperFunctions_js__["i" /* powerOfTwo */])(ram)) { workerScript.scriptRef.log("Error: Invalid ram argument passed to purchaseServer(). Must be numeric and a power of 2"); return ""; } @@ -28950,7 +28959,7 @@ function NetscriptFunctions(workerScript) { } var runningScriptObj = Object(__WEBPACK_IMPORTED_MODULE_15__Script_js__["d" /* findRunningScript */])(scriptname, argsForScript, server); if (runningScriptObj == null) { - workerScript.scriptRef.log("getScriptIncome() failed. No such script "+ scriptname + " on " + server.hostname + " with args: " + Object(__WEBPACK_IMPORTED_MODULE_27__utils_HelperFunctions_js__["i" /* printArray */])(argsForScript)); + workerScript.scriptRef.log("getScriptIncome() failed. No such script "+ scriptname + " on " + server.hostname + " with args: " + Object(__WEBPACK_IMPORTED_MODULE_27__utils_HelperFunctions_js__["j" /* printArray */])(argsForScript)); return -1; } return runningScriptObj.onlineMoneyMade / runningScriptObj.onlineRunningTime; @@ -28984,7 +28993,7 @@ function NetscriptFunctions(workerScript) { } var runningScriptObj = Object(__WEBPACK_IMPORTED_MODULE_15__Script_js__["d" /* findRunningScript */])(scriptname, argsForScript, server); if (runningScriptObj == null) { - workerScript.scriptRef.log("getScriptExpGain() failed. No such script "+ scriptname + " on " + server.hostname + " with args: " + Object(__WEBPACK_IMPORTED_MODULE_27__utils_HelperFunctions_js__["i" /* printArray */])(argsForScript)); + workerScript.scriptRef.log("getScriptExpGain() failed. No such script "+ scriptname + " on " + server.hostname + " with args: " + Object(__WEBPACK_IMPORTED_MODULE_27__utils_HelperFunctions_js__["j" /* printArray */])(argsForScript)); return -1; } return runningScriptObj.onlineExpGained / runningScriptObj.onlineRunningTime; @@ -35543,7 +35552,7 @@ function createActiveScriptsText(workerscript, item) { //Server ip/hostname var threads = "Threads: " + workerscript.scriptRef.threads; - var args = "Args: " + Object(__WEBPACK_IMPORTED_MODULE_4__utils_HelperFunctions_js__["i" /* printArray */])(workerscript.args); + var args = "Args: " + Object(__WEBPACK_IMPORTED_MODULE_4__utils_HelperFunctions_js__["j" /* printArray */])(workerscript.args); itemTextHeader.innerHTML = threads + "
" + args + "
"; @@ -36537,16 +36546,16 @@ HackingMission.prototype.init = function() { //Randomly generate enemy nodes (CPU and Firewall) based on difficulty var numNodes = Math.min(8, Math.max(1, Math.round(this.difficulty / 4))); var numFirewalls = Math.min(20, - Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["g" /* getRandomInt */])(Math.round(this.difficulty/3), Math.round(this.difficulty/3) + 1)); - var numDatabases = Math.min(10, Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["g" /* getRandomInt */])(1, Math.round(this.difficulty / 3) + 1)); + Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["h" /* getRandomInt */])(Math.round(this.difficulty/3), Math.round(this.difficulty/3) + 1)); + var numDatabases = Math.min(10, Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["h" /* getRandomInt */])(1, Math.round(this.difficulty / 3) + 1)); var totalNodes = numNodes + numFirewalls + numDatabases; var xlimit = 7 - Math.floor(totalNodes / 8); var randMult = Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["a" /* addOffset */])(0.8 + (this.difficulty / 5), 10); for (var i = 0; i < numNodes; ++i) { var stats = { - atk: randMult * Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["g" /* getRandomInt */])(80, 86), - def: randMult * Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["g" /* getRandomInt */])(5, 10), - hp: randMult * Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["g" /* getRandomInt */])(210, 230) + atk: randMult * Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["h" /* getRandomInt */])(80, 86), + def: randMult * Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["h" /* getRandomInt */])(5, 10), + hp: randMult * Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["h" /* getRandomInt */])(210, 230) } this.enemyCores.push(new Node(NodeTypes.Core, stats)); this.enemyCores[i].setControlledByEnemy(); @@ -36555,8 +36564,8 @@ HackingMission.prototype.init = function() { for (var i = 0; i < numFirewalls; ++i) { var stats = { atk: 0, - def: randMult * Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["g" /* getRandomInt */])(10, 20), - hp: randMult * Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["g" /* getRandomInt */])(275, 300) + def: randMult * Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["h" /* getRandomInt */])(10, 20), + hp: randMult * Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["h" /* getRandomInt */])(275, 300) } this.enemyNodes.push(new Node(NodeTypes.Firewall, stats)); this.enemyNodes[i].setControlledByEnemy(); @@ -36565,8 +36574,8 @@ HackingMission.prototype.init = function() { for (var i = 0; i < numDatabases; ++i) { var stats = { atk: 0, - def: randMult * Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["g" /* getRandomInt */])(30, 55), - hp: randMult * Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["g" /* getRandomInt */])(210, 275) + def: randMult * Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["h" /* getRandomInt */])(30, 55), + hp: randMult * Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["h" /* getRandomInt */])(210, 275) } var node = new Node(NodeTypes.Database, stats); node.setControlledByEnemy(); @@ -36956,7 +36965,7 @@ HackingMission.prototype.setNodePosition = function(nodeObj, x, y) { } HackingMission.prototype.setNodeRandomPosition = function(nodeObj, xlimit=0) { - var i = Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["g" /* getRandomInt */])(0, this.availablePositions.length - 1); + var i = Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["h" /* getRandomInt */])(0, this.availablePositions.length - 1); if (this.availablePositions[i][1] < xlimit) { //Recurse if not within limit return this.setNodeRandomPosition(nodeObj, xlimit); @@ -36980,22 +36989,22 @@ HackingMission.prototype.createMap = function() { for (var x = 0; x < 8; ++x) { for (var y = 0; y < 8; ++y) { if (!(this.map[x][y] instanceof Node)) { - var node, type = Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["g" /* getRandomInt */])(0, 2); + var node, type = Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["h" /* getRandomInt */])(0, 2); var randMult = Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["a" /* addOffset */])(0.85 + (this.difficulty / 2), 15); switch (type) { case 0: //Spam var stats = { atk: 0, - def: averageAttack * 1.1 + Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["g" /* getRandomInt */])(15, 45), - hp: randMult * Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["g" /* getRandomInt */])(200, 225) + def: averageAttack * 1.1 + Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["h" /* getRandomInt */])(15, 45), + hp: randMult * Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["h" /* getRandomInt */])(200, 225) } node = new Node(NodeTypes.Spam, stats); break; case 1: //Transfer var stats = { atk: 0, - def: averageAttack * 1.1 + Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["g" /* getRandomInt */])(15, 45), - hp: randMult * Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["g" /* getRandomInt */])(250, 275) + def: averageAttack * 1.1 + Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["h" /* getRandomInt */])(15, 45), + hp: randMult * Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["h" /* getRandomInt */])(250, 275) } node = new Node(NodeTypes.Transfer, stats); break; @@ -37003,8 +37012,8 @@ HackingMission.prototype.createMap = function() { default: var stats = { atk: 0, - def: averageAttack * 1.1 + Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["g" /* getRandomInt */])(30, 70), - hp: randMult * Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["g" /* getRandomInt */])(300, 320) + def: averageAttack * 1.1 + Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["h" /* getRandomInt */])(30, 70), + hp: randMult * Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["h" /* getRandomInt */])(300, 320) } node = new Node(NodeTypes.Shield, stats); break; @@ -37677,7 +37686,7 @@ HackingMission.prototype.enemyAISelectAction = function(nodeObj) { if (nodeObj.conn == null) { if (this.miscNodes.length === 0) { //Randomly pick a player node and attack it if its reachable - var rand = Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["g" /* getRandomInt */])(0, this.playerNodes.length-1); + var rand = Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["h" /* getRandomInt */])(0, this.playerNodes.length-1); var node; if (this.playerNodes.length === 0) { node = null; @@ -37693,7 +37702,7 @@ HackingMission.prototype.enemyAISelectAction = function(nodeObj) { ++node.targetedCount; } else { //Randomly pick a player core and attack it if its reachable - rand = Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["g" /* getRandomInt */])(0, this.playerCores.length-1); + rand = Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["h" /* getRandomInt */])(0, this.playerCores.length-1); if (this.playerCores.length === 0) { return; //No Misc Nodes, no player Nodes, no Player cores. Player lost } else { @@ -37711,7 +37720,7 @@ HackingMission.prototype.enemyAISelectAction = function(nodeObj) { } } else { //Randomly pick a misc node and attack it if its reachable - var rand = Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["g" /* getRandomInt */])(0, this.miscNodes.length-1); + var rand = Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["h" /* getRandomInt */])(0, this.miscNodes.length-1); var node = this.miscNodes[rand]; if (this.nodeReachableByEnemy(node)) { nodeObj.conn = this.jsplumbinstance.connect({ @@ -38123,135 +38132,135 @@ function initStockMarket() { } var ecorp = __WEBPACK_IMPORTED_MODULE_2__Location_js__["a" /* Locations */].AevumECorp; - var ecorpStk = new Stock(ecorp, StockSymbols[ecorp], 0.45, true, 19, Object(__WEBPACK_IMPORTED_MODULE_7__utils_HelperFunctions_js__["g" /* getRandomInt */])(20000, 25000)); + var ecorpStk = new Stock(ecorp, StockSymbols[ecorp], 0.45, true, 19, Object(__WEBPACK_IMPORTED_MODULE_7__utils_HelperFunctions_js__["h" /* getRandomInt */])(20000, 25000)); StockMarket[ecorp] = ecorpStk; var megacorp = __WEBPACK_IMPORTED_MODULE_2__Location_js__["a" /* Locations */].Sector12MegaCorp; - var megacorpStk = new Stock(megacorp, StockSymbols[megacorp], 0.45, true, 19, Object(__WEBPACK_IMPORTED_MODULE_7__utils_HelperFunctions_js__["g" /* getRandomInt */])(25000, 33000)); + var megacorpStk = new Stock(megacorp, StockSymbols[megacorp], 0.45, true, 19, Object(__WEBPACK_IMPORTED_MODULE_7__utils_HelperFunctions_js__["h" /* getRandomInt */])(25000, 33000)); StockMarket[megacorp] = megacorpStk; var blade = __WEBPACK_IMPORTED_MODULE_2__Location_js__["a" /* Locations */].Sector12BladeIndustries; - var bladeStk = new Stock(blade, StockSymbols[blade], 0.75, true, 13, Object(__WEBPACK_IMPORTED_MODULE_7__utils_HelperFunctions_js__["g" /* getRandomInt */])(15000, 22000)); + var bladeStk = new Stock(blade, StockSymbols[blade], 0.75, true, 13, Object(__WEBPACK_IMPORTED_MODULE_7__utils_HelperFunctions_js__["h" /* getRandomInt */])(15000, 22000)); StockMarket[blade] = bladeStk; var clarke = __WEBPACK_IMPORTED_MODULE_2__Location_js__["a" /* Locations */].AevumClarkeIncorporated; - var clarkeStk = new Stock(clarke, StockSymbols[clarke], 0.7, true, 12, Object(__WEBPACK_IMPORTED_MODULE_7__utils_HelperFunctions_js__["g" /* getRandomInt */])(15000, 20000)); + var clarkeStk = new Stock(clarke, StockSymbols[clarke], 0.7, true, 12, Object(__WEBPACK_IMPORTED_MODULE_7__utils_HelperFunctions_js__["h" /* getRandomInt */])(15000, 20000)); StockMarket[clarke] = clarkeStk; var omnitek = __WEBPACK_IMPORTED_MODULE_2__Location_js__["a" /* Locations */].VolhavenOmniTekIncorporated; - var omnitekStk = new Stock(omnitek, StockSymbols[omnitek], 0.65, true, 12, Object(__WEBPACK_IMPORTED_MODULE_7__utils_HelperFunctions_js__["g" /* getRandomInt */])(35000, 40000)); + var omnitekStk = new Stock(omnitek, StockSymbols[omnitek], 0.65, true, 12, Object(__WEBPACK_IMPORTED_MODULE_7__utils_HelperFunctions_js__["h" /* getRandomInt */])(35000, 40000)); StockMarket[omnitek] = omnitekStk; var foursigma = __WEBPACK_IMPORTED_MODULE_2__Location_js__["a" /* Locations */].Sector12FourSigma; - var foursigmaStk = new Stock(foursigma, StockSymbols[foursigma], 1.05, true, 17, Object(__WEBPACK_IMPORTED_MODULE_7__utils_HelperFunctions_js__["g" /* getRandomInt */])(60000, 70000)); + var foursigmaStk = new Stock(foursigma, StockSymbols[foursigma], 1.05, true, 17, Object(__WEBPACK_IMPORTED_MODULE_7__utils_HelperFunctions_js__["h" /* getRandomInt */])(60000, 70000)); StockMarket[foursigma] = foursigmaStk; var kuaigong = __WEBPACK_IMPORTED_MODULE_2__Location_js__["a" /* Locations */].ChongqingKuaiGongInternational; - var kuaigongStk = new Stock(kuaigong, StockSymbols[kuaigong], 0.8, true, 10, Object(__WEBPACK_IMPORTED_MODULE_7__utils_HelperFunctions_js__["g" /* getRandomInt */])(20000, 24000)); + var kuaigongStk = new Stock(kuaigong, StockSymbols[kuaigong], 0.8, true, 10, Object(__WEBPACK_IMPORTED_MODULE_7__utils_HelperFunctions_js__["h" /* getRandomInt */])(20000, 24000)); StockMarket[kuaigong] = kuaigongStk; var fulcrum = __WEBPACK_IMPORTED_MODULE_2__Location_js__["a" /* Locations */].AevumFulcrumTechnologies; - var fulcrumStk = new Stock(fulcrum, StockSymbols[fulcrum], 1.25, true, 16, Object(__WEBPACK_IMPORTED_MODULE_7__utils_HelperFunctions_js__["g" /* getRandomInt */])(30000, 35000)); + var fulcrumStk = new Stock(fulcrum, StockSymbols[fulcrum], 1.25, true, 16, Object(__WEBPACK_IMPORTED_MODULE_7__utils_HelperFunctions_js__["h" /* getRandomInt */])(30000, 35000)); StockMarket[fulcrum] = fulcrumStk; var storm = __WEBPACK_IMPORTED_MODULE_2__Location_js__["a" /* Locations */].IshimaStormTechnologies; - var stormStk = new Stock(storm, StockSymbols[storm], 0.85, true, 7, Object(__WEBPACK_IMPORTED_MODULE_7__utils_HelperFunctions_js__["g" /* getRandomInt */])(21000, 24000)); + var stormStk = new Stock(storm, StockSymbols[storm], 0.85, true, 7, Object(__WEBPACK_IMPORTED_MODULE_7__utils_HelperFunctions_js__["h" /* getRandomInt */])(21000, 24000)); StockMarket[storm] = stormStk; var defcomm = __WEBPACK_IMPORTED_MODULE_2__Location_js__["a" /* Locations */].NewTokyoDefComm; - var defcommStk = new Stock(defcomm, StockSymbols[defcomm], 0.65, true, 10, Object(__WEBPACK_IMPORTED_MODULE_7__utils_HelperFunctions_js__["g" /* getRandomInt */])(10000, 15000)); + var defcommStk = new Stock(defcomm, StockSymbols[defcomm], 0.65, true, 10, Object(__WEBPACK_IMPORTED_MODULE_7__utils_HelperFunctions_js__["h" /* getRandomInt */])(10000, 15000)); StockMarket[defcomm] = defcommStk; var helios = __WEBPACK_IMPORTED_MODULE_2__Location_js__["a" /* Locations */].VolhavenHeliosLabs; - var heliosStk = new Stock(helios, StockSymbols[helios], 0.6, true, 9, Object(__WEBPACK_IMPORTED_MODULE_7__utils_HelperFunctions_js__["g" /* getRandomInt */])(12000, 16000)); + var heliosStk = new Stock(helios, StockSymbols[helios], 0.6, true, 9, Object(__WEBPACK_IMPORTED_MODULE_7__utils_HelperFunctions_js__["h" /* getRandomInt */])(12000, 16000)); StockMarket[helios] = heliosStk; var vitalife = __WEBPACK_IMPORTED_MODULE_2__Location_js__["a" /* Locations */].NewTokyoVitaLife; - var vitalifeStk = new Stock(vitalife, StockSymbols[vitalife], 0.75, true, 7, Object(__WEBPACK_IMPORTED_MODULE_7__utils_HelperFunctions_js__["g" /* getRandomInt */])(10000, 12000)); + var vitalifeStk = new Stock(vitalife, StockSymbols[vitalife], 0.75, true, 7, Object(__WEBPACK_IMPORTED_MODULE_7__utils_HelperFunctions_js__["h" /* getRandomInt */])(10000, 12000)); StockMarket[vitalife] = vitalifeStk; var icarus = __WEBPACK_IMPORTED_MODULE_2__Location_js__["a" /* Locations */].Sector12IcarusMicrosystems; - var icarusStk = new Stock(icarus, StockSymbols[icarus], 0.65, true, 7.5, Object(__WEBPACK_IMPORTED_MODULE_7__utils_HelperFunctions_js__["g" /* getRandomInt */])(16000, 20000)); + var icarusStk = new Stock(icarus, StockSymbols[icarus], 0.65, true, 7.5, Object(__WEBPACK_IMPORTED_MODULE_7__utils_HelperFunctions_js__["h" /* getRandomInt */])(16000, 20000)); StockMarket[icarus] = icarusStk; var universalenergy = __WEBPACK_IMPORTED_MODULE_2__Location_js__["a" /* Locations */].Sector12UniversalEnergy; - var universalenergyStk = new Stock(universalenergy, StockSymbols[universalenergy], 0.55, true, 10, Object(__WEBPACK_IMPORTED_MODULE_7__utils_HelperFunctions_js__["g" /* getRandomInt */])(20000, 25000)); + var universalenergyStk = new Stock(universalenergy, StockSymbols[universalenergy], 0.55, true, 10, Object(__WEBPACK_IMPORTED_MODULE_7__utils_HelperFunctions_js__["h" /* getRandomInt */])(20000, 25000)); StockMarket[universalenergy] = universalenergyStk; var aerocorp = __WEBPACK_IMPORTED_MODULE_2__Location_js__["a" /* Locations */].AevumAeroCorp; - var aerocorpStk = new Stock(aerocorp, StockSymbols[aerocorp], 0.6, true, 6, Object(__WEBPACK_IMPORTED_MODULE_7__utils_HelperFunctions_js__["g" /* getRandomInt */])(10000, 15000)); + var aerocorpStk = new Stock(aerocorp, StockSymbols[aerocorp], 0.6, true, 6, Object(__WEBPACK_IMPORTED_MODULE_7__utils_HelperFunctions_js__["h" /* getRandomInt */])(10000, 15000)); StockMarket[aerocorp] = aerocorpStk; var omnia = __WEBPACK_IMPORTED_MODULE_2__Location_js__["a" /* Locations */].VolhavenOmniaCybersystems; - var omniaStk = new Stock(omnia, StockSymbols[omnia], 0.7, true, 4.5, Object(__WEBPACK_IMPORTED_MODULE_7__utils_HelperFunctions_js__["g" /* getRandomInt */])(9000, 12000)); + var omniaStk = new Stock(omnia, StockSymbols[omnia], 0.7, true, 4.5, Object(__WEBPACK_IMPORTED_MODULE_7__utils_HelperFunctions_js__["h" /* getRandomInt */])(9000, 12000)); StockMarket[omnia] = omniaStk; var solaris = __WEBPACK_IMPORTED_MODULE_2__Location_js__["a" /* Locations */].ChongqingSolarisSpaceSystems; - var solarisStk = new Stock(solaris, StockSymbols[solaris], 0.75, true, 8.5, Object(__WEBPACK_IMPORTED_MODULE_7__utils_HelperFunctions_js__["g" /* getRandomInt */])(18000, 24000)); + var solarisStk = new Stock(solaris, StockSymbols[solaris], 0.75, true, 8.5, Object(__WEBPACK_IMPORTED_MODULE_7__utils_HelperFunctions_js__["h" /* getRandomInt */])(18000, 24000)); StockMarket[solaris] = solarisStk; var globalpharm = __WEBPACK_IMPORTED_MODULE_2__Location_js__["a" /* Locations */].NewTokyoGlobalPharmaceuticals; - var globalpharmStk = new Stock(globalpharm, StockSymbols[globalpharm], 0.6, true, 10.5, Object(__WEBPACK_IMPORTED_MODULE_7__utils_HelperFunctions_js__["g" /* getRandomInt */])(18000, 24000)); + var globalpharmStk = new Stock(globalpharm, StockSymbols[globalpharm], 0.6, true, 10.5, Object(__WEBPACK_IMPORTED_MODULE_7__utils_HelperFunctions_js__["h" /* getRandomInt */])(18000, 24000)); StockMarket[globalpharm] = globalpharmStk; var nova = __WEBPACK_IMPORTED_MODULE_2__Location_js__["a" /* Locations */].IshimaNovaMedical; - var novaStk = new Stock(nova, StockSymbols[nova], 0.75, true, 5, Object(__WEBPACK_IMPORTED_MODULE_7__utils_HelperFunctions_js__["g" /* getRandomInt */])(18000, 24000)); + var novaStk = new Stock(nova, StockSymbols[nova], 0.75, true, 5, Object(__WEBPACK_IMPORTED_MODULE_7__utils_HelperFunctions_js__["h" /* getRandomInt */])(18000, 24000)); StockMarket[nova] = novaStk; var watchdog = __WEBPACK_IMPORTED_MODULE_2__Location_js__["a" /* Locations */].AevumWatchdogSecurity; - var watchdogStk = new Stock(watchdog, StockSymbols[watchdog], 2.5, true, 1.5, Object(__WEBPACK_IMPORTED_MODULE_7__utils_HelperFunctions_js__["g" /* getRandomInt */])(5000, 7500)); + var watchdogStk = new Stock(watchdog, StockSymbols[watchdog], 2.5, true, 1.5, Object(__WEBPACK_IMPORTED_MODULE_7__utils_HelperFunctions_js__["h" /* getRandomInt */])(5000, 7500)); StockMarket[watchdog] = watchdogStk; var lexocorp = __WEBPACK_IMPORTED_MODULE_2__Location_js__["a" /* Locations */].VolhavenLexoCorp; - var lexocorpStk = new Stock(lexocorp, StockSymbols[lexocorp], 1.25, true, 6, Object(__WEBPACK_IMPORTED_MODULE_7__utils_HelperFunctions_js__["g" /* getRandomInt */])(5000, 7500)); + var lexocorpStk = new Stock(lexocorp, StockSymbols[lexocorp], 1.25, true, 6, Object(__WEBPACK_IMPORTED_MODULE_7__utils_HelperFunctions_js__["h" /* getRandomInt */])(5000, 7500)); StockMarket[lexocorp] = lexocorpStk; var rho = __WEBPACK_IMPORTED_MODULE_2__Location_js__["a" /* Locations */].AevumRhoConstruction; - var rhoStk = new Stock(rho, StockSymbols[rho], 0.6, true, 1, Object(__WEBPACK_IMPORTED_MODULE_7__utils_HelperFunctions_js__["g" /* getRandomInt */])(3000, 6000)); + var rhoStk = new Stock(rho, StockSymbols[rho], 0.6, true, 1, Object(__WEBPACK_IMPORTED_MODULE_7__utils_HelperFunctions_js__["h" /* getRandomInt */])(3000, 6000)); StockMarket[rho] = rhoStk; var alpha = __WEBPACK_IMPORTED_MODULE_2__Location_js__["a" /* Locations */].Sector12AlphaEnterprises; - var alphaStk = new Stock(alpha, StockSymbols[alpha], 1.9, true, 10, Object(__WEBPACK_IMPORTED_MODULE_7__utils_HelperFunctions_js__["g" /* getRandomInt */])(5000, 7500)); + var alphaStk = new Stock(alpha, StockSymbols[alpha], 1.9, true, 10, Object(__WEBPACK_IMPORTED_MODULE_7__utils_HelperFunctions_js__["h" /* getRandomInt */])(5000, 7500)); StockMarket[alpha] = alphaStk; var syscore = __WEBPACK_IMPORTED_MODULE_2__Location_js__["a" /* Locations */].VolhavenSysCoreSecurities; - var syscoreStk = new Stock(syscore, StockSymbols[syscore], 1.6, true, 3, Object(__WEBPACK_IMPORTED_MODULE_7__utils_HelperFunctions_js__["g" /* getRandomInt */])(4000, 7000)) + var syscoreStk = new Stock(syscore, StockSymbols[syscore], 1.6, true, 3, Object(__WEBPACK_IMPORTED_MODULE_7__utils_HelperFunctions_js__["h" /* getRandomInt */])(4000, 7000)) StockMarket[syscore] = syscoreStk; var computek = __WEBPACK_IMPORTED_MODULE_2__Location_js__["a" /* Locations */].VolhavenCompuTek; - var computekStk = new Stock(computek, StockSymbols[computek], 0.9, true, 4, Object(__WEBPACK_IMPORTED_MODULE_7__utils_HelperFunctions_js__["g" /* getRandomInt */])(2000, 5000)); + var computekStk = new Stock(computek, StockSymbols[computek], 0.9, true, 4, Object(__WEBPACK_IMPORTED_MODULE_7__utils_HelperFunctions_js__["h" /* getRandomInt */])(2000, 5000)); StockMarket[computek] = computekStk; var netlink = __WEBPACK_IMPORTED_MODULE_2__Location_js__["a" /* Locations */].AevumNetLinkTechnologies; - var netlinkStk = new Stock(netlink, StockSymbols[netlink], 4.2, true, 1, Object(__WEBPACK_IMPORTED_MODULE_7__utils_HelperFunctions_js__["g" /* getRandomInt */])(2000, 4000)); + var netlinkStk = new Stock(netlink, StockSymbols[netlink], 4.2, true, 1, Object(__WEBPACK_IMPORTED_MODULE_7__utils_HelperFunctions_js__["h" /* getRandomInt */])(2000, 4000)); StockMarket[netlink] = netlinkStk; var omega = __WEBPACK_IMPORTED_MODULE_2__Location_js__["a" /* Locations */].IshimaOmegaSoftware; - var omegaStk = new Stock(omega, StockSymbols[omega], 1, true, 0.5, Object(__WEBPACK_IMPORTED_MODULE_7__utils_HelperFunctions_js__["g" /* getRandomInt */])(3000, 6000)); + var omegaStk = new Stock(omega, StockSymbols[omega], 1, true, 0.5, Object(__WEBPACK_IMPORTED_MODULE_7__utils_HelperFunctions_js__["h" /* getRandomInt */])(3000, 6000)); StockMarket[omega] = omegaStk; var fns = __WEBPACK_IMPORTED_MODULE_2__Location_js__["a" /* Locations */].Sector12FoodNStuff; - var fnsStk = new Stock(fns, StockSymbols[fns], 0.75, false, 1, Object(__WEBPACK_IMPORTED_MODULE_7__utils_HelperFunctions_js__["g" /* getRandomInt */])(1000, 4000)); + var fnsStk = new Stock(fns, StockSymbols[fns], 0.75, false, 1, Object(__WEBPACK_IMPORTED_MODULE_7__utils_HelperFunctions_js__["h" /* getRandomInt */])(1000, 4000)); StockMarket[fns] = fnsStk; var sigmacosm = "Sigma Cosmetics"; - var sigmacosmStk = new Stock(sigmacosm, StockSymbols[sigmacosm], 2.8, true, 0, Object(__WEBPACK_IMPORTED_MODULE_7__utils_HelperFunctions_js__["g" /* getRandomInt */])(2000, 3000)); + var sigmacosmStk = new Stock(sigmacosm, StockSymbols[sigmacosm], 2.8, true, 0, Object(__WEBPACK_IMPORTED_MODULE_7__utils_HelperFunctions_js__["h" /* getRandomInt */])(2000, 3000)); StockMarket[sigmacosm] = sigmacosmStk; var joesguns = "Joes Guns"; - var joesgunsStk = new Stock(joesguns, StockSymbols[joesguns], 3.8, true, 1, Object(__WEBPACK_IMPORTED_MODULE_7__utils_HelperFunctions_js__["g" /* getRandomInt */])(500, 1000)); + var joesgunsStk = new Stock(joesguns, StockSymbols[joesguns], 3.8, true, 1, Object(__WEBPACK_IMPORTED_MODULE_7__utils_HelperFunctions_js__["h" /* getRandomInt */])(500, 1000)); StockMarket[joesguns] = joesgunsStk; var catalyst = "Catalyst Ventures"; - var catalystStk = new Stock(catalyst, StockSymbols[catalyst], 1.45, true, 13.5, Object(__WEBPACK_IMPORTED_MODULE_7__utils_HelperFunctions_js__["g" /* getRandomInt */])(500, 1000)); + var catalystStk = new Stock(catalyst, StockSymbols[catalyst], 1.45, true, 13.5, Object(__WEBPACK_IMPORTED_MODULE_7__utils_HelperFunctions_js__["h" /* getRandomInt */])(500, 1000)); StockMarket[catalyst] = catalystStk; var microdyne = "Microdyne Technologies"; - var microdyneStk = new Stock(microdyne, StockSymbols[microdyne], 0.75, true, 8, Object(__WEBPACK_IMPORTED_MODULE_7__utils_HelperFunctions_js__["g" /* getRandomInt */])(20000, 25000)); + var microdyneStk = new Stock(microdyne, StockSymbols[microdyne], 0.75, true, 8, Object(__WEBPACK_IMPORTED_MODULE_7__utils_HelperFunctions_js__["h" /* getRandomInt */])(20000, 25000)); StockMarket[microdyne] = microdyneStk; var titanlabs = "Titan Laboratories"; - var titanlabsStk = new Stock(titanlabs, StockSymbols[titanlabs], 0.6, true, 11, Object(__WEBPACK_IMPORTED_MODULE_7__utils_HelperFunctions_js__["g" /* getRandomInt */])(15000, 20000)); + var titanlabsStk = new Stock(titanlabs, StockSymbols[titanlabs], 0.6, true, 11, Object(__WEBPACK_IMPORTED_MODULE_7__utils_HelperFunctions_js__["h" /* getRandomInt */])(15000, 20000)); StockMarket[titanlabs] = titanlabsStk; var orders = {}; @@ -39079,8 +39088,8 @@ function updateStockPlayerPosition(stock) { if (stock.playerShares === 0 && stock.playerShortShares === 0 && StockMarket["Orders"] && StockMarket["Orders"][stock.symbol] && StockMarket["Orders"][stock.symbol].length === 0) { - Object(__WEBPACK_IMPORTED_MODULE_7__utils_HelperFunctions_js__["k" /* removeElementById */])(tickerId + "-hdr"); - Object(__WEBPACK_IMPORTED_MODULE_7__utils_HelperFunctions_js__["k" /* removeElementById */])(tickerId + "-panel"); + Object(__WEBPACK_IMPORTED_MODULE_7__utils_HelperFunctions_js__["l" /* removeElementById */])(tickerId + "-hdr"); + Object(__WEBPACK_IMPORTED_MODULE_7__utils_HelperFunctions_js__["l" /* removeElementById */])(tickerId + "-panel"); return; } else { //If the ticker hasn't been created, create it (handles updating) @@ -39160,8 +39169,8 @@ function updateStockOrderList(stock) { if (stock.playerShares === 0 && stock.playerShortShares === 0 && StockMarket["Orders"] && StockMarket["Orders"][stock.symbol] && StockMarket["Orders"][stock.symbol].length === 0) { - Object(__WEBPACK_IMPORTED_MODULE_7__utils_HelperFunctions_js__["k" /* removeElementById */])(tickerId + "-hdr"); - Object(__WEBPACK_IMPORTED_MODULE_7__utils_HelperFunctions_js__["k" /* removeElementById */])(tickerId + "-panel"); + Object(__WEBPACK_IMPORTED_MODULE_7__utils_HelperFunctions_js__["l" /* removeElementById */])(tickerId + "-hdr"); + Object(__WEBPACK_IMPORTED_MODULE_7__utils_HelperFunctions_js__["l" /* removeElementById */])(tickerId + "-panel"); return; } else { //If the ticker hasn't been created, create it (handles updating) @@ -39267,7 +39276,7 @@ function logBoxCreate(script) { document.getElementById('log-box-kill-script').style.display = "inline-block"; logBoxOpen(); document.getElementById("log-box-text-header").innerHTML = - logBoxCurrentScript.filename + " " + Object(__WEBPACK_IMPORTED_MODULE_1__HelperFunctions_js__["i" /* printArray */])(logBoxCurrentScript.args) + ":

"; + logBoxCurrentScript.filename + " " + Object(__WEBPACK_IMPORTED_MODULE_1__HelperFunctions_js__["j" /* printArray */])(logBoxCurrentScript.args) + ":

"; logBoxCurrentScript.logUpd = true; logBoxUpdateText(); } @@ -39654,7 +39663,7 @@ Product.prototype.finishProduct = function(employeeProd, industry) { console.log("advMult: " + advMult); this.mku = 100 / (advMult * this.qlt * (busRatio + mgmtRatio)); this.dmd = industry.awareness === 0 ? 20 : Math.min(100, advMult * (100 * (industry.popularity / industry.awareness))); - this.cmp = Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["g" /* getRandomInt */])(0, 70); + this.cmp = Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["h" /* getRandomInt */])(0, 70); //Calculate the product's required materials //For now, just set it to be the same as the requirements to make materials @@ -40272,7 +40281,7 @@ Industry.prototype.processProductMarket = function(marketCycles=1) { for (var name in this.products) { if (this.products.hasOwnProperty(name)) { var product = this.products[name]; - var change = Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["g" /* getRandomInt */])(1, 3) * 0.0004; + var change = Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["h" /* getRandomInt */])(1, 3) * 0.0004; if (this.type === Industries.Pharmaceutical || this.type === Industries.Software || this.type === Industries.Robotics) { change *= 3; @@ -40736,7 +40745,7 @@ Industry.prototype.upgrade = function(upgrade, refs) { this.awareness += (4 * advMult); this.popularity += (1 * advMult); this.awareness *= (1.01 * advMult); - this.popularity *= ((1 + Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["g" /* getRandomInt */])(5, 10) / 100) * advMult); + this.popularity *= ((1 + Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["h" /* getRandomInt */])(5, 10) / 100) * advMult); break; default: console.log("ERROR: Un-implemented function index: " + upgN); @@ -40770,17 +40779,17 @@ function Employee(params={}) { this.name = params.name ? params.name : "Bobby"; //Morale, happiness, and energy are 0-100 - this.mor = params.morale ? params.morale : Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["g" /* getRandomInt */])(50, 100); - this.hap = params.happiness ? params.happiness : Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["g" /* getRandomInt */])(50, 100); - this.ene = params.energy ? params.energy : Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["g" /* getRandomInt */])(50, 100); + this.mor = params.morale ? params.morale : Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["h" /* getRandomInt */])(50, 100); + this.hap = params.happiness ? params.happiness : Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["h" /* getRandomInt */])(50, 100); + this.ene = params.energy ? params.energy : Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["h" /* getRandomInt */])(50, 100); - this.age = params.age ? params.age : Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["g" /* getRandomInt */])(20, 50); - this.int = params.intelligence ? params.intelligence : Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["g" /* getRandomInt */])(10, 50); - this.cha = params.charisma ? params.charisma : Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["g" /* getRandomInt */])(10, 50); - this.exp = params.experience ? params.experience : Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["g" /* getRandomInt */])(10, 50); - this.cre = params.creativity ? params.creativity : Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["g" /* getRandomInt */])(10, 50); - this.eff = params.efficiency ? params.efficiency : Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["g" /* getRandomInt */])(10, 50); - this.sal = params.salary ? params.salary : Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["g" /* getRandomInt */])(0.1, 5); + this.age = params.age ? params.age : Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["h" /* getRandomInt */])(20, 50); + this.int = params.intelligence ? params.intelligence : Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["h" /* getRandomInt */])(10, 50); + this.cha = params.charisma ? params.charisma : Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["h" /* getRandomInt */])(10, 50); + this.exp = params.experience ? params.experience : Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["h" /* getRandomInt */])(10, 50); + this.cre = params.creativity ? params.creativity : Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["h" /* getRandomInt */])(10, 50); + this.eff = params.efficiency ? params.efficiency : Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["h" /* getRandomInt */])(10, 50); + this.sal = params.salary ? params.salary : Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["h" /* getRandomInt */])(0.1, 5); this.pro = 0; //Productivity, This is calculated this.loc = params.loc ? params.loc : ""; @@ -40870,7 +40879,7 @@ Employee.prototype.createUI = function(panel, corporation) { effInt = this.int * corporation.getEmployeeIntMultiplier(), effEff = this.eff * corporation.getEmployeeEffMultiplier(); panel.style.color = "white"; - panel.appendChild(Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["e" /* createElement */])("p", { + panel.appendChild(Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["f" /* createElement */])("p", { id:"cmpy-mgmt-employee-" + this.name + "-panel-text", innerHTML:"Morale: " + Object(__WEBPACK_IMPORTED_MODULE_8__utils_StringHelperFunctions_js__["c" /* formatNumber */])(this.mor, 3) + "
" + "Happiness: " + Object(__WEBPACK_IMPORTED_MODULE_8__utils_StringHelperFunctions_js__["c" /* formatNumber */])(this.hap, 3) + "
" + @@ -40885,10 +40894,10 @@ Employee.prototype.createUI = function(panel, corporation) { })); //Selector for employee position - var selector = Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["e" /* createElement */])("select", {}); + var selector = Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["f" /* createElement */])("select", {}); for (var key in EmployeePositions) { if (EmployeePositions.hasOwnProperty(key)) { - selector.add(Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["e" /* createElement */])("option", { + selector.add(Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["f" /* createElement */])("option", { text: EmployeePositions[key], value: EmployeePositions[key], })); @@ -41019,14 +41028,14 @@ OfficeSpace.prototype.findEmployees = function(parentRefs) { if (document.getElementById("cmpy-mgmt-hire-employee-popup") != null) {return;} //Generate three random employees (meh, decent, amazing) - var mult1 = Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["g" /* getRandomInt */])(25, 50)/100, - mult2 = Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["g" /* getRandomInt */])(51, 75)/100, - mult3 = Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["g" /* getRandomInt */])(76, 100)/100; - var int = Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["g" /* getRandomInt */])(50, 100), - cha = Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["g" /* getRandomInt */])(50, 100), - exp = Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["g" /* getRandomInt */])(50, 100), - cre = Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["g" /* getRandomInt */])(50, 100), - eff = Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["g" /* getRandomInt */])(50, 100), + var mult1 = Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["h" /* getRandomInt */])(25, 50)/100, + mult2 = Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["h" /* getRandomInt */])(51, 75)/100, + mult3 = Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["h" /* getRandomInt */])(76, 100)/100; + var int = Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["h" /* getRandomInt */])(50, 100), + cha = Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["h" /* getRandomInt */])(50, 100), + exp = Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["h" /* getRandomInt */])(50, 100), + cre = Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["h" /* getRandomInt */])(50, 100), + eff = Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["h" /* getRandomInt */])(50, 100), sal = 2.2 * (int + cha + exp + cre + eff); var emp1 = new Employee({ @@ -41056,12 +41065,12 @@ OfficeSpace.prototype.findEmployees = function(parentRefs) { salary: sal * mult3, }); - var text = Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["e" /* createElement */])("h1", { + var text = Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["f" /* createElement */])("h1", { innerHTML: "Select one of the following candidates for hire:", }); var createEmpDiv = function(employee, office) { - var div = Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["e" /* createElement */])("div", { + var div = Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["f" /* createElement */])("div", { class:"cmpy-mgmt-find-employee-option", innerHTML: "Intelligence: " + Object(__WEBPACK_IMPORTED_MODULE_8__utils_StringHelperFunctions_js__["c" /* formatNumber */])(employee.int, 1) + "
" + "Charisma: " + Object(__WEBPACK_IMPORTED_MODULE_8__utils_StringHelperFunctions_js__["c" /* formatNumber */])(employee.cha, 1) + "
" + @@ -41071,19 +41080,19 @@ OfficeSpace.prototype.findEmployees = function(parentRefs) { "Salary: " + __WEBPACK_IMPORTED_MODULE_7__utils_numeral_min_js___default()(employee.sal).format('$0.000a') + " \ s
", clickListener:()=>{ office.hireEmployee(employee, parentRefs); - Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["k" /* removeElementById */])("cmpy-mgmt-hire-employee-popup"); + Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["l" /* removeElementById */])("cmpy-mgmt-hire-employee-popup"); return false; } }); return div; }; - var cancelBtn = Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["e" /* createElement */])("a", { + var cancelBtn = Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["f" /* createElement */])("a", { class:"a-link-button", innerText:"Cancel", float:"right", clickListener:()=>{ - Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["k" /* removeElementById */])("cmpy-mgmt-hire-employee-popup"); + Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["l" /* removeElementById */])("cmpy-mgmt-hire-employee-popup"); return false; } }); @@ -41094,7 +41103,7 @@ OfficeSpace.prototype.findEmployees = function(parentRefs) { createEmpDiv(emp3, this), cancelBtn]; - Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["f" /* createPopup */])("cmpy-mgmt-hire-employee-popup", elems); + Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["g" /* createPopup */])("cmpy-mgmt-hire-employee-popup", elems); } OfficeSpace.prototype.hireEmployee = function(employee, parentRefs) { @@ -41206,11 +41215,11 @@ Warehouse.prototype.createUI = function(parentRefs) { return; } var company = parentRefs.company, industry = parentRefs.industry; - Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["j" /* removeChildrenFromElement */])(industryWarehousePanel); + Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["k" /* removeChildrenFromElement */])(industryWarehousePanel); var storageText = "Storage: " + (this.sizedUsed >= this.size ? Object(__WEBPACK_IMPORTED_MODULE_8__utils_StringHelperFunctions_js__["c" /* formatNumber */])(this.sizeUsed, 3) : Object(__WEBPACK_IMPORTED_MODULE_8__utils_StringHelperFunctions_js__["c" /* formatNumber */])(this.sizeUsed, 3)) + "/" + Object(__WEBPACK_IMPORTED_MODULE_8__utils_StringHelperFunctions_js__["c" /* formatNumber */])(this.size, 3); - industryWarehousePanel.appendChild(Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["e" /* createElement */])("p", { + industryWarehousePanel.appendChild(Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["f" /* createElement */])("p", { innerHTML: storageText, display:"inline-block", color: this.sizeUsed >= this.size ? "red" : "white", @@ -41218,7 +41227,7 @@ Warehouse.prototype.createUI = function(parentRefs) { //Upgrade warehouse size button var upgradeCost = WarehouseUpgradeBaseCost * Math.pow(1.07, Math.round(this.size / 100) - 1); - industryWarehousePanel.appendChild(Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["e" /* createElement */])("a", { + industryWarehousePanel.appendChild(Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["f" /* createElement */])("a", { innerText:"Upgrade Warehouse Size - " + __WEBPACK_IMPORTED_MODULE_7__utils_numeral_min_js___default()(upgradeCost).format('$0.000a'), display:"inline-block", class: company.funds.lt(upgradeCost) ? "a-link-button-inactive" : "a-link-button", @@ -41270,12 +41279,12 @@ Warehouse.prototype.createUI = function(parentRefs) { console.log("ERROR: Invalid state: " + industry.state); break; } - industryWarehousePanel.appendChild(Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["e" /* createElement */])("p", { + industryWarehousePanel.appendChild(Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["f" /* createElement */])("p", { innerHTML:reqText, })); //Materials - industryWarehousePanel.appendChild(Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["e" /* createElement */])("p", { + industryWarehousePanel.appendChild(Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["f" /* createElement */])("p", { innerHTML: "
Materials:
", })); for (var matName in this.materials) { @@ -41290,7 +41299,7 @@ Warehouse.prototype.createUI = function(parentRefs) { //Products if (!(industry.makesProducts && Object.keys(industry.products).length > 0)) {return;} - industryWarehousePanel.appendChild(Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["e" /* createElement */])("p", { + industryWarehousePanel.appendChild(Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["f" /* createElement */])("p", { innerHTML: "
Products:
", })); for (var productName in industry.products) { @@ -41308,7 +41317,7 @@ Warehouse.prototype.createMaterialUI = function(mat, matName, parentRefs) { var company = parentRefs.company, industry = parentRefs.industry; var purchasePopupId = "cmpy-mgmt-material-purchase-popup", sellPopupid = "cmpy-mgmt-material-sell-popup"; - var div = Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["e" /* createElement */])("div", { + var div = Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["f" /* createElement */])("div", { class:"cmpy-mgmt-warehouse-material-div", }); @@ -41340,28 +41349,28 @@ Warehouse.prototype.createMaterialUI = function(mat, matName, parentRefs) { "The quality of your material. Higher quality " + "will lead to more sales

"; - div.appendChild(Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["e" /* createElement */])("p", { + div.appendChild(Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["f" /* createElement */])("p", { innerHTML: innerTxt, id: "cmpy-mgmt-warehouse-" + matName + "-text", display:"inline-block", })); - var buttonPanel = Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["e" /* createElement */])("div", { + var buttonPanel = Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["f" /* createElement */])("div", { display:"inline-block", }); div.appendChild(buttonPanel); //Button to set purchase amount - buttonPanel.appendChild(Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["e" /* createElement */])("a", { + buttonPanel.appendChild(Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["f" /* createElement */])("a", { innerText: "Buy (" + Object(__WEBPACK_IMPORTED_MODULE_8__utils_StringHelperFunctions_js__["c" /* formatNumber */])(mat.buy, 3) + ")", display:"inline-block", class:"a-link-button", clickListener:()=>{ - var txt = Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["e" /* createElement */])("p", { + var txt = Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["f" /* createElement */])("p", { innerHTML: "Enter the amount of " + mat.name + " you would like " + "to purchase per second. This material's cost changes constantly" }); - var input = Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["e" /* createElement */])("input", { + var input = Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["f" /* createElement */])("input", { type:"number", value:mat.buy ? mat.buy : null, placeholder: "Purchase amount" }); - var confirmBtn = Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["e" /* createElement */])("a", { + var confirmBtn = Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["f" /* createElement */])("a", { innerText:"Confirm", class:"a-link-button", clickListener:()=>{ if (isNaN(input.value)) { @@ -41369,19 +41378,19 @@ Warehouse.prototype.createMaterialUI = function(mat, matName, parentRefs) { } else { mat.buy = parseFloat(input.value); if (isNaN(mat.buy)) {mat.buy = 0;} - Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["k" /* removeElementById */])(purchasePopupId); + Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["l" /* removeElementById */])(purchasePopupId); this.createUI(parentRefs); return false; } } }); - var cancelBtn = Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["e" /* createElement */])("a", { + var cancelBtn = Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["f" /* createElement */])("a", { innerText:"Cancel", class:"a-link-button", clickListener:()=>{ - Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["k" /* removeElementById */])(purchasePopupId); + Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["l" /* removeElementById */])(purchasePopupId); } }); - Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["f" /* createPopup */])(purchasePopupId, [txt, input, confirmBtn, cancelBtn]); + Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["g" /* createPopup */])(purchasePopupId, [txt, input, confirmBtn, cancelBtn]); input.focus(); } })); @@ -41390,17 +41399,17 @@ Warehouse.prototype.createMaterialUI = function(mat, matName, parentRefs) { if (company.unlockUpgrades[0] === 1) { //Export unlock upgrade function createExportPopup() { var popupId = "cmpy-mgmt-export-popup"; - var exportTxt = Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["e" /* createElement */])("p", { + var exportTxt = Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["f" /* createElement */])("p", { innerText:"Select the industry and city to export this material to, as well as " + "how much of this material to export per second. You can set the export " + "amount to 'MAX' to export all of the materials in this warehouse." }); //Select industry and city to export to - var industrySelector = Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["e" /* createElement */])("select", {}), - citySelector = Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["e" /* createElement */])("select", {}); + var industrySelector = Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["f" /* createElement */])("select", {}), + citySelector = Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["f" /* createElement */])("select", {}); for (var i = 0; i < company.divisions.length; ++i) { - industrySelector.add(Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["e" /* createElement */])("option", { + industrySelector.add(Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["f" /* createElement */])("option", { text:company.divisions[i].name, value:company.divisions[i].name, changeListener:()=>{ var industryName = industrySelector.options[industrySelector.selectedIndex].value; @@ -41410,7 +41419,7 @@ Warehouse.prototype.createMaterialUI = function(mat, matName, parentRefs) { var selectedIndustry = company.divisions[foo]; for (var cityName in company.divisions[foo].warehouses) { if (company.divisions[foo].warehouses[cityName] instanceof Warehouse) { - citySelector.add(Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["e" /* createElement */])("option", { + citySelector.add(Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["f" /* createElement */])("option", { value:cityName, text:cityName, })); } @@ -41428,7 +41437,7 @@ Warehouse.prototype.createMaterialUI = function(mat, matName, parentRefs) { for (var cityName in company.divisions[i].warehouses) { if (company.divisions[i].warehouses.hasOwnProperty(cityName) && company.divisions[i].warehouses[cityName] instanceof Warehouse) { - citySelector.add(Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["e" /* createElement */])("option", { + citySelector.add(Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["f" /* createElement */])("option", { value:cityName, text:cityName, })); } @@ -41438,11 +41447,11 @@ Warehouse.prototype.createMaterialUI = function(mat, matName, parentRefs) { } //Select amount to export - var exportAmount = Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["e" /* createElement */])("input", { + var exportAmount = Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["f" /* createElement */])("input", { type:"number", placeholder:"Export amount / s" }); - var exportBtn = Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["e" /* createElement */])("a", { + var exportBtn = Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["f" /* createElement */])("a", { class:"a-link-button", display:"inline-block", innerText:"Export", clickListener:()=>{ var industryName = industrySelector.options[industrySelector.selectedIndex].text, @@ -41461,7 +41470,7 @@ Warehouse.prototype.createMaterialUI = function(mat, matName, parentRefs) { var warehouse = company.divisions[i].warehouses[cityName]; if (warehouse instanceof Warehouse) { warehouse.materials[matName].imp += amt; - Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["k" /* removeElementById */])(popupId); + Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["l" /* removeElementById */])(popupId); return false; } else { console.log("ERROR: Target city for export does not have warehouse in specified city"); @@ -41469,27 +41478,27 @@ Warehouse.prototype.createMaterialUI = function(mat, matName, parentRefs) { } } console.log("ERROR: Could not find target industry/city for export"); - Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["k" /* removeElementById */])(popupId); + Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["l" /* removeElementById */])(popupId); return false; } }); - var cancelBtn = Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["e" /* createElement */])("a", { + var cancelBtn = Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["f" /* createElement */])("a", { class:"a-link-button", display:"inline-block", innerText:"Cancel", clickListener:()=>{ - Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["k" /* removeElementById */])(popupId); + Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["l" /* removeElementById */])(popupId); return false; } }); - var currExportsText = Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["e" /* createElement */])("p", { + var currExportsText = Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["f" /* createElement */])("p", { innerText:"Below is a list of all current exports of this material from this warehouse. " + "Clicking on one of the exports below will REMOVE that export." }); var currExports = []; for (var i = 0; i < mat.exp.length; ++i) { (function(i, mat, currExports){ - currExports.push(Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["e" /* createElement */])("div", { + currExports.push(Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["f" /* createElement */])("div", { class:"cmpy-mgmt-existing-export", innerHTML: "Industry: " + mat.exp[i].ind + "
" + "City: " + mat.exp[i].city + "
" + @@ -41507,22 +41516,22 @@ Warehouse.prototype.createMaterialUI = function(mat, matName, parentRefs) { } } mat.exp.splice(i, 1); //Remove export object - Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["k" /* removeElementById */])(popupId); + Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["l" /* removeElementById */])(popupId); createExportPopup(); } })); })(i, mat, currExports); } - Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["f" /* createPopup */])(popupId, [exportTxt, industrySelector, citySelector, exportAmount, + Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["g" /* createPopup */])(popupId, [exportTxt, industrySelector, citySelector, exportAmount, exportBtn, cancelBtn, currExportsText].concat(currExports)); } - buttonPanel.appendChild(Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["e" /* createElement */])("a", { + buttonPanel.appendChild(Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["f" /* createElement */])("a", { innerText:"Export", display:"inline-block", class:"a-link-button", clickListener:()=>{createExportPopup();} })); } - buttonPanel.appendChild(Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["e" /* createElement */])("br", {})); // Force line break + buttonPanel.appendChild(Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["f" /* createElement */])("br", {})); // Force line break //Button to set sell amount var innerTextString; @@ -41541,10 +41550,10 @@ Warehouse.prototype.createMaterialUI = function(mat, matName, parentRefs) { innerTextString = "Sell (0.000/0.000)"; } - buttonPanel.appendChild(Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["e" /* createElement */])("a", { + buttonPanel.appendChild(Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["f" /* createElement */])("a", { innerText: innerTextString, display:"inline-block", class:"a-link-button", clickListener:()=>{ - var txt = Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["e" /* createElement */])("p", { + var txt = Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["f" /* createElement */])("p", { innerHTML: "Enter the maximum amount of " + mat.name + " you would like " + "to sell per second, as well as the price at which you would " + "like to sell at.

" + @@ -41556,16 +41565,16 @@ Warehouse.prototype.createMaterialUI = function(mat, matName, parentRefs) { "changing price that depends on the market price. For example, if you set the sell price " + "to 'MP+10' then it will always be sold at $10 above the market price.", }); - var br = Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["e" /* createElement */])("br", {}); - var inputQty = Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["e" /* createElement */])("input", { + var br = Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["f" /* createElement */])("br", {}); + var inputQty = Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["f" /* createElement */])("input", { type:"text", marginTop:"4px", value: mat.sllman[1] ? mat.sllman[1] : null, placeholder: "Sell amount" }); - var inputPx = Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["e" /* createElement */])("input", { + var inputPx = Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["f" /* createElement */])("input", { type:"text", marginTop:"4px", value: mat.sCost ? mat.sCost : null, placeholder: "Sell price" }); - var confirmBtn = Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["e" /* createElement */])("a", { + var confirmBtn = Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["f" /* createElement */])("a", { innerText:"Confirm", class:"a-link-button", margin:"6px", clickListener:()=>{ //Parse price @@ -41605,17 +41614,17 @@ Warehouse.prototype.createMaterialUI = function(mat, matName, parentRefs) { } this.createUI(parentRefs); - Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["k" /* removeElementById */])(sellPopupid); + Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["l" /* removeElementById */])(sellPopupid); return false; } }); - var cancelBtn = Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["e" /* createElement */])("a", { + var cancelBtn = Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["f" /* createElement */])("a", { innerText:"Cancel", class:"a-link-button", margin: "6px", clickListener:()=>{ - Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["k" /* removeElementById */])(sellPopupid); + Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["l" /* removeElementById */])(sellPopupid); } }); - Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["f" /* createPopup */])(sellPopupid, [txt, br, inputQty, inputPx, confirmBtn, cancelBtn]); + Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["g" /* createPopup */])(sellPopupid, [txt, br, inputQty, inputPx, confirmBtn, cancelBtn]); inputQty.focus(); } })); @@ -41626,13 +41635,13 @@ Warehouse.prototype.createMaterialUI = function(mat, matName, parentRefs) { Warehouse.prototype.createProductUI = function(product, parentRefs) { var company = parentRefs.company, industry = parentRefs.industry, city = currentCityUi; - var div = Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["e" /* createElement */])("div", { + var div = Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["f" /* createElement */])("div", { class:"cmpy-mgmt-warehouse-product-div" }); //Products being designed TODO if (!product.fin) { - div.appendChild(Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["e" /* createElement */])("p", { + div.appendChild(Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["f" /* createElement */])("p", { innerHTML: "Designing " + product.name + "...
" + Object(__WEBPACK_IMPORTED_MODULE_8__utils_StringHelperFunctions_js__["c" /* formatNumber */])(product.prog, 2) + "% complete", })); @@ -41649,7 +41658,7 @@ Warehouse.prototype.createProductUI = function(product, parentRefs) { cmpAndDmdText += "
Demand: " + Object(__WEBPACK_IMPORTED_MODULE_8__utils_StringHelperFunctions_js__["c" /* formatNumber */])(product.dmd, 3); } var totalGain = product.data[city][1] - product.data[city][2]; //Production - sale - div.appendChild(Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["e" /* createElement */])("p", { + div.appendChild(Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["f" /* createElement */])("p", { innerHTML: "

" + product.name + ": " + Object(__WEBPACK_IMPORTED_MODULE_8__utils_StringHelperFunctions_js__["c" /* formatNumber */])(product.data[city][0], 3) + //Quantity "(" + Object(__WEBPACK_IMPORTED_MODULE_8__utils_StringHelperFunctions_js__["c" /* formatNumber */])(totalGain, 3) + "/s)" + "Prod: " + Object(__WEBPACK_IMPORTED_MODULE_8__utils_StringHelperFunctions_js__["c" /* formatNumber */])(product.data[city][1], 3) + "/s
" + @@ -41668,7 +41677,7 @@ Warehouse.prototype.createProductUI = function(product, parentRefs) { "product is, the higher you can mark up its price.


" + "Size: " + Object(__WEBPACK_IMPORTED_MODULE_8__utils_StringHelperFunctions_js__["c" /* formatNumber */])(product.siz, 3), })); - var buttonPanel = Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["e" /* createElement */])("div", { + var buttonPanel = Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["f" /* createElement */])("div", { display:"inline-block", }); div.appendChild(buttonPanel); @@ -41679,11 +41688,11 @@ Warehouse.prototype.createProductUI = function(product, parentRefs) { if (product.sCost) { sellInnerTextString += (" @ " + __WEBPACK_IMPORTED_MODULE_7__utils_numeral_min_js___default()(product.sCost).format("$0.000a")); } - div.appendChild(Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["e" /* createElement */])("a", { + div.appendChild(Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["f" /* createElement */])("a", { innerText:sellInnerTextString, class:"a-link-button", display:"inline-block",margin:"6px", clickListener:()=>{ var popupId = "cmpy-mgmt-sell-product-popup"; - var txt = Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["e" /* createElement */])("p", { + var txt = Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["f" /* createElement */])("p", { innerHTML:"Enter the maximum amount of " + product.name + " you would like " + "to sell per second, as well as the price at which you would like to " + "sell it at.

" + @@ -41692,13 +41701,13 @@ Warehouse.prototype.createProductUI = function(product, parentRefs) { "Setting the sell amount to 'MAX' will result in you always selling the " + "maximum possible amount of the material.

", }); - var inputQty = Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["e" /* createElement */])("input", { + var inputQty = Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["f" /* createElement */])("input", { type:"text", value:product.sllman[city][1] ? product.sllman[city][1] : null, placeholder: "Sell amount" }); - var inputPx = Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["e" /* createElement */])("input", { + var inputPx = Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["f" /* createElement */])("input", { type:"text", value: product.sCost ? product.sCost : null, placeholder: "Sell price" }); - var confirmBtn = Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["e" /* createElement */])("a", { + var confirmBtn = Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["f" /* createElement */])("a", { class:"a-link-button", innerText:"Confirm", clickListener:()=>{ //Parse price @@ -41727,45 +41736,45 @@ Warehouse.prototype.createProductUI = function(product, parentRefs) { } } this.createUI(parentRefs); - Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["k" /* removeElementById */])(popupId); + Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["l" /* removeElementById */])(popupId); return false; } }); - var cancelBtn = Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["e" /* createElement */])("a", { + var cancelBtn = Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["f" /* createElement */])("a", { class:"a-link-button", innerText:"Cancel", clickListener:()=>{ - Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["k" /* removeElementById */])(popupId); + Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["l" /* removeElementById */])(popupId); return false; } }); - Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["f" /* createPopup */])(popupId, [txt, inputQty, inputPx, confirmBtn, cancelBtn]); + Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["g" /* createPopup */])(popupId, [txt, inputQty, inputPx, confirmBtn, cancelBtn]); inputQty.focus(); } })); - div.appendChild(Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["e" /* createElement */])("br",{})); //force line break + div.appendChild(Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["f" /* createElement */])("br",{})); //force line break //Limit production button var limitProductionInnerText = "Limit Production"; if (product.prdman[city][0]) { limitProductionInnerText += " (" + Object(__WEBPACK_IMPORTED_MODULE_8__utils_StringHelperFunctions_js__["c" /* formatNumber */])(product.prdman[city][1], 3) + ")"; } - div.appendChild(Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["e" /* createElement */])("a", { + div.appendChild(Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["f" /* createElement */])("a", { class:"a-link-button", innerText:limitProductionInnerText,display:"inline-block", clickListener:()=>{ var popupId = "cmpy-mgmt-limit-product-production-popup"; - var txt = Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["e" /* createElement */])("p", { + var txt = Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["f" /* createElement */])("p", { innerText:"Enter a limit to the amount of this product you would " + "like to product per second. Leave the box empty to set no limit." }); - var input = Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["e" /* createElement */])("input", { + var input = Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["f" /* createElement */])("input", { type:"number", placeholder:"Limit" }); - var confirmBtn = Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["e" /* createElement */])("a", { + var confirmBtn = Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["f" /* createElement */])("a", { class:"a-link-button", display:"inline-block", innerText:"Limit production", margin:'6px', clickListener:()=>{ if (input.value === "") { product.prdman[city][0] = false; - Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["k" /* removeElementById */])(popupId); + Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["l" /* removeElementById */])(popupId); return false; } var qty = parseFloat(input.value); @@ -41779,48 +41788,48 @@ Warehouse.prototype.createProductUI = function(product, parentRefs) { product.prdman[city][0] = true; product.prdman[city][1] = qty; } - Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["k" /* removeElementById */])(popupId); + Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["l" /* removeElementById */])(popupId); return false; } }); - var cancelBtn = Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["e" /* createElement */])("a", { + var cancelBtn = Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["f" /* createElement */])("a", { class:"a-link-button", display:"inline-block", innerText:"Cancel", margin:"6px", clickListener:()=>{ - Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["k" /* removeElementById */])(popupId); + Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["l" /* removeElementById */])(popupId); return false; } }); - Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["f" /* createPopup */])(popupId, [txt, input, confirmBtn, cancelBtn]); + Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["g" /* createPopup */])(popupId, [txt, input, confirmBtn, cancelBtn]); } })); //Discontinue button - div.appendChild(Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["e" /* createElement */])("a", { + div.appendChild(Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["f" /* createElement */])("a", { class:'a-link-button', display:"inline-block",innerText:"Discontinue", clickListener:()=>{ var popupId = "cmpy-mgmt-discontinue-product-popup"; - var txt = Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["e" /* createElement */])("p", { + var txt = Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["f" /* createElement */])("p", { innerText:"Are you sure you want to do this? Discontinuing a product " + "removes it completely and permanently. You will no longer " + "produce this product and all of its existing stock will be " + "removed and left unsold", }); - var confirmBtn = Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["e" /* createElement */])("a", { + var confirmBtn = Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["f" /* createElement */])("a", { class:"a-link-button",innerText:"Discontinue", clickListener:()=>{ industry.discontinueProduct(product, parentRefs); - Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["k" /* removeElementById */])(popupId); + Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["l" /* removeElementById */])(popupId); return false; } }); - var cancelBtn = Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["e" /* createElement */])("a", { + var cancelBtn = Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["f" /* createElement */])("a", { class:"a-link-button", innerText:"Cancel", clickListener:()=>{ - Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["k" /* removeElementById */])(popupId); + Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["l" /* removeElementById */])(popupId); return false; } }); - Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["f" /* createPopup */])(popupId, [txt, confirmBtn, cancelBtn]); + Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["g" /* createPopup */])(popupId, [txt, confirmBtn, cancelBtn]); } })); industryWarehousePanel.appendChild(div); @@ -42053,7 +42062,7 @@ Corporation.prototype.getInvestment = function() { Corporation.prototype.goPublic = function() { var goPublicPopupId = "cmpy-mgmt-go-public-popup"; var initialSharePrice = this.determineValuation() / (TOTALSHARES); - var txt = Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["e" /* createElement */])("p", { + var txt = Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["f" /* createElement */])("p", { innerHTML: "Enter the number of shares you would like to issue " + "for your IPO. These shares will be publicly sold " + "and you will no longer own them. You will receive " + @@ -42062,12 +42071,12 @@ Corporation.prototype.goPublic = function() { "your company's stock price in the future.

" + "You have a total of " + __WEBPACK_IMPORTED_MODULE_7__utils_numeral_min_js___default()(this.numShares).format("0.000a") + " of shares that you can issue.", }); - var input = Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["e" /* createElement */])("input", { + var input = Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["f" /* createElement */])("input", { type:"number", placeholder: "Shares to issue", }); - var br = Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["e" /* createElement */])("br", {}); - var yesBtn = Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["e" /* createElement */])("a", { + var br = Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["f" /* createElement */])("br", {}); + var yesBtn = Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["f" /* createElement */])("a", { class:"a-link-button", innerText:"Go Public", clickListener:()=>{ @@ -42087,19 +42096,19 @@ Corporation.prototype.goPublic = function() { this.numShares -= numShares; this.funds = this.funds.plus(numShares * initialSharePrice); this.displayCorporationOverviewContent(); - Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["k" /* removeElementById */])(goPublicPopupId); + Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["l" /* removeElementById */])(goPublicPopupId); return false; } }); - var noBtn = Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["e" /* createElement */])("a", { + var noBtn = Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["f" /* createElement */])("a", { class:"a-link-button", innerText:"Cancel", clickListener:()=>{ - Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["k" /* removeElementById */])(goPublicPopupId); + Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["l" /* removeElementById */])(goPublicPopupId); return false; } }); - Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["f" /* createPopup */])(goPublicPopupId, [txt, br, input, yesBtn, noBtn]); + Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["g" /* createPopup */])(goPublicPopupId, [txt, br, input, yesBtn, noBtn]); } Corporation.prototype.updateSharePrice = function() { @@ -42219,19 +42228,19 @@ var companyManagementDiv, companyManagementHeaderTabs, companyManagementPanel, industryWarehousePanel, headerTabs, cityTabs; Corporation.prototype.createUI = function() { - companyManagementDiv = Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["e" /* createElement */])("div", { + companyManagementDiv = Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["f" /* createElement */])("div", { id:"cmpy-mgmt-container", position:"fixed", class:"generic-menupage-container" }); - companyManagementHeaderTabs = Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["e" /* createElement */])("div", {id:"cmpy-mgmt-header-tabs"}); + companyManagementHeaderTabs = Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["f" /* createElement */])("div", {id:"cmpy-mgmt-header-tabs"}); companyManagementDiv.appendChild(companyManagementHeaderTabs); //Create division/industry tabs at the top this.updateUIHeaderTabs(); //Create the 'panel' that will have the actual content in the UI - companyManagementPanel = Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["e" /* createElement */])("div", {id:"cmpy-mgmt-panel"}); + companyManagementPanel = Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["f" /* createElement */])("div", {id:"cmpy-mgmt-panel"}); companyManagementDiv.appendChild(companyManagementPanel); document.getElementById("entire-game-container").appendChild(companyManagementDiv); @@ -42240,14 +42249,14 @@ Corporation.prototype.createUI = function() { Corporation.prototype.updateUIHeaderTabs = function() { if (companyManagementHeaderTabs) { - Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["j" /* removeChildrenFromElement */])(companyManagementHeaderTabs); + Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["k" /* removeChildrenFromElement */])(companyManagementHeaderTabs); } else { console.log("ERROR: Header tabs div has not yet been created when Corporation.updateUIHeaderTabs() is called"); return; } //Corporation overview tabs - var cmpyOverviewHdrTab = Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["e" /* createElement */])("button", { + var cmpyOverviewHdrTab = Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["f" /* createElement */])("button", { id:"cmpy-mgmt-company-tab", class:"cmpy-mgmt-header-tab", innerText:this.name, @@ -42266,26 +42275,26 @@ Corporation.prototype.updateUIHeaderTabs = function() { } //Create a tab to expand into a new industry - companyManagementHeaderTabs.appendChild(Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["e" /* createElement */])("button", { + companyManagementHeaderTabs.appendChild(Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["f" /* createElement */])("button", { id:'cmpy-mgmt-expand-industry-tab', class:"cmpy-mgmt-header-tab", innerText:"Expand into new Industry", clickListener: ()=>{ if (document.getElementById("cmpy-mgmt-expand-industry-popup") != null) {return;} - var container = Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["e" /* createElement */])("div", { + var container = Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["f" /* createElement */])("div", { class:"popup-box-container", id:"cmpy-mgmt-expand-industry-popup", }), - content = Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["e" /* createElement */])("div", {class:"popup-box-content"}), - txt = Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["e" /* createElement */])("p", { + content = Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["f" /* createElement */])("div", {class:"popup-box-content"}), + txt = Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["f" /* createElement */])("p", { innerHTML: "Create a new division to expand into a new industry:", }), - selector = Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["e" /* createElement */])("select", { + selector = Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["f" /* createElement */])("select", { class:"cmpy-mgmt-industry-select" }), - industryDescription = Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["e" /* createElement */])("p", {}), - nameInput = Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["e" /* createElement */])("input", { + industryDescription = Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["f" /* createElement */])("p", {}), + nameInput = Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["f" /* createElement */])("input", { type:"text", id:"cmpy-mgmt-expand-industry-name-input", color:"white", @@ -42294,11 +42303,11 @@ Corporation.prototype.updateUIHeaderTabs = function() { maxLength: 30, pattern:"[a-zA-Z0-9-_]" }), - nameLabel = Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["e" /* createElement */])("label", { + nameLabel = Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["f" /* createElement */])("label", { for:"cmpy-mgmt-expand-industry-name-input", innerText:"Division name: " }), - yesBtn = Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["e" /* createElement */])("span", { + yesBtn = Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["f" /* createElement */])("span", { class:"popup-box-button", innerText:"Create Division", clickListener: ()=>{ @@ -42324,17 +42333,17 @@ Corporation.prototype.updateUIHeaderTabs = function() { this.divisions.push(newInd); this.updateUIHeaderTabs(); this.selectHeaderTab(headerTabs[headerTabs.length-2]); - Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["k" /* removeElementById */])("cmpy-mgmt-expand-industry-popup"); + Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["l" /* removeElementById */])("cmpy-mgmt-expand-industry-popup"); this.displayDivisionContent(newInd, __WEBPACK_IMPORTED_MODULE_1__Location_js__["a" /* Locations */].Sector12); } return false; } }), - noBtn = Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["e" /* createElement */])("span", { + noBtn = Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["f" /* createElement */])("span", { class:"popup-box-button", innerText:"Cancel", clickListener: function() { - Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["k" /* removeElementById */])("cmpy-mgmt-expand-industry-popup"); + Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["l" /* removeElementById */])("cmpy-mgmt-expand-industry-popup"); return false; } }); @@ -42343,7 +42352,7 @@ Corporation.prototype.updateUIHeaderTabs = function() { for (var key in Industries) { if (Industries.hasOwnProperty(key)) { var ind = Industries[key]; - selector.add(Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["e" /* createElement */])("option", { + selector.add(Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["f" /* createElement */])("option", { text: ind, value:key, })); @@ -42389,7 +42398,7 @@ Corporation.prototype.selectHeaderTab = function(currentTab) { Corporation.prototype.createDivisionUIHeaderTab = function(division) { var tabId = "cmpy-mgmt-" + division.name + "-tab"; - var tab = Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["e" /* createElement */])("button", { + var tab = Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["f" /* createElement */])("button", { id:tabId, class:"cmpy-mgmt-header-tab", innerText:division.name, @@ -42430,7 +42439,7 @@ Corporation.prototype.updateUIContent = function() { Corporation.prototype.displayCorporationOverviewContent = function() { this.clearUIPanel(); - companyManagementPanel.appendChild(Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["e" /* createElement */])("p", { + companyManagementPanel.appendChild(Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["f" /* createElement */])("p", { id:"cmpy-mgmt-overview-text", })); if (headerTabs && headerTabs.length >= 1) { @@ -42448,7 +42457,7 @@ Corporation.prototype.displayCorporationOverviewContent = function() { } if (!hasHandbook) { - companyManagementPanel.appendChild(Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["e" /* createElement */])("a", { + companyManagementPanel.appendChild(Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["f" /* createElement */])("a", { class:"a-link-button", innerText:"Get Handbook", display:"inline-block", tooltip:"Get a copy of 'The Complete Handbook for Creating a Successful Corporation.'" + "This is a .lit file that provides some tips/pointers for helping you get started with " + @@ -42464,19 +42473,19 @@ Corporation.prototype.displayCorporationOverviewContent = function() { //Investors if (this.public) { //Sell share buttons - var sellShares = Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["e" /* createElement */])("a", { + var sellShares = Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["f" /* createElement */])("a", { class:"a-link-button", innerText:"Sell Shares", display:"inline-block", tooltip:"Sell your shares in the company. This is the only way to " + "profit from your business venture.", clickListener:()=>{ var popupId = "cmpy-mgmt-sell-shares-popup"; var currentStockPrice = this.sharePrice; - var txt = Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["e" /* createElement */])("p", { + var txt = Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["f" /* createElement */])("p", { innerHTML: "Enter the number of shares you would like to sell. The current price of your " + "company's stock is " + __WEBPACK_IMPORTED_MODULE_7__utils_numeral_min_js___default()(currentStockPrice).format("$0.000a"), }); - var profitIndicator = Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["e" /* createElement */])("p", {}); - var input = Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["e" /* createElement */])("input", { + var profitIndicator = Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["f" /* createElement */])("p", {}); + var input = Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["f" /* createElement */])("input", { type:"number", placeholder:"Shares to sell", margin:"5px", inputListener: ()=> { var numShares = Math.round(input.value); @@ -42490,7 +42499,7 @@ Corporation.prototype.displayCorporationOverviewContent = function() { } } }); - var confirmBtn = Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["e" /* createElement */])("a", { + var confirmBtn = Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["f" /* createElement */])("a", { class:"a-link-button", innerText:"Sell shares", display:"inline-block", clickListener:()=>{ var shares = Math.round(input.value); @@ -42512,37 +42521,37 @@ Corporation.prototype.displayCorporationOverviewContent = function() { } this.issuedShares += shares; __WEBPACK_IMPORTED_MODULE_2__Player_js__["a" /* Player */].gainMoney(shares * this.sharePrice); - Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["k" /* removeElementById */])(popupId); + Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["l" /* removeElementById */])(popupId); return false; } } }); - var cancelBtn = Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["e" /* createElement */])("a", { + var cancelBtn = Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["f" /* createElement */])("a", { class:"a-link-button", innerText:"Cancel", display:"inline-block", clickListener:()=>{ - Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["k" /* removeElementById */])(popupId); + Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["l" /* removeElementById */])(popupId); return false; } }); - Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["f" /* createPopup */])(popupId, [txt, profitIndicator, input, confirmBtn, cancelBtn]); + Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["g" /* createPopup */])(popupId, [txt, profitIndicator, input, confirmBtn, cancelBtn]); } }); //Buyback shares button - var buybackShares = Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["e" /* createElement */])("a", { + var buybackShares = Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["f" /* createElement */])("a", { class:"a-link-button", innerText:"Buyback shares", display:"inline-block", tooltip:"Buy back shares you that previously issued or sold at market price.", clickListener:()=>{ var popupId = "cmpy-mgmt-buyback-shares-popup"; var currentStockPrice = this.sharePrice; - var txt = Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["e" /* createElement */])("p", { + var txt = Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["f" /* createElement */])("p", { innerHTML: "Enter the number of shares you would like to buy back at market price. The current price of your " + "company's stock is " + __WEBPACK_IMPORTED_MODULE_7__utils_numeral_min_js___default()(currentStockPrice).format("$0.000a") + ". Your company currently has " + Object(__WEBPACK_IMPORTED_MODULE_8__utils_StringHelperFunctions_js__["c" /* formatNumber */])(this.issuedShares, 3) + " outstanding stock shares", }); - var costIndicator = Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["e" /* createElement */])("p", {}); - var input = Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["e" /* createElement */])("input", { + var costIndicator = Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["f" /* createElement */])("p", {}); + var input = Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["f" /* createElement */])("input", { type:"number", placeholder:"Shares to buyback", margin:"5px", inputListener: ()=> { var numShares = Math.round(input.value); @@ -42558,7 +42567,7 @@ Corporation.prototype.displayCorporationOverviewContent = function() { } } }); - var confirmBtn = Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["e" /* createElement */])("a", { + var confirmBtn = Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["f" /* createElement */])("a", { class:"a-link-button", innerText:"Buy shares", display:"inline-block", clickListener:()=>{ var shares = Math.round(input.value); @@ -42585,29 +42594,29 @@ Corporation.prototype.displayCorporationOverviewContent = function() { this.issuedShares -= shares; __WEBPACK_IMPORTED_MODULE_2__Player_js__["a" /* Player */].loseMoney(shares * tempStockPrice); //TODO REMOVE from Player money - Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["k" /* removeElementById */])(popupId); + Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["l" /* removeElementById */])(popupId); } return false; } }); - var cancelBtn = Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["e" /* createElement */])("a", { + var cancelBtn = Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["f" /* createElement */])("a", { class:"a-link-button", innerText:"Cancel", display:"inline-block", clickListener:()=>{ - Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["k" /* removeElementById */])(popupId); + Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["l" /* removeElementById */])(popupId); return false; } }); - Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["f" /* createPopup */])(popupId, [txt, costIndicator, input, confirmBtn, cancelBtn]); + Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["g" /* createPopup */])(popupId, [txt, costIndicator, input, confirmBtn, cancelBtn]); } }); companyManagementPanel.appendChild(sellShares); companyManagementPanel.appendChild(buybackShares); } else { - var findInvestors = Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["e" /* createElement */])("a", { + var findInvestors = Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["f" /* createElement */])("a", { class: this.fundingRound >= 4 ? "a-link-button-inactive" : "a-link-button tooltip", innerText: "Find Investors", display:"inline-block", @@ -42616,7 +42625,7 @@ Corporation.prototype.displayCorporationOverviewContent = function() { } }); if (this.fundingRound < 4) { - var findInvestorsTooltip = Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["e" /* createElement */])("span", { + var findInvestorsTooltip = Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["f" /* createElement */])("span", { class:"tooltiptext", innerText:"Search for private investors who will give you startup funding in exchange " + "for equity (stock shares) in your company" @@ -42624,7 +42633,7 @@ Corporation.prototype.displayCorporationOverviewContent = function() { findInvestors.appendChild(findInvestorsTooltip); } - var goPublic = Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["e" /* createElement */])("a", { + var goPublic = Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["f" /* createElement */])("a", { class:"a-link-button tooltip", innerText:"Go Public", display:"inline-block", @@ -42633,7 +42642,7 @@ Corporation.prototype.displayCorporationOverviewContent = function() { return false; } }); - var goPublicTooltip = Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["e" /* createElement */])("span", { + var goPublicTooltip = Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["f" /* createElement */])("span", { class:"tooltiptext", innerText: "Become a publicly traded and owned entity. Going public involves " + "issuing shares for an IPO. Once you are a public company, " + @@ -42651,10 +42660,10 @@ Corporation.prototype.displayCorporationOverviewContent = function() { //Don't show upgrades if player hasn't opened any divisions if (this.divisions.length <= 0) {return; } //Corporation Upgrades - var upgradeContainer = Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["e" /* createElement */])("div", { + var upgradeContainer = Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["f" /* createElement */])("div", { class:"cmpy-mgmt-upgrade-container", }); - upgradeContainer.appendChild(Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["e" /* createElement */])("h1", { + upgradeContainer.appendChild(Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["f" /* createElement */])("h1", { innerText:"Unlocks", margin:"6px", padding:"6px", })); @@ -42679,7 +42688,7 @@ Corporation.prototype.displayCorporationOverviewContent = function() { return; } - upgradeContainer.appendChild(Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["e" /* createElement */])("div", { + upgradeContainer.appendChild(Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["f" /* createElement */])("div", { class:"cmpy-mgmt-upgrade-div", width:"45%", innerHTML:upgrade[2] + " - " + __WEBPACK_IMPORTED_MODULE_7__utils_numeral_min_js___default()(upgrade[1]).format("$0.000a"), tooltip: upgrade[3], @@ -42697,7 +42706,7 @@ Corporation.prototype.displayCorporationOverviewContent = function() { } //Levelable upgrades - upgradeContainer.appendChild(Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["e" /* createElement */])("h1", { + upgradeContainer.appendChild(Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["f" /* createElement */])("h1", { innerText:"Upgrades", margin:"6px", padding:"6px", })); @@ -42711,7 +42720,7 @@ Corporation.prototype.displayCorporationOverviewContent = function() { var baseCost = upgrade[1], priceMult = upgrade[2]; var cost = baseCost * Math.pow(priceMult, corp.upgrades[i]); - upgradeContainer.appendChild(Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["e" /* createElement */])("div", { + upgradeContainer.appendChild(Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["f" /* createElement */])("div", { class:"cmpy-mgmt-upgrade-div", width:"45%", innerHTML:upgrade[4] + " - " + __WEBPACK_IMPORTED_MODULE_7__utils_numeral_min_js___default()(cost).format("$0.000a"), tooltip:upgrade[5], @@ -42788,19 +42797,19 @@ Corporation.prototype.displayDivisionContent = function(division, city) { } //Expand into new City button - companyManagementPanel.appendChild(Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["e" /* createElement */])("button", { + companyManagementPanel.appendChild(Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["f" /* createElement */])("button", { class:"cmpy-mgmt-city-tab", innerText:"Expand into new City", display:"inline-block", clickListener:()=>{ var popupId = "cmpy-mgmt-expand-city-popup"; - var text = Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["e" /* createElement */])("p", { + var text = Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["f" /* createElement */])("p", { innerText: "Would you like to expand into a new city by opening an office? " + "This would cost " + __WEBPACK_IMPORTED_MODULE_7__utils_numeral_min_js___default()(OfficeInitialCost).format('$0.000a'), }); - var citySelector = Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["e" /* createElement */])("select", {margin:"5px"}); + var citySelector = Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["f" /* createElement */])("select", {margin:"5px"}); for (var cityName in division.offices) { if (division.offices.hasOwnProperty(cityName)) { if (!(division.offices[cityName] instanceof OfficeSpace)) { - citySelector.add(Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["e" /* createElement */])("option", { + citySelector.add(Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["f" /* createElement */])("option", { text: cityName, value: cityName })); @@ -42808,7 +42817,7 @@ Corporation.prototype.displayDivisionContent = function(division, city) { } } - var confirmBtn = Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["e" /* createElement */])("a", { + var confirmBtn = Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["f" /* createElement */])("a", { innerText:"Confirm", class:"a-link-button", display:"inline-block", margin:"3px", clickListener:()=>{ var city = citySelector.options[citySelector.selectedIndex].value; @@ -42823,22 +42832,22 @@ Corporation.prototype.displayDivisionContent = function(division, city) { }); this.displayDivisionContent(division, city); } - Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["k" /* removeElementById */])(popupId); + Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["l" /* removeElementById */])(popupId); return false; } }); - var cancelBtn = Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["e" /* createElement */])("a", { + var cancelBtn = Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["f" /* createElement */])("a", { innerText:"Cancel", class:"a-link-button", display:"inline-block", margin:"3px", clickListener:()=>{ - Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["k" /* removeElementById */])(popupId); + Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["l" /* removeElementById */])(popupId); return false; } }) - Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["f" /* createPopup */])(popupId, [text, citySelector, confirmBtn, cancelBtn]); + Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["g" /* createPopup */])(popupId, [text, citySelector, confirmBtn, cancelBtn]); return false; } })); - companyManagementPanel.appendChild(Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["e" /* createElement */])("br", {})); // Force line break + companyManagementPanel.appendChild(Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["f" /* createElement */])("br", {})); // Force line break //Get office object var office = division.offices[currentCityUi]; @@ -42848,37 +42857,37 @@ Corporation.prototype.displayDivisionContent = function(division, city) { } //Left and right panels - var leftPanel = Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["e" /* createElement */])("div", {class:"cmpy-mgmt-industry-left-panel"}); - var rightPanel = Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["e" /* createElement */])("div", {class:"cmpy-mgmt-industry-right-panel"}); + var leftPanel = Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["f" /* createElement */])("div", {class:"cmpy-mgmt-industry-left-panel"}); + var rightPanel = Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["f" /* createElement */])("div", {class:"cmpy-mgmt-industry-right-panel"}); companyManagementPanel.appendChild(leftPanel); companyManagementPanel.appendChild(rightPanel); //Different sections (Overview, Employee/Office, and Warehouse) - industryOverviewPanel = Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["e" /* createElement */])("div", { + industryOverviewPanel = Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["f" /* createElement */])("div", { id:"cmpy-mgmt-industry-overview-panel", class:"cmpy-mgmt-industry-overview-panel" }); leftPanel.appendChild(industryOverviewPanel); - industryEmployeePanel = Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["e" /* createElement */])("div", { + industryEmployeePanel = Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["f" /* createElement */])("div", { id:"cmpy-mgmt-employee-panel", class:"cmpy-mgmt-employee-panel" }); leftPanel.appendChild(industryEmployeePanel); - industryWarehousePanel = Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["e" /* createElement */])("div", { + industryWarehousePanel = Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["f" /* createElement */])("div", { id:"cmpy-mgmt-warehouse-panel", class:"cmpy-mgmt-warehouse-panel" }); rightPanel.appendChild(industryWarehousePanel); //Industry overview text - industryOverviewText = Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["e" /* createElement */])("p", {}); + industryOverviewText = Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["f" /* createElement */])("p", {}); industryOverviewPanel.appendChild(industryOverviewText); //Industry overview Purchases & Upgrades var numUpgrades = Object.keys(IndustryUpgrades).length; while (division.upgrades.length < numUpgrades) {division.upgrades.push(0);} //Backwards compatibility - var industryOverviewUpgrades = Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["e" /* createElement */])("div", {}); - industryOverviewUpgrades.appendChild(Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["e" /* createElement */])("h1", {innerText:"Purchases & Upgrades", margin:"4px", padding:"4px"})); + var industryOverviewUpgrades = Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["f" /* createElement */])("div", {}); + industryOverviewUpgrades.appendChild(Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["f" /* createElement */])("h1", {innerText:"Purchases & Upgrades", margin:"4px", padding:"4px"})); for (var i = 0; i < numUpgrades; ++i) { (function(i, corp, division, office) { var upgrade = IndustryUpgrades[i.toString()]; @@ -42896,7 +42905,7 @@ Corporation.prototype.displayDivisionContent = function(division, city) { cost = baseCost * Math.pow(priceMult, division.upgrades[i]); break; } - industryOverviewUpgrades.appendChild(Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["e" /* createElement */])("div", { + industryOverviewUpgrades.appendChild(Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["f" /* createElement */])("div", { class:"cmpy-mgmt-upgrade-div", display:"inline-block", innerHTML:upgrade[4] + ' - ' + __WEBPACK_IMPORTED_MODULE_7__utils_numeral_min_js___default()(cost).format("$0.000a"), tooltip:upgrade[5], @@ -42913,7 +42922,7 @@ Corporation.prototype.displayDivisionContent = function(division, city) { } } })); - industryOverviewUpgrades.appendChild(Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["e" /* createElement */])("br", {})); + industryOverviewUpgrades.appendChild(Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["f" /* createElement */])("br", {})); })(i, this, division, office); } @@ -42972,17 +42981,17 @@ Corporation.prototype.displayDivisionContent = function(division, city) { "Investing money in marketing the product will help the product's sales."; //Create the button - industryOverviewPanel.appendChild(Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["e" /* createElement */])("a", { + industryOverviewPanel.appendChild(Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["f" /* createElement */])("a", { class:"a-link-button", innerText:createProductButtonText, margin:"6px", display:"inline-block", clickListener:()=>{ var popupId = "cmpy-mgmt-create-product-popup"; - var txt = Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["e" /* createElement */])("p", { + var txt = Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["f" /* createElement */])("p", { innerHTML:createProductPopupText, }); - var designCity = Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["e" /* createElement */])("select", {}); + var designCity = Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["f" /* createElement */])("select", {}); for (var cityName in division.offices) { if (division.offices[cityName] instanceof OfficeSpace) { - designCity.add(Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["e" /* createElement */])("option", { + designCity.add(Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["f" /* createElement */])("option", { value:cityName, text:cityName })); @@ -42996,19 +43005,19 @@ Corporation.prototype.displayDivisionContent = function(division, city) { } else if (division.type === Industries.RealEstate) { foo = "Property Name"; } - var productNameInput = Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["e" /* createElement */])("input", { + var productNameInput = Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["f" /* createElement */])("input", { placeholder:foo, }); - var lineBreak1 = Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["e" /* createElement */])("br",{}); - var designInvestInput = Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["e" /* createElement */])("input", { + var lineBreak1 = Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["f" /* createElement */])("br",{}); + var designInvestInput = Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["f" /* createElement */])("input", { type:"number", placeholder:"Design investment" }); - var marketingInvestInput = Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["e" /* createElement */])("input", { + var marketingInvestInput = Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["f" /* createElement */])("input", { type:"number", placeholder:"Marketing investment" }); - var confirmBtn = Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["e" /* createElement */])("a", { + var confirmBtn = Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["f" /* createElement */])("a", { class:"a-link-button", innerText:"Develop Product", clickListener:()=>{ @@ -43033,28 +43042,28 @@ Corporation.prototype.displayDivisionContent = function(division, city) { }); this.funds = this.funds.minus(designInvest + marketingInvest); division.products[product.name] = product; - Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["k" /* removeElementById */])(popupId); + Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["l" /* removeElementById */])(popupId); } this.updateUIContent(); return false; } }) - var cancelBtn = Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["e" /* createElement */])("a", { + var cancelBtn = Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["f" /* createElement */])("a", { class:"a-link-button", innerText:"Cancel", clickListener:()=>{ - Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["k" /* removeElementById */])(popupId); + Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["l" /* removeElementById */])(popupId); return false; } }) - Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["f" /* createPopup */])(popupId, [txt, designCity, productNameInput, lineBreak1, + Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["g" /* createPopup */])(popupId, [txt, designCity, productNameInput, lineBreak1, designInvestInput, marketingInvestInput, confirmBtn, cancelBtn]); } })); } //Employee and Office Panel - industryEmployeeText = Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["e" /* createElement */])("p", { + industryEmployeeText = Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["f" /* createElement */])("p", { id: "cmpy-mgmt-employee-p", display:"block", innerHTML: "

Office Space


" + @@ -43065,7 +43074,7 @@ Corporation.prototype.displayDivisionContent = function(division, city) { }); industryEmployeePanel.appendChild(industryEmployeeText); - industryEmployeeHireButton = Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["e" /* createElement */])("a", { + industryEmployeeHireButton = Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["f" /* createElement */])("a", { class:"a-link-button", innerText:"Hire Employee", display:"inline-block", @@ -43077,16 +43086,16 @@ Corporation.prototype.displayDivisionContent = function(division, city) { industryEmployeePanel.appendChild(industryEmployeeHireButton); //Upgrade Office Size button - industryOfficeUpgradeSizeButton = Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["e" /* createElement */])("a", { + industryOfficeUpgradeSizeButton = Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["f" /* createElement */])("a", { class:"a-link-button", innerText:"Upgrade Office size", display:"inline-block", margin:"6px", clickListener:()=>{ var popupId = "cmpy-mgmt-upgrade-office-size-popup"; var upgradeCost = OfficeInitialCost * Math.pow(1.07, Math.round(office.size / OfficeInitialSize)); - var text = Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["e" /* createElement */])("p", { + var text = Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["f" /* createElement */])("p", { innerHTML:"Increase the size of your office space to fit " + OfficeInitialSize + " more employees. This will cost " + __WEBPACK_IMPORTED_MODULE_7__utils_numeral_min_js___default()(upgradeCost).format('$0.000a'), }); - var confirmBtn = Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["e" /* createElement */])("a", { + var confirmBtn = Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["f" /* createElement */])("a", { class:"a-link-button", display:"inline-block", margin:"8px", @@ -43100,41 +43109,41 @@ Corporation.prototype.displayDivisionContent = function(division, city) { Object(__WEBPACK_IMPORTED_MODULE_4__utils_DialogBox_js__["a" /* dialogBoxCreate */])("Office space increased! It can now hold " + office.size + " employees"); this.updateUIContent(); } - Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["k" /* removeElementById */])(popupId); + Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["l" /* removeElementById */])(popupId); return false; } }); - var cancelBtn = Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["e" /* createElement */])("a", { + var cancelBtn = Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["f" /* createElement */])("a", { class:"a-link-button", innerText:"Cancel", display:"inline-block", margin:"8px", clickListener:()=>{ - Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["k" /* removeElementById */])(popupId); + Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["l" /* removeElementById */])(popupId); return false; } }) - Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["f" /* createPopup */])(popupId, [text, confirmBtn, cancelBtn]); + Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["g" /* createPopup */])(popupId, [text, confirmBtn, cancelBtn]); return false; } }); industryEmployeePanel.appendChild(industryOfficeUpgradeSizeButton); //Throw Office Party - industryEmployeePanel.appendChild(Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["e" /* createElement */])("br",{})); - industryEmployeePanel.appendChild(Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["e" /* createElement */])("a", { + industryEmployeePanel.appendChild(Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["f" /* createElement */])("br",{})); + industryEmployeePanel.appendChild(Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["f" /* createElement */])("a", { class:"a-link-button", display:"inline-block", innerText:"Throw Office Party", tooltip:"Throw an office party to increase your employee's morale and happiness", clickListener:()=>{ var popupId = "cmpy-mgmt-throw-office-party-popup"; - var txt = Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["e" /* createElement */])("p", { + var txt = Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["f" /* createElement */])("p", { innerText:"Enter the amount of money you would like to spend PER EMPLOYEE " + "on this office party" }); - var totalCostTxt = Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["e" /* createElement */])("p", { + var totalCostTxt = Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["f" /* createElement */])("p", { innerText:"Throwing this party will cost a total of $0" }); - var input = Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["e" /* createElement */])("input", { + var input = Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["f" /* createElement */])("input", { type:"number", margin:"5px", placeholder:"$ / employee", inputListener:()=>{ if (isNaN(input.value) || input.value < 0) { @@ -43145,7 +43154,7 @@ Corporation.prototype.displayDivisionContent = function(division, city) { } } }); - var confirmBtn = Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["e" /* createElement */])("a", { + var confirmBtn = Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["f" /* createElement */])("a", { class:"a-link-button", display:"inline-block", innerText:"Throw Party", @@ -43164,29 +43173,29 @@ Corporation.prototype.displayDivisionContent = function(division, city) { } Object(__WEBPACK_IMPORTED_MODULE_4__utils_DialogBox_js__["a" /* dialogBoxCreate */])("You threw a party for the office! The morale and happiness " + "of each employee increased by " + Object(__WEBPACK_IMPORTED_MODULE_8__utils_StringHelperFunctions_js__["c" /* formatNumber */])((mult-1) * 100, 2) + "%."); - Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["k" /* removeElementById */])(popupId); + Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["l" /* removeElementById */])(popupId); } } return false; } }); - var cancelBtn = Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["e" /* createElement */])("a", { + var cancelBtn = Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["f" /* createElement */])("a", { class:"a-link-button", display:"inline-block", innerText:"Cancel", clickListener:()=>{ - Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["k" /* removeElementById */])(popupId); + Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["l" /* removeElementById */])(popupId); return false; } }); - Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["f" /* createPopup */])(popupId, [txt, totalCostTxt, input, confirmBtn, cancelBtn]); + Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["g" /* createPopup */])(popupId, [txt, totalCostTxt, input, confirmBtn, cancelBtn]); } })); - industryEmployeeManagementUI = Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["e" /* createElement */])("div", {}); + industryEmployeeManagementUI = Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["f" /* createElement */])("div", {}); if (empManualAssignmentModeActive) { //Employees manually assigned - industryEmployeeManagementUI.appendChild(Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["e" /* createElement */])("a", { + industryEmployeeManagementUI.appendChild(Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["f" /* createElement */])("a", { class:"a-link-button", display:"inline-block", margin:"4px", innerText:"Switch to Auto Mode", tooltip:"Switch to Automatic Assignment Mode, which will automatically " + @@ -43197,17 +43206,17 @@ Corporation.prototype.displayDivisionContent = function(division, city) { this.displayDivisionContent(division, city); } })); - industryEmployeeManagementUI.appendChild(Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["e" /* createElement */])("br", {})); + industryEmployeeManagementUI.appendChild(Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["f" /* createElement */])("br", {})); - industryEmployeeInfo = Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["e" /* createElement */])("div", {margin:"4px", padding:"4px"}); + industryEmployeeInfo = Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["f" /* createElement */])("div", {margin:"4px", padding:"4px"}); - var selector = Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["e" /* createElement */])("select", { + var selector = Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["f" /* createElement */])("select", { color: "white", backgroundColor:"black", margin:"4px", padding:"4px", changeListener:()=>{ var name = selector.options[selector.selectedIndex].text; for (var i = 0; i < office.employees.length; ++i) { if (office.employees[i].name === name) { - Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["j" /* removeChildrenFromElement */])(industryEmployeeInfo); + Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["k" /* removeChildrenFromElement */])(industryEmployeeInfo); office.employees[i].createUI(industryEmployeeInfo, this); return; } @@ -43217,7 +43226,7 @@ Corporation.prototype.displayDivisionContent = function(division, city) { }); for (var i = 0; i < office.employees.length; ++i) { - selector.add(Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["e" /* createElement */])("option", {text:office.employees[i].name})); + selector.add(Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["f" /* createElement */])("option", {text:office.employees[i].name})); } selector.selectedIndex = -1; @@ -43227,7 +43236,7 @@ Corporation.prototype.displayDivisionContent = function(division, city) { } else { //Player only manages the number of each occupation, not who gets what job - industryEmployeeManagementUI.appendChild(Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["e" /* createElement */])("a", { + industryEmployeeManagementUI.appendChild(Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["f" /* createElement */])("a", { class:"a-link-button", display:"inline-block", margin:"4px", innerText:"Switch to Manual Mode", tooltip:"Switch to Manual Assignment Mode, which allows you to " + @@ -43237,7 +43246,7 @@ Corporation.prototype.displayDivisionContent = function(division, city) { this.displayDivisionContent(division, city); } })); - industryEmployeeManagementUI.appendChild(Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["e" /* createElement */])("br", {})); + industryEmployeeManagementUI.appendChild(Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["f" /* createElement */])("br", {})); var opCount = 0, engCount = 0, busCount = 0, mgmtCount = 0, rndCount = 0, unassignedCount = 0; @@ -43262,16 +43271,16 @@ Corporation.prototype.displayDivisionContent = function(division, city) { } //Unassigned employee count display - industryEmployeeManagementUI.appendChild(Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["e" /* createElement */])("p", { + industryEmployeeManagementUI.appendChild(Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["f" /* createElement */])("p", { display:"inline-block", innerText:"Unassigned Employees: " + unassignedCount, })); - industryEmployeeManagementUI.appendChild(Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["e" /* createElement */])("br", {})); + industryEmployeeManagementUI.appendChild(Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["f" /* createElement */])("br", {})); //General display of employee information (avg morale, avg energy, etc.) - industryEmployeeInfo = Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["e" /* createElement */])("p", {margin:"4px", padding:"4px"}); + industryEmployeeInfo = Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["f" /* createElement */])("p", {margin:"4px", padding:"4px"}); industryEmployeeManagementUI.appendChild(industryEmployeeInfo); - industryEmployeeManagementUI.appendChild(Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["e" /* createElement */])("br", {})); + industryEmployeeManagementUI.appendChild(Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["f" /* createElement */])("br", {})); var positions = [EmployeePositions.Operations, EmployeePositions.Engineer, EmployeePositions.Business, EmployeePositions.Management, @@ -43279,11 +43288,11 @@ Corporation.prototype.displayDivisionContent = function(division, city) { var counts = [opCount, engCount, busCount, mgmtCount, rndCount]; for (var i = 0; i < positions.length; ++i) { (function(corp, i) { - var info = Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["e" /* createElement */])("h2", { + var info = Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["f" /* createElement */])("h2", { display:"inline-block", width:"40%", innerText: positions[i] + "(" + counts[i] + ")" }); - var plusBtn = Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["e" /* createElement */])("a", { + var plusBtn = Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["f" /* createElement */])("a", { class: unassignedCount > 0 ? "a-link-button" : "a-link-button-inactive", display:"inline-block", innerText:"+", clickListener:()=>{ @@ -43291,7 +43300,7 @@ Corporation.prototype.displayDivisionContent = function(division, city) { corp.displayDivisionContent(division, city); } }); - var minusBtn = Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["e" /* createElement */])("a", { + var minusBtn = Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["f" /* createElement */])("a", { class: counts[i] > 0 ? "a-link-button" : "a-link-button-inactive", display:"inline-block", innerText:"-", clickListener:()=>{ @@ -43299,7 +43308,7 @@ Corporation.prototype.displayDivisionContent = function(division, city) { corp.displayDivisionContent(division, city); } }); - var newline = Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["e" /* createElement */])("br", {}); + var newline = Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["f" /* createElement */])("br", {}); industryEmployeeManagementUI.appendChild(info); industryEmployeeManagementUI.appendChild(plusBtn); industryEmployeeManagementUI.appendChild(minusBtn); @@ -43314,7 +43323,7 @@ Corporation.prototype.displayDivisionContent = function(division, city) { if (warehouse instanceof Warehouse) { warehouse.createUI({industry:division, company: this}); } else { - industryWarehousePanel.appendChild(Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["e" /* createElement */])("a", { + industryWarehousePanel.appendChild(Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["f" /* createElement */])("a", { innerText:"Purchase Warehouse ($5b)", class: "a-link-button", clickListener:()=>{ @@ -43398,7 +43407,7 @@ Corporation.prototype.updateDivisionContent = function(division) { } Corporation.prototype.createCityUITab = function(city, division) { - var tab = Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["e" /* createElement */])("button", { + var tab = Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["f" /* createElement */])("button", { id:"cmpy-mgmt-city-" + city + "-tab", class:"cmpy-mgmt-city-tab", innerText:city, @@ -43424,7 +43433,7 @@ Corporation.prototype.selectCityTab = function(activeTab, city) { Corporation.prototype.clearUI = function() { //Delete everything - if (companyManagementDiv != null) {Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["k" /* removeElementById */])(companyManagementDiv.id);} + if (companyManagementDiv != null) {Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["l" /* removeElementById */])(companyManagementDiv.id);} //Reset global DOM variables companyManagementDiv = null; @@ -43955,7 +43964,7 @@ function giveSourceFile(bitNodeNumber) { function loadBitVerse(destroyedBitNodeNum, flume=false) { //Clear the screen var container = document.getElementById("red-pill-container"); - Object(__WEBPACK_IMPORTED_MODULE_7__utils_HelperFunctions_js__["j" /* removeChildrenFromElement */])(container); + Object(__WEBPACK_IMPORTED_MODULE_7__utils_HelperFunctions_js__["k" /* removeChildrenFromElement */])(container); //Create the Bit Verse var bitVerseImage = document.createElement("pre"); @@ -44121,7 +44130,7 @@ function createBitNodeYesNoEventListeners(newBitNode, destroyedBitNode, flume=fa } redPillFlag = false; var container = document.getElementById("red-pill-container"); - Object(__WEBPACK_IMPORTED_MODULE_7__utils_HelperFunctions_js__["j" /* removeChildrenFromElement */])(container); + Object(__WEBPACK_IMPORTED_MODULE_7__utils_HelperFunctions_js__["k" /* removeChildrenFromElement */])(container); //Set new Bit Node __WEBPACK_IMPORTED_MODULE_2__Player_js__["a" /* Player */].bitNodeN = newBitNode; @@ -45365,7 +45374,7 @@ function runScriptFromScript(server, scriptname, args, workerScript, threads=1) return Promise.resolve(false); } else { //Able to run script - workerScript.scriptRef.log("Running script: " + scriptname + " on " + server.hostname + " with " + threads + " threads and args: " + Object(__WEBPACK_IMPORTED_MODULE_9__utils_HelperFunctions_js__["i" /* printArray */])(args) + ". May take a few seconds to start up..."); + workerScript.scriptRef.log("Running script: " + scriptname + " on " + server.hostname + " with " + threads + " threads and args: " + Object(__WEBPACK_IMPORTED_MODULE_9__utils_HelperFunctions_js__["j" /* printArray */])(args) + ". May take a few seconds to start up..."); var runningScriptObj = new __WEBPACK_IMPORTED_MODULE_7__Script_js__["b" /* RunningScript */](script, args); runningScriptObj.threads = threads; server.runningScripts.push(runningScriptObj); //Push onto runningScripts @@ -49893,9 +49902,9 @@ function processAllGangTerritory(numCycles=1) { if (gangStoredTerritoryCycles < __WEBPACK_IMPORTED_MODULE_0__Constants_js__["a" /* CONSTANTS */].GangTerritoryUpdateTimer) {return;} for (var i = 0; i < GangNames.length; ++i) { - var other = Object(__WEBPACK_IMPORTED_MODULE_7__utils_HelperFunctions_js__["g" /* getRandomInt */])(0, GangNames.length-1); + var other = Object(__WEBPACK_IMPORTED_MODULE_7__utils_HelperFunctions_js__["h" /* getRandomInt */])(0, GangNames.length-1); while(other == i) { - other = Object(__WEBPACK_IMPORTED_MODULE_7__utils_HelperFunctions_js__["g" /* getRandomInt */])(0, GangNames.length-1); + other = Object(__WEBPACK_IMPORTED_MODULE_7__utils_HelperFunctions_js__["h" /* getRandomInt */])(0, GangNames.length-1); } var thisPwr = AllGangs[GangNames[i]].power; var otherPwr = AllGangs[GangNames[other]].power; @@ -50019,6 +50028,26 @@ Gang.prototype.calculatePower = function() { return (0.0005 * memberTotal); } +Gang.prototype.autoAssignMemberToTask = function(taskName) { + for (var i = 0; i < this.members.length; ++i) { + if (this.members[i].task.name === taskName) { + this.members[i].assignToTask(taskName); + return true; + } + } + return false; +} + +Gang.prototype.autoUnassignMemberFromTask = function(taskName) { + for (var i = 0; i < this.members.length; ++i) { + if (this.members[i].task.name === taskName) { + this.members[i].unassignFromTask(); + return true; + } + } + return false; +} + Gang.prototype.toJSON = function() { return Object(__WEBPACK_IMPORTED_MODULE_6__utils_JSONReviver_js__["b" /* Generic_toJSON */])("Gang", this); } @@ -50032,7 +50061,7 @@ __WEBPACK_IMPORTED_MODULE_6__utils_JSONReviver_js__["c" /* Reviver */].construct /*** Gang Member object ***/ function GangMember(name) { this.name = name; - this.task = null; //GangMemberTask object + this.task = GangMemberTasks["Unassigned"]; //GangMemberTask object this.city = __WEBPACK_IMPORTED_MODULE_4__Player_js__["a" /* Player */].city; //Name of upgrade only @@ -50061,6 +50090,8 @@ function GangMember(name) { this.dex_mult = 1; this.agi_mult = 1; this.cha_mult = 1; + + this.upgrades = []; //Names of upgrades } //Same formula for Player @@ -50091,6 +50122,15 @@ GangMember.prototype.assignToTask = function(taskName) { } } +GangMember.prototype.unassignFromTask = function() { + if (GangMemberTasks.hasOwnProperty("Unassigned")) { + this.task = GangMemberTasks["Unassigned"]; + } else { + console.log("ERROR: Can't find Unassigned Gang member task"); + this.task = null; + } +} + //Gains are per cycle GangMember.prototype.calculateRespectGain = function() { var task = this.task; @@ -50204,6 +50244,9 @@ __WEBPACK_IMPORTED_MODULE_6__utils_JSONReviver_js__["c" /* Reviver */].construct //TODO Human trafficking and an equivalent hacking crime let GangMemberTasks = { + "Unassigned" : new GangMemebrTask( + "Unassigned", + "This gang member is currently idle"), "Ransomware" : new GangMemberTask( "Ransomware", "Assign this gang member to create and distribute ransomware

" + @@ -50328,90 +50371,89 @@ let GangMemberTasks = { } -function GangMemberUpgrade(name="", desc="", cost=0, type="-") { +function GangMemberUpgrade(name="", desc="", cost=0) { this.name = name; this.desc = desc; this.cost = cost; - this.type = type; //w, a, v, r } //Passes in a GangMember object -GangMemberUpgrade.prototype.apply = function(member, unapply=false) { +GangMemberUpgrade.prototype.apply = function(member) { switch(this.name) { case "Baseball Bat": - unapply ? member.str_mult /= 1.1 : member.str_mult *= 1.1; - unapply ? member.def_mult /= 1.1 : member.def_mult *= 1.1; + member.str_mult *= 1.05; + member.def_mult *= 1.05; break; case "Katana": - unapply ? member.str_mult /= 1.15 : member.str_mult *= 1.15; - unapply ? member.def_mult /= 1.15 : member.def_mult *= 1.15; - unapply ? member.dex_mult /= 1.15 : member.dex_mult *= 1.15; + member.str_mult *= 1.1; + member.def_mult *= 1.1; + member.dex_mult *= 1.1; break; case "Glock 18C": - unapply ? member.str_mult /= 1.2 : member.str_mult *= 1.2; - unapply ? member.def_mult /= 1.2 : member.def_mult *= 1.2; - unapply ? member.dex_mult /= 1.2 : member.dex_mult *= 1.2; - unapply ? member.agi_mult /= 1.2 : member.agi_mult *= 1.2; + member.str_mult *= 1.15; + member.def_mult *= 1.15; + member.dex_mult *= 1.15; + member.agi_mult *= 1.15; break; case "P90": - unapply ? member.str_mult /= 1.4 : member.str_mult *= 1.4; - unapply ? member.def_mult /= 1.4 : member.def_mult *= 1.4; - unapply ? member.agi_mult /= 1.2 : member.agi_mult *= 1.2; + member.str_mult *= 1.2; + member.def_mult *= 1.2; + member.agi_mult *= 1.1; break; case "Steyr AUG": - unapply ? member.str_mult /= 1.6 : member.str_mult *= 1.6; - unapply ? member.def_mult /= 1.6 : member.def_mult *= 1.6; + member.str_mult *= 1.25; + member.def_mult *= 1.25; break; case "AK-47": - unapply ? member.str_mult /= 1.8 : member.str_mult *= 1.8; - unapply ? member.def_mult /= 1.8 : member.def_mult *= 1.8; + member.str_mult *= 1.5; + member.def_mult *= 1.5; break; case "M15A10 Assault Rifle": - unapply ? member.str_mult /= 1.9 : member.str_mult *= 1.9; - unapply ? member.def_mult /= 1.9 : member.def_mult *= 1.9; + member.str_mult *= 1.6; + member.def_mult *= 1.6; break; case "AWM Sniper Rifle": - unapply ? member.str_mult /= 1.8 : member.str_mult *= 1.8; - unapply ? member.dex_mult /= 1.8 : member.dex_mult *= 1.8; - unapply ? member.agi_mult /= 1.8 : member.agi_mult *= 1.8; + member.str_mult *= 1.5; + member.dex_mult *= 1.5; + member.agi_mult *= 1.5; break; case "Bulletproof Vest": - unapply ? member.def_mult /= 1.15 : member.def_mult *= 1.15; + member.def_mult *= 1.05; break; case "Full Body Armor": - unapply ? member.def_mult /= 1.3 : member.def_mult *= 1.3; + member.def_mult *= 1.1; break; case "Liquid Body Armor": - unapply ? member.def_mult /= 1.5 : member.def_mult *= 1.5; - unapply ? member.agi_mult /= 1.5 : member.agi_mult *= 1.5; + member.def_mult *= 1.25; + member.agi_mult *= 1.25; break; case "Graphene Plating Armor": - unapply ? member.def_mult /= 2 : member.def_mult *= 2; + member.def_mult *= 5; break; case "Ford Flex V20": - unapply ? member.agi_mult /= 1.2 : member.agi_mult *= 1.2; - unapply ? member.cha_mult /= 1.2 : member.cha_mult *= 1.2; + member.agi_mult *= 1.1; + member.cha_mult *= 1.1; break; case "ATX1070 Superbike": - unapply ? member.agi_mult /= 1.4 : member.agi_mult *= 1.4; - unapply ? member.cha_mult /= 1.4 : member.cha_mult *= 1.4; + member.agi_mult *= 1.15; + member.cha_mult *= 1.15; break; case "Mercedes-Benz S9001": - unapply ? member.agi_mult /= 1.6 : member.agi_mult *= 1.6; - unapply ? member.cha_mult /= 1.6 : member.cha_mult *= 1.6; + member.agi_mult *= 1.2; + member.cha_mult *= 1.2; break; case "White Ferrari": - unapply ? member.agi_mult /= 1.8 : member.agi_mult *= 1.8; - unapply ? member.cha_mult /= 1.8 : member.cha_mult *= 1.8; + member.agi_mult *= 1.25; + member.cha_mult *= 1.25; break; case "NUKE Rootkit": - unapply ? member.hack_mult /= 1.2 : member.hack_mult *= 1.2; + member.hack_mult *= 1.1; break; case "Soulstealer Rootkit": - unapply ? member.hack_mult /= 1.3 : member.hack_mult *= 1.3; + member.hack_mult *= 1.2; break; case "Demon Rootkit": - unapply ? member.hack_mult /= 1.5 : member.hack_mult *= 1.5; + member.hack_mult *= 1.3; break; default: console.log("ERROR: Could not find this upgrade: " + this.name); @@ -50474,43 +50516,43 @@ __WEBPACK_IMPORTED_MODULE_6__utils_JSONReviver_js__["c" /* Reviver */].construct let GangMemberUpgrades = { "Baseball Bat" : new GangMemberUpgrade("Baseball Bat", - "Increases strength and defense by 10%", 1000000, "w"), + "Increases strength and defense by 5%", 1e6), "Katana" : new GangMemberUpgrade("Katana", - "Increases strength, defense, and dexterity by 15%", 12000000, "w"), + "Increases strength, defense, and dexterity by 10%", 12e6), "Glock 18C" : new GangMemberUpgrade("Glock 18C", - "Increases strength, defense, dexterity, and agility by 20%", 25000000, "w"), + "Increases strength, defense, dexterity, and agility by 15%", 25e6), "P90" : new GangMemberUpgrade("P90C", - "Increases strength and defense by 40%. Increases agility by 20%", 50000000, "w"), + "Increases strength and defense by 20%. Increases agility by 10%", 50e6), "Steyr AUG" : new GangMemberUpgrade("Steyr AUG", - "Increases strength and defense by 60%", 60000000, "w"), + "Increases strength and defense by 25%", 60e6), "AK-47" : new GangMemberUpgrade("AK-47", - "Increases strength and defense by 80%", 100000000, "w"), + "Increases strength and defense by 50%", 100e6), "M15A10 Assault Rifle" : new GangMemberUpgrade("M15A10 Assault Rifle", - "Increases strength and defense by 90%", 150000000, "w"), + "Increases strength and defense by 60%", 150e6), "AWM Sniper Rifle" : new GangMemberUpgrade("AWM Sniper Rifle", - "Increases strength, dexterity, and agility by 80%", 225000000, "w"), + "Increases strength, dexterity, and agility by 50%", 225e6), "Bulletproof Vest" : new GangMemberUpgrade("Bulletproof Vest", - "Increases defense by 15%", 2000000, "a"), + "Increases defense by 5%", 2e6), "Full Body Armor" : new GangMemberUpgrade("Full Body Armor", - "Increases defense by 30%", 5000000, "a"), + "Increases defense by 10%", 5e6), "Liquid Body Armor" : new GangMemberUpgrade("Liquid Body Armor", - "Increases defense and agility by 50%", 25000000, "a"), + "Increases defense and agility by 25%", 25e6), "Graphene Plating Armor" : new GangMemberUpgrade("Graphene Plating Armor", - "Increases defense by 100%", 40000000, "a"), + "Increases defense by 50%", 40e6), "Ford Flex V20" : new GangMemberUpgrade("Ford Flex V20", - "Increases agility and charisma by 20%", 3000000, "v"), + "Increases agility and charisma by 10%", 3e6), "ATX1070 Superbike" : new GangMemberUpgrade("ATX1070 Superbike", - "Increases agility and charisma by 40%", 9000000, "v"), + "Increases agility and charisma by 15%", 9e6), "Mercedes-Benz S9001" : new GangMemberUpgrade("Mercedes-Benz S9001", - "Increases agility and charisma by 60%", 18000000, "v"), + "Increases agility and charisma by 20%", 18e6), "White Ferrari" : new GangMemberUpgrade("White Ferrari", - "Increases agility and charisma by 80%", 30000000, "v"), + "Increases agility and charisma by 25%", 30e6), "NUKE Rootkit" : new GangMemberUpgrade("NUKE Rootkit", - "Increases hacking by 20%", 5000000, "r"), + "Increases hacking by 10%", 5e6), "Soulstealer Rootkit" : new GangMemberUpgrade("Soulstealer Rootkit", - "Increases hacking by 30%", 15000000, "r"), + "Increases hacking by 20%", 15e6), "Demon Rootkit" : new GangMemberUpgrade("Demon Rootkit", - "Increases hacking by 50%", 50000000, "r"), + "Increases hacking by 30%", 50e6), } //Create a pop-up box that lets player purchase upgrades @@ -50636,131 +50678,189 @@ function createGangMemberUpgradeButtons(memberObj, upgNames, memberUpgrade, cont } } -let gangContentCreated = false; +//Gang DOM elements +let gangContentCreated = false, + gangContainer = null, managementButton = null, territoryButton = null; + +//Subpages +let gangManagementSubpage = null, gangTerritorySubpage = null; + +//Gang Management Elements +let gangDesc = null, gangInfo = null, + gangRecruitMemberButton = null, gangRecruitRequirementText = null, + gangExpandAllButton = null, gangCollapseAllButton, gangMemberFilter = null, + gangMemberList = null; + + +//Gang Territory Elements +let gangTerritoryDescText = null, gangTerritoryInfoText = null; + function displayGangContent() { - if (!gangContentCreated) { + if (!gangContentCreated || gangContainer == null) { gangContentCreated = true; //Create gang container - var container = document.createElement("div"); - document.getElementById("entire-game-container").appendChild(container); - container.setAttribute("id", "gang-container"); - container.setAttribute("class", "generic-menupage-container"); + gangContainer = Object(__WEBPACK_IMPORTED_MODULE_7__utils_HelperFunctions_js__["f" /* createElement */])("div", { + id:"gang-container", class:"generic-menupage-container", + }); //Get variables - var facName = __WEBPACK_IMPORTED_MODULE_4__Player_js__["a" /* Player */].gang.facName; - var members = __WEBPACK_IMPORTED_MODULE_4__Player_js__["a" /* Player */].gang.members; - var wanted = __WEBPACK_IMPORTED_MODULE_4__Player_js__["a" /* Player */].gang.wanted; - var respect = __WEBPACK_IMPORTED_MODULE_4__Player_js__["a" /* Player */].gang.respect; + var facName = __WEBPACK_IMPORTED_MODULE_4__Player_js__["a" /* Player */].gang.facName, + members = __WEBPACK_IMPORTED_MODULE_4__Player_js__["a" /* Player */].gang.members, + wanted = __WEBPACK_IMPORTED_MODULE_4__Player_js__["a" /* Player */].gang.wanted, + respect = __WEBPACK_IMPORTED_MODULE_4__Player_js__["a" /* Player */].gang.respect; //Buttons to switch between panels - var managementButton = document.createElement("a"); - managementButton.setAttribute("id", "gang-management-subpage-button"); - managementButton.innerHTML = "Gang Management (1)"; - managementButton.setAttribute("class", "a-link-button-inactive"); - managementButton.style.display = "inline-block"; - var territoryButton = document.createElement("a"); - territoryButton.setAttribute("id", "gang-territory-subpage-button"); - territoryButton.innerHTML = "Gang Territory (2)"; - territoryButton.setAttribute("class", "a-link-button"); - territoryButton.style.display = "inline-block"; - - managementButton.addEventListener("click", function() { - document.getElementById("gang-management-subpage").style.display = "block"; - document.getElementById("gang-territory-subpage").style.display = "none"; - managementButton.classList.toggle("a-link-button-inactive"); - managementButton.classList.toggle("a-link-button"); - territoryButton.classList.toggle("a-link-button-inactive"); - territoryButton.classList.toggle("a-link-button"); - updateGangContent(); - return false; + managementButton = Object(__WEBPACK_IMPORTED_MODULE_7__utils_HelperFunctions_js__["f" /* createElement */])("a", { + id:"gang-management-subpage-button", class:"a-link-button-inactive", + display:"inline-block", innerHTML: "Gang Management (1)", + clickListener:()=>{ + gangManagementSubpage.style.display = "block"; + gangTerritorySubpage.style.display = "none"; + managementButton.classList.toggle("a-link-button-inactive"); + managementButton.classList.toggle("a-link-button"); + territoryButton.classList.toggle("a-link-button-inactive"); + territoryButton.classList.toggle("a-link-button"); + updateGangContent(); + return false; + } + }) + territoryButton = Object(__WEBPACK_IMPORTED_MODULE_7__utils_HelperFunctions_js__["f" /* createElement */])("a", { + id:"gang-territory-subpage-button", class:"a-link-button", + display:"inline-block", innerHTML:"Gang Territory (2)", + clickListener:()=>{ + gangManagementSubpage.style.display = "none"; + gangTerritorySubpage.style.display = "block"; + managementButton.classList.toggle("a-link-button-inactive"); + managementButton.classList.toggle("a-link-button"); + territoryButton.classList.toggle("a-link-button-inactive"); + territoryButton.classList.toggle("a-link-button"); + updateGangContent(); + return false; + } }); - - territoryButton.addEventListener("click", function() { - document.getElementById("gang-management-subpage").style.display = "none"; - document.getElementById("gang-territory-subpage").style.display = "block"; - managementButton.classList.toggle("a-link-button-inactive"); - managementButton.classList.toggle("a-link-button"); - territoryButton.classList.toggle("a-link-button-inactive"); - territoryButton.classList.toggle("a-link-button"); - updateGangContent(); - return false; - }); - - container.appendChild(managementButton); - container.appendChild(territoryButton); + gangContainer.appendChild(managementButton); + gangContainer.appendChild(territoryButton); //Subpage for managing gang members - var managementSubpage = document.createElement("div"); - container.appendChild(managementSubpage); - managementSubpage.style.display = "block"; - managementSubpage.setAttribute("id", "gang-management-subpage"); - var infoText = document.createElement("p"); - managementSubpage.appendChild(infoText); - infoText.setAttribute("id", "gang-info"); - infoText.style.width = "70%"; - - var recruitGangMemberBtn = document.createElement("a"); - managementSubpage.appendChild(recruitGangMemberBtn); - recruitGangMemberBtn.setAttribute("id", "gang-management-recruit-member-btn"); - recruitGangMemberBtn.setAttribute("class", "a-link-button-inactive"); - recruitGangMemberBtn.innerHTML = "Recruit Gang Member"; - recruitGangMemberBtn.style.display = "inline-block"; - recruitGangMemberBtn.style.margin = "10px"; - recruitGangMemberBtn.addEventListener("click", () => { - var yesBtn = Object(__WEBPACK_IMPORTED_MODULE_10__utils_YesNoBox_js__["j" /* yesNoTxtInpBoxGetYesButton */])(), noBtn = Object(__WEBPACK_IMPORTED_MODULE_10__utils_YesNoBox_js__["i" /* yesNoTxtInpBoxGetNoButton */])(); - yesBtn.innerHTML = "Recruit Gang Member"; - noBtn.innerHTML = "Cancel"; - yesBtn.addEventListener("click", ()=>{ - var name = Object(__WEBPACK_IMPORTED_MODULE_10__utils_YesNoBox_js__["h" /* yesNoTxtInpBoxGetInput */])(); - if (name == "") { - Object(__WEBPACK_IMPORTED_MODULE_5__utils_DialogBox_js__["a" /* dialogBoxCreate */])("You must enter a name for your Gang member!"); - } else { - for (var i = 0; i < __WEBPACK_IMPORTED_MODULE_4__Player_js__["a" /* Player */].gang.members.length; ++i) { - if (name == __WEBPACK_IMPORTED_MODULE_4__Player_js__["a" /* Player */].gang.members[i].name) { - Object(__WEBPACK_IMPORTED_MODULE_5__utils_DialogBox_js__["a" /* dialogBoxCreate */])("You already have a gang member with this name!"); - return false; - } - } - var member = new GangMember(name); - __WEBPACK_IMPORTED_MODULE_4__Player_js__["a" /* Player */].gang.members.push(member); - createGangMemberDisplayElement(member); - updateGangContent(); - } - Object(__WEBPACK_IMPORTED_MODULE_10__utils_YesNoBox_js__["f" /* yesNoTxtInpBoxClose */])(); - }); - noBtn.addEventListener("click", ()=>{ - Object(__WEBPACK_IMPORTED_MODULE_10__utils_YesNoBox_js__["f" /* yesNoTxtInpBoxClose */])(); - }); - Object(__WEBPACK_IMPORTED_MODULE_10__utils_YesNoBox_js__["g" /* yesNoTxtInpBoxCreate */])("Please enter a name for your new Gang member:"); - return false; + gangManagementSubpage = Object(__WEBPACK_IMPORTED_MODULE_7__utils_HelperFunctions_js__["f" /* createElement */])("div", { + display:"block", id:"gang-management-subpage", }); - //Text for how much reputation is required for recruiting next memberList - var recruitRequirementText = document.createElement("p"); - managementSubpage.appendChild(recruitRequirementText); - recruitRequirementText.setAttribute("id", "gang-recruit-requirement-text"); - recruitRequirementText.style.color = "red"; - - var memberList = document.createElement("ul"); - managementSubpage.appendChild(memberList); - memberList.setAttribute("id", "gang-member-list"); - for (var i = 0; i < members.length; ++i) { - createGangMemberDisplayElement(members[i]); + var lowerWantedTask = ""; + if (__WEBPACK_IMPORTED_MODULE_4__Player_js__["a" /* Player */].gang.isHackingGang) { + lowerWantedTask = "Ethical Hacking"; + } else { + lowerWantedTask = "Vigilante Justice"; } - setGangMemberClickHandlers(); //Set buttons to toggle the gang member info panels + gangDesc = Object(__WEBPACK_IMPORTED_MODULE_7__utils_HelperFunctions_js__["f" /* createElement */])("p", {width:"70%", + innerHTML: + "This page is used to manage your gang members and get an overview of your " + + "gang's stats.

" + + "If a gang member is not earning much money or respect, the task that you " + + "have assigned to that member might be too difficult. Consider training that " + + "member's stats or choosing an easier task. The tasks closer to the " + + "top of the dropdown list are generally easier. Alternatively, the gang member's " + + "low production might be due to the fact that your wanted level is too high. " + + "Consider assigning a few members to the '" + lowerWantedTask + "' " + + "task to lower your wanted level.

" + + "Installing Augmentations does NOT reset your progress with your Gang. " + + "Furthermore, after installing Augmentations, you will " + + "automatically be a member of whatever Faction you created your gang with.

" + }); + gangManagementSubpage.appendChild(gangDesc); + + gangInfo = Object(__WEBPACK_IMPORTED_MODULE_7__utils_HelperFunctions_js__["f" /* createElement */])("p", {id:"gang-info", width:"70%"}); + gangManagementSubpage.appendChild(gangInfo); + + gangRecruitMemberButton = Object(__WEBPACK_IMPORTED_MODULE_7__utils_HelperFunctions_js__["f" /* createElement */])("a", { + id:"gang-management-recruit-member-btn", class:"a-link-button-inactive", + innerHTML:"Recruit Gang Member", display:"inline-block", margin:"10px", + clickListener:()=>{ + var yesBtn = Object(__WEBPACK_IMPORTED_MODULE_10__utils_YesNoBox_js__["j" /* yesNoTxtInpBoxGetYesButton */])(), noBtn = Object(__WEBPACK_IMPORTED_MODULE_10__utils_YesNoBox_js__["i" /* yesNoTxtInpBoxGetNoButton */])(); + yesBtn.innerHTML = "Recruit Gang Member"; + noBtn.innerHTML = "Cancel"; + yesBtn.addEventListener("click", ()=>{ + var name = Object(__WEBPACK_IMPORTED_MODULE_10__utils_YesNoBox_js__["h" /* yesNoTxtInpBoxGetInput */])(); + if (name === "") { + Object(__WEBPACK_IMPORTED_MODULE_5__utils_DialogBox_js__["a" /* dialogBoxCreate */])("You must enter a name for your Gang member!"); + } else { + for (var i = 0; i < __WEBPACK_IMPORTED_MODULE_4__Player_js__["a" /* Player */].gang.members.length; ++i) { + if (name == __WEBPACK_IMPORTED_MODULE_4__Player_js__["a" /* Player */].gang.members[i].name) { + Object(__WEBPACK_IMPORTED_MODULE_5__utils_DialogBox_js__["a" /* dialogBoxCreate */])("You already have a gang member with this name!"); + return false; + } + } + var member = new GangMember(name); + __WEBPACK_IMPORTED_MODULE_4__Player_js__["a" /* Player */].gang.members.push(member); + createGangMemberDisplayElement(member); + updateGangContent(); + } + Object(__WEBPACK_IMPORTED_MODULE_10__utils_YesNoBox_js__["f" /* yesNoTxtInpBoxClose */])(); + }); + noBtn.addEventListener("click", ()=>{ + Object(__WEBPACK_IMPORTED_MODULE_10__utils_YesNoBox_js__["f" /* yesNoTxtInpBoxClose */])(); + }); + Object(__WEBPACK_IMPORTED_MODULE_10__utils_YesNoBox_js__["g" /* yesNoTxtInpBoxCreate */])("Please enter a name for your new Gang member:"); + return false; + } + }); + gangManagementSubpage.appendChild(recruitGangMemberBtn); + + //Text for how much reputation is required for recruiting next memberList + gangRecruitRequirementText = Object(__WEBPACK_IMPORTED_MODULE_7__utils_HelperFunctions_js__["f" /* createElement */])("p", {color:"red", id:"gang-recruit-requirement-text"}); + gangManagementSubpage.appendChild(gangRecruitRequirementText); + + //Gang Member List management buttons (Expand/Collapse All, select a single member) + gangManagementSubpage.appendChild(Object(__WEBPACK_IMPORTED_MODULE_7__utils_HelperFunctions_js__["f" /* createElement */])("br", {})); + gangExpandAllButton = Object(__WEBPACK_IMPORTED_MODULE_7__utils_HelperFunctions_js__["f" /* createElement */])("a", { + class:"a-link-button", display:"inline-block", margin:"4px", padding:"2px", + innerHTML:"Expand All", + clickListener:()=>{ + var allHeaders = gangManagementSubpage.getElementsByClassName("accordion-header"); + allHeaders.forEach((hdr)=>{ + if (!hdr.classList.contains("active")) { + hdr.click(); + } + }) + } + }); + gangCollapseAllButton = Object(__WEBPACK_IMPORTED_MODULE_7__utils_HelperFunctions_js__["f" /* createElement */])("a", { + class:"a-link-button", display:"inline-block", margin:"4px", padding:"2px", + innerHTML:"Collapse All", + clickListener:()=>{ + var allHeaders = gangManagementSubpage.getElementsByClassName("accordion-header"); + allHeaders.forEach((hdr)=>{ + if (hdr.classList.contains("active")) { + hdr.click(); + } + }) + } + }); + gangMemberFilter = Object(__WEBPACK_IMPORTED_MODULE_7__utils_HelperFunctions_js__["f" /* createElement */])("input", { + type:"text", placeholder:"Filter gang members", + onkeyup:()=>{ + displayGangMemberList(); + } + }); + gangManagementSubpage.appendChild(gangExpandAllButton); + gangManagementSubpage.appendChild(gangCollapseAllButton); + gangManagementSubpage.appendChild(gangMemberFilter); + + //Gang Member list + gangMemberList = Object(__WEBPACK_IMPORTED_MODULE_7__utils_HelperFunctions_js__["f" /* createElement */])("ul", {id:"gang-member-list"}); + displayGangMemberList(); + gangManagementSubpage.appendChild(gangMemberList); //Subpage for seeing gang territory information - var territorySubpage = document.createElement("div"); - container.appendChild(territorySubpage); - territorySubpage.setAttribute("id", "gang-territory-subpage"); - territorySubpage.style.display = "none"; + gangTerritorySubpage = Object(__WEBPACK_IMPORTED_MODULE_7__utils_HelperFunctions_js__["f" /* createElement */])("div", { + id:"gang-territory-subpage", display:"none" + }); //Info text for territory page - var territoryInfoText = document.createElement("p"); - territorySubpage.appendChild(territoryInfoText); - territoryInfoText.innerHTML = - "This page shows how much territory your Gang controls. This statistic is listed as a percentage, " + + gangTerritoryDescText = Object(__WEBPACK_IMPORTED_MODULE_7__utils_HelperFunctions_js__["f" /* createElement */])("p", { + width:"70%", + innerHTML:"This page shows how much territory your Gang controls. This statistic is listed as a percentage, " + "which represents how much of the total territory you control.

" + "Territory gain and loss is processed automatically and is updated every ~30 seconds. Your chances " + "to gain and lose territory depend on your Gang's power, which is listed in the display below. " + @@ -50769,47 +50869,55 @@ function displayGangContent() { "your Gang's power.

" + "The amount of territory you have affects all aspects of your Gang members' production, including " + "money, respect, and wanted level. It is very beneficial to have high territory control.

" - territoryInfoText.style.width = "70%"; + }); + gangTerritorySubpage.appendChild(gangTerritoryDescText); + var territoryBorder = Object(__WEBPACK_IMPORTED_MODULE_7__utils_HelperFunctions_js__["f" /* createElement */])("fieldset", {width:"50%", display:"inline-block"}); - var territoryBorder = document.createElement("fieldset"); - territoryBorder.style.width = "50%"; - territoryBorder.style.display = "inline-block"; + gangTerritoryInfoText = Object(__WEBPACK_IMPORTED_MODULE_7__utils_HelperFunctions_js__["f" /* createElement */])("p", {id:"gang-territory-info"}); - var territoryP = document.createElement("p"); - territoryP.setAttribute("id", "gang-territory-info"); + territoryBorder.appendChild(gangTerritoryInfoText); + gangTerritorySubpage.appendChild(territoryBorder); - territoryBorder.appendChild(territoryP); - - - territorySubpage.appendChild(territoryBorder); + gangContainer.appendChild(territorySubpage); + gangContainer.appendChild(gangManagementSubpage); + document.getElementById("entire-game-container").appendChild(gangContainer); } - document.getElementById("gang-container").style.display = "block"; + gangContainer.style.display = "block"; updateGangContent(); } +function displayGangMemberList() { + Object(__WEBPACK_IMPORTED_MODULE_7__utils_HelperFunctions_js__["k" /* removeChildrenFromElement */])(gangMemberList); + var filter = gangMemberFilter.value.toString(); + for (var i = 0; i < members.length; ++i) { + if (members[i].name.indexOf(filter) > -1) { + createGangMemberDisplayElement(members[i]); + } + } + //setGangMemberClickHandlers(); //Set buttons to toggle the gang member info panels +} + function updateGangContent() { if (!gangContentCreated || !__WEBPACK_IMPORTED_MODULE_4__Player_js__["a" /* Player */].inGang()) {return;} - if(document.getElementById("gang-territory-subpage").style.display === "block") { + if(gangTerritorySubpage.style.display === "block") { //Update territory information - var elem = document.getElementById("gang-territory-info"); - elem.innerHTML = ""; + gangTerritoryInfoText.innerHTML = ""; for (var gangname in AllGangs) { if (AllGangs.hasOwnProperty(gangname)) { var gangInfo = AllGangs[gangname]; if (gangname == __WEBPACK_IMPORTED_MODULE_4__Player_js__["a" /* Player */].gang.facName) { - elem.innerHTML += ("" + gangname + "
(Power: " + Object(__WEBPACK_IMPORTED_MODULE_9__utils_StringHelperFunctions_js__["c" /* formatNumber */])(gangInfo.power, 6) + "): " + + gangTerritoryInfoText.innerHTML += ("" + gangname + "
(Power: " + Object(__WEBPACK_IMPORTED_MODULE_9__utils_StringHelperFunctions_js__["c" /* formatNumber */])(gangInfo.power, 6) + "): " + Object(__WEBPACK_IMPORTED_MODULE_9__utils_StringHelperFunctions_js__["c" /* formatNumber */])(100*gangInfo.territory, 2) + "%

"); } else { - elem.innerHTML += (gangname + "
(Power: " + Object(__WEBPACK_IMPORTED_MODULE_9__utils_StringHelperFunctions_js__["c" /* formatNumber */])(gangInfo.power, 6) + "): " + + gangTerritoryInfoText.innerHTML += (gangname + "
(Power: " + Object(__WEBPACK_IMPORTED_MODULE_9__utils_StringHelperFunctions_js__["c" /* formatNumber */])(gangInfo.power, 6) + "): " + Object(__WEBPACK_IMPORTED_MODULE_9__utils_StringHelperFunctions_js__["c" /* formatNumber */])(100*gangInfo.territory, 2) + "%

"); } } } } else { //Update information for overall gang - var gangInfo = document.getElementById("gang-info"); if (gangInfo) { var faction = __WEBPACK_IMPORTED_MODULE_2__Faction_js__["b" /* Factions */][__WEBPACK_IMPORTED_MODULE_4__Player_js__["a" /* Player */].gang.facName]; var rep; @@ -50818,25 +50926,48 @@ function updateGangContent() { } else { rep = faction.playerReputation; } - gangInfo.innerHTML = - "

This page is used to manage your gang members and get an overview of your gang's stats.

" + - "If a gang member is not earning much money or respect, the task that you have assigned to that member " + - "might be too difficult. Consider training that member's stats or choosing an easier task. The tasks closer to the " + - "top of the dropdown list are generally easier. Alternatively, the gang member's low production might be due to the " + - "fact that your wanted level is too high. Consider assigning a few members to the 'Vigilante Justice' or 'Ethical Hacking' " + - "tasks to lower your wanted level.

" + - "Installing Augmentations does NOT reset your progress with your Gang. Furthermore, after installing Augmentations, you will " + - "automatically be a member of whatever Faction you created your gang with.

" + - "

Respect: Represents the amount of respect " + - "your gang has from other gangs and criminal organizations. Your respect affects the amount of money " + - "your gang members will earn, and also determines how much reputation you are earning with your gang's " + - "correpsonding Faction.

" + Object(__WEBPACK_IMPORTED_MODULE_9__utils_StringHelperFunctions_js__["c" /* formatNumber */])(__WEBPACK_IMPORTED_MODULE_4__Player_js__["a" /* Player */].gang.respect, 6) + " (" + Object(__WEBPACK_IMPORTED_MODULE_9__utils_StringHelperFunctions_js__["c" /* formatNumber */])(5*__WEBPACK_IMPORTED_MODULE_4__Player_js__["a" /* Player */].gang.respectGainRate, 6) + " / sec)


" + - "

Wanted Level: Represents how much the gang is wanted by law " + - "enforcement. The higher your gang's wanted level, the harder it will be for your gang members to make " + - "money and earn respect. Note that the minimum respect value is 1." + - "

" + Object(__WEBPACK_IMPORTED_MODULE_9__utils_StringHelperFunctions_js__["c" /* formatNumber */])(__WEBPACK_IMPORTED_MODULE_4__Player_js__["a" /* Player */].gang.wanted, 6) + " (" + Object(__WEBPACK_IMPORTED_MODULE_9__utils_StringHelperFunctions_js__["c" /* formatNumber */])(5*__WEBPACK_IMPORTED_MODULE_4__Player_js__["a" /* Player */].gang.wantedGainRate, 6) + " / sec)

" + - "Money gain rate: $" + Object(__WEBPACK_IMPORTED_MODULE_9__utils_StringHelperFunctions_js__["c" /* formatNumber */])(5*__WEBPACK_IMPORTED_MODULE_4__Player_js__["a" /* Player */].gang.moneyGainRate, 2) + " / sec

" + - "Faction reputation: " + Object(__WEBPACK_IMPORTED_MODULE_9__utils_StringHelperFunctions_js__["c" /* formatNumber */])(rep, 3) + "

"; + Object(__WEBPACK_IMPORTED_MODULE_7__utils_HelperFunctions_js__["k" /* removeChildrenFromElement */])(gangInfo); + gangInfo.appendChild(Object(__WEBPACK_IMPORTED_MODULE_7__utils_HelperFunctions_js__["f" /* createElement */])("p", { //Respect + display:"block", + innerText:"Respect: " + Object(__WEBPACK_IMPORTED_MODULE_9__utils_StringHelperFunctions_js__["c" /* formatNumber */])(__WEBPACK_IMPORTED_MODULE_4__Player_js__["a" /* Player */].gang.respect, 6) + + " (" + Object(__WEBPACK_IMPORTED_MODULE_9__utils_StringHelperFunctions_js__["c" /* formatNumber */])(5*__WEBPACK_IMPORTED_MODULE_4__Player_js__["a" /* Player */].gang.respectGainRate, 6) + " / sec)", + tooltip:"Represents the amount of respect your gang has from other gangs and criminal " + + "organizations. Your respect affects the amount of money " + + "your gang members will earn, and also determines how much " + + "reputation you are earning with your gang's corresponding Faction." + })); + gangInfo.appendChild(Object(__WEBPACK_IMPORTED_MODULE_7__utils_HelperFunctions_js__["f" /* createElement */])("p", { //Wanted level + display:"block", + innerText:"Wanted Level: " + Object(__WEBPACK_IMPORTED_MODULE_9__utils_StringHelperFunctions_js__["c" /* formatNumber */])(__WEBPACK_IMPORTED_MODULE_4__Player_js__["a" /* Player */].gang.wanted, 6) + + " (" + Object(__WEBPACK_IMPORTED_MODULE_9__utils_StringHelperFunctions_js__["c" /* formatNumber */])(5*__WEBPACK_IMPORTED_MODULE_4__Player_js__["a" /* Player */].gang.wantedGainRate, 6) + " / sec)", + tooltip:"Represents how much the gang is wanted by law enforcement. The higher " + + "your gang's wanted level, the harder it will be for your gang members " + + "to make money and earn respect. Note that the minimum wanted level is 1." + })); + + var wantedPenalty = (__WEBPACK_IMPORTED_MODULE_4__Player_js__["a" /* Player */].gang.respect) / (__WEBPACK_IMPORTED_MODULE_4__Player_js__["a" /* Player */].gang.respect + __WEBPACK_IMPORTED_MODULE_4__Player_js__["a" /* Player */].gang.wanted); + wantedPenalty = (1 - wantedPenalty) * 100; + gangInfo.appendChild(Object(__WEBPACK_IMPORTED_MODULE_7__utils_HelperFunctions_js__["f" /* createElement */])("p", { //Wanted Level multiplier + display:"block", + innerText:"Wanted Level Penalty: -" + Object(__WEBPACK_IMPORTED_MODULE_9__utils_StringHelperFunctions_js__["c" /* formatNumber */])(wantedPenalty, 2) + "%", + tooltip:"Penalty for respect and money gain rates due to Wanted Level" + })); + gangInfo.appendChild(Object(__WEBPACK_IMPORTED_MODULE_7__utils_HelperFunctions_js__["f" /* createElement */])("p", { //Money gain rate + display:"block", + innerText:"Money gain rate: $" + Object(__WEBPACK_IMPORTED_MODULE_9__utils_StringHelperFunctions_js__["c" /* formatNumber */])(5*__WEBPACK_IMPORTED_MODULE_4__Player_js__["a" /* Player */].gang.moneyGainRate, 2) + + " / sec", + })); + + var territoryMult = AllGangs[__WEBPACK_IMPORTED_MODULE_4__Player_js__["a" /* Player */].gang.facName].territory; + gangInfo.appendChild(Object(__WEBPACK_IMPORTED_MODULE_7__utils_HelperFunctions_js__["f" /* createElement */])("p", { //Territory multiplier + display:"block", + innerText:"Territory: " + Object(__WEBPACK_IMPORTED_MODULE_9__utils_StringHelperFunctions_js__["c" /* formatNumber */])(territoryMult * 100, 3), + tooltip:"The percentage of total territory your Gang controls" + })); + gangInfo.appendChild(Object(__WEBPACK_IMPORTED_MODULE_7__utils_HelperFunctions_js__["f" /* createElement */])("p", { //Faction reputation + display:"block", + innerText:"Faction reputation: " + Object(__WEBPACK_IMPORTED_MODULE_9__utils_StringHelperFunctions_js__["c" /* formatNumber */])(rep, 3) + })); } else { console.log("ERROR: gang-info DOM element DNE"); } @@ -50852,19 +50983,19 @@ function updateGangContent() { Object(__WEBPACK_IMPORTED_MODULE_5__utils_DialogBox_js__["a" /* dialogBoxCreate */])("Could not find your gang's faction. This is probably a bug please report to dev"); return; } - var btn = document.getElementById("gang-management-recruit-member-btn"); + var btn = gangRecruitMemberButton; if (numMembers >= __WEBPACK_IMPORTED_MODULE_0__Constants_js__["a" /* CONSTANTS */].MaximumGangMembers) { btn.className = "a-link-button-inactive"; - document.getElementById("gang-recruit-requirement-text").style.display = "block"; - document.getElementById("gang-recruit-requirement-text").innerHTML = + gangRecruitRequirementText.style.display = "block"; + gangRecruitRequirementText.innerHTML = "You have reached the maximum amount of gang members"; } else if (faction.playerReputation >= repCost) { btn.className = "a-link-button"; - document.getElementById("gang-recruit-requirement-text").style.display = "none"; + gangRecruitRequirementText.style.display = "none"; } else { btn.className = "a-link-button-inactive"; - document.getElementById("gang-recruit-requirement-text").style.display = "block"; - document.getElementById("gang-recruit-requirement-text").innerHTML = + gangRecruitRequirementText.style.display = "block"; + gangRecruitRequirementText.innerHTML = Object(__WEBPACK_IMPORTED_MODULE_9__utils_StringHelperFunctions_js__["c" /* formatNumber */])(repCost, 2) + " Faction reputation needed to recruit next member"; } @@ -50875,6 +51006,7 @@ function updateGangContent() { } } +/* function setGangMemberClickHandlers() { //Server panel click handlers var gangMemberHdrs = document.getElementsByClassName("gang-member-header"); @@ -50895,12 +51027,21 @@ function setGangMemberClickHandlers() { } } } +*/ //Takes in a GangMember object function createGangMemberDisplayElement(memberObj) { if (!gangContentCreated || !__WEBPACK_IMPORTED_MODULE_4__Player_js__["a" /* Player */].inGang()) {return;} var name = memberObj.name; + var accordion = Object(__WEBPACK_IMPORTED_MODULE_7__utils_HelperFunctions_js__["e" /* createAccordionElement */])({ + id:name + "gang-member", + hdrText:name, + }); + var li = accordion[0]; + var hdr = accordion[2]; + var gangMemberDiv = accordion[3]; + /* var li = document.createElement("li"); var hdr = document.createElement("button"); @@ -50911,11 +51052,21 @@ function createGangMemberDisplayElement(memberObj) { //Div for entire panel var gangMemberDiv = document.createElement("div"); gangMemberDiv.setAttribute("class", "gang-member-panel"); + */ //Gang member content divided into 3 panels: //Stats Panel + var statsDiv = Object(__WEBPACK_IMPORTED_MODULE_7__utils_HelperFunctions_js__["f" /* createElement */])("div", { + id: name + "gang-member-stats", class: "gang-member-info-div", + width:"30%", display:"inline" + }); + var statsP = Object(__WEBPACK_IMPORTED_MODULE_7__utils_HelperFunctions_js__["f" /* createElement */])("p", { + id:name + "gang-member-stats-text", display:"inline" + }); + + /* var statsDiv = document.createElement("div"); - statsDiv.setAttribute("id", name + "gang-member-stats"); + statsDiv.setAttribute("id", ); statsDiv.setAttribute("class", "gang-member-info-div"); var statsP = document.createElement("p"); statsP.setAttribute("id", name + "gang-member-stats-text"); @@ -50928,10 +51079,20 @@ function createGangMemberDisplayElement(memberObj) { upgradeButton.addEventListener("click", function() { createGangMemberUpgradeBox(memberObj); }); + */ statsDiv.appendChild(statsP); - statsDiv.appendChild(upgradeButton); + //statsDiv.appendChild(upgradeButton); //Panel for Selecting task and show respect/wanted gain + var taskDiv = Object(__WEBPACK_IMPORTED_MODULE_7__utils_HelperFunctions_js__["f" /* createElement */])("div", { + id: name + "gang-member-task", class:"gang-member-info-div", + width:"30%", display:"inline" + }); + var taskSelector = Object(__WEBPACK_IMPORTED_MODULE_7__utils_HelperFunctions_js__["f" /* createElement */])("select", { + color:"white", backgroundColor:"black", + id:name + "gang-member-task-selector" + }); + /* var taskDiv = document.createElement("div"); taskDiv.setAttribute("id", name + "gang-member-task"); taskDiv.setAttribute("class", "gang-member-info-div"); @@ -50939,6 +51100,7 @@ function createGangMemberDisplayElement(memberObj) { taskSelector.style.color = "white"; taskSelector.style.backgroundColor = "black"; taskSelector.setAttribute("id", name + "gang-member-task-selector"); + */ var tasks = null; if (__WEBPACK_IMPORTED_MODULE_4__Player_js__["a" /* Player */].gang.isHackingGang) { tasks = ["---", "Ransomware", "Phishing", "Identity Theft", "DDoS Attacks", @@ -50975,19 +51137,29 @@ function createGangMemberDisplayElement(memberObj) { taskSelector.selectedIndex = taskIndex; } - var gainInfo = document.createElement("p"); //Wanted, respect, reputation, and money gain - gainInfo.setAttribute("id", name + "gang-member-gain-info"); + var gainInfo = Object(__WEBPACK_IMPORTED_MODULE_7__utils_HelperFunctions_js__["f" /* createElement */])("p", {id:name + "gang-member-gain-info"}); + /*var gainInfo = document.createElement("p"); //Wanted, respect, reputation, and money gain + gainInfo.setAttribute("id", name + "gang-member-gain-info");*/ taskDiv.appendChild(taskSelector); taskDiv.appendChild(gainInfo); //Panel for Description of task + var taskDescDiv = Object(__WEBPACK_IMPORTED_MODULE_7__utils_HelperFunctions_js__["f" /* createElement */])("div", { + id:name + "gang-member-task-desc", class:"gang-member-info-div", + width:"30%", display:"inline" + }); + /* var taskDescDiv = document.createElement("div"); taskDescDiv.setAttribute("id", name + "gang-member-task-desc"); taskDescDiv.setAttribute("class", "gang-member-info-div"); + */ + var taskDescP = Object(__WEBPACK_IMPORTED_MODULE_7__utils_HelperFunctions_js__["f" /* createElement */])("p", {id: name + "gang-member-task-description", display:"inline"}); + /* var taskDescP = document.createElement("p"); taskDescP.setAttribute("id", name + "gang-member-task-description"); taskDescP.style.display = "inline"; + */ taskDescDiv.appendChild(taskDescP); statsDiv.style.width = "30%"; @@ -51000,8 +51172,8 @@ function createGangMemberDisplayElement(memberObj) { gangMemberDiv.appendChild(taskDiv); gangMemberDiv.appendChild(taskDescDiv); - li.appendChild(hdr); - li.appendChild(gangMemberDiv); + //li.appendChild(hdr); + //li.appendChild(gangMemberDiv); document.getElementById("gang-member-list").appendChild(li); setGangMemberTaskDescription(memberObj, taskName); //Initialize description @@ -52639,7 +52811,7 @@ function nextInfiltrationLevel(inst) { bribeButton.style.display = "none"; escapeButton.style.display = "none"; - var rand = Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["g" /* getRandomInt */])(0, 5); //This needs to change if more scenarios are added + var rand = Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["h" /* getRandomInt */])(0, 5); //This needs to change if more scenarios are added var scenario = null; switch (rand) { case 1: diff --git a/src/Gang.js b/src/Gang.js index 13c7e4a04..89ad524c0 100644 --- a/src/Gang.js +++ b/src/Gang.js @@ -6,7 +6,9 @@ import {Player} from "./Player.js"; import {dialogBoxCreate} from "../utils/DialogBox.js"; import {Reviver, Generic_toJSON, Generic_fromJSON} from "../utils/JSONReviver.js"; -import {getRandomInt} from "../utils/HelperFunctions.js"; +import {getRandomInt, createElement, + removeChildrenFromElement, + createAccordionElement} from "../utils/HelperFunctions.js"; import numeral from "../utils/numeral.min.js"; import {formatNumber} from "../utils/StringHelperFunctions.js"; import {yesNoBoxCreate, yesNoTxtInpBoxCreate, @@ -272,6 +274,26 @@ Gang.prototype.calculatePower = function() { return (0.0005 * memberTotal); } +Gang.prototype.autoAssignMemberToTask = function(taskName) { + for (var i = 0; i < this.members.length; ++i) { + if (this.members[i].task.name === taskName) { + this.members[i].assignToTask(taskName); + return true; + } + } + return false; +} + +Gang.prototype.autoUnassignMemberFromTask = function(taskName) { + for (var i = 0; i < this.members.length; ++i) { + if (this.members[i].task.name === taskName) { + this.members[i].unassignFromTask(); + return true; + } + } + return false; +} + Gang.prototype.toJSON = function() { return Generic_toJSON("Gang", this); } @@ -285,7 +307,7 @@ Reviver.constructors.Gang = Gang; /*** Gang Member object ***/ function GangMember(name) { this.name = name; - this.task = null; //GangMemberTask object + this.task = GangMemberTasks["Unassigned"]; //GangMemberTask object this.city = Player.city; //Name of upgrade only @@ -314,6 +336,8 @@ function GangMember(name) { this.dex_mult = 1; this.agi_mult = 1; this.cha_mult = 1; + + this.upgrades = []; //Names of upgrades } //Same formula for Player @@ -344,6 +368,15 @@ GangMember.prototype.assignToTask = function(taskName) { } } +GangMember.prototype.unassignFromTask = function() { + if (GangMemberTasks.hasOwnProperty("Unassigned")) { + this.task = GangMemberTasks["Unassigned"]; + } else { + console.log("ERROR: Can't find Unassigned Gang member task"); + this.task = null; + } +} + //Gains are per cycle GangMember.prototype.calculateRespectGain = function() { var task = this.task; @@ -457,6 +490,9 @@ Reviver.constructors.GangMemberTask = GangMemberTask; //TODO Human trafficking and an equivalent hacking crime let GangMemberTasks = { + "Unassigned" : new GangMemebrTask( + "Unassigned", + "This gang member is currently idle"), "Ransomware" : new GangMemberTask( "Ransomware", "Assign this gang member to create and distribute ransomware

" + @@ -581,90 +617,89 @@ let GangMemberTasks = { } -function GangMemberUpgrade(name="", desc="", cost=0, type="-") { +function GangMemberUpgrade(name="", desc="", cost=0) { this.name = name; this.desc = desc; this.cost = cost; - this.type = type; //w, a, v, r } //Passes in a GangMember object -GangMemberUpgrade.prototype.apply = function(member, unapply=false) { +GangMemberUpgrade.prototype.apply = function(member) { switch(this.name) { case "Baseball Bat": - unapply ? member.str_mult /= 1.1 : member.str_mult *= 1.1; - unapply ? member.def_mult /= 1.1 : member.def_mult *= 1.1; + member.str_mult *= 1.05; + member.def_mult *= 1.05; break; case "Katana": - unapply ? member.str_mult /= 1.15 : member.str_mult *= 1.15; - unapply ? member.def_mult /= 1.15 : member.def_mult *= 1.15; - unapply ? member.dex_mult /= 1.15 : member.dex_mult *= 1.15; + member.str_mult *= 1.1; + member.def_mult *= 1.1; + member.dex_mult *= 1.1; break; case "Glock 18C": - unapply ? member.str_mult /= 1.2 : member.str_mult *= 1.2; - unapply ? member.def_mult /= 1.2 : member.def_mult *= 1.2; - unapply ? member.dex_mult /= 1.2 : member.dex_mult *= 1.2; - unapply ? member.agi_mult /= 1.2 : member.agi_mult *= 1.2; + member.str_mult *= 1.15; + member.def_mult *= 1.15; + member.dex_mult *= 1.15; + member.agi_mult *= 1.15; break; case "P90": - unapply ? member.str_mult /= 1.4 : member.str_mult *= 1.4; - unapply ? member.def_mult /= 1.4 : member.def_mult *= 1.4; - unapply ? member.agi_mult /= 1.2 : member.agi_mult *= 1.2; + member.str_mult *= 1.2; + member.def_mult *= 1.2; + member.agi_mult *= 1.1; break; case "Steyr AUG": - unapply ? member.str_mult /= 1.6 : member.str_mult *= 1.6; - unapply ? member.def_mult /= 1.6 : member.def_mult *= 1.6; + member.str_mult *= 1.25; + member.def_mult *= 1.25; break; case "AK-47": - unapply ? member.str_mult /= 1.8 : member.str_mult *= 1.8; - unapply ? member.def_mult /= 1.8 : member.def_mult *= 1.8; + member.str_mult *= 1.5; + member.def_mult *= 1.5; break; case "M15A10 Assault Rifle": - unapply ? member.str_mult /= 1.9 : member.str_mult *= 1.9; - unapply ? member.def_mult /= 1.9 : member.def_mult *= 1.9; + member.str_mult *= 1.6; + member.def_mult *= 1.6; break; case "AWM Sniper Rifle": - unapply ? member.str_mult /= 1.8 : member.str_mult *= 1.8; - unapply ? member.dex_mult /= 1.8 : member.dex_mult *= 1.8; - unapply ? member.agi_mult /= 1.8 : member.agi_mult *= 1.8; + member.str_mult *= 1.5; + member.dex_mult *= 1.5; + member.agi_mult *= 1.5; break; case "Bulletproof Vest": - unapply ? member.def_mult /= 1.15 : member.def_mult *= 1.15; + member.def_mult *= 1.05; break; case "Full Body Armor": - unapply ? member.def_mult /= 1.3 : member.def_mult *= 1.3; + member.def_mult *= 1.1; break; case "Liquid Body Armor": - unapply ? member.def_mult /= 1.5 : member.def_mult *= 1.5; - unapply ? member.agi_mult /= 1.5 : member.agi_mult *= 1.5; + member.def_mult *= 1.25; + member.agi_mult *= 1.25; break; case "Graphene Plating Armor": - unapply ? member.def_mult /= 2 : member.def_mult *= 2; + member.def_mult *= 5; break; case "Ford Flex V20": - unapply ? member.agi_mult /= 1.2 : member.agi_mult *= 1.2; - unapply ? member.cha_mult /= 1.2 : member.cha_mult *= 1.2; + member.agi_mult *= 1.1; + member.cha_mult *= 1.1; break; case "ATX1070 Superbike": - unapply ? member.agi_mult /= 1.4 : member.agi_mult *= 1.4; - unapply ? member.cha_mult /= 1.4 : member.cha_mult *= 1.4; + member.agi_mult *= 1.15; + member.cha_mult *= 1.15; break; case "Mercedes-Benz S9001": - unapply ? member.agi_mult /= 1.6 : member.agi_mult *= 1.6; - unapply ? member.cha_mult /= 1.6 : member.cha_mult *= 1.6; + member.agi_mult *= 1.2; + member.cha_mult *= 1.2; break; case "White Ferrari": - unapply ? member.agi_mult /= 1.8 : member.agi_mult *= 1.8; - unapply ? member.cha_mult /= 1.8 : member.cha_mult *= 1.8; + member.agi_mult *= 1.25; + member.cha_mult *= 1.25; break; case "NUKE Rootkit": - unapply ? member.hack_mult /= 1.2 : member.hack_mult *= 1.2; + member.hack_mult *= 1.1; break; case "Soulstealer Rootkit": - unapply ? member.hack_mult /= 1.3 : member.hack_mult *= 1.3; + member.hack_mult *= 1.2; break; case "Demon Rootkit": - unapply ? member.hack_mult /= 1.5 : member.hack_mult *= 1.5; + member.hack_mult *= 1.3; break; default: console.log("ERROR: Could not find this upgrade: " + this.name); @@ -727,43 +762,43 @@ Reviver.constructors.GangMemberUpgrade = GangMemberUpgrade; let GangMemberUpgrades = { "Baseball Bat" : new GangMemberUpgrade("Baseball Bat", - "Increases strength and defense by 10%", 1000000, "w"), + "Increases strength and defense by 5%", 1e6), "Katana" : new GangMemberUpgrade("Katana", - "Increases strength, defense, and dexterity by 15%", 12000000, "w"), + "Increases strength, defense, and dexterity by 10%", 12e6), "Glock 18C" : new GangMemberUpgrade("Glock 18C", - "Increases strength, defense, dexterity, and agility by 20%", 25000000, "w"), + "Increases strength, defense, dexterity, and agility by 15%", 25e6), "P90" : new GangMemberUpgrade("P90C", - "Increases strength and defense by 40%. Increases agility by 20%", 50000000, "w"), + "Increases strength and defense by 20%. Increases agility by 10%", 50e6), "Steyr AUG" : new GangMemberUpgrade("Steyr AUG", - "Increases strength and defense by 60%", 60000000, "w"), + "Increases strength and defense by 25%", 60e6), "AK-47" : new GangMemberUpgrade("AK-47", - "Increases strength and defense by 80%", 100000000, "w"), + "Increases strength and defense by 50%", 100e6), "M15A10 Assault Rifle" : new GangMemberUpgrade("M15A10 Assault Rifle", - "Increases strength and defense by 90%", 150000000, "w"), + "Increases strength and defense by 60%", 150e6), "AWM Sniper Rifle" : new GangMemberUpgrade("AWM Sniper Rifle", - "Increases strength, dexterity, and agility by 80%", 225000000, "w"), + "Increases strength, dexterity, and agility by 50%", 225e6), "Bulletproof Vest" : new GangMemberUpgrade("Bulletproof Vest", - "Increases defense by 15%", 2000000, "a"), + "Increases defense by 5%", 2e6), "Full Body Armor" : new GangMemberUpgrade("Full Body Armor", - "Increases defense by 30%", 5000000, "a"), + "Increases defense by 10%", 5e6), "Liquid Body Armor" : new GangMemberUpgrade("Liquid Body Armor", - "Increases defense and agility by 50%", 25000000, "a"), + "Increases defense and agility by 25%", 25e6), "Graphene Plating Armor" : new GangMemberUpgrade("Graphene Plating Armor", - "Increases defense by 100%", 40000000, "a"), + "Increases defense by 50%", 40e6), "Ford Flex V20" : new GangMemberUpgrade("Ford Flex V20", - "Increases agility and charisma by 20%", 3000000, "v"), + "Increases agility and charisma by 10%", 3e6), "ATX1070 Superbike" : new GangMemberUpgrade("ATX1070 Superbike", - "Increases agility and charisma by 40%", 9000000, "v"), + "Increases agility and charisma by 15%", 9e6), "Mercedes-Benz S9001" : new GangMemberUpgrade("Mercedes-Benz S9001", - "Increases agility and charisma by 60%", 18000000, "v"), + "Increases agility and charisma by 20%", 18e6), "White Ferrari" : new GangMemberUpgrade("White Ferrari", - "Increases agility and charisma by 80%", 30000000, "v"), + "Increases agility and charisma by 25%", 30e6), "NUKE Rootkit" : new GangMemberUpgrade("NUKE Rootkit", - "Increases hacking by 20%", 5000000, "r"), + "Increases hacking by 10%", 5e6), "Soulstealer Rootkit" : new GangMemberUpgrade("Soulstealer Rootkit", - "Increases hacking by 30%", 15000000, "r"), + "Increases hacking by 20%", 15e6), "Demon Rootkit" : new GangMemberUpgrade("Demon Rootkit", - "Increases hacking by 50%", 50000000, "r"), + "Increases hacking by 30%", 50e6), } //Create a pop-up box that lets player purchase upgrades @@ -889,131 +924,189 @@ function createGangMemberUpgradeButtons(memberObj, upgNames, memberUpgrade, cont } } -let gangContentCreated = false; +//Gang DOM elements +let gangContentCreated = false, + gangContainer = null, managementButton = null, territoryButton = null; + +//Subpages +let gangManagementSubpage = null, gangTerritorySubpage = null; + +//Gang Management Elements +let gangDesc = null, gangInfo = null, + gangRecruitMemberButton = null, gangRecruitRequirementText = null, + gangExpandAllButton = null, gangCollapseAllButton, gangMemberFilter = null, + gangMemberList = null; + + +//Gang Territory Elements +let gangTerritoryDescText = null, gangTerritoryInfoText = null; + function displayGangContent() { - if (!gangContentCreated) { + if (!gangContentCreated || gangContainer == null) { gangContentCreated = true; //Create gang container - var container = document.createElement("div"); - document.getElementById("entire-game-container").appendChild(container); - container.setAttribute("id", "gang-container"); - container.setAttribute("class", "generic-menupage-container"); + gangContainer = createElement("div", { + id:"gang-container", class:"generic-menupage-container", + }); //Get variables - var facName = Player.gang.facName; - var members = Player.gang.members; - var wanted = Player.gang.wanted; - var respect = Player.gang.respect; + var facName = Player.gang.facName, + members = Player.gang.members, + wanted = Player.gang.wanted, + respect = Player.gang.respect; //Buttons to switch between panels - var managementButton = document.createElement("a"); - managementButton.setAttribute("id", "gang-management-subpage-button"); - managementButton.innerHTML = "Gang Management (1)"; - managementButton.setAttribute("class", "a-link-button-inactive"); - managementButton.style.display = "inline-block"; - var territoryButton = document.createElement("a"); - territoryButton.setAttribute("id", "gang-territory-subpage-button"); - territoryButton.innerHTML = "Gang Territory (2)"; - territoryButton.setAttribute("class", "a-link-button"); - territoryButton.style.display = "inline-block"; - - managementButton.addEventListener("click", function() { - document.getElementById("gang-management-subpage").style.display = "block"; - document.getElementById("gang-territory-subpage").style.display = "none"; - managementButton.classList.toggle("a-link-button-inactive"); - managementButton.classList.toggle("a-link-button"); - territoryButton.classList.toggle("a-link-button-inactive"); - territoryButton.classList.toggle("a-link-button"); - updateGangContent(); - return false; + managementButton = createElement("a", { + id:"gang-management-subpage-button", class:"a-link-button-inactive", + display:"inline-block", innerHTML: "Gang Management (1)", + clickListener:()=>{ + gangManagementSubpage.style.display = "block"; + gangTerritorySubpage.style.display = "none"; + managementButton.classList.toggle("a-link-button-inactive"); + managementButton.classList.toggle("a-link-button"); + territoryButton.classList.toggle("a-link-button-inactive"); + territoryButton.classList.toggle("a-link-button"); + updateGangContent(); + return false; + } + }) + territoryButton = createElement("a", { + id:"gang-territory-subpage-button", class:"a-link-button", + display:"inline-block", innerHTML:"Gang Territory (2)", + clickListener:()=>{ + gangManagementSubpage.style.display = "none"; + gangTerritorySubpage.style.display = "block"; + managementButton.classList.toggle("a-link-button-inactive"); + managementButton.classList.toggle("a-link-button"); + territoryButton.classList.toggle("a-link-button-inactive"); + territoryButton.classList.toggle("a-link-button"); + updateGangContent(); + return false; + } }); - - territoryButton.addEventListener("click", function() { - document.getElementById("gang-management-subpage").style.display = "none"; - document.getElementById("gang-territory-subpage").style.display = "block"; - managementButton.classList.toggle("a-link-button-inactive"); - managementButton.classList.toggle("a-link-button"); - territoryButton.classList.toggle("a-link-button-inactive"); - territoryButton.classList.toggle("a-link-button"); - updateGangContent(); - return false; - }); - - container.appendChild(managementButton); - container.appendChild(territoryButton); + gangContainer.appendChild(managementButton); + gangContainer.appendChild(territoryButton); //Subpage for managing gang members - var managementSubpage = document.createElement("div"); - container.appendChild(managementSubpage); - managementSubpage.style.display = "block"; - managementSubpage.setAttribute("id", "gang-management-subpage"); - var infoText = document.createElement("p"); - managementSubpage.appendChild(infoText); - infoText.setAttribute("id", "gang-info"); - infoText.style.width = "70%"; - - var recruitGangMemberBtn = document.createElement("a"); - managementSubpage.appendChild(recruitGangMemberBtn); - recruitGangMemberBtn.setAttribute("id", "gang-management-recruit-member-btn"); - recruitGangMemberBtn.setAttribute("class", "a-link-button-inactive"); - recruitGangMemberBtn.innerHTML = "Recruit Gang Member"; - recruitGangMemberBtn.style.display = "inline-block"; - recruitGangMemberBtn.style.margin = "10px"; - recruitGangMemberBtn.addEventListener("click", () => { - var yesBtn = yesNoTxtInpBoxGetYesButton(), noBtn = yesNoTxtInpBoxGetNoButton(); - yesBtn.innerHTML = "Recruit Gang Member"; - noBtn.innerHTML = "Cancel"; - yesBtn.addEventListener("click", ()=>{ - var name = yesNoTxtInpBoxGetInput(); - if (name == "") { - dialogBoxCreate("You must enter a name for your Gang member!"); - } else { - for (var i = 0; i < Player.gang.members.length; ++i) { - if (name == Player.gang.members[i].name) { - dialogBoxCreate("You already have a gang member with this name!"); - return false; - } - } - var member = new GangMember(name); - Player.gang.members.push(member); - createGangMemberDisplayElement(member); - updateGangContent(); - } - yesNoTxtInpBoxClose(); - }); - noBtn.addEventListener("click", ()=>{ - yesNoTxtInpBoxClose(); - }); - yesNoTxtInpBoxCreate("Please enter a name for your new Gang member:"); - return false; + gangManagementSubpage = createElement("div", { + display:"block", id:"gang-management-subpage", }); - //Text for how much reputation is required for recruiting next memberList - var recruitRequirementText = document.createElement("p"); - managementSubpage.appendChild(recruitRequirementText); - recruitRequirementText.setAttribute("id", "gang-recruit-requirement-text"); - recruitRequirementText.style.color = "red"; - - var memberList = document.createElement("ul"); - managementSubpage.appendChild(memberList); - memberList.setAttribute("id", "gang-member-list"); - for (var i = 0; i < members.length; ++i) { - createGangMemberDisplayElement(members[i]); + var lowerWantedTask = ""; + if (Player.gang.isHackingGang) { + lowerWantedTask = "Ethical Hacking"; + } else { + lowerWantedTask = "Vigilante Justice"; } - setGangMemberClickHandlers(); //Set buttons to toggle the gang member info panels + gangDesc = createElement("p", {width:"70%", + innerHTML: + "This page is used to manage your gang members and get an overview of your " + + "gang's stats.

" + + "If a gang member is not earning much money or respect, the task that you " + + "have assigned to that member might be too difficult. Consider training that " + + "member's stats or choosing an easier task. The tasks closer to the " + + "top of the dropdown list are generally easier. Alternatively, the gang member's " + + "low production might be due to the fact that your wanted level is too high. " + + "Consider assigning a few members to the '" + lowerWantedTask + "' " + + "task to lower your wanted level.

" + + "Installing Augmentations does NOT reset your progress with your Gang. " + + "Furthermore, after installing Augmentations, you will " + + "automatically be a member of whatever Faction you created your gang with.

" + }); + gangManagementSubpage.appendChild(gangDesc); + + gangInfo = createElement("p", {id:"gang-info", width:"70%"}); + gangManagementSubpage.appendChild(gangInfo); + + gangRecruitMemberButton = createElement("a", { + id:"gang-management-recruit-member-btn", class:"a-link-button-inactive", + innerHTML:"Recruit Gang Member", display:"inline-block", margin:"10px", + clickListener:()=>{ + var yesBtn = yesNoTxtInpBoxGetYesButton(), noBtn = yesNoTxtInpBoxGetNoButton(); + yesBtn.innerHTML = "Recruit Gang Member"; + noBtn.innerHTML = "Cancel"; + yesBtn.addEventListener("click", ()=>{ + var name = yesNoTxtInpBoxGetInput(); + if (name === "") { + dialogBoxCreate("You must enter a name for your Gang member!"); + } else { + for (var i = 0; i < Player.gang.members.length; ++i) { + if (name == Player.gang.members[i].name) { + dialogBoxCreate("You already have a gang member with this name!"); + return false; + } + } + var member = new GangMember(name); + Player.gang.members.push(member); + createGangMemberDisplayElement(member); + updateGangContent(); + } + yesNoTxtInpBoxClose(); + }); + noBtn.addEventListener("click", ()=>{ + yesNoTxtInpBoxClose(); + }); + yesNoTxtInpBoxCreate("Please enter a name for your new Gang member:"); + return false; + } + }); + gangManagementSubpage.appendChild(recruitGangMemberBtn); + + //Text for how much reputation is required for recruiting next memberList + gangRecruitRequirementText = createElement("p", {color:"red", id:"gang-recruit-requirement-text"}); + gangManagementSubpage.appendChild(gangRecruitRequirementText); + + //Gang Member List management buttons (Expand/Collapse All, select a single member) + gangManagementSubpage.appendChild(createElement("br", {})); + gangExpandAllButton = createElement("a", { + class:"a-link-button", display:"inline-block", margin:"4px", padding:"2px", + innerHTML:"Expand All", + clickListener:()=>{ + var allHeaders = gangManagementSubpage.getElementsByClassName("accordion-header"); + allHeaders.forEach((hdr)=>{ + if (!hdr.classList.contains("active")) { + hdr.click(); + } + }) + } + }); + gangCollapseAllButton = createElement("a", { + class:"a-link-button", display:"inline-block", margin:"4px", padding:"2px", + innerHTML:"Collapse All", + clickListener:()=>{ + var allHeaders = gangManagementSubpage.getElementsByClassName("accordion-header"); + allHeaders.forEach((hdr)=>{ + if (hdr.classList.contains("active")) { + hdr.click(); + } + }) + } + }); + gangMemberFilter = createElement("input", { + type:"text", placeholder:"Filter gang members", + onkeyup:()=>{ + displayGangMemberList(); + } + }); + gangManagementSubpage.appendChild(gangExpandAllButton); + gangManagementSubpage.appendChild(gangCollapseAllButton); + gangManagementSubpage.appendChild(gangMemberFilter); + + //Gang Member list + gangMemberList = createElement("ul", {id:"gang-member-list"}); + displayGangMemberList(); + gangManagementSubpage.appendChild(gangMemberList); //Subpage for seeing gang territory information - var territorySubpage = document.createElement("div"); - container.appendChild(territorySubpage); - territorySubpage.setAttribute("id", "gang-territory-subpage"); - territorySubpage.style.display = "none"; + gangTerritorySubpage = createElement("div", { + id:"gang-territory-subpage", display:"none" + }); //Info text for territory page - var territoryInfoText = document.createElement("p"); - territorySubpage.appendChild(territoryInfoText); - territoryInfoText.innerHTML = - "This page shows how much territory your Gang controls. This statistic is listed as a percentage, " + + gangTerritoryDescText = createElement("p", { + width:"70%", + innerHTML:"This page shows how much territory your Gang controls. This statistic is listed as a percentage, " + "which represents how much of the total territory you control.

" + "Territory gain and loss is processed automatically and is updated every ~30 seconds. Your chances " + "to gain and lose territory depend on your Gang's power, which is listed in the display below. " + @@ -1022,47 +1115,55 @@ function displayGangContent() { "your Gang's power.

" + "The amount of territory you have affects all aspects of your Gang members' production, including " + "money, respect, and wanted level. It is very beneficial to have high territory control.

" - territoryInfoText.style.width = "70%"; + }); + gangTerritorySubpage.appendChild(gangTerritoryDescText); + var territoryBorder = createElement("fieldset", {width:"50%", display:"inline-block"}); - var territoryBorder = document.createElement("fieldset"); - territoryBorder.style.width = "50%"; - territoryBorder.style.display = "inline-block"; + gangTerritoryInfoText = createElement("p", {id:"gang-territory-info"}); - var territoryP = document.createElement("p"); - territoryP.setAttribute("id", "gang-territory-info"); + territoryBorder.appendChild(gangTerritoryInfoText); + gangTerritorySubpage.appendChild(territoryBorder); - territoryBorder.appendChild(territoryP); - - - territorySubpage.appendChild(territoryBorder); + gangContainer.appendChild(territorySubpage); + gangContainer.appendChild(gangManagementSubpage); + document.getElementById("entire-game-container").appendChild(gangContainer); } - document.getElementById("gang-container").style.display = "block"; + gangContainer.style.display = "block"; updateGangContent(); } +function displayGangMemberList() { + removeChildrenFromElement(gangMemberList); + var filter = gangMemberFilter.value.toString(); + for (var i = 0; i < members.length; ++i) { + if (members[i].name.indexOf(filter) > -1) { + createGangMemberDisplayElement(members[i]); + } + } + //setGangMemberClickHandlers(); //Set buttons to toggle the gang member info panels +} + function updateGangContent() { if (!gangContentCreated || !Player.inGang()) {return;} - if(document.getElementById("gang-territory-subpage").style.display === "block") { + if(gangTerritorySubpage.style.display === "block") { //Update territory information - var elem = document.getElementById("gang-territory-info"); - elem.innerHTML = ""; + gangTerritoryInfoText.innerHTML = ""; for (var gangname in AllGangs) { if (AllGangs.hasOwnProperty(gangname)) { var gangInfo = AllGangs[gangname]; if (gangname == Player.gang.facName) { - elem.innerHTML += ("" + gangname + "
(Power: " + formatNumber(gangInfo.power, 6) + "): " + + gangTerritoryInfoText.innerHTML += ("" + gangname + "
(Power: " + formatNumber(gangInfo.power, 6) + "): " + formatNumber(100*gangInfo.territory, 2) + "%

"); } else { - elem.innerHTML += (gangname + "
(Power: " + formatNumber(gangInfo.power, 6) + "): " + + gangTerritoryInfoText.innerHTML += (gangname + "
(Power: " + formatNumber(gangInfo.power, 6) + "): " + formatNumber(100*gangInfo.territory, 2) + "%

"); } } } } else { //Update information for overall gang - var gangInfo = document.getElementById("gang-info"); if (gangInfo) { var faction = Factions[Player.gang.facName]; var rep; @@ -1071,25 +1172,48 @@ function updateGangContent() { } else { rep = faction.playerReputation; } - gangInfo.innerHTML = - "

This page is used to manage your gang members and get an overview of your gang's stats.

" + - "If a gang member is not earning much money or respect, the task that you have assigned to that member " + - "might be too difficult. Consider training that member's stats or choosing an easier task. The tasks closer to the " + - "top of the dropdown list are generally easier. Alternatively, the gang member's low production might be due to the " + - "fact that your wanted level is too high. Consider assigning a few members to the 'Vigilante Justice' or 'Ethical Hacking' " + - "tasks to lower your wanted level.

" + - "Installing Augmentations does NOT reset your progress with your Gang. Furthermore, after installing Augmentations, you will " + - "automatically be a member of whatever Faction you created your gang with.

" + - "

Respect: Represents the amount of respect " + - "your gang has from other gangs and criminal organizations. Your respect affects the amount of money " + - "your gang members will earn, and also determines how much reputation you are earning with your gang's " + - "correpsonding Faction.

" + formatNumber(Player.gang.respect, 6) + " (" + formatNumber(5*Player.gang.respectGainRate, 6) + " / sec)


" + - "

Wanted Level: Represents how much the gang is wanted by law " + - "enforcement. The higher your gang's wanted level, the harder it will be for your gang members to make " + - "money and earn respect. Note that the minimum respect value is 1." + - "

" + formatNumber(Player.gang.wanted, 6) + " (" + formatNumber(5*Player.gang.wantedGainRate, 6) + " / sec)

" + - "Money gain rate: $" + formatNumber(5*Player.gang.moneyGainRate, 2) + " / sec

" + - "Faction reputation: " + formatNumber(rep, 3) + "

"; + removeChildrenFromElement(gangInfo); + gangInfo.appendChild(createElement("p", { //Respect + display:"block", + innerText:"Respect: " + formatNumber(Player.gang.respect, 6) + + " (" + formatNumber(5*Player.gang.respectGainRate, 6) + " / sec)", + tooltip:"Represents the amount of respect your gang has from other gangs and criminal " + + "organizations. Your respect affects the amount of money " + + "your gang members will earn, and also determines how much " + + "reputation you are earning with your gang's corresponding Faction." + })); + gangInfo.appendChild(createElement("p", { //Wanted level + display:"block", + innerText:"Wanted Level: " + formatNumber(Player.gang.wanted, 6) + + " (" + formatNumber(5*Player.gang.wantedGainRate, 6) + " / sec)", + tooltip:"Represents how much the gang is wanted by law enforcement. The higher " + + "your gang's wanted level, the harder it will be for your gang members " + + "to make money and earn respect. Note that the minimum wanted level is 1." + })); + + var wantedPenalty = (Player.gang.respect) / (Player.gang.respect + Player.gang.wanted); + wantedPenalty = (1 - wantedPenalty) * 100; + gangInfo.appendChild(createElement("p", { //Wanted Level multiplier + display:"block", + innerText:"Wanted Level Penalty: -" + formatNumber(wantedPenalty, 2) + "%", + tooltip:"Penalty for respect and money gain rates due to Wanted Level" + })); + gangInfo.appendChild(createElement("p", { //Money gain rate + display:"block", + innerText:"Money gain rate: $" + formatNumber(5*Player.gang.moneyGainRate, 2) + + " / sec", + })); + + var territoryMult = AllGangs[Player.gang.facName].territory; + gangInfo.appendChild(createElement("p", { //Territory multiplier + display:"block", + innerText:"Territory: " + formatNumber(territoryMult * 100, 3), + tooltip:"The percentage of total territory your Gang controls" + })); + gangInfo.appendChild(createElement("p", { //Faction reputation + display:"block", + innerText:"Faction reputation: " + formatNumber(rep, 3) + })); } else { console.log("ERROR: gang-info DOM element DNE"); } @@ -1105,19 +1229,19 @@ function updateGangContent() { dialogBoxCreate("Could not find your gang's faction. This is probably a bug please report to dev"); return; } - var btn = document.getElementById("gang-management-recruit-member-btn"); + var btn = gangRecruitMemberButton; if (numMembers >= CONSTANTS.MaximumGangMembers) { btn.className = "a-link-button-inactive"; - document.getElementById("gang-recruit-requirement-text").style.display = "block"; - document.getElementById("gang-recruit-requirement-text").innerHTML = + gangRecruitRequirementText.style.display = "block"; + gangRecruitRequirementText.innerHTML = "You have reached the maximum amount of gang members"; } else if (faction.playerReputation >= repCost) { btn.className = "a-link-button"; - document.getElementById("gang-recruit-requirement-text").style.display = "none"; + gangRecruitRequirementText.style.display = "none"; } else { btn.className = "a-link-button-inactive"; - document.getElementById("gang-recruit-requirement-text").style.display = "block"; - document.getElementById("gang-recruit-requirement-text").innerHTML = + gangRecruitRequirementText.style.display = "block"; + gangRecruitRequirementText.innerHTML = formatNumber(repCost, 2) + " Faction reputation needed to recruit next member"; } @@ -1128,6 +1252,7 @@ function updateGangContent() { } } +/* function setGangMemberClickHandlers() { //Server panel click handlers var gangMemberHdrs = document.getElementsByClassName("gang-member-header"); @@ -1148,12 +1273,21 @@ function setGangMemberClickHandlers() { } } } +*/ //Takes in a GangMember object function createGangMemberDisplayElement(memberObj) { if (!gangContentCreated || !Player.inGang()) {return;} var name = memberObj.name; + var accordion = createAccordionElement({ + id:name + "gang-member", + hdrText:name, + }); + var li = accordion[0]; + var hdr = accordion[2]; + var gangMemberDiv = accordion[3]; + /* var li = document.createElement("li"); var hdr = document.createElement("button"); @@ -1164,11 +1298,21 @@ function createGangMemberDisplayElement(memberObj) { //Div for entire panel var gangMemberDiv = document.createElement("div"); gangMemberDiv.setAttribute("class", "gang-member-panel"); + */ //Gang member content divided into 3 panels: //Stats Panel + var statsDiv = createElement("div", { + id: name + "gang-member-stats", class: "gang-member-info-div", + width:"30%", display:"inline" + }); + var statsP = createElement("p", { + id:name + "gang-member-stats-text", display:"inline" + }); + + /* var statsDiv = document.createElement("div"); - statsDiv.setAttribute("id", name + "gang-member-stats"); + statsDiv.setAttribute("id", ); statsDiv.setAttribute("class", "gang-member-info-div"); var statsP = document.createElement("p"); statsP.setAttribute("id", name + "gang-member-stats-text"); @@ -1181,10 +1325,20 @@ function createGangMemberDisplayElement(memberObj) { upgradeButton.addEventListener("click", function() { createGangMemberUpgradeBox(memberObj); }); + */ statsDiv.appendChild(statsP); - statsDiv.appendChild(upgradeButton); + //statsDiv.appendChild(upgradeButton); //Panel for Selecting task and show respect/wanted gain + var taskDiv = createElement("div", { + id: name + "gang-member-task", class:"gang-member-info-div", + width:"30%", display:"inline" + }); + var taskSelector = createElement("select", { + color:"white", backgroundColor:"black", + id:name + "gang-member-task-selector" + }); + /* var taskDiv = document.createElement("div"); taskDiv.setAttribute("id", name + "gang-member-task"); taskDiv.setAttribute("class", "gang-member-info-div"); @@ -1192,6 +1346,7 @@ function createGangMemberDisplayElement(memberObj) { taskSelector.style.color = "white"; taskSelector.style.backgroundColor = "black"; taskSelector.setAttribute("id", name + "gang-member-task-selector"); + */ var tasks = null; if (Player.gang.isHackingGang) { tasks = ["---", "Ransomware", "Phishing", "Identity Theft", "DDoS Attacks", @@ -1228,19 +1383,29 @@ function createGangMemberDisplayElement(memberObj) { taskSelector.selectedIndex = taskIndex; } - var gainInfo = document.createElement("p"); //Wanted, respect, reputation, and money gain - gainInfo.setAttribute("id", name + "gang-member-gain-info"); + var gainInfo = createElement("p", {id:name + "gang-member-gain-info"}); + /*var gainInfo = document.createElement("p"); //Wanted, respect, reputation, and money gain + gainInfo.setAttribute("id", name + "gang-member-gain-info");*/ taskDiv.appendChild(taskSelector); taskDiv.appendChild(gainInfo); //Panel for Description of task + var taskDescDiv = createElement("div", { + id:name + "gang-member-task-desc", class:"gang-member-info-div", + width:"30%", display:"inline" + }); + /* var taskDescDiv = document.createElement("div"); taskDescDiv.setAttribute("id", name + "gang-member-task-desc"); taskDescDiv.setAttribute("class", "gang-member-info-div"); + */ + var taskDescP = createElement("p", {id: name + "gang-member-task-description", display:"inline"}); + /* var taskDescP = document.createElement("p"); taskDescP.setAttribute("id", name + "gang-member-task-description"); taskDescP.style.display = "inline"; + */ taskDescDiv.appendChild(taskDescP); statsDiv.style.width = "30%"; @@ -1253,8 +1418,8 @@ function createGangMemberDisplayElement(memberObj) { gangMemberDiv.appendChild(taskDiv); gangMemberDiv.appendChild(taskDescDiv); - li.appendChild(hdr); - li.appendChild(gangMemberDiv); + //li.appendChild(hdr); + //li.appendChild(gangMemberDiv); document.getElementById("gang-member-list").appendChild(li); setGangMemberTaskDescription(memberObj, taskName); //Initialize description diff --git a/utils/HelperFunctions.js b/utils/HelperFunctions.js index c30adc8bb..363773266 100644 --- a/utils/HelperFunctions.js +++ b/utils/HelperFunctions.js @@ -47,6 +47,12 @@ function removeElementById(id) { elem.parentNode.removeChild(elem); } +function removeElement(elem) { + if (elem == null) {return;} + while(elem.firstChild) {elem.removeChild(elem.firstChild);} + elem.parentNode.removeChild(elem); +} + function removeChildrenFromElement(el) { if (isString(el)) { el = document.getElementById(el); @@ -106,6 +112,9 @@ function createElement(type, params) { if (params.changeListener) { el.addEventListener("change", params.changeListener); } + if (params.onkeyup) { + el.addEventListener("keyup", params.onkeyup); + } return el; } @@ -127,7 +136,6 @@ function createPopup(id, elems) { } //Creates both the header and panel element of an accordion and sets the click handler -//Returns the 'li' element that contains the hedaer and panel function createAccordionElement(params) { var li = document.createElement("li"), hdr = document.createElement("button"), @@ -153,7 +161,7 @@ function createAccordionElement(params) { tmpPanel.style.display = "block"; } } - return li; + return [li, hdr, panel]; } function clearSelector(selector) { @@ -192,5 +200,5 @@ function powerOfTwo(n) { export {sizeOfObject, addOffset, clearEventListeners, getRandomInt, compareArrays, printArray, powerOfTwo, clearEventListenersEl, - removeElementById, createElement, createAccordionElement, + removeElementById, removeElement, createElement, createAccordionElement, removeChildrenFromElement, createPopup, clearSelector}; From f82d216e10fd053432d9da759716dfe87ee2130f Mon Sep 17 00:00:00 2001 From: danielyxie Date: Wed, 14 Feb 2018 22:26:43 -0600 Subject: [PATCH 3/4] v0.34.4 --- css/menupages.css | 55 - css/styles.css | 3 - dist/bundle.js | 2404 +++++++++--------- doc/source/netscriptfunctions.rst | 20 + doc/source/netscriptsingularityfunctions.rst | 19 + index.html | 12 +- src/Augmentations.js | 1413 +++++----- src/Constants.js | 67 +- src/Faction.js | 91 +- src/Gang.js | 540 ++-- src/HelpText.js | 7 +- src/NetscriptFunctions.js | 36 + src/Script.js | 28 + src/Settings.js | 16 + src/Terminal.js | 51 +- utils/HelperFunctions.js | 2 + 16 files changed, 2498 insertions(+), 2266 deletions(-) diff --git a/css/menupages.css b/css/menupages.css index 20ce88328..b9385be33 100644 --- a/css/menupages.css +++ b/css/menupages.css @@ -609,61 +609,6 @@ div.faction-clear { padding: 6px; } -.gang-member-header { - background-color: #444; - font-size: 20px; - color: white; - margin: 6px 6px 0px 6px; - padding: 6px; - cursor: pointer; - width: 80%; - text-align: left; - border: none; - outline: none; -} - -.gang-member-header.active, -.gang-member-header:hover { - background-color: #555; -} - -.gang-member-header.active:hover { - background-color: #666; -} - -.gang-member-header:after { - content: '\02795'; /* "plus" sign (+) */ - font-size: 13px; - color: white; - float: right; - margin-left: 5px; -} - -.gang-member-header.active:after { - content: "\2796"; /* "minus" sign (-) */ - font-size: 13px; - color: white; - float: right; - margin-left: 5px; -} - -.gang-member-panel { - margin: 0px 6px 6px 6px; - padding: 0px 6px 6px 6px; - width: 75%; - margin-left: 5%; - display: none; - background-color: #555; - overflow:auto; -} - -.gang-member-panel div, -.gang-member-panel ul, -.gang-member-panel p, -.gang-member-panel ul > li { - background-color: #555; -} - #gang-management-subpage > p { padding: 4px; } diff --git a/css/styles.css b/css/styles.css index c93a5c088..3ac0cc432 100644 --- a/css/styles.css +++ b/css/styles.css @@ -1,6 +1,3 @@ -/** This removes all padding and margins as well as - setting a default font size and family for the page **/ - :root{ --my-font-color: #66ff33; --my-background-color: #000000; diff --git a/dist/bundle.js b/dist/bundle.js index 84e33ac60..c73f7be56 100644 --- a/dist/bundle.js +++ b/dist/bundle.js @@ -2519,8 +2519,8 @@ function dialogBoxCreate(txt) { /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "j", function() { return printArray; }); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "i", function() { return powerOfTwo; }); /* unused harmony export clearEventListenersEl */ -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "l", function() { return removeElementById; }); -/* unused harmony export removeElement */ +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "m", function() { return removeElementById; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "l", function() { return removeElement; }); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "f", function() { return createElement; }); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "e", function() { return createAccordionElement; }); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "k", function() { return removeChildrenFromElement; }); @@ -2655,6 +2655,7 @@ function createPopup(id, elems) { }), content = createElement("div", { class:"popup-box-content", + id:id + "-content", }); for (var i = 0; i < elems.length; ++i) { @@ -2662,6 +2663,7 @@ function createPopup(id, elems) { } container.appendChild(content); document.getElementById("entire-game-container").appendChild(container); + return container; } //Creates both the header and panel element of an accordion and sets the click handler @@ -2737,7 +2739,7 @@ function powerOfTwo(n) { "use strict"; /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return CONSTANTS; }); let CONSTANTS = { - Version: "0.34.3", + Version: "0.34.4", //Max level for any skill, assuming no multipliers. Determined by max numerical value in javascript for experience //and the skill level formula in Player.js. Note that all this means it that when experience hits MAX_INT, then @@ -2787,6 +2789,7 @@ let CONSTANTS = { ScriptPortProgramRamCost: 0.05, ScriptRunRamCost: 1.0, ScriptExecRamCost: 1.3, + ScriptSpawnRamCost: 2.0, ScriptScpRamCost: 0.6, ScriptKillRamCost: 0.5, //Kill and killall ScriptHasRootAccessRamCost: 0.05, @@ -3240,7 +3243,15 @@ let CONSTANTS = { "The following example will try to run the script 'foo.script' on the 'foodnstuff' server with 5 threads. It will also pass the number 1 and the string 'test' in as arguments " + "to the script.

" + "exec('foo.script', 'foodnstuff', 5, 1, 'test');

" + - "kill(script, hostname/ip, [args...])
Kills the script on the target server specified by the script's name and arguments. Remember that " + + "spawn(script, numThreads, [args...])
Terminates the current script, and then after a delay of about 20 seconds " + + "it will execute the newly specified script. The purpose of this function is to execute a new script without being constrained " + + "by the RAM usage of the current one. This function can only be used to run scripts on the local server.

" + + "The first argument must be a string with the name of the script. The second argument must be an integer specifying the number " + + "of threads to run the script with. Any additional arguments will specify arguments to pass into the 'newly-spawned' script." + + "Because this function immediately terminates the script, it does not have a return value.

" + + "The following example will execute the script 'foo.script' with 10 threads and the arguments 'foodnstuff' and 90:

" + + "spawn('foo.script', 10, 'foodnstuff', 90);

" + + "kill(script, hostname/ip, [args...])
Kills the script on the target server specified by the script's name and arguments. Remember that " + "scripts are uniquely identified by both their name and arguments. For example, if 'foo.script' is run with the argument 1, then this is not the " + "same as 'foo.script' run with the argument 2, even though they have the same code.

" + "The first argument must be a string with the name of the script. The name is case-sensitive. " + @@ -3640,6 +3651,13 @@ let CONSTANTS = { "function.

Returns a boolean indicating whether or not the player is currently performing an 'action'. " + "These actions include working for a company/faction, studying at a univeristy, working out at a gym, " + "creating a program, or committing a crime.

" + + "stopAction()
If you are not in BitNode-4, then you must have Level 1 of Source-File 4 in order to " + + "run this function.

This function is used to end whatever 'action' the player is currently performing. The player " + + "will receive whatever money/experience/etc. he has earned from that action. The actions that can be stopped with this function " + + "are:

" + + "-Studying at a university
-Working for a company/faction
-Creating a program
-Committing a Crime

" + + "This function will return true if the player's action was ended. It will return false if the player was not " + + "performing an action when this function was called.

" + "upgradeHomeRam()
" + "If you are not in BitNode-4, then you must have Level 2 of Source-File 4 in order to use this function.

" + "This function will upgrade amount of RAM on the player's home computer. The cost is the same as if you were to do it manually.

" + @@ -3851,39 +3869,20 @@ let CONSTANTS = { "World Stock Exchange account and TIX API Access
", LatestUpdate: - "v0.34.2
" + - "-Corporation Management Changes:
" + - "---Added advertising mechanics
" + - "---Added Industry-specific purchases
" + - "---Re-designed employee management UI
" + - "---Rebalancing: Made many upgrades/purchases cheaper. Receive more money from investors in early stage. Company valuation is higher after going public
" + - "---Multiple bug fixes
" + - "-Added rm() Netscript function
" + - "-Updated the way script RAM usage is calculated. Now, a function only increases RAM usage the first time it is called. i.e. even if you call hack() multiple times in a script, it only counts against RAM usage once. The same change applies for while/for loops and if conditionals.
" + - "-The RAM cost of the following were increased:
" + - "---If statements: increased by 0.05GB
" + - "---run() and exec(): increased by 0.2GB
" + - "---scp(): increased by 0.1GB
" + - "---purchaseServer(): increased by 0.25GB
" + - "-Note: You may need to re-save all of your scripts in order to re-calculate their RAM usages. Otherwise, it should automatically be re-calculated when you reset/prestige
" + - "-The cost to upgrade your home computer's RAM has been increased (both the base cost and the exponential upgrade multiplier)
" + - "-The cost of purchasing a server was increased by 10% (it is now $55k per RAM)
" + - "-Bug fix: (Hopefully) removed an exploit where you could avoid RAM usage for Netscript function calls by assigning functions to a variable (foo = hack(); foo('helios');)
" + - "-Bug fix: (Hopefully) removed an exploit where you could run arbitrary Javascript code using the constructor() method
" + - "-Thanks to Github user mateon1 and Reddit users havoc_mayhem and spaceglace for notifying me of the above exploits
" + - "-The fileExists() Netscript function now works on text files (.txt). Thanks to Github user devoidfury for this

" + - "v0.34.3
" + - "-Minor balance changes to Corporations:
" + - "---Upgrades are generally cheaper and/or have more powerful effects.
" + - "---You will receive more funding while your are a private company.
" + - "---Product demand decreases at a slower rate.
" + - "---Production multiplier for Industries (receives for owning real estate/hardware/robots/etc.) is slightly higher
" + - "-Accessing the hacknetnodes array in Netscript now costs 4.0GB of RAM (only counts against RAM usage once)
" + - "-Bug Fix: Corporation oustanding shares should now be numeric rather than a string
" + - "-Bug Fix: Corporation production now properly calculated for industries that dont produce materials.
" + - "-Bug Fix: Gangs should now properly reset when switching BitNodes
" + - "-Bug Fix: Corporation UI should now properly reset when you go public
" - + "v0.34.4
" + + "-Added several new features to Gang UI to make it easier to manage your Gang.
" + + "-Changed the Gang Member upgrade mechanic. Now, rather than only being able to have " + + "one weapon/armor/vehicle/etc., you can purchase all the upgrades for each Gang member " + + "and their multipliers will stack. To balance this out, the effects (AKA multipliers) of each Gang member upgrade " + + "were reduced.
" + + "-Added a new script editor option: Max Error Count. This affects how many approximate lines the script editor will " + + "process (JSHint) for common errors. Increase this option can affect performance
" + + "-Game theme colors (set using 'theme' Terminal command) are now saved when re-opening the game
" + + "-'download' Terminal command now works on scripts
" + + "-Added stopAction() Singularity function and the spawn() Netscript function
" + + "-The 'Purchase Augmentations' UI screen will now tell you if you need a certain prerequisite for Augmentations.
" + + "-Augmentations with prerequisites can now be purchased as long as their prerequisites are puchased (" + + "before, you had to actually install the prerequisites before being able to purchase)
" } @@ -18446,7 +18445,12 @@ function displayFactionAugmentations(factionName) { var pElem = document.createElement("p"); aElem.setAttribute("href", "#"); var req = aug.baseRepRequirement * faction.augmentationRepRequirementMult; - if (aug.name != __WEBPACK_IMPORTED_MODULE_0__Augmentations_js__["b" /* AugmentationNames */].NeuroFluxGovernor && (aug.owned || owned)) { + var hasPrereqs = hasAugmentationPrereqs(aug); + if (!hasPrereqs) { + aElem.setAttribute("class", "a-link-button-inactive"); + pElem.innerHTML = "LOCKED (Requires " + aug.prereqs.join(",") + " as prerequisite(s))"; + pElem.style.color = "red"; + } else if (aug.name != __WEBPACK_IMPORTED_MODULE_0__Augmentations_js__["b" /* AugmentationNames */].NeuroFluxGovernor && (aug.owned || owned)) { aElem.setAttribute("class", "a-link-button-inactive"); pElem.innerHTML = "ALREADY OWNED"; } else if (faction.playerReputation >= req) { @@ -18501,57 +18505,38 @@ function purchaseAugmentationBoxCreate(aug, fac) { Object(__WEBPACK_IMPORTED_MODULE_13__utils_StringHelperFunctions_js__["c" /* formatNumber */])(aug.baseCost * fac.augmentationPriceMult, 2) + "?"); } +//Returns a boolean indicating whether the player has the prerequisites for the +//specified Augmentation +function hasAugmentationPrereqs(aug) { + var hasPrereqs = true; + if (aug.prereqs && aug.prereqs.length > 0) { + for (var i = 0; i < aug.prereqs.length; ++i) { + var prereqAug = __WEBPACK_IMPORTED_MODULE_0__Augmentations_js__["c" /* Augmentations */][aug.prereqs[i]]; + if (prereqAug == null) { + console.log("ERROR: Invalid prereq Augmentation: " + aug.prereqs[i]); + continue; + } + if (prereqAug.owned === false) { + hasPrereqs = false; + + //Check if the aug is purchased + for (var j = 0; j < __WEBPACK_IMPORTED_MODULE_7__Player_js__["a" /* Player */].queuedAugmentations.length; ++j) { + if (__WEBPACK_IMPORTED_MODULE_7__Player_js__["a" /* Player */].queuedAugmentations[j].name === prereqAug.name) { + hasPrereqs = true; + break; + } + } + } + } + } + return hasPrereqs; +} + function purchaseAugmentation(aug, fac, sing=false) { - if (aug.name == __WEBPACK_IMPORTED_MODULE_0__Augmentations_js__["b" /* AugmentationNames */].Targeting2 && - __WEBPACK_IMPORTED_MODULE_0__Augmentations_js__["c" /* Augmentations */][__WEBPACK_IMPORTED_MODULE_0__Augmentations_js__["b" /* AugmentationNames */].Targeting1].owned == false) { - var txt = "You must first install Augmented Targeting I before you can upgrade it to Augmented Targeting II"; - if (sing) {return txt;} else {Object(__WEBPACK_IMPORTED_MODULE_9__utils_DialogBox_js__["a" /* dialogBoxCreate */])(txt);} - } else if (aug.name == __WEBPACK_IMPORTED_MODULE_0__Augmentations_js__["b" /* AugmentationNames */].Targeting3 && - __WEBPACK_IMPORTED_MODULE_0__Augmentations_js__["c" /* Augmentations */][__WEBPACK_IMPORTED_MODULE_0__Augmentations_js__["b" /* AugmentationNames */].Targeting2].owned == false) { - var txt = "You must first install Augmented Targeting II before you can upgrade it to Augmented Targeting III"; - if (sing) {return txt;} else {Object(__WEBPACK_IMPORTED_MODULE_9__utils_DialogBox_js__["a" /* dialogBoxCreate */])(txt);} - } else if (aug.name == __WEBPACK_IMPORTED_MODULE_0__Augmentations_js__["b" /* AugmentationNames */].CombatRib2 && - __WEBPACK_IMPORTED_MODULE_0__Augmentations_js__["c" /* Augmentations */][__WEBPACK_IMPORTED_MODULE_0__Augmentations_js__["b" /* AugmentationNames */].CombatRib1].owned == false) { - var txt = "You must first install Combat Rib I before you can upgrade it to Combat Rib II"; - if (sing) {return txt;} else {Object(__WEBPACK_IMPORTED_MODULE_9__utils_DialogBox_js__["a" /* dialogBoxCreate */])(txt);} - } else if (aug.name == __WEBPACK_IMPORTED_MODULE_0__Augmentations_js__["b" /* AugmentationNames */].CombatRib3 && - __WEBPACK_IMPORTED_MODULE_0__Augmentations_js__["c" /* Augmentations */][__WEBPACK_IMPORTED_MODULE_0__Augmentations_js__["b" /* AugmentationNames */].CombatRib2].owned == false) { - var txt = "You must first install Combat Rib II before you can upgrade it to Combat Rib III"; - if (sing) {return txt;} else {Object(__WEBPACK_IMPORTED_MODULE_9__utils_DialogBox_js__["a" /* dialogBoxCreate */])(txt);} - } else if (aug.name == __WEBPACK_IMPORTED_MODULE_0__Augmentations_js__["b" /* AugmentationNames */].GrapheneBionicSpine && - __WEBPACK_IMPORTED_MODULE_0__Augmentations_js__["c" /* Augmentations */][__WEBPACK_IMPORTED_MODULE_0__Augmentations_js__["b" /* AugmentationNames */].BionicSpine].owned == false) { - var txt = "You must first install a Bionic Spine before you can upgrade it to a Graphene Bionic Spine"; - if (sing) {return txt;} else {Object(__WEBPACK_IMPORTED_MODULE_9__utils_DialogBox_js__["a" /* dialogBoxCreate */])(txt);} - } else if (aug.name == __WEBPACK_IMPORTED_MODULE_0__Augmentations_js__["b" /* AugmentationNames */].GrapheneBionicLegs && - __WEBPACK_IMPORTED_MODULE_0__Augmentations_js__["c" /* Augmentations */][__WEBPACK_IMPORTED_MODULE_0__Augmentations_js__["b" /* AugmentationNames */].BionicLegs].owned == false) { - var txt = "You must first install Bionic Legs before you can upgrade it to Graphene Bionic Legs"; - if (sing) {return txt;} else {Object(__WEBPACK_IMPORTED_MODULE_9__utils_DialogBox_js__["a" /* dialogBoxCreate */])(txt);} - } else if (aug.name == __WEBPACK_IMPORTED_MODULE_0__Augmentations_js__["b" /* AugmentationNames */].ENMCoreV2 && - __WEBPACK_IMPORTED_MODULE_0__Augmentations_js__["c" /* Augmentations */][__WEBPACK_IMPORTED_MODULE_0__Augmentations_js__["b" /* AugmentationNames */].ENMCore].owned == false) { - var txt = "You must first install Embedded Netburner Module Core Implant before you can upgrade it to V2"; - if (sing) {return txt;} else {Object(__WEBPACK_IMPORTED_MODULE_9__utils_DialogBox_js__["a" /* dialogBoxCreate */])(txt);} - } else if (aug.name == __WEBPACK_IMPORTED_MODULE_0__Augmentations_js__["b" /* AugmentationNames */].ENMCoreV3 && - __WEBPACK_IMPORTED_MODULE_0__Augmentations_js__["c" /* Augmentations */][__WEBPACK_IMPORTED_MODULE_0__Augmentations_js__["b" /* AugmentationNames */].ENMCoreV2].owned == false) { - var txt = "You must first install Embedded Netburner Module Core V2 Upgrade before you can upgrade it to V3"; - if (sing) {return txt;} else {Object(__WEBPACK_IMPORTED_MODULE_9__utils_DialogBox_js__["a" /* dialogBoxCreate */])(txt);} - } else if ((aug.name == __WEBPACK_IMPORTED_MODULE_0__Augmentations_js__["b" /* AugmentationNames */].ENMCore || - aug.name == __WEBPACK_IMPORTED_MODULE_0__Augmentations_js__["b" /* AugmentationNames */].ENMAnalyzeEngine || - aug.name == __WEBPACK_IMPORTED_MODULE_0__Augmentations_js__["b" /* AugmentationNames */].ENMDMA) && - __WEBPACK_IMPORTED_MODULE_0__Augmentations_js__["c" /* Augmentations */][__WEBPACK_IMPORTED_MODULE_0__Augmentations_js__["b" /* AugmentationNames */].ENM].owned == false) { - var txt = "You must first install the Embedded Netburner Module before installing any upgrades to it"; - if (sing) {return txt;} else {Object(__WEBPACK_IMPORTED_MODULE_9__utils_DialogBox_js__["a" /* dialogBoxCreate */])(txt);} - } else if ((aug.name == __WEBPACK_IMPORTED_MODULE_0__Augmentations_js__["b" /* AugmentationNames */].PCDNIOptimizer || - aug.name == __WEBPACK_IMPORTED_MODULE_0__Augmentations_js__["b" /* AugmentationNames */].PCDNINeuralNetwork) && - __WEBPACK_IMPORTED_MODULE_0__Augmentations_js__["c" /* Augmentations */][__WEBPACK_IMPORTED_MODULE_0__Augmentations_js__["b" /* AugmentationNames */].PCDNI].owned == false) { - var txt = "You must first install the Pc Direct-Neural Interface before installing this upgrade"; - if (sing) {return txt;} else {Object(__WEBPACK_IMPORTED_MODULE_9__utils_DialogBox_js__["a" /* dialogBoxCreate */])(txt);} - } else if (aug.name == __WEBPACK_IMPORTED_MODULE_0__Augmentations_js__["b" /* AugmentationNames */].GrapheneBrachiBlades && - __WEBPACK_IMPORTED_MODULE_0__Augmentations_js__["c" /* Augmentations */][__WEBPACK_IMPORTED_MODULE_0__Augmentations_js__["b" /* AugmentationNames */].BrachiBlades].owned == false) { - var txt = "You must first install the Brachi Blades augmentation before installing this upgrade"; - if (sing) {return txt;} else {Object(__WEBPACK_IMPORTED_MODULE_9__utils_DialogBox_js__["a" /* dialogBoxCreate */])(txt);} - } else if (aug.name == __WEBPACK_IMPORTED_MODULE_0__Augmentations_js__["b" /* AugmentationNames */].GrapheneBionicArms && - __WEBPACK_IMPORTED_MODULE_0__Augmentations_js__["c" /* Augmentations */][__WEBPACK_IMPORTED_MODULE_0__Augmentations_js__["b" /* AugmentationNames */].BionicArms].owned == false) { - var txt = "You must first install the Bionic Arms augmentation before installing this upgrade"; + var hasPrereqs = hasAugmentationPrereqs(aug); + if (!hasPrereqs) { + var txt = "You must first purchase or install " + aug.prereqs.join(",") + " before you can " + + "purchase this one."; if (sing) {return txt;} else {Object(__WEBPACK_IMPORTED_MODULE_9__utils_DialogBox_js__["a" /* dialogBoxCreate */])(txt);} } else if (__WEBPACK_IMPORTED_MODULE_7__Player_js__["a" /* Player */].money.gte(aug.baseCost * fac.augmentationPriceMult)) { if (__WEBPACK_IMPORTED_MODULE_7__Player_js__["a" /* Player */].firstAugPurchased === false) { @@ -18574,7 +18559,8 @@ function purchaseAugmentation(aug, fac, sing=false) { var nextLevel = getNextNeurofluxLevel(); --nextLevel; var mult = Math.pow(__WEBPACK_IMPORTED_MODULE_2__Constants_js__["a" /* CONSTANTS */].NeuroFluxGovernorLevelMult, nextLevel); - aug.setRequirements(500 * mult, 750000 * mult); + aug.baseRepRequirement = 500 * mult * __WEBPACK_IMPORTED_MODULE_2__Constants_js__["a" /* CONSTANTS */].AugmentationRepMultiplier * __WEBPACK_IMPORTED_MODULE_1__BitNode_js__["a" /* BitNodeMultipliers */].AugmentationRepCost; + aug.baseCost = 750e3 * mult * __WEBPACK_IMPORTED_MODULE_2__Constants_js__["a" /* CONSTANTS */].AugmentationCostMultiplier * __WEBPACK_IMPORTED_MODULE_1__BitNode_js__["a" /* BitNodeMultipliers */].AugmentationMoneyCost; for (var i = 0; i < __WEBPACK_IMPORTED_MODULE_7__Player_js__["a" /* Player */].queuedAugmentations.length-1; ++i) { aug.baseCost *= __WEBPACK_IMPORTED_MODULE_2__Constants_js__["a" /* CONSTANTS */].MultipleAugMultiplier; @@ -21284,6 +21270,9 @@ let Settings = { SuppressMessages: false, SuppressFactionInvites: false, AutosaveInterval: 60, + ThemeHighlightColor: "#ffffff", + ThemeFontColor: "#66ff33", + ThemeBackgroundColor: "#000000", } function loadSettings(saveString) { @@ -21357,6 +21346,19 @@ function setSettingsLabels() { document.getElementById("settingsSuppressFactionInvites").onclick = function() { Settings.SuppressFactionInvites = this.checked; }; + + //Theme + if (Settings.ThemeHighlightColor == null || Settings.ThemeFontColor == null || Settings.ThemeBackgroundColor == null) { + console.log("ERROR: Cannot find Theme Settings"); + return; + } + if (/^#[0-9a-f]{3}(?:[0-9a-f]{3})?$/i.test(Settings.ThemeHighlightColor) && + /^#[0-9a-f]{3}(?:[0-9a-f]{3})?$/i.test(Settings.ThemeFontColor) && + /^#[0-9a-f]{3}(?:[0-9a-f]{3})?$/i.test(Settings.ThemeBackgroundColor)) { + document.body.style.setProperty('--my-highlight-color', Settings.ThemeHighlightColor); + document.body.style.setProperty('--my-font-color', Settings.ThemeFontColor); + document.body.style.setProperty('--my-background-color', Settings.ThemeBackgroundColor); + } } @@ -21531,6 +21533,15 @@ function scriptEditorInit() { editor.getSession().setUseSoftTabs(softTabChkBox.checked); }; + //Jshint Maxerr + var maxerr = document.getElementById("script-editor-option-maxerr"); + var maxerrLabel = document.getElementById("script-editor-option-maxerror-value-label"); + maxerrLabel.innerHTML = maxerr.value; + maxerr.onchange = function() { + editor.getSession().$worker.send("changeOptions", [{maxerr:maxerr.value}]); + maxerrLabel.innerHTML = maxerr.value; + } + //Configure some of the VIM keybindings ace.config.loadModule('ace/keyboard/vim', function(module) { var VimApi = module.CodeMirror.Vim; @@ -21770,6 +21781,25 @@ function calculateRamUsage(codeCopy) { return ramUsage; } +Script.prototype.download = function() { + var filename = this.filename; + var file = new Blob([this.code], {type: 'text/plain'}); + if (window.navigator.msSaveOrOpenBlob) {// IE10+ + window.navigator.msSaveOrOpenBlob(file, filename); + } else { // Others + var a = document.createElement("a"), + url = URL.createObjectURL(file); + a.href = url; + a.download = this.filename; + document.body.appendChild(a); + a.click(); + setTimeout(function() { + document.body.removeChild(a); + window.URL.revokeObjectURL(url); + }, 0); + } +} + Script.prototype.toJSON = function() { return Object(__WEBPACK_IMPORTED_MODULE_11__utils_JSONReviver_js__["b" /* Generic_toJSON */])("Script", this); } @@ -22060,12 +22090,14 @@ __WEBPACK_IMPORTED_MODULE_11__utils_JSONReviver_js__["c" /* Reviver */].construc /* harmony import */ var __WEBPACK_IMPORTED_MODULE_12__RedPill_js__ = __webpack_require__(34); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_13__Script_js__ = __webpack_require__(18); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_14__Server_js__ = __webpack_require__(6); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_15__SpecialServerIps_js__ = __webpack_require__(14); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_16__TextFile_js__ = __webpack_require__(50); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_17__utils_StringHelperFunctions_js__ = __webpack_require__(4); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_18__utils_HelperFunctions_js__ = __webpack_require__(2); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_19__utils_LogBox_js__ = __webpack_require__(30); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_20__utils_YesNoBox_js__ = __webpack_require__(13); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_15__Settings_js__ = __webpack_require__(16); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_16__SpecialServerIps_js__ = __webpack_require__(14); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_17__TextFile_js__ = __webpack_require__(50); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_18__utils_StringHelperFunctions_js__ = __webpack_require__(4); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_19__utils_HelperFunctions_js__ = __webpack_require__(2); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_20__utils_LogBox_js__ = __webpack_require__(30); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_21__utils_YesNoBox_js__ = __webpack_require__(13); + @@ -22258,7 +22290,7 @@ $(document).keyup(function(e) { // index - index of argument that is being "tab completed". By default is 0, the first argument function tabCompletion(command, arg, allPossibilities, index=0) { if (!(allPossibilities.constructor === Array)) {return;} - if (!Object(__WEBPACK_IMPORTED_MODULE_17__utils_StringHelperFunctions_js__["a" /* containsAllStrings */])(allPossibilities)) {return;} + if (!Object(__WEBPACK_IMPORTED_MODULE_18__utils_StringHelperFunctions_js__["a" /* containsAllStrings */])(allPossibilities)) {return;} if (!command.startsWith("./")) { command = command.toLowerCase(); @@ -22293,7 +22325,7 @@ function tabCompletion(command, arg, allPossibilities, index=0) { document.getElementById("terminal-input-text-box").value = val; document.getElementById("terminal-input-text-box").focus(); } else { - var longestStartSubstr = Object(__WEBPACK_IMPORTED_MODULE_17__utils_StringHelperFunctions_js__["g" /* longestCommonStart */])(allPossibilities); + var longestStartSubstr = Object(__WEBPACK_IMPORTED_MODULE_18__utils_StringHelperFunctions_js__["g" /* longestCommonStart */])(allPossibilities); //If the longest common starting substring of remaining possibilities is the same //as whatevers already in terminal, just list all possible options. Otherwise, //change the input in the terminal to the longest common starting substr @@ -22411,7 +22443,7 @@ function determineAllPossibilitiesForTabCompletion(input, index=0) { allPos.push(currServ.programs[i]); } for (var i = 0; i < currServ.messages.length; ++i) { - if (!(currServ.messages[i] instanceof __WEBPACK_IMPORTED_MODULE_8__Message_js__["a" /* Message */]) && Object(__WEBPACK_IMPORTED_MODULE_17__utils_StringHelperFunctions_js__["f" /* isString */])(currServ.messages[i]) && + if (!(currServ.messages[i] instanceof __WEBPACK_IMPORTED_MODULE_8__Message_js__["a" /* Message */]) && Object(__WEBPACK_IMPORTED_MODULE_18__utils_StringHelperFunctions_js__["f" /* isString */])(currServ.messages[i]) && currServ.messages[i].endsWith(".lit")) { allPos.push(currServ.messages[i]); } @@ -22454,6 +22486,9 @@ function determineAllPossibilitiesForTabCompletion(input, index=0) { for (var i = 0; i < currServ.textFiles.length; ++i) { allPos.push(currServ.textFiles[i].fn); } + for (var i = 0; i < currServ.scripts.length; ++i) { + allPos.push(currServ.scripts[i].filename); + } } return allPos; } @@ -22497,8 +22532,8 @@ let Terminal = { var expGainedOnSuccess = __WEBPACK_IMPORTED_MODULE_11__Player_js__["a" /* Player */].calculateExpGain(); var expGainedOnFailure = (expGainedOnSuccess / 4); if (rand < hackChance) { //Success! - if (__WEBPACK_IMPORTED_MODULE_15__SpecialServerIps_js__["a" /* SpecialServerIps */][__WEBPACK_IMPORTED_MODULE_15__SpecialServerIps_js__["b" /* SpecialServerNames */].WorldDaemon] && - __WEBPACK_IMPORTED_MODULE_15__SpecialServerIps_js__["a" /* SpecialServerIps */][__WEBPACK_IMPORTED_MODULE_15__SpecialServerIps_js__["b" /* SpecialServerNames */].WorldDaemon] == server.ip) { + if (__WEBPACK_IMPORTED_MODULE_16__SpecialServerIps_js__["a" /* SpecialServerIps */][__WEBPACK_IMPORTED_MODULE_16__SpecialServerIps_js__["b" /* SpecialServerNames */].WorldDaemon] && + __WEBPACK_IMPORTED_MODULE_16__SpecialServerIps_js__["a" /* SpecialServerIps */][__WEBPACK_IMPORTED_MODULE_16__SpecialServerIps_js__["b" /* SpecialServerNames */].WorldDaemon] == server.ip) { if (__WEBPACK_IMPORTED_MODULE_11__Player_js__["a" /* Player */].bitNodeN == null) { __WEBPACK_IMPORTED_MODULE_11__Player_js__["a" /* Player */].bitNodeN = 1; } @@ -22518,11 +22553,11 @@ let Terminal = { server.fortify(__WEBPACK_IMPORTED_MODULE_1__Constants_js__["a" /* CONSTANTS */].ServerFortifyAmount); - post("Hack successful! Gained $" + Object(__WEBPACK_IMPORTED_MODULE_17__utils_StringHelperFunctions_js__["c" /* formatNumber */])(moneyGained, 2) + " and " + Object(__WEBPACK_IMPORTED_MODULE_17__utils_StringHelperFunctions_js__["c" /* formatNumber */])(expGainedOnSuccess, 4) + " hacking EXP"); + post("Hack successful! Gained $" + Object(__WEBPACK_IMPORTED_MODULE_18__utils_StringHelperFunctions_js__["c" /* formatNumber */])(moneyGained, 2) + " and " + Object(__WEBPACK_IMPORTED_MODULE_18__utils_StringHelperFunctions_js__["c" /* formatNumber */])(expGainedOnSuccess, 4) + " hacking EXP"); } else { //Failure //Player only gains 25% exp for failure? TODO Can change this later to balance __WEBPACK_IMPORTED_MODULE_11__Player_js__["a" /* Player */].gainHackingExp(expGainedOnFailure) - post("Failed to hack " + server.hostname + ". Gained " + Object(__WEBPACK_IMPORTED_MODULE_17__utils_StringHelperFunctions_js__["c" /* formatNumber */])(expGainedOnFailure, 4) + " hacking EXP"); + post("Failed to hack " + server.hostname + ". Gained " + Object(__WEBPACK_IMPORTED_MODULE_18__utils_StringHelperFunctions_js__["c" /* formatNumber */])(expGainedOnFailure, 4) + " hacking EXP"); } } @@ -22545,10 +22580,10 @@ let Terminal = { else {rootAccess = "NO";} post("Root Access: " + rootAccess); post("Required hacking skill: " + __WEBPACK_IMPORTED_MODULE_11__Player_js__["a" /* Player */].getCurrentServer().requiredHackingSkill); - post("Estimated server security level: " + Object(__WEBPACK_IMPORTED_MODULE_17__utils_StringHelperFunctions_js__["c" /* formatNumber */])(Object(__WEBPACK_IMPORTED_MODULE_18__utils_HelperFunctions_js__["a" /* addOffset */])(__WEBPACK_IMPORTED_MODULE_11__Player_js__["a" /* Player */].getCurrentServer().hackDifficulty, 5), 3)); - post("Estimated chance to hack: " + Object(__WEBPACK_IMPORTED_MODULE_17__utils_StringHelperFunctions_js__["c" /* formatNumber */])(Object(__WEBPACK_IMPORTED_MODULE_18__utils_HelperFunctions_js__["a" /* addOffset */])(__WEBPACK_IMPORTED_MODULE_11__Player_js__["a" /* Player */].calculateHackingChance() * 100, 5), 2) + "%"); - post("Estimated time to hack: " + Object(__WEBPACK_IMPORTED_MODULE_17__utils_StringHelperFunctions_js__["c" /* formatNumber */])(Object(__WEBPACK_IMPORTED_MODULE_18__utils_HelperFunctions_js__["a" /* addOffset */])(__WEBPACK_IMPORTED_MODULE_11__Player_js__["a" /* Player */].calculateHackingTime(), 5), 3) + " seconds"); - post("Estimated total money available on server: $" + Object(__WEBPACK_IMPORTED_MODULE_17__utils_StringHelperFunctions_js__["c" /* formatNumber */])(Object(__WEBPACK_IMPORTED_MODULE_18__utils_HelperFunctions_js__["a" /* addOffset */])(__WEBPACK_IMPORTED_MODULE_11__Player_js__["a" /* Player */].getCurrentServer().moneyAvailable, 5), 2)); + post("Estimated server security level: " + Object(__WEBPACK_IMPORTED_MODULE_18__utils_StringHelperFunctions_js__["c" /* formatNumber */])(Object(__WEBPACK_IMPORTED_MODULE_19__utils_HelperFunctions_js__["a" /* addOffset */])(__WEBPACK_IMPORTED_MODULE_11__Player_js__["a" /* Player */].getCurrentServer().hackDifficulty, 5), 3)); + post("Estimated chance to hack: " + Object(__WEBPACK_IMPORTED_MODULE_18__utils_StringHelperFunctions_js__["c" /* formatNumber */])(Object(__WEBPACK_IMPORTED_MODULE_19__utils_HelperFunctions_js__["a" /* addOffset */])(__WEBPACK_IMPORTED_MODULE_11__Player_js__["a" /* Player */].calculateHackingChance() * 100, 5), 2) + "%"); + post("Estimated time to hack: " + Object(__WEBPACK_IMPORTED_MODULE_18__utils_StringHelperFunctions_js__["c" /* formatNumber */])(Object(__WEBPACK_IMPORTED_MODULE_19__utils_HelperFunctions_js__["a" /* addOffset */])(__WEBPACK_IMPORTED_MODULE_11__Player_js__["a" /* Player */].calculateHackingTime(), 5), 3) + " seconds"); + post("Estimated total money available on server: $" + Object(__WEBPACK_IMPORTED_MODULE_18__utils_StringHelperFunctions_js__["c" /* formatNumber */])(Object(__WEBPACK_IMPORTED_MODULE_19__utils_HelperFunctions_js__["a" /* addOffset */])(__WEBPACK_IMPORTED_MODULE_11__Player_js__["a" /* Player */].getCurrentServer().moneyAvailable, 5), 2)); post("Required number of open ports for NUKE: " + __WEBPACK_IMPORTED_MODULE_11__Player_js__["a" /* Player */].getCurrentServer().numOpenPortsRequired); if (__WEBPACK_IMPORTED_MODULE_11__Player_js__["a" /* Player */].getCurrentServer().sshPortOpen) { post("SSH port: Open") @@ -22741,7 +22776,7 @@ let Terminal = { post("Error: No such script exists"); return; } - Object(__WEBPACK_IMPORTED_MODULE_19__utils_LogBox_js__["a" /* logBoxCreate */])(runningScript); + Object(__WEBPACK_IMPORTED_MODULE_20__utils_LogBox_js__["a" /* logBoxCreate */])(runningScript); Object(__WEBPACK_IMPORTED_MODULE_6__InteractiveTutorial_js__["c" /* iTutorialNextStep */])(); } else {post("Bad command. Please follow the tutorial");} break; @@ -22793,7 +22828,7 @@ let Terminal = { $('input[class=terminal-input]').prop('disabled', true); break; case "buy": - if (__WEBPACK_IMPORTED_MODULE_15__SpecialServerIps_js__["a" /* SpecialServerIps */].hasOwnProperty("Darkweb Server")) { + if (__WEBPACK_IMPORTED_MODULE_16__SpecialServerIps_js__["a" /* SpecialServerIps */].hasOwnProperty("Darkweb Server")) { Object(__WEBPACK_IMPORTED_MODULE_3__DarkWeb_js__["c" /* executeDarkwebTerminalCommand */])(commandArray); } else { post("You need to be able to connect to the Dark Web to use the buy command. (Maybe there's a TOR router you can buy somewhere)"); @@ -22881,12 +22916,19 @@ let Terminal = { return; } var fn = commandArray[1]; - var txtFile = Object(__WEBPACK_IMPORTED_MODULE_16__TextFile_js__["b" /* getTextFile */])(fn, s); - if (txtFile !== null) { - txtFile.download(); - } else { - post("Error: " + fn + " does not exist"); + if (fn.endsWith(".script")) { + for (var i = 0; i < s.scripts.length; ++i) { + if (s.scripts[i].filename === fn) { + return s.scripts[i].download(); + } + } + } else if (fn.endsWith(".txt")) { + var txtFile = Object(__WEBPACK_IMPORTED_MODULE_17__TextFile_js__["b" /* getTextFile */])(fn, s); + if (txtFile !== null) { + return txtFile.download(); + } } + post("Error: " + fn + " does not exist"); break; case "free": Terminal.executeFreeCommand(commandArray); @@ -23011,7 +23053,7 @@ let Terminal = { var scriptBaseRamUsage = currServ.scripts[i].ramUsage; var ramUsage = scriptBaseRamUsage * numThreads * Math.pow(__WEBPACK_IMPORTED_MODULE_1__Constants_js__["a" /* CONSTANTS */].MultithreadingRAMCost, numThreads-1); - post("This script requires " + Object(__WEBPACK_IMPORTED_MODULE_17__utils_StringHelperFunctions_js__["c" /* formatNumber */])(ramUsage, 2) + "GB of RAM to run for " + numThreads + " thread(s)"); + post("This script requires " + Object(__WEBPACK_IMPORTED_MODULE_18__utils_StringHelperFunctions_js__["c" /* formatNumber */])(ramUsage, 2) + "GB of RAM to run for " + numThreads + " thread(s)"); return; } } @@ -23086,7 +23128,7 @@ let Terminal = { } else if (delTarget.endsWith(".lit")) { for (var i = 0; i < s.messages.length; ++i) { var f = s.messages[i]; - if (!(f instanceof __WEBPACK_IMPORTED_MODULE_8__Message_js__["a" /* Message */]) && Object(__WEBPACK_IMPORTED_MODULE_17__utils_StringHelperFunctions_js__["f" /* isString */])(f) && f === delTarget) { + if (!(f instanceof __WEBPACK_IMPORTED_MODULE_8__Message_js__["a" /* Message */]) && Object(__WEBPACK_IMPORTED_MODULE_18__utils_StringHelperFunctions_js__["f" /* isString */])(f) && f === delTarget) { s.messages.splice(i, 1); return; } @@ -23108,7 +23150,7 @@ let Terminal = { } else { var executableName = commandArray[1]; - //Music player! + //Secret Music player! if (executableName === "musicplayer") { post('', false); return; @@ -23278,44 +23320,50 @@ let Terminal = { post("Error: No such script exists"); return; } - Object(__WEBPACK_IMPORTED_MODULE_19__utils_LogBox_js__["a" /* logBoxCreate */])(runningScript); + Object(__WEBPACK_IMPORTED_MODULE_20__utils_LogBox_js__["a" /* logBoxCreate */])(runningScript); } break; case "theme": //todo support theme saving var args = commandArray[1] ? commandArray[1].split(" ") : []; - if(args.length != 1 && args.length != 3) { + if (args.length != 1 && args.length != 3) { post("Incorrect number of arguments."); post("Usage: theme [default|muted|solarized] | #[background color hex] #[text color hex] #[highlight color hex]"); - }else if(args.length == 1){ + } else if(args.length == 1){ var themeName = args[0]; - if(themeName == "default"){ + if (themeName == "default"){ document.body.style.setProperty('--my-highlight-color',"#ffffff"); document.body.style.setProperty('--my-font-color',"#66ff33"); document.body.style.setProperty('--my-background-color',"#000000"); - }else if(themeName == "muted"){ + } else if (themeName == "muted"){ document.body.style.setProperty('--my-highlight-color',"#ffffff"); document.body.style.setProperty('--my-font-color',"#66ff33"); document.body.style.setProperty('--my-background-color',"#252527"); - }else if(themeName == "solarized"){ + } else if (themeName == "solarized"){ document.body.style.setProperty('--my-highlight-color',"#6c71c4"); document.body.style.setProperty('--my-font-color',"#839496"); document.body.style.setProperty('--my-background-color',"#002b36"); - }else{ - post("Theme not found"); + } else { + return post("Theme not found"); } - }else{ + __WEBPACK_IMPORTED_MODULE_15__Settings_js__["a" /* Settings */].ThemeHighlightColor = document.body.style.getPropertyValue("--my-highlight-color"); + __WEBPACK_IMPORTED_MODULE_15__Settings_js__["a" /* Settings */].ThemeFontColor = document.body.style.getPropertyValue("--my-font-color"); + __WEBPACK_IMPORTED_MODULE_15__Settings_js__["a" /* Settings */].ThemeBackgroundColor = document.body.style.getPropertyValue("--my-background-color"); + } else { var inputBackgroundHex = args[0]; var inputTextHex = args[1]; var inputHighlightHex = args[2]; - if(/(^#[0-9A-F]{6}$)|(^#[0-9A-F]{3}$)/i.test(inputBackgroundHex) && + if (/(^#[0-9A-F]{6}$)|(^#[0-9A-F]{3}$)/i.test(inputBackgroundHex) && /(^#[0-9A-F]{6}$)|(^#[0-9A-F]{3}$)/i.test(inputTextHex) && /(^#[0-9A-F]{6}$)|(^#[0-9A-F]{3}$)/i.test(inputHighlightHex)){ document.body.style.setProperty('--my-highlight-color',inputHighlightHex); document.body.style.setProperty('--my-font-color',inputTextHex); document.body.style.setProperty('--my-background-color',inputBackgroundHex); - }else{ - post("Invalid Hex Input for theme"); + __WEBPACK_IMPORTED_MODULE_15__Settings_js__["a" /* Settings */].ThemeHighlightColor = document.body.style.getPropertyValue("--my-highlight-color"); + __WEBPACK_IMPORTED_MODULE_15__Settings_js__["a" /* Settings */].ThemeFontColor = document.body.style.getPropertyValue("--my-font-color"); + __WEBPACK_IMPORTED_MODULE_15__Settings_js__["a" /* Settings */].ThemeBackgroundColor = document.body.style.getPropertyValue("--my-background-color"); + } else { + return post("Invalid Hex Input for theme"); } } break; @@ -23341,7 +23389,7 @@ let Terminal = { var spacesThread = Array(numSpacesThread+1).join(" "); //Calculate and transform RAM usage - ramUsage = Object(__WEBPACK_IMPORTED_MODULE_17__utils_StringHelperFunctions_js__["c" /* formatNumber */])(script.scriptRef.ramUsage * script.threads, 2).toString() + "GB"; + ramUsage = Object(__WEBPACK_IMPORTED_MODULE_18__utils_StringHelperFunctions_js__["c" /* formatNumber */])(script.scriptRef.ramUsage * script.threads, 2).toString() + "GB"; var entry = [script.filename, spacesScript, script.threads, spacesThread, ramUsage]; post(entry.join("")); @@ -23554,9 +23602,9 @@ let Terminal = { if (commandArray.length != 1) { post("Incorrect usage of free command. Usage: free"); return; } - post("Total: " + Object(__WEBPACK_IMPORTED_MODULE_17__utils_StringHelperFunctions_js__["c" /* formatNumber */])(__WEBPACK_IMPORTED_MODULE_11__Player_js__["a" /* Player */].getCurrentServer().maxRam, 2) + " GB"); - post("Used: " + Object(__WEBPACK_IMPORTED_MODULE_17__utils_StringHelperFunctions_js__["c" /* formatNumber */])(__WEBPACK_IMPORTED_MODULE_11__Player_js__["a" /* Player */].getCurrentServer().ramUsed, 2) + " GB"); - post("Available: " + Object(__WEBPACK_IMPORTED_MODULE_17__utils_StringHelperFunctions_js__["c" /* formatNumber */])(__WEBPACK_IMPORTED_MODULE_11__Player_js__["a" /* Player */].getCurrentServer().maxRam - __WEBPACK_IMPORTED_MODULE_11__Player_js__["a" /* Player */].getCurrentServer().ramUsed, 2) + " GB"); + post("Total: " + Object(__WEBPACK_IMPORTED_MODULE_18__utils_StringHelperFunctions_js__["c" /* formatNumber */])(__WEBPACK_IMPORTED_MODULE_11__Player_js__["a" /* Player */].getCurrentServer().maxRam, 2) + " GB"); + post("Used: " + Object(__WEBPACK_IMPORTED_MODULE_18__utils_StringHelperFunctions_js__["c" /* formatNumber */])(__WEBPACK_IMPORTED_MODULE_11__Player_js__["a" /* Player */].getCurrentServer().ramUsed, 2) + " GB"); + post("Available: " + Object(__WEBPACK_IMPORTED_MODULE_18__utils_StringHelperFunctions_js__["c" /* formatNumber */])(__WEBPACK_IMPORTED_MODULE_11__Player_js__["a" /* Player */].getCurrentServer().maxRam - __WEBPACK_IMPORTED_MODULE_11__Player_js__["a" /* Player */].getCurrentServer().ramUsed, 2) + " GB"); }, //First called when the "run [program]" command is called. Checks to see if you @@ -23658,9 +23706,9 @@ let Terminal = { post("Server base security level: " + serv.baseDifficulty); post("Server current security level: " + serv.hackDifficulty); post("Server growth rate: " + serv.serverGrowth); - post("Netscript hack() execution time: " + Object(__WEBPACK_IMPORTED_MODULE_17__utils_StringHelperFunctions_js__["c" /* formatNumber */])(Object(__WEBPACK_IMPORTED_MODULE_9__NetscriptEvaluator_js__["j" /* scriptCalculateHackingTime */])(serv), 1) + "s"); - post("Netscript grow() execution time: " + Object(__WEBPACK_IMPORTED_MODULE_17__utils_StringHelperFunctions_js__["c" /* formatNumber */])(Object(__WEBPACK_IMPORTED_MODULE_9__NetscriptEvaluator_js__["h" /* scriptCalculateGrowTime */])(serv)/1000, 1) + "s"); - post("Netscript weaken() execution time: " + Object(__WEBPACK_IMPORTED_MODULE_17__utils_StringHelperFunctions_js__["c" /* formatNumber */])(Object(__WEBPACK_IMPORTED_MODULE_9__NetscriptEvaluator_js__["l" /* scriptCalculateWeakenTime */])(serv)/1000, 1) + "s"); + post("Netscript hack() execution time: " + Object(__WEBPACK_IMPORTED_MODULE_18__utils_StringHelperFunctions_js__["c" /* formatNumber */])(Object(__WEBPACK_IMPORTED_MODULE_9__NetscriptEvaluator_js__["j" /* scriptCalculateHackingTime */])(serv), 1) + "s"); + post("Netscript grow() execution time: " + Object(__WEBPACK_IMPORTED_MODULE_18__utils_StringHelperFunctions_js__["c" /* formatNumber */])(Object(__WEBPACK_IMPORTED_MODULE_9__NetscriptEvaluator_js__["h" /* scriptCalculateGrowTime */])(serv)/1000, 1) + "s"); + post("Netscript weaken() execution time: " + Object(__WEBPACK_IMPORTED_MODULE_18__utils_StringHelperFunctions_js__["c" /* formatNumber */])(Object(__WEBPACK_IMPORTED_MODULE_9__NetscriptEvaluator_js__["l" /* scriptCalculateWeakenTime */])(serv)/1000, 1) + "s"); break; case __WEBPACK_IMPORTED_MODULE_2__CreateProgram_js__["a" /* Programs */].AutoLink: post("This executable cannot be run."); @@ -23677,7 +23725,7 @@ let Terminal = { break; case __WEBPACK_IMPORTED_MODULE_2__CreateProgram_js__["a" /* Programs */].Flight: post("Augmentations: " + __WEBPACK_IMPORTED_MODULE_11__Player_js__["a" /* Player */].augmentations.length + " / 30"); - post("Money: $" + Object(__WEBPACK_IMPORTED_MODULE_17__utils_StringHelperFunctions_js__["c" /* formatNumber */])(__WEBPACK_IMPORTED_MODULE_11__Player_js__["a" /* Player */].money.toNumber(), 2) + " / $" + Object(__WEBPACK_IMPORTED_MODULE_17__utils_StringHelperFunctions_js__["c" /* formatNumber */])(100000000000, 2)); + post("Money: $" + Object(__WEBPACK_IMPORTED_MODULE_18__utils_StringHelperFunctions_js__["c" /* formatNumber */])(__WEBPACK_IMPORTED_MODULE_11__Player_js__["a" /* Player */].money.toNumber(), 2) + " / $" + Object(__WEBPACK_IMPORTED_MODULE_18__utils_StringHelperFunctions_js__["c" /* formatNumber */])(100000000000, 2)); post("One path below must be fulfilled..."); post("----------HACKING PATH----------"); post("Hacking skill: " + __WEBPACK_IMPORTED_MODULE_11__Player_js__["a" /* Player */].hacking_skill + " / 2500"); @@ -23688,18 +23736,18 @@ let Terminal = { post("Agility: " + __WEBPACK_IMPORTED_MODULE_11__Player_js__["a" /* Player */].agility + " / 1500"); break; case __WEBPACK_IMPORTED_MODULE_2__CreateProgram_js__["a" /* Programs */].BitFlume: - var yesBtn = Object(__WEBPACK_IMPORTED_MODULE_20__utils_YesNoBox_js__["d" /* yesNoBoxGetYesButton */])(), - noBtn = Object(__WEBPACK_IMPORTED_MODULE_20__utils_YesNoBox_js__["c" /* yesNoBoxGetNoButton */])(); + var yesBtn = Object(__WEBPACK_IMPORTED_MODULE_21__utils_YesNoBox_js__["d" /* yesNoBoxGetYesButton */])(), + noBtn = Object(__WEBPACK_IMPORTED_MODULE_21__utils_YesNoBox_js__["c" /* yesNoBoxGetNoButton */])(); yesBtn.innerHTML = "Travel to BitNode Nexus"; noBtn.innerHTML = "Cancel"; yesBtn.addEventListener("click", function() { Object(__WEBPACK_IMPORTED_MODULE_12__RedPill_js__["a" /* hackWorldDaemon */])(__WEBPACK_IMPORTED_MODULE_11__Player_js__["a" /* Player */].bitNodeN, true); - return Object(__WEBPACK_IMPORTED_MODULE_20__utils_YesNoBox_js__["a" /* yesNoBoxClose */])(); + return Object(__WEBPACK_IMPORTED_MODULE_21__utils_YesNoBox_js__["a" /* yesNoBoxClose */])(); }); noBtn.addEventListener("click", function() { - return Object(__WEBPACK_IMPORTED_MODULE_20__utils_YesNoBox_js__["a" /* yesNoBoxClose */])(); + return Object(__WEBPACK_IMPORTED_MODULE_21__utils_YesNoBox_js__["a" /* yesNoBoxClose */])(); }); - Object(__WEBPACK_IMPORTED_MODULE_20__utils_YesNoBox_js__["b" /* yesNoBoxCreate */])("WARNING: USING THIS PROGRAM WILL CAUSE YOU TO LOSE ALL OF YOUR PROGRESS ON THE CURRENT BITNODE.

" + + Object(__WEBPACK_IMPORTED_MODULE_21__utils_YesNoBox_js__["b" /* yesNoBoxCreate */])("WARNING: USING THIS PROGRAM WILL CAUSE YOU TO LOSE ALL OF YOUR PROGRESS ON THE CURRENT BITNODE.

" + "Do you want to travel to the BitNode Nexus? This allows you to reset the current BitNode " + "and select a new one."); @@ -23791,7 +23839,7 @@ let Terminal = { return; } else { //Able to run script - post("Running script with " + numThreads + " thread(s) and args: " + Object(__WEBPACK_IMPORTED_MODULE_18__utils_HelperFunctions_js__["j" /* printArray */])(args) + "."); + post("Running script with " + numThreads + " thread(s) and args: " + Object(__WEBPACK_IMPORTED_MODULE_19__utils_HelperFunctions_js__["j" /* printArray */])(args) + "."); post("May take a few seconds to start up the process..."); var runningScriptObj = new __WEBPACK_IMPORTED_MODULE_13__Script_js__["b" /* RunningScript */](script, args); runningScriptObj.threads = numThreads; @@ -23902,29 +23950,25 @@ function isValidIPAddress(ipaddress) { //Augmentations -function Augmentation(name) { - this.name = name; - this.info = ""; +function Augmentation(params) { + if (params.name == null || params.info == null || params.moneyCost == null || params.repCost == null) { + Object(__WEBPACK_IMPORTED_MODULE_8__utils_DialogBox_js__["a" /* dialogBoxCreate */])("ERROR Creating Augmentations. This is a bug please contact game dev"); + return; + } + this.name = params.name; + this.info = params.info; this.owned = false; + this.prereqs = params.prereqs ? params.prereqs : []; //Price and reputation base requirements (can change based on faction multipliers) - this.baseRepRequirement = 0; - this.baseCost = 0; + this.baseRepRequirement = params.repCost * __WEBPACK_IMPORTED_MODULE_1__Constants_js__["a" /* CONSTANTS */].AugmentationRepMultiplier * __WEBPACK_IMPORTED_MODULE_0__BitNode_js__["a" /* BitNodeMultipliers */].AugmentationRepCost; + this.baseCost = params.moneyCost * __WEBPACK_IMPORTED_MODULE_1__Constants_js__["a" /* CONSTANTS */].AugmentationCostMultiplier * __WEBPACK_IMPORTED_MODULE_0__BitNode_js__["a" /* BitNodeMultipliers */].AugmentationMoneyCost; //Level - Only applicable for some augmentations // NeuroFlux Governor this.level = 0; } -Augmentation.prototype.setInfo = function(inf) { - this.info = inf; -} - -Augmentation.prototype.setRequirements = function(rep, cost) { - this.baseRepRequirement = rep * __WEBPACK_IMPORTED_MODULE_1__Constants_js__["a" /* CONSTANTS */].AugmentationRepMultiplier * __WEBPACK_IMPORTED_MODULE_0__BitNode_js__["a" /* BitNodeMultipliers */].AugmentationRepCost; - this.baseCost = cost * __WEBPACK_IMPORTED_MODULE_1__Constants_js__["a" /* CONSTANTS */].AugmentationCostMultiplier * __WEBPACK_IMPORTED_MODULE_0__BitNode_js__["a" /* BitNodeMultipliers */].AugmentationMoneyCost; -} - //Takes in an array of faction names and adds this augmentation to all of those factions Augmentation.prototype.addToFactions = function(factionList) { for (var i = 0; i < factionList.length; ++i) { @@ -24064,22 +24108,24 @@ function initAugmentations() { } } //Combat stat augmentations - var HemoRecirculator = new Augmentation(AugmentationNames.HemoRecirculator); - HemoRecirculator.setInfo("A heart implant that greatly increases the body's ability to effectively use and pump " + - "blood.

This augmentation increases all of the player's combat stats by 8%.") - HemoRecirculator.setRequirements(4000, 9000000); + var HemoRecirculator = new Augmentation({ + name:AugmentationNames.HemoRecirculator, moneyCost: 9e6, repCost:4e3, + info:"A heart implant that greatly increases the body's ability to effectively use and pump " + + "blood.

This augmentation increases all of the player's combat stats by 8%." + }); HemoRecirculator.addToFactions(["Tetrads", "The Dark Army", "The Syndicate"]); if (augmentationExists(AugmentationNames.HemoRecirculator)) { delete Augmentations[AugmentationNames.HemoRecirculator]; } AddToAugmentations(HemoRecirculator); - var Targeting1 = new Augmentation(AugmentationNames.Targeting1); - Targeting1.setRequirements(2000, 3000000); - Targeting1.setInfo("This cranial implant is embedded within the player's inner ear structure and optic nerves. It regulates and enhances the user's " + - "balance and hand-eye coordination. It is also capable of augmenting reality by projecting digital information " + - "directly onto the retina. These enhancements allow the player to better lock-on and keep track of enemies.

" + - "This augmentation increases the player's dexterity by 10%."); + var Targeting1 = new Augmentation({ + name:AugmentationNames.Targeting1, moneyCost:3e6, repCost:2e3, + info:"This cranial implant is embedded within the player's inner ear structure and optic nerves. It regulates and enhances the user's " + + "balance and hand-eye coordination. It is also capable of augmenting reality by projecting digital information " + + "directly onto the retina. These enhancements allow the player to better lock-on and keep track of enemies.

" + + "This augmentation increases the player's dexterity by 10%." + }); Targeting1.addToFactions(["Slum Snakes", "The Dark Army", "The Syndicate", "Sector-12", "Volhaven", "Ishima", "OmniTek Incorporated", "KuaiGong International", "Blade Industries"]); if (augmentationExists(AugmentationNames.Targeting1)) { @@ -24087,11 +24133,13 @@ function initAugmentations() { } AddToAugmentations(Targeting1); - var Targeting2 = new Augmentation(AugmentationNames.Targeting2); - Targeting2.setRequirements(3500, 8500000); - Targeting2.setInfo("This is an upgrade of the Augmented Targeting I cranial implant, which is capable of augmenting reality " + - "and enhances the user's balance and hand-eye coordination.

This upgrade increases the player's dexterity " + - "by an additional 20%."); + var Targeting2 = new Augmentation({ + name:AugmentationNames.Targeting2, moneyCost:8.5e6, repCost:3.5e3, + info:"This is an upgrade of the Augmented Targeting I cranial implant, which is capable of augmenting reality " + + "and enhances the user's balance and hand-eye coordination.

This upgrade increases the player's dexterity " + + "by an additional 20%.", + prereqs:[AugmentationNames.Targeting1] + }); Targeting2.addToFactions(["The Dark Army", "The Syndicate", "Sector-12", "Volhaven", "Ishima", "OmniTek Incorporated", "KuaiGong International", "Blade Industries"]); if (augmentationExists(AugmentationNames.Targeting2)) { @@ -24099,11 +24147,13 @@ function initAugmentations() { } AddToAugmentations(Targeting2); - var Targeting3 = new Augmentation(AugmentationNames.Targeting3); - Targeting3.setRequirements(11000, 23000000); - Targeting3.setInfo("This is an upgrade of the Augmented Targeting II cranial implant, which is capable of augmenting reality " + - "and enhances the user's balance and hand-eye coordination.

This upgrade increases the player's dexterity " + - "by an additional 30%."); + var Targeting3 = new Augmentation({ + name:AugmentationNames.Targeting3, moneyCost:23e6, repCost:11e3, + info:"This is an upgrade of the Augmented Targeting II cranial implant, which is capable of augmenting reality " + + "and enhances the user's balance and hand-eye coordination.

This upgrade increases the player's dexterity " + + "by an additional 30%.", + prereqs:[AugmentationNames.Targeting2] + }); Targeting3.addToFactions(["The Dark Army", "The Syndicate", "OmniTek Incorporated", "KuaiGong International", "Blade Industries", "The Covenant"]); if (augmentationExists(AugmentationNames.Targeting3)) { @@ -24111,11 +24161,12 @@ function initAugmentations() { } AddToAugmentations(Targeting3); - var SyntheticHeart = new Augmentation(AugmentationNames.SyntheticHeart); - SyntheticHeart.setRequirements(300000, 575000000); - SyntheticHeart.setInfo("This advanced artificial heart, created from plasteel and graphene, is capable of pumping more blood " + - "at much higher efficiencies than a normal human heart.

This augmentation increases the player's agility " + - "and strength by 50%"); + var SyntheticHeart = new Augmentation({ + name:AugmentationNames.SyntheticHeart, moneyCost:575e6, repCost:300e3, + info:"This advanced artificial heart, created from plasteel and graphene, is capable of pumping more blood " + + "at much higher efficiencies than a normal human heart.

This augmentation increases the player's agility " + + "and strength by 50%" + }); SyntheticHeart.addToFactions(["KuaiGong International", "Fulcrum Secret Technologies", "Speakers for the Dead", "NWO", "The Covenant", "Daedalus", "Illuminati"]); if (augmentationExists(AugmentationNames.SyntheticHeart)) { @@ -24123,12 +24174,13 @@ function initAugmentations() { } AddToAugmentations(SyntheticHeart); - var SynfibrilMuscle = new Augmentation(AugmentationNames.SynfibrilMuscle); - SynfibrilMuscle.setRequirements(175000, 225000000); - SynfibrilMuscle.setInfo("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'.

This augmentation increases the player's " + - "strength and defense by 35%."); + var SynfibrilMuscle = new Augmentation({ + name:AugmentationNames.SynfibrilMuscle, repCost:175e3, moneyCost:225e6, + 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'.

This augmentation increases the player's " + + "strength and defense by 35%." + }); SynfibrilMuscle.addToFactions(["KuaiGong International", "Fulcrum Secret Technologies", "Speakers for the Dead", "NWO", "The Covenant", "Daedalus", "Illuminati", "Blade Industries"]); if (augmentationExists(AugmentationNames.SynfibrilMuscle)) { @@ -24136,11 +24188,12 @@ function initAugmentations() { } AddToAugmentations(SynfibrilMuscle) - var CombatRib1 = new Augmentation(AugmentationNames.CombatRib1); - CombatRib1.setRequirements(3000, 4750000); - CombatRib1.setInfo("The human body's ribs are replaced with artificial ribs that automatically and continuously release cognitive " + - "and performance-enhancing drugs into the bloodstream, improving the user's abilities in combat.

" + - "This augmentation increases the player's strength and defense by 10%."); + var CombatRib1 = new Augmentation({ + name:AugmentationNames.CombatRib1, repCost:3e3, moneyCost:4750000, + info:"The human body's ribs are replaced with artificial ribs that automatically and continuously release cognitive " + + "and performance-enhancing drugs into the bloodstream, improving the user's abilities in combat.

" + + "This augmentation increases the player's strength and defense by 10%." + }); CombatRib1.addToFactions(["Slum Snakes", "The Dark Army", "The Syndicate", "Sector-12", "Volhaven", "Ishima", "OmniTek Incorporated", "KuaiGong International", "Blade Industries"]); if (augmentationExists(AugmentationNames.CombatRib1)) { @@ -24148,10 +24201,12 @@ function initAugmentations() { } AddToAugmentations(CombatRib1); - var CombatRib2 = new Augmentation(AugmentationNames.CombatRib2); - CombatRib2.setRequirements(7500, 13000000); - CombatRib2.setInfo("This is an upgrade to the Combat Rib I augmentation, and is capable of releasing even more potent combat-enhancing " + - "drugs into the bloodstream.

This upgrade increases the player's strength and defense by an additional 15%.") + var CombatRib2 = new Augmentation({ + name:AugmentationNames.CombatRib2, repCost:7.5e3, moneyCost:13e6, + info:"This is an upgrade to the Combat Rib I augmentation, and is capable of releasing even more potent combat-enhancing " + + "drugs into the bloodstream.

This upgrade increases the player's strength and defense by an additional 15%.", + prereqs:[AugmentationNames.CombatRib1] + }); CombatRib2.addToFactions(["The Dark Army", "The Syndicate", "Sector-12", "Volhaven", "Ishima", "OmniTek Incorporated", "KuaiGong International", "Blade Industries"]); if (augmentationExists(AugmentationNames.CombatRib2)) { @@ -24159,10 +24214,12 @@ function initAugmentations() { } AddToAugmentations(CombatRib2); - var CombatRib3 = new Augmentation(AugmentationNames.CombatRib3); - CombatRib3.setRequirements(14000, 24000000); - CombatRib3.setInfo("This is an upgrade to the Combat Rib II augmentation, and is capable of releasing even more potent combat-enhancing " + - "drugs into the bloodstream

. This upgrade increases the player's strength and defense by an additional 20%."); + var CombatRib3 = new Augmentation({ + name:AugmentationNames.CombatRib3, repCost:14e3, moneyCost:24e6, + info:"This is an upgrade to the Combat Rib II augmentation, and is capable of releasing even more potent combat-enhancing " + + "drugs into the bloodstream

. This upgrade increases the player's strength and defense by an additional 20%.", + prereqs:[AugmentationNames.CombatRib2], + }); CombatRib3.addToFactions(["The Dark Army", "The Syndicate", "OmniTek Incorporated", "KuaiGong International", "Blade Industries", "The Covenant"]); if (augmentationExists(AugmentationNames.CombatRib3)) { @@ -24170,11 +24227,12 @@ function initAugmentations() { } AddToAugmentations(CombatRib3); - var NanofiberWeave = new Augmentation(AugmentationNames.NanofiberWeave); - NanofiberWeave.setRequirements(15000, 25000000); - NanofiberWeave.setInfo("Synthetic nanofibers are woven into the skin's extracellular matrix using electrospinning. " + - "This improves the skin's ability to regenerate itself and protect the body from external stresses and forces.

" + - "This augmentation increases the player's strength and defense by 25%."); + var NanofiberWeave = new Augmentation({ + name:AugmentationNames.NanofiberWeave, repCost:15e3, moneyCost:25e6, + info:"Synthetic nanofibers are woven into the skin's extracellular matrix using electrospinning. " + + "This improves the skin's ability to regenerate itself and protect the body from external stresses and forces.

" + + "This augmentation increases the player's strength and defense by 25%." + }); NanofiberWeave.addToFactions(["Tian Di Hui", "The Syndicate", "The Dark Army", "Speakers for the Dead", "Blade Industries", "Fulcrum Secret Technologies", "OmniTek Incorporated"]); if (augmentationExists(AugmentationNames.NanofiberWeave)) { @@ -24182,14 +24240,15 @@ function initAugmentations() { } AddToAugmentations(NanofiberWeave); - var SubdermalArmor = new Augmentation(AugmentationNames.SubdermalArmor); - SubdermalArmor.setRequirements(350000, 650000000); - SubdermalArmor.setInfo("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-related or electrical traumas.

" + - "This augmentation increases the player's defense by 125%."); + var SubdermalArmor = new Augmentation({ + name:AugmentationNames.SubdermalArmor, repCost:350e3, moneyCost:650e6, + 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-related or electrical traumas.

" + + "This augmentation increases the player's defense by 125%." + }); SubdermalArmor.addToFactions(["The Syndicate", "Fulcrum Secret Technologies", "Illuminati", "Daedalus", "The Covenant"]); if (augmentationExists(AugmentationNames.SubdermalArmor)) { @@ -24197,11 +24256,12 @@ function initAugmentations() { } AddToAugmentations(SubdermalArmor); - var WiredReflexes = new Augmentation(AugmentationNames.WiredReflexes); - WiredReflexes.setRequirements(500, 500000); - WiredReflexes.setInfo("Synthetic nerve-enhancements are injected into all major parts of the somatic nervous system, " + - "supercharging the body's ability to send signals through neurons. This results in increased reflex speed.

" + - "This augmentation increases the player's agility and dexterity by 5%."); + var WiredReflexes = new Augmentation({ + name:AugmentationNames.WiredReflexes, repCost:500, moneyCost:500e3, + info:"Synthetic nerve-enhancements are injected into all major parts of the somatic nervous system, " + + "supercharging the body's ability to send signals through neurons. This results in increased reflex speed.

" + + "This augmentation increases the player's agility and dexterity by 5%." + }); WiredReflexes.addToFactions(["Tian Di Hui", "Slum Snakes", "Sector-12", "Volhaven", "Aevum", "Ishima", "The Syndicate", "The Dark Army", "Speakers for the Dead"]); if (augmentationExists(AugmentationNames.WiredReflexes)) { @@ -24209,24 +24269,26 @@ function initAugmentations() { } AddToAugmentations(WiredReflexes); - var GrapheneBoneLacings = new Augmentation(AugmentationNames.GrapheneBoneLacings); - GrapheneBoneLacings.setRequirements(450000, 850000000); - GrapheneBoneLacings.setInfo("A graphene-based material is grafted and fused into the user's bones, significantly increasing " + - "their density and tensile strength.

" + - "This augmentation increases the player's strength and defense by 70%."); + var GrapheneBoneLacings = new Augmentation({ + name:AugmentationNames.GrapheneBoneLacings, repCost:450e3, moneyCost:850e6, + info:"A graphene-based material is grafted and fused into the user's bones, significantly increasing " + + "their density and tensile strength.

" + + "This augmentation increases the player's strength and defense by 70%." + }); GrapheneBoneLacings.addToFactions(["Fulcrum Secret Technologies", "The Covenant"]); if (augmentationExists(AugmentationNames.GrapheneBoneLacings)) { delete Augmentations[AugmentationNames.GrapheneBoneLacings]; } AddToAugmentations(GrapheneBoneLacings); - var BionicSpine = new Augmentation(AugmentationNames.BionicSpine); - BionicSpine.setRequirements(18000, 25000000); - BionicSpine.setInfo("An artificial spine created from plasteel and carbon fibers that completely replaces the organic spine. " + - "Not only is the Bionic Spine physically stronger than a human spine, but it is also capable of digitally " + - "stimulating and regulating the neural signals that are sent and received by the spinal cord. This results in " + - "greatly improved senses and reaction speeds.

" + - "This augmentation increases all of the player's combat stats by 16%."); + var BionicSpine = new Augmentation({ + name:AugmentationNames.BionicSpine, repCost:18e3, moneyCost:25e6, + info:"An artificial spine created from plasteel and carbon fibers that completely replaces the organic spine. " + + "Not only is the Bionic Spine physically stronger than a human spine, but it is also capable of digitally " + + "stimulating and regulating the neural signals that are sent and received by the spinal cord. This results in " + + "greatly improved senses and reaction speeds.

" + + "This augmentation increases all of the player's combat stats by 16%." + }); BionicSpine.addToFactions(["Speakers for the Dead", "The Syndicate", "KuaiGong International", "OmniTek Incorporated", "Blade Industries"]); if (augmentationExists(AugmentationNames.BionicSpine)) { @@ -24234,21 +24296,24 @@ function initAugmentations() { } AddToAugmentations(BionicSpine); - var GrapheneBionicSpine = new Augmentation(AugmentationNames.GrapheneBionicSpine); - GrapheneBionicSpine.setRequirements(650000, 1200000000); - GrapheneBionicSpine.setInfo("An upgrade to the Bionic Spine augmentation. It fuses the implant with an advanced graphene " + - "material to make it much stronger and lighter.

" + - "This augmentation increases all of the player's combat stats by 60%."); + var GrapheneBionicSpine = new Augmentation({ + name:AugmentationNames.GrapheneBionicSpine, repCost:650e3, moneyCost:1200e6, + info:"An upgrade to the Bionic Spine augmentation. It fuses the implant with an advanced graphene " + + "material to make it much stronger and lighter.

" + + "This augmentation increases all of the player's combat stats by 60%.", + prereqs:[AugmentationNames.BionicSpine], + }); GrapheneBionicSpine.addToFactions(["Fulcrum Secret Technologies", "ECorp"]); if (augmentationExists(AugmentationNames.GrapheneBionicSpine)) { delete Augmentations[AugmentationNames.GrapheneBionicSpine]; } AddToAugmentations(GrapheneBionicSpine); - var BionicLegs = new Augmentation(AugmentationNames.BionicLegs); - BionicLegs.setRequirements(60000, 75000000); - BionicLegs.setInfo("Cybernetic legs created from plasteel and carbon fibers that completely replace the user's organic legs.

" + - "This augmentation increases the player's agility by 60%."); + var BionicLegs = new Augmentation({ + name:AugmentationNames.BionicLegs, repCost:60e3, moneyCost:75e6, + info:"Cybernetic legs created from plasteel and carbon fibers that completely replace the user's organic legs.

" + + "This augmentation increases the player's agility by 60%." + }); BionicLegs.addToFactions(["Speakers for the Dead", "The Syndicate", "KuaiGong International", "OmniTek Incorporated", "Blade Industries"]); if (augmentationExists(AugmentationNames.BionicLegs)) { @@ -24256,11 +24321,13 @@ function initAugmentations() { } AddToAugmentations(BionicLegs); - var GrapheneBionicLegs = new Augmentation(AugmentationNames.GrapheneBionicLegs); - GrapheneBionicLegs.setRequirements(300000, 900000000); - GrapheneBionicLegs.setInfo("An upgrade to the Bionic Legs augmentation. It fuses the implant with an advanced graphene " + - "material to make it much stronger and lighter.

" + - "This augmentation increases the player's agility by an additional 175%."); + var GrapheneBionicLegs = new Augmentation({ + name:AugmentationNames.GrapheneBionicLegs, repCost:300e3, moneyCost:900e6, + info:"An upgrade to the Bionic Legs augmentation. It fuses the implant with an advanced graphene " + + "material to make it much stronger and lighter.

" + + "This augmentation increases the player's agility by an additional 175%.", + prereqs:[AugmentationNames.BionicLegs], + }); GrapheneBionicLegs.addToFactions(["MegaCorp", "ECorp", "Fulcrum Secret Technologies"]); if (augmentationExists(AugmentationNames.GrapheneBionicLegs)) { delete Augmentations[AugmentationNames.GrapheneBionicLegs]; @@ -24268,12 +24335,13 @@ function initAugmentations() { AddToAugmentations(GrapheneBionicLegs); //Labor stat augmentations - var SpeechProcessor = new Augmentation(AugmentationNames.SpeechProcessor); //Cochlear imlant? - SpeechProcessor.setRequirements(3000, 10000000); - SpeechProcessor.setInfo("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.

" + - "This augmentation increases the player's charisma by 20%."); + var SpeechProcessor = new Augmentation({ + name:AugmentationNames.SpeechProcessor, repCost:3e3, moneyCost:10e6, + 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.

" + + "This augmentation increases the player's charisma by 20%." + }); SpeechProcessor.addToFactions(["Tian Di Hui", "Chongqing", "Sector-12", "New Tokyo", "Aevum", "Ishima", "Volhaven", "Silhouette"]); if (augmentationExists(AugmentationNames.SpeechProcessor)) { @@ -24281,26 +24349,28 @@ function initAugmentations() { } AddToAugmentations(SpeechProcessor); - let TITN41Injection = new Augmentation(AugmentationNames.TITN41Injection); - TITN41Injection.setRequirements(10000, 38000000); - TITN41Injection.setInfo("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.

" + - "This augmentation increases the player's charisma and charisma experience gain rate by 15%"); + let TITN41Injection = new Augmentation({ + name:AugmentationNames.TITN41Injection, repCost:10e3, moneyCost:38e6, + 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.

" + + "This augmentation increases the player's charisma and charisma experience gain rate by 15%" + }); TITN41Injection.addToFactions(["Silhouette"]); if (augmentationExists(AugmentationNames.TITN41Injection)) { delete Augmentations[AugmentationNames.TITN41Injection]; } AddToAugmentations(TITN41Injection); - var EnhancedSocialInteractionImplant = new Augmentation(AugmentationNames.EnhancedSocialInteractionImplant); - EnhancedSocialInteractionImplant.setRequirements(150000, 275000000); - EnhancedSocialInteractionImplant.setInfo("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 expression, body " + - "language, and the voice's tone/inflection to determine the best course of action during social" + - "situations. The implant also uses deep learning software to continuously learn new behavior" + - "patterns and how to best respond.

" + - "This augmentation increases the player's charisma and charisma experience gain rate by 60%."); + var EnhancedSocialInteractionImplant = new Augmentation({ + name:AugmentationNames.EnhancedSocialInteractionImplant, repCost:150e3, moneyCost:275e6, + 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 expression, body " + + "language, and the voice's tone/inflection to determine the best course of action during social" + + "situations. The implant also uses deep learning software to continuously learn new behavior" + + "patterns and how to best respond.

" + + "This augmentation increases the player's charisma and charisma experience gain rate by 60%." + }); EnhancedSocialInteractionImplant.addToFactions(["Bachman & Associates", "NWO", "Clarke Incorporated", "OmniTek Incorporated", "Four Sigma"]); if (augmentationExists(AugmentationNames.EnhancedSocialInteractionImplant)) { @@ -24309,105 +24379,113 @@ function initAugmentations() { AddToAugmentations(EnhancedSocialInteractionImplant); //Hacking augmentations - var BitWire = new Augmentation(AugmentationNames.BitWire); - BitWire.setRequirements(1500, 2000000); - BitWire.setInfo("A small brain implant embedded in the cerebrum. This regulates and improves the brain's computing " + - "capabilities.

This augmentation increases the player's hacking skill by 5%"); + var BitWire = new Augmentation({ + name:AugmentationNames.BitWire, repCost:1500, moneyCost:2e6, + info: "A small brain implant embedded in the cerebrum. This regulates and improves the brain's computing " + + "capabilities.

This augmentation increases the player's hacking skill by 5%" + }); BitWire.addToFactions(["CyberSec", "NiteSec"]); if (augmentationExists(AugmentationNames.BitWire)) { delete Augmentations[AugmentationNames.BitWire]; } AddToAugmentations(BitWire); - var ArtificialBioNeuralNetwork = new Augmentation(AugmentationNames.ArtificialBioNeuralNetwork); - ArtificialBioNeuralNetwork.setRequirements(110000, 600000000); - ArtificialBioNeuralNetwork.setInfo("A network consisting of millions of nanoprocessors is embedded into the brain. " + - "The network is meant to mimick the way a biological brain solves a problem, which 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 its user to solve much more complex problems at a much faster rate.

" + - "This augmentation:
" + - "Increases the player's hacking speed by 3%
" + - "Increases the amount of money the player's gains from hacking by 15%
" + - "Inreases the player's hacking skill by 12%"); + var ArtificialBioNeuralNetwork = new Augmentation({ + name:AugmentationNames.ArtificialBioNeuralNetwork, repCost:110e3, moneyCost:600e6, + info:"A network consisting of millions of nanoprocessors is embedded into the brain. " + + "The network is meant to mimick the way a biological brain solves a problem, which 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 its user to solve much more complex problems at a much faster rate.

" + + "This augmentation:
" + + "Increases the player's hacking speed by 3%
" + + "Increases the amount of money the player's gains from hacking by 15%
" + + "Increases the player's hacking skill by 12%" + }); ArtificialBioNeuralNetwork.addToFactions(["BitRunners", "Fulcrum Secret Technologies"]); if (augmentationExists(AugmentationNames.ArtificialBioNeuralNetwork)) { delete Augmentations[AugmentationNames.ArtificialBioNeuralNetwork]; } AddToAugmentations(ArtificialBioNeuralNetwork); - var ArtificialSynapticPotentiation = new Augmentation(AugmentationNames.ArtificialSynapticPotentiation); - ArtificialSynapticPotentiation.setRequirements(2500, 16000000); - ArtificialSynapticPotentiation.setInfo("The body is injected with a chemical that artificially induces synaptic potentiation, " + - "otherwise known as the strengthening of synapses. This results in a enhanced cognitive abilities.

" + - "This augmentation:
" + - "Increases the player's hacking speed by 2%
" + - "Increases the player's hacking chance by 5%
" + - "Increases the player's hacking experience gain rate by 5%"); + var ArtificialSynapticPotentiation = new Augmentation({ + name:AugmentationNames.ArtificialSynapticPotentiation, repCost:2500, moneyCost:16e6, + info:"The body is injected with a chemical that artificially induces synaptic potentiation, " + + "otherwise known as the strengthening of synapses. This results in a enhanced cognitive abilities.

" + + "This augmentation:
" + + "Increases the player's hacking speed by 2%
" + + "Increases the player's hacking chance by 5%
" + + "Increases the player's hacking experience gain rate by 5%" + }); ArtificialSynapticPotentiation.addToFactions(["The Black Hand", "NiteSec"]); if (augmentationExists(AugmentationNames.ArtificialSynapticPotentiation)) { delete Augmentations[AugmentationNames.ArtificialSynapticPotentiation]; } AddToAugmentations(ArtificialSynapticPotentiation); - var EnhancedMyelinSheathing = new Augmentation(AugmentationNames.EnhancedMyelinSheathing); - EnhancedMyelinSheathing.setRequirements(40000, 275000000); - EnhancedMyelinSheathing.setInfo("Electrical signals are used to induce a new, artificial form of myelinogensis 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.

" + - "This augmentation:
" + - "Increases the player's hacking speed by 3%
" + - "Increases the player's hacking skill by 8%
" + - "Increases the player's hacking experience gain rate by 10%"); + var EnhancedMyelinSheathing = new Augmentation({ + name:AugmentationNames.EnhancedMyelinSheathing, repCost:40e3, moneyCost:275e6, + info:"Electrical signals are used to induce a new, artificial form of myelinogensis 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.

" + + "This augmentation:
" + + "Increases the player's hacking speed by 3%
" + + "Increases the player's hacking skill by 8%
" + + "Increases the player's hacking experience gain rate by 10%" + }); EnhancedMyelinSheathing.addToFactions(["Fulcrum Secret Technologies", "BitRunners", "The Black Hand"]); if (augmentationExists(AugmentationNames.EnhancedMyelinSheathing)) { delete Augmentations[AugmentationNames.EnhancedMyelinSheathing]; } AddToAugmentations(EnhancedMyelinSheathing); - var SynapticEnhancement = new Augmentation(AugmentationNames.SynapticEnhancement); - SynapticEnhancement.setRequirements(800, 1500000); - SynapticEnhancement.setInfo("A small cranial implant that continuously uses weak electric signals to stimulate the brain and " + - "induce stronger synaptic activity. This improves the user's cognitive abilities.

" + - "This augmentation increases the player's hacking speed by 3%."); + var SynapticEnhancement = new Augmentation({ + name:AugmentationNames.SynapticEnhancement, repCost:800, moneyCost:1.5e6, + info:"A small cranial implant that continuously uses weak electric signals to stimulate the brain and " + + "induce stronger synaptic activity. This improves the user's cognitive abilities.

" + + "This augmentation increases the player's hacking speed by 3%." + }); SynapticEnhancement.addToFactions(["CyberSec"]); if (augmentationExists(AugmentationNames.SynapticEnhancement)) { delete Augmentations[AugmentationNames.SynapticEnhancement]; } AddToAugmentations(SynapticEnhancement); - var NeuralRetentionEnhancement = new Augmentation(AugmentationNames.NeuralRetentionEnhancement); - NeuralRetentionEnhancement.setRequirements(8000, 50000000); - NeuralRetentionEnhancement.setInfo("Chemical injections are used to permanently alter and strengthen the brain's neuronal " + - "circuits, strengthening its ability to retain information.

" + - "This augmentation increases the player's hacking experience gain rate by 25%."); + var NeuralRetentionEnhancement = new Augmentation({ + name:AugmentationNames.NeuralRetentionEnhancement, repCost:8e3, moneyCost:50e6, + info:"Chemical injections are used to permanently alter and strengthen the brain's neuronal " + + "circuits, strengthening its ability to retain information.

" + + "This augmentation increases the player's hacking experience gain rate by 25%." + }); NeuralRetentionEnhancement.addToFactions(["NiteSec"]); if (augmentationExists(AugmentationNames.NeuralRetentionEnhancement)) { delete Augmentations[AugmentationNames.NeuralRetentionEnhancement]; } AddToAugmentations(NeuralRetentionEnhancement); - var DataJack = new Augmentation(AugmentationNames.DataJack); - DataJack.setRequirements(45000, 90000000); - DataJack.setInfo("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.

" + - "This augmentation increases the amount of money the player gains from hacking by 25%"); + var DataJack = new Augmentation({ + name:AugmentationNames.DataJack, repCost:45e3, moneyCost:90e6, + 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.

" + + "This augmentation increases the amount of money the player gains from hacking by 25%" + }); DataJack.addToFactions(["BitRunners", "The Black Hand", "NiteSec", "Chongqing", "New Tokyo"]); if (augmentationExists(AugmentationNames.DataJack)) { delete Augmentations[AugmentationNames.DataJack]; } AddToAugmentations(DataJack); - var ENM = new Augmentation(AugmentationNames.ENM); - ENM.setRequirements(6000, 50000000); - ENM.setInfo("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.

" + - "This augmentation increases the player's hacking skill by 8%"); + var ENM = new Augmentation({ + name:AugmentationNames.ENM, repCost:6e3, moneyCost:50e6, + 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.

" + + "This augmentation increases the player's hacking skill by 8%" + }); ENM.addToFactions(["BitRunners", "The Black Hand", "NiteSec", "ECorp", "MegaCorp", "Fulcrum Secret Technologies", "NWO", "Blade Industries"]); if (augmentationExists(AugmentationNames.ENM)) { @@ -24415,16 +24493,18 @@ function initAugmentations() { } AddToAugmentations(ENM); - var ENMCore = new Augmentation(AugmentationNames.ENMCore); - ENMCore.setRequirements(100000, 500000000); - ENMCore.setInfo("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.

" + - "This augmentation:
" + - "Increases the player's hacking speed by 3%
" + - "Increases the amount of money the player gains from hacking by 10%
" + - "Increases the player's chance of successfully performing a hack by 3%
" + - "Increases the player's hacking experience gain rate by 7%
" + - "Increases the player's hacking skill by 7%"); + var ENMCore = new Augmentation({ + name:AugmentationNames.ENMCore, repCost:100e3, moneyCost:500e6, + 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.

" + + "This augmentation:
" + + "Increases the player's hacking speed by 3%
" + + "Increases the amount of money the player gains from hacking by 10%
" + + "Increases the player's chance of successfully performing a hack by 3%
" + + "Increases the player's hacking experience gain rate by 7%
" + + "Increases the player's hacking skill by 7%", + prereqs:[AugmentationNames.ENM] + }); ENMCore.addToFactions(["BitRunners", "The Black Hand", "ECorp", "MegaCorp", "Fulcrum Secret Technologies", "NWO", "Blade Industries"]); if (augmentationExists(AugmentationNames.ENMCore)) { @@ -24432,18 +24512,20 @@ function initAugmentations() { } AddToAugmentations(ENMCore); - var ENMCoreV2 = new Augmentation(AugmentationNames.ENMCoreV2); - ENMCoreV2.setRequirements(400000, 900000000); - ENMCoreV2.setInfo("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 the information on " + - "a network by re-routing traffic, spoofing IP addresses, or altering the data inside network " + - "packets.

" + - "This augmentation:
" + - "Increases the player's hacking speed by 5%
" + - "Increases the amount of money the player gains from hacking by 30%
" + - "Increases the player's chance of successfully performing a hack by 5%
" + - "Increases the player's hacking experience gain rate by 15%
" + - "Increases the player's hacking skill by 8%"); + var ENMCoreV2 = new Augmentation({ + name:AugmentationNames.ENMCoreV2, repCost:400e3, moneyCost:900e6, + 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 the information on " + + "a network by re-routing traffic, spoofing IP addresses, or altering the data inside network " + + "packets.

" + + "This augmentation:
" + + "Increases the player's hacking speed by 5%
" + + "Increases the amount of money the player gains from hacking by 30%
" + + "Increases the player's chance of successfully performing a hack by 5%
" + + "Increases the player's hacking experience gain rate by 15%
" + + "Increases the player's hacking skill by 8%", + prereqs:[AugmentationNames.ENMCore] + }); ENMCoreV2.addToFactions(["BitRunners", "ECorp", "MegaCorp", "Fulcrum Secret Technologies", "NWO", "Blade Industries", "OmniTek Incorporated", "KuaiGong International"]); if (augmentationExists(AugmentationNames.ENMCoreV2)) { @@ -24451,17 +24533,19 @@ function initAugmentations() { } AddToAugmentations(ENMCoreV2); - var ENMCoreV3 = new Augmentation(AugmentationNames.ENMCoreV3); - ENMCoreV3.setRequirements(700000, 1500000000); - ENMCoreV3.setInfo("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.

" + - "This augmentation:
" + - "Increases the player's hacking speed by 5%
" + - "Increases the amount of money the player gains from hacking by 40%
" + - "Increases the player's chance of successfully performing a hack by 10%
" + - "Increases the player's hacking experience gain rate by 25%
" + - "Increases the player's hacking skill by 10%"); + var ENMCoreV3 = new Augmentation({ + name:AugmentationNames.ENMCoreV3, repCost:700e3, moneyCost:1500e6, + 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.

" + + "This augmentation:
" + + "Increases the player's hacking speed by 5%
" + + "Increases the amount of money the player gains from hacking by 40%
" + + "Increases the player's chance of successfully performing a hack by 10%
" + + "Increases the player's hacking experience gain rate by 25%
" + + "Increases the player's hacking skill by 10%", + prereqs:[AugmentationNames.ENMCoreV2], + }); ENMCoreV3.addToFactions(["ECorp", "MegaCorp", "Fulcrum Secret Technologies", "NWO", "Daedalus", "The Covenant", "Illuminati"]); if (augmentationExists(AugmentationNames.ENMCoreV3)) { @@ -24469,11 +24553,13 @@ function initAugmentations() { } AddToAugmentations(ENMCoreV3); - var ENMAnalyzeEngine = new Augmentation(AugmentationNames.ENMAnalyzeEngine); - ENMAnalyzeEngine.setRequirements(250000, 1200000000); - ENMAnalyzeEngine.setInfo("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.

" + - "This augmentation increases the player's hacking speed by 10%."); + var ENMAnalyzeEngine = new Augmentation({ + name:AugmentationNames.ENMAnalyzeEngine, repCost:250e3, moneyCost:1200e6, + 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.

" + + "This augmentation increases the player's hacking speed by 10%.", + prereqs:[AugmentationNames.ENM], + }); ENMAnalyzeEngine.addToFactions(["ECorp", "MegaCorp", "Fulcrum Secret Technologies", "NWO", "Daedalus", "The Covenant", "Illuminati"]); if (augmentationExists(AugmentationNames.ENMAnalyzeEngine)) { @@ -24481,14 +24567,16 @@ function initAugmentations() { } AddToAugmentations(ENMAnalyzeEngine); - var ENMDMA = new Augmentation(AugmentationNames.ENMDMA); - ENMDMA.setRequirements(400000, 1400000000); - ENMDMA.setInfo("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.

" + - "This augmentation:
" + - "Increases the amount of money the player gains from hacking by 40%
" + - "Increases the player's chance of successfully performing a hack by 20%"); + var ENMDMA = new Augmentation({ + name:AugmentationNames.ENMDMA, repCost:400e3, moneyCost:1400e6, + 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.

" + + "This augmentation:
" + + "Increases the amount of money the player gains from hacking by 40%
" + + "Increases the player's chance of successfully performing a hack by 20%", + prereqs:[AugmentationNames.ENM], + }); ENMDMA.addToFactions(["ECorp", "MegaCorp", "Fulcrum Secret Technologies", "NWO", "Daedalus", "The Covenant", "Illuminati"]); if (augmentationExists(AugmentationNames.ENMDMA)) { @@ -24496,14 +24584,15 @@ function initAugmentations() { } AddToAugmentations(ENMDMA); - var Neuralstimulator = new Augmentation(AugmentationNames.Neuralstimulator); - Neuralstimulator.setRequirements(20000, 600000000); - Neuralstimulator.setInfo("A cranial implant that intelligently stimulates certain areas of the brain " + - "in order to improve cognitive functions

" + - "This augmentation:
" + - "Increases the player's hacking speed by 2%
" + - "Increases the player's chance of successfully performing a hack by 10%
" + - "Increases the player's hacking experience gain rate by 12%"); + var Neuralstimulator = new Augmentation({ + name:AugmentationNames.Neuralstimulator, repCost:20e3, moneyCost:600e6, + info:"A cranial implant that intelligently stimulates certain areas of the brain " + + "in order to improve cognitive functions

" + + "This augmentation:
" + + "Increases the player's hacking speed by 2%
" + + "Increases the player's chance of successfully performing a hack by 10%
" + + "Increases the player's hacking experience gain rate by 12%" + }); Neuralstimulator.addToFactions(["The Black Hand", "Chongqing", "Sector-12", "New Tokyo", "Aevum", "Ishima", "Volhaven", "Bachman & Associates", "Clarke Incorporated", "Four Sigma"]); @@ -24512,108 +24601,115 @@ function initAugmentations() { } AddToAugmentations(Neuralstimulator); - var NeuralAccelerator = new Augmentation(AugmentationNames.NeuralAccelerator); - NeuralAccelerator.setRequirements(80000, 350000000); - NeuralAccelerator.setInfo("A microprocessor that accelerates the processing " + - "speed of biological neural networks. This is a cranial implant that is embedded inside the brain.

" + - "This augmentation:
" + - "Increases the player's hacking skill by 10%
" + - "Increases the player's hacking experience gain rate by 15%
" + - "Increases the amount of money the player gains from hacking by 20%"); + var NeuralAccelerator = new Augmentation({ + name:AugmentationNames.NeuralAccelerator, repCost:80e3, moneyCost:350e6, + info:"A microprocessor that accelerates the processing " + + "speed of biological neural networks. This is a cranial implant that is embedded inside the brain.

" + + "This augmentation:
" + + "Increases the player's hacking skill by 10%
" + + "Increases the player's hacking experience gain rate by 15%
" + + "Increases the amount of money the player gains from hacking by 20%" + }); NeuralAccelerator.addToFactions(["BitRunners"]); if (augmentationExists(AugmentationNames.NeuralAccelerator)) { delete Augmentations[AugmentationNames.NeuralAccelerator]; } AddToAugmentations(NeuralAccelerator); - var CranialSignalProcessorsG1 = new Augmentation(AugmentationNames.CranialSignalProcessorsG1); - CranialSignalProcessorsG1.setRequirements(4000, 14000000); - CranialSignalProcessorsG1.setInfo("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.

" + - "This augmentation:
" + - "Increases the player's hacking speed by 1%
" + - "Increases the player's hacking skill by 5%"); + var CranialSignalProcessorsG1 = new Augmentation({ + name:AugmentationNames.CranialSignalProcessorsG1, repCost:4e3, moneyCost:14e6, + 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.

" + + "This augmentation:
" + + "Increases the player's hacking speed by 1%
" + + "Increases the player's hacking skill by 5%" + }); CranialSignalProcessorsG1.addToFactions(["CyberSec"]); if (augmentationExists(AugmentationNames.CranialSignalProcessorsG1)) { delete Augmentations[AugmentationNames.CranialSignalProcessorsG1]; } AddToAugmentations(CranialSignalProcessorsG1); - var CranialSignalProcessorsG2 = new Augmentation(AugmentationNames.CranialSignalProcessorsG2); - CranialSignalProcessorsG2.setRequirements(7500, 25000000); - CranialSignalProcessorsG2.setInfo("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.

" + - "This augmentation:
" + - "Increases the player's hacking speed by 2%
" + - "Increases the player's chance of successfully performing a hack by 5%
" + - "Increases the player's hacking skill by 7%"); + var CranialSignalProcessorsG2 = new Augmentation({ + name:AugmentationNames.CranialSignalProcessorsG2, repCost:7500, moneyCost:25e6, + 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.

" + + "This augmentation:
" + + "Increases the player's hacking speed by 2%
" + + "Increases the player's chance of successfully performing a hack by 5%
" + + "Increases the player's hacking skill by 7%" + }); CranialSignalProcessorsG2.addToFactions(["NiteSec"]); if (augmentationExists(AugmentationNames.CranialSignalProcessorsG2)) { delete Augmentations[AugmentationNames.CranialSignalProcessorsG2]; } AddToAugmentations(CranialSignalProcessorsG2); - var CranialSignalProcessorsG3 = new Augmentation(AugmentationNames.CranialSignalProcessorsG3); - CranialSignalProcessorsG3.setRequirements(20000, 110000000); - CranialSignalProcessorsG3.setInfo("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.

" + - "This augmentation:
" + - "Increases the player's hacking speed by 2%
" + - "Increases the amount of money the player gains from hacking by 15%
" + - "Increases the player's hacking skill by 9%"); + var CranialSignalProcessorsG3 = new Augmentation({ + name:AugmentationNames.CranialSignalProcessorsG3, repCost:20e3, moneyCost:110e6, + 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.

" + + "This augmentation:
" + + "Increases the player's hacking speed by 2%
" + + "Increases the amount of money the player gains from hacking by 15%
" + + "Increases the player's hacking skill by 9%" + }); CranialSignalProcessorsG3.addToFactions(["NiteSec", "The Black Hand"]); if (augmentationExists(AugmentationNames.CranialSignalProcessorsG3)) { delete Augmentations[AugmentationNames.CranialSignalProcessorsG3]; } AddToAugmentations(CranialSignalProcessorsG3); - var CranialSignalProcessorsG4 = new Augmentation(AugmentationNames.CranialSignalProcessorsG4); - CranialSignalProcessorsG4.setRequirements(50000, 220000000); - CranialSignalProcessorsG4.setInfo("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.

" + - "This augmentation:
" + - "Increases the player's hacking speed by 2%
" + - "Increases the amount of money the player gains from hacking by 20%
" + - "Increases the amount of money the player can inject into servers using grow() by 25%"); + var CranialSignalProcessorsG4 = new Augmentation({ + name:AugmentationNames.CranialSignalProcessorsG4, repCost:50e3, moneyCost:220e6, + 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.

" + + "This augmentation:
" + + "Increases the player's hacking speed by 2%
" + + "Increases the amount of money the player gains from hacking by 20%
" + + "Increases the amount of money the player can inject into servers using grow() by 25%" + }); CranialSignalProcessorsG4.addToFactions(["The Black Hand"]); if (augmentationExists(AugmentationNames.CranialSignalProcessorsG4)) { delete Augmentations[AugmentationNames.CranialSignalProcessorsG4]; } AddToAugmentations(CranialSignalProcessorsG4); - var CranialSignalProcessorsG5 = new Augmentation(AugmentationNames.CranialSignalProcessorsG5); - CranialSignalProcessorsG5.setRequirements(100000, 450000000); - CranialSignalProcessorsG5.setInfo("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.

" + - "This augmentation:
" + - "Increases the player's hacking skill by 30%
" + - "Increases the amount of money the player gains from hacking by 25%
" + - "Increases the amount of money the player can inject into servers using grow() by 75%"); + var CranialSignalProcessorsG5 = new Augmentation({ + name:AugmentationNames.CranialSignalProcessorsG5, repCost:100e3, moneyCost:450e6, + 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.

" + + "This augmentation:
" + + "Increases the player's hacking skill by 30%
" + + "Increases the amount of money the player gains from hacking by 25%
" + + "Increases the amount of money the player can inject into servers using grow() by 75%" + }); CranialSignalProcessorsG5.addToFactions(["BitRunners"]); if (augmentationExists(AugmentationNames.CranialSignalProcessorsG5)) { delete Augmentations[AugmentationNames.CranialSignalProcessorsG5]; } AddToAugmentations(CranialSignalProcessorsG5); - var NeuronalDensification = new Augmentation(AugmentationNames.NeuronalDensification); - NeuronalDensification.setRequirements(75000, 275000000); - NeuronalDensification.setInfo("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.

" + - "This augmentation:
" + - "Increases the player's hacking skill by 15%
" + - "Increases the player's hacking experience gain rate by 10%
"+ - "Increases the player's hacking speed by 3%"); + var NeuronalDensification = new Augmentation({ + name:AugmentationNames.NeuronalDensification, repCost:75e3, moneyCost:275e6, + 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.

" + + "This augmentation:
" + + "Increases the player's hacking skill by 15%
" + + "Increases the player's hacking experience gain rate by 10%
"+ + "Increases the player's hacking speed by 3%" + }); NeuronalDensification.addToFactions(["Clarke Incorporated"]); if (augmentationExists(AugmentationNames.NeuronalDensification)) { delete Augmentations[AugmentationNames.NeuronalDensification]; @@ -24621,13 +24717,14 @@ function initAugmentations() { AddToAugmentations(NeuronalDensification); //Work Augmentations - var NuoptimalInjectorImplant = new Augmentation(AugmentationNames.NuoptimalInjectorImplant); - NuoptimalInjectorImplant.setRequirements(2000, 4000000); - NuoptimalInjectorImplant.setInfo("This torso implant automatically injects nootropic supplements into " + - "the bloodstream to improve memory, increase focus, and provide other " + - "cognitive enhancements.

" + - "This augmentation increases the amount of reputation the player gains " + - "when working for a company by 20%."); + var NuoptimalInjectorImplant = new Augmentation({ + name:AugmentationNames.NuoptimalInjectorImplant, repCost:2e3, moneyCost:4e6, + info:"This torso implant automatically injects nootropic supplements into " + + "the bloodstream to improve memory, increase focus, and provide other " + + "cognitive enhancements.

" + + "This augmentation increases the amount of reputation the player gains " + + "when working for a company by 20%." + }); NuoptimalInjectorImplant.addToFactions(["Tian Di Hui", "Volhaven", "New Tokyo", "Chongqing", "Ishima", "Clarke Incorporated", "Four Sigma", "Bachman & Associates"]); if (augmentationExists(AugmentationNames.NuoptimalInjectorImplant)) { @@ -24635,14 +24732,15 @@ function initAugmentations() { } AddToAugmentations(NuoptimalInjectorImplant); - var SpeechEnhancement = new Augmentation(AugmentationNames.SpeechEnhancement); - SpeechEnhancement.setRequirements(1000, 2500000); - SpeechEnhancement.setInfo("An advanced neural implant that improves your speaking abilities, making " + - "you more convincing and likable in conversations and overall improving your " + - "social interactions.

" + - "This augmentation:
" + - "Increases the player's charisma by 10%
" + - "Increases the amount of reputation the player gains when working for a company by 10%"); + var SpeechEnhancement = new Augmentation({ + name:AugmentationNames.SpeechEnhancement, repCost:1e3, moneyCost:2.5e6, + info:"An advanced neural implant that improves your speaking abilities, making " + + "you more convincing and likable in conversations and overall improving your " + + "social interactions.

" + + "This augmentation:
" + + "Increases the player's charisma by 10%
" + + "Increases the amount of reputation the player gains when working for a company by 10%" + }); SpeechEnhancement.addToFactions(["Tian Di Hui", "Speakers for the Dead", "Four Sigma", "KuaiGong International", "Clarke Incorporated", "Four Sigma", "Bachman & Associates"]); if (augmentationExists(AugmentationNames.SpeechEnhancement)) { @@ -24650,85 +24748,93 @@ function initAugmentations() { } AddToAugmentations(SpeechEnhancement); - var FocusWire = new Augmentation(AugmentationNames.FocusWire); //Stops procrastination - FocusWire.setRequirements(30000, 180000000); - FocusWire.setInfo("A cranial implant that stops procrastination by blocking specific neural pathways " + - "in the brain.

" + - "This augmentation:
" + - "Increases all experience gains by 5%
" + - "Increases the amount of money the player gains from working by 20%
" + - "Increases the amount of reputation the player gains when working for a company by 10%"); + var FocusWire = new Augmentation({ + name:AugmentationNames.FocusWire, repCost:30e3, moneyCost:180e6, + info:"A cranial implant that stops procrastination by blocking specific neural pathways " + + "in the brain.

" + + "This augmentation:
" + + "Increases all experience gains by 5%
" + + "Increases the amount of money the player gains from working by 20%
" + + "Increases the amount of reputation the player gains when working for a company by 10%" + }); FocusWire.addToFactions(["Bachman & Associates", "Clarke Incorporated", "Four Sigma", "KuaiGong International"]); if (augmentationExists(AugmentationNames.FocusWire)) { delete Augmentations[AugmentationNames.FocusWire]; } AddToAugmentations(FocusWire) - var PCDNI = new Augmentation(AugmentationNames.PCDNI); - PCDNI.setRequirements(150000, 750000000); - PCDNI.setInfo("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.

" + - "This augmentation:
" + - "Increases the amount of reputation the player gains when working for a company by 30%
" + - "Increases the player's hacking skill by 8%"); + var PCDNI = new Augmentation({ + name:AugmentationNames.PCDNI, repCost:150e3, moneyCost:750e6, + 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.

" + + "This augmentation:
" + + "Increases the amount of reputation the player gains when working for a company by 30%
" + + "Increases the player's hacking skill by 8%" + }); PCDNI.addToFactions(["Four Sigma", "OmniTek Incorporated", "ECorp", "Blade Industries"]); if (augmentationExists(AugmentationNames.PCDNI)) { delete Augmentations[AugmentationNames.PCDNI]; } AddToAugmentations(PCDNI); - var PCDNIOptimizer = new Augmentation(AugmentationNames.PCDNIOptimizer); - PCDNIOptimizer.setRequirements(200000, 900000000); - PCDNIOptimizer.setInfo("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 the connected computer.

" + - "This augmentation:
" + - "Increases the amount of reputation the player gains when working for a company by 75%
" + - "Increases the player's hacking skill by 10%"); + var PCDNIOptimizer = new Augmentation({ + name:AugmentationNames.PCDNIOptimizer, repCost:200e3, moneyCost:900e6, + 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 the connected computer.

" + + "This augmentation:
" + + "Increases the amount of reputation the player gains when working for a company by 75%
" + + "Increases the player's hacking skill by 10%", + prereqs:[AugmentationNames.PCDNI], + }); PCDNIOptimizer.addToFactions(["Fulcrum Secret Technologies", "ECorp", "Blade Industries"]); if (augmentationExists(AugmentationNames.PCDNIOptimizer)) { delete Augmentations[AugmentationNames.PCDNIOptimizer]; } AddToAugmentations(PCDNIOptimizer); - var PCDNINeuralNetwork = new Augmentation(AugmentationNames.PCDNINeuralNetwork); - PCDNINeuralNetwork.setRequirements(600000, 1500000000); - PCDNINeuralNetwork.setInfo("This is an additional installation that upgrades the functionality of the " + - "PC Direct-Neural Interface augmentation. When connected to a computer, " + - "The NeuroNet Injector upgrade allows the user to use his/her own brain's " + - "processing power to aid the computer in computational tasks.

" + - "This augmentation:
" + - "Increases the amount of reputation the player gains when working for a company by 100%
" + - "Increases the player's hacking skill by 10%
" + - "Increases the player's hacking speed by 5%"); + var PCDNINeuralNetwork = new Augmentation({ + name:AugmentationNames.PCDNINeuralNetwork, repCost:600e3, moneyCost:1500e6, + info:"This is an additional installation that upgrades the functionality of the " + + "PC Direct-Neural Interface augmentation. When connected to a computer, " + + "The NeuroNet Injector upgrade allows the user to use his/her own brain's " + + "processing power to aid the computer in computational tasks.

" + + "This augmentation:
" + + "Increases the amount of reputation the player gains when working for a company by 100%
" + + "Increases the player's hacking skill by 10%
" + + "Increases the player's hacking speed by 5%", + prereqs:[AugmentationNames.PCDNI], + }); PCDNINeuralNetwork.addToFactions(["Fulcrum Secret Technologies"]); if (augmentationExists(AugmentationNames.PCDNINeuralNetwork)) { delete Augmentations[AugmentationNames.PCDNINeuralNetwork]; } AddToAugmentations(PCDNINeuralNetwork); - var ADRPheromone1 = new Augmentation(AugmentationNames.ADRPheromone1); - ADRPheromone1.setRequirements(1500, 3500000); - ADRPheromone1.setInfo("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.

" + - "This augmentation:
" + - "Increases the amount of reputation the player gains when working for a company by 10%
" + - "Increases the amount of reputation the player gains for a faction by 10%"); + var ADRPheromone1 = new Augmentation({ + name:AugmentationNames.ADRPheromone1, repCost:1500, moneyCost:3.5e6, + 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.

" + + "This augmentation:
" + + "Increases the amount of reputation the player gains when working for a company by 10%
" + + "Increases the amount of reputation the player gains for a faction by 10%" + }); ADRPheromone1.addToFactions(["Tian Di Hui", "The Syndicate", "NWO", "MegaCorp", "Four Sigma"]); if (augmentationExists(AugmentationNames.ADRPheromone1)) { delete Augmentations[AugmentationNames.ADRPheromone1]; } AddToAugmentations(ADRPheromone1); - var ADRPheromone2 = new Augmentation(AugmentationNames.ADRPheromone2); - ADRPheromone2.setRequirements(25000, 90000000000); - ADRPheromone2.setInfo("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.

" + - "This augmentation:
" + - "Increases the amount of reputation the player gains for a faction and company by 20%."); + var ADRPheromone2 = new Augmentation({ + name:AugmentationNames.ADRPheromone2, repCost:25e3, moneyCost:110e6, + 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.

" + + "This augmentation:
" + + "Increases the amount of reputation the player gains for a faction and company by 20%." + }); ADRPheromone2.addToFactions(["Silhouette", "Four Sigma", "Bachman & Associates", "Clarke Incorporated"]); if (augmentationExists(AugmentationNames.ADRPheromone2)) { delete Augmentations[AugmentationNames.ADRPheromone2]; @@ -24736,66 +24842,71 @@ function initAugmentations() { AddToAugmentations(ADRPheromone2); //HacknetNode Augmentations - var HacknetNodeCPUUpload = new Augmentation(AugmentationNames.HacknetNodeCPUUpload); - HacknetNodeCPUUpload.setRequirements(1500, 2200000); - HacknetNodeCPUUpload.setInfo("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.

" + - "This augmentation:
" + - "Increases the amount of money produced by Hacknet Nodes by 15%
" + - "Decreases the cost of purchasing a Hacknet Node by 15%"); + var HacknetNodeCPUUpload = new Augmentation({ + name:AugmentationNames.HacknetNodeCPUUpload, repCost:1500, moneyCost:2.2e6, + 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.

" + + "This augmentation:
" + + "Increases the amount of money produced by Hacknet Nodes by 15%
" + + "Decreases the cost of purchasing a Hacknet Node by 15%" + }); HacknetNodeCPUUpload.addToFactions(["Netburners"]); if (augmentationExists(AugmentationNames.HacknetNodeCPUUpload)) { delete Augmentations[AugmentationNames.HacknetNodeCPUUpload]; } AddToAugmentations(HacknetNodeCPUUpload); - var HacknetNodeCacheUpload = new Augmentation(AugmentationNames.HacknetNodeCacheUpload); - HacknetNodeCacheUpload.setRequirements(1000, 1100000); - HacknetNodeCacheUpload.setInfo("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.

" + - "This augmentation:
" + - "Increases the amount of money produced by Hacknet Nodes by 10%
" + - "Decreases the cost of leveling up a Hacknet Node by 15%"); + var HacknetNodeCacheUpload = new Augmentation({ + name:AugmentationNames.HacknetNodeCacheUpload, repCost:1e3, moneyCost:1.1e6, + 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.

" + + "This augmentation:
" + + "Increases the amount of money produced by Hacknet Nodes by 10%
" + + "Decreases the cost of leveling up a Hacknet Node by 15%" + }); HacknetNodeCacheUpload.addToFactions(["Netburners"]); if (augmentationExists(AugmentationNames.HacknetNodeCacheUpload)) { delete Augmentations[AugmentationNames.HacknetNodeCacheUpload]; } AddToAugmentations(HacknetNodeCacheUpload); - var HacknetNodeNICUpload = new Augmentation(AugmentationNames.HacknetNodeNICUpload); - HacknetNodeNICUpload.setRequirements(750, 900000); - HacknetNodeNICUpload.setInfo("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.

" + - "This augmentation:
" + - "Increases the amount of money produced by Hacknet Nodes by 10%
" + - "Decreases the cost of purchasing a Hacknet Node by 10%"); + var HacknetNodeNICUpload = new Augmentation({ + name:AugmentationNames.HacknetNodeNICUpload, repCost:750, moneyCost:900e3, + 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.

" + + "This augmentation:
" + + "Increases the amount of money produced by Hacknet Nodes by 10%
" + + "Decreases the cost of purchasing a Hacknet Node by 10%" + }); HacknetNodeNICUpload.addToFactions(["Netburners"]); if (augmentationExists(AugmentationNames.HacknetNodeNICUpload)) { delete Augmentations[AugmentationNames.HacknetNodeNICUpload]; } AddToAugmentations(HacknetNodeNICUpload); - var HacknetNodeKernelDNI = new Augmentation(AugmentationNames.HacknetNodeKernelDNI); - HacknetNodeKernelDNI.setRequirements(3000, 8000000); - HacknetNodeKernelDNI.setInfo("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 the mind's " + - "electrochemical signals.

" + - "This augmentation increases the amount of money produced by Hacknet Nodes by 25%."); + var HacknetNodeKernelDNI = new Augmentation({ + name:AugmentationNames.HacknetNodeKernelDNI, repCost:3e3, moneyCost:8e6, + 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 the mind's " + + "electrochemical signals.

" + + "This augmentation increases the amount of money produced by Hacknet Nodes by 25%." + }); HacknetNodeKernelDNI.addToFactions(["Netburners"]); if (augmentationExists(AugmentationNames.HacknetNodeKernelDNI)) { delete Augmentations[AugmentationNames.HacknetNodeKernelDNI]; } AddToAugmentations(HacknetNodeKernelDNI); - var HacknetNodeCoreDNI = new Augmentation(AugmentationNames.HacknetNodeCoreDNI); - HacknetNodeCoreDNI.setRequirements(5000, 12000000); - HacknetNodeCoreDNI.setInfo("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 " + - "the mind's electrochemical signals.

" + - "This augmentation increases the amount of money produced by Hacknet Nodes by 45%."); + var HacknetNodeCoreDNI = new Augmentation({ + name:AugmentationNames.HacknetNodeCoreDNI, repCost:5e3, moneyCost:12e6, + 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 " + + "the mind's electrochemical signals.

" + + "This augmentation increases the amount of money produced by Hacknet Nodes by 45%." + }); HacknetNodeCoreDNI.addToFactions(["Netburners"]); if (augmentationExists(AugmentationNames.HacknetNodeCoreDNI)) { delete Augmentations[AugmentationNames.HacknetNodeCoreDNI]; @@ -24803,132 +24914,138 @@ function initAugmentations() { AddToAugmentations(HacknetNodeCoreDNI); //Misc/Hybrid augmentations - var NeuroFluxGovernor = new Augmentation(AugmentationNames.NeuroFluxGovernor); + var NeuroFluxGovernor = new Augmentation({ + name:AugmentationNames.NeuroFluxGovernor, repCost:500, moneyCost: 750e3, + 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.

" + + "This is a special augmentation because it can be leveled up infinitely. Each level of this augmentation " + + "increases ALL of the player's multipliers by 1%" + }); + var nextLevel = Object(__WEBPACK_IMPORTED_MODULE_2__Faction_js__["e" /* getNextNeurofluxLevel */])(); + NeuroFluxGovernor.level = nextLevel - 1; + mult = Math.pow(__WEBPACK_IMPORTED_MODULE_1__Constants_js__["a" /* CONSTANTS */].NeuroFluxGovernorLevelMult, NeuroFluxGovernor.level); + NeuroFluxGovernor.baseRepRequirement = 500 * mult * __WEBPACK_IMPORTED_MODULE_1__Constants_js__["a" /* CONSTANTS */].AugmentationRepMultiplier * __WEBPACK_IMPORTED_MODULE_0__BitNode_js__["a" /* BitNodeMultipliers */].AugmentationRepCost; + NeuroFluxGovernor.baseCost = 750e3 * mult * __WEBPACK_IMPORTED_MODULE_1__Constants_js__["a" /* CONSTANTS */].AugmentationCostMultiplier * __WEBPACK_IMPORTED_MODULE_0__BitNode_js__["a" /* BitNodeMultipliers */].AugmentationMoneyCost; if (augmentationExists(AugmentationNames.NeuroFluxGovernor)) { - var nextLevel = Object(__WEBPACK_IMPORTED_MODULE_2__Faction_js__["e" /* getNextNeurofluxLevel */])(); - NeuroFluxGovernor.level = nextLevel - 1; - mult = Math.pow(__WEBPACK_IMPORTED_MODULE_1__Constants_js__["a" /* CONSTANTS */].NeuroFluxGovernorLevelMult, NeuroFluxGovernor.level); - NeuroFluxGovernor.setRequirements(500 * mult, 750000 * mult); delete Augmentations[AugmentationNames.NeuroFluxGovernor]; - } else { - var nextLevel = Object(__WEBPACK_IMPORTED_MODULE_2__Faction_js__["e" /* getNextNeurofluxLevel */])(); - NeuroFluxGovernor.level = nextLevel - 1; - mult = Math.pow(__WEBPACK_IMPORTED_MODULE_1__Constants_js__["a" /* CONSTANTS */].NeuroFluxGovernorLevelMult, NeuroFluxGovernor.level); - NeuroFluxGovernor.setRequirements(500 * mult, 750000 * mult); } - NeuroFluxGovernor.setInfo("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.

" + - "This is a special augmentation because it can be leveled up infinitely. Each level of this augmentation " + - "increases ALL of the player's multipliers by 1%"); NeuroFluxGovernor.addToAllFactions(); AddToAugmentations(NeuroFluxGovernor); - var Neurotrainer1 = new Augmentation(AugmentationNames.Neurotrainer1); - Neurotrainer1.setRequirements(400, 800000); - Neurotrainer1.setInfo("A decentralized cranial implant that improves the brain's ability to learn. It is " + - "installed by releasing millions of nanobots into the human brain, each of which " + - "attaches to a different neural pathway to enhance the brain's ability to retain " + - "and retrieve information.

" + - "This augmentation increases the player's experience gain rate for all stats by 10%"); + var Neurotrainer1 = new Augmentation({ + name:AugmentationNames.Neurotrainer1, repCost:400, moneyCost:800e3, + info:"A decentralized cranial implant that improves the brain's ability to learn. It is " + + "installed by releasing millions of nanobots into the human brain, each of which " + + "attaches to a different neural pathway to enhance the brain's ability to retain " + + "and retrieve information.

" + + "This augmentation increases the player's experience gain rate for all stats by 10%" + }); Neurotrainer1.addToFactions(["CyberSec"]); if (augmentationExists(AugmentationNames.Neurotrainer1)) { delete Augmentations[AugmentationNames.Neurotrainer1]; } AddToAugmentations(Neurotrainer1); - var Neurotrainer2 = new Augmentation(AugmentationNames.Neurotrainer2); - Neurotrainer2.setRequirements(4000, 9000000); - Neurotrainer2.setInfo("A decentralized cranial implant that improves the brain's ability to learn. This " + - "is a more powerful version of the Neurotrainer I augmentation, but it does not " + - "require Neurotrainer I to be installed as a prerequisite.

" + - "This augmentation increases the player's experience gain rate for all stats by 15%"); + var Neurotrainer2 = new Augmentation({ + name:AugmentationNames.Neurotrainer2, repCost:4e3, moneyCost:9e6, + info:"A decentralized cranial implant that improves the brain's ability to learn. This " + + "is a more powerful version of the Neurotrainer I augmentation, but it does not " + + "require Neurotrainer I to be installed as a prerequisite.

" + + "This augmentation increases the player's experience gain rate for all stats by 15%" + }); Neurotrainer2.addToFactions(["BitRunners", "NiteSec"]); if (augmentationExists(AugmentationNames.Neurotrainer2)) { delete Augmentations[AugmentationNames.Neurotrainer2]; } AddToAugmentations(Neurotrainer2); - var Neurotrainer3 = new Augmentation(AugmentationNames.Neurotrainer3); - Neurotrainer3.setRequirements(10000, 26000000); - Neurotrainer3.setInfo("A decentralized cranial implant that improves the brain's ability to learn. This " + - "is a more powerful version of the Neurotrainer I and Neurotrainer II augmentation, " + - "but it does not require either of them to be installed as a prerequisite.

" + - "This augmentation increases the player's experience gain rate for all stats by 20%"); + var Neurotrainer3 = new Augmentation({ + name:AugmentationNames.Neurotrainer3, repCost:10e3, moneyCost:26e6, + info:"A decentralized cranial implant that improves the brain's ability to learn. This " + + "is a more powerful version of the Neurotrainer I and Neurotrainer II augmentation, " + + "but it does not require either of them to be installed as a prerequisite.

" + + "This augmentation increases the player's experience gain rate for all stats by 20%" + }); Neurotrainer3.addToFactions(["NWO", "Four Sigma"]); if (augmentationExists(AugmentationNames.Neurotrainer3)) { delete Augmentations[AugmentationNames.Neurotrainer3]; } AddToAugmentations(Neurotrainer3); - var Hypersight = new Augmentation(AugmentationNames.Hypersight); - Hypersight.setInfo("A bionic eye implant that grants sight capabilities far beyond those of a natural human. " + - "Embedded circuitry within the implant provides the ability to detect heat and movement " + - "through solid objects such as wells, thus providing 'x-ray vision'-like capabilities.

" + - "This augmentation:
" + - "Increases the player's dexterity by 40%
" + - "Increases the player's hacking speed by 3%
" + - "Increases the amount of money the player gains from hacking by 10%"); - Hypersight.setRequirements(60000, 550000000); + var Hypersight = new Augmentation({ + name:AugmentationNames.Hypersight, repCost:60e3, moneyCost:550e6, + info:"A bionic eye implant that grants sight capabilities far beyond those of a natural human. " + + "Embedded circuitry within the implant provides the ability to detect heat and movement " + + "through solid objects such as wells, thus providing 'x-ray vision'-like capabilities.

" + + "This augmentation:
" + + "Increases the player's dexterity by 40%
" + + "Increases the player's hacking speed by 3%
" + + "Increases the amount of money the player gains from hacking by 10%" + }); Hypersight.addToFactions(["Blade Industries", "KuaiGong International"]); if (augmentationExists(AugmentationNames.Hypersight)) { delete Augmentations[AugmentationNames.Hypersight]; } AddToAugmentations(Hypersight); - var LuminCloaking1 = new Augmentation(AugmentationNames.LuminCloaking1); - LuminCloaking1.setInfo("A skin implant that reinforces the skin with highly-advanced synthetic cells. These " + - "cells, when powered, have a negative refractive index. As a result, they bend light " + - "around the skin, making the user much harder to see from the naked eye.

" + - "This augmentation:
" + - "Increases the player's agility by 5%
" + - "Increases the amount of money the player gains from crimes by 10%"); - LuminCloaking1.setRequirements(600, 1000000); + var LuminCloaking1 = new Augmentation({ + name:AugmentationNames.LuminCloaking1, repCost:600, moneyCost:1e6, + info:"A skin implant that reinforces the skin with highly-advanced synthetic cells. These " + + "cells, when powered, have a negative refractive index. As a result, they bend light " + + "around the skin, making the user much harder to see from the naked eye.

" + + "This augmentation:
" + + "Increases the player's agility by 5%
" + + "Increases the amount of money the player gains from crimes by 10%" + }); LuminCloaking1.addToFactions(["Slum Snakes", "Tetrads"]); if (augmentationExists(AugmentationNames.LuminCloaking1)) { delete Augmentations[AugmentationNames.LuminCloaking1]; } AddToAugmentations(LuminCloaking1); - var LuminCloaking2 = new Augmentation(AugmentationNames.LuminCloaking2); - LuminCloaking2.setInfo("This is a more advanced version of the LuminCloaking-V2 augmentation. This skin implant " + - "reinforces the skin with highly-advanced synthetic cells. These " + - "cells, when powered, are capable of not only bending light but also of bending heat, " + - "making the user more resilient as well as stealthy.

" + - "This augmentation:
" + - "Increases the player's agility by 10%
" + - "Increases the player's defense by 10%
" + - "Increases the amount of money the player gains from crimes by 25%"); - LuminCloaking2.setRequirements(2000, 6000000); + var LuminCloaking2 = new Augmentation({ + name:AugmentationNames.LuminCloaking2, repCost:2e3, moneyCost:6e6, + info:"This is a more advanced version of the LuminCloaking-V2 augmentation. This skin implant " + + "reinforces the skin with highly-advanced synthetic cells. These " + + "cells, when powered, are capable of not only bending light but also of bending heat, " + + "making the user more resilient as well as stealthy.

" + + "This augmentation:
" + + "Increases the player's agility by 10%
" + + "Increases the player's defense by 10%
" + + "Increases the amount of money the player gains from crimes by 25%" + }); LuminCloaking2.addToFactions(["Slum Snakes", "Tetrads"]); if (augmentationExists(AugmentationNames.LuminCloaking2)) { delete Augmentations[AugmentationNames.LuminCloaking2]; } AddToAugmentations(LuminCloaking2); - var SmartSonar = new Augmentation(AugmentationNames.SmartSonar); - SmartSonar.setInfo("A cochlear implant that helps the player detect and locate enemies " + - "using sound propagation.

" + - "This augmentation:
" + - "Increases the player's dexterity by 10%
" + - "Increases the player's dexterity experience gain rate by 15%
" + - "Increases the amount of money the player gains from crimes by 25%"); - SmartSonar.setRequirements(9000, 15000000); + var SmartSonar = new Augmentation({ + name:AugmentationNames.SmartSonar, repCost:9e3, moneyCost:15e6, + info:"A cochlear implant that helps the player detect and locate enemies " + + "using sound propagation.

" + + "This augmentation:
" + + "Increases the player's dexterity by 10%
" + + "Increases the player's dexterity experience gain rate by 15%
" + + "Increases the amount of money the player gains from crimes by 25%" + }); SmartSonar.addToFactions(["Slum Snakes"]); if (augmentationExists(AugmentationNames.SmartSonar)) { delete Augmentations[AugmentationNames.SmartSonar]; } AddToAugmentations(SmartSonar); - var PowerRecirculator = new Augmentation(AugmentationNames.PowerRecirculator); - PowerRecirculator.setInfo("The body's nerves are attached with polypyrrole nanocircuits that " + - "are capable of capturing wasted energy (in the form of heat) " + - "and converting it back into usable power.

" + - "This augmentation:
" + - "Increases all of the player's stats by 5%
" + - "Increases the player's experience gain rate for all stats by 10%"); - PowerRecirculator.setRequirements(10000, 36000000); + var PowerRecirculator = new Augmentation({ + name:AugmentationNames.PowerRecirculator, repCost:10e3, moneyCost:36e6, + info:"The body's nerves are attached with polypyrrole nanocircuits that " + + "are capable of capturing wasted energy (in the form of heat) " + + "and converting it back into usable power.

" + + "This augmentation:
" + + "Increases all of the player's stats by 5%
" + + "Increases the player's experience gain rate for all stats by 10%" + }); PowerRecirculator.addToFactions(["Tetrads", "The Dark Army", "The Syndicate", "NWO"]); if (augmentationExists(AugmentationNames.PowerRecirculator)) { delete Augmentations[AugmentationNames.PowerRecirculator]; @@ -24941,15 +25058,16 @@ function initAugmentations() { // Silhouette //Illuminati - var QLink = new Augmentation(AugmentationNames.QLink); - QLink.setInfo("A brain implant that wirelessly connects you to the Illuminati's " + - "quantum supercomputer, allowing you to access and use its incredible " + - "computing power.

" + - "This augmentation:
" + - "Increases the player's hacking speed by 10%
" + - "Increases the player's chance of successfully performing a hack by 30%
" + - "Increases the amount of money the player gains from hacking by 100%"); - QLink.setRequirements(750000, 1300000000); + var QLink = new Augmentation({ + name:AugmentationNames.QLink, repCost:750e3, moneyCost:1300e6, + info:"A brain implant that wirelessly connects you to the Illuminati's " + + "quantum supercomputer, allowing you to access and use its incredible " + + "computing power.

" + + "This augmentation:
" + + "Increases the player's hacking speed by 10%
" + + "Increases the player's chance of successfully performing a hack by 30%
" + + "Increases the amount of money the player gains from hacking by 100%" + }); QLink.addToFactions(["Illuminati"]); if (augmentationExists(AugmentationNames.QLink)) { delete Augmentations[AugmentationNames.QLink]; @@ -24957,9 +25075,10 @@ function initAugmentations() { AddToAugmentations(QLink); //Daedalus - var RedPill = new Augmentation(AugmentationNames.TheRedPill); - RedPill.setInfo("It's time to leave the cave"); - RedPill.setRequirements(1000000, 0); + var RedPill = new Augmentation({ + name:AugmentationNames.TheRedPill, repCost:1e6, moneyCost:0, + info:"It's time to leave the cave" + }); RedPill.addToFactions(["Daedalus"]); if (augmentationExists(AugmentationNames.TheRedPill)) { delete Augmentations[AugmentationNames.TheRedPill]; @@ -24967,15 +25086,16 @@ function initAugmentations() { AddToAugmentations(RedPill); //Covenant - var SPTN97 = new Augmentation(AugmentationNames.SPTN97); - SPTN97.setInfo("The SPTN-97 gene is injected into the genome. The SPTN-97 gene is an " + - "artificially-synthesized gene that was developed by DARPA to create " + - "super-soldiers through genetic modification. The gene was outlawed in " + - "2056.

" + - "This augmentation:
" + - "Increases all of the player's combat stats by 75%
" + - "Increases the player's hacking skill by 15%"); - SPTN97.setRequirements(500000, 975000000); + var SPTN97 = new Augmentation({ + name:AugmentationNames.SPTN97, repCost:500e3, moneyCost:975e6, + info:"The SPTN-97 gene is injected into the genome. The SPTN-97 gene is an " + + "artificially-synthesized gene that was developed by DARPA to create " + + "super-soldiers through genetic modification. The gene was outlawed in " + + "2056.

" + + "This augmentation:
" + + "Increases all of the player's combat stats by 75%
" + + "Increases the player's hacking skill by 15%" + }); SPTN97.addToFactions(["The Covenant"]); if (augmentationExists(AugmentationNames.SPTN97)) { delete Augmentations[AugmentationNames.SPTN97]; @@ -24983,11 +25103,12 @@ function initAugmentations() { AddToAugmentations(SPTN97); //ECorp - var HiveMind = new Augmentation(AugmentationNames.HiveMind); - HiveMind.setInfo("A brain implant developed by ECorp. They do not reveal what " + - "exactly the implant does, but they promise that it will greatly " + - "enhance your abilities."); - HiveMind.setRequirements(600000, 1100000000); + var HiveMind = new Augmentation({ + name:AugmentationNames.HiveMind, repCost:600e3, moneyCost:1100e6, + info:"A brain implant developed by ECorp. They do not reveal what " + + "exactly the implant does, but they promise that it will greatly " + + "enhance your abilities." + }); HiveMind.addToFactions(["ECorp"]); if (augmentationExists(AugmentationNames.HiveMind)) { delete Augmentations[AugmentationNames.HiveMind]; @@ -24995,15 +25116,16 @@ function initAugmentations() { AddToAugmentations(HiveMind); //MegaCorp - var CordiARCReactor = new Augmentation(AugmentationNames.CordiARCReactor); - CordiARCReactor.setInfo("The thoracic cavity is equipped with a small chamber designed " + - "to hold and sustain hydrogen plasma. The plasma is used to generate " + - "fusion power through nuclear fusion, providing limitless amount of clean " + - "energy for the body.

" + - "This augmentation:
" + - "Increases all of the player's combat stats by 35%
" + - "Increases all of the player's combat stat experience gain rate by 35%"); - CordiARCReactor.setRequirements(450000, 1000000000); + var CordiARCReactor = new Augmentation({ + name:AugmentationNames.CordiARCReactor, repCost:450e3, moneyCost:1000e6, + info:"The thoracic cavity is equipped with a small chamber designed " + + "to hold and sustain hydrogen plasma. The plasma is used to generate " + + "fusion power through nuclear fusion, providing limitless amount of clean " + + "energy for the body.

" + + "This augmentation:
" + + "Increases all of the player's combat stats by 35%
" + + "Increases all of the player's combat stat experience gain rate by 35%" + }); CordiARCReactor.addToFactions(["MegaCorp"]); if (augmentationExists(AugmentationNames.CordiARCReactor)) { delete Augmentations[AugmentationNames.CordiARCReactor]; @@ -25011,16 +25133,17 @@ function initAugmentations() { AddToAugmentations(CordiARCReactor); //BachmanAndAssociates - var SmartJaw = new Augmentation(AugmentationNames.SmartJaw); - SmartJaw.setInfo("A bionic jaw that contains advanced hardware and software " + - "capable of psychoanalyzing and profiling the personality of " + - "others using optical imaging software.

" + - "This augmentation:
" + - "Increases the player's charisma by 50%.
" + - "Increases the player's charisma experience gain rate by 50%
" + - "Increases the amount of reputation the player gains for a company by 25%
" + - "Increases the amount of reputation the player gains for a faction by 25%"); - SmartJaw.setRequirements(150000, 550000000); + var SmartJaw = new Augmentation({ + name:AugmentationNames.SmartJaw, repCost:150e3, moneyCost:550e6, + info:"A bionic jaw that contains advanced hardware and software " + + "capable of psychoanalyzing and profiling the personality of " + + "others using optical imaging software.

" + + "This augmentation:
" + + "Increases the player's charisma by 50%.
" + + "Increases the player's charisma experience gain rate by 50%
" + + "Increases the amount of reputation the player gains for a company by 25%
" + + "Increases the amount of reputation the player gains for a faction by 25%" + }); SmartJaw.addToFactions(["Bachman & Associates"]); if (augmentationExists(AugmentationNames.SmartJaw)) { delete Augmentations[AugmentationNames.SmartJaw]; @@ -25028,13 +25151,14 @@ function initAugmentations() { AddToAugmentations(SmartJaw); //BladeIndustries - var Neotra = new Augmentation(AugmentationNames.Neotra); - Neotra.setInfo("A highly-advanced techno-organic drug that is injected into the skeletal " + - "and integumentary system. The drug permanently modifies the DNA of the " + - "body's skin and bone cells, granting them the ability to repair " + - "and restructure themselves.

" + - "This augmentation increases the player's strength and defense by 55%"); - Neotra.setRequirements(225000, 575000000); + var Neotra = new Augmentation({ + name:AugmentationNames.Neotra, repCost:225e3, moneyCost:575e6, + info:"A highly-advanced techno-organic drug that is injected into the skeletal " + + "and integumentary system. The drug permanently modifies the DNA of the " + + "body's skin and bone cells, granting them the ability to repair " + + "and restructure themselves.

" + + "This augmentation increases the player's strength and defense by 55%" + }); Neotra.addToFactions(["Blade Industries"]); if (augmentationExists(AugmentationNames.Neotra)) { delete Augmentations[AugmentationNames.Neotra]; @@ -25042,14 +25166,15 @@ function initAugmentations() { AddToAugmentations(Neotra); //NWO - var Xanipher = new Augmentation(AugmentationNames.Xanipher); - Xanipher.setInfo("A concoction of advanced nanobots that is orally ingested into the " + - "body. These nanobots induce physiological change and significantly " + - "improve the body's functionining in all aspects.

" + - "This augmentation:
" + - "Increases all of the player's stats by 20%
" + - "Increases the player's experience gain rate for all stats by 15%"); - Xanipher.setRequirements(350000, 850000000); + var Xanipher = new Augmentation({ + name:AugmentationNames.Xanipher, repCost:350e3, moneyCost:850e6, + info:"A concoction of advanced nanobots that is orally ingested into the " + + "body. These nanobots induce physiological change and significantly " + + "improve the body's functionining in all aspects.

" + + "This augmentation:
" + + "Increases all of the player's stats by 20%
" + + "Increases the player's experience gain rate for all stats by 15%" + }); Xanipher.addToFactions(["NWO"]); if (augmentationExists(AugmentationNames.Xanipher)) { delete Augmentations[AugmentationNames.Xanipher]; @@ -25057,12 +25182,13 @@ function initAugmentations() { AddToAugmentations(Xanipher); //ClarkeIncorporated - var nextSENS = new Augmentation(AugmentationNames.nextSENS); - nextSENS.setInfo("The body is genetically re-engineered to maintain a state " + - "of negligible senescence, preventing the body from " + - "deteriorating with age.

" + - "This augmentation increases all of the player's stats by 20%"); - nextSENS.setRequirements(175000, 385000000); + var nextSENS = new Augmentation({ + name:AugmentationNames.nextSENS, repCost:175e3, moneyCost:385e6, + info:"The body is genetically re-engineered to maintain a state " + + "of negligible senescence, preventing the body from " + + "deteriorating with age.

" + + "This augmentation increases all of the player's stats by 20%" + }); nextSENS.addToFactions(["Clarke Incorporated"]); if (augmentationExists(AugmentationNames.nextSENS)) { delete Augmentations[AugmentationNames.nextSENS]; @@ -25070,14 +25196,15 @@ function initAugmentations() { AddToAugmentations(nextSENS); //OmniTekIncorporated - var OmniTekInfoLoad = new Augmentation(AugmentationNames.OmniTekInfoLoad); - OmniTekInfoLoad.setInfo("OmniTek's data and information repository is uploaded " + - "into your brain, enhancing your programming and " + - "hacking abilities.

" + - "This augmentation:
" + - "Increases the player's hacking skill by 20%
" + - "Increases the player's hacking experience gain rate by 25%"); - OmniTekInfoLoad.setRequirements(250000, 575000000) + var OmniTekInfoLoad = new Augmentation({ + name:AugmentationNames.OmniTekInfoLoad, repCost:250e3, moneyCost:575e6, + info:"OmniTek's data and information repository is uploaded " + + "into your brain, enhancing your programming and " + + "hacking abilities.

" + + "This augmentation:
" + + "Increases the player's hacking skill by 20%
" + + "Increases the player's hacking experience gain rate by 25%" + }); OmniTekInfoLoad.addToFactions(["OmniTek Incorporated"]); if (augmentationExists(AugmentationNames.OmniTekInfoLoad)) { delete Augmentations[AugmentationNames.OmniTekInfoLoad]; @@ -25088,13 +25215,14 @@ function initAugmentations() { //TODO Later when Intelligence is added in . Some aug that greatly increases int //KuaiGongInternational - var PhotosyntheticCells = new Augmentation(AugmentationNames.PhotosyntheticCells); - PhotosyntheticCells.setInfo("Chloroplasts are added to epidermal stem cells and are applied " + - "to the body using a skin graft. The result is photosynthetic " + - "skin cells, allowing users to generate their own energy " + - "and nutrition using solar power.

" + - "This augmentation increases the player's strength, defense, and agility by 40%"); - PhotosyntheticCells.setRequirements(225000, 550000000); + var PhotosyntheticCells = new Augmentation({ + name:AugmentationNames.PhotosyntheticCells, repCost:225e3, moneyCost:550e6, + info:"Chloroplasts are added to epidermal stem cells and are applied " + + "to the body using a skin graft. The result is photosynthetic " + + "skin cells, allowing users to generate their own energy " + + "and nutrition using solar power.

" + + "This augmentation increases the player's strength, defense, and agility by 40%" + }); PhotosyntheticCells.addToFactions(["KuaiGong International"]); if (augmentationExists(AugmentationNames.PhotosyntheticCells)) { delete Augmentations[AugmentationNames.PhotosyntheticCells]; @@ -25102,17 +25230,18 @@ function initAugmentations() { AddToAugmentations(PhotosyntheticCells); //BitRunners - var Neurolink = new Augmentation(AugmentationNames.Neurolink); - Neurolink.setInfo("A brain implant that provides a high-bandwidth, direct neural link between your " + - "mind and BitRunners' data servers, which reportedly contain " + - "the largest database of hacking tools and information in the world.

" + - "This augmentation:
" + - "Increases the player's hacking skill by 15%
" + - "Increases the player's hacking experience gain rate by 20%
" + - "Increases the player's chance of successfully performing a hack by 10%
" + - "Increases the player's hacking speed by 5%
" + - "Lets the player start with the FTPCrack.exe and relaySMTP.exe programs after a reset"); - Neurolink.setRequirements(350000, 875000000); + var Neurolink = new Augmentation({ + name:AugmentationNames.Neurolink, repCost:350e3, moneyCost:875e6, + info:"A brain implant that provides a high-bandwidth, direct neural link between your " + + "mind and BitRunners' data servers, which reportedly contain " + + "the largest database of hacking tools and information in the world.

" + + "This augmentation:
" + + "Increases the player's hacking skill by 15%
" + + "Increases the player's hacking experience gain rate by 20%
" + + "Increases the player's chance of successfully performing a hack by 10%
" + + "Increases the player's hacking speed by 5%
" + + "Lets the player start with the FTPCrack.exe and relaySMTP.exe programs after a reset" + }); Neurolink.addToFactions(["BitRunners"]); if (augmentationExists(AugmentationNames.Neurolink)) { delete Augmentations[AugmentationNames.Neurolink]; @@ -25120,17 +25249,18 @@ function initAugmentations() { AddToAugmentations(Neurolink); //BlackHand - var TheBlackHand = new Augmentation(AugmentationNames.TheBlackHand); - TheBlackHand.setInfo("A highly advanced bionic hand. This prosthetic not only " + - "enhances strength and dexterity but it is also embedded " + - "with hardware and firmware that lets the user connect to, access and hack " + - "devices and machines just by touching them.

" + - "This augmentation:
" + - "Increases the player's strength and dexterity by 15%
" + - "Increases the player's hacking skill by 10%
" + - "Increases the player's hacking speed by 2%
" + - "Increases the amount of money the player gains from hacking by 10%"); - TheBlackHand.setRequirements(40000, 110000000); + var TheBlackHand = new Augmentation({ + name:AugmentationNames.TheBlackHand, repCost:40e3, moneyCost:110e6, + info:"A highly advanced bionic hand. This prosthetic not only " + + "enhances strength and dexterity but it is also embedded " + + "with hardware and firmware that lets the user connect to, access and hack " + + "devices and machines just by touching them.

" + + "This augmentation:
" + + "Increases the player's strength and dexterity by 15%
" + + "Increases the player's hacking skill by 10%
" + + "Increases the player's hacking speed by 2%
" + + "Increases the amount of money the player gains from hacking by 10%" + }); TheBlackHand.addToFactions(["The Black Hand"]); if (augmentationExists(AugmentationNames.TheBlackHand)) { delete Augmentations[AugmentationNames.TheBlackHand]; @@ -25138,14 +25268,15 @@ function initAugmentations() { AddToAugmentations(TheBlackHand); //NiteSec - var CRTX42AA = new Augmentation(AugmentationNames.CRTX42AA); - CRTX42AA.setInfo("The CRTX42-AA gene is injected into the genome. " + - "The CRTX42-AA is an artificially-synthesized gene that targets the visual and prefrontal " + - "cortex and improves cognitive abilities.

" + - "This augmentation:
" + - "Improves the player's hacking skill by 8%
" + - "Improves the player's hacking experience gain rate by 15%"); - CRTX42AA.setRequirements(18000, 45000000); + var CRTX42AA = new Augmentation({ + name:AugmentationNames.CRTX42AA, repCost:18e3, moneyCost:45e6, + info:"The CRTX42-AA gene is injected into the genome. " + + "The CRTX42-AA is an artificially-synthesized gene that targets the visual and prefrontal " + + "cortex and improves cognitive abilities.

" + + "This augmentation:
" + + "Improves the player's hacking skill by 8%
" + + "Improves the player's hacking experience gain rate by 15%" + }); CRTX42AA.addToFactions(["NiteSec"]); if (augmentationExists(AugmentationNames.CRTX42AA)) { delete Augmentations[AugmentationNames.CRTX42AA]; @@ -25153,12 +25284,13 @@ function initAugmentations() { AddToAugmentations(CRTX42AA); //Chongqing - var Neuregen = new Augmentation(AugmentationNames.Neuregen); - Neuregen.setInfo("A drug that genetically modifies the neurons in the brain. " + - "The result is that these neurons never die and continuously " + - "regenerate and strengthen themselves.

" + - "This augmentation increases the player's hacking experience gain rate by 40%"); - Neuregen.setRequirements(15000, 75000000); + var Neuregen = new Augmentation({ + name:AugmentationNames.Neuregen, repCost:15e3, moneyCost:75e6, + info:"A drug that genetically modifies the neurons in the brain. " + + "The result is that these neurons never die and continuously " + + "regenerate and strengthen themselves.

" + + "This augmentation increases the player's hacking experience gain rate by 40%" + }); Neuregen.addToFactions(["Chongqing"]); if (augmentationExists(AugmentationNames.Neuregen)) { delete Augmentations[AugmentationNames.Neuregen]; @@ -25166,14 +25298,15 @@ function initAugmentations() { AddToAugmentations(Neuregen); //Sector12 - var CashRoot = new Augmentation(AugmentationNames.CashRoot); - CashRoot.setInfo("A collection of digital assets saved on a small chip. The chip is implanted " + - "into your wrist. A small jack in the chip allows you to connect it to a computer " + - "and upload the assets.

" + - "This augmentation:
" + - "Lets the player start with $1,000,000 after a reset
" + - "Lets the player start with the BruteSSH.exe program after a reset"); - CashRoot.setRequirements(5000, 25000000); + var CashRoot = new Augmentation({ + name:AugmentationNames.CashRoot, repCost:5e3, moneyCost:25e6, + info:"A collection of digital assets saved on a small chip. The chip is implanted " + + "into your wrist. A small jack in the chip allows you to connect it to a computer " + + "and upload the assets.

" + + "This augmentation:
" + + "Lets the player start with $1,000,000 after a reset
" + + "Lets the player start with the BruteSSH.exe program after a reset" + }); CashRoot.addToFactions(["Sector-12"]); if (augmentationExists(AugmentationNames.CashRoot)) { delete Augmentations[AugmentationNames.CashRoot]; @@ -25181,14 +25314,15 @@ function initAugmentations() { AddToAugmentations(CashRoot); //NewTokyo - var NutriGen = new Augmentation(AugmentationNames.NutriGen); - NutriGen.setInfo("A thermo-powered artificial nutrition generator. Endogenously " + - "synthesizes glucose, amino acids, and vitamins and redistributes them " + - "across the body. The device is powered by the body's naturally wasted " + - "energy in the form of heat.

" + - "This augmentation:
" + - "Increases the player's experience gain rate for all combat stats by 20%"); - NutriGen.setRequirements(2500, 500000); + var NutriGen = new Augmentation({ + name:AugmentationNames.NutriGen, repCost:2500, moneyCost:500e3, + info:"A thermo-powered artificial nutrition generator. Endogenously " + + "synthesizes glucose, amino acids, and vitamins and redistributes them " + + "across the body. The device is powered by the body's naturally wasted " + + "energy in the form of heat.

" + + "This augmentation:
" + + "Increases the player's experience gain rate for all combat stats by 20%" + }); NutriGen.addToFactions(["New Tokyo"]); if (augmentationExists(AugmentationNames.NutriGen)) { delete Augmentations[AugmentationNames.NutriGen]; @@ -25200,14 +25334,15 @@ function initAugmentations() { //and profits as a trader/from trading //Ishima - var INFRARet = new Augmentation(AugmentationNames.INFRARet); - INFRARet.setInfo("A retina implant consisting of a tiny chip that sits behind the " + - "retina. This implant lets people visually detect infrared radiation.

" + - "This augmentation:
" + - "Increases the player's crime success rate by 25%
" + - "Increases the amount of money the player gains from crimes by 10%
" + - "Increases the player's dexterity by 10%"); - INFRARet.setRequirements(3000, 6000000); + var INFRARet = new Augmentation({ + name:AugmentationNames.INFRARet, repCost:3e3, moneyCost:6e6, + info:"A retina implant consisting of a tiny chip that sits behind the " + + "retina. This implant lets people visually detect infrared radiation.

" + + "This augmentation:
" + + "Increases the player's crime success rate by 25%
" + + "Increases the amount of money the player gains from crimes by 10%
" + + "Increases the player's dexterity by 10%" + }); INFRARet.addToFactions(["Ishima"]); if (augmentationExists(AugmentationNames.INFRARet)) { delete Augmentations[AugmentationNames.INFRARet]; @@ -25215,12 +25350,13 @@ function initAugmentations() { AddToAugmentations(INFRARet); //Volhaven - var DermaForce = new Augmentation(AugmentationNames.DermaForce); - DermaForce.setInfo("A synthetic skin is grafted onto the body. The skin consists of " + - "millions of nanobots capable of projecting high-density muon beams, " + - "creating an energy barrier around the user.

" + - "This augmentation increases the player's defense by 50%"); - DermaForce.setRequirements(6000, 10000000); + var DermaForce = new Augmentation({ + name:AugmentationNames.DermaForce, repCost:6e3, moneyCost:10e6, + info:"A synthetic skin is grafted onto the body. The skin consists of " + + "millions of nanobots capable of projecting high-density muon beams, " + + "creating an energy barrier around the user.

" + + "This augmentation increases the player's defense by 50%" + }); DermaForce.addToFactions(["Volhaven"]); if (augmentationExists(AugmentationNames.DermaForce)) { delete Augmentations[AugmentationNames.DermaForce]; @@ -25228,15 +25364,17 @@ function initAugmentations() { AddToAugmentations(DermaForce); //SpeakersForTheDead - var GrapheneBrachiBlades = new Augmentation(AugmentationNames.GrapheneBrachiBlades); - GrapheneBrachiBlades.setInfo("An upgrade to the BrachiBlades augmentation. It infuses " + - "the retractable blades with an advanced graphene material " + - "to make them much stronger and lighter.

" + - "This augmentation:
" + - "Increases the player's strength and defense by 40%
" + - "Increases the player's crime success rate by 10%
" + - "Increases the amount of money the player gains from crimes by 30%"); - GrapheneBrachiBlades.setRequirements(90000, 500000000); + var GrapheneBrachiBlades = new Augmentation({ + name:AugmentationNames.GrapheneBrachiBlades, repCost:90e3, moneyCost:500e6, + info:"An upgrade to the BrachiBlades augmentation. It infuses " + + "the retractable blades with an advanced graphene material " + + "to make them much stronger and lighter.

" + + "This augmentation:
" + + "Increases the player's strength and defense by 40%
" + + "Increases the player's crime success rate by 10%
" + + "Increases the amount of money the player gains from crimes by 30%", + prereqs:[AugmentationNames.BrachiBlades], + }); GrapheneBrachiBlades.addToFactions(["Speakers for the Dead"]); if (augmentationExists(AugmentationNames.GrapheneBrachiBlades)) { delete Augmentations[AugmentationNames.GrapheneBrachiBlades]; @@ -25244,12 +25382,14 @@ function initAugmentations() { AddToAugmentations(GrapheneBrachiBlades); //DarkArmy - var GrapheneBionicArms = new Augmentation(AugmentationNames.GrapheneBionicArms); - GrapheneBionicArms.setInfo("An upgrade to the Bionic Arms augmentation. It infuses the " + - "prosthetic arms with an advanced graphene material " + - "to make them much stronger and lighter.

" + - "This augmentation increases the player's strength and dexterity by 85%"); - GrapheneBionicArms.setRequirements(200000, 750000000); + var GrapheneBionicArms = new Augmentation({ + name:AugmentationNames.GrapheneBionicArms, repCost:200e3, moneyCost:750e6, + info:"An upgrade to the Bionic Arms augmentation. It infuses the " + + "prosthetic arms with an advanced graphene material " + + "to make them much stronger and lighter.

" + + "This augmentation increases the player's strength and dexterity by 85%", + prereqs:[AugmentationNames.BionicArms], + }); GrapheneBionicArms.addToFactions(["The Dark Army"]); if (augmentationExists(AugmentationNames.GrapheneBionicArms)) { delete Augmentations[AugmentationNames.GrapheneBionicArms]; @@ -25257,13 +25397,14 @@ function initAugmentations() { AddToAugmentations(GrapheneBionicArms); //TheSyndicate - var BrachiBlades = new Augmentation(AugmentationNames.BrachiBlades); - BrachiBlades.setInfo("A set of retractable plasteel blades are implanted in the arm, underneath the skin. " + - "

This augmentation:
" + - "Increases the player's strength and defense by 15%
" + - "Increases the player's crime success rate by 10%
" + - "Increases the amount of money the player gains from crimes by 15%"); - BrachiBlades.setRequirements(5000, 18000000); + var BrachiBlades = new Augmentation({ + name:AugmentationNames.BrachiBlades, repCost:5e3, moneyCost:18e6, + info:"A set of retractable plasteel blades are implanted in the arm, underneath the skin. " + + "

This augmentation:
" + + "Increases the player's strength and defense by 15%
" + + "Increases the player's crime success rate by 10%
" + + "Increases the amount of money the player gains from crimes by 15%" + }); BrachiBlades.addToFactions(["The Syndicate"]); if (augmentationExists(AugmentationNames.BrachiBlades)) { delete Augmentations[AugmentationNames.BrachiBlades]; @@ -25271,11 +25412,12 @@ function initAugmentations() { AddToAugmentations(BrachiBlades); //Tetrads - var BionicArms = new Augmentation(AugmentationNames.BionicArms); - BionicArms.setInfo("Cybernetic arms created from plasteel and carbon fibers that completely replace " + - "the user's organic arms.

" + - "This augmentation increases the user's strength and dexterity by 30%"); - BionicArms.setRequirements(25000, 55000000); + var BionicArms = new Augmentation({ + name:AugmentationNames.BionicArms, repCost:25e3, moneyCost:55e6, + info:"Cybernetic arms created from plasteel and carbon fibers that completely replace " + + "the user's organic arms.

" + + "This augmentation increases the user's strength and dexterity by 30%" + }); BionicArms.addToFactions(["Tetrads"]); if (augmentationExists(AugmentationNames.BionicArms)) { delete Augmentations[AugmentationNames.BionicArms]; @@ -25283,14 +25425,15 @@ function initAugmentations() { AddToAugmentations(BionicArms); //TianDiHui - var SNA = new Augmentation(AugmentationNames.SNA); - SNA.setInfo("A cranial implant that affects the user's personality, making them better " + - "at negotiation in social situations.

" + - "This augmentation:
" + - "Increases the amount of money the player earns at a company by 10%
" + - "Increases the amount of reputation the player gains when working for a " + - "company or faction by 15%"); - SNA.setRequirements(2500, 6000000); + var SNA = new Augmentation({ + name:AugmentationNames.SNA, repCost:2500, moneyCost:6e6, + info:"A cranial implant that affects the user's personality, making them better " + + "at negotiation in social situations.

" + + "This augmentation:
" + + "Increases the amount of money the player earns at a company by 10%
" + + "Increases the amount of reputation the player gains when working for a " + + "company or faction by 15%" + }); SNA.addToFactions(["Tian Di Hui"]); if (augmentationExists(AugmentationNames.SNA)) { delete Augmentations[AugmentationNames.SNA]; @@ -27624,6 +27767,24 @@ function NetscriptFunctions(workerScript) { } return Object(__WEBPACK_IMPORTED_MODULE_23__NetscriptEvaluator_js__["f" /* runScriptFromScript */])(server, scriptname, argsForNewScript, workerScript, threads); }, + spawn : function(scriptname, threads) { + if (workerScript.checkingRam) { + if (workerScript.loadedFns.spawn) { + return 0; + } else { + workerScript.loadedFns.spawn = true; + return __WEBPACK_IMPORTED_MODULE_5__Constants_js__["a" /* CONSTANTS */].ScriptSpawnRamCost; + } + } + if (scriptname == null || threads == 1) { + throw Object(__WEBPACK_IMPORTED_MODULE_23__NetscriptEvaluator_js__["d" /* makeRuntimeRejectMsg */])(workerScript, "Invalid scriptname or numThreads argument passed to spawn()"); + } + setTimeout(()=>{ + NetscriptFunctions(workerScript).run.apply(this, arguments); + }, 20000); + workerScript.scriptRef.log("spawn() will execute " + scriptname + " in 20 seconds"); + NetscriptFunctions(workerScript).exit(); + }, kill : function(filename,ip) { if (workerScript.checkingRam) { if (workerScript.loadedFns.kill) { @@ -29463,6 +29624,24 @@ function NetscriptFunctions(workerScript) { } return __WEBPACK_IMPORTED_MODULE_14__Player_js__["a" /* Player */].isWorking; }, + stopAction : function() { + if (workerScript.checkingRam) { + if (workerScript.loadedFns.stopAction) { + return 0; + } else { + workerScript.loadedFns.stopAction = true; + var ramCost = __WEBPACK_IMPORTED_MODULE_5__Constants_js__["a" /* CONSTANTS */].ScriptSingularityFn1RamCost; + if (__WEBPACK_IMPORTED_MODULE_14__Player_js__["a" /* Player */].bitNodeN !== 4) {ramCost *= 10;} + return ramCost; + } + } + if (__WEBPACK_IMPORTED_MODULE_14__Player_js__["a" /* Player */].isWorking) { + var txt = __WEBPACK_IMPORTED_MODULE_14__Player_js__["a" /* Player */].singularityStopWork(); + workerScript.scriptRef.log(txt); + return true; + } + return false; + }, upgradeHomeRam() { if (workerScript.checkingRam) { if (workerScript.loadedFns.upgradeHomeRam) { @@ -39088,8 +39267,8 @@ function updateStockPlayerPosition(stock) { if (stock.playerShares === 0 && stock.playerShortShares === 0 && StockMarket["Orders"] && StockMarket["Orders"][stock.symbol] && StockMarket["Orders"][stock.symbol].length === 0) { - Object(__WEBPACK_IMPORTED_MODULE_7__utils_HelperFunctions_js__["l" /* removeElementById */])(tickerId + "-hdr"); - Object(__WEBPACK_IMPORTED_MODULE_7__utils_HelperFunctions_js__["l" /* removeElementById */])(tickerId + "-panel"); + Object(__WEBPACK_IMPORTED_MODULE_7__utils_HelperFunctions_js__["m" /* removeElementById */])(tickerId + "-hdr"); + Object(__WEBPACK_IMPORTED_MODULE_7__utils_HelperFunctions_js__["m" /* removeElementById */])(tickerId + "-panel"); return; } else { //If the ticker hasn't been created, create it (handles updating) @@ -39169,8 +39348,8 @@ function updateStockOrderList(stock) { if (stock.playerShares === 0 && stock.playerShortShares === 0 && StockMarket["Orders"] && StockMarket["Orders"][stock.symbol] && StockMarket["Orders"][stock.symbol].length === 0) { - Object(__WEBPACK_IMPORTED_MODULE_7__utils_HelperFunctions_js__["l" /* removeElementById */])(tickerId + "-hdr"); - Object(__WEBPACK_IMPORTED_MODULE_7__utils_HelperFunctions_js__["l" /* removeElementById */])(tickerId + "-panel"); + Object(__WEBPACK_IMPORTED_MODULE_7__utils_HelperFunctions_js__["m" /* removeElementById */])(tickerId + "-hdr"); + Object(__WEBPACK_IMPORTED_MODULE_7__utils_HelperFunctions_js__["m" /* removeElementById */])(tickerId + "-panel"); return; } else { //If the ticker hasn't been created, create it (handles updating) @@ -41080,7 +41259,7 @@ OfficeSpace.prototype.findEmployees = function(parentRefs) { "Salary: " + __WEBPACK_IMPORTED_MODULE_7__utils_numeral_min_js___default()(employee.sal).format('$0.000a') + " \ s
", clickListener:()=>{ office.hireEmployee(employee, parentRefs); - Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["l" /* removeElementById */])("cmpy-mgmt-hire-employee-popup"); + Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["m" /* removeElementById */])("cmpy-mgmt-hire-employee-popup"); return false; } }); @@ -41092,7 +41271,7 @@ OfficeSpace.prototype.findEmployees = function(parentRefs) { innerText:"Cancel", float:"right", clickListener:()=>{ - Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["l" /* removeElementById */])("cmpy-mgmt-hire-employee-popup"); + Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["m" /* removeElementById */])("cmpy-mgmt-hire-employee-popup"); return false; } }); @@ -41378,7 +41557,7 @@ Warehouse.prototype.createMaterialUI = function(mat, matName, parentRefs) { } else { mat.buy = parseFloat(input.value); if (isNaN(mat.buy)) {mat.buy = 0;} - Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["l" /* removeElementById */])(purchasePopupId); + Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["m" /* removeElementById */])(purchasePopupId); this.createUI(parentRefs); return false; } @@ -41387,7 +41566,7 @@ Warehouse.prototype.createMaterialUI = function(mat, matName, parentRefs) { var cancelBtn = Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["f" /* createElement */])("a", { innerText:"Cancel", class:"a-link-button", clickListener:()=>{ - Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["l" /* removeElementById */])(purchasePopupId); + Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["m" /* removeElementById */])(purchasePopupId); } }); Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["g" /* createPopup */])(purchasePopupId, [txt, input, confirmBtn, cancelBtn]); @@ -41470,7 +41649,7 @@ Warehouse.prototype.createMaterialUI = function(mat, matName, parentRefs) { var warehouse = company.divisions[i].warehouses[cityName]; if (warehouse instanceof Warehouse) { warehouse.materials[matName].imp += amt; - Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["l" /* removeElementById */])(popupId); + Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["m" /* removeElementById */])(popupId); return false; } else { console.log("ERROR: Target city for export does not have warehouse in specified city"); @@ -41478,7 +41657,7 @@ Warehouse.prototype.createMaterialUI = function(mat, matName, parentRefs) { } } console.log("ERROR: Could not find target industry/city for export"); - Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["l" /* removeElementById */])(popupId); + Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["m" /* removeElementById */])(popupId); return false; } }); @@ -41486,7 +41665,7 @@ Warehouse.prototype.createMaterialUI = function(mat, matName, parentRefs) { var cancelBtn = Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["f" /* createElement */])("a", { class:"a-link-button", display:"inline-block", innerText:"Cancel", clickListener:()=>{ - Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["l" /* removeElementById */])(popupId); + Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["m" /* removeElementById */])(popupId); return false; } }); @@ -41516,7 +41695,7 @@ Warehouse.prototype.createMaterialUI = function(mat, matName, parentRefs) { } } mat.exp.splice(i, 1); //Remove export object - Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["l" /* removeElementById */])(popupId); + Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["m" /* removeElementById */])(popupId); createExportPopup(); } })); @@ -41614,14 +41793,14 @@ Warehouse.prototype.createMaterialUI = function(mat, matName, parentRefs) { } this.createUI(parentRefs); - Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["l" /* removeElementById */])(sellPopupid); + Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["m" /* removeElementById */])(sellPopupid); return false; } }); var cancelBtn = Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["f" /* createElement */])("a", { innerText:"Cancel", class:"a-link-button", margin: "6px", clickListener:()=>{ - Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["l" /* removeElementById */])(sellPopupid); + Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["m" /* removeElementById */])(sellPopupid); } }); Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["g" /* createPopup */])(sellPopupid, [txt, br, inputQty, inputPx, confirmBtn, cancelBtn]); @@ -41736,14 +41915,14 @@ Warehouse.prototype.createProductUI = function(product, parentRefs) { } } this.createUI(parentRefs); - Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["l" /* removeElementById */])(popupId); + Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["m" /* removeElementById */])(popupId); return false; } }); var cancelBtn = Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["f" /* createElement */])("a", { class:"a-link-button", innerText:"Cancel", clickListener:()=>{ - Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["l" /* removeElementById */])(popupId); + Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["m" /* removeElementById */])(popupId); return false; } }); @@ -41774,7 +41953,7 @@ Warehouse.prototype.createProductUI = function(product, parentRefs) { clickListener:()=>{ if (input.value === "") { product.prdman[city][0] = false; - Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["l" /* removeElementById */])(popupId); + Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["m" /* removeElementById */])(popupId); return false; } var qty = parseFloat(input.value); @@ -41788,14 +41967,14 @@ Warehouse.prototype.createProductUI = function(product, parentRefs) { product.prdman[city][0] = true; product.prdman[city][1] = qty; } - Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["l" /* removeElementById */])(popupId); + Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["m" /* removeElementById */])(popupId); return false; } }); var cancelBtn = Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["f" /* createElement */])("a", { class:"a-link-button", display:"inline-block", innerText:"Cancel", margin:"6px", clickListener:()=>{ - Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["l" /* removeElementById */])(popupId); + Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["m" /* removeElementById */])(popupId); return false; } }); @@ -41818,14 +41997,14 @@ Warehouse.prototype.createProductUI = function(product, parentRefs) { class:"a-link-button",innerText:"Discontinue", clickListener:()=>{ industry.discontinueProduct(product, parentRefs); - Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["l" /* removeElementById */])(popupId); + Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["m" /* removeElementById */])(popupId); return false; } }); var cancelBtn = Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["f" /* createElement */])("a", { class:"a-link-button", innerText:"Cancel", clickListener:()=>{ - Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["l" /* removeElementById */])(popupId); + Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["m" /* removeElementById */])(popupId); return false; } }); @@ -42096,7 +42275,7 @@ Corporation.prototype.goPublic = function() { this.numShares -= numShares; this.funds = this.funds.plus(numShares * initialSharePrice); this.displayCorporationOverviewContent(); - Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["l" /* removeElementById */])(goPublicPopupId); + Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["m" /* removeElementById */])(goPublicPopupId); return false; } }); @@ -42104,7 +42283,7 @@ Corporation.prototype.goPublic = function() { class:"a-link-button", innerText:"Cancel", clickListener:()=>{ - Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["l" /* removeElementById */])(goPublicPopupId); + Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["m" /* removeElementById */])(goPublicPopupId); return false; } }); @@ -42333,7 +42512,7 @@ Corporation.prototype.updateUIHeaderTabs = function() { this.divisions.push(newInd); this.updateUIHeaderTabs(); this.selectHeaderTab(headerTabs[headerTabs.length-2]); - Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["l" /* removeElementById */])("cmpy-mgmt-expand-industry-popup"); + Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["m" /* removeElementById */])("cmpy-mgmt-expand-industry-popup"); this.displayDivisionContent(newInd, __WEBPACK_IMPORTED_MODULE_1__Location_js__["a" /* Locations */].Sector12); } return false; @@ -42343,7 +42522,7 @@ Corporation.prototype.updateUIHeaderTabs = function() { class:"popup-box-button", innerText:"Cancel", clickListener: function() { - Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["l" /* removeElementById */])("cmpy-mgmt-expand-industry-popup"); + Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["m" /* removeElementById */])("cmpy-mgmt-expand-industry-popup"); return false; } }); @@ -42521,7 +42700,7 @@ Corporation.prototype.displayCorporationOverviewContent = function() { } this.issuedShares += shares; __WEBPACK_IMPORTED_MODULE_2__Player_js__["a" /* Player */].gainMoney(shares * this.sharePrice); - Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["l" /* removeElementById */])(popupId); + Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["m" /* removeElementById */])(popupId); return false; } @@ -42530,7 +42709,7 @@ Corporation.prototype.displayCorporationOverviewContent = function() { var cancelBtn = Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["f" /* createElement */])("a", { class:"a-link-button", innerText:"Cancel", display:"inline-block", clickListener:()=>{ - Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["l" /* removeElementById */])(popupId); + Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["m" /* removeElementById */])(popupId); return false; } }); @@ -42594,7 +42773,7 @@ Corporation.prototype.displayCorporationOverviewContent = function() { this.issuedShares -= shares; __WEBPACK_IMPORTED_MODULE_2__Player_js__["a" /* Player */].loseMoney(shares * tempStockPrice); //TODO REMOVE from Player money - Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["l" /* removeElementById */])(popupId); + Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["m" /* removeElementById */])(popupId); } return false; @@ -42605,7 +42784,7 @@ Corporation.prototype.displayCorporationOverviewContent = function() { innerText:"Cancel", display:"inline-block", clickListener:()=>{ - Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["l" /* removeElementById */])(popupId); + Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["m" /* removeElementById */])(popupId); return false; } }); @@ -42832,14 +43011,14 @@ Corporation.prototype.displayDivisionContent = function(division, city) { }); this.displayDivisionContent(division, city); } - Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["l" /* removeElementById */])(popupId); + Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["m" /* removeElementById */])(popupId); return false; } }); var cancelBtn = Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["f" /* createElement */])("a", { innerText:"Cancel", class:"a-link-button", display:"inline-block", margin:"3px", clickListener:()=>{ - Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["l" /* removeElementById */])(popupId); + Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["m" /* removeElementById */])(popupId); return false; } }) @@ -43042,7 +43221,7 @@ Corporation.prototype.displayDivisionContent = function(division, city) { }); this.funds = this.funds.minus(designInvest + marketingInvest); division.products[product.name] = product; - Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["l" /* removeElementById */])(popupId); + Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["m" /* removeElementById */])(popupId); } this.updateUIContent(); return false; @@ -43052,7 +43231,7 @@ Corporation.prototype.displayDivisionContent = function(division, city) { class:"a-link-button", innerText:"Cancel", clickListener:()=>{ - Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["l" /* removeElementById */])(popupId); + Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["m" /* removeElementById */])(popupId); return false; } }) @@ -43109,7 +43288,7 @@ Corporation.prototype.displayDivisionContent = function(division, city) { Object(__WEBPACK_IMPORTED_MODULE_4__utils_DialogBox_js__["a" /* dialogBoxCreate */])("Office space increased! It can now hold " + office.size + " employees"); this.updateUIContent(); } - Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["l" /* removeElementById */])(popupId); + Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["m" /* removeElementById */])(popupId); return false; } }); @@ -43119,7 +43298,7 @@ Corporation.prototype.displayDivisionContent = function(division, city) { display:"inline-block", margin:"8px", clickListener:()=>{ - Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["l" /* removeElementById */])(popupId); + Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["m" /* removeElementById */])(popupId); return false; } }) @@ -43173,7 +43352,7 @@ Corporation.prototype.displayDivisionContent = function(division, city) { } Object(__WEBPACK_IMPORTED_MODULE_4__utils_DialogBox_js__["a" /* dialogBoxCreate */])("You threw a party for the office! The morale and happiness " + "of each employee increased by " + Object(__WEBPACK_IMPORTED_MODULE_8__utils_StringHelperFunctions_js__["c" /* formatNumber */])((mult-1) * 100, 2) + "%."); - Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["l" /* removeElementById */])(popupId); + Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["m" /* removeElementById */])(popupId); } } return false; @@ -43184,7 +43363,7 @@ Corporation.prototype.displayDivisionContent = function(division, city) { display:"inline-block", innerText:"Cancel", clickListener:()=>{ - Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["l" /* removeElementById */])(popupId); + Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["m" /* removeElementById */])(popupId); return false; } }); @@ -43433,7 +43612,7 @@ Corporation.prototype.selectCityTab = function(activeTab, city) { Corporation.prototype.clearUI = function() { //Delete everything - if (companyManagementDiv != null) {Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["l" /* removeElementById */])(companyManagementDiv.id);} + if (companyManagementDiv != null) {Object(__WEBPACK_IMPORTED_MODULE_5__utils_HelperFunctions_js__["m" /* removeElementById */])(companyManagementDiv.id);} //Reset global DOM variables companyManagementDiv = null; @@ -49775,13 +49954,14 @@ function getHacknetNode(name) { //Switch between territory and management screen with 1 and 2 $(document).keydown(function(event) { if (__WEBPACK_IMPORTED_MODULE_1__engine_js__["Engine"].currentPage == __WEBPACK_IMPORTED_MODULE_1__engine_js__["Engine"].Page.Gang && !__WEBPACK_IMPORTED_MODULE_10__utils_YesNoBox_js__["e" /* yesNoBoxOpen */]) { + if (gangMemberFilter != null && gangMemberFilter === document.activeElement) {return;} if (event.keyCode === 49) { - if(document.getElementById("gang-territory-subpage").style.display === "block") { - document.getElementById("gang-management-subpage-button").click(); + if(gangTerritorySubpage.style.display === "block") { + managementButton.click(); } } else if (event.keyCode === 50) { - if (document.getElementById("gang-management-subpage").style.display === "block") { - document.getElementById("gang-territory-subpage-button").click(); + if (gangManagementSubpage.style.display === "block") { + territoryButton.click(); } } } @@ -49789,15 +49969,16 @@ $(document).keydown(function(event) { //Delete upgrade box when clicking outside $(document).mousedown(function(event) { + var boxId = "gang-member-upgrade-popup-box"; + var contentId = "gang-member-upgrade-popup-box-content"; if (gangMemberUpgradeBoxOpened) { - if ( $(event.target).closest("#gang-purchase-upgrade-container").get(0) == null ) { + if ( $(event.target).closest("#" + contentId).get(0) == null ) { //Delete the box - var container = document.getElementById("gang-purchase-upgrade-container"); - while(container.firstChild) { - container.removeChild(container.firstChild); - } - container.parentNode.removeChild(container); + Object(__WEBPACK_IMPORTED_MODULE_7__utils_HelperFunctions_js__["l" /* removeElement */])(gangMemberUpgradeBox); + gangMemberUpgradeBox = null; + gangMemberUpgradeBoxContent = null; gangMemberUpgradeBoxOpened = false; + gangMemberUpgradeBoxElements = null; } } }); @@ -50064,12 +50245,6 @@ function GangMember(name) { this.task = GangMemberTasks["Unassigned"]; //GangMemberTask object this.city = __WEBPACK_IMPORTED_MODULE_4__Player_js__["a" /* Player */].city; - //Name of upgrade only - this.weaponUpgrade = null; - this.armorUpgrade = null; - this.vehicleUpgrade = null; - this.hackingUpgrade = null; - this.hack = 1; this.str = 1; this.def = 1; @@ -50117,7 +50292,7 @@ GangMember.prototype.assignToTask = function(taskName) { if (GangMemberTasks.hasOwnProperty(taskName)) { this.task = GangMemberTasks[taskName]; } else { - console.log("ERROR: Invalid task " + taskName); + this.task = GangMemberTasks["Unassigned"]; this.task = null; } } @@ -50244,7 +50419,7 @@ __WEBPACK_IMPORTED_MODULE_6__utils_JSONReviver_js__["c" /* Reviver */].construct //TODO Human trafficking and an equivalent hacking crime let GangMemberTasks = { - "Unassigned" : new GangMemebrTask( + "Unassigned" : new GangMemberTask( "Unassigned", "This gang member is currently idle"), "Ransomware" : new GangMemberTask( @@ -50371,10 +50546,11 @@ let GangMemberTasks = { } -function GangMemberUpgrade(name="", desc="", cost=0) { +function GangMemberUpgrade(name="", desc="", cost=0, type="w") { this.name = name; this.desc = desc; this.cost = cost; + this.type = type; //w, a, v, r } //Passes in a GangMember object @@ -50395,7 +50571,7 @@ GangMemberUpgrade.prototype.apply = function(member) { member.dex_mult *= 1.15; member.agi_mult *= 1.15; break; - case "P90": + case "P90C": member.str_mult *= 1.2; member.def_mult *= 1.2; member.agi_mult *= 1.1; @@ -50428,7 +50604,7 @@ GangMemberUpgrade.prototype.apply = function(member) { member.agi_mult *= 1.25; break; case "Graphene Plating Armor": - member.def_mult *= 5; + member.def_mult *= 1.5; break; case "Ford Flex V20": member.agi_mult *= 1.1; @@ -50461,49 +50637,6 @@ GangMemberUpgrade.prototype.apply = function(member) { } } -//Purchases for given member -GangMemberUpgrade.prototype.purchase = function(memberObj) { - if (__WEBPACK_IMPORTED_MODULE_4__Player_js__["a" /* Player */].money.lt(this.cost)) { - Object(__WEBPACK_IMPORTED_MODULE_5__utils_DialogBox_js__["a" /* dialogBoxCreate */])("You do not have enough money to purchase this upgrade"); - return; - } - __WEBPACK_IMPORTED_MODULE_4__Player_js__["a" /* Player */].loseMoney(this.cost); - switch (this.type) { - case "w": - if (memberObj.weaponUpgrade instanceof GangMemberUpgrade) { - memberObj.weaponUpgrade.apply(memberObj, true); //Unapply old upgrade - } - this.apply(memberObj, false); - memberObj.weaponUpgrade = this; - break; - case "a": - if (memberObj.armorUpgrade instanceof GangMemberUpgrade) { - memberObj.armorUpgrade.apply(memberObj, true); //Unapply old upgrade - } - this.apply(memberObj, false); - memberObj.armorUpgrade = this; - break; - case "v": - if (memberObj.vehicleUpgrade instanceof GangMemberUpgrade) { - memberObj.vehicleUpgrade.apply(memberObj, true); //Unapply old upgrade - } - this.apply(memberObj, false); - memberObj.vehicleUpgrade = this; - break; - case "r": - if (memberObj.hackingUpgrade instanceof GangMemberUpgrade) { - memberObj.hackingUpgrade.apply(memberObj, true); //Unapply old upgrade - } - this.apply(memberObj, false); - memberObj.hackingUpgrade = this; - break; - default: - console.log("ERROR: GangMemberUpgrade has invalid type: " + this.type); - break; - } - createGangMemberUpgradeBox(memberObj); -} - GangMemberUpgrade.prototype.toJSON = function() { return Object(__WEBPACK_IMPORTED_MODULE_6__utils_JSONReviver_js__["b" /* Generic_toJSON */])("GangMemberUpgrade", this); } @@ -50516,166 +50649,203 @@ __WEBPACK_IMPORTED_MODULE_6__utils_JSONReviver_js__["c" /* Reviver */].construct let GangMemberUpgrades = { "Baseball Bat" : new GangMemberUpgrade("Baseball Bat", - "Increases strength and defense by 5%", 1e6), + "Increases strength and defense by 5%", 1e6, "w"), "Katana" : new GangMemberUpgrade("Katana", - "Increases strength, defense, and dexterity by 10%", 12e6), + "Increases strength, defense, and dexterity by 10%", 12e6, "w"), "Glock 18C" : new GangMemberUpgrade("Glock 18C", - "Increases strength, defense, dexterity, and agility by 15%", 25e6), - "P90" : new GangMemberUpgrade("P90C", - "Increases strength and defense by 20%. Increases agility by 10%", 50e6), + "Increases strength, defense, dexterity, and agility by 15%", 25e6, "w"), + "P90C" : new GangMemberUpgrade("P90C", + "Increases strength and defense by 20%. Increases agility by 10%", 50e6, "w"), "Steyr AUG" : new GangMemberUpgrade("Steyr AUG", - "Increases strength and defense by 25%", 60e6), + "Increases strength and defense by 25%", 60e6, "w"), "AK-47" : new GangMemberUpgrade("AK-47", - "Increases strength and defense by 50%", 100e6), + "Increases strength and defense by 50%", 100e6, "w"), "M15A10 Assault Rifle" : new GangMemberUpgrade("M15A10 Assault Rifle", - "Increases strength and defense by 60%", 150e6), + "Increases strength and defense by 60%", 150e6, "w"), "AWM Sniper Rifle" : new GangMemberUpgrade("AWM Sniper Rifle", - "Increases strength, dexterity, and agility by 50%", 225e6), + "Increases strength, dexterity, and agility by 50%", 225e6, "w"), "Bulletproof Vest" : new GangMemberUpgrade("Bulletproof Vest", - "Increases defense by 5%", 2e6), + "Increases defense by 5%", 2e6, "a"), "Full Body Armor" : new GangMemberUpgrade("Full Body Armor", - "Increases defense by 10%", 5e6), + "Increases defense by 10%", 5e6, "a"), "Liquid Body Armor" : new GangMemberUpgrade("Liquid Body Armor", - "Increases defense and agility by 25%", 25e6), + "Increases defense and agility by 25%", 25e6, "a"), "Graphene Plating Armor" : new GangMemberUpgrade("Graphene Plating Armor", - "Increases defense by 50%", 40e6), + "Increases defense by 50%", 40e6, "a"), "Ford Flex V20" : new GangMemberUpgrade("Ford Flex V20", - "Increases agility and charisma by 10%", 3e6), + "Increases agility and charisma by 10%", 3e6, "v"), "ATX1070 Superbike" : new GangMemberUpgrade("ATX1070 Superbike", - "Increases agility and charisma by 15%", 9e6), + "Increases agility and charisma by 15%", 9e6, "v"), "Mercedes-Benz S9001" : new GangMemberUpgrade("Mercedes-Benz S9001", - "Increases agility and charisma by 20%", 18e6), + "Increases agility and charisma by 20%", 18e6, "v"), "White Ferrari" : new GangMemberUpgrade("White Ferrari", - "Increases agility and charisma by 25%", 30e6), + "Increases agility and charisma by 25%", 30e6, "v"), "NUKE Rootkit" : new GangMemberUpgrade("NUKE Rootkit", - "Increases hacking by 10%", 5e6), + "Increases hacking by 10%", 5e6, "r"), "Soulstealer Rootkit" : new GangMemberUpgrade("Soulstealer Rootkit", - "Increases hacking by 20%", 15e6), + "Increases hacking by 20%", 15e6, "r"), "Demon Rootkit" : new GangMemberUpgrade("Demon Rootkit", - "Increases hacking by 30%", 50e6), + "Increases hacking by 30%", 50e6, "r"), } //Create a pop-up box that lets player purchase upgrades let gangMemberUpgradeBoxOpened = false; -function createGangMemberUpgradeBox(memberObj) { - console.log("Creating gang member upgrade box for " + memberObj.name); - var container = document.getElementById("gang-purchase-upgrade-container"); - if (container) { - while (container.firstChild) { - container.removeChild(container.firstChild); +function createGangMemberUpgradeBox(initialFilter="") { + var boxId = "gang-member-upgrade-popup-box"; + if (gangMemberUpgradeBoxOpened) { + //Already opened, refreshing + if (gangMemberUpgradeBoxElements == null || gangMemberUpgradeBox == null || gangMemberUpgradeBoxContent == null) { + console.log("ERROR: Refreshing Gang member upgrade box throws error because required elements are null"); + return; + } + + for (var i = 1; i < gangMemberUpgradeBoxElements.length; ++i) { + Object(__WEBPACK_IMPORTED_MODULE_7__utils_HelperFunctions_js__["l" /* removeElement */])(gangMemberUpgradeBoxElements[i]); + } + gangMemberUpgradeBoxElements = [gangMemberUpgradeBoxFilter]; + + var filter = gangMemberUpgradeBoxFilter.value.toString(); + for (var i = 0; i < __WEBPACK_IMPORTED_MODULE_4__Player_js__["a" /* Player */].gang.members.length; ++i) { + if (__WEBPACK_IMPORTED_MODULE_4__Player_js__["a" /* Player */].gang.members[i].name.indexOf(filter) > -1 || __WEBPACK_IMPORTED_MODULE_4__Player_js__["a" /* Player */].gang.members[i].task.name.indexOf(filter) > -1) { + var newPanel = createGangMemberUpgradePanel(__WEBPACK_IMPORTED_MODULE_4__Player_js__["a" /* Player */].gang.members[i]); + gangMemberUpgradeBoxContent.appendChild(newPanel); + gangMemberUpgradeBoxElements.push(newPanel); + } } } else { - var container = document.createElement("div"); - container.setAttribute("id", "gang-purchase-upgrade-container"); - document.getElementById("entire-game-container").appendChild(container); - container.setAttribute("class", "dialog-box-container"); - container.style.display = "block"; + //New popup + gangMemberUpgradeBoxFilter = Object(__WEBPACK_IMPORTED_MODULE_7__utils_HelperFunctions_js__["f" /* createElement */])("input", { + type:"text", placeholder:"Filter gang members", + value:initialFilter, + onkeyup:()=>{ + var filterValue = gangMemberUpgradeBoxFilter.value.toString(); + createGangMemberUpgradeBox(filterValue); + } + }); + + gangMemberUpgradeBoxElements = [gangMemberUpgradeBoxFilter]; + + var filter = gangMemberUpgradeBoxFilter.value.toString(); + for (var i = 0; i < __WEBPACK_IMPORTED_MODULE_4__Player_js__["a" /* Player */].gang.members.length; ++i) { + if (__WEBPACK_IMPORTED_MODULE_4__Player_js__["a" /* Player */].gang.members[i].name.indexOf(filter) > -1 || __WEBPACK_IMPORTED_MODULE_4__Player_js__["a" /* Player */].gang.members[i].task.name.indexOf(filter) > -1) { + gangMemberUpgradeBoxElements.push(createGangMemberUpgradePanel(__WEBPACK_IMPORTED_MODULE_4__Player_js__["a" /* Player */].gang.members[i])); + } + } + + gangMemberUpgradeBox = Object(__WEBPACK_IMPORTED_MODULE_7__utils_HelperFunctions_js__["g" /* createPopup */])(boxId, gangMemberUpgradeBoxElements); + gangMemberUpgradeBoxContent = document.getElementById(boxId + "-content"); + gangMemberUpgradeBoxOpened = true; } - - var content = document.createElement("div"); - content.setAttribute("class", "dialog-box-content"); - content.setAttribute("id", "gang-purchase-upgrade-content"); - container.appendChild(content); - - var intro = document.createElement("p"); - content.appendChild(intro); - intro.innerHTML = - memberObj.name + "

" + - "A gang member can be upgraded with a weapon, armor, a vehicle, and a hacking rootkit. " + - "For each of these pieces of equipment, a gang member can only have one at a time (i.e " + - "a member cannot have two weapons or two vehicles). Purchasing an upgrade will automatically " + - "replace the member's existing upgrade, if he/she is equipped with one. The existing upgrade " + - "will be lost and will have to be re-purchased if you want to switch back.

"; - - //Weapons - var weaponTxt = document.createElement("p"); - weaponTxt.style.display = "block"; - content.appendChild(weaponTxt); - if (memberObj.weaponUpgrade instanceof GangMemberUpgrade) { - weaponTxt.innerHTML = "Weapons (Current Equip: " + memberObj.weaponUpgrade.name + ")"; - } else { - weaponTxt.innerHTML = "Weapons (Current Equip: NONE)"; - } - var weaponNames = ["Baseball Bat", "Katana", "Glock 18C", "P90", "Steyr AUG", - "AK-47", "M15A10 Assault Rifle", "AWM Sniper Rifle"]; - createGangMemberUpgradeButtons(memberObj, weaponNames, memberObj.weaponUpgrade, content); - content.appendChild(document.createElement("br")); - - var armorTxt = document.createElement("p"); - armorTxt.style.display = "block"; - content.appendChild(armorTxt); - if (memberObj.armorUpgrade instanceof GangMemberUpgrade) { - armorTxt.innerHTML = "Armor (Current Equip: " + memberObj.armorUpgrade.name + ")"; - } else { - armorTxt.innerHTML = "Armor (Current Equip: NONE)"; - } - var armorNames = ["Bulletproof Vest", "Full Body Armor", "Liquid Body Armor", - "Graphene Plating Armor"]; - createGangMemberUpgradeButtons(memberObj, armorNames, memberObj.armorUpgrade, content); - - var vehicleTxt = document.createElement("p"); - vehicleTxt.style.display = "block"; - content.appendChild(vehicleTxt); - if (memberObj.vehicleUpgrade instanceof GangMemberUpgrade) { - vehicleTxt.innerHTML = "Vehicles (Current Equip: " + memberObj.vehicleUpgrade.name + ")"; - } else { - vehicleTxt.innerHTML = "Vehicles (Current Equip: NONE)"; - } - var vehicleNames = ["Ford Flex V20", "ATX1070 Superbike", "Mercedes-Benz S9001", - "White Ferrari"]; - createGangMemberUpgradeButtons(memberObj, vehicleNames, memberObj.vehicleUpgrade, content); - - var rootkitTxt = document.createElement("p"); - rootkitTxt.style.display = "block"; - content.appendChild(rootkitTxt); - if (memberObj.hackingUpgrade instanceof GangMemberUpgrade) { - rootkitTxt.innerHTML = "Rootkits (Current Equip: " + memberObj.hackingUpgrade.name + ")"; - } else { - rootkitTxt.innerHTML = "Rootkits (Current Equip: NONE)"; - } - var rootkitNames = ["NUKE Rootkit", "Soulstealer Rootkit", "Demon Rootkit"]; - createGangMemberUpgradeButtons(memberObj, rootkitNames, memberObj.hackingUpgrade, content); - - gangMemberUpgradeBoxOpened = true; } -function createGangMemberUpgradeButtons(memberObj, upgNames, memberUpgrade, content) { - for (var i = 0; i < upgNames.length; ++i) { - (function() { - var upgrade = GangMemberUpgrades[upgNames[i]]; - if (upgrade == null) { - console.log("ERROR: Could not find GangMemberUpgrade object for" + upgNames[i]); - return; //Return inside closure +//Create upgrade panels for each individual Gang Member +function createGangMemberUpgradePanel(memberObj) { + var container = Object(__WEBPACK_IMPORTED_MODULE_7__utils_HelperFunctions_js__["f" /* createElement */])("div", { + border:"1px solid white", + }); + + var header = Object(__WEBPACK_IMPORTED_MODULE_7__utils_HelperFunctions_js__["f" /* createElement */])("h1", { + innerText:memberObj.name + " (" + memberObj.task.name + ")" + }); + container.appendChild(header); + + var text = Object(__WEBPACK_IMPORTED_MODULE_7__utils_HelperFunctions_js__["f" /* createElement */])("pre", { + fontSize:"14px", display: "inline-block", width:"20%", + innerText: + "Hack: " + memberObj.hack + " (x" + Object(__WEBPACK_IMPORTED_MODULE_9__utils_StringHelperFunctions_js__["c" /* formatNumber */])(memberObj.hack_mult, 2) + ")\n" + + "Str: " + memberObj.str + " (x" + Object(__WEBPACK_IMPORTED_MODULE_9__utils_StringHelperFunctions_js__["c" /* formatNumber */])(memberObj.str_mult, 2) + ")\n" + + "Def: " + memberObj.def + " (x" + Object(__WEBPACK_IMPORTED_MODULE_9__utils_StringHelperFunctions_js__["c" /* formatNumber */])(memberObj.def_mult, 2) + ")\n" + + "Dex: " + memberObj.dex + " (x" + Object(__WEBPACK_IMPORTED_MODULE_9__utils_StringHelperFunctions_js__["c" /* formatNumber */])(memberObj.dex_mult, 2) + ")\n" + + "Agi: " + memberObj.agi + " (x" + Object(__WEBPACK_IMPORTED_MODULE_9__utils_StringHelperFunctions_js__["c" /* formatNumber */])(memberObj.agi_mult, 2) + ")\n" + + "Cha: " + memberObj.cha + " (x" + Object(__WEBPACK_IMPORTED_MODULE_9__utils_StringHelperFunctions_js__["c" /* formatNumber */])(memberObj.cha_mult, 2) + ")\n", + }); + + //Already purchased upgrades + var ownedUpgradesElements = []; + for (var i = 0; i < memberObj.upgrades.length; ++i) { + var upg = GangMemberUpgrades[memberObj.upgrades[i]]; + if (upg == null) { + console.log("ERR: Could not find this upgrade: " + memberObj.upgrades[i]); + continue; } - //Skip the currently owned upgrade - if (memberUpgrade instanceof GangMemberUpgrade && - memberUpgrade.name == upgrade.name) {return;} - - //Create button - var btn = document.createElement("a"); - btn.innerHTML = upgrade.name + " - $" + __WEBPACK_IMPORTED_MODULE_8__utils_numeral_min_js___default()(upgrade.cost).format('(0.00a)'); - if (__WEBPACK_IMPORTED_MODULE_4__Player_js__["a" /* Player */].money.gte(upgrade.cost)) { - btn.setAttribute("class", "popup-box-button tooltip") - } else { - btn.setAttribute("class", "popup-box-button-inactive tooltip"); - } - btn.style.cssFloat = "none"; - btn.style.display = "block"; - btn.style.margin = "8px"; - btn.style.width = "40%"; - - //Tooltip for upgrade - var tooltip = document.createElement("span"); - tooltip.setAttribute("class", "tooltiptext"); - tooltip.innerHTML = upgrade.desc; - btn.appendChild(tooltip); - - content.appendChild(btn); - btn.addEventListener("click", function() { - upgrade.purchase(memberObj); + var e = Object(__WEBPACK_IMPORTED_MODULE_7__utils_HelperFunctions_js__["f" /* createElement */])("div", { + border:"1px solid white", innerText:memberObj.upgrades[i], + margin:"1px", padding:"1px", tooltip:upg.desc, fontSize:"12px", }); - }()); // Immediate invocation + ownedUpgradesElements.push(e); } + var ownedUpgrades = Object(__WEBPACK_IMPORTED_MODULE_7__utils_HelperFunctions_js__["f" /* createElement */])("div", { + display:"inline-block", marginLeft:"6px", width:"75%", innerText:"Purchased Upgrades:", + }); + for (var i = 0; i < ownedUpgradesElements.length; ++i) { + ownedUpgrades.appendChild(ownedUpgradesElements[i]); + } + container.appendChild(text); + container.appendChild(ownedUpgrades); + container.appendChild(Object(__WEBPACK_IMPORTED_MODULE_7__utils_HelperFunctions_js__["f" /* createElement */])("br", {})); + + //Upgrade buttons. Only show upgrades that can be afforded + var weaponUpgrades = [], armorUpgrades = [], vehicleUpgrades = [], rootkitUpgrades = []; + for (var upgName in GangMemberUpgrades) { + if (GangMemberUpgrades.hasOwnProperty(upgName)) { + var upg = GangMemberUpgrades[upgName]; + if (__WEBPACK_IMPORTED_MODULE_4__Player_js__["a" /* Player */].money.lt(upg.cost) || memberObj.upgrades.includes(upgName)) {continue;} + switch (upg.type) { + case "w": + weaponUpgrades.push(upg); + break; + case "a": + armorUpgrades.push(upg); + break; + case "v": + vehicleUpgrades.push(upg); + break; + case "r": + rootkitUpgrades.push(upg); + break; + default: + console.log("ERROR: Invalid Gang Member Upgrade Type: " + upg.type); + } + } + } + + var weaponDiv = Object(__WEBPACK_IMPORTED_MODULE_7__utils_HelperFunctions_js__["f" /* createElement */])("div", {width:"20%", display:"inline-block",}); + var armorDiv = Object(__WEBPACK_IMPORTED_MODULE_7__utils_HelperFunctions_js__["f" /* createElement */])("div", {width:"20%", display:"inline-block",}); + var vehicleDiv = Object(__WEBPACK_IMPORTED_MODULE_7__utils_HelperFunctions_js__["f" /* createElement */])("div", {width:"20%", display:"inline-block",}); + var rootkitDiv = Object(__WEBPACK_IMPORTED_MODULE_7__utils_HelperFunctions_js__["f" /* createElement */])("div", {width:"20%", display:"inline-block",}); + var upgrades = [weaponUpgrades, armorUpgrades, vehicleUpgrades, rootkitUpgrades]; + var divs = [weaponDiv, armorDiv, vehicleDiv, rootkitDiv]; + + for (var i = 0; i < upgrades.length; ++i) { + var upgradeArray = upgrades[i]; + var div = divs[i]; + for (var j = 0; j < upgradeArray.length; ++j) { + var upg = upgradeArray[j]; + (function (upg, div, memberObj) { + div.appendChild(Object(__WEBPACK_IMPORTED_MODULE_7__utils_HelperFunctions_js__["f" /* createElement */])("a", { + innerText:upg.name + " - " + __WEBPACK_IMPORTED_MODULE_8__utils_numeral_min_js___default()(upg.cost).format("$0.000a"), + class:"a-link-button", margin:"2px", padding:"2px", display:"block", + fontSize:"12px", + tooltip:upg.desc, + clickListener:()=>{ + if (__WEBPACK_IMPORTED_MODULE_4__Player_js__["a" /* Player */].money.lt(upg.cost)) {return false;} + __WEBPACK_IMPORTED_MODULE_4__Player_js__["a" /* Player */].loseMoney(upg.cost); + memberObj.upgrades.push(upg.name); + upg.apply(memberObj); + var initFilterValue = gangMemberUpgradeBoxFilter.value.toString(); + createGangMemberUpgradeBox(initFilterValue); + return false; + } + })); + })(upg, div, memberObj); + } + } + + container.appendChild(weaponDiv); + container.appendChild(armorDiv); + container.appendChild(vehicleDiv); + container.appendChild(rootkitDiv); + return container; } //Gang DOM elements @@ -50689,8 +50859,13 @@ let gangManagementSubpage = null, gangTerritorySubpage = null; let gangDesc = null, gangInfo = null, gangRecruitMemberButton = null, gangRecruitRequirementText = null, gangExpandAllButton = null, gangCollapseAllButton, gangMemberFilter = null, + gangManageEquipmentButton = null, gangMemberList = null; +//Gang Equipment Upgrade Elements +let gangMemberUpgradeBox = null, gangMemberUpgradeBoxContent = null, + gangMemberUpgradeBoxFilter = null, gangMemberUpgradeBoxElements = null; + //Gang Territory Elements let gangTerritoryDescText = null, gangTerritoryInfoText = null; @@ -50805,7 +50980,7 @@ function displayGangContent() { return false; } }); - gangManagementSubpage.appendChild(recruitGangMemberBtn); + gangManagementSubpage.appendChild(gangRecruitMemberButton); //Text for how much reputation is required for recruiting next memberList gangRecruitRequirementText = Object(__WEBPACK_IMPORTED_MODULE_7__utils_HelperFunctions_js__["f" /* createElement */])("p", {color:"red", id:"gang-recruit-requirement-text"}); @@ -50814,38 +50989,50 @@ function displayGangContent() { //Gang Member List management buttons (Expand/Collapse All, select a single member) gangManagementSubpage.appendChild(Object(__WEBPACK_IMPORTED_MODULE_7__utils_HelperFunctions_js__["f" /* createElement */])("br", {})); gangExpandAllButton = Object(__WEBPACK_IMPORTED_MODULE_7__utils_HelperFunctions_js__["f" /* createElement */])("a", { - class:"a-link-button", display:"inline-block", margin:"4px", padding:"2px", + class:"a-link-button", display:"inline-block", innerHTML:"Expand All", clickListener:()=>{ var allHeaders = gangManagementSubpage.getElementsByClassName("accordion-header"); - allHeaders.forEach((hdr)=>{ + for (var i = 0; i < allHeaders.length; ++i) { + var hdr = allHeaders[i]; if (!hdr.classList.contains("active")) { hdr.click(); } - }) + } + return false; } }); gangCollapseAllButton = Object(__WEBPACK_IMPORTED_MODULE_7__utils_HelperFunctions_js__["f" /* createElement */])("a", { - class:"a-link-button", display:"inline-block", margin:"4px", padding:"2px", + class:"a-link-button", display:"inline-block", innerHTML:"Collapse All", clickListener:()=>{ var allHeaders = gangManagementSubpage.getElementsByClassName("accordion-header"); - allHeaders.forEach((hdr)=>{ + for (var i = 0; i < allHeaders.length; ++i) { + var hdr = allHeaders[i]; if (hdr.classList.contains("active")) { hdr.click(); } - }) + } + return false; } }); gangMemberFilter = Object(__WEBPACK_IMPORTED_MODULE_7__utils_HelperFunctions_js__["f" /* createElement */])("input", { - type:"text", placeholder:"Filter gang members", + type:"text", placeholder:"Filter gang members", margin:"5px", padding:"5px", onkeyup:()=>{ displayGangMemberList(); } }); + gangManageEquipmentButton = Object(__WEBPACK_IMPORTED_MODULE_7__utils_HelperFunctions_js__["f" /* createElement */])("a", { + class:"a-link-button", display:"inline-block", + innerHTML:"Manage Equipment", + clickListener:()=>{ + createGangMemberUpgradeBox(); + } + }); gangManagementSubpage.appendChild(gangExpandAllButton); gangManagementSubpage.appendChild(gangCollapseAllButton); gangManagementSubpage.appendChild(gangMemberFilter); + gangManagementSubpage.appendChild(gangManageEquipmentButton); //Gang Member list gangMemberList = Object(__WEBPACK_IMPORTED_MODULE_7__utils_HelperFunctions_js__["f" /* createElement */])("ul", {id:"gang-member-list"}); @@ -50879,7 +51066,7 @@ function displayGangContent() { territoryBorder.appendChild(gangTerritoryInfoText); gangTerritorySubpage.appendChild(territoryBorder); - gangContainer.appendChild(territorySubpage); + gangContainer.appendChild(gangTerritorySubpage); gangContainer.appendChild(gangManagementSubpage); document.getElementById("entire-game-container").appendChild(gangContainer); } @@ -50889,9 +51076,10 @@ function displayGangContent() { function displayGangMemberList() { Object(__WEBPACK_IMPORTED_MODULE_7__utils_HelperFunctions_js__["k" /* removeChildrenFromElement */])(gangMemberList); + var members = __WEBPACK_IMPORTED_MODULE_4__Player_js__["a" /* Player */].gang.members; var filter = gangMemberFilter.value.toString(); for (var i = 0; i < members.length; ++i) { - if (members[i].name.indexOf(filter) > -1) { + if (members[i].name.indexOf(filter) > -1 || members[i].task.name.indexOf(filter) > -1) { createGangMemberDisplayElement(members[i]); } } @@ -50906,19 +51094,19 @@ function updateGangContent() { gangTerritoryInfoText.innerHTML = ""; for (var gangname in AllGangs) { if (AllGangs.hasOwnProperty(gangname)) { - var gangInfo = AllGangs[gangname]; + var gangTerritoryInfo = AllGangs[gangname]; if (gangname == __WEBPACK_IMPORTED_MODULE_4__Player_js__["a" /* Player */].gang.facName) { - gangTerritoryInfoText.innerHTML += ("" + gangname + "
(Power: " + Object(__WEBPACK_IMPORTED_MODULE_9__utils_StringHelperFunctions_js__["c" /* formatNumber */])(gangInfo.power, 6) + "): " + - Object(__WEBPACK_IMPORTED_MODULE_9__utils_StringHelperFunctions_js__["c" /* formatNumber */])(100*gangInfo.territory, 2) + "%

"); + gangTerritoryInfoText.innerHTML += ("" + gangname + "
(Power: " + Object(__WEBPACK_IMPORTED_MODULE_9__utils_StringHelperFunctions_js__["c" /* formatNumber */])(gangTerritoryInfo.power, 6) + "): " + + Object(__WEBPACK_IMPORTED_MODULE_9__utils_StringHelperFunctions_js__["c" /* formatNumber */])(100*gangTerritoryInfo.territory, 2) + "%

"); } else { - gangTerritoryInfoText.innerHTML += (gangname + "
(Power: " + Object(__WEBPACK_IMPORTED_MODULE_9__utils_StringHelperFunctions_js__["c" /* formatNumber */])(gangInfo.power, 6) + "): " + - Object(__WEBPACK_IMPORTED_MODULE_9__utils_StringHelperFunctions_js__["c" /* formatNumber */])(100*gangInfo.territory, 2) + "%

"); + gangTerritoryInfoText.innerHTML += (gangname + "
(Power: " + Object(__WEBPACK_IMPORTED_MODULE_9__utils_StringHelperFunctions_js__["c" /* formatNumber */])(gangTerritoryInfo.power, 6) + "): " + + Object(__WEBPACK_IMPORTED_MODULE_9__utils_StringHelperFunctions_js__["c" /* formatNumber */])(100*gangTerritoryInfo.territory, 2) + "%

"); } } } } else { //Update information for overall gang - if (gangInfo) { + if (gangInfo instanceof Element) { var faction = __WEBPACK_IMPORTED_MODULE_2__Faction_js__["b" /* Factions */][__WEBPACK_IMPORTED_MODULE_4__Player_js__["a" /* Player */].gang.facName]; var rep; if (!(faction instanceof __WEBPACK_IMPORTED_MODULE_2__Faction_js__["a" /* Faction */])) { @@ -50928,7 +51116,7 @@ function updateGangContent() { } Object(__WEBPACK_IMPORTED_MODULE_7__utils_HelperFunctions_js__["k" /* removeChildrenFromElement */])(gangInfo); gangInfo.appendChild(Object(__WEBPACK_IMPORTED_MODULE_7__utils_HelperFunctions_js__["f" /* createElement */])("p", { //Respect - display:"block", + display:"inline-block", innerText:"Respect: " + Object(__WEBPACK_IMPORTED_MODULE_9__utils_StringHelperFunctions_js__["c" /* formatNumber */])(__WEBPACK_IMPORTED_MODULE_4__Player_js__["a" /* Player */].gang.respect, 6) + " (" + Object(__WEBPACK_IMPORTED_MODULE_9__utils_StringHelperFunctions_js__["c" /* formatNumber */])(5*__WEBPACK_IMPORTED_MODULE_4__Player_js__["a" /* Player */].gang.respectGainRate, 6) + " / sec)", tooltip:"Represents the amount of respect your gang has from other gangs and criminal " + @@ -50936,38 +51124,47 @@ function updateGangContent() { "your gang members will earn, and also determines how much " + "reputation you are earning with your gang's corresponding Faction." })); + gangInfo.appendChild(Object(__WEBPACK_IMPORTED_MODULE_7__utils_HelperFunctions_js__["f" /* createElement */])("br", {})); + gangInfo.appendChild(Object(__WEBPACK_IMPORTED_MODULE_7__utils_HelperFunctions_js__["f" /* createElement */])("p", { //Wanted level - display:"block", + display:"inline-block", innerText:"Wanted Level: " + Object(__WEBPACK_IMPORTED_MODULE_9__utils_StringHelperFunctions_js__["c" /* formatNumber */])(__WEBPACK_IMPORTED_MODULE_4__Player_js__["a" /* Player */].gang.wanted, 6) + " (" + Object(__WEBPACK_IMPORTED_MODULE_9__utils_StringHelperFunctions_js__["c" /* formatNumber */])(5*__WEBPACK_IMPORTED_MODULE_4__Player_js__["a" /* Player */].gang.wantedGainRate, 6) + " / sec)", tooltip:"Represents how much the gang is wanted by law enforcement. The higher " + "your gang's wanted level, the harder it will be for your gang members " + "to make money and earn respect. Note that the minimum wanted level is 1." })); + gangInfo.appendChild(Object(__WEBPACK_IMPORTED_MODULE_7__utils_HelperFunctions_js__["f" /* createElement */])("br", {})); var wantedPenalty = (__WEBPACK_IMPORTED_MODULE_4__Player_js__["a" /* Player */].gang.respect) / (__WEBPACK_IMPORTED_MODULE_4__Player_js__["a" /* Player */].gang.respect + __WEBPACK_IMPORTED_MODULE_4__Player_js__["a" /* Player */].gang.wanted); wantedPenalty = (1 - wantedPenalty) * 100; gangInfo.appendChild(Object(__WEBPACK_IMPORTED_MODULE_7__utils_HelperFunctions_js__["f" /* createElement */])("p", { //Wanted Level multiplier - display:"block", + display:"inline-block", innerText:"Wanted Level Penalty: -" + Object(__WEBPACK_IMPORTED_MODULE_9__utils_StringHelperFunctions_js__["c" /* formatNumber */])(wantedPenalty, 2) + "%", tooltip:"Penalty for respect and money gain rates due to Wanted Level" })); + gangInfo.appendChild(Object(__WEBPACK_IMPORTED_MODULE_7__utils_HelperFunctions_js__["f" /* createElement */])("br", {})); + gangInfo.appendChild(Object(__WEBPACK_IMPORTED_MODULE_7__utils_HelperFunctions_js__["f" /* createElement */])("p", { //Money gain rate - display:"block", + display:"inline-block", innerText:"Money gain rate: $" + Object(__WEBPACK_IMPORTED_MODULE_9__utils_StringHelperFunctions_js__["c" /* formatNumber */])(5*__WEBPACK_IMPORTED_MODULE_4__Player_js__["a" /* Player */].gang.moneyGainRate, 2) + " / sec", })); + gangInfo.appendChild(Object(__WEBPACK_IMPORTED_MODULE_7__utils_HelperFunctions_js__["f" /* createElement */])("br", {})); var territoryMult = AllGangs[__WEBPACK_IMPORTED_MODULE_4__Player_js__["a" /* Player */].gang.facName].territory; gangInfo.appendChild(Object(__WEBPACK_IMPORTED_MODULE_7__utils_HelperFunctions_js__["f" /* createElement */])("p", { //Territory multiplier - display:"block", - innerText:"Territory: " + Object(__WEBPACK_IMPORTED_MODULE_9__utils_StringHelperFunctions_js__["c" /* formatNumber */])(territoryMult * 100, 3), + display:"inline-block", + innerText:"Territory: " + Object(__WEBPACK_IMPORTED_MODULE_9__utils_StringHelperFunctions_js__["c" /* formatNumber */])(territoryMult * 100, 3) + "%", tooltip:"The percentage of total territory your Gang controls" })); + gangInfo.appendChild(Object(__WEBPACK_IMPORTED_MODULE_7__utils_HelperFunctions_js__["f" /* createElement */])("br", {})); + gangInfo.appendChild(Object(__WEBPACK_IMPORTED_MODULE_7__utils_HelperFunctions_js__["f" /* createElement */])("p", { //Faction reputation - display:"block", + display:"inline-block", innerText:"Faction reputation: " + Object(__WEBPACK_IMPORTED_MODULE_9__utils_StringHelperFunctions_js__["c" /* formatNumber */])(rep, 3) })); + gangInfo.appendChild(Object(__WEBPACK_IMPORTED_MODULE_7__utils_HelperFunctions_js__["f" /* createElement */])("br", {})); } else { console.log("ERROR: gang-info DOM element DNE"); } @@ -51006,29 +51203,6 @@ function updateGangContent() { } } -/* -function setGangMemberClickHandlers() { - //Server panel click handlers - var gangMemberHdrs = document.getElementsByClassName("gang-member-header"); - if (gangMemberHdrs == null) { - console.log("ERROR: Could not find Gang Member Headers"); - return; - } - for (let i = 0; i < gangMemberHdrs.length; ++i) { - gangMemberHdrs[i].onclick = function() { - this.classList.toggle("active"); - - var panel = this.nextElementSibling; - if (panel.style.display === "block") { - panel.style.display = "none"; - } else { - panel.style.display = "block"; - } - } - } -} -*/ - //Takes in a GangMember object function createGangMemberDisplayElement(memberObj) { if (!gangContentCreated || !__WEBPACK_IMPORTED_MODULE_4__Player_js__["a" /* Player */].inGang()) {return;} @@ -51039,20 +51213,8 @@ function createGangMemberDisplayElement(memberObj) { hdrText:name, }); var li = accordion[0]; - var hdr = accordion[2]; - var gangMemberDiv = accordion[3]; - /* - var li = document.createElement("li"); - - var hdr = document.createElement("button"); - hdr.setAttribute("class", "gang-member-header"); - hdr.setAttribute("id", name + "-gang-member-hdr"); - hdr.innerHTML = name; - - //Div for entire panel - var gangMemberDiv = document.createElement("div"); - gangMemberDiv.setAttribute("class", "gang-member-panel"); - */ + var hdr = accordion[1]; + var gangMemberDiv = accordion[2]; //Gang member content divided into 3 panels: //Stats Panel @@ -51064,22 +51226,6 @@ function createGangMemberDisplayElement(memberObj) { id:name + "gang-member-stats-text", display:"inline" }); - /* - var statsDiv = document.createElement("div"); - statsDiv.setAttribute("id", ); - statsDiv.setAttribute("class", "gang-member-info-div"); - var statsP = document.createElement("p"); - statsP.setAttribute("id", name + "gang-member-stats-text"); - statsP.style.display = "inline"; - var upgradeButton = document.createElement("a"); - upgradeButton.setAttribute("id", name + "gang-member-upgrade-btn"); - upgradeButton.setAttribute("class", "popup-box-button"); - upgradeButton.style.cssFloat = "left"; - upgradeButton.innerHTML = "Purchase Upgrades"; - upgradeButton.addEventListener("click", function() { - createGangMemberUpgradeBox(memberObj); - }); - */ statsDiv.appendChild(statsP); //statsDiv.appendChild(upgradeButton); @@ -51092,15 +51238,7 @@ function createGangMemberDisplayElement(memberObj) { color:"white", backgroundColor:"black", id:name + "gang-member-task-selector" }); - /* - var taskDiv = document.createElement("div"); - taskDiv.setAttribute("id", name + "gang-member-task"); - taskDiv.setAttribute("class", "gang-member-info-div"); - var taskSelector = document.createElement("select"); - taskSelector.style.color = "white"; - taskSelector.style.backgroundColor = "black"; - taskSelector.setAttribute("id", name + "gang-member-task-selector"); - */ + var tasks = null; if (__WEBPACK_IMPORTED_MODULE_4__Player_js__["a" /* Player */].gang.isHackingGang) { tasks = ["---", "Ransomware", "Phishing", "Identity Theft", "DDoS Attacks", @@ -51138,8 +51276,6 @@ function createGangMemberDisplayElement(memberObj) { } var gainInfo = Object(__WEBPACK_IMPORTED_MODULE_7__utils_HelperFunctions_js__["f" /* createElement */])("p", {id:name + "gang-member-gain-info"}); - /*var gainInfo = document.createElement("p"); //Wanted, respect, reputation, and money gain - gainInfo.setAttribute("id", name + "gang-member-gain-info");*/ taskDiv.appendChild(taskSelector); taskDiv.appendChild(gainInfo); @@ -51148,18 +51284,8 @@ function createGangMemberDisplayElement(memberObj) { id:name + "gang-member-task-desc", class:"gang-member-info-div", width:"30%", display:"inline" }); - /* - var taskDescDiv = document.createElement("div"); - taskDescDiv.setAttribute("id", name + "gang-member-task-desc"); - taskDescDiv.setAttribute("class", "gang-member-info-div"); - */ var taskDescP = Object(__WEBPACK_IMPORTED_MODULE_7__utils_HelperFunctions_js__["f" /* createElement */])("p", {id: name + "gang-member-task-description", display:"inline"}); - /* - var taskDescP = document.createElement("p"); - taskDescP.setAttribute("id", name + "gang-member-task-description"); - taskDescP.style.display = "inline"; - */ taskDescDiv.appendChild(taskDescP); statsDiv.style.width = "30%"; @@ -51172,12 +51298,8 @@ function createGangMemberDisplayElement(memberObj) { gangMemberDiv.appendChild(taskDiv); gangMemberDiv.appendChild(taskDescDiv); - //li.appendChild(hdr); - //li.appendChild(gangMemberDiv); - - document.getElementById("gang-member-list").appendChild(li); + gangMemberList.appendChild(li); setGangMemberTaskDescription(memberObj, taskName); //Initialize description - setGangMemberClickHandlers(); //Reset click handlers updateGangMemberDisplayElement(memberObj); } @@ -51290,7 +51412,8 @@ module.exports = function() { /***/ (function(module, exports) { module.exports.id = 'ace/mode/javascript_worker'; -module.exports.src = "\"no use strict\";(function(window){function resolveModuleId(id,paths){for(var testPath=id,tail=\"\";testPath;){var alias=paths[testPath];if(\"string\"==typeof alias)return alias+tail;if(alias)return alias.location.replace(/\\/*$/,\"/\")+(tail||alias.main||alias.name);if(alias===!1)return\"\";var i=testPath.lastIndexOf(\"/\");if(-1===i)break;tail=testPath.substr(i)+tail,testPath=testPath.slice(0,i)}return id}if(!(void 0!==window.window&&window.document||window.acequire&&window.define)){window.console||(window.console=function(){var msgs=Array.prototype.slice.call(arguments,0);postMessage({type:\"log\",data:msgs})},window.console.error=window.console.warn=window.console.log=window.console.trace=window.console),window.window=window,window.ace=window,window.onerror=function(message,file,line,col,err){postMessage({type:\"error\",data:{message:message,data:err.data,file:file,line:line,col:col,stack:err.stack}})},window.normalizeModule=function(parentId,moduleName){if(-1!==moduleName.indexOf(\"!\")){var chunks=moduleName.split(\"!\");return window.normalizeModule(parentId,chunks[0])+\"!\"+window.normalizeModule(parentId,chunks[1])}if(\".\"==moduleName.charAt(0)){var base=parentId.split(\"/\").slice(0,-1).join(\"/\");for(moduleName=(base?base+\"/\":\"\")+moduleName;-1!==moduleName.indexOf(\".\")&&previous!=moduleName;){var previous=moduleName;moduleName=moduleName.replace(/^\\.\\//,\"\").replace(/\\/\\.\\//,\"/\").replace(/[^\\/]+\\/\\.\\.\\//,\"\")}}return moduleName},window.acequire=function acequire(parentId,id){if(id||(id=parentId,parentId=null),!id.charAt)throw Error(\"worker.js acequire() accepts only (parentId, id) as arguments\");id=window.normalizeModule(parentId,id);var module=window.acequire.modules[id];if(module)return module.initialized||(module.initialized=!0,module.exports=module.factory().exports),module.exports;if(!window.acequire.tlns)return console.log(\"unable to load \"+id);var path=resolveModuleId(id,window.acequire.tlns);return\".js\"!=path.slice(-3)&&(path+=\".js\"),window.acequire.id=id,window.acequire.modules[id]={},importScripts(path),window.acequire(parentId,id)},window.acequire.modules={},window.acequire.tlns={},window.define=function(id,deps,factory){if(2==arguments.length?(factory=deps,\"string\"!=typeof id&&(deps=id,id=window.acequire.id)):1==arguments.length&&(factory=id,deps=[],id=window.acequire.id),\"function\"!=typeof factory)return window.acequire.modules[id]={exports:factory,initialized:!0},void 0;deps.length||(deps=[\"require\",\"exports\",\"module\"]);var req=function(childId){return window.acequire(id,childId)};window.acequire.modules[id]={exports:{},factory:function(){var module=this,returnExports=factory.apply(this,deps.map(function(dep){switch(dep){case\"require\":return req;case\"exports\":return module.exports;case\"module\":return module;default:return req(dep)}}));return returnExports&&(module.exports=returnExports),module}}},window.define.amd={},acequire.tlns={},window.initBaseUrls=function(topLevelNamespaces){for(var i in topLevelNamespaces)acequire.tlns[i]=topLevelNamespaces[i]},window.initSender=function(){var EventEmitter=window.acequire(\"ace/lib/event_emitter\").EventEmitter,oop=window.acequire(\"ace/lib/oop\"),Sender=function(){};return function(){oop.implement(this,EventEmitter),this.callback=function(data,callbackId){postMessage({type:\"call\",id:callbackId,data:data})},this.emit=function(name,data){postMessage({type:\"event\",name:name,data:data})}}.call(Sender.prototype),new Sender};var main=window.main=null,sender=window.sender=null;window.onmessage=function(e){var msg=e.data;if(msg.event&&sender)sender._signal(msg.event,msg.data);else if(msg.command)if(main[msg.command])main[msg.command].apply(main,msg.args);else{if(!window[msg.command])throw Error(\"Unknown command:\"+msg.command);window[msg.command].apply(window,msg.args)}else if(msg.init){window.initBaseUrls(msg.tlns),acequire(\"ace/lib/es5-shim\"),sender=window.sender=window.initSender();var clazz=acequire(msg.module)[msg.classname];main=window.main=new clazz(sender)}}}})(this),ace.define(\"ace/lib/oop\",[\"require\",\"exports\",\"module\"],function(acequire,exports){\"use strict\";exports.inherits=function(ctor,superCtor){ctor.super_=superCtor,ctor.prototype=Object.create(superCtor.prototype,{constructor:{value:ctor,enumerable:!1,writable:!0,configurable:!0}})},exports.mixin=function(obj,mixin){for(var key in mixin)obj[key]=mixin[key];return obj},exports.implement=function(proto,mixin){exports.mixin(proto,mixin)}}),ace.define(\"ace/range\",[\"require\",\"exports\",\"module\"],function(acequire,exports){\"use strict\";var comparePoints=function(p1,p2){return p1.row-p2.row||p1.column-p2.column},Range=function(startRow,startColumn,endRow,endColumn){this.start={row:startRow,column:startColumn},this.end={row:endRow,column:endColumn}};(function(){this.isEqual=function(range){return this.start.row===range.start.row&&this.end.row===range.end.row&&this.start.column===range.start.column&&this.end.column===range.end.column},this.toString=function(){return\"Range: [\"+this.start.row+\"/\"+this.start.column+\"] -> [\"+this.end.row+\"/\"+this.end.column+\"]\"},this.contains=function(row,column){return 0==this.compare(row,column)},this.compareRange=function(range){var cmp,end=range.end,start=range.start;return cmp=this.compare(end.row,end.column),1==cmp?(cmp=this.compare(start.row,start.column),1==cmp?2:0==cmp?1:0):-1==cmp?-2:(cmp=this.compare(start.row,start.column),-1==cmp?-1:1==cmp?42:0)},this.comparePoint=function(p){return this.compare(p.row,p.column)},this.containsRange=function(range){return 0==this.comparePoint(range.start)&&0==this.comparePoint(range.end)},this.intersects=function(range){var cmp=this.compareRange(range);return-1==cmp||0==cmp||1==cmp},this.isEnd=function(row,column){return this.end.row==row&&this.end.column==column},this.isStart=function(row,column){return this.start.row==row&&this.start.column==column},this.setStart=function(row,column){\"object\"==typeof row?(this.start.column=row.column,this.start.row=row.row):(this.start.row=row,this.start.column=column)},this.setEnd=function(row,column){\"object\"==typeof row?(this.end.column=row.column,this.end.row=row.row):(this.end.row=row,this.end.column=column)},this.inside=function(row,column){return 0==this.compare(row,column)?this.isEnd(row,column)||this.isStart(row,column)?!1:!0:!1},this.insideStart=function(row,column){return 0==this.compare(row,column)?this.isEnd(row,column)?!1:!0:!1},this.insideEnd=function(row,column){return 0==this.compare(row,column)?this.isStart(row,column)?!1:!0:!1},this.compare=function(row,column){return this.isMultiLine()||row!==this.start.row?this.start.row>row?-1:row>this.end.row?1:this.start.row===row?column>=this.start.column?0:-1:this.end.row===row?this.end.column>=column?0:1:0:this.start.column>column?-1:column>this.end.column?1:0},this.compareStart=function(row,column){return this.start.row==row&&this.start.column==column?-1:this.compare(row,column)},this.compareEnd=function(row,column){return this.end.row==row&&this.end.column==column?1:this.compare(row,column)},this.compareInside=function(row,column){return this.end.row==row&&this.end.column==column?1:this.start.row==row&&this.start.column==column?-1:this.compare(row,column)},this.clipRows=function(firstRow,lastRow){if(this.end.row>lastRow)var end={row:lastRow+1,column:0};else if(firstRow>this.end.row)var end={row:firstRow,column:0};if(this.start.row>lastRow)var start={row:lastRow+1,column:0};else if(firstRow>this.start.row)var start={row:firstRow,column:0};return Range.fromPoints(start||this.start,end||this.end)},this.extend=function(row,column){var cmp=this.compare(row,column);if(0==cmp)return this;if(-1==cmp)var start={row:row,column:column};else var end={row:row,column:column};return Range.fromPoints(start||this.start,end||this.end)},this.isEmpty=function(){return this.start.row===this.end.row&&this.start.column===this.end.column},this.isMultiLine=function(){return this.start.row!==this.end.row},this.clone=function(){return Range.fromPoints(this.start,this.end)},this.collapseRows=function(){return 0==this.end.column?new Range(this.start.row,0,Math.max(this.start.row,this.end.row-1),0):new Range(this.start.row,0,this.end.row,0)},this.toScreenRange=function(session){var screenPosStart=session.documentToScreenPosition(this.start),screenPosEnd=session.documentToScreenPosition(this.end);return new Range(screenPosStart.row,screenPosStart.column,screenPosEnd.row,screenPosEnd.column)},this.moveBy=function(row,column){this.start.row+=row,this.start.column+=column,this.end.row+=row,this.end.column+=column}}).call(Range.prototype),Range.fromPoints=function(start,end){return new Range(start.row,start.column,end.row,end.column)},Range.comparePoints=comparePoints,Range.comparePoints=function(p1,p2){return p1.row-p2.row||p1.column-p2.column},exports.Range=Range}),ace.define(\"ace/apply_delta\",[\"require\",\"exports\",\"module\"],function(acequire,exports){\"use strict\";exports.applyDelta=function(docLines,delta){var row=delta.start.row,startColumn=delta.start.column,line=docLines[row]||\"\";switch(delta.action){case\"insert\":var lines=delta.lines;if(1===lines.length)docLines[row]=line.substring(0,startColumn)+delta.lines[0]+line.substring(startColumn);else{var args=[row,1].concat(delta.lines);docLines.splice.apply(docLines,args),docLines[row]=line.substring(0,startColumn)+docLines[row],docLines[row+delta.lines.length-1]+=line.substring(startColumn)}break;case\"remove\":var endColumn=delta.end.column,endRow=delta.end.row;row===endRow?docLines[row]=line.substring(0,startColumn)+line.substring(endColumn):docLines.splice(row,endRow-row+1,line.substring(0,startColumn)+docLines[endRow].substring(endColumn))}}}),ace.define(\"ace/lib/event_emitter\",[\"require\",\"exports\",\"module\"],function(acequire,exports){\"use strict\";var EventEmitter={},stopPropagation=function(){this.propagationStopped=!0},preventDefault=function(){this.defaultPrevented=!0};EventEmitter._emit=EventEmitter._dispatchEvent=function(eventName,e){this._eventRegistry||(this._eventRegistry={}),this._defaultHandlers||(this._defaultHandlers={});var listeners=this._eventRegistry[eventName]||[],defaultHandler=this._defaultHandlers[eventName];if(listeners.length||defaultHandler){\"object\"==typeof e&&e||(e={}),e.type||(e.type=eventName),e.stopPropagation||(e.stopPropagation=stopPropagation),e.preventDefault||(e.preventDefault=preventDefault),listeners=listeners.slice();for(var i=0;listeners.length>i&&(listeners[i](e,this),!e.propagationStopped);i++);return defaultHandler&&!e.defaultPrevented?defaultHandler(e,this):void 0}},EventEmitter._signal=function(eventName,e){var listeners=(this._eventRegistry||{})[eventName];if(listeners){listeners=listeners.slice();for(var i=0;listeners.length>i;i++)listeners[i](e,this)}},EventEmitter.once=function(eventName,callback){var _self=this;callback&&this.addEventListener(eventName,function newCallback(){_self.removeEventListener(eventName,newCallback),callback.apply(null,arguments)})},EventEmitter.setDefaultHandler=function(eventName,callback){var handlers=this._defaultHandlers;if(handlers||(handlers=this._defaultHandlers={_disabled_:{}}),handlers[eventName]){var old=handlers[eventName],disabled=handlers._disabled_[eventName];disabled||(handlers._disabled_[eventName]=disabled=[]),disabled.push(old);var i=disabled.indexOf(callback);-1!=i&&disabled.splice(i,1)}handlers[eventName]=callback},EventEmitter.removeDefaultHandler=function(eventName,callback){var handlers=this._defaultHandlers;if(handlers){var disabled=handlers._disabled_[eventName];if(handlers[eventName]==callback)handlers[eventName],disabled&&this.setDefaultHandler(eventName,disabled.pop());else if(disabled){var i=disabled.indexOf(callback);-1!=i&&disabled.splice(i,1)}}},EventEmitter.on=EventEmitter.addEventListener=function(eventName,callback,capturing){this._eventRegistry=this._eventRegistry||{};var listeners=this._eventRegistry[eventName];return listeners||(listeners=this._eventRegistry[eventName]=[]),-1==listeners.indexOf(callback)&&listeners[capturing?\"unshift\":\"push\"](callback),callback},EventEmitter.off=EventEmitter.removeListener=EventEmitter.removeEventListener=function(eventName,callback){this._eventRegistry=this._eventRegistry||{};var listeners=this._eventRegistry[eventName];if(listeners){var index=listeners.indexOf(callback);-1!==index&&listeners.splice(index,1)}},EventEmitter.removeAllListeners=function(eventName){this._eventRegistry&&(this._eventRegistry[eventName]=[])},exports.EventEmitter=EventEmitter}),ace.define(\"ace/anchor\",[\"require\",\"exports\",\"module\",\"ace/lib/oop\",\"ace/lib/event_emitter\"],function(acequire,exports){\"use strict\";var oop=acequire(\"./lib/oop\"),EventEmitter=acequire(\"./lib/event_emitter\").EventEmitter,Anchor=exports.Anchor=function(doc,row,column){this.$onChange=this.onChange.bind(this),this.attach(doc),column===void 0?this.setPosition(row.row,row.column):this.setPosition(row,column)};(function(){function $pointsInOrder(point1,point2,equalPointsInOrder){var bColIsAfter=equalPointsInOrder?point1.column<=point2.column:point1.columnthis.row)){var point=$getTransformedPoint(delta,{row:this.row,column:this.column},this.$insertRight);this.setPosition(point.row,point.column,!0)}},this.setPosition=function(row,column,noClip){var pos;if(pos=noClip?{row:row,column:column}:this.$clipPositionToDocument(row,column),this.row!=pos.row||this.column!=pos.column){var old={row:this.row,column:this.column};this.row=pos.row,this.column=pos.column,this._signal(\"change\",{old:old,value:pos})}},this.detach=function(){this.document.removeEventListener(\"change\",this.$onChange)},this.attach=function(doc){this.document=doc||this.document,this.document.on(\"change\",this.$onChange)},this.$clipPositionToDocument=function(row,column){var pos={};return row>=this.document.getLength()?(pos.row=Math.max(0,this.document.getLength()-1),pos.column=this.document.getLine(pos.row).length):0>row?(pos.row=0,pos.column=0):(pos.row=row,pos.column=Math.min(this.document.getLine(pos.row).length,Math.max(0,column))),0>column&&(pos.column=0),pos}}).call(Anchor.prototype)}),ace.define(\"ace/document\",[\"require\",\"exports\",\"module\",\"ace/lib/oop\",\"ace/apply_delta\",\"ace/lib/event_emitter\",\"ace/range\",\"ace/anchor\"],function(acequire,exports){\"use strict\";var oop=acequire(\"./lib/oop\"),applyDelta=acequire(\"./apply_delta\").applyDelta,EventEmitter=acequire(\"./lib/event_emitter\").EventEmitter,Range=acequire(\"./range\").Range,Anchor=acequire(\"./anchor\").Anchor,Document=function(textOrLines){this.$lines=[\"\"],0===textOrLines.length?this.$lines=[\"\"]:Array.isArray(textOrLines)?this.insertMergedLines({row:0,column:0},textOrLines):this.insert({row:0,column:0},textOrLines)};(function(){oop.implement(this,EventEmitter),this.setValue=function(text){var len=this.getLength()-1;this.remove(new Range(0,0,len,this.getLine(len).length)),this.insert({row:0,column:0},text)},this.getValue=function(){return this.getAllLines().join(this.getNewLineCharacter())},this.createAnchor=function(row,column){return new Anchor(this,row,column)},this.$split=0===\"aaa\".split(/a/).length?function(text){return text.replace(/\\r\\n|\\r/g,\"\\n\").split(\"\\n\")}:function(text){return text.split(/\\r\\n|\\r|\\n/)},this.$detectNewLine=function(text){var match=text.match(/^.*?(\\r\\n|\\r|\\n)/m);this.$autoNewLine=match?match[1]:\"\\n\",this._signal(\"changeNewLineMode\")},this.getNewLineCharacter=function(){switch(this.$newLineMode){case\"windows\":return\"\\r\\n\";case\"unix\":return\"\\n\";default:return this.$autoNewLine||\"\\n\"}},this.$autoNewLine=\"\",this.$newLineMode=\"auto\",this.setNewLineMode=function(newLineMode){this.$newLineMode!==newLineMode&&(this.$newLineMode=newLineMode,this._signal(\"changeNewLineMode\"))},this.getNewLineMode=function(){return this.$newLineMode},this.isNewLine=function(text){return\"\\r\\n\"==text||\"\\r\"==text||\"\\n\"==text},this.getLine=function(row){return this.$lines[row]||\"\"},this.getLines=function(firstRow,lastRow){return this.$lines.slice(firstRow,lastRow+1)},this.getAllLines=function(){return this.getLines(0,this.getLength())},this.getLength=function(){return this.$lines.length},this.getTextRange=function(range){return this.getLinesForRange(range).join(this.getNewLineCharacter())},this.getLinesForRange=function(range){var lines;if(range.start.row===range.end.row)lines=[this.getLine(range.start.row).substring(range.start.column,range.end.column)];else{lines=this.getLines(range.start.row,range.end.row),lines[0]=(lines[0]||\"\").substring(range.start.column);var l=lines.length-1;range.end.row-range.start.row==l&&(lines[l]=lines[l].substring(0,range.end.column))}return lines},this.insertLines=function(row,lines){return console.warn(\"Use of document.insertLines is deprecated. Use the insertFullLines method instead.\"),this.insertFullLines(row,lines)},this.removeLines=function(firstRow,lastRow){return console.warn(\"Use of document.removeLines is deprecated. Use the removeFullLines method instead.\"),this.removeFullLines(firstRow,lastRow)},this.insertNewLine=function(position){return console.warn(\"Use of document.insertNewLine is deprecated. Use insertMergedLines(position, ['', '']) instead.\"),this.insertMergedLines(position,[\"\",\"\"])},this.insert=function(position,text){return 1>=this.getLength()&&this.$detectNewLine(text),this.insertMergedLines(position,this.$split(text))},this.insertInLine=function(position,text){var start=this.clippedPos(position.row,position.column),end=this.pos(position.row,position.column+text.length);return this.applyDelta({start:start,end:end,action:\"insert\",lines:[text]},!0),this.clonePos(end)},this.clippedPos=function(row,column){var length=this.getLength();void 0===row?row=length:0>row?row=0:row>=length&&(row=length-1,column=void 0);var line=this.getLine(row);return void 0==column&&(column=line.length),column=Math.min(Math.max(column,0),line.length),{row:row,column:column}},this.clonePos=function(pos){return{row:pos.row,column:pos.column}},this.pos=function(row,column){return{row:row,column:column}},this.$clipPosition=function(position){var length=this.getLength();return position.row>=length?(position.row=Math.max(0,length-1),position.column=this.getLine(length-1).length):(position.row=Math.max(0,position.row),position.column=Math.min(Math.max(position.column,0),this.getLine(position.row).length)),position},this.insertFullLines=function(row,lines){row=Math.min(Math.max(row,0),this.getLength());var column=0;this.getLength()>row?(lines=lines.concat([\"\"]),column=0):(lines=[\"\"].concat(lines),row--,column=this.$lines[row].length),this.insertMergedLines({row:row,column:column},lines)},this.insertMergedLines=function(position,lines){var start=this.clippedPos(position.row,position.column),end={row:start.row+lines.length-1,column:(1==lines.length?start.column:0)+lines[lines.length-1].length};return this.applyDelta({start:start,end:end,action:\"insert\",lines:lines}),this.clonePos(end)},this.remove=function(range){var start=this.clippedPos(range.start.row,range.start.column),end=this.clippedPos(range.end.row,range.end.column);return this.applyDelta({start:start,end:end,action:\"remove\",lines:this.getLinesForRange({start:start,end:end})}),this.clonePos(start)},this.removeInLine=function(row,startColumn,endColumn){var start=this.clippedPos(row,startColumn),end=this.clippedPos(row,endColumn);return this.applyDelta({start:start,end:end,action:\"remove\",lines:this.getLinesForRange({start:start,end:end})},!0),this.clonePos(start)},this.removeFullLines=function(firstRow,lastRow){firstRow=Math.min(Math.max(0,firstRow),this.getLength()-1),lastRow=Math.min(Math.max(0,lastRow),this.getLength()-1);var deleteFirstNewLine=lastRow==this.getLength()-1&&firstRow>0,deleteLastNewLine=this.getLength()-1>lastRow,startRow=deleteFirstNewLine?firstRow-1:firstRow,startCol=deleteFirstNewLine?this.getLine(startRow).length:0,endRow=deleteLastNewLine?lastRow+1:lastRow,endCol=deleteLastNewLine?0:this.getLine(endRow).length,range=new Range(startRow,startCol,endRow,endCol),deletedLines=this.$lines.slice(firstRow,lastRow+1);return this.applyDelta({start:range.start,end:range.end,action:\"remove\",lines:this.getLinesForRange(range)}),deletedLines},this.removeNewLine=function(row){this.getLength()-1>row&&row>=0&&this.applyDelta({start:this.pos(row,this.getLine(row).length),end:this.pos(row+1,0),action:\"remove\",lines:[\"\",\"\"]})},this.replace=function(range,text){if(range instanceof Range||(range=Range.fromPoints(range.start,range.end)),0===text.length&&range.isEmpty())return range.start;if(text==this.getTextRange(range))return range.end;this.remove(range);var end;return end=text?this.insert(range.start,text):range.start},this.applyDeltas=function(deltas){for(var i=0;deltas.length>i;i++)this.applyDelta(deltas[i])},this.revertDeltas=function(deltas){for(var i=deltas.length-1;i>=0;i--)this.revertDelta(deltas[i])},this.applyDelta=function(delta,doNotValidate){var isInsert=\"insert\"==delta.action;(isInsert?1>=delta.lines.length&&!delta.lines[0]:!Range.comparePoints(delta.start,delta.end))||(isInsert&&delta.lines.length>2e4&&this.$splitAndapplyLargeDelta(delta,2e4),applyDelta(this.$lines,delta,doNotValidate),this._signal(\"change\",delta))},this.$splitAndapplyLargeDelta=function(delta,MAX){for(var lines=delta.lines,l=lines.length,row=delta.start.row,column=delta.start.column,from=0,to=0;;){from=to,to+=MAX-1;var chunk=lines.slice(from,to);if(to>l){delta.lines=chunk,delta.start.row=row+from,delta.start.column=column;break}chunk.push(\"\"),this.applyDelta({start:this.pos(row+from,column),end:this.pos(row+to,column=0),action:delta.action,lines:chunk},!0)}},this.revertDelta=function(delta){this.applyDelta({start:this.clonePos(delta.start),end:this.clonePos(delta.end),action:\"insert\"==delta.action?\"remove\":\"insert\",lines:delta.lines.slice()})},this.indexToPosition=function(index,startRow){for(var lines=this.$lines||this.getAllLines(),newlineLength=this.getNewLineCharacter().length,i=startRow||0,l=lines.length;l>i;i++)if(index-=lines[i].length+newlineLength,0>index)return{row:i,column:index+lines[i].length+newlineLength};return{row:l-1,column:lines[l-1].length}},this.positionToIndex=function(pos,startRow){for(var lines=this.$lines||this.getAllLines(),newlineLength=this.getNewLineCharacter().length,index=0,row=Math.min(pos.row,lines.length),i=startRow||0;row>i;++i)index+=lines[i].length+newlineLength;return index+pos.column}}).call(Document.prototype),exports.Document=Document}),ace.define(\"ace/lib/lang\",[\"require\",\"exports\",\"module\"],function(acequire,exports){\"use strict\";exports.last=function(a){return a[a.length-1]},exports.stringReverse=function(string){return string.split(\"\").reverse().join(\"\")},exports.stringRepeat=function(string,count){for(var result=\"\";count>0;)1&count&&(result+=string),(count>>=1)&&(string+=string);return result};var trimBeginRegexp=/^\\s\\s*/,trimEndRegexp=/\\s\\s*$/;exports.stringTrimLeft=function(string){return string.replace(trimBeginRegexp,\"\")},exports.stringTrimRight=function(string){return string.replace(trimEndRegexp,\"\")},exports.copyObject=function(obj){var copy={};for(var key in obj)copy[key]=obj[key];return copy},exports.copyArray=function(array){for(var copy=[],i=0,l=array.length;l>i;i++)copy[i]=array[i]&&\"object\"==typeof array[i]?this.copyObject(array[i]):array[i];return copy},exports.deepCopy=function deepCopy(obj){if(\"object\"!=typeof obj||!obj)return obj;var copy;if(Array.isArray(obj)){copy=[];for(var key=0;obj.length>key;key++)copy[key]=deepCopy(obj[key]);return copy}if(\"[object Object]\"!==Object.prototype.toString.call(obj))return obj;copy={};for(var key in obj)copy[key]=deepCopy(obj[key]);return copy},exports.arrayToMap=function(arr){for(var map={},i=0;arr.length>i;i++)map[arr[i]]=1;return map},exports.createMap=function(props){var map=Object.create(null);for(var i in props)map[i]=props[i];return map},exports.arrayRemove=function(array,value){for(var i=0;array.length>=i;i++)value===array[i]&&array.splice(i,1)},exports.escapeRegExp=function(str){return str.replace(/([.*+?^${}()|[\\]\\/\\\\])/g,\"\\\\$1\")},exports.escapeHTML=function(str){return str.replace(/&/g,\"&\").replace(/\"/g,\""\").replace(/'/g,\"'\").replace(/i;i+=2){if(Array.isArray(data[i+1]))var d={action:\"insert\",start:data[i],lines:data[i+1]};else var d={action:\"remove\",start:data[i],end:data[i+1]};doc.applyDelta(d,!0)}return _self.$timeout?deferredUpdate.schedule(_self.$timeout):(_self.onUpdate(),void 0)})};(function(){this.$timeout=500,this.setTimeout=function(timeout){this.$timeout=timeout},this.setValue=function(value){this.doc.setValue(value),this.deferredUpdate.schedule(this.$timeout)},this.getValue=function(callbackId){this.sender.callback(this.doc.getValue(),callbackId)},this.onUpdate=function(){},this.isPending=function(){return this.deferredUpdate.isPending()}}).call(Mirror.prototype)}),ace.define(\"ace/mode/javascript/jshint\",[\"require\",\"exports\",\"module\"],function(acequire,exports,module){module.exports=function outer(modules,cache,entry){function newRequire(name,jumped){if(!cache[name]){if(!modules[name]){var currentRequire=\"function\"==typeof acequire&&acequire;if(!jumped&¤tRequire)return currentRequire(name,!0);if(previousRequire)return previousRequire(name,!0);var err=Error(\"Cannot find module '\"+name+\"'\");throw err.code=\"MODULE_NOT_FOUND\",err}var m=cache[name]={exports:{}};modules[name][0].call(m.exports,function(x){var id=modules[name][1][x];return newRequire(id?id:x)},m,m.exports,outer,modules,cache,entry)}return cache[name].exports}for(var previousRequire=\"function\"==typeof acequire&&acequire,i=0;entry.length>i;i++)newRequire(entry[i]);return newRequire(entry[0])}({\"/node_modules/browserify/node_modules/events/events.js\":[function(_dereq_,module){function EventEmitter(){this._events=this._events||{},this._maxListeners=this._maxListeners||void 0}function isFunction(arg){return\"function\"==typeof arg}function isNumber(arg){return\"number\"==typeof arg}function isObject(arg){return\"object\"==typeof arg&&null!==arg}function isUndefined(arg){return void 0===arg}module.exports=EventEmitter,EventEmitter.EventEmitter=EventEmitter,EventEmitter.prototype._events=void 0,EventEmitter.prototype._maxListeners=void 0,EventEmitter.defaultMaxListeners=10,EventEmitter.prototype.setMaxListeners=function(n){if(!isNumber(n)||0>n||isNaN(n))throw TypeError(\"n must be a positive number\");return this._maxListeners=n,this},EventEmitter.prototype.emit=function(type){var er,handler,len,args,i,listeners;if(this._events||(this._events={}),\"error\"===type&&(!this._events.error||isObject(this._events.error)&&!this._events.error.length)){if(er=arguments[1],er instanceof Error)throw er;throw TypeError('Uncaught, unspecified \"error\" event.')}if(handler=this._events[type],isUndefined(handler))return!1;if(isFunction(handler))switch(arguments.length){case 1:handler.call(this);break;case 2:handler.call(this,arguments[1]);break;case 3:handler.call(this,arguments[1],arguments[2]);break;default:for(len=arguments.length,args=Array(len-1),i=1;len>i;i++)args[i-1]=arguments[i];handler.apply(this,args)}else if(isObject(handler)){for(len=arguments.length,args=Array(len-1),i=1;len>i;i++)args[i-1]=arguments[i];for(listeners=handler.slice(),len=listeners.length,i=0;len>i;i++)listeners[i].apply(this,args)}return!0},EventEmitter.prototype.addListener=function(type,listener){var m;if(!isFunction(listener))throw TypeError(\"listener must be a function\");if(this._events||(this._events={}),this._events.newListener&&this.emit(\"newListener\",type,isFunction(listener.listener)?listener.listener:listener),this._events[type]?isObject(this._events[type])?this._events[type].push(listener):this._events[type]=[this._events[type],listener]:this._events[type]=listener,isObject(this._events[type])&&!this._events[type].warned){var m;m=isUndefined(this._maxListeners)?EventEmitter.defaultMaxListeners:this._maxListeners,m&&m>0&&this._events[type].length>m&&(this._events[type].warned=!0,console.error(\"(node) warning: possible EventEmitter memory leak detected. %d listeners added. Use emitter.setMaxListeners() to increase limit.\",this._events[type].length),\"function\"==typeof console.trace&&console.trace())}return this},EventEmitter.prototype.on=EventEmitter.prototype.addListener,EventEmitter.prototype.once=function(type,listener){function g(){this.removeListener(type,g),fired||(fired=!0,listener.apply(this,arguments))}if(!isFunction(listener))throw TypeError(\"listener must be a function\");var fired=!1;return g.listener=listener,this.on(type,g),this},EventEmitter.prototype.removeListener=function(type,listener){var list,position,length,i;if(!isFunction(listener))throw TypeError(\"listener must be a function\");if(!this._events||!this._events[type])return this;if(list=this._events[type],length=list.length,position=-1,list===listener||isFunction(list.listener)&&list.listener===listener)delete this._events[type],this._events.removeListener&&this.emit(\"removeListener\",type,listener);else if(isObject(list)){for(i=length;i-->0;)if(list[i]===listener||list[i].listener&&list[i].listener===listener){position=i;break}if(0>position)return this;1===list.length?(list.length=0,delete this._events[type]):list.splice(position,1),this._events.removeListener&&this.emit(\"removeListener\",type,listener)}return this},EventEmitter.prototype.removeAllListeners=function(type){var key,listeners;if(!this._events)return this;if(!this._events.removeListener)return 0===arguments.length?this._events={}:this._events[type]&&delete this._events[type],this;if(0===arguments.length){for(key in this._events)\"removeListener\"!==key&&this.removeAllListeners(key);return this.removeAllListeners(\"removeListener\"),this._events={},this\n}if(listeners=this._events[type],isFunction(listeners))this.removeListener(type,listeners);else for(;listeners.length;)this.removeListener(type,listeners[listeners.length-1]);return delete this._events[type],this},EventEmitter.prototype.listeners=function(type){var ret;return ret=this._events&&this._events[type]?isFunction(this._events[type])?[this._events[type]]:this._events[type].slice():[]},EventEmitter.listenerCount=function(emitter,type){var ret;return ret=emitter._events&&emitter._events[type]?isFunction(emitter._events[type])?1:emitter._events[type].length:0}},{}],\"/node_modules/jshint/data/ascii-identifier-data.js\":[function(_dereq_,module){for(var identifierStartTable=[],i=0;128>i;i++)identifierStartTable[i]=36===i||i>=65&&90>=i||95===i||i>=97&&122>=i;for(var identifierPartTable=[],i=0;128>i;i++)identifierPartTable[i]=identifierStartTable[i]||i>=48&&57>=i;module.exports={asciiIdentifierStartTable:identifierStartTable,asciiIdentifierPartTable:identifierPartTable}},{}],\"/node_modules/jshint/lodash.js\":[function(_dereq_,module,exports){(function(global){(function(){function baseFindIndex(array,predicate,fromRight){for(var length=array.length,index=fromRight?length:-1;fromRight?index--:length>++index;)if(predicate(array[index],index,array))return index;return-1}function baseIndexOf(array,value,fromIndex){if(value!==value)return indexOfNaN(array,fromIndex);for(var index=fromIndex-1,length=array.length;length>++index;)if(array[index]===value)return index;return-1}function baseIsFunction(value){return\"function\"==typeof value||!1}function baseToString(value){return\"string\"==typeof value?value:null==value?\"\":value+\"\"}function indexOfNaN(array,fromIndex,fromRight){for(var length=array.length,index=fromIndex+(fromRight?0:-1);fromRight?index--:length>++index;){var other=array[index];if(other!==other)return index}return-1}function isObjectLike(value){return!!value&&\"object\"==typeof value}function lodash(){}function arrayCopy(source,array){var index=-1,length=source.length;for(array||(array=Array(length));length>++index;)array[index]=source[index];return array}function arrayEach(array,iteratee){for(var index=-1,length=array.length;length>++index&&iteratee(array[index],index,array)!==!1;);return array}function arrayFilter(array,predicate){for(var index=-1,length=array.length,resIndex=-1,result=[];length>++index;){var value=array[index];predicate(value,index,array)&&(result[++resIndex]=value)}return result}function arrayMap(array,iteratee){for(var index=-1,length=array.length,result=Array(length);length>++index;)result[index]=iteratee(array[index],index,array);return result}function arrayMax(array){for(var index=-1,length=array.length,result=NEGATIVE_INFINITY;length>++index;){var value=array[index];value>result&&(result=value)}return result}function arraySome(array,predicate){for(var index=-1,length=array.length;length>++index;)if(predicate(array[index],index,array))return!0;return!1}function assignWith(object,source,customizer){var props=keys(source);push.apply(props,getSymbols(source));for(var index=-1,length=props.length;length>++index;){var key=props[index],value=object[key],result=customizer(value,source[key],key,object,source);(result===result?result===value:value!==value)&&(value!==undefined||key in object)||(object[key]=result)}return object}function baseCopy(source,props,object){object||(object={});for(var index=-1,length=props.length;length>++index;){var key=props[index];object[key]=source[key]}return object}function baseCallback(func,thisArg,argCount){var type=typeof func;return\"function\"==type?thisArg===undefined?func:bindCallback(func,thisArg,argCount):null==func?identity:\"object\"==type?baseMatches(func):thisArg===undefined?property(func):baseMatchesProperty(func,thisArg)}function baseClone(value,isDeep,customizer,key,object,stackA,stackB){var result;if(customizer&&(result=object?customizer(value,key,object):customizer(value)),result!==undefined)return result;if(!isObject(value))return value;var isArr=isArray(value);if(isArr){if(result=initCloneArray(value),!isDeep)return arrayCopy(value,result)}else{var tag=objToString.call(value),isFunc=tag==funcTag;if(tag!=objectTag&&tag!=argsTag&&(!isFunc||object))return cloneableTags[tag]?initCloneByTag(value,tag,isDeep):object?value:{};if(result=initCloneObject(isFunc?{}:value),!isDeep)return baseAssign(result,value)}stackA||(stackA=[]),stackB||(stackB=[]);for(var length=stackA.length;length--;)if(stackA[length]==value)return stackB[length];return stackA.push(value),stackB.push(result),(isArr?arrayEach:baseForOwn)(value,function(subValue,key){result[key]=baseClone(subValue,isDeep,customizer,key,value,stackA,stackB)}),result}function baseFilter(collection,predicate){var result=[];return baseEach(collection,function(value,index,collection){predicate(value,index,collection)&&result.push(value)}),result}function baseForIn(object,iteratee){return baseFor(object,iteratee,keysIn)}function baseForOwn(object,iteratee){return baseFor(object,iteratee,keys)}function baseGet(object,path,pathKey){if(null!=object){pathKey!==undefined&&pathKey in toObject(object)&&(path=[pathKey]);for(var index=-1,length=path.length;null!=object&&length>++index;)var result=object=object[path[index]];return result}}function baseIsEqual(value,other,customizer,isLoose,stackA,stackB){if(value===other)return 0!==value||1/value==1/other;var valType=typeof value,othType=typeof other;return\"function\"!=valType&&\"object\"!=valType&&\"function\"!=othType&&\"object\"!=othType||null==value||null==other?value!==value&&other!==other:baseIsEqualDeep(value,other,baseIsEqual,customizer,isLoose,stackA,stackB)}function baseIsEqualDeep(object,other,equalFunc,customizer,isLoose,stackA,stackB){var objIsArr=isArray(object),othIsArr=isArray(other),objTag=arrayTag,othTag=arrayTag;objIsArr||(objTag=objToString.call(object),objTag==argsTag?objTag=objectTag:objTag!=objectTag&&(objIsArr=isTypedArray(object))),othIsArr||(othTag=objToString.call(other),othTag==argsTag?othTag=objectTag:othTag!=objectTag&&(othIsArr=isTypedArray(other)));var objIsObj=objTag==objectTag,othIsObj=othTag==objectTag,isSameTag=objTag==othTag;if(isSameTag&&!objIsArr&&!objIsObj)return equalByTag(object,other,objTag);if(!isLoose){var valWrapped=objIsObj&&hasOwnProperty.call(object,\"__wrapped__\"),othWrapped=othIsObj&&hasOwnProperty.call(other,\"__wrapped__\");if(valWrapped||othWrapped)return equalFunc(valWrapped?object.value():object,othWrapped?other.value():other,customizer,isLoose,stackA,stackB)}if(!isSameTag)return!1;stackA||(stackA=[]),stackB||(stackB=[]);for(var length=stackA.length;length--;)if(stackA[length]==object)return stackB[length]==other;stackA.push(object),stackB.push(other);var result=(objIsArr?equalArrays:equalObjects)(object,other,equalFunc,customizer,isLoose,stackA,stackB);return stackA.pop(),stackB.pop(),result}function baseIsMatch(object,props,values,strictCompareFlags,customizer){for(var index=-1,length=props.length,noCustomizer=!customizer;length>++index;)if(noCustomizer&&strictCompareFlags[index]?values[index]!==object[props[index]]:!(props[index]in object))return!1;for(index=-1;length>++index;){var key=props[index],objValue=object[key],srcValue=values[index];if(noCustomizer&&strictCompareFlags[index])var result=objValue!==undefined||key in object;else result=customizer?customizer(objValue,srcValue,key):undefined,result===undefined&&(result=baseIsEqual(srcValue,objValue,customizer,!0));if(!result)return!1}return!0}function baseMatches(source){var props=keys(source),length=props.length;if(!length)return constant(!0);if(1==length){var key=props[0],value=source[key];if(isStrictComparable(value))return function(object){return null==object?!1:object[key]===value&&(value!==undefined||key in toObject(object))}}for(var values=Array(length),strictCompareFlags=Array(length);length--;)value=source[props[length]],values[length]=value,strictCompareFlags[length]=isStrictComparable(value);return function(object){return null!=object&&baseIsMatch(toObject(object),props,values,strictCompareFlags)}}function baseMatchesProperty(path,value){var isArr=isArray(path),isCommon=isKey(path)&&isStrictComparable(value),pathKey=path+\"\";return path=toPath(path),function(object){if(null==object)return!1;var key=pathKey;if(object=toObject(object),!(!isArr&&isCommon||key in object)){if(object=1==path.length?object:baseGet(object,baseSlice(path,0,-1)),null==object)return!1;key=last(path),object=toObject(object)}return object[key]===value?value!==undefined||key in object:baseIsEqual(value,object[key],null,!0)}}function baseMerge(object,source,customizer,stackA,stackB){if(!isObject(object))return object;var isSrcArr=isLength(source.length)&&(isArray(source)||isTypedArray(source));if(!isSrcArr){var props=keys(source);push.apply(props,getSymbols(source))}return arrayEach(props||source,function(srcValue,key){if(props&&(key=srcValue,srcValue=source[key]),isObjectLike(srcValue))stackA||(stackA=[]),stackB||(stackB=[]),baseMergeDeep(object,source,key,baseMerge,customizer,stackA,stackB);else{var value=object[key],result=customizer?customizer(value,srcValue,key,object,source):undefined,isCommon=result===undefined;isCommon&&(result=srcValue),!isSrcArr&&result===undefined||!isCommon&&(result===result?result===value:value!==value)||(object[key]=result)}}),object}function baseMergeDeep(object,source,key,mergeFunc,customizer,stackA,stackB){for(var length=stackA.length,srcValue=source[key];length--;)if(stackA[length]==srcValue)return object[key]=stackB[length],undefined;var value=object[key],result=customizer?customizer(value,srcValue,key,object,source):undefined,isCommon=result===undefined;isCommon&&(result=srcValue,isLength(srcValue.length)&&(isArray(srcValue)||isTypedArray(srcValue))?result=isArray(value)?value:getLength(value)?arrayCopy(value):[]:isPlainObject(srcValue)||isArguments(srcValue)?result=isArguments(value)?toPlainObject(value):isPlainObject(value)?value:{}:isCommon=!1),stackA.push(srcValue),stackB.push(result),isCommon?object[key]=mergeFunc(result,srcValue,customizer,stackA,stackB):(result===result?result!==value:value===value)&&(object[key]=result)}function baseProperty(key){return function(object){return null==object?undefined:object[key]}}function basePropertyDeep(path){var pathKey=path+\"\";return path=toPath(path),function(object){return baseGet(object,path,pathKey)}}function baseSlice(array,start,end){var index=-1,length=array.length;start=null==start?0:+start||0,0>start&&(start=-start>length?0:length+start),end=end===undefined||end>length?length:+end||0,0>end&&(end+=length),length=start>end?0:end-start>>>0,start>>>=0;for(var result=Array(length);length>++index;)result[index]=array[index+start];return result}function baseSome(collection,predicate){var result;return baseEach(collection,function(value,index,collection){return result=predicate(value,index,collection),!result}),!!result}function baseValues(object,props){for(var index=-1,length=props.length,result=Array(length);length>++index;)result[index]=object[props[index]];return result}function binaryIndex(array,value,retHighest){var low=0,high=array?array.length:low;if(\"number\"==typeof value&&value===value&&HALF_MAX_ARRAY_LENGTH>=high){for(;high>low;){var mid=low+high>>>1,computed=array[mid];(retHighest?value>=computed:value>computed)?low=mid+1:high=mid}return high}return binaryIndexBy(array,value,identity,retHighest)}function binaryIndexBy(array,value,iteratee,retHighest){value=iteratee(value);for(var low=0,high=array?array.length:0,valIsNaN=value!==value,valIsUndef=value===undefined;high>low;){var mid=floor((low+high)/2),computed=iteratee(array[mid]),isReflexive=computed===computed;if(valIsNaN)var setLow=isReflexive||retHighest;else setLow=valIsUndef?isReflexive&&(retHighest||computed!==undefined):retHighest?value>=computed:value>computed;setLow?low=mid+1:high=mid}return nativeMin(high,MAX_ARRAY_INDEX)}function bindCallback(func,thisArg,argCount){if(\"function\"!=typeof func)return identity;if(thisArg===undefined)return func;switch(argCount){case 1:return function(value){return func.call(thisArg,value)};case 3:return function(value,index,collection){return func.call(thisArg,value,index,collection)};case 4:return function(accumulator,value,index,collection){return func.call(thisArg,accumulator,value,index,collection)};case 5:return function(value,other,key,object,source){return func.call(thisArg,value,other,key,object,source)}}return function(){return func.apply(thisArg,arguments)}}function bufferClone(buffer){return bufferSlice.call(buffer,0)}function createAssigner(assigner){return restParam(function(object,sources){var index=-1,length=null==object?0:sources.length,customizer=length>2&&sources[length-2],guard=length>2&&sources[2],thisArg=length>1&&sources[length-1];for(\"function\"==typeof customizer?(customizer=bindCallback(customizer,thisArg,5),length-=2):(customizer=\"function\"==typeof thisArg?thisArg:null,length-=customizer?1:0),guard&&isIterateeCall(sources[0],sources[1],guard)&&(customizer=3>length?null:customizer,length=1);length>++index;){var source=sources[index];source&&assigner(object,source,customizer)}return object})}function createBaseEach(eachFunc,fromRight){return function(collection,iteratee){var length=collection?getLength(collection):0;if(!isLength(length))return eachFunc(collection,iteratee);for(var index=fromRight?length:-1,iterable=toObject(collection);(fromRight?index--:length>++index)&&iteratee(iterable[index],index,iterable)!==!1;);return collection}}function createBaseFor(fromRight){return function(object,iteratee,keysFunc){for(var iterable=toObject(object),props=keysFunc(object),length=props.length,index=fromRight?length:-1;fromRight?index--:length>++index;){var key=props[index];if(iteratee(iterable[key],key,iterable)===!1)break}return object}}function createFindIndex(fromRight){return function(array,predicate,thisArg){return array&&array.length?(predicate=getCallback(predicate,thisArg,3),baseFindIndex(array,predicate,fromRight)):-1}}function createForEach(arrayFunc,eachFunc){return function(collection,iteratee,thisArg){return\"function\"==typeof iteratee&&thisArg===undefined&&isArray(collection)?arrayFunc(collection,iteratee):eachFunc(collection,bindCallback(iteratee,thisArg,3))}}function equalArrays(array,other,equalFunc,customizer,isLoose,stackA,stackB){var index=-1,arrLength=array.length,othLength=other.length,result=!0;if(arrLength!=othLength&&!(isLoose&&othLength>arrLength))return!1;for(;result&&arrLength>++index;){var arrValue=array[index],othValue=other[index];if(result=undefined,customizer&&(result=isLoose?customizer(othValue,arrValue,index):customizer(arrValue,othValue,index)),result===undefined)if(isLoose)for(var othIndex=othLength;othIndex--&&(othValue=other[othIndex],!(result=arrValue&&arrValue===othValue||equalFunc(arrValue,othValue,customizer,isLoose,stackA,stackB))););else result=arrValue&&arrValue===othValue||equalFunc(arrValue,othValue,customizer,isLoose,stackA,stackB)}return!!result}function equalByTag(object,other,tag){switch(tag){case boolTag:case dateTag:return+object==+other;case errorTag:return object.name==other.name&&object.message==other.message;case numberTag:return object!=+object?other!=+other:0==object?1/object==1/other:object==+other;case regexpTag:case stringTag:return object==other+\"\"}return!1}function equalObjects(object,other,equalFunc,customizer,isLoose,stackA,stackB){var objProps=keys(object),objLength=objProps.length,othProps=keys(other),othLength=othProps.length;if(objLength!=othLength&&!isLoose)return!1;for(var skipCtor=isLoose,index=-1;objLength>++index;){var key=objProps[index],result=isLoose?key in other:hasOwnProperty.call(other,key);if(result){var objValue=object[key],othValue=other[key];result=undefined,customizer&&(result=isLoose?customizer(othValue,objValue,key):customizer(objValue,othValue,key)),result===undefined&&(result=objValue&&objValue===othValue||equalFunc(objValue,othValue,customizer,isLoose,stackA,stackB))}if(!result)return!1;skipCtor||(skipCtor=\"constructor\"==key)}if(!skipCtor){var objCtor=object.constructor,othCtor=other.constructor;if(objCtor!=othCtor&&\"constructor\"in object&&\"constructor\"in other&&!(\"function\"==typeof objCtor&&objCtor instanceof objCtor&&\"function\"==typeof othCtor&&othCtor instanceof othCtor))return!1}return!0}function getCallback(func,thisArg,argCount){var result=lodash.callback||callback;return result=result===callback?baseCallback:result,argCount?result(func,thisArg,argCount):result}function getIndexOf(collection,target,fromIndex){var result=lodash.indexOf||indexOf;return result=result===indexOf?baseIndexOf:result,collection?result(collection,target,fromIndex):result}function initCloneArray(array){var length=array.length,result=new array.constructor(length);return length&&\"string\"==typeof array[0]&&hasOwnProperty.call(array,\"index\")&&(result.index=array.index,result.input=array.input),result}function initCloneObject(object){var Ctor=object.constructor;return\"function\"==typeof Ctor&&Ctor instanceof Ctor||(Ctor=Object),new Ctor}function initCloneByTag(object,tag,isDeep){var Ctor=object.constructor;switch(tag){case arrayBufferTag:return bufferClone(object);case boolTag:case dateTag:return new Ctor(+object);case float32Tag:case float64Tag:case int8Tag:case int16Tag:case int32Tag:case uint8Tag:case uint8ClampedTag:case uint16Tag:case uint32Tag:var buffer=object.buffer;return new Ctor(isDeep?bufferClone(buffer):buffer,object.byteOffset,object.length);case numberTag:case stringTag:return new Ctor(object);case regexpTag:var result=new Ctor(object.source,reFlags.exec(object));result.lastIndex=object.lastIndex}return result}function isIndex(value,length){return value=+value,length=null==length?MAX_SAFE_INTEGER:length,value>-1&&0==value%1&&length>value}function isIterateeCall(value,index,object){if(!isObject(object))return!1;var type=typeof index;if(\"number\"==type)var length=getLength(object),prereq=isLength(length)&&isIndex(index,length);else prereq=\"string\"==type&&index in object;if(prereq){var other=object[index];return value===value?value===other:other!==other}return!1}function isKey(value,object){var type=typeof value;if(\"string\"==type&&reIsPlainProp.test(value)||\"number\"==type)return!0;if(isArray(value))return!1;var result=!reIsDeepProp.test(value);return result||null!=object&&value in toObject(object)}function isLength(value){return\"number\"==typeof value&&value>-1&&0==value%1&&MAX_SAFE_INTEGER>=value}function isStrictComparable(value){return value===value&&(0===value?1/value>0:!isObject(value))}function shimIsPlainObject(value){var Ctor;if(lodash.support,!isObjectLike(value)||objToString.call(value)!=objectTag||!hasOwnProperty.call(value,\"constructor\")&&(Ctor=value.constructor,\"function\"==typeof Ctor&&!(Ctor instanceof Ctor)))return!1;var result;return baseForIn(value,function(subValue,key){result=key}),result===undefined||hasOwnProperty.call(value,result)}function shimKeys(object){for(var props=keysIn(object),propsLength=props.length,length=propsLength&&object.length,support=lodash.support,allowIndexes=length&&isLength(length)&&(isArray(object)||support.nonEnumArgs&&isArguments(object)),index=-1,result=[];propsLength>++index;){var key=props[index];(allowIndexes&&isIndex(key,length)||hasOwnProperty.call(object,key))&&result.push(key)}return result}function toObject(value){return isObject(value)?value:Object(value)}function toPath(value){if(isArray(value))return value;var result=[];return baseToString(value).replace(rePropName,function(match,number,quote,string){result.push(quote?string.replace(reEscapeChar,\"$1\"):number||match)}),result}function indexOf(array,value,fromIndex){var length=array?array.length:0;if(!length)return-1;if(\"number\"==typeof fromIndex)fromIndex=0>fromIndex?nativeMax(length+fromIndex,0):fromIndex;else if(fromIndex){var index=binaryIndex(array,value),other=array[index];return(value===value?value===other:other!==other)?index:-1}return baseIndexOf(array,value,fromIndex||0)}function last(array){var length=array?array.length:0;return length?array[length-1]:undefined}function slice(array,start,end){var length=array?array.length:0;return length?(end&&\"number\"!=typeof end&&isIterateeCall(array,start,end)&&(start=0,end=length),baseSlice(array,start,end)):[]}function unzip(array){for(var index=-1,length=(array&&array.length&&arrayMax(arrayMap(array,getLength)))>>>0,result=Array(length);length>++index;)result[index]=arrayMap(array,baseProperty(index));return result}function includes(collection,target,fromIndex,guard){var length=collection?getLength(collection):0;return isLength(length)||(collection=values(collection),length=collection.length),length?(fromIndex=\"number\"!=typeof fromIndex||guard&&isIterateeCall(target,fromIndex,guard)?0:0>fromIndex?nativeMax(length+fromIndex,0):fromIndex||0,\"string\"==typeof collection||!isArray(collection)&&isString(collection)?length>fromIndex&&collection.indexOf(target,fromIndex)>-1:getIndexOf(collection,target,fromIndex)>-1):!1}function reject(collection,predicate,thisArg){var func=isArray(collection)?arrayFilter:baseFilter;return predicate=getCallback(predicate,thisArg,3),func(collection,function(value,index,collection){return!predicate(value,index,collection)})}function some(collection,predicate,thisArg){var func=isArray(collection)?arraySome:baseSome;return thisArg&&isIterateeCall(collection,predicate,thisArg)&&(predicate=null),(\"function\"!=typeof predicate||thisArg!==undefined)&&(predicate=getCallback(predicate,thisArg,3)),func(collection,predicate)}function restParam(func,start){if(\"function\"!=typeof func)throw new TypeError(FUNC_ERROR_TEXT);return start=nativeMax(start===undefined?func.length-1:+start||0,0),function(){for(var args=arguments,index=-1,length=nativeMax(args.length-start,0),rest=Array(length);length>++index;)rest[index]=args[start+index];switch(start){case 0:return func.call(this,rest);case 1:return func.call(this,args[0],rest);case 2:return func.call(this,args[0],args[1],rest)}var otherArgs=Array(start+1);for(index=-1;start>++index;)otherArgs[index]=args[index];return otherArgs[start]=rest,func.apply(this,otherArgs)}}function clone(value,isDeep,customizer,thisArg){return isDeep&&\"boolean\"!=typeof isDeep&&isIterateeCall(value,isDeep,customizer)?isDeep=!1:\"function\"==typeof isDeep&&(thisArg=customizer,customizer=isDeep,isDeep=!1),customizer=\"function\"==typeof customizer&&bindCallback(customizer,thisArg,1),baseClone(value,isDeep,customizer)}function isArguments(value){var length=isObjectLike(value)?value.length:undefined;return isLength(length)&&objToString.call(value)==argsTag}function isEmpty(value){if(null==value)return!0;var length=getLength(value);return isLength(length)&&(isArray(value)||isString(value)||isArguments(value)||isObjectLike(value)&&isFunction(value.splice))?!length:!keys(value).length}function isObject(value){var type=typeof value;return\"function\"==type||!!value&&\"object\"==type}function isNative(value){return null==value?!1:objToString.call(value)==funcTag?reIsNative.test(fnToString.call(value)):isObjectLike(value)&&reIsHostCtor.test(value)}function isNumber(value){return\"number\"==typeof value||isObjectLike(value)&&objToString.call(value)==numberTag}function isString(value){return\"string\"==typeof value||isObjectLike(value)&&objToString.call(value)==stringTag}function isTypedArray(value){return isObjectLike(value)&&isLength(value.length)&&!!typedArrayTags[objToString.call(value)]}function toPlainObject(value){return baseCopy(value,keysIn(value))}function has(object,path){if(null==object)return!1;var result=hasOwnProperty.call(object,path);return result||isKey(path)||(path=toPath(path),object=1==path.length?object:baseGet(object,baseSlice(path,0,-1)),path=last(path),result=null!=object&&hasOwnProperty.call(object,path)),result}function keysIn(object){if(null==object)return[];isObject(object)||(object=Object(object));var length=object.length;length=length&&isLength(length)&&(isArray(object)||support.nonEnumArgs&&isArguments(object))&&length||0;for(var Ctor=object.constructor,index=-1,isProto=\"function\"==typeof Ctor&&Ctor.prototype===object,result=Array(length),skipIndexes=length>0;length>++index;)result[index]=index+\"\";for(var key in object)skipIndexes&&isIndex(key,length)||\"constructor\"==key&&(isProto||!hasOwnProperty.call(object,key))||result.push(key);return result}function values(object){return baseValues(object,keys(object))}function escapeRegExp(string){return string=baseToString(string),string&&reHasRegExpChars.test(string)?string.replace(reRegExpChars,\"\\\\$&\"):string}function callback(func,thisArg,guard){return guard&&isIterateeCall(func,thisArg,guard)&&(thisArg=null),baseCallback(func,thisArg)}function constant(value){return function(){return value}}function identity(value){return value}function property(path){return isKey(path)?baseProperty(path):basePropertyDeep(path)}var undefined,VERSION=\"3.7.0\",FUNC_ERROR_TEXT=\"Expected a function\",argsTag=\"[object Arguments]\",arrayTag=\"[object Array]\",boolTag=\"[object Boolean]\",dateTag=\"[object Date]\",errorTag=\"[object Error]\",funcTag=\"[object Function]\",mapTag=\"[object Map]\",numberTag=\"[object Number]\",objectTag=\"[object Object]\",regexpTag=\"[object RegExp]\",setTag=\"[object Set]\",stringTag=\"[object String]\",weakMapTag=\"[object WeakMap]\",arrayBufferTag=\"[object ArrayBuffer]\",float32Tag=\"[object Float32Array]\",float64Tag=\"[object Float64Array]\",int8Tag=\"[object Int8Array]\",int16Tag=\"[object Int16Array]\",int32Tag=\"[object Int32Array]\",uint8Tag=\"[object Uint8Array]\",uint8ClampedTag=\"[object Uint8ClampedArray]\",uint16Tag=\"[object Uint16Array]\",uint32Tag=\"[object Uint32Array]\",reIsDeepProp=/\\.|\\[(?:[^[\\]]+|([\"'])(?:(?!\\1)[^\\n\\\\]|\\\\.)*?)\\1\\]/,reIsPlainProp=/^\\w*$/,rePropName=/[^.[\\]]+|\\[(?:(-?\\d+(?:\\.\\d+)?)|([\"'])((?:(?!\\2)[^\\n\\\\]|\\\\.)*?)\\2)\\]/g,reRegExpChars=/[.*+?^${}()|[\\]\\/\\\\]/g,reHasRegExpChars=RegExp(reRegExpChars.source),reEscapeChar=/\\\\(\\\\)?/g,reFlags=/\\w*$/,reIsHostCtor=/^\\[object .+?Constructor\\]$/,typedArrayTags={};typedArrayTags[float32Tag]=typedArrayTags[float64Tag]=typedArrayTags[int8Tag]=typedArrayTags[int16Tag]=typedArrayTags[int32Tag]=typedArrayTags[uint8Tag]=typedArrayTags[uint8ClampedTag]=typedArrayTags[uint16Tag]=typedArrayTags[uint32Tag]=!0,typedArrayTags[argsTag]=typedArrayTags[arrayTag]=typedArrayTags[arrayBufferTag]=typedArrayTags[boolTag]=typedArrayTags[dateTag]=typedArrayTags[errorTag]=typedArrayTags[funcTag]=typedArrayTags[mapTag]=typedArrayTags[numberTag]=typedArrayTags[objectTag]=typedArrayTags[regexpTag]=typedArrayTags[setTag]=typedArrayTags[stringTag]=typedArrayTags[weakMapTag]=!1;var cloneableTags={};cloneableTags[argsTag]=cloneableTags[arrayTag]=cloneableTags[arrayBufferTag]=cloneableTags[boolTag]=cloneableTags[dateTag]=cloneableTags[float32Tag]=cloneableTags[float64Tag]=cloneableTags[int8Tag]=cloneableTags[int16Tag]=cloneableTags[int32Tag]=cloneableTags[numberTag]=cloneableTags[objectTag]=cloneableTags[regexpTag]=cloneableTags[stringTag]=cloneableTags[uint8Tag]=cloneableTags[uint8ClampedTag]=cloneableTags[uint16Tag]=cloneableTags[uint32Tag]=!0,cloneableTags[errorTag]=cloneableTags[funcTag]=cloneableTags[mapTag]=cloneableTags[setTag]=cloneableTags[weakMapTag]=!1;var objectTypes={\"function\":!0,object:!0},freeExports=objectTypes[typeof exports]&&exports&&!exports.nodeType&&exports,freeModule=objectTypes[typeof module]&&module&&!module.nodeType&&module,freeGlobal=freeExports&&freeModule&&\"object\"==typeof global&&global&&global.Object&&global,freeSelf=objectTypes[typeof self]&&self&&self.Object&&self,freeWindow=objectTypes[typeof window]&&window&&window.Object&&window,moduleExports=freeModule&&freeModule.exports===freeExports&&freeExports,root=freeGlobal||freeWindow!==(this&&this.window)&&freeWindow||freeSelf||this,arrayProto=Array.prototype,objectProto=Object.prototype,fnToString=Function.prototype.toString,hasOwnProperty=objectProto.hasOwnProperty,objToString=objectProto.toString,reIsNative=RegExp(\"^\"+escapeRegExp(objToString).replace(/toString|(function).*?(?=\\\\\\()| for .+?(?=\\\\\\])/g,\"$1.*?\")+\"$\"),ArrayBuffer=isNative(ArrayBuffer=root.ArrayBuffer)&&ArrayBuffer,bufferSlice=isNative(bufferSlice=ArrayBuffer&&new ArrayBuffer(0).slice)&&bufferSlice,floor=Math.floor,getOwnPropertySymbols=isNative(getOwnPropertySymbols=Object.getOwnPropertySymbols)&&getOwnPropertySymbols,getPrototypeOf=isNative(getPrototypeOf=Object.getPrototypeOf)&&getPrototypeOf,push=arrayProto.push,preventExtensions=isNative(Object.preventExtensions=Object.preventExtensions)&&preventExtensions,propertyIsEnumerable=objectProto.propertyIsEnumerable,Uint8Array=isNative(Uint8Array=root.Uint8Array)&&Uint8Array,Float64Array=function(){try{var func=isNative(func=root.Float64Array)&&func,result=new func(new ArrayBuffer(10),0,1)&&func}catch(e){}return result}(),nativeAssign=function(){var object={1:0},func=preventExtensions&&isNative(func=Object.assign)&&func;try{func(preventExtensions(object),\"xo\")}catch(e){}return!object[1]&&func}(),nativeIsArray=isNative(nativeIsArray=Array.isArray)&&nativeIsArray,nativeKeys=isNative(nativeKeys=Object.keys)&&nativeKeys,nativeMax=Math.max,nativeMin=Math.min,NEGATIVE_INFINITY=Number.NEGATIVE_INFINITY,MAX_ARRAY_LENGTH=Math.pow(2,32)-1,MAX_ARRAY_INDEX=MAX_ARRAY_LENGTH-1,HALF_MAX_ARRAY_LENGTH=MAX_ARRAY_LENGTH>>>1,FLOAT64_BYTES_PER_ELEMENT=Float64Array?Float64Array.BYTES_PER_ELEMENT:0,MAX_SAFE_INTEGER=Math.pow(2,53)-1,support=lodash.support={};(function(x){var Ctor=function(){this.x=x},props=[];Ctor.prototype={valueOf:x,y:x};for(var key in new Ctor)props.push(key);support.funcDecomp=/\\bthis\\b/.test(function(){return this}),support.funcNames=\"string\"==typeof Function.name;try{support.nonEnumArgs=!propertyIsEnumerable.call(arguments,1)}catch(e){support.nonEnumArgs=!0}})(1,0);var baseAssign=nativeAssign||function(object,source){return null==source?object:baseCopy(source,getSymbols(source),baseCopy(source,keys(source),object))},baseEach=createBaseEach(baseForOwn),baseFor=createBaseFor();bufferSlice||(bufferClone=ArrayBuffer&&Uint8Array?function(buffer){var byteLength=buffer.byteLength,floatLength=Float64Array?floor(byteLength/FLOAT64_BYTES_PER_ELEMENT):0,offset=floatLength*FLOAT64_BYTES_PER_ELEMENT,result=new ArrayBuffer(byteLength);if(floatLength){var view=new Float64Array(result,0,floatLength);view.set(new Float64Array(buffer,0,floatLength))}return byteLength!=offset&&(view=new Uint8Array(result,offset),view.set(new Uint8Array(buffer,offset))),result}:constant(null));var getLength=baseProperty(\"length\"),getSymbols=getOwnPropertySymbols?function(object){return getOwnPropertySymbols(toObject(object))}:constant([]),findLastIndex=createFindIndex(!0),zip=restParam(unzip),forEach=createForEach(arrayEach,baseEach),isArray=nativeIsArray||function(value){return isObjectLike(value)&&isLength(value.length)&&objToString.call(value)==arrayTag},isFunction=baseIsFunction(/x/)||Uint8Array&&!baseIsFunction(Uint8Array)?function(value){return objToString.call(value)==funcTag}:baseIsFunction,isPlainObject=getPrototypeOf?function(value){if(!value||objToString.call(value)!=objectTag)return!1;var valueOf=value.valueOf,objProto=isNative(valueOf)&&(objProto=getPrototypeOf(valueOf))&&getPrototypeOf(objProto);return objProto?value==objProto||getPrototypeOf(value)==objProto:shimIsPlainObject(value)}:shimIsPlainObject,assign=createAssigner(function(object,source,customizer){return customizer?assignWith(object,source,customizer):baseAssign(object,source)}),keys=nativeKeys?function(object){if(object)var Ctor=object.constructor,length=object.length;return\"function\"==typeof Ctor&&Ctor.prototype===object||\"function\"!=typeof object&&isLength(length)?shimKeys(object):isObject(object)?nativeKeys(object):[]}:shimKeys,merge=createAssigner(baseMerge);lodash.assign=assign,lodash.callback=callback,lodash.constant=constant,lodash.forEach=forEach,lodash.keys=keys,lodash.keysIn=keysIn,lodash.merge=merge,lodash.property=property,lodash.reject=reject,lodash.restParam=restParam,lodash.slice=slice,lodash.toPlainObject=toPlainObject,lodash.unzip=unzip,lodash.values=values,lodash.zip=zip,lodash.each=forEach,lodash.extend=assign,lodash.iteratee=callback,lodash.clone=clone,lodash.escapeRegExp=escapeRegExp,lodash.findLastIndex=findLastIndex,lodash.has=has,lodash.identity=identity,lodash.includes=includes,lodash.indexOf=indexOf,lodash.isArguments=isArguments,lodash.isArray=isArray,lodash.isEmpty=isEmpty,lodash.isFunction=isFunction,lodash.isNative=isNative,lodash.isNumber=isNumber,lodash.isObject=isObject,lodash.isPlainObject=isPlainObject,lodash.isString=isString,lodash.isTypedArray=isTypedArray,lodash.last=last,lodash.some=some,lodash.any=some,lodash.contains=includes,lodash.include=includes,lodash.VERSION=VERSION,freeExports&&freeModule?moduleExports?(freeModule.exports=lodash)._=lodash:freeExports._=lodash:root._=lodash\n}).call(this)}).call(this,\"undefined\"!=typeof global?global:\"undefined\"!=typeof self?self:\"undefined\"!=typeof window?window:{})},{}],\"/node_modules/jshint/src/jshint.js\":[function(_dereq_,module,exports){var _=_dereq_(\"../lodash\"),events=_dereq_(\"events\"),vars=_dereq_(\"./vars.js\"),messages=_dereq_(\"./messages.js\"),Lexer=_dereq_(\"./lex.js\").Lexer,reg=_dereq_(\"./reg.js\"),state=_dereq_(\"./state.js\").state,style=_dereq_(\"./style.js\"),options=_dereq_(\"./options.js\"),scopeManager=_dereq_(\"./scope-manager.js\"),JSHINT=function(){\"use strict\";function checkOption(name,t){return name=name.trim(),/^[+-]W\\d{3}$/g.test(name)?!0:-1!==options.validNames.indexOf(name)||\"jslint\"===t.type||_.has(options.removed,name)?!0:(error(\"E001\",t,name),!1)}function isString(obj){return\"[object String]\"===Object.prototype.toString.call(obj)}function isIdentifier(tkn,value){return tkn?tkn.identifier&&tkn.value===value?!0:!1:!1}function isReserved(token){if(!token.reserved)return!1;var meta=token.meta;if(meta&&meta.isFutureReservedWord&&state.inES5()){if(!meta.es5)return!1;if(meta.strictOnly&&!state.option.strict&&!state.isStrict())return!1;if(token.isProperty)return!1}return!0}function supplant(str,data){return str.replace(/\\{([^{}]*)\\}/g,function(a,b){var r=data[b];return\"string\"==typeof r||\"number\"==typeof r?r:a})}function combine(dest,src){Object.keys(src).forEach(function(name){_.has(JSHINT.blacklist,name)||(dest[name]=src[name])})}function processenforceall(){if(state.option.enforceall){for(var enforceopt in options.bool.enforcing)void 0!==state.option[enforceopt]||options.noenforceall[enforceopt]||(state.option[enforceopt]=!0);for(var relaxopt in options.bool.relaxing)void 0===state.option[relaxopt]&&(state.option[relaxopt]=!1)}}function assume(){processenforceall(),state.option.esversion||state.option.moz||(state.option.esversion=state.option.es3?3:state.option.esnext?6:5),state.inES5()&&combine(predefined,vars.ecmaIdentifiers[5]),state.inES6()&&combine(predefined,vars.ecmaIdentifiers[6]),state.option.module&&(state.option.strict===!0&&(state.option.strict=\"global\"),state.inES6()||warning(\"W134\",state.tokens.next,\"module\",6)),state.option.couch&&combine(predefined,vars.couch),state.option.qunit&&combine(predefined,vars.qunit),state.option.rhino&&combine(predefined,vars.rhino),state.option.shelljs&&(combine(predefined,vars.shelljs),combine(predefined,vars.node)),state.option.typed&&combine(predefined,vars.typed),state.option.phantom&&(combine(predefined,vars.phantom),state.option.strict===!0&&(state.option.strict=\"global\")),state.option.prototypejs&&combine(predefined,vars.prototypejs),state.option.node&&(combine(predefined,vars.node),combine(predefined,vars.typed),state.option.strict===!0&&(state.option.strict=\"global\")),state.option.devel&&combine(predefined,vars.devel),state.option.dojo&&combine(predefined,vars.dojo),state.option.browser&&(combine(predefined,vars.browser),combine(predefined,vars.typed)),state.option.browserify&&(combine(predefined,vars.browser),combine(predefined,vars.typed),combine(predefined,vars.browserify),state.option.strict===!0&&(state.option.strict=\"global\")),state.option.nonstandard&&combine(predefined,vars.nonstandard),state.option.jasmine&&combine(predefined,vars.jasmine),state.option.jquery&&combine(predefined,vars.jquery),state.option.mootools&&combine(predefined,vars.mootools),state.option.worker&&combine(predefined,vars.worker),state.option.wsh&&combine(predefined,vars.wsh),state.option.globalstrict&&state.option.strict!==!1&&(state.option.strict=\"global\"),state.option.yui&&combine(predefined,vars.yui),state.option.mocha&&combine(predefined,vars.mocha)}function quit(code,line,chr){var percentage=Math.floor(100*(line/state.lines.length)),message=messages.errors[code].desc;throw{name:\"JSHintError\",line:line,character:chr,message:message+\" (\"+percentage+\"% scanned).\",raw:message,code:code}}function removeIgnoredMessages(){var ignored=state.ignoredLines;_.isEmpty(ignored)||(JSHINT.errors=_.reject(JSHINT.errors,function(err){return ignored[err.line]}))}function warning(code,t,a,b,c,d){var ch,l,w,msg;if(/^W\\d{3}$/.test(code)){if(state.ignored[code])return;msg=messages.warnings[code]}else/E\\d{3}/.test(code)?msg=messages.errors[code]:/I\\d{3}/.test(code)&&(msg=messages.info[code]);return t=t||state.tokens.next||{},\"(end)\"===t.id&&(t=state.tokens.curr),l=t.line||0,ch=t.from||0,w={id:\"(error)\",raw:msg.desc,code:msg.code,evidence:state.lines[l-1]||\"\",line:l,character:ch,scope:JSHINT.scope,a:a,b:b,c:c,d:d},w.reason=supplant(msg.desc,w),JSHINT.errors.push(w),removeIgnoredMessages(),JSHINT.errors.length>=state.option.maxerr&&quit(\"E043\",l,ch),w}function warningAt(m,l,ch,a,b,c,d){return warning(m,{line:l,from:ch},a,b,c,d)}function error(m,t,a,b,c,d){warning(m,t,a,b,c,d)}function errorAt(m,l,ch,a,b,c,d){return error(m,{line:l,from:ch},a,b,c,d)}function addInternalSrc(elem,src){var i;return i={id:\"(internal)\",elem:elem,value:src},JSHINT.internals.push(i),i}function doOption(){var nt=state.tokens.next,body=nt.body.match(/(-\\s+)?[^\\s,:]+(?:\\s*:\\s*(-\\s+)?[^\\s,]+)?/g)||[],predef={};if(\"globals\"===nt.type){body.forEach(function(g,idx){g=g.split(\":\");var key=(g[0]||\"\").trim(),val=(g[1]||\"\").trim();if(\"-\"===key||!key.length){if(idx>0&&idx===body.length-1)return;return error(\"E002\",nt),void 0}\"-\"===key.charAt(0)?(key=key.slice(1),val=!1,JSHINT.blacklist[key]=key,delete predefined[key]):predef[key]=\"true\"===val}),combine(predefined,predef);for(var key in predef)_.has(predef,key)&&(declared[key]=nt)}\"exported\"===nt.type&&body.forEach(function(e,idx){if(!e.length){if(idx>0&&idx===body.length-1)return;return error(\"E002\",nt),void 0}state.funct[\"(scope)\"].addExported(e)}),\"members\"===nt.type&&(membersOnly=membersOnly||{},body.forEach(function(m){var ch1=m.charAt(0),ch2=m.charAt(m.length-1);ch1!==ch2||'\"'!==ch1&&\"'\"!==ch1||(m=m.substr(1,m.length-2).replace('\\\\\"','\"')),membersOnly[m]=!1}));var numvals=[\"maxstatements\",\"maxparams\",\"maxdepth\",\"maxcomplexity\",\"maxerr\",\"maxlen\",\"indent\"];(\"jshint\"===nt.type||\"jslint\"===nt.type)&&(body.forEach(function(g){g=g.split(\":\");var key=(g[0]||\"\").trim(),val=(g[1]||\"\").trim();if(checkOption(key,nt))if(numvals.indexOf(key)>=0)if(\"false\"!==val){if(val=+val,\"number\"!=typeof val||!isFinite(val)||0>=val||Math.floor(val)!==val)return error(\"E032\",nt,g[1].trim()),void 0;state.option[key]=val}else state.option[key]=\"indent\"===key?4:!1;else{if(\"validthis\"===key)return state.funct[\"(global)\"]?void error(\"E009\"):\"true\"!==val&&\"false\"!==val?void error(\"E002\",nt):(state.option.validthis=\"true\"===val,void 0);if(\"quotmark\"!==key)if(\"shadow\"!==key)if(\"unused\"!==key)if(\"latedef\"!==key)if(\"ignore\"!==key)if(\"strict\"!==key){\"module\"===key&&(hasParsedCode(state.funct)||error(\"E055\",state.tokens.next,\"module\"));var esversions={es3:3,es5:5,esnext:6};if(!_.has(esversions,key)){if(\"esversion\"===key){switch(val){case\"5\":state.inES5(!0)&&warning(\"I003\");case\"3\":case\"6\":state.option.moz=!1,state.option.esversion=+val;break;case\"2015\":state.option.moz=!1,state.option.esversion=6;break;default:error(\"E002\",nt)}return hasParsedCode(state.funct)||error(\"E055\",state.tokens.next,\"esversion\"),void 0}var match=/^([+-])(W\\d{3})$/g.exec(key);if(match)return state.ignored[match[2]]=\"-\"===match[1],void 0;var tn;return\"true\"===val||\"false\"===val?(\"jslint\"===nt.type?(tn=options.renamed[key]||key,state.option[tn]=\"true\"===val,void 0!==options.inverted[tn]&&(state.option[tn]=!state.option[tn])):state.option[key]=\"true\"===val,\"newcap\"===key&&(state.option[\"(explicitNewcap)\"]=!0),void 0):(error(\"E002\",nt),void 0)}switch(val){case\"true\":state.option.moz=!1,state.option.esversion=esversions[key];break;case\"false\":state.option.moz||(state.option.esversion=5);break;default:error(\"E002\",nt)}}else switch(val){case\"true\":state.option.strict=!0;break;case\"false\":state.option.strict=!1;break;case\"func\":case\"global\":case\"implied\":state.option.strict=val;break;default:error(\"E002\",nt)}else switch(val){case\"line\":state.ignoredLines[nt.line]=!0,removeIgnoredMessages();break;default:error(\"E002\",nt)}else switch(val){case\"true\":state.option.latedef=!0;break;case\"false\":state.option.latedef=!1;break;case\"nofunc\":state.option.latedef=\"nofunc\";break;default:error(\"E002\",nt)}else switch(val){case\"true\":state.option.unused=!0;break;case\"false\":state.option.unused=!1;break;case\"vars\":case\"strict\":state.option.unused=val;break;default:error(\"E002\",nt)}else switch(val){case\"true\":state.option.shadow=!0;break;case\"outer\":state.option.shadow=\"outer\";break;case\"false\":case\"inner\":state.option.shadow=\"inner\";break;default:error(\"E002\",nt)}else switch(val){case\"true\":case\"false\":state.option.quotmark=\"true\"===val;break;case\"double\":case\"single\":state.option.quotmark=val;break;default:error(\"E002\",nt)}}}),assume())}function peek(p){var t,i=p||0,j=lookahead.length;if(j>i)return lookahead[i];for(;i>=j;)t=lookahead[j],t||(t=lookahead[j]=lex.token()),j+=1;return t||\"(end)\"!==state.tokens.next.id?t:state.tokens.next}function peekIgnoreEOL(){var t,i=0;do t=peek(i++);while(\"(endline)\"===t.id);return t}function advance(id,t){switch(state.tokens.curr.id){case\"(number)\":\".\"===state.tokens.next.id&&warning(\"W005\",state.tokens.curr);break;case\"-\":(\"-\"===state.tokens.next.id||\"--\"===state.tokens.next.id)&&warning(\"W006\");break;case\"+\":(\"+\"===state.tokens.next.id||\"++\"===state.tokens.next.id)&&warning(\"W007\")}for(id&&state.tokens.next.id!==id&&(t?\"(end)\"===state.tokens.next.id?error(\"E019\",t,t.id):error(\"E020\",state.tokens.next,id,t.id,t.line,state.tokens.next.value):(\"(identifier)\"!==state.tokens.next.type||state.tokens.next.value!==id)&&warning(\"W116\",state.tokens.next,id,state.tokens.next.value)),state.tokens.prev=state.tokens.curr,state.tokens.curr=state.tokens.next;;){if(state.tokens.next=lookahead.shift()||lex.token(),state.tokens.next||quit(\"E041\",state.tokens.curr.line),\"(end)\"===state.tokens.next.id||\"(error)\"===state.tokens.next.id)return;if(state.tokens.next.check&&state.tokens.next.check(),state.tokens.next.isSpecial)\"falls through\"===state.tokens.next.type?state.tokens.curr.caseFallsThrough=!0:doOption();else if(\"(endline)\"!==state.tokens.next.id)break}}function isInfix(token){return token.infix||!token.identifier&&!token.template&&!!token.led}function isEndOfExpr(){var curr=state.tokens.curr,next=state.tokens.next;return\";\"===next.id||\"}\"===next.id||\":\"===next.id?!0:isInfix(next)===isInfix(curr)||\"yield\"===curr.id&&state.inMoz()?curr.line!==startLine(next):!1}function isBeginOfExpr(prev){return!prev.left&&\"unary\"!==prev.arity}function expression(rbp,initial){var left,isArray=!1,isObject=!1,isLetExpr=!1;state.nameStack.push(),initial||\"let\"!==state.tokens.next.value||\"(\"!==peek(0).value||(state.inMoz()||warning(\"W118\",state.tokens.next,\"let expressions\"),isLetExpr=!0,state.funct[\"(scope)\"].stack(),advance(\"let\"),advance(\"(\"),state.tokens.prev.fud(),advance(\")\")),\"(end)\"===state.tokens.next.id&&error(\"E006\",state.tokens.curr);var isDangerous=state.option.asi&&state.tokens.prev.line!==startLine(state.tokens.curr)&&_.contains([\"]\",\")\"],state.tokens.prev.id)&&_.contains([\"[\",\"(\"],state.tokens.curr.id);if(isDangerous&&warning(\"W014\",state.tokens.curr,state.tokens.curr.id),advance(),initial&&(state.funct[\"(verb)\"]=state.tokens.curr.value,state.tokens.curr.beginsStmt=!0),initial===!0&&state.tokens.curr.fud)left=state.tokens.curr.fud();else for(state.tokens.curr.nud?left=state.tokens.curr.nud():error(\"E030\",state.tokens.curr,state.tokens.curr.id);(state.tokens.next.lbp>rbp||\"(template)\"===state.tokens.next.type)&&!isEndOfExpr();)isArray=\"Array\"===state.tokens.curr.value,isObject=\"Object\"===state.tokens.curr.value,left&&(left.value||left.first&&left.first.value)&&(\"new\"!==left.value||left.first&&left.first.value&&\".\"===left.first.value)&&(isArray=!1,left.value!==state.tokens.curr.value&&(isObject=!1)),advance(),isArray&&\"(\"===state.tokens.curr.id&&\")\"===state.tokens.next.id&&warning(\"W009\",state.tokens.curr),isObject&&\"(\"===state.tokens.curr.id&&\")\"===state.tokens.next.id&&warning(\"W010\",state.tokens.curr),left&&state.tokens.curr.led?left=state.tokens.curr.led(left):error(\"E033\",state.tokens.curr,state.tokens.curr.id);return isLetExpr&&state.funct[\"(scope)\"].unstack(),state.nameStack.pop(),left}function startLine(token){return token.startLine||token.line}function nobreaknonadjacent(left,right){left=left||state.tokens.curr,right=right||state.tokens.next,state.option.laxbreak||left.line===startLine(right)||warning(\"W014\",right,right.value)}function nolinebreak(t){t=t||state.tokens.curr,t.line!==startLine(state.tokens.next)&&warning(\"E022\",t,t.value)}function nobreakcomma(left,right){left.line!==startLine(right)&&(state.option.laxcomma||(comma.first&&(warning(\"I001\"),comma.first=!1),warning(\"W014\",left,right.value)))}function comma(opts){if(opts=opts||{},opts.peek?nobreakcomma(state.tokens.prev,state.tokens.curr):(nobreakcomma(state.tokens.curr,state.tokens.next),advance(\",\")),state.tokens.next.identifier&&(!opts.property||!state.inES5()))switch(state.tokens.next.value){case\"break\":case\"case\":case\"catch\":case\"continue\":case\"default\":case\"do\":case\"else\":case\"finally\":case\"for\":case\"if\":case\"in\":case\"instanceof\":case\"return\":case\"switch\":case\"throw\":case\"try\":case\"var\":case\"let\":case\"while\":case\"with\":return error(\"E024\",state.tokens.next,state.tokens.next.value),!1}if(\"(punctuator)\"===state.tokens.next.type)switch(state.tokens.next.value){case\"}\":case\"]\":case\",\":if(opts.allowTrailing)return!0;case\")\":return error(\"E024\",state.tokens.next,state.tokens.next.value),!1}return!0}function symbol(s,p){var x=state.syntax[s];return x&&\"object\"==typeof x||(state.syntax[s]=x={id:s,lbp:p,value:s}),x}function delim(s){var x=symbol(s,0);return x.delim=!0,x}function stmt(s,f){var x=delim(s);return x.identifier=x.reserved=!0,x.fud=f,x}function blockstmt(s,f){var x=stmt(s,f);return x.block=!0,x}function reserveName(x){var c=x.id.charAt(0);return(c>=\"a\"&&\"z\">=c||c>=\"A\"&&\"Z\">=c)&&(x.identifier=x.reserved=!0),x}function prefix(s,f){var x=symbol(s,150);return reserveName(x),x.nud=\"function\"==typeof f?f:function(){return this.arity=\"unary\",this.right=expression(150),(\"++\"===this.id||\"--\"===this.id)&&(state.option.plusplus?warning(\"W016\",this,this.id):!this.right||this.right.identifier&&!isReserved(this.right)||\".\"===this.right.id||\"[\"===this.right.id||warning(\"W017\",this),this.right&&this.right.isMetaProperty?error(\"E031\",this):this.right&&this.right.identifier&&state.funct[\"(scope)\"].block.modify(this.right.value,this)),this},x}function type(s,f){var x=delim(s);return x.type=s,x.nud=f,x}function reserve(name,func){var x=type(name,func);return x.identifier=!0,x.reserved=!0,x}function FutureReservedWord(name,meta){var x=type(name,meta&&meta.nud||function(){return this});return meta=meta||{},meta.isFutureReservedWord=!0,x.value=name,x.identifier=!0,x.reserved=!0,x.meta=meta,x}function reservevar(s,v){return reserve(s,function(){return\"function\"==typeof v&&v(this),this})}function infix(s,f,p,w){var x=symbol(s,p);return reserveName(x),x.infix=!0,x.led=function(left){return w||nobreaknonadjacent(state.tokens.prev,state.tokens.curr),\"in\"!==s&&\"instanceof\"!==s||\"!\"!==left.id||warning(\"W018\",left,\"!\"),\"function\"==typeof f?f(left,this):(this.left=left,this.right=expression(p),this)},x}function application(s){var x=symbol(s,42);return x.led=function(left){return nobreaknonadjacent(state.tokens.prev,state.tokens.curr),this.left=left,this.right=doFunction({type:\"arrow\",loneArg:left}),this},x}function relation(s,f){var x=symbol(s,100);return x.led=function(left){nobreaknonadjacent(state.tokens.prev,state.tokens.curr),this.left=left;var right=this.right=expression(100);return isIdentifier(left,\"NaN\")||isIdentifier(right,\"NaN\")?warning(\"W019\",this):f&&f.apply(this,[left,right]),left&&right||quit(\"E041\",state.tokens.curr.line),\"!\"===left.id&&warning(\"W018\",left,\"!\"),\"!\"===right.id&&warning(\"W018\",right,\"!\"),this},x}function isPoorRelation(node){return node&&(\"(number)\"===node.type&&0===+node.value||\"(string)\"===node.type&&\"\"===node.value||\"null\"===node.type&&!state.option.eqnull||\"true\"===node.type||\"false\"===node.type||\"undefined\"===node.type)}function isTypoTypeof(left,right,state){var values;return state.option.notypeof?!1:left&&right?(values=state.inES6()?typeofValues.es6:typeofValues.es3,\"(identifier)\"===right.type&&\"typeof\"===right.value&&\"(string)\"===left.type?!_.contains(values,left.value):!1):!1}function isGlobalEval(left,state){var isGlobal=!1;return\"this\"===left.type&&null===state.funct[\"(context)\"]?isGlobal=!0:\"(identifier)\"===left.type&&(state.option.node&&\"global\"===left.value?isGlobal=!0:!state.option.browser||\"window\"!==left.value&&\"document\"!==left.value||(isGlobal=!0)),isGlobal}function findNativePrototype(left){function walkPrototype(obj){return\"object\"==typeof obj?\"prototype\"===obj.right?obj:walkPrototype(obj.left):void 0}function walkNative(obj){for(;!obj.identifier&&\"object\"==typeof obj.left;)obj=obj.left;return obj.identifier&&natives.indexOf(obj.value)>=0?obj.value:void 0}var natives=[\"Array\",\"ArrayBuffer\",\"Boolean\",\"Collator\",\"DataView\",\"Date\",\"DateTimeFormat\",\"Error\",\"EvalError\",\"Float32Array\",\"Float64Array\",\"Function\",\"Infinity\",\"Intl\",\"Int16Array\",\"Int32Array\",\"Int8Array\",\"Iterator\",\"Number\",\"NumberFormat\",\"Object\",\"RangeError\",\"ReferenceError\",\"RegExp\",\"StopIteration\",\"String\",\"SyntaxError\",\"TypeError\",\"Uint16Array\",\"Uint32Array\",\"Uint8Array\",\"Uint8ClampedArray\",\"URIError\"],prototype=walkPrototype(left);return prototype?walkNative(prototype):void 0}function checkLeftSideAssign(left,assignToken,options){var allowDestructuring=options&&options.allowDestructuring;if(assignToken=assignToken||left,state.option.freeze){var nativeObject=findNativePrototype(left);nativeObject&&warning(\"W121\",left,nativeObject)}return left.identifier&&!left.isMetaProperty&&state.funct[\"(scope)\"].block.reassign(left.value,left),\".\"===left.id?((!left.left||\"arguments\"===left.left.value&&!state.isStrict())&&warning(\"E031\",assignToken),state.nameStack.set(state.tokens.prev),!0):\"{\"===left.id||\"[\"===left.id?(allowDestructuring&&state.tokens.curr.left.destructAssign?state.tokens.curr.left.destructAssign.forEach(function(t){t.id&&state.funct[\"(scope)\"].block.modify(t.id,t.token)}):\"{\"!==left.id&&left.left?\"arguments\"!==left.left.value||state.isStrict()||warning(\"E031\",assignToken):warning(\"E031\",assignToken),\"[\"===left.id&&state.nameStack.set(left.right),!0):left.isMetaProperty?(error(\"E031\",assignToken),!0):left.identifier&&!isReserved(left)?(\"exception\"===state.funct[\"(scope)\"].labeltype(left.value)&&warning(\"W022\",left),state.nameStack.set(left),!0):(left===state.syntax[\"function\"]&&warning(\"W023\",state.tokens.curr),!1)}function assignop(s,f,p){var x=infix(s,\"function\"==typeof f?f:function(left,that){return that.left=left,left&&checkLeftSideAssign(left,that,{allowDestructuring:!0})?(that.right=expression(10),that):(error(\"E031\",that),void 0)},p);return x.exps=!0,x.assign=!0,x}function bitwise(s,f,p){var x=symbol(s,p);return reserveName(x),x.led=\"function\"==typeof f?f:function(left){return state.option.bitwise&&warning(\"W016\",this,this.id),this.left=left,this.right=expression(p),this},x}function bitwiseassignop(s){return assignop(s,function(left,that){return state.option.bitwise&&warning(\"W016\",that,that.id),left&&checkLeftSideAssign(left,that)?(that.right=expression(10),that):(error(\"E031\",that),void 0)},20)}function suffix(s){var x=symbol(s,150);return x.led=function(left){return state.option.plusplus?warning(\"W016\",this,this.id):left.identifier&&!isReserved(left)||\".\"===left.id||\"[\"===left.id||warning(\"W017\",this),left.isMetaProperty?error(\"E031\",this):left&&left.identifier&&state.funct[\"(scope)\"].block.modify(left.value,left),this.left=left,this},x}function optionalidentifier(fnparam,prop,preserve){if(state.tokens.next.identifier){preserve||advance();var curr=state.tokens.curr,val=state.tokens.curr.value;return isReserved(curr)?prop&&state.inES5()?val:fnparam&&\"undefined\"===val?val:(warning(\"W024\",state.tokens.curr,state.tokens.curr.id),val):val}}function identifier(fnparam,prop){var i=optionalidentifier(fnparam,prop,!1);if(i)return i;if(\"...\"===state.tokens.next.value){if(state.inES6(!0)||warning(\"W119\",state.tokens.next,\"spread/rest operator\",\"6\"),advance(),checkPunctuator(state.tokens.next,\"...\"))for(warning(\"E024\",state.tokens.next,\"...\");checkPunctuator(state.tokens.next,\"...\");)advance();return state.tokens.next.identifier?identifier(fnparam,prop):(warning(\"E024\",state.tokens.curr,\"...\"),void 0)}error(\"E030\",state.tokens.next,state.tokens.next.value),\";\"!==state.tokens.next.id&&advance()}function reachable(controlToken){var t,i=0;if(\";\"===state.tokens.next.id&&!controlToken.inBracelessBlock)for(;;){do t=peek(i),i+=1;while(\"(end)\"!==t.id&&\"(comment)\"===t.id);if(t.reach)return;if(\"(endline)\"!==t.id){if(\"function\"===t.id){state.option.latedef===!0&&warning(\"W026\",t);break}warning(\"W027\",t,t.value,controlToken.value);break}}}function parseFinalSemicolon(){if(\";\"!==state.tokens.next.id){if(state.tokens.next.isUnclosed)return advance();var sameLine=startLine(state.tokens.next)===state.tokens.curr.line&&\"(end)\"!==state.tokens.next.id,blockEnd=checkPunctuator(state.tokens.next,\"}\");sameLine&&!blockEnd?errorAt(\"E058\",state.tokens.curr.line,state.tokens.curr.character):state.option.asi||(blockEnd&&!state.option.lastsemic||!sameLine)&&warningAt(\"W033\",state.tokens.curr.line,state.tokens.curr.character)}else advance(\";\")}function statement(){var r,i=indent,t=state.tokens.next,hasOwnScope=!1;if(\";\"===t.id)return advance(\";\"),void 0;var res=isReserved(t);if(res&&t.meta&&t.meta.isFutureReservedWord&&\":\"===peek().id&&(warning(\"W024\",t,t.id),res=!1),t.identifier&&!res&&\":\"===peek().id&&(advance(),advance(\":\"),hasOwnScope=!0,state.funct[\"(scope)\"].stack(),state.funct[\"(scope)\"].block.addBreakLabel(t.value,{token:state.tokens.curr}),state.tokens.next.labelled||\"{\"===state.tokens.next.value||warning(\"W028\",state.tokens.next,t.value,state.tokens.next.value),state.tokens.next.label=t.value,t=state.tokens.next),\"{\"===t.id){var iscase=\"case\"===state.funct[\"(verb)\"]&&\":\"===state.tokens.curr.value;return block(!0,!0,!1,!1,iscase),void 0}return r=expression(0,!0),!r||r.identifier&&\"function\"===r.value||\"(punctuator)\"===r.type&&r.left&&r.left.identifier&&\"function\"===r.left.value||state.isStrict()||\"global\"!==state.option.strict||warning(\"E007\"),t.block||(state.option.expr||r&&r.exps?state.option.nonew&&r&&r.left&&\"(\"===r.id&&\"new\"===r.left.id&&warning(\"W031\",t):warning(\"W030\",state.tokens.curr),parseFinalSemicolon()),indent=i,hasOwnScope&&state.funct[\"(scope)\"].unstack(),r}function statements(){for(var p,a=[];!state.tokens.next.reach&&\"(end)\"!==state.tokens.next.id;)\";\"===state.tokens.next.id?(p=peek(),(!p||\"(\"!==p.id&&\"[\"!==p.id)&&warning(\"W032\"),advance(\";\")):a.push(statement());return a}function directives(){for(var i,p,pn;\"(string)\"===state.tokens.next.id;){if(p=peek(0),\"(endline)\"===p.id){i=1;do pn=peek(i++);while(\"(endline)\"===pn.id);if(\";\"===pn.id)p=pn;else{if(\"[\"===pn.value||\".\"===pn.value)break;state.option.asi&&\"(\"!==pn.value||warning(\"W033\",state.tokens.next)}}else{if(\".\"===p.id||\"[\"===p.id)break;\";\"!==p.id&&warning(\"W033\",p)}advance();var directive=state.tokens.curr.value;(state.directive[directive]||\"use strict\"===directive&&\"implied\"===state.option.strict)&&warning(\"W034\",state.tokens.curr,directive),state.directive[directive]=!0,\";\"===p.id&&advance(\";\")}state.isStrict()&&(state.option[\"(explicitNewcap)\"]||(state.option.newcap=!0),state.option.undef=!0)}function block(ordinary,stmt,isfunc,isfatarrow,iscase){var a,m,t,line,d,b=inblock,old_indent=indent;inblock=ordinary,t=state.tokens.next;var metrics=state.funct[\"(metrics)\"];if(metrics.nestedBlockDepth+=1,metrics.verifyMaxNestedBlockDepthPerFunction(),\"{\"===state.tokens.next.id){if(advance(\"{\"),state.funct[\"(scope)\"].stack(),line=state.tokens.curr.line,\"}\"!==state.tokens.next.id){for(indent+=state.option.indent;!ordinary&&state.tokens.next.from>indent;)indent+=state.option.indent;if(isfunc){m={};for(d in state.directive)_.has(state.directive,d)&&(m[d]=state.directive[d]);directives(),state.option.strict&&state.funct[\"(context)\"][\"(global)\"]&&(m[\"use strict\"]||state.isStrict()||warning(\"E007\"))}a=statements(),metrics.statementCount+=a.length,indent-=state.option.indent}advance(\"}\",t),isfunc&&(state.funct[\"(scope)\"].validateParams(),m&&(state.directive=m)),state.funct[\"(scope)\"].unstack(),indent=old_indent}else if(ordinary)state.funct[\"(noblockscopedvar)\"]=\"for\"!==state.tokens.next.id,state.funct[\"(scope)\"].stack(),(!stmt||state.option.curly)&&warning(\"W116\",state.tokens.next,\"{\",state.tokens.next.value),state.tokens.next.inBracelessBlock=!0,indent+=state.option.indent,a=[statement()],indent-=state.option.indent,state.funct[\"(scope)\"].unstack(),delete state.funct[\"(noblockscopedvar)\"];else if(isfunc){if(state.funct[\"(scope)\"].stack(),m={},!stmt||isfatarrow||state.inMoz()||error(\"W118\",state.tokens.curr,\"function closure expressions\"),!stmt)for(d in state.directive)_.has(state.directive,d)&&(m[d]=state.directive[d]);expression(10),state.option.strict&&state.funct[\"(context)\"][\"(global)\"]&&(m[\"use strict\"]||state.isStrict()||warning(\"E007\")),state.funct[\"(scope)\"].unstack()}else error(\"E021\",state.tokens.next,\"{\",state.tokens.next.value);switch(state.funct[\"(verb)\"]){case\"break\":case\"continue\":case\"return\":case\"throw\":if(iscase)break;default:state.funct[\"(verb)\"]=null}return inblock=b,!ordinary||!state.option.noempty||a&&0!==a.length||warning(\"W035\",state.tokens.prev),metrics.nestedBlockDepth-=1,a}function countMember(m){membersOnly&&\"boolean\"!=typeof membersOnly[m]&&warning(\"W036\",state.tokens.curr,m),\"number\"==typeof member[m]?member[m]+=1:member[m]=1}function comprehensiveArrayExpression(){var res={};res.exps=!0,state.funct[\"(comparray)\"].stack();var reversed=!1;return\"for\"!==state.tokens.next.value&&(reversed=!0,state.inMoz()||warning(\"W116\",state.tokens.next,\"for\",state.tokens.next.value),state.funct[\"(comparray)\"].setState(\"use\"),res.right=expression(10)),advance(\"for\"),\"each\"===state.tokens.next.value&&(advance(\"each\"),state.inMoz()||warning(\"W118\",state.tokens.curr,\"for each\")),advance(\"(\"),state.funct[\"(comparray)\"].setState(\"define\"),res.left=expression(130),_.contains([\"in\",\"of\"],state.tokens.next.value)?advance():error(\"E045\",state.tokens.curr),state.funct[\"(comparray)\"].setState(\"generate\"),expression(10),advance(\")\"),\"if\"===state.tokens.next.value&&(advance(\"if\"),advance(\"(\"),state.funct[\"(comparray)\"].setState(\"filter\"),res.filter=expression(10),advance(\")\")),reversed||(state.funct[\"(comparray)\"].setState(\"use\"),res.right=expression(10)),advance(\"]\"),state.funct[\"(comparray)\"].unstack(),res}function isMethod(){return state.funct[\"(statement)\"]&&\"class\"===state.funct[\"(statement)\"].type||state.funct[\"(context)\"]&&\"class\"===state.funct[\"(context)\"][\"(verb)\"]}function isPropertyName(token){return token.identifier||\"(string)\"===token.id||\"(number)\"===token.id}function propertyName(preserveOrToken){var id,preserve=!0;return\"object\"==typeof preserveOrToken?id=preserveOrToken:(preserve=preserveOrToken,id=optionalidentifier(!1,!0,preserve)),id?\"object\"==typeof id&&(\"(string)\"===id.id||\"(identifier)\"===id.id?id=id.value:\"(number)\"===id.id&&(id=\"\"+id.value)):\"(string)\"===state.tokens.next.id?(id=state.tokens.next.value,preserve||advance()):\"(number)\"===state.tokens.next.id&&(id=\"\"+state.tokens.next.value,preserve||advance()),\"hasOwnProperty\"===id&&warning(\"W001\"),id}function functionparams(options){function addParam(addParamArgs){state.funct[\"(scope)\"].addParam.apply(state.funct[\"(scope)\"],addParamArgs)}var next,ident,t,paramsIds=[],tokens=[],pastDefault=!1,pastRest=!1,arity=0,loneArg=options&&options.loneArg;if(loneArg&&loneArg.identifier===!0)return state.funct[\"(scope)\"].addParam(loneArg.value,loneArg),{arity:1,params:[loneArg.value]};if(next=state.tokens.next,options&&options.parsedOpening||advance(\"(\"),\")\"===state.tokens.next.id)return advance(\")\"),void 0;for(;;){arity++;var currentParams=[];if(_.contains([\"{\",\"[\"],state.tokens.next.id)){tokens=destructuringPattern();for(t in tokens)t=tokens[t],t.id&&(paramsIds.push(t.id),currentParams.push([t.id,t.token]))}else if(checkPunctuator(state.tokens.next,\"...\")&&(pastRest=!0),ident=identifier(!0))paramsIds.push(ident),currentParams.push([ident,state.tokens.curr]);else for(;!checkPunctuators(state.tokens.next,[\",\",\")\"]);)advance();if(pastDefault&&\"=\"!==state.tokens.next.id&&error(\"W138\",state.tokens.current),\"=\"===state.tokens.next.id&&(state.inES6()||warning(\"W119\",state.tokens.next,\"default parameters\",\"6\"),advance(\"=\"),pastDefault=!0,expression(10)),currentParams.forEach(addParam),\",\"!==state.tokens.next.id)return advance(\")\",next),{arity:arity,params:paramsIds};pastRest&&warning(\"W131\",state.tokens.next),comma()}}function functor(name,token,overwrites){var funct={\"(name)\":name,\"(breakage)\":0,\"(loopage)\":0,\"(tokens)\":{},\"(properties)\":{},\"(catch)\":!1,\"(global)\":!1,\"(line)\":null,\"(character)\":null,\"(metrics)\":null,\"(statement)\":null,\"(context)\":null,\"(scope)\":null,\"(comparray)\":null,\"(generator)\":null,\"(arrow)\":null,\"(params)\":null};return token&&_.extend(funct,{\"(line)\":token.line,\"(character)\":token.character,\"(metrics)\":createMetrics(token)}),_.extend(funct,overwrites),funct[\"(context)\"]&&(funct[\"(scope)\"]=funct[\"(context)\"][\"(scope)\"],funct[\"(comparray)\"]=funct[\"(context)\"][\"(comparray)\"]),funct}function isFunctor(token){return\"(scope)\"in token}function hasParsedCode(funct){return funct[\"(global)\"]&&!funct[\"(verb)\"]}function doTemplateLiteral(left){function end(){if(state.tokens.curr.template&&state.tokens.curr.tail&&state.tokens.curr.context===ctx)return!0;var complete=state.tokens.next.template&&state.tokens.next.tail&&state.tokens.next.context===ctx;return complete&&advance(),complete||state.tokens.next.isUnclosed}var ctx=this.context,noSubst=this.noSubst,depth=this.depth;if(!noSubst)for(;!end();)!state.tokens.next.template||state.tokens.next.depth>depth?expression(0):advance();return{id:\"(template)\",type:\"(template)\",tag:left}}function doFunction(options){var f,token,name,statement,classExprBinding,isGenerator,isArrow,ignoreLoopFunc,oldOption=state.option,oldIgnored=state.ignored;options&&(name=options.name,statement=options.statement,classExprBinding=options.classExprBinding,isGenerator=\"generator\"===options.type,isArrow=\"arrow\"===options.type,ignoreLoopFunc=options.ignoreLoopFunc),state.option=Object.create(state.option),state.ignored=Object.create(state.ignored),state.funct=functor(name||state.nameStack.infer(),state.tokens.next,{\"(statement)\":statement,\"(context)\":state.funct,\"(arrow)\":isArrow,\"(generator)\":isGenerator}),f=state.funct,token=state.tokens.curr,token.funct=state.funct,functions.push(state.funct),state.funct[\"(scope)\"].stack(\"functionouter\");var internallyAccessibleName=name||classExprBinding;internallyAccessibleName&&state.funct[\"(scope)\"].block.add(internallyAccessibleName,classExprBinding?\"class\":\"function\",state.tokens.curr,!1),state.funct[\"(scope)\"].stack(\"functionparams\");var paramsInfo=functionparams(options);return paramsInfo?(state.funct[\"(params)\"]=paramsInfo.params,state.funct[\"(metrics)\"].arity=paramsInfo.arity,state.funct[\"(metrics)\"].verifyMaxParametersPerFunction()):state.funct[\"(metrics)\"].arity=0,isArrow&&(state.inES6(!0)||warning(\"W119\",state.tokens.curr,\"arrow function syntax (=>)\",\"6\"),options.loneArg||advance(\"=>\")),block(!1,!0,!0,isArrow),!state.option.noyield&&isGenerator&&\"yielded\"!==state.funct[\"(generator)\"]&&warning(\"W124\",state.tokens.curr),state.funct[\"(metrics)\"].verifyMaxStatementsPerFunction(),state.funct[\"(metrics)\"].verifyMaxComplexityPerFunction(),state.funct[\"(unusedOption)\"]=state.option.unused,state.option=oldOption,state.ignored=oldIgnored,state.funct[\"(last)\"]=state.tokens.curr.line,state.funct[\"(lastcharacter)\"]=state.tokens.curr.character,state.funct[\"(scope)\"].unstack(),state.funct[\"(scope)\"].unstack(),state.funct=state.funct[\"(context)\"],ignoreLoopFunc||state.option.loopfunc||!state.funct[\"(loopage)\"]||f[\"(isCapturing)\"]&&warning(\"W083\",token),f}function createMetrics(functionStartToken){return{statementCount:0,nestedBlockDepth:-1,ComplexityCount:1,arity:0,verifyMaxStatementsPerFunction:function(){state.option.maxstatements&&this.statementCount>state.option.maxstatements&&warning(\"W071\",functionStartToken,this.statementCount)\n},verifyMaxParametersPerFunction:function(){_.isNumber(state.option.maxparams)&&this.arity>state.option.maxparams&&warning(\"W072\",functionStartToken,this.arity)},verifyMaxNestedBlockDepthPerFunction:function(){state.option.maxdepth&&this.nestedBlockDepth>0&&this.nestedBlockDepth===state.option.maxdepth+1&&warning(\"W073\",null,this.nestedBlockDepth)},verifyMaxComplexityPerFunction:function(){var max=state.option.maxcomplexity,cc=this.ComplexityCount;max&&cc>max&&warning(\"W074\",functionStartToken,cc)}}}function increaseComplexityCount(){state.funct[\"(metrics)\"].ComplexityCount+=1}function checkCondAssignment(expr){var id,paren;switch(expr&&(id=expr.id,paren=expr.paren,\",\"===id&&(expr=expr.exprs[expr.exprs.length-1])&&(id=expr.id,paren=paren||expr.paren)),id){case\"=\":case\"+=\":case\"-=\":case\"*=\":case\"%=\":case\"&=\":case\"|=\":case\"^=\":case\"/=\":paren||state.option.boss||warning(\"W084\")}}function checkProperties(props){if(state.inES5())for(var name in props)props[name]&&props[name].setterToken&&!props[name].getterToken&&warning(\"W078\",props[name].setterToken)}function metaProperty(name,c){if(checkPunctuator(state.tokens.next,\".\")){var left=state.tokens.curr.id;advance(\".\");var id=identifier();return state.tokens.curr.isMetaProperty=!0,name!==id?error(\"E057\",state.tokens.prev,left,id):c(),state.tokens.curr}}function destructuringPattern(options){var isAssignment=options&&options.assignment;return state.inES6()||warning(\"W104\",state.tokens.curr,isAssignment?\"destructuring assignment\":\"destructuring binding\",\"6\"),destructuringPatternRecursive(options)}function destructuringPatternRecursive(options){var ids,identifiers=[],openingParsed=options&&options.openingParsed,isAssignment=options&&options.assignment,recursiveOptions=isAssignment?{assignment:isAssignment}:null,firstToken=openingParsed?state.tokens.curr:state.tokens.next,nextInnerDE=function(){var ident;if(checkPunctuators(state.tokens.next,[\"[\",\"{\"])){ids=destructuringPatternRecursive(recursiveOptions);for(var id in ids)id=ids[id],identifiers.push({id:id.id,token:id.token})}else if(checkPunctuator(state.tokens.next,\",\"))identifiers.push({id:null,token:state.tokens.curr});else{if(!checkPunctuator(state.tokens.next,\"(\")){var is_rest=checkPunctuator(state.tokens.next,\"...\");if(isAssignment){var identifierToken=is_rest?peek(0):state.tokens.next;identifierToken.identifier||warning(\"E030\",identifierToken,identifierToken.value);var assignTarget=expression(155);assignTarget&&(checkLeftSideAssign(assignTarget),assignTarget.identifier&&(ident=assignTarget.value))}else ident=identifier();return ident&&identifiers.push({id:ident,token:state.tokens.curr}),is_rest}advance(\"(\"),nextInnerDE(),advance(\")\")}return!1},assignmentProperty=function(){var id;checkPunctuator(state.tokens.next,\"[\")?(advance(\"[\"),expression(10),advance(\"]\"),advance(\":\"),nextInnerDE()):\"(string)\"===state.tokens.next.id||\"(number)\"===state.tokens.next.id?(advance(),advance(\":\"),nextInnerDE()):(id=identifier(),checkPunctuator(state.tokens.next,\":\")?(advance(\":\"),nextInnerDE()):id&&(isAssignment&&checkLeftSideAssign(state.tokens.curr),identifiers.push({id:id,token:state.tokens.curr})))};if(checkPunctuator(firstToken,\"[\")){openingParsed||advance(\"[\"),checkPunctuator(state.tokens.next,\"]\")&&warning(\"W137\",state.tokens.curr);for(var element_after_rest=!1;!checkPunctuator(state.tokens.next,\"]\");)nextInnerDE()&&!element_after_rest&&checkPunctuator(state.tokens.next,\",\")&&(warning(\"W130\",state.tokens.next),element_after_rest=!0),checkPunctuator(state.tokens.next,\"=\")&&(checkPunctuator(state.tokens.prev,\"...\")?advance(\"]\"):advance(\"=\"),\"undefined\"===state.tokens.next.id&&warning(\"W080\",state.tokens.prev,state.tokens.prev.value),expression(10)),checkPunctuator(state.tokens.next,\"]\")||advance(\",\");advance(\"]\")}else if(checkPunctuator(firstToken,\"{\")){for(openingParsed||advance(\"{\"),checkPunctuator(state.tokens.next,\"}\")&&warning(\"W137\",state.tokens.curr);!checkPunctuator(state.tokens.next,\"}\")&&(assignmentProperty(),checkPunctuator(state.tokens.next,\"=\")&&(advance(\"=\"),\"undefined\"===state.tokens.next.id&&warning(\"W080\",state.tokens.prev,state.tokens.prev.value),expression(10)),checkPunctuator(state.tokens.next,\"}\")||(advance(\",\"),!checkPunctuator(state.tokens.next,\"}\"))););advance(\"}\")}return identifiers}function destructuringPatternMatch(tokens,value){var first=value.first;first&&_.zip(tokens,Array.isArray(first)?first:[first]).forEach(function(val){var token=val[0],value=val[1];token&&value?token.first=value:token&&token.first&&!value&&warning(\"W080\",token.first,token.first.value)})}function blockVariableStatement(type,statement,context){var tokens,lone,value,letblock,prefix=context&&context.prefix,inexport=context&&context.inexport,isLet=\"let\"===type,isConst=\"const\"===type;for(state.inES6()||warning(\"W104\",state.tokens.curr,type,\"6\"),isLet&&\"(\"===state.tokens.next.value?(state.inMoz()||warning(\"W118\",state.tokens.next,\"let block\"),advance(\"(\"),state.funct[\"(scope)\"].stack(),letblock=!0):state.funct[\"(noblockscopedvar)\"]&&error(\"E048\",state.tokens.curr,isConst?\"Const\":\"Let\"),statement.first=[];;){var names=[];_.contains([\"{\",\"[\"],state.tokens.next.value)?(tokens=destructuringPattern(),lone=!1):(tokens=[{id:identifier(),token:state.tokens.curr}],lone=!0),!prefix&&isConst&&\"=\"!==state.tokens.next.id&&warning(\"E012\",state.tokens.curr,state.tokens.curr.value);for(var t in tokens)tokens.hasOwnProperty(t)&&(t=tokens[t],state.funct[\"(scope)\"].block.isGlobal()&&predefined[t.id]===!1&&warning(\"W079\",t.token,t.id),t.id&&!state.funct[\"(noblockscopedvar)\"]&&(state.funct[\"(scope)\"].addlabel(t.id,{type:type,token:t.token}),names.push(t.token),lone&&inexport&&state.funct[\"(scope)\"].setExported(t.token.value,t.token)));if(\"=\"===state.tokens.next.id&&(advance(\"=\"),prefix||\"undefined\"!==state.tokens.next.id||warning(\"W080\",state.tokens.prev,state.tokens.prev.value),!prefix&&\"=\"===peek(0).id&&state.tokens.next.identifier&&warning(\"W120\",state.tokens.next,state.tokens.next.value),value=expression(prefix?120:10),lone?tokens[0].first=value:destructuringPatternMatch(names,value)),statement.first=statement.first.concat(names),\",\"!==state.tokens.next.id)break;comma()}return letblock&&(advance(\")\"),block(!0,!0),statement.block=!0,state.funct[\"(scope)\"].unstack()),statement}function classdef(isStatement){return state.inES6()||warning(\"W104\",state.tokens.curr,\"class\",\"6\"),isStatement?(this.name=identifier(),state.funct[\"(scope)\"].addlabel(this.name,{type:\"class\",token:state.tokens.curr})):state.tokens.next.identifier&&\"extends\"!==state.tokens.next.value?(this.name=identifier(),this.namedExpr=!0):this.name=state.nameStack.infer(),classtail(this),this}function classtail(c){var wasInClassBody=state.inClassBody;\"extends\"===state.tokens.next.value&&(advance(\"extends\"),c.heritage=expression(10)),state.inClassBody=!0,advance(\"{\"),c.body=classbody(c),advance(\"}\"),state.inClassBody=wasInClassBody}function classbody(c){for(var name,isStatic,isGenerator,getset,computed,props=Object.create(null),staticProps=Object.create(null),i=0;\"}\"!==state.tokens.next.id;++i)if(name=state.tokens.next,isStatic=!1,isGenerator=!1,getset=null,\";\"!==name.id){if(\"*\"===name.id&&(isGenerator=!0,advance(\"*\"),name=state.tokens.next),\"[\"===name.id)name=computedPropertyName(),computed=!0;else{if(!isPropertyName(name)){warning(\"W052\",state.tokens.next,state.tokens.next.value||state.tokens.next.type),advance();continue}advance(),computed=!1,name.identifier&&\"static\"===name.value&&(checkPunctuator(state.tokens.next,\"*\")&&(isGenerator=!0,advance(\"*\")),(isPropertyName(state.tokens.next)||\"[\"===state.tokens.next.id)&&(computed=\"[\"===state.tokens.next.id,isStatic=!0,name=state.tokens.next,\"[\"===state.tokens.next.id?name=computedPropertyName():advance())),!name.identifier||\"get\"!==name.value&&\"set\"!==name.value||(isPropertyName(state.tokens.next)||\"[\"===state.tokens.next.id)&&(computed=\"[\"===state.tokens.next.id,getset=name,name=state.tokens.next,\"[\"===state.tokens.next.id?name=computedPropertyName():advance())}if(!checkPunctuator(state.tokens.next,\"(\")){for(error(\"E054\",state.tokens.next,state.tokens.next.value);\"}\"!==state.tokens.next.id&&!checkPunctuator(state.tokens.next,\"(\");)advance();\"(\"!==state.tokens.next.value&&doFunction({statement:c})}if(computed||(getset?saveAccessor(getset.value,isStatic?staticProps:props,name.value,name,!0,isStatic):(\"constructor\"===name.value?state.nameStack.set(c):state.nameStack.set(name),saveProperty(isStatic?staticProps:props,name.value,name,!0,isStatic))),getset&&\"constructor\"===name.value){var propDesc=\"get\"===getset.value?\"class getter method\":\"class setter method\";error(\"E049\",name,propDesc,\"constructor\")}else\"prototype\"===name.value&&error(\"E049\",name,\"class method\",\"prototype\");propertyName(name),doFunction({statement:c,type:isGenerator?\"generator\":null,classExprBinding:c.namedExpr?c.name:null})}else warning(\"W032\"),advance(\";\");checkProperties(props)}function saveProperty(props,name,tkn,isClass,isStatic){var msg=[\"key\",\"class method\",\"static class method\"];msg=msg[(isClass||!1)+(isStatic||!1)],tkn.identifier&&(name=tkn.value),props[name]&&\"__proto__\"!==name?warning(\"W075\",state.tokens.next,msg,name):props[name]=Object.create(null),props[name].basic=!0,props[name].basictkn=tkn}function saveAccessor(accessorType,props,name,tkn,isClass,isStatic){var flagName=\"get\"===accessorType?\"getterToken\":\"setterToken\",msg=\"\";isClass?(isStatic&&(msg+=\"static \"),msg+=accessorType+\"ter method\"):msg=\"key\",state.tokens.curr.accessorType=accessorType,state.nameStack.set(tkn),props[name]?(props[name].basic||props[name][flagName])&&\"__proto__\"!==name&&warning(\"W075\",state.tokens.next,msg,name):props[name]=Object.create(null),props[name][flagName]=tkn}function computedPropertyName(){advance(\"[\"),state.inES6()||warning(\"W119\",state.tokens.curr,\"computed property names\",\"6\");var value=expression(10);return advance(\"]\"),value}function checkPunctuators(token,values){return\"(punctuator)\"===token.type?_.contains(values,token.value):!1}function checkPunctuator(token,value){return\"(punctuator)\"===token.type&&token.value===value}function destructuringAssignOrJsonValue(){var block=lookupBlockType();block.notJson?(!state.inES6()&&block.isDestAssign&&warning(\"W104\",state.tokens.curr,\"destructuring assignment\",\"6\"),statements()):(state.option.laxbreak=!0,state.jsonMode=!0,jsonValue())}function jsonValue(){function jsonObject(){var o={},t=state.tokens.next;if(advance(\"{\"),\"}\"!==state.tokens.next.id)for(;;){if(\"(end)\"===state.tokens.next.id)error(\"E026\",state.tokens.next,t.line);else{if(\"}\"===state.tokens.next.id){warning(\"W094\",state.tokens.curr);break}\",\"===state.tokens.next.id?error(\"E028\",state.tokens.next):\"(string)\"!==state.tokens.next.id&&warning(\"W095\",state.tokens.next,state.tokens.next.value)}if(o[state.tokens.next.value]===!0?warning(\"W075\",state.tokens.next,\"key\",state.tokens.next.value):\"__proto__\"===state.tokens.next.value&&!state.option.proto||\"__iterator__\"===state.tokens.next.value&&!state.option.iterator?warning(\"W096\",state.tokens.next,state.tokens.next.value):o[state.tokens.next.value]=!0,advance(),advance(\":\"),jsonValue(),\",\"!==state.tokens.next.id)break;advance(\",\")}advance(\"}\")}function jsonArray(){var t=state.tokens.next;if(advance(\"[\"),\"]\"!==state.tokens.next.id)for(;;){if(\"(end)\"===state.tokens.next.id)error(\"E027\",state.tokens.next,t.line);else{if(\"]\"===state.tokens.next.id){warning(\"W094\",state.tokens.curr);break}\",\"===state.tokens.next.id&&error(\"E028\",state.tokens.next)}if(jsonValue(),\",\"!==state.tokens.next.id)break;advance(\",\")}advance(\"]\")}switch(state.tokens.next.id){case\"{\":jsonObject();break;case\"[\":jsonArray();break;case\"true\":case\"false\":case\"null\":case\"(number)\":case\"(string)\":advance();break;case\"-\":advance(\"-\"),advance(\"(number)\");break;default:error(\"E003\",state.tokens.next)}}var api,declared,functions,inblock,indent,lookahead,lex,member,membersOnly,predefined,stack,urls,bang={\"<\":!0,\"<=\":!0,\"==\":!0,\"===\":!0,\"!==\":!0,\"!=\":!0,\">\":!0,\">=\":!0,\"+\":!0,\"-\":!0,\"*\":!0,\"/\":!0,\"%\":!0},functionicity=[\"closure\",\"exception\",\"global\",\"label\",\"outer\",\"unused\",\"var\"],extraModules=[],emitter=new events.EventEmitter,typeofValues={};typeofValues.legacy=[\"xml\",\"unknown\"],typeofValues.es3=[\"undefined\",\"boolean\",\"number\",\"string\",\"function\",\"object\"],typeofValues.es3=typeofValues.es3.concat(typeofValues.legacy),typeofValues.es6=typeofValues.es3.concat(\"symbol\"),type(\"(number)\",function(){return this}),type(\"(string)\",function(){return this}),state.syntax[\"(identifier)\"]={type:\"(identifier)\",lbp:0,identifier:!0,nud:function(){var v=this.value;return\"=>\"===state.tokens.next.id?this:(state.funct[\"(comparray)\"].check(v)||state.funct[\"(scope)\"].block.use(v,state.tokens.curr),this)},led:function(){error(\"E033\",state.tokens.next,state.tokens.next.value)}};var baseTemplateSyntax={lbp:0,identifier:!1,template:!0};state.syntax[\"(template)\"]=_.extend({type:\"(template)\",nud:doTemplateLiteral,led:doTemplateLiteral,noSubst:!1},baseTemplateSyntax),state.syntax[\"(template middle)\"]=_.extend({type:\"(template middle)\",middle:!0,noSubst:!1},baseTemplateSyntax),state.syntax[\"(template tail)\"]=_.extend({type:\"(template tail)\",tail:!0,noSubst:!1},baseTemplateSyntax),state.syntax[\"(no subst template)\"]=_.extend({type:\"(template)\",nud:doTemplateLiteral,led:doTemplateLiteral,noSubst:!0,tail:!0},baseTemplateSyntax),type(\"(regexp)\",function(){return this}),delim(\"(endline)\"),delim(\"(begin)\"),delim(\"(end)\").reach=!0,delim(\"(error)\").reach=!0,delim(\"}\").reach=!0,delim(\")\"),delim(\"]\"),delim('\"').reach=!0,delim(\"'\").reach=!0,delim(\";\"),delim(\":\").reach=!0,delim(\"#\"),reserve(\"else\"),reserve(\"case\").reach=!0,reserve(\"catch\"),reserve(\"default\").reach=!0,reserve(\"finally\"),reservevar(\"arguments\",function(x){state.isStrict()&&state.funct[\"(global)\"]&&warning(\"E008\",x)}),reservevar(\"eval\"),reservevar(\"false\"),reservevar(\"Infinity\"),reservevar(\"null\"),reservevar(\"this\",function(x){state.isStrict()&&!isMethod()&&!state.option.validthis&&(state.funct[\"(statement)\"]&&state.funct[\"(name)\"].charAt(0)>\"Z\"||state.funct[\"(global)\"])&&warning(\"W040\",x)}),reservevar(\"true\"),reservevar(\"undefined\"),assignop(\"=\",\"assign\",20),assignop(\"+=\",\"assignadd\",20),assignop(\"-=\",\"assignsub\",20),assignop(\"*=\",\"assignmult\",20),assignop(\"/=\",\"assigndiv\",20).nud=function(){error(\"E014\")},assignop(\"%=\",\"assignmod\",20),bitwiseassignop(\"&=\"),bitwiseassignop(\"|=\"),bitwiseassignop(\"^=\"),bitwiseassignop(\"<<=\"),bitwiseassignop(\">>=\"),bitwiseassignop(\">>>=\"),infix(\",\",function(left,that){var expr;if(that.exprs=[left],state.option.nocomma&&warning(\"W127\"),!comma({peek:!0}))return that;for(;;){if(!(expr=expression(10)))break;if(that.exprs.push(expr),\",\"!==state.tokens.next.value||!comma())break}return that},10,!0),infix(\"?\",function(left,that){return increaseComplexityCount(),that.left=left,that.right=expression(10),advance(\":\"),that[\"else\"]=expression(10),that},30);var orPrecendence=40;infix(\"||\",function(left,that){return increaseComplexityCount(),that.left=left,that.right=expression(orPrecendence),that},orPrecendence),infix(\"&&\",\"and\",50),bitwise(\"|\",\"bitor\",70),bitwise(\"^\",\"bitxor\",80),bitwise(\"&\",\"bitand\",90),relation(\"==\",function(left,right){var eqnull=state.option.eqnull&&(\"null\"===(left&&left.value)||\"null\"===(right&&right.value));switch(!0){case!eqnull&&state.option.eqeqeq:this.from=this.character,warning(\"W116\",this,\"===\",\"==\");break;case isPoorRelation(left):warning(\"W041\",this,\"===\",left.value);break;case isPoorRelation(right):warning(\"W041\",this,\"===\",right.value);break;case isTypoTypeof(right,left,state):warning(\"W122\",this,right.value);break;case isTypoTypeof(left,right,state):warning(\"W122\",this,left.value)}return this}),relation(\"===\",function(left,right){return isTypoTypeof(right,left,state)?warning(\"W122\",this,right.value):isTypoTypeof(left,right,state)&&warning(\"W122\",this,left.value),this}),relation(\"!=\",function(left,right){var eqnull=state.option.eqnull&&(\"null\"===(left&&left.value)||\"null\"===(right&&right.value));return!eqnull&&state.option.eqeqeq?(this.from=this.character,warning(\"W116\",this,\"!==\",\"!=\")):isPoorRelation(left)?warning(\"W041\",this,\"!==\",left.value):isPoorRelation(right)?warning(\"W041\",this,\"!==\",right.value):isTypoTypeof(right,left,state)?warning(\"W122\",this,right.value):isTypoTypeof(left,right,state)&&warning(\"W122\",this,left.value),this}),relation(\"!==\",function(left,right){return isTypoTypeof(right,left,state)?warning(\"W122\",this,right.value):isTypoTypeof(left,right,state)&&warning(\"W122\",this,left.value),this}),relation(\"<\"),relation(\">\"),relation(\"<=\"),relation(\">=\"),bitwise(\"<<\",\"shiftleft\",120),bitwise(\">>\",\"shiftright\",120),bitwise(\">>>\",\"shiftrightunsigned\",120),infix(\"in\",\"in\",120),infix(\"instanceof\",\"instanceof\",120),infix(\"+\",function(left,that){var right;return that.left=left,that.right=right=expression(130),left&&right&&\"(string)\"===left.id&&\"(string)\"===right.id?(left.value+=right.value,left.character=right.character,!state.option.scripturl&®.javascriptURL.test(left.value)&&warning(\"W050\",left),left):that},130),prefix(\"+\",\"num\"),prefix(\"+++\",function(){return warning(\"W007\"),this.arity=\"unary\",this.right=expression(150),this}),infix(\"+++\",function(left){return warning(\"W007\"),this.left=left,this.right=expression(130),this},130),infix(\"-\",\"sub\",130),prefix(\"-\",\"neg\"),prefix(\"---\",function(){return warning(\"W006\"),this.arity=\"unary\",this.right=expression(150),this}),infix(\"---\",function(left){return warning(\"W006\"),this.left=left,this.right=expression(130),this},130),infix(\"*\",\"mult\",140),infix(\"/\",\"div\",140),infix(\"%\",\"mod\",140),suffix(\"++\"),prefix(\"++\",\"preinc\"),state.syntax[\"++\"].exps=!0,suffix(\"--\"),prefix(\"--\",\"predec\"),state.syntax[\"--\"].exps=!0,prefix(\"delete\",function(){var p=expression(10);return p?(\".\"!==p.id&&\"[\"!==p.id&&warning(\"W051\"),this.first=p,p.identifier&&!state.isStrict()&&(p.forgiveUndef=!0),this):this}).exps=!0,prefix(\"~\",function(){return state.option.bitwise&&warning(\"W016\",this,\"~\"),this.arity=\"unary\",this.right=expression(150),this}),prefix(\"...\",function(){return state.inES6(!0)||warning(\"W119\",this,\"spread/rest operator\",\"6\"),state.tokens.next.identifier||\"(string)\"===state.tokens.next.type||checkPunctuators(state.tokens.next,[\"[\",\"(\"])||error(\"E030\",state.tokens.next,state.tokens.next.value),expression(150),this}),prefix(\"!\",function(){return this.arity=\"unary\",this.right=expression(150),this.right||quit(\"E041\",this.line||0),bang[this.right.id]===!0&&warning(\"W018\",this,\"!\"),this}),prefix(\"typeof\",function(){var p=expression(150);return this.first=this.right=p,p||quit(\"E041\",this.line||0,this.character||0),p.identifier&&(p.forgiveUndef=!0),this}),prefix(\"new\",function(){var mp=metaProperty(\"target\",function(){state.inES6(!0)||warning(\"W119\",state.tokens.prev,\"new.target\",\"6\");for(var inFunction,c=state.funct;c&&(inFunction=!c[\"(global)\"],c[\"(arrow)\"]);)c=c[\"(context)\"];inFunction||warning(\"W136\",state.tokens.prev,\"new.target\")});if(mp)return mp;var i,c=expression(155);if(c&&\"function\"!==c.id)if(c.identifier)switch(c[\"new\"]=!0,c.value){case\"Number\":case\"String\":case\"Boolean\":case\"Math\":case\"JSON\":warning(\"W053\",state.tokens.prev,c.value);break;case\"Symbol\":state.inES6()&&warning(\"W053\",state.tokens.prev,c.value);break;case\"Function\":state.option.evil||warning(\"W054\");break;case\"Date\":case\"RegExp\":case\"this\":break;default:\"function\"!==c.id&&(i=c.value.substr(0,1),state.option.newcap&&(\"A\">i||i>\"Z\")&&!state.funct[\"(scope)\"].isPredefined(c.value)&&warning(\"W055\",state.tokens.curr))}else\".\"!==c.id&&\"[\"!==c.id&&\"(\"!==c.id&&warning(\"W056\",state.tokens.curr);else state.option.supernew||warning(\"W057\",this);return\"(\"===state.tokens.next.id||state.option.supernew||warning(\"W058\",state.tokens.curr,state.tokens.curr.value),this.first=this.right=c,this}),state.syntax[\"new\"].exps=!0,prefix(\"void\").exps=!0,infix(\".\",function(left,that){var m=identifier(!1,!0);return\"string\"==typeof m&&countMember(m),that.left=left,that.right=m,m&&\"hasOwnProperty\"===m&&\"=\"===state.tokens.next.value&&warning(\"W001\"),!left||\"arguments\"!==left.value||\"callee\"!==m&&\"caller\"!==m?state.option.evil||!left||\"document\"!==left.value||\"write\"!==m&&\"writeln\"!==m||warning(\"W060\",left):state.option.noarg?warning(\"W059\",left,m):state.isStrict()&&error(\"E008\"),state.option.evil||\"eval\"!==m&&\"execScript\"!==m||isGlobalEval(left,state)&&warning(\"W061\"),that},160,!0),infix(\"(\",function(left,that){state.option.immed&&left&&!left.immed&&\"function\"===left.id&&warning(\"W062\");var n=0,p=[];if(left&&\"(identifier)\"===left.type&&left.value.match(/^[A-Z]([A-Z0-9_$]*[a-z][A-Za-z0-9_$]*)?$/)&&-1===\"Array Number String Boolean Date Object Error Symbol\".indexOf(left.value)&&(\"Math\"===left.value?warning(\"W063\",left):state.option.newcap&&warning(\"W064\",left)),\")\"!==state.tokens.next.id)for(;p[p.length]=expression(10),n+=1,\",\"===state.tokens.next.id;)comma();return advance(\")\"),\"object\"==typeof left&&(state.inES5()||\"parseInt\"!==left.value||1!==n||warning(\"W065\",state.tokens.curr),state.option.evil||(\"eval\"===left.value||\"Function\"===left.value||\"execScript\"===left.value?(warning(\"W061\",left),p[0]&&\"(string)\"===[0].id&&addInternalSrc(left,p[0].value)):!p[0]||\"(string)\"!==p[0].id||\"setTimeout\"!==left.value&&\"setInterval\"!==left.value?!p[0]||\"(string)\"!==p[0].id||\".\"!==left.value||\"window\"!==left.left.value||\"setTimeout\"!==left.right&&\"setInterval\"!==left.right||(warning(\"W066\",left),addInternalSrc(left,p[0].value)):(warning(\"W066\",left),addInternalSrc(left,p[0].value))),left.identifier||\".\"===left.id||\"[\"===left.id||\"=>\"===left.id||\"(\"===left.id||\"&&\"===left.id||\"||\"===left.id||\"?\"===left.id||state.inES6()&&left[\"(name)\"]||warning(\"W067\",that)),that.left=left,that},155,!0).exps=!0,prefix(\"(\",function(){var pn1,ret,triggerFnExpr,first,last,pn=state.tokens.next,i=-1,parens=1,opening=state.tokens.curr,preceeding=state.tokens.prev,isNecessary=!state.option.singleGroups;do\"(\"===pn.value?parens+=1:\")\"===pn.value&&(parens-=1),i+=1,pn1=pn,pn=peek(i);while((0!==parens||\")\"!==pn1.value)&&\";\"!==pn.value&&\"(end)\"!==pn.type);if(\"function\"===state.tokens.next.id&&(triggerFnExpr=state.tokens.next.immed=!0),\"=>\"===pn.value)return doFunction({type:\"arrow\",parsedOpening:!0});var exprs=[];if(\")\"!==state.tokens.next.id)for(;exprs.push(expression(10)),\",\"===state.tokens.next.id;)state.option.nocomma&&warning(\"W127\"),comma();return advance(\")\",this),state.option.immed&&exprs[0]&&\"function\"===exprs[0].id&&\"(\"!==state.tokens.next.id&&\".\"!==state.tokens.next.id&&\"[\"!==state.tokens.next.id&&warning(\"W068\",this),exprs.length?(exprs.length>1?(ret=Object.create(state.syntax[\",\"]),ret.exprs=exprs,first=exprs[0],last=exprs[exprs.length-1],isNecessary||(isNecessary=preceeding.assign||preceeding.delim)):(ret=first=last=exprs[0],isNecessary||(isNecessary=opening.beginsStmt&&(\"{\"===ret.id||triggerFnExpr||isFunctor(ret))||triggerFnExpr&&(!isEndOfExpr()||\"}\"!==state.tokens.prev.id)||isFunctor(ret)&&!isEndOfExpr()||\"{\"===ret.id&&\"=>\"===preceeding.id||\"(number)\"===ret.type&&checkPunctuator(pn,\".\")&&/^\\d+$/.test(ret.value))),ret&&(!isNecessary&&(first.left||first.right||ret.exprs)&&(isNecessary=!isBeginOfExpr(preceeding)&&first.lbp<=preceeding.lbp||!isEndOfExpr()&&last.lbp\"),infix(\"[\",function(left,that){var s,e=expression(10);return e&&\"(string)\"===e.type&&(state.option.evil||\"eval\"!==e.value&&\"execScript\"!==e.value||isGlobalEval(left,state)&&warning(\"W061\"),countMember(e.value),!state.option.sub&®.identifier.test(e.value)&&(s=state.syntax[e.value],s&&isReserved(s)||warning(\"W069\",state.tokens.prev,e.value))),advance(\"]\",that),e&&\"hasOwnProperty\"===e.value&&\"=\"===state.tokens.next.value&&warning(\"W001\"),that.left=left,that.right=e,that},160,!0),prefix(\"[\",function(){var blocktype=lookupBlockType();if(blocktype.isCompArray)return state.option.esnext||state.inMoz()||warning(\"W118\",state.tokens.curr,\"array comprehension\"),comprehensiveArrayExpression();if(blocktype.isDestAssign)return this.destructAssign=destructuringPattern({openingParsed:!0,assignment:!0}),this;var b=state.tokens.curr.line!==startLine(state.tokens.next);for(this.first=[],b&&(indent+=state.option.indent,state.tokens.next.from===indent+state.option.indent&&(indent+=state.option.indent));\"(end)\"!==state.tokens.next.id;){for(;\",\"===state.tokens.next.id;){if(!state.option.elision){if(state.inES5()){warning(\"W128\");do advance(\",\");while(\",\"===state.tokens.next.id);continue}warning(\"W070\")}advance(\",\")}if(\"]\"===state.tokens.next.id)break;if(this.first.push(expression(10)),\",\"!==state.tokens.next.id)break;if(comma({allowTrailing:!0}),\"]\"===state.tokens.next.id&&!state.inES5()){warning(\"W070\",state.tokens.curr);break}}return b&&(indent-=state.option.indent),advance(\"]\",this),this}),function(x){x.nud=function(){var b,f,i,p,t,nextVal,isGeneratorMethod=!1,props=Object.create(null);b=state.tokens.curr.line!==startLine(state.tokens.next),b&&(indent+=state.option.indent,state.tokens.next.from===indent+state.option.indent&&(indent+=state.option.indent));var blocktype=lookupBlockType();if(blocktype.isDestAssign)return this.destructAssign=destructuringPattern({openingParsed:!0,assignment:!0}),this;for(;\"}\"!==state.tokens.next.id;){if(nextVal=state.tokens.next.value,!state.tokens.next.identifier||\",\"!==peekIgnoreEOL().id&&\"}\"!==peekIgnoreEOL().id)if(\":\"===peek().id||\"get\"!==nextVal&&\"set\"!==nextVal){if(\"*\"===state.tokens.next.value&&\"(punctuator)\"===state.tokens.next.type?(state.inES6()||warning(\"W104\",state.tokens.next,\"generator functions\",\"6\"),advance(\"*\"),isGeneratorMethod=!0):isGeneratorMethod=!1,\"[\"===state.tokens.next.id)i=computedPropertyName(),state.nameStack.set(i);else if(state.nameStack.set(state.tokens.next),i=propertyName(),saveProperty(props,i,state.tokens.next),\"string\"!=typeof i)break;\"(\"===state.tokens.next.value?(state.inES6()||warning(\"W104\",state.tokens.curr,\"concise methods\",\"6\"),doFunction({type:isGeneratorMethod?\"generator\":null})):(advance(\":\"),expression(10))}else advance(nextVal),state.inES5()||error(\"E034\"),i=propertyName(),i||state.inES6()||error(\"E035\"),i&&saveAccessor(nextVal,props,i,state.tokens.curr),t=state.tokens.next,f=doFunction(),p=f[\"(params)\"],\"get\"===nextVal&&i&&p?warning(\"W076\",t,p[0],i):\"set\"!==nextVal||!i||p&&1===p.length||warning(\"W077\",t,i);else state.inES6()||warning(\"W104\",state.tokens.next,\"object short notation\",\"6\"),i=propertyName(!0),saveProperty(props,i,state.tokens.next),expression(10);if(countMember(i),\",\"!==state.tokens.next.id)break;comma({allowTrailing:!0,property:!0}),\",\"===state.tokens.next.id?warning(\"W070\",state.tokens.curr):\"}\"!==state.tokens.next.id||state.inES5()||warning(\"W070\",state.tokens.curr)}return b&&(indent-=state.option.indent),advance(\"}\",this),checkProperties(props),this},x.fud=function(){error(\"E036\",state.tokens.curr)}}(delim(\"{\"));var conststatement=stmt(\"const\",function(context){return blockVariableStatement(\"const\",this,context)});conststatement.exps=!0;var letstatement=stmt(\"let\",function(context){return blockVariableStatement(\"let\",this,context)});letstatement.exps=!0;var varstatement=stmt(\"var\",function(context){var tokens,lone,value,prefix=context&&context.prefix,inexport=context&&context.inexport,implied=context&&context.implied,report=!(context&&context.ignore);for(this.first=[];;){var names=[];_.contains([\"{\",\"[\"],state.tokens.next.value)?(tokens=destructuringPattern(),lone=!1):(tokens=[{id:identifier(),token:state.tokens.curr}],lone=!0),prefix&&implied||!report||!state.option.varstmt||warning(\"W132\",this),this.first=this.first.concat(names);for(var t in tokens)tokens.hasOwnProperty(t)&&(t=tokens[t],!implied&&state.funct[\"(global)\"]&&(predefined[t.id]===!1?warning(\"W079\",t.token,t.id):state.option.futurehostile===!1&&(!state.inES5()&&vars.ecmaIdentifiers[5][t.id]===!1||!state.inES6()&&vars.ecmaIdentifiers[6][t.id]===!1)&&warning(\"W129\",t.token,t.id)),t.id&&(\"for\"===implied?(state.funct[\"(scope)\"].has(t.id)||report&&warning(\"W088\",t.token,t.id),state.funct[\"(scope)\"].block.use(t.id,t.token)):(state.funct[\"(scope)\"].addlabel(t.id,{type:\"var\",token:t.token}),lone&&inexport&&state.funct[\"(scope)\"].setExported(t.id,t.token)),names.push(t.token)));if(\"=\"===state.tokens.next.id&&(state.nameStack.set(state.tokens.curr),advance(\"=\"),prefix||!report||state.funct[\"(loopage)\"]||\"undefined\"!==state.tokens.next.id||warning(\"W080\",state.tokens.prev,state.tokens.prev.value),\"=\"===peek(0).id&&state.tokens.next.identifier&&(!prefix&&report&&!state.funct[\"(params)\"]||-1===state.funct[\"(params)\"].indexOf(state.tokens.next.value))&&warning(\"W120\",state.tokens.next,state.tokens.next.value),value=expression(prefix?120:10),lone?tokens[0].first=value:destructuringPatternMatch(names,value)),\",\"!==state.tokens.next.id)break;comma()}return this});varstatement.exps=!0,blockstmt(\"class\",function(){return classdef.call(this,!0)}),blockstmt(\"function\",function(context){var inexport=context&&context.inexport,generator=!1;\"*\"===state.tokens.next.value&&(advance(\"*\"),state.inES6({strict:!0})?generator=!0:warning(\"W119\",state.tokens.curr,\"function*\",\"6\")),inblock&&warning(\"W082\",state.tokens.curr);var i=optionalidentifier();return state.funct[\"(scope)\"].addlabel(i,{type:\"function\",token:state.tokens.curr}),void 0===i?warning(\"W025\"):inexport&&state.funct[\"(scope)\"].setExported(i,state.tokens.prev),doFunction({name:i,statement:this,type:generator?\"generator\":null,ignoreLoopFunc:inblock}),\"(\"===state.tokens.next.id&&state.tokens.next.line===state.tokens.curr.line&&error(\"E039\"),this}),prefix(\"function\",function(){var generator=!1;\"*\"===state.tokens.next.value&&(state.inES6()||warning(\"W119\",state.tokens.curr,\"function*\",\"6\"),advance(\"*\"),generator=!0);var i=optionalidentifier();return doFunction({name:i,type:generator?\"generator\":null}),this}),blockstmt(\"if\",function(){var t=state.tokens.next;increaseComplexityCount(),state.condition=!0,advance(\"(\");var expr=expression(0);checkCondAssignment(expr);var forinifcheck=null;state.option.forin&&state.forinifcheckneeded&&(state.forinifcheckneeded=!1,forinifcheck=state.forinifchecks[state.forinifchecks.length-1],forinifcheck.type=\"(punctuator)\"===expr.type&&\"!\"===expr.value?\"(negative)\":\"(positive)\"),advance(\")\",t),state.condition=!1;var s=block(!0,!0);return forinifcheck&&\"(negative)\"===forinifcheck.type&&s&&s[0]&&\"(identifier)\"===s[0].type&&\"continue\"===s[0].value&&(forinifcheck.type=\"(negative-with-continue)\"),\"else\"===state.tokens.next.id&&(advance(\"else\"),\"if\"===state.tokens.next.id||\"switch\"===state.tokens.next.id?statement():block(!0,!0)),this}),blockstmt(\"try\",function(){function doCatch(){if(advance(\"catch\"),advance(\"(\"),state.funct[\"(scope)\"].stack(\"catchparams\"),checkPunctuators(state.tokens.next,[\"[\",\"{\"])){var tokens=destructuringPattern();_.each(tokens,function(token){token.id&&state.funct[\"(scope)\"].addParam(token.id,token,\"exception\")})}else\"(identifier)\"!==state.tokens.next.type?warning(\"E030\",state.tokens.next,state.tokens.next.value):state.funct[\"(scope)\"].addParam(identifier(),state.tokens.curr,\"exception\");\"if\"===state.tokens.next.value&&(state.inMoz()||warning(\"W118\",state.tokens.curr,\"catch filter\"),advance(\"if\"),expression(0)),advance(\")\"),block(!1),state.funct[\"(scope)\"].unstack()}var b;for(block(!0);\"catch\"===state.tokens.next.id;)increaseComplexityCount(),b&&!state.inMoz()&&warning(\"W118\",state.tokens.next,\"multiple catch blocks\"),doCatch(),b=!0;return\"finally\"===state.tokens.next.id?(advance(\"finally\"),block(!0),void 0):(b||error(\"E021\",state.tokens.next,\"catch\",state.tokens.next.value),this)}),blockstmt(\"while\",function(){var t=state.tokens.next;return state.funct[\"(breakage)\"]+=1,state.funct[\"(loopage)\"]+=1,increaseComplexityCount(),advance(\"(\"),checkCondAssignment(expression(0)),advance(\")\",t),block(!0,!0),state.funct[\"(breakage)\"]-=1,state.funct[\"(loopage)\"]-=1,this}).labelled=!0,blockstmt(\"with\",function(){var t=state.tokens.next;return state.isStrict()?error(\"E010\",state.tokens.curr):state.option.withstmt||warning(\"W085\",state.tokens.curr),advance(\"(\"),expression(0),advance(\")\",t),block(!0,!0),this}),blockstmt(\"switch\",function(){var t=state.tokens.next,g=!1,noindent=!1;\nfor(state.funct[\"(breakage)\"]+=1,advance(\"(\"),checkCondAssignment(expression(0)),advance(\")\",t),t=state.tokens.next,advance(\"{\"),state.tokens.next.from===indent&&(noindent=!0),noindent||(indent+=state.option.indent),this.cases=[];;)switch(state.tokens.next.id){case\"case\":switch(state.funct[\"(verb)\"]){case\"yield\":case\"break\":case\"case\":case\"continue\":case\"return\":case\"switch\":case\"throw\":break;default:state.tokens.curr.caseFallsThrough||warning(\"W086\",state.tokens.curr,\"case\")}advance(\"case\"),this.cases.push(expression(0)),increaseComplexityCount(),g=!0,advance(\":\"),state.funct[\"(verb)\"]=\"case\";break;case\"default\":switch(state.funct[\"(verb)\"]){case\"yield\":case\"break\":case\"continue\":case\"return\":case\"throw\":break;default:this.cases.length&&(state.tokens.curr.caseFallsThrough||warning(\"W086\",state.tokens.curr,\"default\"))}advance(\"default\"),g=!0,advance(\":\");break;case\"}\":return noindent||(indent-=state.option.indent),advance(\"}\",t),state.funct[\"(breakage)\"]-=1,state.funct[\"(verb)\"]=void 0,void 0;case\"(end)\":return error(\"E023\",state.tokens.next,\"}\"),void 0;default:if(indent+=state.option.indent,g)switch(state.tokens.curr.id){case\",\":return error(\"E040\"),void 0;case\":\":g=!1,statements();break;default:return error(\"E025\",state.tokens.curr),void 0}else{if(\":\"!==state.tokens.curr.id)return error(\"E021\",state.tokens.next,\"case\",state.tokens.next.value),void 0;advance(\":\"),error(\"E024\",state.tokens.curr,\":\"),statements()}indent-=state.option.indent}return this}).labelled=!0,stmt(\"debugger\",function(){return state.option.debug||warning(\"W087\",this),this}).exps=!0,function(){var x=stmt(\"do\",function(){state.funct[\"(breakage)\"]+=1,state.funct[\"(loopage)\"]+=1,increaseComplexityCount(),this.first=block(!0,!0),advance(\"while\");var t=state.tokens.next;return advance(\"(\"),checkCondAssignment(expression(0)),advance(\")\",t),state.funct[\"(breakage)\"]-=1,state.funct[\"(loopage)\"]-=1,this});x.labelled=!0,x.exps=!0}(),blockstmt(\"for\",function(){var s,t=state.tokens.next,letscope=!1,foreachtok=null;\"each\"===t.value&&(foreachtok=t,advance(\"each\"),state.inMoz()||warning(\"W118\",state.tokens.curr,\"for each\")),increaseComplexityCount(),advance(\"(\");var nextop,comma,initializer,i=0,inof=[\"in\",\"of\"],level=0;checkPunctuators(state.tokens.next,[\"{\",\"[\"])&&++level;do{if(nextop=peek(i),++i,checkPunctuators(nextop,[\"{\",\"[\"])?++level:checkPunctuators(nextop,[\"}\",\"]\"])&&--level,0>level)break;0===level&&(!comma&&checkPunctuator(nextop,\",\")?comma=nextop:!initializer&&checkPunctuator(nextop,\"=\")&&(initializer=nextop))}while(level>0||!_.contains(inof,nextop.value)&&\";\"!==nextop.value&&\"(end)\"!==nextop.type);if(_.contains(inof,nextop.value)){state.inES6()||\"of\"!==nextop.value||warning(\"W104\",nextop,\"for of\",\"6\");var ok=!(initializer||comma);if(initializer&&error(\"W133\",comma,nextop.value,\"initializer is forbidden\"),comma&&error(\"W133\",comma,nextop.value,\"more than one ForBinding\"),\"var\"===state.tokens.next.id?(advance(\"var\"),state.tokens.curr.fud({prefix:!0})):\"let\"===state.tokens.next.id||\"const\"===state.tokens.next.id?(advance(state.tokens.next.id),letscope=!0,state.funct[\"(scope)\"].stack(),state.tokens.curr.fud({prefix:!0})):Object.create(varstatement).fud({prefix:!0,implied:\"for\",ignore:!ok}),advance(nextop.value),expression(20),advance(\")\",t),\"in\"===nextop.value&&state.option.forin&&(state.forinifcheckneeded=!0,void 0===state.forinifchecks&&(state.forinifchecks=[]),state.forinifchecks.push({type:\"(none)\"})),state.funct[\"(breakage)\"]+=1,state.funct[\"(loopage)\"]+=1,s=block(!0,!0),\"in\"===nextop.value&&state.option.forin){if(state.forinifchecks&&state.forinifchecks.length>0){var check=state.forinifchecks.pop();(s&&s.length>0&&(\"object\"!=typeof s[0]||\"if\"!==s[0].value)||\"(positive)\"===check.type&&s.length>1||\"(negative)\"===check.type)&&warning(\"W089\",this)}state.forinifcheckneeded=!1}state.funct[\"(breakage)\"]-=1,state.funct[\"(loopage)\"]-=1}else{if(foreachtok&&error(\"E045\",foreachtok),\";\"!==state.tokens.next.id)if(\"var\"===state.tokens.next.id)advance(\"var\"),state.tokens.curr.fud();else if(\"let\"===state.tokens.next.id)advance(\"let\"),letscope=!0,state.funct[\"(scope)\"].stack(),state.tokens.curr.fud();else for(;expression(0,\"for\"),\",\"===state.tokens.next.id;)comma();if(nolinebreak(state.tokens.curr),advance(\";\"),state.funct[\"(loopage)\"]+=1,\";\"!==state.tokens.next.id&&checkCondAssignment(expression(0)),nolinebreak(state.tokens.curr),advance(\";\"),\";\"===state.tokens.next.id&&error(\"E021\",state.tokens.next,\")\",\";\"),\")\"!==state.tokens.next.id)for(;expression(0,\"for\"),\",\"===state.tokens.next.id;)comma();advance(\")\",t),state.funct[\"(breakage)\"]+=1,block(!0,!0),state.funct[\"(breakage)\"]-=1,state.funct[\"(loopage)\"]-=1}return letscope&&state.funct[\"(scope)\"].unstack(),this}).labelled=!0,stmt(\"break\",function(){var v=state.tokens.next.value;return state.option.asi||nolinebreak(this),\";\"===state.tokens.next.id||state.tokens.next.reach||state.tokens.curr.line!==startLine(state.tokens.next)?0===state.funct[\"(breakage)\"]&&warning(\"W052\",state.tokens.next,this.value):(state.funct[\"(scope)\"].funct.hasBreakLabel(v)||warning(\"W090\",state.tokens.next,v),this.first=state.tokens.next,advance()),reachable(this),this}).exps=!0,stmt(\"continue\",function(){var v=state.tokens.next.value;return 0===state.funct[\"(breakage)\"]&&warning(\"W052\",state.tokens.next,this.value),state.funct[\"(loopage)\"]||warning(\"W052\",state.tokens.next,this.value),state.option.asi||nolinebreak(this),\";\"===state.tokens.next.id||state.tokens.next.reach||state.tokens.curr.line===startLine(state.tokens.next)&&(state.funct[\"(scope)\"].funct.hasBreakLabel(v)||warning(\"W090\",state.tokens.next,v),this.first=state.tokens.next,advance()),reachable(this),this}).exps=!0,stmt(\"return\",function(){return this.line===startLine(state.tokens.next)?\";\"===state.tokens.next.id||state.tokens.next.reach||(this.first=expression(0),!this.first||\"(punctuator)\"!==this.first.type||\"=\"!==this.first.value||this.first.paren||state.option.boss||warningAt(\"W093\",this.first.line,this.first.character)):\"(punctuator)\"===state.tokens.next.type&&[\"[\",\"{\",\"+\",\"-\"].indexOf(state.tokens.next.value)>-1&&nolinebreak(this),reachable(this),this}).exps=!0,function(x){x.exps=!0,x.lbp=25}(prefix(\"yield\",function(){var prev=state.tokens.prev;state.inES6(!0)&&!state.funct[\"(generator)\"]?\"(catch)\"===state.funct[\"(name)\"]&&state.funct[\"(context)\"][\"(generator)\"]||error(\"E046\",state.tokens.curr,\"yield\"):state.inES6()||warning(\"W104\",state.tokens.curr,\"yield\",\"6\"),state.funct[\"(generator)\"]=\"yielded\";var delegatingYield=!1;return\"*\"===state.tokens.next.value&&(delegatingYield=!0,advance(\"*\")),this.line!==startLine(state.tokens.next)&&state.inMoz()?state.option.asi||nolinebreak(this):((delegatingYield||\";\"!==state.tokens.next.id&&!state.option.asi&&!state.tokens.next.reach&&state.tokens.next.nud)&&(nobreaknonadjacent(state.tokens.curr,state.tokens.next),this.first=expression(10),\"(punctuator)\"!==this.first.type||\"=\"!==this.first.value||this.first.paren||state.option.boss||warningAt(\"W093\",this.first.line,this.first.character)),state.inMoz()&&\")\"!==state.tokens.next.id&&(prev.lbp>30||!prev.assign&&!isEndOfExpr()||\"yield\"===prev.id)&&error(\"E050\",this)),this})),stmt(\"throw\",function(){return nolinebreak(this),this.first=expression(20),reachable(this),this}).exps=!0,stmt(\"import\",function(){if(state.inES6()||warning(\"W119\",state.tokens.curr,\"import\",\"6\"),\"(string)\"===state.tokens.next.type)return advance(\"(string)\"),this;if(state.tokens.next.identifier){if(this.name=identifier(),state.funct[\"(scope)\"].addlabel(this.name,{type:\"const\",token:state.tokens.curr}),\",\"!==state.tokens.next.value)return advance(\"from\"),advance(\"(string)\"),this;advance(\",\")}if(\"*\"===state.tokens.next.id)advance(\"*\"),advance(\"as\"),state.tokens.next.identifier&&(this.name=identifier(),state.funct[\"(scope)\"].addlabel(this.name,{type:\"const\",token:state.tokens.curr}));else for(advance(\"{\");;){if(\"}\"===state.tokens.next.value){advance(\"}\");break}var importName;if(\"default\"===state.tokens.next.type?(importName=\"default\",advance(\"default\")):importName=identifier(),\"as\"===state.tokens.next.value&&(advance(\"as\"),importName=identifier()),state.funct[\"(scope)\"].addlabel(importName,{type:\"const\",token:state.tokens.curr}),\",\"!==state.tokens.next.value){if(\"}\"===state.tokens.next.value){advance(\"}\");break}error(\"E024\",state.tokens.next,state.tokens.next.value);break}advance(\",\")}return advance(\"from\"),advance(\"(string)\"),this}).exps=!0,stmt(\"export\",function(){var token,identifier,ok=!0;if(state.inES6()||(warning(\"W119\",state.tokens.curr,\"export\",\"6\"),ok=!1),state.funct[\"(scope)\"].block.isGlobal()||(error(\"E053\",state.tokens.curr),ok=!1),\"*\"===state.tokens.next.value)return advance(\"*\"),advance(\"from\"),advance(\"(string)\"),this;if(\"default\"===state.tokens.next.type){state.nameStack.set(state.tokens.next),advance(\"default\");var exportType=state.tokens.next.id;return(\"function\"===exportType||\"class\"===exportType)&&(this.block=!0),token=peek(),expression(10),identifier=token.value,this.block&&(state.funct[\"(scope)\"].addlabel(identifier,{type:exportType,token:token}),state.funct[\"(scope)\"].setExported(identifier,token)),this}if(\"{\"===state.tokens.next.value){advance(\"{\");for(var exportedTokens=[];;){if(state.tokens.next.identifier||error(\"E030\",state.tokens.next,state.tokens.next.value),advance(),exportedTokens.push(state.tokens.curr),\"as\"===state.tokens.next.value&&(advance(\"as\"),state.tokens.next.identifier||error(\"E030\",state.tokens.next,state.tokens.next.value),advance()),\",\"!==state.tokens.next.value){if(\"}\"===state.tokens.next.value){advance(\"}\");break}error(\"E024\",state.tokens.next,state.tokens.next.value);break}advance(\",\")}return\"from\"===state.tokens.next.value?(advance(\"from\"),advance(\"(string)\")):ok&&exportedTokens.forEach(function(token){state.funct[\"(scope)\"].setExported(token.value,token)}),this}if(\"var\"===state.tokens.next.id)advance(\"var\"),state.tokens.curr.fud({inexport:!0});else if(\"let\"===state.tokens.next.id)advance(\"let\"),state.tokens.curr.fud({inexport:!0});else if(\"const\"===state.tokens.next.id)advance(\"const\"),state.tokens.curr.fud({inexport:!0});else if(\"function\"===state.tokens.next.id)this.block=!0,advance(\"function\"),state.syntax[\"function\"].fud({inexport:!0});else if(\"class\"===state.tokens.next.id){this.block=!0,advance(\"class\");var classNameToken=state.tokens.next;state.syntax[\"class\"].fud(),state.funct[\"(scope)\"].setExported(classNameToken.value,classNameToken)}else error(\"E024\",state.tokens.next,state.tokens.next.value);return this}).exps=!0,FutureReservedWord(\"abstract\"),FutureReservedWord(\"boolean\"),FutureReservedWord(\"byte\"),FutureReservedWord(\"char\"),FutureReservedWord(\"class\",{es5:!0,nud:classdef}),FutureReservedWord(\"double\"),FutureReservedWord(\"enum\",{es5:!0}),FutureReservedWord(\"export\",{es5:!0}),FutureReservedWord(\"extends\",{es5:!0}),FutureReservedWord(\"final\"),FutureReservedWord(\"float\"),FutureReservedWord(\"goto\"),FutureReservedWord(\"implements\",{es5:!0,strictOnly:!0}),FutureReservedWord(\"import\",{es5:!0}),FutureReservedWord(\"int\"),FutureReservedWord(\"interface\",{es5:!0,strictOnly:!0}),FutureReservedWord(\"long\"),FutureReservedWord(\"native\"),FutureReservedWord(\"package\",{es5:!0,strictOnly:!0}),FutureReservedWord(\"private\",{es5:!0,strictOnly:!0}),FutureReservedWord(\"protected\",{es5:!0,strictOnly:!0}),FutureReservedWord(\"public\",{es5:!0,strictOnly:!0}),FutureReservedWord(\"short\"),FutureReservedWord(\"static\",{es5:!0,strictOnly:!0}),FutureReservedWord(\"super\",{es5:!0}),FutureReservedWord(\"synchronized\"),FutureReservedWord(\"transient\"),FutureReservedWord(\"volatile\");var lookupBlockType=function(){var pn,pn1,prev,i=-1,bracketStack=0,ret={};checkPunctuators(state.tokens.curr,[\"[\",\"{\"])&&(bracketStack+=1);do{if(prev=-1===i?state.tokens.curr:pn,pn=-1===i?state.tokens.next:peek(i),pn1=peek(i+1),i+=1,checkPunctuators(pn,[\"[\",\"{\"])?bracketStack+=1:checkPunctuators(pn,[\"]\",\"}\"])&&(bracketStack-=1),1===bracketStack&&pn.identifier&&\"for\"===pn.value&&!checkPunctuator(prev,\".\")){ret.isCompArray=!0,ret.notJson=!0;break}if(0===bracketStack&&checkPunctuators(pn,[\"}\",\"]\"])){if(\"=\"===pn1.value){ret.isDestAssign=!0,ret.notJson=!0;break}if(\".\"===pn1.value){ret.notJson=!0;break}}checkPunctuator(pn,\";\")&&(ret.isBlock=!0,ret.notJson=!0)}while(bracketStack>0&&\"(end)\"!==pn.id);return ret},arrayComprehension=function(){function declare(v){var l=_current.variables.filter(function(elt){return elt.value===v?(elt.undef=!1,v):void 0}).length;return 0!==l}function use(v){var l=_current.variables.filter(function(elt){return elt.value!==v||elt.undef?void 0:(elt.unused===!0&&(elt.unused=!1),v)}).length;return 0===l}var _current,CompArray=function(){this.mode=\"use\",this.variables=[]},_carrays=[];return{stack:function(){_current=new CompArray,_carrays.push(_current)},unstack:function(){_current.variables.filter(function(v){v.unused&&warning(\"W098\",v.token,v.raw_text||v.value),v.undef&&state.funct[\"(scope)\"].block.use(v.value,v.token)}),_carrays.splice(-1,1),_current=_carrays[_carrays.length-1]},setState:function(s){_.contains([\"use\",\"define\",\"generate\",\"filter\"],s)&&(_current.mode=s)},check:function(v){return _current?_current&&\"use\"===_current.mode?(use(v)&&_current.variables.push({funct:state.funct,token:state.tokens.curr,value:v,undef:!0,unused:!1}),!0):_current&&\"define\"===_current.mode?(declare(v)||_current.variables.push({funct:state.funct,token:state.tokens.curr,value:v,undef:!1,unused:!0}),!0):_current&&\"generate\"===_current.mode?(state.funct[\"(scope)\"].block.use(v,state.tokens.curr),!0):_current&&\"filter\"===_current.mode?(use(v)&&state.funct[\"(scope)\"].block.use(v,state.tokens.curr),!0):!1:void 0}}},escapeRegex=function(str){return str.replace(/[-\\/\\\\^$*+?.()|[\\]{}]/g,\"\\\\$&\")},itself=function(s,o,g){function each(obj,cb){obj&&(Array.isArray(obj)||\"object\"!=typeof obj||(obj=Object.keys(obj)),obj.forEach(cb))}var i,k,x,reIgnoreStr,reIgnore,optionKeys,newOptionObj={},newIgnoredObj={};o=_.clone(o),state.reset(),o&&o.scope?JSHINT.scope=o.scope:(JSHINT.errors=[],JSHINT.undefs=[],JSHINT.internals=[],JSHINT.blacklist={},JSHINT.scope=\"(main)\"),predefined=Object.create(null),combine(predefined,vars.ecmaIdentifiers[3]),combine(predefined,vars.reservedVars),combine(predefined,g||{}),declared=Object.create(null);var exported=Object.create(null);if(o)for(each(o.predef||null,function(item){var slice,prop;\"-\"===item[0]?(slice=item.slice(1),JSHINT.blacklist[slice]=slice,delete predefined[slice]):(prop=Object.getOwnPropertyDescriptor(o.predef,item),predefined[item]=prop?prop.value:!1)}),each(o.exported||null,function(item){exported[item]=!0}),delete o.predef,delete o.exported,optionKeys=Object.keys(o),x=0;optionKeys.length>x;x++)if(/^-W\\d{3}$/g.test(optionKeys[x]))newIgnoredObj[optionKeys[x].slice(1)]=!0;else{var optionKey=optionKeys[x];newOptionObj[optionKey]=o[optionKey],(\"esversion\"===optionKey&&5===o[optionKey]||\"es5\"===optionKey&&o[optionKey])&&warning(\"I003\"),\"newcap\"===optionKeys[x]&&o[optionKey]===!1&&(newOptionObj[\"(explicitNewcap)\"]=!0)}state.option=newOptionObj,state.ignored=newIgnoredObj,state.option.indent=state.option.indent||4,state.option.maxerr=state.option.maxerr||50,indent=1;var scopeManagerInst=scopeManager(state,predefined,exported,declared);if(scopeManagerInst.on(\"warning\",function(ev){warning.apply(null,[ev.code,ev.token].concat(ev.data))}),scopeManagerInst.on(\"error\",function(ev){error.apply(null,[ev.code,ev.token].concat(ev.data))}),state.funct=functor(\"(global)\",null,{\"(global)\":!0,\"(scope)\":scopeManagerInst,\"(comparray)\":arrayComprehension(),\"(metrics)\":createMetrics(state.tokens.next)}),functions=[state.funct],urls=[],stack=null,member={},membersOnly=null,inblock=!1,lookahead=[],!isString(s)&&!Array.isArray(s))return errorAt(\"E004\",0),!1;api={get isJSON(){return state.jsonMode},getOption:function(name){return state.option[name]||null},getCache:function(name){return state.cache[name]},setCache:function(name,value){state.cache[name]=value},warn:function(code,data){warningAt.apply(null,[code,data.line,data.char].concat(data.data))},on:function(names,listener){names.split(\" \").forEach(function(name){emitter.on(name,listener)}.bind(this))}},emitter.removeAllListeners(),(extraModules||[]).forEach(function(func){func(api)}),state.tokens.prev=state.tokens.curr=state.tokens.next=state.syntax[\"(begin)\"],o&&o.ignoreDelimiters&&(Array.isArray(o.ignoreDelimiters)||(o.ignoreDelimiters=[o.ignoreDelimiters]),o.ignoreDelimiters.forEach(function(delimiterPair){delimiterPair.start&&delimiterPair.end&&(reIgnoreStr=escapeRegex(delimiterPair.start)+\"[\\\\s\\\\S]*?\"+escapeRegex(delimiterPair.end),reIgnore=RegExp(reIgnoreStr,\"ig\"),s=s.replace(reIgnore,function(match){return match.replace(/./g,\" \")}))})),lex=new Lexer(s),lex.on(\"warning\",function(ev){warningAt.apply(null,[ev.code,ev.line,ev.character].concat(ev.data))}),lex.on(\"error\",function(ev){errorAt.apply(null,[ev.code,ev.line,ev.character].concat(ev.data))}),lex.on(\"fatal\",function(ev){quit(\"E041\",ev.line,ev.from)}),lex.on(\"Identifier\",function(ev){emitter.emit(\"Identifier\",ev)}),lex.on(\"String\",function(ev){emitter.emit(\"String\",ev)}),lex.on(\"Number\",function(ev){emitter.emit(\"Number\",ev)}),lex.start();for(var name in o)_.has(o,name)&&checkOption(name,state.tokens.curr);assume(),combine(predefined,g||{}),comma.first=!0;try{switch(advance(),state.tokens.next.id){case\"{\":case\"[\":destructuringAssignOrJsonValue();break;default:directives(),state.directive[\"use strict\"]&&\"global\"!==state.option.strict&&warning(\"W097\",state.tokens.prev),statements()}\"(end)\"!==state.tokens.next.id&&quit(\"E041\",state.tokens.curr.line),state.funct[\"(scope)\"].unstack()}catch(err){if(!err||\"JSHintError\"!==err.name)throw err;var nt=state.tokens.next||{};JSHINT.errors.push({scope:\"(main)\",raw:err.raw,code:err.code,reason:err.message,line:err.line||nt.line,character:err.character||nt.from},null)}if(\"(main)\"===JSHINT.scope)for(o=o||{},i=0;JSHINT.internals.length>i;i+=1)k=JSHINT.internals[i],o.scope=k.elem,itself(k.value,o,g);return 0===JSHINT.errors.length};return itself.addModule=function(func){extraModules.push(func)},itself.addModule(style.register),itself.data=function(){var fu,f,i,j,n,globals,data={functions:[],options:state.option};itself.errors.length&&(data.errors=itself.errors),state.jsonMode&&(data.json=!0);var impliedGlobals=state.funct[\"(scope)\"].getImpliedGlobals();for(impliedGlobals.length>0&&(data.implieds=impliedGlobals),urls.length>0&&(data.urls=urls),globals=state.funct[\"(scope)\"].getUsedOrDefinedGlobals(),globals.length>0&&(data.globals=globals),i=1;functions.length>i;i+=1){for(f=functions[i],fu={},j=0;functionicity.length>j;j+=1)fu[functionicity[j]]=[];for(j=0;functionicity.length>j;j+=1)0===fu[functionicity[j]].length&&delete fu[functionicity[j]];fu.name=f[\"(name)\"],fu.param=f[\"(params)\"],fu.line=f[\"(line)\"],fu.character=f[\"(character)\"],fu.last=f[\"(last)\"],fu.lastcharacter=f[\"(lastcharacter)\"],fu.metrics={complexity:f[\"(metrics)\"].ComplexityCount,parameters:f[\"(metrics)\"].arity,statements:f[\"(metrics)\"].statementCount},data.functions.push(fu)}var unuseds=state.funct[\"(scope)\"].getUnuseds();unuseds.length>0&&(data.unused=unuseds);for(n in member)if(\"number\"==typeof member[n]){data.member=member;break}return data},itself.jshint=itself,itself}();\"object\"==typeof exports&&exports&&(exports.JSHINT=JSHINT)},{\"../lodash\":\"/node_modules/jshint/lodash.js\",\"./lex.js\":\"/node_modules/jshint/src/lex.js\",\"./messages.js\":\"/node_modules/jshint/src/messages.js\",\"./options.js\":\"/node_modules/jshint/src/options.js\",\"./reg.js\":\"/node_modules/jshint/src/reg.js\",\"./scope-manager.js\":\"/node_modules/jshint/src/scope-manager.js\",\"./state.js\":\"/node_modules/jshint/src/state.js\",\"./style.js\":\"/node_modules/jshint/src/style.js\",\"./vars.js\":\"/node_modules/jshint/src/vars.js\",events:\"/node_modules/browserify/node_modules/events/events.js\"}],\"/node_modules/jshint/src/lex.js\":[function(_dereq_,module,exports){\"use strict\";function asyncTrigger(){var _checks=[];return{push:function(fn){_checks.push(fn)},check:function(){for(var check=0;_checks.length>check;++check)_checks[check]();_checks.splice(0,_checks.length)}}}function Lexer(source){var lines=source;\"string\"==typeof lines&&(lines=lines.replace(/\\r\\n/g,\"\\n\").replace(/\\r/g,\"\\n\").split(\"\\n\")),lines[0]&&\"#!\"===lines[0].substr(0,2)&&(-1!==lines[0].indexOf(\"node\")&&(state.option.node=!0),lines[0]=\"\"),this.emitter=new events.EventEmitter,this.source=source,this.setLines(lines),this.prereg=!0,this.line=0,this.char=1,this.from=1,this.input=\"\",this.inComment=!1,this.context=[],this.templateStarts=[];for(var i=0;state.option.indent>i;i+=1)state.tab+=\" \";this.ignoreLinterErrors=!1}var _=_dereq_(\"../lodash\"),events=_dereq_(\"events\"),reg=_dereq_(\"./reg.js\"),state=_dereq_(\"./state.js\").state,unicodeData=_dereq_(\"../data/ascii-identifier-data.js\"),asciiIdentifierStartTable=unicodeData.asciiIdentifierStartTable,asciiIdentifierPartTable=unicodeData.asciiIdentifierPartTable,Token={Identifier:1,Punctuator:2,NumericLiteral:3,StringLiteral:4,Comment:5,Keyword:6,NullLiteral:7,BooleanLiteral:8,RegExp:9,TemplateHead:10,TemplateMiddle:11,TemplateTail:12,NoSubstTemplate:13},Context={Block:1,Template:2};Lexer.prototype={_lines:[],inContext:function(ctxType){return this.context.length>0&&this.context[this.context.length-1].type===ctxType},pushContext:function(ctxType){this.context.push({type:ctxType})},popContext:function(){return this.context.pop()},isContext:function(context){return this.context.length>0&&this.context[this.context.length-1]===context},currentContext:function(){return this.context.length>0&&this.context[this.context.length-1]},getLines:function(){return this._lines=state.lines,this._lines},setLines:function(val){this._lines=val,state.lines=this._lines},peek:function(i){return this.input.charAt(i||0)},skip:function(i){i=i||1,this.char+=i,this.input=this.input.slice(i)},on:function(names,listener){names.split(\" \").forEach(function(name){this.emitter.on(name,listener)}.bind(this))},trigger:function(){this.emitter.emit.apply(this.emitter,Array.prototype.slice.call(arguments))},triggerAsync:function(type,args,checks,fn){checks.push(function(){fn()&&this.trigger(type,args)}.bind(this))},scanPunctuator:function(){var ch2,ch3,ch4,ch1=this.peek();switch(ch1){case\".\":if(/^[0-9]$/.test(this.peek(1)))return null;if(\".\"===this.peek(1)&&\".\"===this.peek(2))return{type:Token.Punctuator,value:\"...\"};case\"(\":case\")\":case\";\":case\",\":case\"[\":case\"]\":case\":\":case\"~\":case\"?\":return{type:Token.Punctuator,value:ch1};case\"{\":return this.pushContext(Context.Block),{type:Token.Punctuator,value:ch1};case\"}\":return this.inContext(Context.Block)&&this.popContext(),{type:Token.Punctuator,value:ch1};case\"#\":return{type:Token.Punctuator,value:ch1};case\"\":return null}return ch2=this.peek(1),ch3=this.peek(2),ch4=this.peek(3),\">\"===ch1&&\">\"===ch2&&\">\"===ch3&&\"=\"===ch4?{type:Token.Punctuator,value:\">>>=\"}:\"=\"===ch1&&\"=\"===ch2&&\"=\"===ch3?{type:Token.Punctuator,value:\"===\"}:\"!\"===ch1&&\"=\"===ch2&&\"=\"===ch3?{type:Token.Punctuator,value:\"!==\"}:\">\"===ch1&&\">\"===ch2&&\">\"===ch3?{type:Token.Punctuator,value:\">>>\"}:\"<\"===ch1&&\"<\"===ch2&&\"=\"===ch3?{type:Token.Punctuator,value:\"<<=\"}:\">\"===ch1&&\">\"===ch2&&\"=\"===ch3?{type:Token.Punctuator,value:\">>=\"}:\"=\"===ch1&&\">\"===ch2?{type:Token.Punctuator,value:ch1+ch2}:ch1===ch2&&\"+-<>&|\".indexOf(ch1)>=0?{type:Token.Punctuator,value:ch1+ch2}:\"<>=!+-*%&|^\".indexOf(ch1)>=0?\"=\"===ch2?{type:Token.Punctuator,value:ch1+ch2}:{type:Token.Punctuator,value:ch1}:\"/\"===ch1?\"=\"===ch2?{type:Token.Punctuator,value:\"/=\"}:{type:Token.Punctuator,value:\"/\"}:null},scanComments:function(){function commentToken(label,body,opt){var special=[\"jshint\",\"jslint\",\"members\",\"member\",\"globals\",\"global\",\"exported\"],isSpecial=!1,value=label+body,commentType=\"plain\";return opt=opt||{},opt.isMultiline&&(value+=\"*/\"),body=body.replace(/\\n/g,\" \"),\"/*\"===label&®.fallsThrough.test(body)&&(isSpecial=!0,commentType=\"falls through\"),special.forEach(function(str){if(!isSpecial&&(\"//\"!==label||\"jshint\"===str)&&(\" \"===body.charAt(str.length)&&body.substr(0,str.length)===str&&(isSpecial=!0,label+=str,body=body.substr(str.length)),isSpecial||\" \"!==body.charAt(0)||\" \"!==body.charAt(str.length+1)||body.substr(1,str.length)!==str||(isSpecial=!0,label=label+\" \"+str,body=body.substr(str.length+1)),isSpecial))switch(str){case\"member\":commentType=\"members\";break;case\"global\":commentType=\"globals\";break;default:var options=body.split(\":\").map(function(v){return v.replace(/^\\s+/,\"\").replace(/\\s+$/,\"\")});if(2===options.length)switch(options[0]){case\"ignore\":switch(options[1]){case\"start\":self.ignoringLinterErrors=!0,isSpecial=!1;break;case\"end\":self.ignoringLinterErrors=!1,isSpecial=!1}}commentType=str}}),{type:Token.Comment,commentType:commentType,value:value,body:body,isSpecial:isSpecial,isMultiline:opt.isMultiline||!1,isMalformed:opt.isMalformed||!1}}var ch1=this.peek(),ch2=this.peek(1),rest=this.input.substr(2),startLine=this.line,startChar=this.char,self=this;if(\"*\"===ch1&&\"/\"===ch2)return this.trigger(\"error\",{code:\"E018\",line:startLine,character:startChar}),this.skip(2),null;if(\"/\"!==ch1||\"*\"!==ch2&&\"/\"!==ch2)return null;if(\"/\"===ch2)return this.skip(this.input.length),commentToken(\"//\",rest);var body=\"\";if(\"*\"===ch2){for(this.inComment=!0,this.skip(2);\"*\"!==this.peek()||\"/\"!==this.peek(1);)if(\"\"===this.peek()){if(body+=\"\\n\",!this.nextLine())return this.trigger(\"error\",{code:\"E017\",line:startLine,character:startChar}),this.inComment=!1,commentToken(\"/*\",body,{isMultiline:!0,isMalformed:!0})}else body+=this.peek(),this.skip();return this.skip(2),this.inComment=!1,commentToken(\"/*\",body,{isMultiline:!0})}},scanKeyword:function(){var result=/^[a-zA-Z_$][a-zA-Z0-9_$]*/.exec(this.input),keywords=[\"if\",\"in\",\"do\",\"var\",\"for\",\"new\",\"try\",\"let\",\"this\",\"else\",\"case\",\"void\",\"with\",\"enum\",\"while\",\"break\",\"catch\",\"throw\",\"const\",\"yield\",\"class\",\"super\",\"return\",\"typeof\",\"delete\",\"switch\",\"export\",\"import\",\"default\",\"finally\",\"extends\",\"function\",\"continue\",\"debugger\",\"instanceof\"];return result&&keywords.indexOf(result[0])>=0?{type:Token.Keyword,value:result[0]}:null},scanIdentifier:function(){function isNonAsciiIdentifierStart(code){return code>256}function isNonAsciiIdentifierPart(code){return code>256}function isHexDigit(str){return/^[0-9a-fA-F]$/.test(str)}function removeEscapeSequences(id){return id.replace(/\\\\u([0-9a-fA-F]{4})/g,function(m0,codepoint){return String.fromCharCode(parseInt(codepoint,16))})}var type,char,id=\"\",index=0,readUnicodeEscapeSequence=function(){if(index+=1,\"u\"!==this.peek(index))return null;var code,ch1=this.peek(index+1),ch2=this.peek(index+2),ch3=this.peek(index+3),ch4=this.peek(index+4);return isHexDigit(ch1)&&isHexDigit(ch2)&&isHexDigit(ch3)&&isHexDigit(ch4)?(code=parseInt(ch1+ch2+ch3+ch4,16),asciiIdentifierPartTable[code]||isNonAsciiIdentifierPart(code)?(index+=5,\"\\\\u\"+ch1+ch2+ch3+ch4):null):null}.bind(this),getIdentifierStart=function(){var chr=this.peek(index),code=chr.charCodeAt(0);return 92===code?readUnicodeEscapeSequence():128>code?asciiIdentifierStartTable[code]?(index+=1,chr):null:isNonAsciiIdentifierStart(code)?(index+=1,chr):null}.bind(this),getIdentifierPart=function(){var chr=this.peek(index),code=chr.charCodeAt(0);return 92===code?readUnicodeEscapeSequence():128>code?asciiIdentifierPartTable[code]?(index+=1,chr):null:isNonAsciiIdentifierPart(code)?(index+=1,chr):null}.bind(this);if(char=getIdentifierStart(),null===char)return null;for(id=char;char=getIdentifierPart(),null!==char;)id+=char;switch(id){case\"true\":case\"false\":type=Token.BooleanLiteral;break;case\"null\":type=Token.NullLiteral;break;default:type=Token.Identifier}return{type:type,value:removeEscapeSequences(id),text:id,tokenLength:id.length}},scanNumericLiteral:function(){function isDecimalDigit(str){return/^[0-9]$/.test(str)}function isOctalDigit(str){return/^[0-7]$/.test(str)}function isBinaryDigit(str){return/^[01]$/.test(str)}function isHexDigit(str){return/^[0-9a-fA-F]$/.test(str)}function isIdentifierStart(ch){return\"$\"===ch||\"_\"===ch||\"\\\\\"===ch||ch>=\"a\"&&\"z\">=ch||ch>=\"A\"&&\"Z\">=ch}var bad,index=0,value=\"\",length=this.input.length,char=this.peek(index),isAllowedDigit=isDecimalDigit,base=10,isLegacy=!1;if(\".\"!==char&&!isDecimalDigit(char))return null;if(\".\"!==char){for(value=this.peek(index),index+=1,char=this.peek(index),\"0\"===value&&((\"x\"===char||\"X\"===char)&&(isAllowedDigit=isHexDigit,base=16,index+=1,value+=char),(\"o\"===char||\"O\"===char)&&(isAllowedDigit=isOctalDigit,base=8,state.inES6(!0)||this.trigger(\"warning\",{code:\"W119\",line:this.line,character:this.char,data:[\"Octal integer literal\",\"6\"]}),index+=1,value+=char),(\"b\"===char||\"B\"===char)&&(isAllowedDigit=isBinaryDigit,base=2,state.inES6(!0)||this.trigger(\"warning\",{code:\"W119\",line:this.line,character:this.char,data:[\"Binary integer literal\",\"6\"]}),index+=1,value+=char),isOctalDigit(char)&&(isAllowedDigit=isOctalDigit,base=8,isLegacy=!0,bad=!1,index+=1,value+=char),!isOctalDigit(char)&&isDecimalDigit(char)&&(index+=1,value+=char));length>index;){if(char=this.peek(index),isLegacy&&isDecimalDigit(char))bad=!0;else if(!isAllowedDigit(char))break;value+=char,index+=1}if(isAllowedDigit!==isDecimalDigit)return!isLegacy&&2>=value.length?{type:Token.NumericLiteral,value:value,isMalformed:!0}:length>index&&(char=this.peek(index),isIdentifierStart(char))?null:{type:Token.NumericLiteral,value:value,base:base,isLegacy:isLegacy,isMalformed:!1}}if(\".\"===char)for(value+=char,index+=1;length>index&&(char=this.peek(index),isDecimalDigit(char));)value+=char,index+=1;if(\"e\"===char||\"E\"===char){if(value+=char,index+=1,char=this.peek(index),(\"+\"===char||\"-\"===char)&&(value+=this.peek(index),index+=1),char=this.peek(index),!isDecimalDigit(char))return null;for(value+=char,index+=1;length>index&&(char=this.peek(index),isDecimalDigit(char));)value+=char,index+=1}return length>index&&(char=this.peek(index),isIdentifierStart(char))?null:{type:Token.NumericLiteral,value:value,base:base,isMalformed:!isFinite(value)}},scanEscapeSequence:function(checks){var allowNewLine=!1,jump=1;this.skip();var char=this.peek();switch(char){case\"'\":this.triggerAsync(\"warning\",{code:\"W114\",line:this.line,character:this.char,data:[\"\\\\'\"]},checks,function(){return state.jsonMode});break;case\"b\":char=\"\\\\b\";break;case\"f\":char=\"\\\\f\";break;case\"n\":char=\"\\\\n\";break;case\"r\":char=\"\\\\r\";break;case\"t\":char=\"\\\\t\";break;case\"0\":char=\"\\\\0\";var n=parseInt(this.peek(1),10);this.triggerAsync(\"warning\",{code:\"W115\",line:this.line,character:this.char},checks,function(){return n>=0&&7>=n&&state.isStrict()});break;case\"u\":var hexCode=this.input.substr(1,4),code=parseInt(hexCode,16);isNaN(code)&&this.trigger(\"warning\",{code:\"W052\",line:this.line,character:this.char,data:[\"u\"+hexCode]}),char=String.fromCharCode(code),jump=5;break;case\"v\":this.triggerAsync(\"warning\",{code:\"W114\",line:this.line,character:this.char,data:[\"\\\\v\"]},checks,function(){return state.jsonMode}),char=\"\u000b\";break;case\"x\":var x=parseInt(this.input.substr(1,2),16);this.triggerAsync(\"warning\",{code:\"W114\",line:this.line,character:this.char,data:[\"\\\\x-\"]},checks,function(){return state.jsonMode}),char=String.fromCharCode(x),jump=3;break;case\"\\\\\":char=\"\\\\\\\\\";break;case'\"':char='\\\\\"';break;case\"/\":break;case\"\":allowNewLine=!0,char=\"\"}return{\"char\":char,jump:jump,allowNewLine:allowNewLine}},scanTemplateLiteral:function(checks){var tokenType,ch,value=\"\",startLine=this.line,startChar=this.char,depth=this.templateStarts.length;if(!state.inES6(!0))return null;if(\"`\"===this.peek())tokenType=Token.TemplateHead,this.templateStarts.push({line:this.line,\"char\":this.char}),depth=this.templateStarts.length,this.skip(1),this.pushContext(Context.Template);else{if(!this.inContext(Context.Template)||\"}\"!==this.peek())return null;tokenType=Token.TemplateMiddle}for(;\"`\"!==this.peek();){for(;\"\"===(ch=this.peek());)if(value+=\"\\n\",!this.nextLine()){var startPos=this.templateStarts.pop();return this.trigger(\"error\",{code:\"E052\",line:startPos.line,character:startPos.char}),{type:tokenType,value:value,startLine:startLine,startChar:startChar,isUnclosed:!0,depth:depth,context:this.popContext()}}if(\"$\"===ch&&\"{\"===this.peek(1))return value+=\"${\",this.skip(2),{type:tokenType,value:value,startLine:startLine,startChar:startChar,isUnclosed:!1,depth:depth,context:this.currentContext()};\nif(\"\\\\\"===ch){var escape=this.scanEscapeSequence(checks);value+=escape.char,this.skip(escape.jump)}else\"`\"!==ch&&(value+=ch,this.skip(1))}return tokenType=tokenType===Token.TemplateHead?Token.NoSubstTemplate:Token.TemplateTail,this.skip(1),this.templateStarts.pop(),{type:tokenType,value:value,startLine:startLine,startChar:startChar,isUnclosed:!1,depth:depth,context:this.popContext()}},scanStringLiteral:function(checks){var quote=this.peek();if('\"'!==quote&&\"'\"!==quote)return null;this.triggerAsync(\"warning\",{code:\"W108\",line:this.line,character:this.char},checks,function(){return state.jsonMode&&'\"'!==quote});var value=\"\",startLine=this.line,startChar=this.char,allowNewLine=!1;for(this.skip();this.peek()!==quote;)if(\"\"===this.peek()){if(allowNewLine?(allowNewLine=!1,this.triggerAsync(\"warning\",{code:\"W043\",line:this.line,character:this.char},checks,function(){return!state.option.multistr}),this.triggerAsync(\"warning\",{code:\"W042\",line:this.line,character:this.char},checks,function(){return state.jsonMode&&state.option.multistr})):this.trigger(\"warning\",{code:\"W112\",line:this.line,character:this.char}),!this.nextLine())return this.trigger(\"error\",{code:\"E029\",line:startLine,character:startChar}),{type:Token.StringLiteral,value:value,startLine:startLine,startChar:startChar,isUnclosed:!0,quote:quote}}else{allowNewLine=!1;var char=this.peek(),jump=1;if(\" \">char&&this.trigger(\"warning\",{code:\"W113\",line:this.line,character:this.char,data:[\"\"]}),\"\\\\\"===char){var parsed=this.scanEscapeSequence(checks);char=parsed.char,jump=parsed.jump,allowNewLine=parsed.allowNewLine}value+=char,this.skip(jump)}return this.skip(),{type:Token.StringLiteral,value:value,startLine:startLine,startChar:startChar,isUnclosed:!1,quote:quote}},scanRegExp:function(){var terminated,index=0,length=this.input.length,char=this.peek(),value=char,body=\"\",flags=[],malformed=!1,isCharSet=!1,scanUnexpectedChars=function(){\" \">char&&(malformed=!0,this.trigger(\"warning\",{code:\"W048\",line:this.line,character:this.char})),\"<\"===char&&(malformed=!0,this.trigger(\"warning\",{code:\"W049\",line:this.line,character:this.char,data:[char]}))}.bind(this);if(!this.prereg||\"/\"!==char)return null;for(index+=1,terminated=!1;length>index;)if(char=this.peek(index),value+=char,body+=char,isCharSet)\"]\"===char&&(\"\\\\\"!==this.peek(index-1)||\"\\\\\"===this.peek(index-2))&&(isCharSet=!1),\"\\\\\"===char&&(index+=1,char=this.peek(index),body+=char,value+=char,scanUnexpectedChars()),index+=1;else{if(\"\\\\\"===char){if(index+=1,char=this.peek(index),body+=char,value+=char,scanUnexpectedChars(),\"/\"===char){index+=1;continue}if(\"[\"===char){index+=1;continue}}if(\"[\"!==char){if(\"/\"===char){body=body.substr(0,body.length-1),terminated=!0,index+=1;break}index+=1}else isCharSet=!0,index+=1}if(!terminated)return this.trigger(\"error\",{code:\"E015\",line:this.line,character:this.from}),void this.trigger(\"fatal\",{line:this.line,from:this.from});for(;length>index&&(char=this.peek(index),/[gim]/.test(char));)flags.push(char),value+=char,index+=1;try{RegExp(body,flags.join(\"\"))}catch(err){malformed=!0,this.trigger(\"error\",{code:\"E016\",line:this.line,character:this.char,data:[err.message]})}return{type:Token.RegExp,value:value,flags:flags,isMalformed:malformed}},scanNonBreakingSpaces:function(){return state.option.nonbsp?this.input.search(/(\\u00A0)/):-1},scanUnsafeChars:function(){return this.input.search(reg.unsafeChars)},next:function(checks){this.from=this.char;var start;if(/\\s/.test(this.peek()))for(start=this.char;/\\s/.test(this.peek());)this.from+=1,this.skip();var match=this.scanComments()||this.scanStringLiteral(checks)||this.scanTemplateLiteral(checks);return match?match:(match=this.scanRegExp()||this.scanPunctuator()||this.scanKeyword()||this.scanIdentifier()||this.scanNumericLiteral(),match?(this.skip(match.tokenLength||match.value.length),match):null)},nextLine:function(){var char;if(this.line>=this.getLines().length)return!1;this.input=this.getLines()[this.line],this.line+=1,this.char=1,this.from=1;var inputTrimmed=this.input.trim(),startsWith=function(){return _.some(arguments,function(prefix){return 0===inputTrimmed.indexOf(prefix)})},endsWith=function(){return _.some(arguments,function(suffix){return-1!==inputTrimmed.indexOf(suffix,inputTrimmed.length-suffix.length)})};if(this.ignoringLinterErrors===!0&&(startsWith(\"/*\",\"//\")||this.inComment&&endsWith(\"*/\")||(this.input=\"\")),char=this.scanNonBreakingSpaces(),char>=0&&this.trigger(\"warning\",{code:\"W125\",line:this.line,character:char+1}),this.input=this.input.replace(/\\t/g,state.tab),char=this.scanUnsafeChars(),char>=0&&this.trigger(\"warning\",{code:\"W100\",line:this.line,character:char}),!this.ignoringLinterErrors&&state.option.maxlen&&state.option.maxlen=0;--i){var scopeLabels=_scopeStack[i][\"(labels)\"];if(scopeLabels[labelName])return scopeLabels}}function usedSoFarInCurrentFunction(labelName){for(var i=_scopeStack.length-1;i>=0;i--){var current=_scopeStack[i];if(current[\"(usages)\"][labelName])return current[\"(usages)\"][labelName];if(current===_currentFunctBody)break}return!1}function _checkOuterShadow(labelName,token){if(\"outer\"===state.option.shadow)for(var isGlobal=\"global\"===_currentFunctBody[\"(type)\"],isNewFunction=\"functionparams\"===_current[\"(type)\"],outsideCurrentFunction=!isGlobal,i=0;_scopeStack.length>i;i++){var stackItem=_scopeStack[i];isNewFunction||_scopeStack[i+1]!==_currentFunctBody||(outsideCurrentFunction=!1),outsideCurrentFunction&&stackItem[\"(labels)\"][labelName]&&warning(\"W123\",token,labelName),stackItem[\"(breakLabels)\"][labelName]&&warning(\"W123\",token,labelName)}}function _latedefWarning(type,labelName,token){state.option.latedef&&(state.option.latedef===!0&&\"function\"===type||\"function\"!==type)&&warning(\"W003\",token,labelName)}var _current,_scopeStack=[];_newScope(\"global\"),_current[\"(predefined)\"]=predefined;var _currentFunctBody=_current,usedPredefinedAndGlobals=Object.create(null),impliedGlobals=Object.create(null),unuseds=[],emitter=new events.EventEmitter,_getUnusedOption=function(unused_opt){return void 0===unused_opt&&(unused_opt=state.option.unused),unused_opt===!0&&(unused_opt=\"last-param\"),unused_opt},_warnUnused=function(name,tkn,type,unused_opt){var line=tkn.line,chr=tkn.from,raw_name=tkn.raw_text||name;unused_opt=_getUnusedOption(unused_opt);var warnable_types={vars:[\"var\"],\"last-param\":[\"var\",\"param\"],strict:[\"var\",\"param\",\"last-param\"]};unused_opt&&warnable_types[unused_opt]&&-1!==warnable_types[unused_opt].indexOf(type)&&warning(\"W098\",{line:line,from:chr},raw_name),(unused_opt||\"var\"===type)&&unuseds.push({name:name,line:line,character:chr})},scopeManagerInst={on:function(names,listener){names.split(\" \").forEach(function(name){emitter.on(name,listener)})},isPredefined:function(labelName){return!this.has(labelName)&&_.has(_scopeStack[0][\"(predefined)\"],labelName)},stack:function(type){var previousScope=_current;_newScope(type),type||\"functionparams\"!==previousScope[\"(type)\"]||(_current[\"(isFuncBody)\"]=!0,_current[\"(context)\"]=_currentFunctBody,_currentFunctBody=_current)},unstack:function(){var i,j,subScope=_scopeStack.length>1?_scopeStack[_scopeStack.length-2]:null,isUnstackingFunctionBody=_current===_currentFunctBody,isUnstackingFunctionParams=\"functionparams\"===_current[\"(type)\"],isUnstackingFunctionOuter=\"functionouter\"===_current[\"(type)\"],currentUsages=_current[\"(usages)\"],currentLabels=_current[\"(labels)\"],usedLabelNameList=Object.keys(currentUsages);for(currentUsages.__proto__&&-1===usedLabelNameList.indexOf(\"__proto__\")&&usedLabelNameList.push(\"__proto__\"),i=0;usedLabelNameList.length>i;i++){var usedLabelName=usedLabelNameList[i],usage=currentUsages[usedLabelName],usedLabel=currentLabels[usedLabelName];if(usedLabel){var usedLabelType=usedLabel[\"(type)\"];if(usedLabel[\"(useOutsideOfScope)\"]&&!state.option.funcscope){var usedTokens=usage[\"(tokens)\"];if(usedTokens)for(j=0;usedTokens.length>j;j++)usedLabel[\"(function)\"]===usedTokens[j][\"(function)\"]&&error(\"W038\",usedTokens[j],usedLabelName)}if(_current[\"(labels)\"][usedLabelName][\"(unused)\"]=!1,\"const\"===usedLabelType&&usage[\"(modified)\"])for(j=0;usage[\"(modified)\"].length>j;j++)error(\"E013\",usage[\"(modified)\"][j],usedLabelName);if((\"function\"===usedLabelType||\"class\"===usedLabelType)&&usage[\"(reassigned)\"])for(j=0;usage[\"(reassigned)\"].length>j;j++)error(\"W021\",usage[\"(reassigned)\"][j],usedLabelName,usedLabelType)}else if(isUnstackingFunctionOuter&&(state.funct[\"(isCapturing)\"]=!0),subScope)if(subScope[\"(usages)\"][usedLabelName]){var subScopeUsage=subScope[\"(usages)\"][usedLabelName];subScopeUsage[\"(modified)\"]=subScopeUsage[\"(modified)\"].concat(usage[\"(modified)\"]),subScopeUsage[\"(tokens)\"]=subScopeUsage[\"(tokens)\"].concat(usage[\"(tokens)\"]),subScopeUsage[\"(reassigned)\"]=subScopeUsage[\"(reassigned)\"].concat(usage[\"(reassigned)\"]),subScopeUsage[\"(onlyUsedSubFunction)\"]=!1}else subScope[\"(usages)\"][usedLabelName]=usage,isUnstackingFunctionBody&&(subScope[\"(usages)\"][usedLabelName][\"(onlyUsedSubFunction)\"]=!0);else if(\"boolean\"==typeof _current[\"(predefined)\"][usedLabelName]){if(delete declared[usedLabelName],usedPredefinedAndGlobals[usedLabelName]=marker,_current[\"(predefined)\"][usedLabelName]===!1&&usage[\"(reassigned)\"])for(j=0;usage[\"(reassigned)\"].length>j;j++)warning(\"W020\",usage[\"(reassigned)\"][j])}else if(usage[\"(tokens)\"])for(j=0;usage[\"(tokens)\"].length>j;j++){var undefinedToken=usage[\"(tokens)\"][j];undefinedToken.forgiveUndef||(state.option.undef&&!undefinedToken.ignoreUndef&&warning(\"W117\",undefinedToken,usedLabelName),impliedGlobals[usedLabelName]?impliedGlobals[usedLabelName].line.push(undefinedToken.line):impliedGlobals[usedLabelName]={name:usedLabelName,line:[undefinedToken.line]})}}if(subScope||Object.keys(declared).forEach(function(labelNotUsed){_warnUnused(labelNotUsed,declared[labelNotUsed],\"var\")}),subScope&&!isUnstackingFunctionBody&&!isUnstackingFunctionParams&&!isUnstackingFunctionOuter){var labelNames=Object.keys(currentLabels);for(i=0;labelNames.length>i;i++){var defLabelName=labelNames[i];currentLabels[defLabelName][\"(blockscoped)\"]||\"exception\"===currentLabels[defLabelName][\"(type)\"]||this.funct.has(defLabelName,{excludeCurrent:!0})||(subScope[\"(labels)\"][defLabelName]=currentLabels[defLabelName],\"global\"!==_currentFunctBody[\"(type)\"]&&(subScope[\"(labels)\"][defLabelName][\"(useOutsideOfScope)\"]=!0),delete currentLabels[defLabelName])}}_checkForUnused(),_scopeStack.pop(),isUnstackingFunctionBody&&(_currentFunctBody=_scopeStack[_.findLastIndex(_scopeStack,function(scope){return scope[\"(isFuncBody)\"]||\"global\"===scope[\"(type)\"]})]),_current=subScope},addParam:function(labelName,token,type){if(type=type||\"param\",\"exception\"===type){var previouslyDefinedLabelType=this.funct.labeltype(labelName);previouslyDefinedLabelType&&\"exception\"!==previouslyDefinedLabelType&&(state.option.node||warning(\"W002\",state.tokens.next,labelName))}if(_.has(_current[\"(labels)\"],labelName)?_current[\"(labels)\"][labelName].duplicated=!0:(_checkOuterShadow(labelName,token,type),_current[\"(labels)\"][labelName]={\"(type)\":type,\"(token)\":token,\"(unused)\":!0},_current[\"(params)\"].push(labelName)),_.has(_current[\"(usages)\"],labelName)){var usage=_current[\"(usages)\"][labelName];usage[\"(onlyUsedSubFunction)\"]?_latedefWarning(type,labelName,token):warning(\"E056\",token,labelName,type)}},validateParams:function(){if(\"global\"!==_currentFunctBody[\"(type)\"]){var isStrict=state.isStrict(),currentFunctParamScope=_currentFunctBody[\"(parent)\"];currentFunctParamScope[\"(params)\"]&¤tFunctParamScope[\"(params)\"].forEach(function(labelName){var label=currentFunctParamScope[\"(labels)\"][labelName];label&&label.duplicated&&(isStrict?warning(\"E011\",label[\"(token)\"],labelName):state.option.shadow!==!0&&warning(\"W004\",label[\"(token)\"],labelName))})}},getUsedOrDefinedGlobals:function(){var list=Object.keys(usedPredefinedAndGlobals);return usedPredefinedAndGlobals.__proto__===marker&&-1===list.indexOf(\"__proto__\")&&list.push(\"__proto__\"),list},getImpliedGlobals:function(){var values=_.values(impliedGlobals),hasProto=!1;return impliedGlobals.__proto__&&(hasProto=values.some(function(value){return\"__proto__\"===value.name}),hasProto||values.push(impliedGlobals.__proto__)),values},getUnuseds:function(){return unuseds},has:function(labelName){return Boolean(_getLabel(labelName))},labeltype:function(labelName){var scopeLabels=_getLabel(labelName);return scopeLabels?scopeLabels[labelName][\"(type)\"]:null},addExported:function(labelName){var globalLabels=_scopeStack[0][\"(labels)\"];if(_.has(declared,labelName))delete declared[labelName];else if(_.has(globalLabels,labelName))globalLabels[labelName][\"(unused)\"]=!1;else{for(var i=1;_scopeStack.length>i;i++){var scope=_scopeStack[i];if(scope[\"(type)\"])break;if(_.has(scope[\"(labels)\"],labelName)&&!scope[\"(labels)\"][labelName][\"(blockscoped)\"])return scope[\"(labels)\"][labelName][\"(unused)\"]=!1,void 0}exported[labelName]=!0}},setExported:function(labelName,token){this.block.use(labelName,token)\n},addlabel:function(labelName,opts){var type=opts.type,token=opts.token,isblockscoped=\"let\"===type||\"const\"===type||\"class\"===type,isexported=\"global\"===(isblockscoped?_current:_currentFunctBody)[\"(type)\"]&&_.has(exported,labelName);if(_checkOuterShadow(labelName,token,type),isblockscoped){var declaredInCurrentScope=_current[\"(labels)\"][labelName];if(declaredInCurrentScope||_current!==_currentFunctBody||\"global\"===_current[\"(type)\"]||(declaredInCurrentScope=!!_currentFunctBody[\"(parent)\"][\"(labels)\"][labelName]),!declaredInCurrentScope&&_current[\"(usages)\"][labelName]){var usage=_current[\"(usages)\"][labelName];usage[\"(onlyUsedSubFunction)\"]?_latedefWarning(type,labelName,token):warning(\"E056\",token,labelName,type)}declaredInCurrentScope?warning(\"E011\",token,labelName):\"outer\"===state.option.shadow&&scopeManagerInst.funct.has(labelName)&&warning(\"W004\",token,labelName),scopeManagerInst.block.add(labelName,type,token,!isexported)}else{var declaredInCurrentFunctionScope=scopeManagerInst.funct.has(labelName);!declaredInCurrentFunctionScope&&usedSoFarInCurrentFunction(labelName)&&_latedefWarning(type,labelName,token),scopeManagerInst.funct.has(labelName,{onlyBlockscoped:!0})?warning(\"E011\",token,labelName):state.option.shadow!==!0&&declaredInCurrentFunctionScope&&\"__proto__\"!==labelName&&\"global\"!==_currentFunctBody[\"(type)\"]&&warning(\"W004\",token,labelName),scopeManagerInst.funct.add(labelName,type,token,!isexported),\"global\"===_currentFunctBody[\"(type)\"]&&(usedPredefinedAndGlobals[labelName]=marker)}},funct:{labeltype:function(labelName,options){for(var onlyBlockscoped=options&&options.onlyBlockscoped,excludeParams=options&&options.excludeParams,currentScopeIndex=_scopeStack.length-(options&&options.excludeCurrent?2:1),i=currentScopeIndex;i>=0;i--){var current=_scopeStack[i];if(current[\"(labels)\"][labelName]&&(!onlyBlockscoped||current[\"(labels)\"][labelName][\"(blockscoped)\"]))return current[\"(labels)\"][labelName][\"(type)\"];var scopeCheck=excludeParams?_scopeStack[i-1]:current;if(scopeCheck&&\"functionparams\"===scopeCheck[\"(type)\"])return null}return null},hasBreakLabel:function(labelName){for(var i=_scopeStack.length-1;i>=0;i--){var current=_scopeStack[i];if(current[\"(breakLabels)\"][labelName])return!0;if(\"functionparams\"===current[\"(type)\"])return!1}return!1},has:function(labelName,options){return Boolean(this.labeltype(labelName,options))},add:function(labelName,type,tok,unused){_current[\"(labels)\"][labelName]={\"(type)\":type,\"(token)\":tok,\"(blockscoped)\":!1,\"(function)\":_currentFunctBody,\"(unused)\":unused}}},block:{isGlobal:function(){return\"global\"===_current[\"(type)\"]},use:function(labelName,token){var paramScope=_currentFunctBody[\"(parent)\"];paramScope&¶mScope[\"(labels)\"][labelName]&&\"param\"===paramScope[\"(labels)\"][labelName][\"(type)\"]&&(scopeManagerInst.funct.has(labelName,{excludeParams:!0,onlyBlockscoped:!0})||(paramScope[\"(labels)\"][labelName][\"(unused)\"]=!1)),token&&(state.ignored.W117||state.option.undef===!1)&&(token.ignoreUndef=!0),_setupUsages(labelName),token&&(token[\"(function)\"]=_currentFunctBody,_current[\"(usages)\"][labelName][\"(tokens)\"].push(token))},reassign:function(labelName,token){this.modify(labelName,token),_current[\"(usages)\"][labelName][\"(reassigned)\"].push(token)},modify:function(labelName,token){_setupUsages(labelName),_current[\"(usages)\"][labelName][\"(modified)\"].push(token)},add:function(labelName,type,tok,unused){_current[\"(labels)\"][labelName]={\"(type)\":type,\"(token)\":tok,\"(blockscoped)\":!0,\"(unused)\":unused}},addBreakLabel:function(labelName,opts){var token=opts.token;scopeManagerInst.funct.hasBreakLabel(labelName)?warning(\"E011\",token,labelName):\"outer\"===state.option.shadow&&(scopeManagerInst.funct.has(labelName)?warning(\"W004\",token,labelName):_checkOuterShadow(labelName,token)),_current[\"(breakLabels)\"][labelName]=token}}};return scopeManagerInst};module.exports=scopeManager},{\"../lodash\":\"/node_modules/jshint/lodash.js\",events:\"/node_modules/browserify/node_modules/events/events.js\"}],\"/node_modules/jshint/src/state.js\":[function(_dereq_,module,exports){\"use strict\";var NameStack=_dereq_(\"./name-stack.js\"),state={syntax:{},isStrict:function(){return this.directive[\"use strict\"]||this.inClassBody||this.option.module||\"implied\"===this.option.strict},inMoz:function(){return this.option.moz},inES6:function(){return this.option.moz||this.option.esversion>=6},inES5:function(strict){return strict?!(this.option.esversion&&5!==this.option.esversion||this.option.moz):!this.option.esversion||this.option.esversion>=5||this.option.moz},reset:function(){this.tokens={prev:null,next:null,curr:null},this.option={},this.funct=null,this.ignored={},this.directive={},this.jsonMode=!1,this.jsonWarnings=[],this.lines=[],this.tab=\"\",this.cache={},this.ignoredLines={},this.forinifcheckneeded=!1,this.nameStack=new NameStack,this.inClassBody=!1}};exports.state=state},{\"./name-stack.js\":\"/node_modules/jshint/src/name-stack.js\"}],\"/node_modules/jshint/src/style.js\":[function(_dereq_,module,exports){\"use strict\";exports.register=function(linter){linter.on(\"Identifier\",function(data){linter.getOption(\"proto\")||\"__proto__\"===data.name&&linter.warn(\"W103\",{line:data.line,\"char\":data.char,data:[data.name,\"6\"]})}),linter.on(\"Identifier\",function(data){linter.getOption(\"iterator\")||\"__iterator__\"===data.name&&linter.warn(\"W103\",{line:data.line,\"char\":data.char,data:[data.name]})}),linter.on(\"Identifier\",function(data){linter.getOption(\"camelcase\")&&data.name.replace(/^_+|_+$/g,\"\").indexOf(\"_\")>-1&&!data.name.match(/^[A-Z0-9_]*$/)&&linter.warn(\"W106\",{line:data.line,\"char\":data.from,data:[data.name]})}),linter.on(\"String\",function(data){var code,quotmark=linter.getOption(\"quotmark\");quotmark&&(\"single\"===quotmark&&\"'\"!==data.quote&&(code=\"W109\"),\"double\"===quotmark&&'\"'!==data.quote&&(code=\"W108\"),quotmark===!0&&(linter.getCache(\"quotmark\")||linter.setCache(\"quotmark\",data.quote),linter.getCache(\"quotmark\")!==data.quote&&(code=\"W110\")),code&&linter.warn(code,{line:data.line,\"char\":data.char}))}),linter.on(\"Number\",function(data){\".\"===data.value.charAt(0)&&linter.warn(\"W008\",{line:data.line,\"char\":data.char,data:[data.value]}),\".\"===data.value.substr(data.value.length-1)&&linter.warn(\"W047\",{line:data.line,\"char\":data.char,data:[data.value]}),/^00+/.test(data.value)&&linter.warn(\"W046\",{line:data.line,\"char\":data.char,data:[data.value]})}),linter.on(\"String\",function(data){var re=/^(?:javascript|jscript|ecmascript|vbscript|livescript)\\s*:/i;linter.getOption(\"scripturl\")||re.test(data.value)&&linter.warn(\"W107\",{line:data.line,\"char\":data.char})})}},{}],\"/node_modules/jshint/src/vars.js\":[function(_dereq_,module,exports){\"use strict\";exports.reservedVars={arguments:!1,NaN:!1},exports.ecmaIdentifiers={3:{Array:!1,Boolean:!1,Date:!1,decodeURI:!1,decodeURIComponent:!1,encodeURI:!1,encodeURIComponent:!1,Error:!1,eval:!1,EvalError:!1,Function:!1,hasOwnProperty:!1,isFinite:!1,isNaN:!1,Math:!1,Number:!1,Object:!1,parseInt:!1,parseFloat:!1,RangeError:!1,ReferenceError:!1,RegExp:!1,String:!1,SyntaxError:!1,TypeError:!1,URIError:!1},5:{JSON:!1},6:{Map:!1,Promise:!1,Proxy:!1,Reflect:!1,Set:!1,Symbol:!1,WeakMap:!1,WeakSet:!1}},exports.browser={Audio:!1,Blob:!1,addEventListener:!1,applicationCache:!1,atob:!1,blur:!1,btoa:!1,cancelAnimationFrame:!1,CanvasGradient:!1,CanvasPattern:!1,CanvasRenderingContext2D:!1,CSS:!1,clearInterval:!1,clearTimeout:!1,close:!1,closed:!1,Comment:!1,CustomEvent:!1,DOMParser:!1,defaultStatus:!1,Document:!1,document:!1,DocumentFragment:!1,Element:!1,ElementTimeControl:!1,Event:!1,event:!1,fetch:!1,FileReader:!1,FormData:!1,focus:!1,frames:!1,getComputedStyle:!1,HTMLElement:!1,HTMLAnchorElement:!1,HTMLBaseElement:!1,HTMLBlockquoteElement:!1,HTMLBodyElement:!1,HTMLBRElement:!1,HTMLButtonElement:!1,HTMLCanvasElement:!1,HTMLCollection:!1,HTMLDirectoryElement:!1,HTMLDivElement:!1,HTMLDListElement:!1,HTMLFieldSetElement:!1,HTMLFontElement:!1,HTMLFormElement:!1,HTMLFrameElement:!1,HTMLFrameSetElement:!1,HTMLHeadElement:!1,HTMLHeadingElement:!1,HTMLHRElement:!1,HTMLHtmlElement:!1,HTMLIFrameElement:!1,HTMLImageElement:!1,HTMLInputElement:!1,HTMLIsIndexElement:!1,HTMLLabelElement:!1,HTMLLayerElement:!1,HTMLLegendElement:!1,HTMLLIElement:!1,HTMLLinkElement:!1,HTMLMapElement:!1,HTMLMenuElement:!1,HTMLMetaElement:!1,HTMLModElement:!1,HTMLObjectElement:!1,HTMLOListElement:!1,HTMLOptGroupElement:!1,HTMLOptionElement:!1,HTMLParagraphElement:!1,HTMLParamElement:!1,HTMLPreElement:!1,HTMLQuoteElement:!1,HTMLScriptElement:!1,HTMLSelectElement:!1,HTMLStyleElement:!1,HTMLTableCaptionElement:!1,HTMLTableCellElement:!1,HTMLTableColElement:!1,HTMLTableElement:!1,HTMLTableRowElement:!1,HTMLTableSectionElement:!1,HTMLTemplateElement:!1,HTMLTextAreaElement:!1,HTMLTitleElement:!1,HTMLUListElement:!1,HTMLVideoElement:!1,history:!1,Image:!1,Intl:!1,length:!1,localStorage:!1,location:!1,matchMedia:!1,MessageChannel:!1,MessageEvent:!1,MessagePort:!1,MouseEvent:!1,moveBy:!1,moveTo:!1,MutationObserver:!1,name:!1,Node:!1,NodeFilter:!1,NodeList:!1,Notification:!1,navigator:!1,onbeforeunload:!0,onblur:!0,onerror:!0,onfocus:!0,onload:!0,onresize:!0,onunload:!0,open:!1,openDatabase:!1,opener:!1,Option:!1,parent:!1,performance:!1,print:!1,Range:!1,requestAnimationFrame:!1,removeEventListener:!1,resizeBy:!1,resizeTo:!1,screen:!1,scroll:!1,scrollBy:!1,scrollTo:!1,sessionStorage:!1,setInterval:!1,setTimeout:!1,SharedWorker:!1,status:!1,SVGAElement:!1,SVGAltGlyphDefElement:!1,SVGAltGlyphElement:!1,SVGAltGlyphItemElement:!1,SVGAngle:!1,SVGAnimateColorElement:!1,SVGAnimateElement:!1,SVGAnimateMotionElement:!1,SVGAnimateTransformElement:!1,SVGAnimatedAngle:!1,SVGAnimatedBoolean:!1,SVGAnimatedEnumeration:!1,SVGAnimatedInteger:!1,SVGAnimatedLength:!1,SVGAnimatedLengthList:!1,SVGAnimatedNumber:!1,SVGAnimatedNumberList:!1,SVGAnimatedPathData:!1,SVGAnimatedPoints:!1,SVGAnimatedPreserveAspectRatio:!1,SVGAnimatedRect:!1,SVGAnimatedString:!1,SVGAnimatedTransformList:!1,SVGAnimationElement:!1,SVGCSSRule:!1,SVGCircleElement:!1,SVGClipPathElement:!1,SVGColor:!1,SVGColorProfileElement:!1,SVGColorProfileRule:!1,SVGComponentTransferFunctionElement:!1,SVGCursorElement:!1,SVGDefsElement:!1,SVGDescElement:!1,SVGDocument:!1,SVGElement:!1,SVGElementInstance:!1,SVGElementInstanceList:!1,SVGEllipseElement:!1,SVGExternalResourcesRequired:!1,SVGFEBlendElement:!1,SVGFEColorMatrixElement:!1,SVGFEComponentTransferElement:!1,SVGFECompositeElement:!1,SVGFEConvolveMatrixElement:!1,SVGFEDiffuseLightingElement:!1,SVGFEDisplacementMapElement:!1,SVGFEDistantLightElement:!1,SVGFEFloodElement:!1,SVGFEFuncAElement:!1,SVGFEFuncBElement:!1,SVGFEFuncGElement:!1,SVGFEFuncRElement:!1,SVGFEGaussianBlurElement:!1,SVGFEImageElement:!1,SVGFEMergeElement:!1,SVGFEMergeNodeElement:!1,SVGFEMorphologyElement:!1,SVGFEOffsetElement:!1,SVGFEPointLightElement:!1,SVGFESpecularLightingElement:!1,SVGFESpotLightElement:!1,SVGFETileElement:!1,SVGFETurbulenceElement:!1,SVGFilterElement:!1,SVGFilterPrimitiveStandardAttributes:!1,SVGFitToViewBox:!1,SVGFontElement:!1,SVGFontFaceElement:!1,SVGFontFaceFormatElement:!1,SVGFontFaceNameElement:!1,SVGFontFaceSrcElement:!1,SVGFontFaceUriElement:!1,SVGForeignObjectElement:!1,SVGGElement:!1,SVGGlyphElement:!1,SVGGlyphRefElement:!1,SVGGradientElement:!1,SVGHKernElement:!1,SVGICCColor:!1,SVGImageElement:!1,SVGLangSpace:!1,SVGLength:!1,SVGLengthList:!1,SVGLineElement:!1,SVGLinearGradientElement:!1,SVGLocatable:!1,SVGMPathElement:!1,SVGMarkerElement:!1,SVGMaskElement:!1,SVGMatrix:!1,SVGMetadataElement:!1,SVGMissingGlyphElement:!1,SVGNumber:!1,SVGNumberList:!1,SVGPaint:!1,SVGPathElement:!1,SVGPathSeg:!1,SVGPathSegArcAbs:!1,SVGPathSegArcRel:!1,SVGPathSegClosePath:!1,SVGPathSegCurvetoCubicAbs:!1,SVGPathSegCurvetoCubicRel:!1,SVGPathSegCurvetoCubicSmoothAbs:!1,SVGPathSegCurvetoCubicSmoothRel:!1,SVGPathSegCurvetoQuadraticAbs:!1,SVGPathSegCurvetoQuadraticRel:!1,SVGPathSegCurvetoQuadraticSmoothAbs:!1,SVGPathSegCurvetoQuadraticSmoothRel:!1,SVGPathSegLinetoAbs:!1,SVGPathSegLinetoHorizontalAbs:!1,SVGPathSegLinetoHorizontalRel:!1,SVGPathSegLinetoRel:!1,SVGPathSegLinetoVerticalAbs:!1,SVGPathSegLinetoVerticalRel:!1,SVGPathSegList:!1,SVGPathSegMovetoAbs:!1,SVGPathSegMovetoRel:!1,SVGPatternElement:!1,SVGPoint:!1,SVGPointList:!1,SVGPolygonElement:!1,SVGPolylineElement:!1,SVGPreserveAspectRatio:!1,SVGRadialGradientElement:!1,SVGRect:!1,SVGRectElement:!1,SVGRenderingIntent:!1,SVGSVGElement:!1,SVGScriptElement:!1,SVGSetElement:!1,SVGStopElement:!1,SVGStringList:!1,SVGStylable:!1,SVGStyleElement:!1,SVGSwitchElement:!1,SVGSymbolElement:!1,SVGTRefElement:!1,SVGTSpanElement:!1,SVGTests:!1,SVGTextContentElement:!1,SVGTextElement:!1,SVGTextPathElement:!1,SVGTextPositioningElement:!1,SVGTitleElement:!1,SVGTransform:!1,SVGTransformList:!1,SVGTransformable:!1,SVGURIReference:!1,SVGUnitTypes:!1,SVGUseElement:!1,SVGVKernElement:!1,SVGViewElement:!1,SVGViewSpec:!1,SVGZoomAndPan:!1,Text:!1,TextDecoder:!1,TextEncoder:!1,TimeEvent:!1,top:!1,URL:!1,WebGLActiveInfo:!1,WebGLBuffer:!1,WebGLContextEvent:!1,WebGLFramebuffer:!1,WebGLProgram:!1,WebGLRenderbuffer:!1,WebGLRenderingContext:!1,WebGLShader:!1,WebGLShaderPrecisionFormat:!1,WebGLTexture:!1,WebGLUniformLocation:!1,WebSocket:!1,window:!1,Window:!1,Worker:!1,XDomainRequest:!1,XMLHttpRequest:!1,XMLSerializer:!1,XPathEvaluator:!1,XPathException:!1,XPathExpression:!1,XPathNamespace:!1,XPathNSResolver:!1,XPathResult:!1},exports.devel={alert:!1,confirm:!1,console:!1,Debug:!1,opera:!1,prompt:!1},exports.worker={importScripts:!0,postMessage:!0,self:!0,FileReaderSync:!0},exports.nonstandard={escape:!1,unescape:!1},exports.couch={require:!1,respond:!1,getRow:!1,emit:!1,send:!1,start:!1,sum:!1,log:!1,exports:!1,module:!1,provides:!1},exports.node={__filename:!1,__dirname:!1,GLOBAL:!1,global:!1,module:!1,acequire:!1,Buffer:!0,console:!0,exports:!0,process:!0,setTimeout:!0,clearTimeout:!0,setInterval:!0,clearInterval:!0,setImmediate:!0,clearImmediate:!0},exports.browserify={__filename:!1,__dirname:!1,global:!1,module:!1,acequire:!1,Buffer:!0,exports:!0,process:!0},exports.phantom={phantom:!0,acequire:!0,WebPage:!0,console:!0,exports:!0},exports.qunit={asyncTest:!1,deepEqual:!1,equal:!1,expect:!1,module:!1,notDeepEqual:!1,notEqual:!1,notPropEqual:!1,notStrictEqual:!1,ok:!1,propEqual:!1,QUnit:!1,raises:!1,start:!1,stop:!1,strictEqual:!1,test:!1,\"throws\":!1},exports.rhino={defineClass:!1,deserialize:!1,gc:!1,help:!1,importClass:!1,importPackage:!1,java:!1,load:!1,loadClass:!1,Packages:!1,print:!1,quit:!1,readFile:!1,readUrl:!1,runCommand:!1,seal:!1,serialize:!1,spawn:!1,sync:!1,toint32:!1,version:!1},exports.shelljs={target:!1,echo:!1,exit:!1,cd:!1,pwd:!1,ls:!1,find:!1,cp:!1,rm:!1,mv:!1,mkdir:!1,test:!1,cat:!1,sed:!1,grep:!1,which:!1,dirs:!1,pushd:!1,popd:!1,env:!1,exec:!1,chmod:!1,config:!1,error:!1,tempdir:!1},exports.typed={ArrayBuffer:!1,ArrayBufferView:!1,DataView:!1,Float32Array:!1,Float64Array:!1,Int16Array:!1,Int32Array:!1,Int8Array:!1,Uint16Array:!1,Uint32Array:!1,Uint8Array:!1,Uint8ClampedArray:!1},exports.wsh={ActiveXObject:!0,Enumerator:!0,GetObject:!0,ScriptEngine:!0,ScriptEngineBuildVersion:!0,ScriptEngineMajorVersion:!0,ScriptEngineMinorVersion:!0,VBArray:!0,WSH:!0,WScript:!0,XDomainRequest:!0},exports.dojo={dojo:!1,dijit:!1,dojox:!1,define:!1,require:!1},exports.jquery={$:!1,jQuery:!1},exports.mootools={$:!1,$$:!1,Asset:!1,Browser:!1,Chain:!1,Class:!1,Color:!1,Cookie:!1,Core:!1,Document:!1,DomReady:!1,DOMEvent:!1,DOMReady:!1,Drag:!1,Element:!1,Elements:!1,Event:!1,Events:!1,Fx:!1,Group:!1,Hash:!1,HtmlTable:!1,IFrame:!1,IframeShim:!1,InputValidator:!1,instanceOf:!1,Keyboard:!1,Locale:!1,Mask:!1,MooTools:!1,Native:!1,Options:!1,OverText:!1,Request:!1,Scroller:!1,Slick:!1,Slider:!1,Sortables:!1,Spinner:!1,Swiff:!1,Tips:!1,Type:!1,typeOf:!1,URI:!1,Window:!1},exports.prototypejs={$:!1,$$:!1,$A:!1,$F:!1,$H:!1,$R:!1,$break:!1,$continue:!1,$w:!1,Abstract:!1,Ajax:!1,Class:!1,Enumerable:!1,Element:!1,Event:!1,Field:!1,Form:!1,Hash:!1,Insertion:!1,ObjectRange:!1,PeriodicalExecuter:!1,Position:!1,Prototype:!1,Selector:!1,Template:!1,Toggle:!1,Try:!1,Autocompleter:!1,Builder:!1,Control:!1,Draggable:!1,Draggables:!1,Droppables:!1,Effect:!1,Sortable:!1,SortableObserver:!1,Sound:!1,Scriptaculous:!1},exports.yui={YUI:!1,Y:!1,YUI_config:!1},exports.mocha={mocha:!1,describe:!1,xdescribe:!1,it:!1,xit:!1,context:!1,xcontext:!1,before:!1,after:!1,beforeEach:!1,afterEach:!1,suite:!1,test:!1,setup:!1,teardown:!1,suiteSetup:!1,suiteTeardown:!1},exports.jasmine={jasmine:!1,describe:!1,xdescribe:!1,it:!1,xit:!1,beforeEach:!1,afterEach:!1,setFixtures:!1,loadFixtures:!1,spyOn:!1,expect:!1,runs:!1,waitsFor:!1,waits:!1,beforeAll:!1,afterAll:!1,fail:!1,fdescribe:!1,fit:!1,pending:!1}},{}]},{},[\"/node_modules/jshint/src/jshint.js\"])}),ace.define(\"ace/mode/javascript_worker\",[\"require\",\"exports\",\"module\",\"ace/lib/oop\",\"ace/worker/mirror\",\"ace/mode/javascript/jshint\"],function(acequire,exports,module){\"use strict\";function startRegex(arr){return RegExp(\"^(\"+arr.join(\"|\")+\")\")}var oop=acequire(\"../lib/oop\"),Mirror=acequire(\"../worker/mirror\").Mirror,lint=acequire(\"./javascript/jshint\").JSHINT,disabledWarningsRe=startRegex([\"Bad for in variable '(.+)'.\",'Missing \"use strict\"']),errorsRe=startRegex([\"Unexpected\",\"Expected \",\"Confusing (plus|minus)\",\"\\\\{a\\\\} unterminated regular expression\",\"Unclosed \",\"Unmatched \",\"Unbegun comment\",\"Bad invocation\",\"Missing space after\",\"Missing operator at\"]),infoRe=startRegex([\"Expected an assignment\",\"Bad escapement of EOL\",\"Unexpected comma\",\"Unexpected space\",\"Missing radix parameter.\",\"A leading decimal point can\",\"\\\\['{a}'\\\\] is better written in dot notation.\",\"'{a}' used out of scope\"]),JavaScriptWorker=exports.JavaScriptWorker=function(sender){Mirror.call(this,sender),this.setTimeout(500),this.setOptions()};oop.inherits(JavaScriptWorker,Mirror),function(){this.setOptions=function(options){this.options=options||{esnext:!0,moz:!0,devel:!0,browser:!0,node:!0,laxcomma:!0,laxbreak:!0,lastsemic:!0,onevar:!1,passfail:!1,maxerr:100,expr:!0,multistr:!0,globalstrict:!0},this.doc.getValue()&&this.deferredUpdate.schedule(100)},this.changeOptions=function(newOptions){oop.mixin(this.options,newOptions),this.doc.getValue()&&this.deferredUpdate.schedule(100)},this.isValidJS=function(str){try{eval(\"throw 0;\"+str)}catch(e){if(0===e)return!0}return!1},this.onUpdate=function(){var value=this.doc.getValue();if(value=value.replace(/^#!.*\\n/,\"\\n\"),!value)return this.sender.emit(\"annotate\",[]);var errors=[],maxErrorLevel=this.isValidJS(value)?\"warning\":\"error\";lint(value,this.options,this.options.globals);for(var results=lint.errors,errorAdded=!1,i=0;results.length>i;i++){var error=results[i];if(error){var raw=error.raw,type=\"warning\";if(\"Missing semicolon.\"==raw){var str=error.evidence.substr(error.character);str=str.charAt(str.search(/\\S/)),\"error\"==maxErrorLevel&&str&&/[\\w\\d{(['\"]/.test(str)?(error.reason='Missing \";\" before statement',type=\"error\"):type=\"info\"}else{if(disabledWarningsRe.test(raw))continue;infoRe.test(raw)?type=\"info\":errorsRe.test(raw)?(errorAdded=!0,type=maxErrorLevel):\"'{a}' is not defined.\"==raw?type=\"warning\":\"'{a}' is defined but never used.\"==raw&&(type=\"info\")}errors.push({row:error.line-1,column:error.character-1,text:error.reason,type:type,raw:raw})}}this.sender.emit(\"annotate\",errors)}}.call(JavaScriptWorker.prototype)}),ace.define(\"ace/lib/es5-shim\",[\"require\",\"exports\",\"module\"],function(){function Empty(){}function doesDefinePropertyWork(object){try{return Object.defineProperty(object,\"sentinel\",{}),\"sentinel\"in object}catch(exception){}}function toInteger(n){return n=+n,n!==n?n=0:0!==n&&n!==1/0&&n!==-(1/0)&&(n=(n>0||-1)*Math.floor(Math.abs(n))),n}Function.prototype.bind||(Function.prototype.bind=function(that){var target=this;if(\"function\"!=typeof target)throw new TypeError(\"Function.prototype.bind called on incompatible \"+target);var args=slice.call(arguments,1),bound=function(){if(this instanceof bound){var result=target.apply(this,args.concat(slice.call(arguments)));return Object(result)===result?result:this}return target.apply(that,args.concat(slice.call(arguments)))};return target.prototype&&(Empty.prototype=target.prototype,bound.prototype=new Empty,Empty.prototype=null),bound});var defineGetter,defineSetter,lookupGetter,lookupSetter,supportsAccessors,call=Function.prototype.call,prototypeOfArray=Array.prototype,prototypeOfObject=Object.prototype,slice=prototypeOfArray.slice,_toString=call.bind(prototypeOfObject.toString),owns=call.bind(prototypeOfObject.hasOwnProperty);if((supportsAccessors=owns(prototypeOfObject,\"__defineGetter__\"))&&(defineGetter=call.bind(prototypeOfObject.__defineGetter__),defineSetter=call.bind(prototypeOfObject.__defineSetter__),lookupGetter=call.bind(prototypeOfObject.__lookupGetter__),lookupSetter=call.bind(prototypeOfObject.__lookupSetter__)),2!=[1,2].splice(0).length)if(function(){function makeArray(l){var a=Array(l+2);return a[0]=a[1]=0,a}var lengthBefore,array=[];return array.splice.apply(array,makeArray(20)),array.splice.apply(array,makeArray(26)),lengthBefore=array.length,array.splice(5,0,\"XXX\"),lengthBefore+1==array.length,lengthBefore+1==array.length?!0:void 0}()){var array_splice=Array.prototype.splice;Array.prototype.splice=function(start,deleteCount){return arguments.length?array_splice.apply(this,[void 0===start?0:start,void 0===deleteCount?this.length-start:deleteCount].concat(slice.call(arguments,2))):[]}}else Array.prototype.splice=function(pos,removeCount){var length=this.length;pos>0?pos>length&&(pos=length):void 0==pos?pos=0:0>pos&&(pos=Math.max(length+pos,0)),length>pos+removeCount||(removeCount=length-pos);var removed=this.slice(pos,pos+removeCount),insert=slice.call(arguments,2),add=insert.length;if(pos===length)add&&this.push.apply(this,insert);else{var remove=Math.min(removeCount,length-pos),tailOldPos=pos+remove,tailNewPos=tailOldPos+add-remove,tailCount=length-tailOldPos,lengthAfterRemove=length-remove;if(tailOldPos>tailNewPos)for(var i=0;tailCount>i;++i)this[tailNewPos+i]=this[tailOldPos+i];else if(tailNewPos>tailOldPos)for(i=tailCount;i--;)this[tailNewPos+i]=this[tailOldPos+i];if(add&&pos===lengthAfterRemove)this.length=lengthAfterRemove,this.push.apply(this,insert);else for(this.length=lengthAfterRemove+add,i=0;add>i;++i)this[pos+i]=insert[i]}return removed};Array.isArray||(Array.isArray=function(obj){return\"[object Array]\"==_toString(obj)});var boxedString=Object(\"a\"),splitString=\"a\"!=boxedString[0]||!(0 in boxedString);if(Array.prototype.forEach||(Array.prototype.forEach=function(fun){var object=toObject(this),self=splitString&&\"[object String]\"==_toString(this)?this.split(\"\"):object,thisp=arguments[1],i=-1,length=self.length>>>0;if(\"[object Function]\"!=_toString(fun))throw new TypeError;for(;length>++i;)i in self&&fun.call(thisp,self[i],i,object)}),Array.prototype.map||(Array.prototype.map=function(fun){var object=toObject(this),self=splitString&&\"[object String]\"==_toString(this)?this.split(\"\"):object,length=self.length>>>0,result=Array(length),thisp=arguments[1];if(\"[object Function]\"!=_toString(fun))throw new TypeError(fun+\" is not a function\");for(var i=0;length>i;i++)i in self&&(result[i]=fun.call(thisp,self[i],i,object));return result}),Array.prototype.filter||(Array.prototype.filter=function(fun){var value,object=toObject(this),self=splitString&&\"[object String]\"==_toString(this)?this.split(\"\"):object,length=self.length>>>0,result=[],thisp=arguments[1];if(\"[object Function]\"!=_toString(fun))throw new TypeError(fun+\" is not a function\");for(var i=0;length>i;i++)i in self&&(value=self[i],fun.call(thisp,value,i,object)&&result.push(value));return result}),Array.prototype.every||(Array.prototype.every=function(fun){var object=toObject(this),self=splitString&&\"[object String]\"==_toString(this)?this.split(\"\"):object,length=self.length>>>0,thisp=arguments[1];if(\"[object Function]\"!=_toString(fun))throw new TypeError(fun+\" is not a function\");for(var i=0;length>i;i++)if(i in self&&!fun.call(thisp,self[i],i,object))return!1;return!0}),Array.prototype.some||(Array.prototype.some=function(fun){var object=toObject(this),self=splitString&&\"[object String]\"==_toString(this)?this.split(\"\"):object,length=self.length>>>0,thisp=arguments[1];if(\"[object Function]\"!=_toString(fun))throw new TypeError(fun+\" is not a function\");for(var i=0;length>i;i++)if(i in self&&fun.call(thisp,self[i],i,object))return!0;return!1}),Array.prototype.reduce||(Array.prototype.reduce=function(fun){var object=toObject(this),self=splitString&&\"[object String]\"==_toString(this)?this.split(\"\"):object,length=self.length>>>0;if(\"[object Function]\"!=_toString(fun))throw new TypeError(fun+\" is not a function\");if(!length&&1==arguments.length)throw new TypeError(\"reduce of empty array with no initial value\");var result,i=0;if(arguments.length>=2)result=arguments[1];else for(;;){if(i in self){result=self[i++];break}if(++i>=length)throw new TypeError(\"reduce of empty array with no initial value\")}for(;length>i;i++)i in self&&(result=fun.call(void 0,result,self[i],i,object));return result}),Array.prototype.reduceRight||(Array.prototype.reduceRight=function(fun){var object=toObject(this),self=splitString&&\"[object String]\"==_toString(this)?this.split(\"\"):object,length=self.length>>>0;if(\"[object Function]\"!=_toString(fun))throw new TypeError(fun+\" is not a function\");if(!length&&1==arguments.length)throw new TypeError(\"reduceRight of empty array with no initial value\");var result,i=length-1;if(arguments.length>=2)result=arguments[1];else for(;;){if(i in self){result=self[i--];break}if(0>--i)throw new TypeError(\"reduceRight of empty array with no initial value\")}do i in this&&(result=fun.call(void 0,result,self[i],i,object));while(i--);return result}),Array.prototype.indexOf&&-1==[0,1].indexOf(1,2)||(Array.prototype.indexOf=function(sought){var self=splitString&&\"[object String]\"==_toString(this)?this.split(\"\"):toObject(this),length=self.length>>>0;if(!length)return-1;var i=0;for(arguments.length>1&&(i=toInteger(arguments[1])),i=i>=0?i:Math.max(0,length+i);length>i;i++)if(i in self&&self[i]===sought)return i;return-1}),Array.prototype.lastIndexOf&&-1==[0,1].lastIndexOf(0,-3)||(Array.prototype.lastIndexOf=function(sought){var self=splitString&&\"[object String]\"==_toString(this)?this.split(\"\"):toObject(this),length=self.length>>>0;if(!length)return-1;var i=length-1;for(arguments.length>1&&(i=Math.min(i,toInteger(arguments[1]))),i=i>=0?i:length-Math.abs(i);i>=0;i--)if(i in self&&sought===self[i])return i;return-1}),Object.getPrototypeOf||(Object.getPrototypeOf=function(object){return object.__proto__||(object.constructor?object.constructor.prototype:prototypeOfObject)}),!Object.getOwnPropertyDescriptor){var ERR_NON_OBJECT=\"Object.getOwnPropertyDescriptor called on a non-object: \";Object.getOwnPropertyDescriptor=function(object,property){if(\"object\"!=typeof object&&\"function\"!=typeof object||null===object)throw new TypeError(ERR_NON_OBJECT+object);if(owns(object,property)){var descriptor,getter,setter;if(descriptor={enumerable:!0,configurable:!0},supportsAccessors){var prototype=object.__proto__;object.__proto__=prototypeOfObject;var getter=lookupGetter(object,property),setter=lookupSetter(object,property);if(object.__proto__=prototype,getter||setter)return getter&&(descriptor.get=getter),setter&&(descriptor.set=setter),descriptor}return descriptor.value=object[property],descriptor}}}if(Object.getOwnPropertyNames||(Object.getOwnPropertyNames=function(object){return Object.keys(object)}),!Object.create){var createEmpty;createEmpty=null===Object.prototype.__proto__?function(){return{__proto__:null}}:function(){var empty={};for(var i in empty)empty[i]=null;return empty.constructor=empty.hasOwnProperty=empty.propertyIsEnumerable=empty.isPrototypeOf=empty.toLocaleString=empty.toString=empty.valueOf=empty.__proto__=null,empty},Object.create=function(prototype,properties){var object;if(null===prototype)object=createEmpty();else{if(\"object\"!=typeof prototype)throw new TypeError(\"typeof prototype[\"+typeof prototype+\"] != 'object'\");var Type=function(){};Type.prototype=prototype,object=new Type,object.__proto__=prototype}return void 0!==properties&&Object.defineProperties(object,properties),object}}if(Object.defineProperty){var definePropertyWorksOnObject=doesDefinePropertyWork({}),definePropertyWorksOnDom=\"undefined\"==typeof document||doesDefinePropertyWork(document.createElement(\"div\"));if(!definePropertyWorksOnObject||!definePropertyWorksOnDom)var definePropertyFallback=Object.defineProperty}if(!Object.defineProperty||definePropertyFallback){var ERR_NON_OBJECT_DESCRIPTOR=\"Property description must be an object: \",ERR_NON_OBJECT_TARGET=\"Object.defineProperty called on non-object: \",ERR_ACCESSORS_NOT_SUPPORTED=\"getters & setters can not be defined on this javascript engine\";Object.defineProperty=function(object,property,descriptor){if(\"object\"!=typeof object&&\"function\"!=typeof object||null===object)throw new TypeError(ERR_NON_OBJECT_TARGET+object);if(\"object\"!=typeof descriptor&&\"function\"!=typeof descriptor||null===descriptor)throw new TypeError(ERR_NON_OBJECT_DESCRIPTOR+descriptor);if(definePropertyFallback)try{return definePropertyFallback.call(Object,object,property,descriptor)}catch(exception){}if(owns(descriptor,\"value\"))if(supportsAccessors&&(lookupGetter(object,property)||lookupSetter(object,property))){var prototype=object.__proto__;object.__proto__=prototypeOfObject,delete object[property],object[property]=descriptor.value,object.__proto__=prototype}else object[property]=descriptor.value;else{if(!supportsAccessors)throw new TypeError(ERR_ACCESSORS_NOT_SUPPORTED);owns(descriptor,\"get\")&&defineGetter(object,property,descriptor.get),owns(descriptor,\"set\")&&defineSetter(object,property,descriptor.set)}return object}}Object.defineProperties||(Object.defineProperties=function(object,properties){for(var property in properties)owns(properties,property)&&Object.defineProperty(object,property,properties[property]);return object}),Object.seal||(Object.seal=function(object){return object}),Object.freeze||(Object.freeze=function(object){return object});try{Object.freeze(function(){})}catch(exception){Object.freeze=function(freezeObject){return function(object){return\"function\"==typeof object?object:freezeObject(object)}}(Object.freeze)}if(Object.preventExtensions||(Object.preventExtensions=function(object){return object}),Object.isSealed||(Object.isSealed=function(){return!1}),Object.isFrozen||(Object.isFrozen=function(){return!1}),Object.isExtensible||(Object.isExtensible=function(object){if(Object(object)===object)throw new TypeError;for(var name=\"\";owns(object,name);)name+=\"?\";object[name]=!0;var returnValue=owns(object,name);return delete object[name],returnValue}),!Object.keys){var hasDontEnumBug=!0,dontEnums=[\"toString\",\"toLocaleString\",\"valueOf\",\"hasOwnProperty\",\"isPrototypeOf\",\"propertyIsEnumerable\",\"constructor\"],dontEnumsLength=dontEnums.length;for(var key in{toString:null})hasDontEnumBug=!1;Object.keys=function(object){if(\"object\"!=typeof object&&\"function\"!=typeof object||null===object)throw new TypeError(\"Object.keys called on a non-object\");var keys=[];for(var name in object)owns(object,name)&&keys.push(name);if(hasDontEnumBug)for(var i=0,ii=dontEnumsLength;ii>i;i++){var dontEnum=dontEnums[i];owns(object,dontEnum)&&keys.push(dontEnum)}return keys}}Date.now||(Date.now=function(){return(new Date).getTime()});var ws=\"\t\\n\u000b\\f\\r   ᠎              \\u2028\\u2029\";if(!String.prototype.trim||ws.trim()){ws=\"[\"+ws+\"]\";var trimBeginRegexp=RegExp(\"^\"+ws+ws+\"*\"),trimEndRegexp=RegExp(ws+ws+\"*$\");String.prototype.trim=function(){return(this+\"\").replace(trimBeginRegexp,\"\").replace(trimEndRegexp,\"\")}}var toObject=function(o){if(null==o)throw new TypeError(\"can't convert \"+o+\" to object\");return Object(o)}});"; +module.exports.src = "\"no use strict\";(function(window){function resolveModuleId(id,paths){for(var testPath=id,tail=\"\";testPath;){var alias=paths[testPath];if(\"string\"==typeof alias)return alias+tail;if(alias)return alias.location.replace(/\\/*$/,\"/\")+(tail||alias.main||alias.name);if(alias===!1)return\"\";var i=testPath.lastIndexOf(\"/\");if(-1===i)break;tail=testPath.substr(i)+tail,testPath=testPath.slice(0,i)}return id}if(!(void 0!==window.window&&window.document||window.acequire&&window.define)){window.console||(window.console=function(){var msgs=Array.prototype.slice.call(arguments,0);postMessage({type:\"log\",data:msgs})},window.console.error=window.console.warn=window.console.log=window.console.trace=window.console),window.window=window,window.ace=window,window.onerror=function(message,file,line,col,err){postMessage({type:\"error\",data:{message:message,data:err.data,file:file,line:line,col:col,stack:err.stack}})},window.normalizeModule=function(parentId,moduleName){if(-1!==moduleName.indexOf(\"!\")){var chunks=moduleName.split(\"!\");return window.normalizeModule(parentId,chunks[0])+\"!\"+window.normalizeModule(parentId,chunks[1])}if(\".\"==moduleName.charAt(0)){var base=parentId.split(\"/\").slice(0,-1).join(\"/\");for(moduleName=(base?base+\"/\":\"\")+moduleName;-1!==moduleName.indexOf(\".\")&&previous!=moduleName;){var previous=moduleName;moduleName=moduleName.replace(/^\\.\\//,\"\").replace(/\\/\\.\\//,\"/\").replace(/[^\\/]+\\/\\.\\.\\//,\"\")}}return moduleName},window.acequire=function acequire(parentId,id){if(id||(id=parentId,parentId=null),!id.charAt)throw Error(\"worker.js acequire() accepts only (parentId, id) as arguments\");id=window.normalizeModule(parentId,id);var module=window.acequire.modules[id];if(module)return module.initialized||(module.initialized=!0,module.exports=module.factory().exports),module.exports;if(!window.acequire.tlns)return console.log(\"unable to load \"+id);var path=resolveModuleId(id,window.acequire.tlns);return\".js\"!=path.slice(-3)&&(path+=\".js\"),window.acequire.id=id,window.acequire.modules[id]={},importScripts(path),window.acequire(parentId,id)},window.acequire.modules={},window.acequire.tlns={},window.define=function(id,deps,factory){if(2==arguments.length?(factory=deps,\"string\"!=typeof id&&(deps=id,id=window.acequire.id)):1==arguments.length&&(factory=id,deps=[],id=window.acequire.id),\"function\"!=typeof factory)return window.acequire.modules[id]={exports:factory,initialized:!0},void 0;deps.length||(deps=[\"require\",\"exports\",\"module\"]);var req=function(childId){return window.acequire(id,childId)};window.acequire.modules[id]={exports:{},factory:function(){var module=this,returnExports=factory.apply(this,deps.map(function(dep){switch(dep){case\"require\":return req;case\"exports\":return module.exports;case\"module\":return module;default:return req(dep)}}));return returnExports&&(module.exports=returnExports),module}}},window.define.amd={},acequire.tlns={},window.initBaseUrls=function(topLevelNamespaces){for(var i in topLevelNamespaces)acequire.tlns[i]=topLevelNamespaces[i]},window.initSender=function(){var EventEmitter=window.acequire(\"ace/lib/event_emitter\").EventEmitter,oop=window.acequire(\"ace/lib/oop\"),Sender=function(){};return function(){oop.implement(this,EventEmitter),this.callback=function(data,callbackId){postMessage({type:\"call\",id:callbackId,data:data})},this.emit=function(name,data){postMessage({type:\"event\",name:name,data:data})}}.call(Sender.prototype),new Sender};var main=window.main=null,sender=window.sender=null;window.onmessage=function(e){var msg=e.data;if(msg.event&&sender)sender._signal(msg.event,msg.data);else if(msg.command)if(main[msg.command])main[msg.command].apply(main,msg.args);else{if(!window[msg.command])throw Error(\"Unknown command:\"+msg.command);window[msg.command].apply(window,msg.args)}else if(msg.init){window.initBaseUrls(msg.tlns),acequire(\"ace/lib/es5-shim\"),sender=window.sender=window.initSender();var clazz=acequire(msg.module)[msg.classname];main=window.main=new clazz(sender)}}}})(this),ace.define(\"ace/lib/oop\",[\"require\",\"exports\",\"module\"],function(acequire,exports){\"use strict\";exports.inherits=function(ctor,superCtor){ctor.super_=superCtor,ctor.prototype=Object.create(superCtor.prototype,{constructor:{value:ctor,enumerable:!1,writable:!0,configurable:!0}})},exports.mixin=function(obj,mixin){for(var key in mixin)obj[key]=mixin[key];return obj},exports.implement=function(proto,mixin){exports.mixin(proto,mixin)}}),ace.define(\"ace/range\",[\"require\",\"exports\",\"module\"],function(acequire,exports){\"use strict\";var comparePoints=function(p1,p2){return p1.row-p2.row||p1.column-p2.column},Range=function(startRow,startColumn,endRow,endColumn){this.start={row:startRow,column:startColumn},this.end={row:endRow,column:endColumn}};(function(){this.isEqual=function(range){return this.start.row===range.start.row&&this.end.row===range.end.row&&this.start.column===range.start.column&&this.end.column===range.end.column},this.toString=function(){return\"Range: [\"+this.start.row+\"/\"+this.start.column+\"] -> [\"+this.end.row+\"/\"+this.end.column+\"]\"},this.contains=function(row,column){return 0==this.compare(row,column)},this.compareRange=function(range){var cmp,end=range.end,start=range.start;return cmp=this.compare(end.row,end.column),1==cmp?(cmp=this.compare(start.row,start.column),1==cmp?2:0==cmp?1:0):-1==cmp?-2:(cmp=this.compare(start.row,start.column),-1==cmp?-1:1==cmp?42:0)},this.comparePoint=function(p){return this.compare(p.row,p.column)},this.containsRange=function(range){return 0==this.comparePoint(range.start)&&0==this.comparePoint(range.end)},this.intersects=function(range){var cmp=this.compareRange(range);return-1==cmp||0==cmp||1==cmp},this.isEnd=function(row,column){return this.end.row==row&&this.end.column==column},this.isStart=function(row,column){return this.start.row==row&&this.start.column==column},this.setStart=function(row,column){\"object\"==typeof row?(this.start.column=row.column,this.start.row=row.row):(this.start.row=row,this.start.column=column)},this.setEnd=function(row,column){\"object\"==typeof row?(this.end.column=row.column,this.end.row=row.row):(this.end.row=row,this.end.column=column)},this.inside=function(row,column){return 0==this.compare(row,column)?this.isEnd(row,column)||this.isStart(row,column)?!1:!0:!1},this.insideStart=function(row,column){return 0==this.compare(row,column)?this.isEnd(row,column)?!1:!0:!1},this.insideEnd=function(row,column){return 0==this.compare(row,column)?this.isStart(row,column)?!1:!0:!1},this.compare=function(row,column){return this.isMultiLine()||row!==this.start.row?this.start.row>row?-1:row>this.end.row?1:this.start.row===row?column>=this.start.column?0:-1:this.end.row===row?this.end.column>=column?0:1:0:this.start.column>column?-1:column>this.end.column?1:0},this.compareStart=function(row,column){return this.start.row==row&&this.start.column==column?-1:this.compare(row,column)},this.compareEnd=function(row,column){return this.end.row==row&&this.end.column==column?1:this.compare(row,column)},this.compareInside=function(row,column){return this.end.row==row&&this.end.column==column?1:this.start.row==row&&this.start.column==column?-1:this.compare(row,column)},this.clipRows=function(firstRow,lastRow){if(this.end.row>lastRow)var end={row:lastRow+1,column:0};else if(firstRow>this.end.row)var end={row:firstRow,column:0};if(this.start.row>lastRow)var start={row:lastRow+1,column:0};else if(firstRow>this.start.row)var start={row:firstRow,column:0};return Range.fromPoints(start||this.start,end||this.end)},this.extend=function(row,column){var cmp=this.compare(row,column);if(0==cmp)return this;if(-1==cmp)var start={row:row,column:column};else var end={row:row,column:column};return Range.fromPoints(start||this.start,end||this.end)},this.isEmpty=function(){return this.start.row===this.end.row&&this.start.column===this.end.column},this.isMultiLine=function(){return this.start.row!==this.end.row},this.clone=function(){return Range.fromPoints(this.start,this.end)},this.collapseRows=function(){return 0==this.end.column?new Range(this.start.row,0,Math.max(this.start.row,this.end.row-1),0):new Range(this.start.row,0,this.end.row,0)},this.toScreenRange=function(session){var screenPosStart=session.documentToScreenPosition(this.start),screenPosEnd=session.documentToScreenPosition(this.end);return new Range(screenPosStart.row,screenPosStart.column,screenPosEnd.row,screenPosEnd.column)},this.moveBy=function(row,column){this.start.row+=row,this.start.column+=column,this.end.row+=row,this.end.column+=column}}).call(Range.prototype),Range.fromPoints=function(start,end){return new Range(start.row,start.column,end.row,end.column)},Range.comparePoints=comparePoints,Range.comparePoints=function(p1,p2){return p1.row-p2.row||p1.column-p2.column},exports.Range=Range}),ace.define(\"ace/apply_delta\",[\"require\",\"exports\",\"module\"],function(acequire,exports){\"use strict\";exports.applyDelta=function(docLines,delta){var row=delta.start.row,startColumn=delta.start.column,line=docLines[row]||\"\";switch(delta.action){case\"insert\":var lines=delta.lines;if(1===lines.length)docLines[row]=line.substring(0,startColumn)+delta.lines[0]+line.substring(startColumn);else{var args=[row,1].concat(delta.lines);docLines.splice.apply(docLines,args),docLines[row]=line.substring(0,startColumn)+docLines[row],docLines[row+delta.lines.length-1]+=line.substring(startColumn)}break;case\"remove\":var endColumn=delta.end.column,endRow=delta.end.row;row===endRow?docLines[row]=line.substring(0,startColumn)+line.substring(endColumn):docLines.splice(row,endRow-row+1,line.substring(0,startColumn)+docLines[endRow].substring(endColumn))}}}),ace.define(\"ace/lib/event_emitter\",[\"require\",\"exports\",\"module\"],function(acequire,exports){\"use strict\";var EventEmitter={},stopPropagation=function(){this.propagationStopped=!0},preventDefault=function(){this.defaultPrevented=!0};EventEmitter._emit=EventEmitter._dispatchEvent=function(eventName,e){this._eventRegistry||(this._eventRegistry={}),this._defaultHandlers||(this._defaultHandlers={});var listeners=this._eventRegistry[eventName]||[],defaultHandler=this._defaultHandlers[eventName];if(listeners.length||defaultHandler){\"object\"==typeof e&&e||(e={}),e.type||(e.type=eventName),e.stopPropagation||(e.stopPropagation=stopPropagation),e.preventDefault||(e.preventDefault=preventDefault),listeners=listeners.slice();for(var i=0;listeners.length>i&&(listeners[i](e,this),!e.propagationStopped);i++);return defaultHandler&&!e.defaultPrevented?defaultHandler(e,this):void 0}},EventEmitter._signal=function(eventName,e){var listeners=(this._eventRegistry||{})[eventName];if(listeners){listeners=listeners.slice();for(var i=0;listeners.length>i;i++)listeners[i](e,this)}},EventEmitter.once=function(eventName,callback){var _self=this;callback&&this.addEventListener(eventName,function newCallback(){_self.removeEventListener(eventName,newCallback),callback.apply(null,arguments)})},EventEmitter.setDefaultHandler=function(eventName,callback){var handlers=this._defaultHandlers;if(handlers||(handlers=this._defaultHandlers={_disabled_:{}}),handlers[eventName]){var old=handlers[eventName],disabled=handlers._disabled_[eventName];disabled||(handlers._disabled_[eventName]=disabled=[]),disabled.push(old);var i=disabled.indexOf(callback);-1!=i&&disabled.splice(i,1)}handlers[eventName]=callback},EventEmitter.removeDefaultHandler=function(eventName,callback){var handlers=this._defaultHandlers;if(handlers){var disabled=handlers._disabled_[eventName];if(handlers[eventName]==callback)handlers[eventName],disabled&&this.setDefaultHandler(eventName,disabled.pop());else if(disabled){var i=disabled.indexOf(callback);-1!=i&&disabled.splice(i,1)}}},EventEmitter.on=EventEmitter.addEventListener=function(eventName,callback,capturing){this._eventRegistry=this._eventRegistry||{};var listeners=this._eventRegistry[eventName];return listeners||(listeners=this._eventRegistry[eventName]=[]),-1==listeners.indexOf(callback)&&listeners[capturing?\"unshift\":\"push\"](callback),callback},EventEmitter.off=EventEmitter.removeListener=EventEmitter.removeEventListener=function(eventName,callback){this._eventRegistry=this._eventRegistry||{};var listeners=this._eventRegistry[eventName];if(listeners){var index=listeners.indexOf(callback);-1!==index&&listeners.splice(index,1)}},EventEmitter.removeAllListeners=function(eventName){this._eventRegistry&&(this._eventRegistry[eventName]=[])},exports.EventEmitter=EventEmitter}),ace.define(\"ace/anchor\",[\"require\",\"exports\",\"module\",\"ace/lib/oop\",\"ace/lib/event_emitter\"],function(acequire,exports){\"use strict\";var oop=acequire(\"./lib/oop\"),EventEmitter=acequire(\"./lib/event_emitter\").EventEmitter,Anchor=exports.Anchor=function(doc,row,column){this.$onChange=this.onChange.bind(this),this.attach(doc),column===void 0?this.setPosition(row.row,row.column):this.setPosition(row,column)};(function(){function $pointsInOrder(point1,point2,equalPointsInOrder){var bColIsAfter=equalPointsInOrder?point1.column<=point2.column:point1.columnthis.row)){var point=$getTransformedPoint(delta,{row:this.row,column:this.column},this.$insertRight);this.setPosition(point.row,point.column,!0)}},this.setPosition=function(row,column,noClip){var pos;if(pos=noClip?{row:row,column:column}:this.$clipPositionToDocument(row,column),this.row!=pos.row||this.column!=pos.column){var old={row:this.row,column:this.column};this.row=pos.row,this.column=pos.column,this._signal(\"change\",{old:old,value:pos})}},this.detach=function(){this.document.removeEventListener(\"change\",this.$onChange)},this.attach=function(doc){this.document=doc||this.document,this.document.on(\"change\",this.$onChange)},this.$clipPositionToDocument=function(row,column){var pos={};return row>=this.document.getLength()?(pos.row=Math.max(0,this.document.getLength()-1),pos.column=this.document.getLine(pos.row).length):0>row?(pos.row=0,pos.column=0):(pos.row=row,pos.column=Math.min(this.document.getLine(pos.row).length,Math.max(0,column))),0>column&&(pos.column=0),pos}}).call(Anchor.prototype)}),ace.define(\"ace/document\",[\"require\",\"exports\",\"module\",\"ace/lib/oop\",\"ace/apply_delta\",\"ace/lib/event_emitter\",\"ace/range\",\"ace/anchor\"],function(acequire,exports){\"use strict\";var oop=acequire(\"./lib/oop\"),applyDelta=acequire(\"./apply_delta\").applyDelta,EventEmitter=acequire(\"./lib/event_emitter\").EventEmitter,Range=acequire(\"./range\").Range,Anchor=acequire(\"./anchor\").Anchor,Document=function(textOrLines){this.$lines=[\"\"],0===textOrLines.length?this.$lines=[\"\"]:Array.isArray(textOrLines)?this.insertMergedLines({row:0,column:0},textOrLines):this.insert({row:0,column:0},textOrLines)};(function(){oop.implement(this,EventEmitter),this.setValue=function(text){var len=this.getLength()-1;this.remove(new Range(0,0,len,this.getLine(len).length)),this.insert({row:0,column:0},text)},this.getValue=function(){return this.getAllLines().join(this.getNewLineCharacter())},this.createAnchor=function(row,column){return new Anchor(this,row,column)},this.$split=0===\"aaa\".split(/a/).length?function(text){return text.replace(/\\r\\n|\\r/g,\"\\n\").split(\"\\n\")}:function(text){return text.split(/\\r\\n|\\r|\\n/)},this.$detectNewLine=function(text){var match=text.match(/^.*?(\\r\\n|\\r|\\n)/m);this.$autoNewLine=match?match[1]:\"\\n\",this._signal(\"changeNewLineMode\")},this.getNewLineCharacter=function(){switch(this.$newLineMode){case\"windows\":return\"\\r\\n\";case\"unix\":return\"\\n\";default:return this.$autoNewLine||\"\\n\"}},this.$autoNewLine=\"\",this.$newLineMode=\"auto\",this.setNewLineMode=function(newLineMode){this.$newLineMode!==newLineMode&&(this.$newLineMode=newLineMode,this._signal(\"changeNewLineMode\"))},this.getNewLineMode=function(){return this.$newLineMode},this.isNewLine=function(text){return\"\\r\\n\"==text||\"\\r\"==text||\"\\n\"==text},this.getLine=function(row){return this.$lines[row]||\"\"},this.getLines=function(firstRow,lastRow){return this.$lines.slice(firstRow,lastRow+1)},this.getAllLines=function(){return this.getLines(0,this.getLength())},this.getLength=function(){return this.$lines.length},this.getTextRange=function(range){return this.getLinesForRange(range).join(this.getNewLineCharacter())},this.getLinesForRange=function(range){var lines;if(range.start.row===range.end.row)lines=[this.getLine(range.start.row).substring(range.start.column,range.end.column)];else{lines=this.getLines(range.start.row,range.end.row),lines[0]=(lines[0]||\"\").substring(range.start.column);var l=lines.length-1;range.end.row-range.start.row==l&&(lines[l]=lines[l].substring(0,range.end.column))}return lines},this.insertLines=function(row,lines){return console.warn(\"Use of document.insertLines is deprecated. Use the insertFullLines method instead.\"),this.insertFullLines(row,lines)},this.removeLines=function(firstRow,lastRow){return console.warn(\"Use of document.removeLines is deprecated. Use the removeFullLines method instead.\"),this.removeFullLines(firstRow,lastRow)},this.insertNewLine=function(position){return console.warn(\"Use of document.insertNewLine is deprecated. Use insertMergedLines(position, ['', '']) instead.\"),this.insertMergedLines(position,[\"\",\"\"])},this.insert=function(position,text){return 1>=this.getLength()&&this.$detectNewLine(text),this.insertMergedLines(position,this.$split(text))},this.insertInLine=function(position,text){var start=this.clippedPos(position.row,position.column),end=this.pos(position.row,position.column+text.length);return this.applyDelta({start:start,end:end,action:\"insert\",lines:[text]},!0),this.clonePos(end)},this.clippedPos=function(row,column){var length=this.getLength();void 0===row?row=length:0>row?row=0:row>=length&&(row=length-1,column=void 0);var line=this.getLine(row);return void 0==column&&(column=line.length),column=Math.min(Math.max(column,0),line.length),{row:row,column:column}},this.clonePos=function(pos){return{row:pos.row,column:pos.column}},this.pos=function(row,column){return{row:row,column:column}},this.$clipPosition=function(position){var length=this.getLength();return position.row>=length?(position.row=Math.max(0,length-1),position.column=this.getLine(length-1).length):(position.row=Math.max(0,position.row),position.column=Math.min(Math.max(position.column,0),this.getLine(position.row).length)),position},this.insertFullLines=function(row,lines){row=Math.min(Math.max(row,0),this.getLength());var column=0;this.getLength()>row?(lines=lines.concat([\"\"]),column=0):(lines=[\"\"].concat(lines),row--,column=this.$lines[row].length),this.insertMergedLines({row:row,column:column},lines)},this.insertMergedLines=function(position,lines){var start=this.clippedPos(position.row,position.column),end={row:start.row+lines.length-1,column:(1==lines.length?start.column:0)+lines[lines.length-1].length};return this.applyDelta({start:start,end:end,action:\"insert\",lines:lines}),this.clonePos(end)},this.remove=function(range){var start=this.clippedPos(range.start.row,range.start.column),end=this.clippedPos(range.end.row,range.end.column);return this.applyDelta({start:start,end:end,action:\"remove\",lines:this.getLinesForRange({start:start,end:end})}),this.clonePos(start)},this.removeInLine=function(row,startColumn,endColumn){var start=this.clippedPos(row,startColumn),end=this.clippedPos(row,endColumn);return this.applyDelta({start:start,end:end,action:\"remove\",lines:this.getLinesForRange({start:start,end:end})},!0),this.clonePos(start)},this.removeFullLines=function(firstRow,lastRow){firstRow=Math.min(Math.max(0,firstRow),this.getLength()-1),lastRow=Math.min(Math.max(0,lastRow),this.getLength()-1);var deleteFirstNewLine=lastRow==this.getLength()-1&&firstRow>0,deleteLastNewLine=this.getLength()-1>lastRow,startRow=deleteFirstNewLine?firstRow-1:firstRow,startCol=deleteFirstNewLine?this.getLine(startRow).length:0,endRow=deleteLastNewLine?lastRow+1:lastRow,endCol=deleteLastNewLine?0:this.getLine(endRow).length,range=new Range(startRow,startCol,endRow,endCol),deletedLines=this.$lines.slice(firstRow,lastRow+1);return this.applyDelta({start:range.start,end:range.end,action:\"remove\",lines:this.getLinesForRange(range)}),deletedLines},this.removeNewLine=function(row){this.getLength()-1>row&&row>=0&&this.applyDelta({start:this.pos(row,this.getLine(row).length),end:this.pos(row+1,0),action:\"remove\",lines:[\"\",\"\"]})},this.replace=function(range,text){if(range instanceof Range||(range=Range.fromPoints(range.start,range.end)),0===text.length&&range.isEmpty())return range.start;if(text==this.getTextRange(range))return range.end;this.remove(range);var end;return end=text?this.insert(range.start,text):range.start},this.applyDeltas=function(deltas){for(var i=0;deltas.length>i;i++)this.applyDelta(deltas[i])},this.revertDeltas=function(deltas){for(var i=deltas.length-1;i>=0;i--)this.revertDelta(deltas[i])},this.applyDelta=function(delta,doNotValidate){var isInsert=\"insert\"==delta.action;(isInsert?1>=delta.lines.length&&!delta.lines[0]:!Range.comparePoints(delta.start,delta.end))||(isInsert&&delta.lines.length>2e4&&this.$splitAndapplyLargeDelta(delta,2e4),applyDelta(this.$lines,delta,doNotValidate),this._signal(\"change\",delta))},this.$splitAndapplyLargeDelta=function(delta,MAX){for(var lines=delta.lines,l=lines.length,row=delta.start.row,column=delta.start.column,from=0,to=0;;){from=to,to+=MAX-1;var chunk=lines.slice(from,to);if(to>l){delta.lines=chunk,delta.start.row=row+from,delta.start.column=column;break}chunk.push(\"\"),this.applyDelta({start:this.pos(row+from,column),end:this.pos(row+to,column=0),action:delta.action,lines:chunk},!0)}},this.revertDelta=function(delta){this.applyDelta({start:this.clonePos(delta.start),end:this.clonePos(delta.end),action:\"insert\"==delta.action?\"remove\":\"insert\",lines:delta.lines.slice()})},this.indexToPosition=function(index,startRow){for(var lines=this.$lines||this.getAllLines(),newlineLength=this.getNewLineCharacter().length,i=startRow||0,l=lines.length;l>i;i++)if(index-=lines[i].length+newlineLength,0>index)return{row:i,column:index+lines[i].length+newlineLength};return{row:l-1,column:lines[l-1].length}},this.positionToIndex=function(pos,startRow){for(var lines=this.$lines||this.getAllLines(),newlineLength=this.getNewLineCharacter().length,index=0,row=Math.min(pos.row,lines.length),i=startRow||0;row>i;++i)index+=lines[i].length+newlineLength;return index+pos.column}}).call(Document.prototype),exports.Document=Document}),ace.define(\"ace/lib/lang\",[\"require\",\"exports\",\"module\"],function(acequire,exports){\"use strict\";exports.last=function(a){return a[a.length-1]},exports.stringReverse=function(string){return string.split(\"\").reverse().join(\"\")},exports.stringRepeat=function(string,count){for(var result=\"\";count>0;)1&count&&(result+=string),(count>>=1)&&(string+=string);return result};var trimBeginRegexp=/^\\s\\s*/,trimEndRegexp=/\\s\\s*$/;exports.stringTrimLeft=function(string){return string.replace(trimBeginRegexp,\"\")},exports.stringTrimRight=function(string){return string.replace(trimEndRegexp,\"\")},exports.copyObject=function(obj){var copy={};for(var key in obj)copy[key]=obj[key];return copy},exports.copyArray=function(array){for(var copy=[],i=0,l=array.length;l>i;i++)copy[i]=array[i]&&\"object\"==typeof array[i]?this.copyObject(array[i]):array[i];return copy},exports.deepCopy=function deepCopy(obj){if(\"object\"!=typeof obj||!obj)return obj;var copy;if(Array.isArray(obj)){copy=[];for(var key=0;obj.length>key;key++)copy[key]=deepCopy(obj[key]);return copy}if(\"[object Object]\"!==Object.prototype.toString.call(obj))return obj;copy={};for(var key in obj)copy[key]=deepCopy(obj[key]);return copy},exports.arrayToMap=function(arr){for(var map={},i=0;arr.length>i;i++)map[arr[i]]=1;return map},exports.createMap=function(props){var map=Object.create(null);for(var i in props)map[i]=props[i];return map},exports.arrayRemove=function(array,value){for(var i=0;array.length>=i;i++)value===array[i]&&array.splice(i,1)},exports.escapeRegExp=function(str){return str.replace(/([.*+?^${}()|[\\]\\/\\\\])/g,\"\\\\$1\")},exports.escapeHTML=function(str){return str.replace(/&/g,\"&\").replace(/\"/g,\""\").replace(/'/g,\"'\").replace(/i;i+=2){if(Array.isArray(data[i+1]))var d={action:\"insert\",start:data[i],lines:data[i+1]};else var d={action:\"remove\",start:data[i],end:data[i+1]};doc.applyDelta(d,!0)}return _self.$timeout?deferredUpdate.schedule(_self.$timeout):(_self.onUpdate(),void 0)})};(function(){this.$timeout=500,this.setTimeout=function(timeout){this.$timeout=timeout},this.setValue=function(value){this.doc.setValue(value),this.deferredUpdate.schedule(this.$timeout)},this.getValue=function(callbackId){this.sender.callback(this.doc.getValue(),callbackId)},this.onUpdate=function(){},this.isPending=function(){return this.deferredUpdate.isPending()}}).call(Mirror.prototype)}),ace.define(\"ace/mode/javascript/jshint\",[\"require\",\"exports\",\"module\"],function(acequire,exports,module){module.exports=function outer(modules,cache,entry){function newRequire(name,jumped){if(!cache[name]){if(!modules[name]){var currentRequire=\"function\"==typeof acequire&&acequire;if(!jumped&¤tRequire)return currentRequire(name,!0);if(previousRequire)return previousRequire(name,!0);var err=Error(\"Cannot find module '\"+name+\"'\");throw err.code=\"MODULE_NOT_FOUND\",err}var m=cache[name]={exports:{}};modules[name][0].call(m.exports,function(x){var id=modules[name][1][x];return newRequire(id?id:x)},m,m.exports,outer,modules,cache,entry)}return cache[name].exports}for(var previousRequire=\"function\"==typeof acequire&&acequire,i=0;entry.length>i;i++)newRequire(entry[i]);return newRequire(entry[0])}({\"/node_modules/browserify/node_modules/events/events.js\":[function(_dereq_,module){function EventEmitter(){this._events=this._events||{},this._maxListeners=this._maxListeners||void 0}function isFunction(arg){return\"function\"==typeof arg}function isNumber(arg){return\"number\"==typeof arg}function isObject(arg){return\"object\"==typeof arg&&null!==arg}function isUndefined(arg){return void 0===arg}module.exports=EventEmitter,EventEmitter.EventEmitter=EventEmitter,EventEmitter.prototype._events=void 0,EventEmitter.prototype._maxListeners=void 0,EventEmitter.defaultMaxListeners=10,EventEmitter.prototype.setMaxListeners=function(n){if(!isNumber(n)||0>n||isNaN(n))throw TypeError(\"n must be a positive number\");return this._maxListeners=n,this},EventEmitter.prototype.emit=function(type){var er,handler,len,args,i,listeners;if(this._events||(this._events={}),\"error\"===type&&(!this._events.error||isObject(this._events.error)&&!this._events.error.length)){if(er=arguments[1],er instanceof Error)throw er;throw TypeError('Uncaught, unspecified \"error\" event.')}if(handler=this._events[type],isUndefined(handler))return!1;if(isFunction(handler))switch(arguments.length){case 1:handler.call(this);break;case 2:handler.call(this,arguments[1]);break;case 3:handler.call(this,arguments[1],arguments[2]);break;default:for(len=arguments.length,args=Array(len-1),i=1;len>i;i++)args[i-1]=arguments[i];handler.apply(this,args)}else if(isObject(handler)){for(len=arguments.length,args=Array(len-1),i=1;len>i;i++)args[i-1]=arguments[i];for(listeners=handler.slice(),len=listeners.length,i=0;len>i;i++)listeners[i].apply(this,args)}return!0},EventEmitter.prototype.addListener=function(type,listener){var m;if(!isFunction(listener))throw TypeError(\"listener must be a function\");if(this._events||(this._events={}),this._events.newListener&&this.emit(\"newListener\",type,isFunction(listener.listener)?listener.listener:listener),this._events[type]?isObject(this._events[type])?this._events[type].push(listener):this._events[type]=[this._events[type],listener]:this._events[type]=listener,isObject(this._events[type])&&!this._events[type].warned){var m;m=isUndefined(this._maxListeners)?EventEmitter.defaultMaxListeners:this._maxListeners,m&&m>0&&this._events[type].length>m&&(this._events[type].warned=!0,console.error(\"(node) warning: possible EventEmitter memory leak detected. %d listeners added. Use emitter.setMaxListeners() to increase limit.\",this._events[type].length),\"function\"==typeof console.trace&&console.trace())}return this},EventEmitter.prototype.on=EventEmitter.prototype.addListener,EventEmitter.prototype.once=function(type,listener){function g(){this.removeListener(type,g),fired||(fired=!0,listener.apply(this,arguments))}if(!isFunction(listener))throw TypeError(\"listener must be a function\");var fired=!1;return g.listener=listener,this.on(type,g),this},EventEmitter.prototype.removeListener=function(type,listener){var list,position,length,i;if(!isFunction(listener))throw TypeError(\"listener must be a function\");if(!this._events||!this._events[type])return this;if(list=this._events[type],length=list.length,position=-1,list===listener||isFunction(list.listener)&&list.listener===listener)delete this._events[type],this._events.removeListener&&this.emit(\"removeListener\",type,listener);else if(isObject(list)){for(i=length;i-->0;)if(list[i]===listener||list[i].listener&&list[i].listener===listener){position=i;break}if(0>position)return this;1===list.length?(list.length=0,delete this._events[type]):list.splice(position,1),this._events.removeListener&&this.emit(\"removeListener\",type,listener)}return this},EventEmitter.prototype.removeAllListeners=function(type){var key,listeners;if(!this._events)return this;if(!this._events.removeListener)return 0===arguments.length?this._events={}:this._events[type]&&delete this._events[type],this;if(0===arguments.length){for(key in this._events)\"removeListener\"!==key&&this.removeAllListeners(key);return this.removeAllListeners(\"removeListener\"),this._events={},this\n}if(listeners=this._events[type],isFunction(listeners))this.removeListener(type,listeners);else for(;listeners.length;)this.removeListener(type,listeners[listeners.length-1]);return delete this._events[type],this},EventEmitter.prototype.listeners=function(type){var ret;return ret=this._events&&this._events[type]?isFunction(this._events[type])?[this._events[type]]:this._events[type].slice():[]},EventEmitter.listenerCount=function(emitter,type){var ret;return ret=emitter._events&&emitter._events[type]?isFunction(emitter._events[type])?1:emitter._events[type].length:0}},{}],\"/node_modules/jshint/data/ascii-identifier-data.js\":[function(_dereq_,module){for(var identifierStartTable=[],i=0;128>i;i++)identifierStartTable[i]=36===i||i>=65&&90>=i||95===i||i>=97&&122>=i;for(var identifierPartTable=[],i=0;128>i;i++)identifierPartTable[i]=identifierStartTable[i]||i>=48&&57>=i;module.exports={asciiIdentifierStartTable:identifierStartTable,asciiIdentifierPartTable:identifierPartTable}},{}],\"/node_modules/jshint/lodash.js\":[function(_dereq_,module,exports){(function(global){(function(){function baseFindIndex(array,predicate,fromRight){for(var length=array.length,index=fromRight?length:-1;fromRight?index--:length>++index;)if(predicate(array[index],index,array))return index;return-1}function baseIndexOf(array,value,fromIndex){if(value!==value)return indexOfNaN(array,fromIndex);for(var index=fromIndex-1,length=array.length;length>++index;)if(array[index]===value)return index;return-1}function baseIsFunction(value){return\"function\"==typeof value||!1}function baseToString(value){return\"string\"==typeof value?value:null==value?\"\":value+\"\"}function indexOfNaN(array,fromIndex,fromRight){for(var length=array.length,index=fromIndex+(fromRight?0:-1);fromRight?index--:length>++index;){var other=array[index];if(other!==other)return index}return-1}function isObjectLike(value){return!!value&&\"object\"==typeof value}function lodash(){}function arrayCopy(source,array){var index=-1,length=source.length;for(array||(array=Array(length));length>++index;)array[index]=source[index];return array}function arrayEach(array,iteratee){for(var index=-1,length=array.length;length>++index&&iteratee(array[index],index,array)!==!1;);return array}function arrayFilter(array,predicate){for(var index=-1,length=array.length,resIndex=-1,result=[];length>++index;){var value=array[index];predicate(value,index,array)&&(result[++resIndex]=value)}return result}function arrayMap(array,iteratee){for(var index=-1,length=array.length,result=Array(length);length>++index;)result[index]=iteratee(array[index],index,array);return result}function arrayMax(array){for(var index=-1,length=array.length,result=NEGATIVE_INFINITY;length>++index;){var value=array[index];value>result&&(result=value)}return result}function arraySome(array,predicate){for(var index=-1,length=array.length;length>++index;)if(predicate(array[index],index,array))return!0;return!1}function assignWith(object,source,customizer){var props=keys(source);push.apply(props,getSymbols(source));for(var index=-1,length=props.length;length>++index;){var key=props[index],value=object[key],result=customizer(value,source[key],key,object,source);(result===result?result===value:value!==value)&&(value!==undefined||key in object)||(object[key]=result)}return object}function baseCopy(source,props,object){object||(object={});for(var index=-1,length=props.length;length>++index;){var key=props[index];object[key]=source[key]}return object}function baseCallback(func,thisArg,argCount){var type=typeof func;return\"function\"==type?thisArg===undefined?func:bindCallback(func,thisArg,argCount):null==func?identity:\"object\"==type?baseMatches(func):thisArg===undefined?property(func):baseMatchesProperty(func,thisArg)}function baseClone(value,isDeep,customizer,key,object,stackA,stackB){var result;if(customizer&&(result=object?customizer(value,key,object):customizer(value)),result!==undefined)return result;if(!isObject(value))return value;var isArr=isArray(value);if(isArr){if(result=initCloneArray(value),!isDeep)return arrayCopy(value,result)}else{var tag=objToString.call(value),isFunc=tag==funcTag;if(tag!=objectTag&&tag!=argsTag&&(!isFunc||object))return cloneableTags[tag]?initCloneByTag(value,tag,isDeep):object?value:{};if(result=initCloneObject(isFunc?{}:value),!isDeep)return baseAssign(result,value)}stackA||(stackA=[]),stackB||(stackB=[]);for(var length=stackA.length;length--;)if(stackA[length]==value)return stackB[length];return stackA.push(value),stackB.push(result),(isArr?arrayEach:baseForOwn)(value,function(subValue,key){result[key]=baseClone(subValue,isDeep,customizer,key,value,stackA,stackB)}),result}function baseFilter(collection,predicate){var result=[];return baseEach(collection,function(value,index,collection){predicate(value,index,collection)&&result.push(value)}),result}function baseForIn(object,iteratee){return baseFor(object,iteratee,keysIn)}function baseForOwn(object,iteratee){return baseFor(object,iteratee,keys)}function baseGet(object,path,pathKey){if(null!=object){pathKey!==undefined&&pathKey in toObject(object)&&(path=[pathKey]);for(var index=-1,length=path.length;null!=object&&length>++index;)var result=object=object[path[index]];return result}}function baseIsEqual(value,other,customizer,isLoose,stackA,stackB){if(value===other)return 0!==value||1/value==1/other;var valType=typeof value,othType=typeof other;return\"function\"!=valType&&\"object\"!=valType&&\"function\"!=othType&&\"object\"!=othType||null==value||null==other?value!==value&&other!==other:baseIsEqualDeep(value,other,baseIsEqual,customizer,isLoose,stackA,stackB)}function baseIsEqualDeep(object,other,equalFunc,customizer,isLoose,stackA,stackB){var objIsArr=isArray(object),othIsArr=isArray(other),objTag=arrayTag,othTag=arrayTag;objIsArr||(objTag=objToString.call(object),objTag==argsTag?objTag=objectTag:objTag!=objectTag&&(objIsArr=isTypedArray(object))),othIsArr||(othTag=objToString.call(other),othTag==argsTag?othTag=objectTag:othTag!=objectTag&&(othIsArr=isTypedArray(other)));var objIsObj=objTag==objectTag,othIsObj=othTag==objectTag,isSameTag=objTag==othTag;if(isSameTag&&!objIsArr&&!objIsObj)return equalByTag(object,other,objTag);if(!isLoose){var valWrapped=objIsObj&&hasOwnProperty.call(object,\"__wrapped__\"),othWrapped=othIsObj&&hasOwnProperty.call(other,\"__wrapped__\");if(valWrapped||othWrapped)return equalFunc(valWrapped?object.value():object,othWrapped?other.value():other,customizer,isLoose,stackA,stackB)}if(!isSameTag)return!1;stackA||(stackA=[]),stackB||(stackB=[]);for(var length=stackA.length;length--;)if(stackA[length]==object)return stackB[length]==other;stackA.push(object),stackB.push(other);var result=(objIsArr?equalArrays:equalObjects)(object,other,equalFunc,customizer,isLoose,stackA,stackB);return stackA.pop(),stackB.pop(),result}function baseIsMatch(object,props,values,strictCompareFlags,customizer){for(var index=-1,length=props.length,noCustomizer=!customizer;length>++index;)if(noCustomizer&&strictCompareFlags[index]?values[index]!==object[props[index]]:!(props[index]in object))return!1;for(index=-1;length>++index;){var key=props[index],objValue=object[key],srcValue=values[index];if(noCustomizer&&strictCompareFlags[index])var result=objValue!==undefined||key in object;else result=customizer?customizer(objValue,srcValue,key):undefined,result===undefined&&(result=baseIsEqual(srcValue,objValue,customizer,!0));if(!result)return!1}return!0}function baseMatches(source){var props=keys(source),length=props.length;if(!length)return constant(!0);if(1==length){var key=props[0],value=source[key];if(isStrictComparable(value))return function(object){return null==object?!1:object[key]===value&&(value!==undefined||key in toObject(object))}}for(var values=Array(length),strictCompareFlags=Array(length);length--;)value=source[props[length]],values[length]=value,strictCompareFlags[length]=isStrictComparable(value);return function(object){return null!=object&&baseIsMatch(toObject(object),props,values,strictCompareFlags)}}function baseMatchesProperty(path,value){var isArr=isArray(path),isCommon=isKey(path)&&isStrictComparable(value),pathKey=path+\"\";return path=toPath(path),function(object){if(null==object)return!1;var key=pathKey;if(object=toObject(object),!(!isArr&&isCommon||key in object)){if(object=1==path.length?object:baseGet(object,baseSlice(path,0,-1)),null==object)return!1;key=last(path),object=toObject(object)}return object[key]===value?value!==undefined||key in object:baseIsEqual(value,object[key],null,!0)}}function baseMerge(object,source,customizer,stackA,stackB){if(!isObject(object))return object;var isSrcArr=isLength(source.length)&&(isArray(source)||isTypedArray(source));if(!isSrcArr){var props=keys(source);push.apply(props,getSymbols(source))}return arrayEach(props||source,function(srcValue,key){if(props&&(key=srcValue,srcValue=source[key]),isObjectLike(srcValue))stackA||(stackA=[]),stackB||(stackB=[]),baseMergeDeep(object,source,key,baseMerge,customizer,stackA,stackB);else{var value=object[key],result=customizer?customizer(value,srcValue,key,object,source):undefined,isCommon=result===undefined;isCommon&&(result=srcValue),!isSrcArr&&result===undefined||!isCommon&&(result===result?result===value:value!==value)||(object[key]=result)}}),object}function baseMergeDeep(object,source,key,mergeFunc,customizer,stackA,stackB){for(var length=stackA.length,srcValue=source[key];length--;)if(stackA[length]==srcValue)return object[key]=stackB[length],undefined;var value=object[key],result=customizer?customizer(value,srcValue,key,object,source):undefined,isCommon=result===undefined;isCommon&&(result=srcValue,isLength(srcValue.length)&&(isArray(srcValue)||isTypedArray(srcValue))?result=isArray(value)?value:getLength(value)?arrayCopy(value):[]:isPlainObject(srcValue)||isArguments(srcValue)?result=isArguments(value)?toPlainObject(value):isPlainObject(value)?value:{}:isCommon=!1),stackA.push(srcValue),stackB.push(result),isCommon?object[key]=mergeFunc(result,srcValue,customizer,stackA,stackB):(result===result?result!==value:value===value)&&(object[key]=result)}function baseProperty(key){return function(object){return null==object?undefined:object[key]}}function basePropertyDeep(path){var pathKey=path+\"\";return path=toPath(path),function(object){return baseGet(object,path,pathKey)}}function baseSlice(array,start,end){var index=-1,length=array.length;start=null==start?0:+start||0,0>start&&(start=-start>length?0:length+start),end=end===undefined||end>length?length:+end||0,0>end&&(end+=length),length=start>end?0:end-start>>>0,start>>>=0;for(var result=Array(length);length>++index;)result[index]=array[index+start];return result}function baseSome(collection,predicate){var result;return baseEach(collection,function(value,index,collection){return result=predicate(value,index,collection),!result}),!!result}function baseValues(object,props){for(var index=-1,length=props.length,result=Array(length);length>++index;)result[index]=object[props[index]];return result}function binaryIndex(array,value,retHighest){var low=0,high=array?array.length:low;if(\"number\"==typeof value&&value===value&&HALF_MAX_ARRAY_LENGTH>=high){for(;high>low;){var mid=low+high>>>1,computed=array[mid];(retHighest?value>=computed:value>computed)?low=mid+1:high=mid}return high}return binaryIndexBy(array,value,identity,retHighest)}function binaryIndexBy(array,value,iteratee,retHighest){value=iteratee(value);for(var low=0,high=array?array.length:0,valIsNaN=value!==value,valIsUndef=value===undefined;high>low;){var mid=floor((low+high)/2),computed=iteratee(array[mid]),isReflexive=computed===computed;if(valIsNaN)var setLow=isReflexive||retHighest;else setLow=valIsUndef?isReflexive&&(retHighest||computed!==undefined):retHighest?value>=computed:value>computed;setLow?low=mid+1:high=mid}return nativeMin(high,MAX_ARRAY_INDEX)}function bindCallback(func,thisArg,argCount){if(\"function\"!=typeof func)return identity;if(thisArg===undefined)return func;switch(argCount){case 1:return function(value){return func.call(thisArg,value)};case 3:return function(value,index,collection){return func.call(thisArg,value,index,collection)};case 4:return function(accumulator,value,index,collection){return func.call(thisArg,accumulator,value,index,collection)};case 5:return function(value,other,key,object,source){return func.call(thisArg,value,other,key,object,source)}}return function(){return func.apply(thisArg,arguments)}}function bufferClone(buffer){return bufferSlice.call(buffer,0)}function createAssigner(assigner){return restParam(function(object,sources){var index=-1,length=null==object?0:sources.length,customizer=length>2&&sources[length-2],guard=length>2&&sources[2],thisArg=length>1&&sources[length-1];for(\"function\"==typeof customizer?(customizer=bindCallback(customizer,thisArg,5),length-=2):(customizer=\"function\"==typeof thisArg?thisArg:null,length-=customizer?1:0),guard&&isIterateeCall(sources[0],sources[1],guard)&&(customizer=3>length?null:customizer,length=1);length>++index;){var source=sources[index];source&&assigner(object,source,customizer)}return object})}function createBaseEach(eachFunc,fromRight){return function(collection,iteratee){var length=collection?getLength(collection):0;if(!isLength(length))return eachFunc(collection,iteratee);for(var index=fromRight?length:-1,iterable=toObject(collection);(fromRight?index--:length>++index)&&iteratee(iterable[index],index,iterable)!==!1;);return collection}}function createBaseFor(fromRight){return function(object,iteratee,keysFunc){for(var iterable=toObject(object),props=keysFunc(object),length=props.length,index=fromRight?length:-1;fromRight?index--:length>++index;){var key=props[index];if(iteratee(iterable[key],key,iterable)===!1)break}return object}}function createFindIndex(fromRight){return function(array,predicate,thisArg){return array&&array.length?(predicate=getCallback(predicate,thisArg,3),baseFindIndex(array,predicate,fromRight)):-1}}function createForEach(arrayFunc,eachFunc){return function(collection,iteratee,thisArg){return\"function\"==typeof iteratee&&thisArg===undefined&&isArray(collection)?arrayFunc(collection,iteratee):eachFunc(collection,bindCallback(iteratee,thisArg,3))}}function equalArrays(array,other,equalFunc,customizer,isLoose,stackA,stackB){var index=-1,arrLength=array.length,othLength=other.length,result=!0;if(arrLength!=othLength&&!(isLoose&&othLength>arrLength))return!1;for(;result&&arrLength>++index;){var arrValue=array[index],othValue=other[index];if(result=undefined,customizer&&(result=isLoose?customizer(othValue,arrValue,index):customizer(arrValue,othValue,index)),result===undefined)if(isLoose)for(var othIndex=othLength;othIndex--&&(othValue=other[othIndex],!(result=arrValue&&arrValue===othValue||equalFunc(arrValue,othValue,customizer,isLoose,stackA,stackB))););else result=arrValue&&arrValue===othValue||equalFunc(arrValue,othValue,customizer,isLoose,stackA,stackB)}return!!result}function equalByTag(object,other,tag){switch(tag){case boolTag:case dateTag:return+object==+other;case errorTag:return object.name==other.name&&object.message==other.message;case numberTag:return object!=+object?other!=+other:0==object?1/object==1/other:object==+other;case regexpTag:case stringTag:return object==other+\"\"}return!1}function equalObjects(object,other,equalFunc,customizer,isLoose,stackA,stackB){var objProps=keys(object),objLength=objProps.length,othProps=keys(other),othLength=othProps.length;if(objLength!=othLength&&!isLoose)return!1;for(var skipCtor=isLoose,index=-1;objLength>++index;){var key=objProps[index],result=isLoose?key in other:hasOwnProperty.call(other,key);if(result){var objValue=object[key],othValue=other[key];result=undefined,customizer&&(result=isLoose?customizer(othValue,objValue,key):customizer(objValue,othValue,key)),result===undefined&&(result=objValue&&objValue===othValue||equalFunc(objValue,othValue,customizer,isLoose,stackA,stackB))}if(!result)return!1;skipCtor||(skipCtor=\"constructor\"==key)}if(!skipCtor){var objCtor=object.constructor,othCtor=other.constructor;if(objCtor!=othCtor&&\"constructor\"in object&&\"constructor\"in other&&!(\"function\"==typeof objCtor&&objCtor instanceof objCtor&&\"function\"==typeof othCtor&&othCtor instanceof othCtor))return!1}return!0}function getCallback(func,thisArg,argCount){var result=lodash.callback||callback;return result=result===callback?baseCallback:result,argCount?result(func,thisArg,argCount):result}function getIndexOf(collection,target,fromIndex){var result=lodash.indexOf||indexOf;return result=result===indexOf?baseIndexOf:result,collection?result(collection,target,fromIndex):result}function initCloneArray(array){var length=array.length,result=new array.constructor(length);return length&&\"string\"==typeof array[0]&&hasOwnProperty.call(array,\"index\")&&(result.index=array.index,result.input=array.input),result}function initCloneObject(object){var Ctor=object.constructor;return\"function\"==typeof Ctor&&Ctor instanceof Ctor||(Ctor=Object),new Ctor}function initCloneByTag(object,tag,isDeep){var Ctor=object.constructor;switch(tag){case arrayBufferTag:return bufferClone(object);case boolTag:case dateTag:return new Ctor(+object);case float32Tag:case float64Tag:case int8Tag:case int16Tag:case int32Tag:case uint8Tag:case uint8ClampedTag:case uint16Tag:case uint32Tag:var buffer=object.buffer;return new Ctor(isDeep?bufferClone(buffer):buffer,object.byteOffset,object.length);case numberTag:case stringTag:return new Ctor(object);case regexpTag:var result=new Ctor(object.source,reFlags.exec(object));result.lastIndex=object.lastIndex}return result}function isIndex(value,length){return value=+value,length=null==length?MAX_SAFE_INTEGER:length,value>-1&&0==value%1&&length>value}function isIterateeCall(value,index,object){if(!isObject(object))return!1;var type=typeof index;if(\"number\"==type)var length=getLength(object),prereq=isLength(length)&&isIndex(index,length);else prereq=\"string\"==type&&index in object;if(prereq){var other=object[index];return value===value?value===other:other!==other}return!1}function isKey(value,object){var type=typeof value;if(\"string\"==type&&reIsPlainProp.test(value)||\"number\"==type)return!0;if(isArray(value))return!1;var result=!reIsDeepProp.test(value);return result||null!=object&&value in toObject(object)}function isLength(value){return\"number\"==typeof value&&value>-1&&0==value%1&&MAX_SAFE_INTEGER>=value}function isStrictComparable(value){return value===value&&(0===value?1/value>0:!isObject(value))}function shimIsPlainObject(value){var Ctor;if(lodash.support,!isObjectLike(value)||objToString.call(value)!=objectTag||!hasOwnProperty.call(value,\"constructor\")&&(Ctor=value.constructor,\"function\"==typeof Ctor&&!(Ctor instanceof Ctor)))return!1;var result;return baseForIn(value,function(subValue,key){result=key}),result===undefined||hasOwnProperty.call(value,result)}function shimKeys(object){for(var props=keysIn(object),propsLength=props.length,length=propsLength&&object.length,support=lodash.support,allowIndexes=length&&isLength(length)&&(isArray(object)||support.nonEnumArgs&&isArguments(object)),index=-1,result=[];propsLength>++index;){var key=props[index];(allowIndexes&&isIndex(key,length)||hasOwnProperty.call(object,key))&&result.push(key)}return result}function toObject(value){return isObject(value)?value:Object(value)}function toPath(value){if(isArray(value))return value;var result=[];return baseToString(value).replace(rePropName,function(match,number,quote,string){result.push(quote?string.replace(reEscapeChar,\"$1\"):number||match)}),result}function indexOf(array,value,fromIndex){var length=array?array.length:0;if(!length)return-1;if(\"number\"==typeof fromIndex)fromIndex=0>fromIndex?nativeMax(length+fromIndex,0):fromIndex;else if(fromIndex){var index=binaryIndex(array,value),other=array[index];return(value===value?value===other:other!==other)?index:-1}return baseIndexOf(array,value,fromIndex||0)}function last(array){var length=array?array.length:0;return length?array[length-1]:undefined}function slice(array,start,end){var length=array?array.length:0;return length?(end&&\"number\"!=typeof end&&isIterateeCall(array,start,end)&&(start=0,end=length),baseSlice(array,start,end)):[]}function unzip(array){for(var index=-1,length=(array&&array.length&&arrayMax(arrayMap(array,getLength)))>>>0,result=Array(length);length>++index;)result[index]=arrayMap(array,baseProperty(index));return result}function includes(collection,target,fromIndex,guard){var length=collection?getLength(collection):0;return isLength(length)||(collection=values(collection),length=collection.length),length?(fromIndex=\"number\"!=typeof fromIndex||guard&&isIterateeCall(target,fromIndex,guard)?0:0>fromIndex?nativeMax(length+fromIndex,0):fromIndex||0,\"string\"==typeof collection||!isArray(collection)&&isString(collection)?length>fromIndex&&collection.indexOf(target,fromIndex)>-1:getIndexOf(collection,target,fromIndex)>-1):!1}function reject(collection,predicate,thisArg){var func=isArray(collection)?arrayFilter:baseFilter;return predicate=getCallback(predicate,thisArg,3),func(collection,function(value,index,collection){return!predicate(value,index,collection)})}function some(collection,predicate,thisArg){var func=isArray(collection)?arraySome:baseSome;return thisArg&&isIterateeCall(collection,predicate,thisArg)&&(predicate=null),(\"function\"!=typeof predicate||thisArg!==undefined)&&(predicate=getCallback(predicate,thisArg,3)),func(collection,predicate)}function restParam(func,start){if(\"function\"!=typeof func)throw new TypeError(FUNC_ERROR_TEXT);return start=nativeMax(start===undefined?func.length-1:+start||0,0),function(){for(var args=arguments,index=-1,length=nativeMax(args.length-start,0),rest=Array(length);length>++index;)rest[index]=args[start+index];switch(start){case 0:return func.call(this,rest);case 1:return func.call(this,args[0],rest);case 2:return func.call(this,args[0],args[1],rest)}var otherArgs=Array(start+1);for(index=-1;start>++index;)otherArgs[index]=args[index];return otherArgs[start]=rest,func.apply(this,otherArgs)}}function clone(value,isDeep,customizer,thisArg){return isDeep&&\"boolean\"!=typeof isDeep&&isIterateeCall(value,isDeep,customizer)?isDeep=!1:\"function\"==typeof isDeep&&(thisArg=customizer,customizer=isDeep,isDeep=!1),customizer=\"function\"==typeof customizer&&bindCallback(customizer,thisArg,1),baseClone(value,isDeep,customizer)}function isArguments(value){var length=isObjectLike(value)?value.length:undefined;return isLength(length)&&objToString.call(value)==argsTag}function isEmpty(value){if(null==value)return!0;var length=getLength(value);return isLength(length)&&(isArray(value)||isString(value)||isArguments(value)||isObjectLike(value)&&isFunction(value.splice))?!length:!keys(value).length}function isObject(value){var type=typeof value;return\"function\"==type||!!value&&\"object\"==type}function isNative(value){return null==value?!1:objToString.call(value)==funcTag?reIsNative.test(fnToString.call(value)):isObjectLike(value)&&reIsHostCtor.test(value)}function isNumber(value){return\"number\"==typeof value||isObjectLike(value)&&objToString.call(value)==numberTag}function isString(value){return\"string\"==typeof value||isObjectLike(value)&&objToString.call(value)==stringTag}function isTypedArray(value){return isObjectLike(value)&&isLength(value.length)&&!!typedArrayTags[objToString.call(value)]}function toPlainObject(value){return baseCopy(value,keysIn(value))}function has(object,path){if(null==object)return!1;var result=hasOwnProperty.call(object,path);return result||isKey(path)||(path=toPath(path),object=1==path.length?object:baseGet(object,baseSlice(path,0,-1)),path=last(path),result=null!=object&&hasOwnProperty.call(object,path)),result}function keysIn(object){if(null==object)return[];isObject(object)||(object=Object(object));var length=object.length;length=length&&isLength(length)&&(isArray(object)||support.nonEnumArgs&&isArguments(object))&&length||0;for(var Ctor=object.constructor,index=-1,isProto=\"function\"==typeof Ctor&&Ctor.prototype===object,result=Array(length),skipIndexes=length>0;length>++index;)result[index]=index+\"\";for(var key in object)skipIndexes&&isIndex(key,length)||\"constructor\"==key&&(isProto||!hasOwnProperty.call(object,key))||result.push(key);return result}function values(object){return baseValues(object,keys(object))}function escapeRegExp(string){return string=baseToString(string),string&&reHasRegExpChars.test(string)?string.replace(reRegExpChars,\"\\\\$&\"):string}function callback(func,thisArg,guard){return guard&&isIterateeCall(func,thisArg,guard)&&(thisArg=null),baseCallback(func,thisArg)}function constant(value){return function(){return value}}function identity(value){return value}function property(path){return isKey(path)?baseProperty(path):basePropertyDeep(path)}var undefined,VERSION=\"3.7.0\",FUNC_ERROR_TEXT=\"Expected a function\",argsTag=\"[object Arguments]\",arrayTag=\"[object Array]\",boolTag=\"[object Boolean]\",dateTag=\"[object Date]\",errorTag=\"[object Error]\",funcTag=\"[object Function]\",mapTag=\"[object Map]\",numberTag=\"[object Number]\",objectTag=\"[object Object]\",regexpTag=\"[object RegExp]\",setTag=\"[object Set]\",stringTag=\"[object String]\",weakMapTag=\"[object WeakMap]\",arrayBufferTag=\"[object ArrayBuffer]\",float32Tag=\"[object Float32Array]\",float64Tag=\"[object Float64Array]\",int8Tag=\"[object Int8Array]\",int16Tag=\"[object Int16Array]\",int32Tag=\"[object Int32Array]\",uint8Tag=\"[object Uint8Array]\",uint8ClampedTag=\"[object Uint8ClampedArray]\",uint16Tag=\"[object Uint16Array]\",uint32Tag=\"[object Uint32Array]\",reIsDeepProp=/\\.|\\[(?:[^[\\]]+|([\"'])(?:(?!\\1)[^\\n\\\\]|\\\\.)*?)\\1\\]/,reIsPlainProp=/^\\w*$/,rePropName=/[^.[\\]]+|\\[(?:(-?\\d+(?:\\.\\d+)?)|([\"'])((?:(?!\\2)[^\\n\\\\]|\\\\.)*?)\\2)\\]/g,reRegExpChars=/[.*+?^${}()|[\\]\\/\\\\]/g,reHasRegExpChars=RegExp(reRegExpChars.source),reEscapeChar=/\\\\(\\\\)?/g,reFlags=/\\w*$/,reIsHostCtor=/^\\[object .+?Constructor\\]$/,typedArrayTags={};typedArrayTags[float32Tag]=typedArrayTags[float64Tag]=typedArrayTags[int8Tag]=typedArrayTags[int16Tag]=typedArrayTags[int32Tag]=typedArrayTags[uint8Tag]=typedArrayTags[uint8ClampedTag]=typedArrayTags[uint16Tag]=typedArrayTags[uint32Tag]=!0,typedArrayTags[argsTag]=typedArrayTags[arrayTag]=typedArrayTags[arrayBufferTag]=typedArrayTags[boolTag]=typedArrayTags[dateTag]=typedArrayTags[errorTag]=typedArrayTags[funcTag]=typedArrayTags[mapTag]=typedArrayTags[numberTag]=typedArrayTags[objectTag]=typedArrayTags[regexpTag]=typedArrayTags[setTag]=typedArrayTags[stringTag]=typedArrayTags[weakMapTag]=!1;var cloneableTags={};cloneableTags[argsTag]=cloneableTags[arrayTag]=cloneableTags[arrayBufferTag]=cloneableTags[boolTag]=cloneableTags[dateTag]=cloneableTags[float32Tag]=cloneableTags[float64Tag]=cloneableTags[int8Tag]=cloneableTags[int16Tag]=cloneableTags[int32Tag]=cloneableTags[numberTag]=cloneableTags[objectTag]=cloneableTags[regexpTag]=cloneableTags[stringTag]=cloneableTags[uint8Tag]=cloneableTags[uint8ClampedTag]=cloneableTags[uint16Tag]=cloneableTags[uint32Tag]=!0,cloneableTags[errorTag]=cloneableTags[funcTag]=cloneableTags[mapTag]=cloneableTags[setTag]=cloneableTags[weakMapTag]=!1;var objectTypes={\"function\":!0,object:!0},freeExports=objectTypes[typeof exports]&&exports&&!exports.nodeType&&exports,freeModule=objectTypes[typeof module]&&module&&!module.nodeType&&module,freeGlobal=freeExports&&freeModule&&\"object\"==typeof global&&global&&global.Object&&global,freeSelf=objectTypes[typeof self]&&self&&self.Object&&self,freeWindow=objectTypes[typeof window]&&window&&window.Object&&window,moduleExports=freeModule&&freeModule.exports===freeExports&&freeExports,root=freeGlobal||freeWindow!==(this&&this.window)&&freeWindow||freeSelf||this,arrayProto=Array.prototype,objectProto=Object.prototype,fnToString=Function.prototype.toString,hasOwnProperty=objectProto.hasOwnProperty,objToString=objectProto.toString,reIsNative=RegExp(\"^\"+escapeRegExp(objToString).replace(/toString|(function).*?(?=\\\\\\()| for .+?(?=\\\\\\])/g,\"$1.*?\")+\"$\"),ArrayBuffer=isNative(ArrayBuffer=root.ArrayBuffer)&&ArrayBuffer,bufferSlice=isNative(bufferSlice=ArrayBuffer&&new ArrayBuffer(0).slice)&&bufferSlice,floor=Math.floor,getOwnPropertySymbols=isNative(getOwnPropertySymbols=Object.getOwnPropertySymbols)&&getOwnPropertySymbols,getPrototypeOf=isNative(getPrototypeOf=Object.getPrototypeOf)&&getPrototypeOf,push=arrayProto.push,preventExtensions=isNative(Object.preventExtensions=Object.preventExtensions)&&preventExtensions,propertyIsEnumerable=objectProto.propertyIsEnumerable,Uint8Array=isNative(Uint8Array=root.Uint8Array)&&Uint8Array,Float64Array=function(){try{var func=isNative(func=root.Float64Array)&&func,result=new func(new ArrayBuffer(10),0,1)&&func}catch(e){}return result}(),nativeAssign=function(){var object={1:0},func=preventExtensions&&isNative(func=Object.assign)&&func;try{func(preventExtensions(object),\"xo\")}catch(e){}return!object[1]&&func}(),nativeIsArray=isNative(nativeIsArray=Array.isArray)&&nativeIsArray,nativeKeys=isNative(nativeKeys=Object.keys)&&nativeKeys,nativeMax=Math.max,nativeMin=Math.min,NEGATIVE_INFINITY=Number.NEGATIVE_INFINITY,MAX_ARRAY_LENGTH=Math.pow(2,32)-1,MAX_ARRAY_INDEX=MAX_ARRAY_LENGTH-1,HALF_MAX_ARRAY_LENGTH=MAX_ARRAY_LENGTH>>>1,FLOAT64_BYTES_PER_ELEMENT=Float64Array?Float64Array.BYTES_PER_ELEMENT:0,MAX_SAFE_INTEGER=Math.pow(2,53)-1,support=lodash.support={};(function(x){var Ctor=function(){this.x=x},props=[];Ctor.prototype={valueOf:x,y:x};for(var key in new Ctor)props.push(key);support.funcDecomp=/\\bthis\\b/.test(function(){return this}),support.funcNames=\"string\"==typeof Function.name;try{support.nonEnumArgs=!propertyIsEnumerable.call(arguments,1)}catch(e){support.nonEnumArgs=!0}})(1,0);var baseAssign=nativeAssign||function(object,source){return null==source?object:baseCopy(source,getSymbols(source),baseCopy(source,keys(source),object))},baseEach=createBaseEach(baseForOwn),baseFor=createBaseFor();bufferSlice||(bufferClone=ArrayBuffer&&Uint8Array?function(buffer){var byteLength=buffer.byteLength,floatLength=Float64Array?floor(byteLength/FLOAT64_BYTES_PER_ELEMENT):0,offset=floatLength*FLOAT64_BYTES_PER_ELEMENT,result=new ArrayBuffer(byteLength);if(floatLength){var view=new Float64Array(result,0,floatLength);view.set(new Float64Array(buffer,0,floatLength))}return byteLength!=offset&&(view=new Uint8Array(result,offset),view.set(new Uint8Array(buffer,offset))),result}:constant(null));var getLength=baseProperty(\"length\"),getSymbols=getOwnPropertySymbols?function(object){return getOwnPropertySymbols(toObject(object))}:constant([]),findLastIndex=createFindIndex(!0),zip=restParam(unzip),forEach=createForEach(arrayEach,baseEach),isArray=nativeIsArray||function(value){return isObjectLike(value)&&isLength(value.length)&&objToString.call(value)==arrayTag},isFunction=baseIsFunction(/x/)||Uint8Array&&!baseIsFunction(Uint8Array)?function(value){return objToString.call(value)==funcTag}:baseIsFunction,isPlainObject=getPrototypeOf?function(value){if(!value||objToString.call(value)!=objectTag)return!1;var valueOf=value.valueOf,objProto=isNative(valueOf)&&(objProto=getPrototypeOf(valueOf))&&getPrototypeOf(objProto);return objProto?value==objProto||getPrototypeOf(value)==objProto:shimIsPlainObject(value)}:shimIsPlainObject,assign=createAssigner(function(object,source,customizer){return customizer?assignWith(object,source,customizer):baseAssign(object,source)}),keys=nativeKeys?function(object){if(object)var Ctor=object.constructor,length=object.length;return\"function\"==typeof Ctor&&Ctor.prototype===object||\"function\"!=typeof object&&isLength(length)?shimKeys(object):isObject(object)?nativeKeys(object):[]}:shimKeys,merge=createAssigner(baseMerge);lodash.assign=assign,lodash.callback=callback,lodash.constant=constant,lodash.forEach=forEach,lodash.keys=keys,lodash.keysIn=keysIn,lodash.merge=merge,lodash.property=property,lodash.reject=reject,lodash.restParam=restParam,lodash.slice=slice,lodash.toPlainObject=toPlainObject,lodash.unzip=unzip,lodash.values=values,lodash.zip=zip,lodash.each=forEach,lodash.extend=assign,lodash.iteratee=callback,lodash.clone=clone,lodash.escapeRegExp=escapeRegExp,lodash.findLastIndex=findLastIndex,lodash.has=has,lodash.identity=identity,lodash.includes=includes,lodash.indexOf=indexOf,lodash.isArguments=isArguments,lodash.isArray=isArray,lodash.isEmpty=isEmpty,lodash.isFunction=isFunction,lodash.isNative=isNative,lodash.isNumber=isNumber,lodash.isObject=isObject,lodash.isPlainObject=isPlainObject,lodash.isString=isString,lodash.isTypedArray=isTypedArray,lodash.last=last,lodash.some=some,lodash.any=some,lodash.contains=includes,lodash.include=includes,lodash.VERSION=VERSION,freeExports&&freeModule?moduleExports?(freeModule.exports=lodash)._=lodash:freeExports._=lodash:root._=lodash\n}).call(this)}).call(this,\"undefined\"!=typeof global?global:\"undefined\"!=typeof self?self:\"undefined\"!=typeof window?window:{})},{}],\"/node_modules/jshint/src/jshint.js\":[function(_dereq_,module,exports){var _=_dereq_(\"../lodash\"),events=_dereq_(\"events\"),vars=_dereq_(\"./vars.js\"),messages=_dereq_(\"./messages.js\"),Lexer=_dereq_(\"./lex.js\").Lexer,reg=_dereq_(\"./reg.js\"),state=_dereq_(\"./state.js\").state,style=_dereq_(\"./style.js\"),options=_dereq_(\"./options.js\"),scopeManager=_dereq_(\"./scope-manager.js\"),JSHINT=function(){\"use strict\";function checkOption(name,t){return name=name.trim(),/^[+-]W\\d{3}$/g.test(name)?!0:-1!==options.validNames.indexOf(name)||\"jslint\"===t.type||_.has(options.removed,name)?!0:(error(\"E001\",t,name),!1)}function isString(obj){return\"[object String]\"===Object.prototype.toString.call(obj)}function isIdentifier(tkn,value){return tkn?tkn.identifier&&tkn.value===value?!0:!1:!1}function isReserved(token){if(!token.reserved)return!1;var meta=token.meta;if(meta&&meta.isFutureReservedWord&&state.inES5()){if(!meta.es5)return!1;if(meta.strictOnly&&!state.option.strict&&!state.isStrict())return!1;if(token.isProperty)return!1}return!0}function supplant(str,data){return str.replace(/\\{([^{}]*)\\}/g,function(a,b){var r=data[b];return\"string\"==typeof r||\"number\"==typeof r?r:a})}function combine(dest,src){Object.keys(src).forEach(function(name){_.has(JSHINT.blacklist,name)||(dest[name]=src[name])})}function processenforceall(){if(state.option.enforceall){for(var enforceopt in options.bool.enforcing)void 0!==state.option[enforceopt]||options.noenforceall[enforceopt]||(state.option[enforceopt]=!0);for(var relaxopt in options.bool.relaxing)void 0===state.option[relaxopt]&&(state.option[relaxopt]=!1)}}function assume(){processenforceall(),state.option.esversion||state.option.moz||(state.option.esversion=state.option.es3?3:state.option.esnext?6:5),state.inES5()&&combine(predefined,vars.ecmaIdentifiers[5]),state.inES6()&&combine(predefined,vars.ecmaIdentifiers[6]),state.option.module&&(state.option.strict===!0&&(state.option.strict=\"global\"),state.inES6()||warning(\"W134\",state.tokens.next,\"module\",6)),state.option.couch&&combine(predefined,vars.couch),state.option.qunit&&combine(predefined,vars.qunit),state.option.rhino&&combine(predefined,vars.rhino),state.option.shelljs&&(combine(predefined,vars.shelljs),combine(predefined,vars.node)),state.option.typed&&combine(predefined,vars.typed),state.option.phantom&&(combine(predefined,vars.phantom),state.option.strict===!0&&(state.option.strict=\"global\")),state.option.prototypejs&&combine(predefined,vars.prototypejs),state.option.node&&(combine(predefined,vars.node),combine(predefined,vars.typed),state.option.strict===!0&&(state.option.strict=\"global\")),state.option.devel&&combine(predefined,vars.devel),state.option.dojo&&combine(predefined,vars.dojo),state.option.browser&&(combine(predefined,vars.browser),combine(predefined,vars.typed)),state.option.browserify&&(combine(predefined,vars.browser),combine(predefined,vars.typed),combine(predefined,vars.browserify),state.option.strict===!0&&(state.option.strict=\"global\")),state.option.nonstandard&&combine(predefined,vars.nonstandard),state.option.jasmine&&combine(predefined,vars.jasmine),state.option.jquery&&combine(predefined,vars.jquery),state.option.mootools&&combine(predefined,vars.mootools),state.option.worker&&combine(predefined,vars.worker),state.option.wsh&&combine(predefined,vars.wsh),state.option.globalstrict&&state.option.strict!==!1&&(state.option.strict=\"global\"),state.option.yui&&combine(predefined,vars.yui),state.option.mocha&&combine(predefined,vars.mocha)}function quit(code,line,chr){var percentage=Math.floor(100*(line/state.lines.length)),message=messages.errors[code].desc;throw{name:\"JSHintError\",line:line,character:chr,message:message+\" (\"+percentage+\"% scanned).\",raw:message,code:code}}function removeIgnoredMessages(){var ignored=state.ignoredLines;_.isEmpty(ignored)||(JSHINT.errors=_.reject(JSHINT.errors,function(err){return ignored[err.line]}))}function warning(code,t,a,b,c,d){var ch,l,w,msg;if(/^W\\d{3}$/.test(code)){if(state.ignored[code])return;msg=messages.warnings[code]}else/E\\d{3}/.test(code)?msg=messages.errors[code]:/I\\d{3}/.test(code)&&(msg=messages.info[code]);return t=t||state.tokens.next||{},\"(end)\"===t.id&&(t=state.tokens.curr),l=t.line||0,ch=t.from||0,w={id:\"(error)\",raw:msg.desc,code:msg.code,evidence:state.lines[l-1]||\"\",line:l,character:ch,scope:JSHINT.scope,a:a,b:b,c:c,d:d},w.reason=supplant(msg.desc,w),JSHINT.errors.push(w),removeIgnoredMessages(),JSHINT.errors.length>=state.option.maxerr&&quit(\"E043\",l,ch),w}function warningAt(m,l,ch,a,b,c,d){return warning(m,{line:l,from:ch},a,b,c,d)}function error(m,t,a,b,c,d){warning(m,t,a,b,c,d)}function errorAt(m,l,ch,a,b,c,d){return error(m,{line:l,from:ch},a,b,c,d)}function addInternalSrc(elem,src){var i;return i={id:\"(internal)\",elem:elem,value:src},JSHINT.internals.push(i),i}function doOption(){var nt=state.tokens.next,body=nt.body.match(/(-\\s+)?[^\\s,:]+(?:\\s*:\\s*(-\\s+)?[^\\s,]+)?/g)||[],predef={};if(\"globals\"===nt.type){body.forEach(function(g,idx){g=g.split(\":\");var key=(g[0]||\"\").trim(),val=(g[1]||\"\").trim();if(\"-\"===key||!key.length){if(idx>0&&idx===body.length-1)return;return error(\"E002\",nt),void 0}\"-\"===key.charAt(0)?(key=key.slice(1),val=!1,JSHINT.blacklist[key]=key,delete predefined[key]):predef[key]=\"true\"===val}),combine(predefined,predef);for(var key in predef)_.has(predef,key)&&(declared[key]=nt)}\"exported\"===nt.type&&body.forEach(function(e,idx){if(!e.length){if(idx>0&&idx===body.length-1)return;return error(\"E002\",nt),void 0}state.funct[\"(scope)\"].addExported(e)}),\"members\"===nt.type&&(membersOnly=membersOnly||{},body.forEach(function(m){var ch1=m.charAt(0),ch2=m.charAt(m.length-1);ch1!==ch2||'\"'!==ch1&&\"'\"!==ch1||(m=m.substr(1,m.length-2).replace('\\\\\"','\"')),membersOnly[m]=!1}));var numvals=[\"maxstatements\",\"maxparams\",\"maxdepth\",\"maxcomplexity\",\"maxerr\",\"maxlen\",\"indent\"];(\"jshint\"===nt.type||\"jslint\"===nt.type)&&(body.forEach(function(g){g=g.split(\":\");var key=(g[0]||\"\").trim(),val=(g[1]||\"\").trim();if(checkOption(key,nt))if(numvals.indexOf(key)>=0)if(\"false\"!==val){if(val=+val,\"number\"!=typeof val||!isFinite(val)||0>=val||Math.floor(val)!==val)return error(\"E032\",nt,g[1].trim()),void 0;state.option[key]=val}else state.option[key]=\"indent\"===key?4:!1;else{if(\"validthis\"===key)return state.funct[\"(global)\"]?void error(\"E009\"):\"true\"!==val&&\"false\"!==val?void error(\"E002\",nt):(state.option.validthis=\"true\"===val,void 0);if(\"quotmark\"!==key)if(\"shadow\"!==key)if(\"unused\"!==key)if(\"latedef\"!==key)if(\"ignore\"!==key)if(\"strict\"!==key){\"module\"===key&&(hasParsedCode(state.funct)||error(\"E055\",state.tokens.next,\"module\"));var esversions={es3:3,es5:5,esnext:6};if(!_.has(esversions,key)){if(\"esversion\"===key){switch(val){case\"5\":state.inES5(!0)&&warning(\"I003\");case\"3\":case\"6\":state.option.moz=!1,state.option.esversion=+val;break;case\"2015\":state.option.moz=!1,state.option.esversion=6;break;default:error(\"E002\",nt)}return hasParsedCode(state.funct)||error(\"E055\",state.tokens.next,\"esversion\"),void 0}var match=/^([+-])(W\\d{3})$/g.exec(key);if(match)return state.ignored[match[2]]=\"-\"===match[1],void 0;var tn;return\"true\"===val||\"false\"===val?(\"jslint\"===nt.type?(tn=options.renamed[key]||key,state.option[tn]=\"true\"===val,void 0!==options.inverted[tn]&&(state.option[tn]=!state.option[tn])):state.option[key]=\"true\"===val,\"newcap\"===key&&(state.option[\"(explicitNewcap)\"]=!0),void 0):(error(\"E002\",nt),void 0)}switch(val){case\"true\":state.option.moz=!1,state.option.esversion=esversions[key];break;case\"false\":state.option.moz||(state.option.esversion=5);break;default:error(\"E002\",nt)}}else switch(val){case\"true\":state.option.strict=!0;break;case\"false\":state.option.strict=!1;break;case\"func\":case\"global\":case\"implied\":state.option.strict=val;break;default:error(\"E002\",nt)}else switch(val){case\"line\":state.ignoredLines[nt.line]=!0,removeIgnoredMessages();break;default:error(\"E002\",nt)}else switch(val){case\"true\":state.option.latedef=!0;break;case\"false\":state.option.latedef=!1;break;case\"nofunc\":state.option.latedef=\"nofunc\";break;default:error(\"E002\",nt)}else switch(val){case\"true\":state.option.unused=!0;break;case\"false\":state.option.unused=!1;break;case\"vars\":case\"strict\":state.option.unused=val;break;default:error(\"E002\",nt)}else switch(val){case\"true\":state.option.shadow=!0;break;case\"outer\":state.option.shadow=\"outer\";break;case\"false\":case\"inner\":state.option.shadow=\"inner\";break;default:error(\"E002\",nt)}else switch(val){case\"true\":case\"false\":state.option.quotmark=\"true\"===val;break;case\"double\":case\"single\":state.option.quotmark=val;break;default:error(\"E002\",nt)}}}),assume())}function peek(p){var t,i=p||0,j=lookahead.length;if(j>i)return lookahead[i];for(;i>=j;)t=lookahead[j],t||(t=lookahead[j]=lex.token()),j+=1;return t||\"(end)\"!==state.tokens.next.id?t:state.tokens.next}function peekIgnoreEOL(){var t,i=0;do t=peek(i++);while(\"(endline)\"===t.id);return t}function advance(id,t){switch(state.tokens.curr.id){case\"(number)\":\".\"===state.tokens.next.id&&warning(\"W005\",state.tokens.curr);break;case\"-\":(\"-\"===state.tokens.next.id||\"--\"===state.tokens.next.id)&&warning(\"W006\");break;case\"+\":(\"+\"===state.tokens.next.id||\"++\"===state.tokens.next.id)&&warning(\"W007\")}for(id&&state.tokens.next.id!==id&&(t?\"(end)\"===state.tokens.next.id?error(\"E019\",t,t.id):error(\"E020\",state.tokens.next,id,t.id,t.line,state.tokens.next.value):(\"(identifier)\"!==state.tokens.next.type||state.tokens.next.value!==id)&&warning(\"W116\",state.tokens.next,id,state.tokens.next.value)),state.tokens.prev=state.tokens.curr,state.tokens.curr=state.tokens.next;;){if(state.tokens.next=lookahead.shift()||lex.token(),state.tokens.next||quit(\"E041\",state.tokens.curr.line),\"(end)\"===state.tokens.next.id||\"(error)\"===state.tokens.next.id)return;if(state.tokens.next.check&&state.tokens.next.check(),state.tokens.next.isSpecial)\"falls through\"===state.tokens.next.type?state.tokens.curr.caseFallsThrough=!0:doOption();else if(\"(endline)\"!==state.tokens.next.id)break}}function isInfix(token){return token.infix||!token.identifier&&!token.template&&!!token.led}function isEndOfExpr(){var curr=state.tokens.curr,next=state.tokens.next;return\";\"===next.id||\"}\"===next.id||\":\"===next.id?!0:isInfix(next)===isInfix(curr)||\"yield\"===curr.id&&state.inMoz()?curr.line!==startLine(next):!1}function isBeginOfExpr(prev){return!prev.left&&\"unary\"!==prev.arity}function expression(rbp,initial){var left,isArray=!1,isObject=!1,isLetExpr=!1;state.nameStack.push(),initial||\"let\"!==state.tokens.next.value||\"(\"!==peek(0).value||(state.inMoz()||warning(\"W118\",state.tokens.next,\"let expressions\"),isLetExpr=!0,state.funct[\"(scope)\"].stack(),advance(\"let\"),advance(\"(\"),state.tokens.prev.fud(),advance(\")\")),\"(end)\"===state.tokens.next.id&&error(\"E006\",state.tokens.curr);var isDangerous=state.option.asi&&state.tokens.prev.line!==startLine(state.tokens.curr)&&_.contains([\"]\",\")\"],state.tokens.prev.id)&&_.contains([\"[\",\"(\"],state.tokens.curr.id);if(isDangerous&&warning(\"W014\",state.tokens.curr,state.tokens.curr.id),advance(),initial&&(state.funct[\"(verb)\"]=state.tokens.curr.value,state.tokens.curr.beginsStmt=!0),initial===!0&&state.tokens.curr.fud)left=state.tokens.curr.fud();else for(state.tokens.curr.nud?left=state.tokens.curr.nud():error(\"E030\",state.tokens.curr,state.tokens.curr.id);(state.tokens.next.lbp>rbp||\"(template)\"===state.tokens.next.type)&&!isEndOfExpr();)isArray=\"Array\"===state.tokens.curr.value,isObject=\"Object\"===state.tokens.curr.value,left&&(left.value||left.first&&left.first.value)&&(\"new\"!==left.value||left.first&&left.first.value&&\".\"===left.first.value)&&(isArray=!1,left.value!==state.tokens.curr.value&&(isObject=!1)),advance(),isArray&&\"(\"===state.tokens.curr.id&&\")\"===state.tokens.next.id&&warning(\"W009\",state.tokens.curr),isObject&&\"(\"===state.tokens.curr.id&&\")\"===state.tokens.next.id&&warning(\"W010\",state.tokens.curr),left&&state.tokens.curr.led?left=state.tokens.curr.led(left):error(\"E033\",state.tokens.curr,state.tokens.curr.id);return isLetExpr&&state.funct[\"(scope)\"].unstack(),state.nameStack.pop(),left}function startLine(token){return token.startLine||token.line}function nobreaknonadjacent(left,right){left=left||state.tokens.curr,right=right||state.tokens.next,state.option.laxbreak||left.line===startLine(right)||warning(\"W014\",right,right.value)}function nolinebreak(t){t=t||state.tokens.curr,t.line!==startLine(state.tokens.next)&&warning(\"E022\",t,t.value)}function nobreakcomma(left,right){left.line!==startLine(right)&&(state.option.laxcomma||(comma.first&&(warning(\"I001\"),comma.first=!1),warning(\"W014\",left,right.value)))}function comma(opts){if(opts=opts||{},opts.peek?nobreakcomma(state.tokens.prev,state.tokens.curr):(nobreakcomma(state.tokens.curr,state.tokens.next),advance(\",\")),state.tokens.next.identifier&&(!opts.property||!state.inES5()))switch(state.tokens.next.value){case\"break\":case\"case\":case\"catch\":case\"continue\":case\"default\":case\"do\":case\"else\":case\"finally\":case\"for\":case\"if\":case\"in\":case\"instanceof\":case\"return\":case\"switch\":case\"throw\":case\"try\":case\"var\":case\"let\":case\"while\":case\"with\":return error(\"E024\",state.tokens.next,state.tokens.next.value),!1}if(\"(punctuator)\"===state.tokens.next.type)switch(state.tokens.next.value){case\"}\":case\"]\":case\",\":if(opts.allowTrailing)return!0;case\")\":return error(\"E024\",state.tokens.next,state.tokens.next.value),!1}return!0}function symbol(s,p){var x=state.syntax[s];return x&&\"object\"==typeof x||(state.syntax[s]=x={id:s,lbp:p,value:s}),x}function delim(s){var x=symbol(s,0);return x.delim=!0,x}function stmt(s,f){var x=delim(s);return x.identifier=x.reserved=!0,x.fud=f,x}function blockstmt(s,f){var x=stmt(s,f);return x.block=!0,x}function reserveName(x){var c=x.id.charAt(0);return(c>=\"a\"&&\"z\">=c||c>=\"A\"&&\"Z\">=c)&&(x.identifier=x.reserved=!0),x}function prefix(s,f){var x=symbol(s,150);return reserveName(x),x.nud=\"function\"==typeof f?f:function(){return this.arity=\"unary\",this.right=expression(150),(\"++\"===this.id||\"--\"===this.id)&&(state.option.plusplus?warning(\"W016\",this,this.id):!this.right||this.right.identifier&&!isReserved(this.right)||\".\"===this.right.id||\"[\"===this.right.id||warning(\"W017\",this),this.right&&this.right.isMetaProperty?error(\"E031\",this):this.right&&this.right.identifier&&state.funct[\"(scope)\"].block.modify(this.right.value,this)),this},x}function type(s,f){var x=delim(s);return x.type=s,x.nud=f,x}function reserve(name,func){var x=type(name,func);return x.identifier=!0,x.reserved=!0,x}function FutureReservedWord(name,meta){var x=type(name,meta&&meta.nud||function(){return this});return meta=meta||{},meta.isFutureReservedWord=!0,x.value=name,x.identifier=!0,x.reserved=!0,x.meta=meta,x}function reservevar(s,v){return reserve(s,function(){return\"function\"==typeof v&&v(this),this})}function infix(s,f,p,w){var x=symbol(s,p);return reserveName(x),x.infix=!0,x.led=function(left){return w||nobreaknonadjacent(state.tokens.prev,state.tokens.curr),\"in\"!==s&&\"instanceof\"!==s||\"!\"!==left.id||warning(\"W018\",left,\"!\"),\"function\"==typeof f?f(left,this):(this.left=left,this.right=expression(p),this)},x}function application(s){var x=symbol(s,42);return x.led=function(left){return nobreaknonadjacent(state.tokens.prev,state.tokens.curr),this.left=left,this.right=doFunction({type:\"arrow\",loneArg:left}),this},x}function relation(s,f){var x=symbol(s,100);return x.led=function(left){nobreaknonadjacent(state.tokens.prev,state.tokens.curr),this.left=left;var right=this.right=expression(100);return isIdentifier(left,\"NaN\")||isIdentifier(right,\"NaN\")?warning(\"W019\",this):f&&f.apply(this,[left,right]),left&&right||quit(\"E041\",state.tokens.curr.line),\"!\"===left.id&&warning(\"W018\",left,\"!\"),\"!\"===right.id&&warning(\"W018\",right,\"!\"),this},x}function isPoorRelation(node){return node&&(\"(number)\"===node.type&&0===+node.value||\"(string)\"===node.type&&\"\"===node.value||\"null\"===node.type&&!state.option.eqnull||\"true\"===node.type||\"false\"===node.type||\"undefined\"===node.type)}function isTypoTypeof(left,right,state){var values;return state.option.notypeof?!1:left&&right?(values=state.inES6()?typeofValues.es6:typeofValues.es3,\"(identifier)\"===right.type&&\"typeof\"===right.value&&\"(string)\"===left.type?!_.contains(values,left.value):!1):!1}function isGlobalEval(left,state){var isGlobal=!1;return\"this\"===left.type&&null===state.funct[\"(context)\"]?isGlobal=!0:\"(identifier)\"===left.type&&(state.option.node&&\"global\"===left.value?isGlobal=!0:!state.option.browser||\"window\"!==left.value&&\"document\"!==left.value||(isGlobal=!0)),isGlobal}function findNativePrototype(left){function walkPrototype(obj){return\"object\"==typeof obj?\"prototype\"===obj.right?obj:walkPrototype(obj.left):void 0}function walkNative(obj){for(;!obj.identifier&&\"object\"==typeof obj.left;)obj=obj.left;return obj.identifier&&natives.indexOf(obj.value)>=0?obj.value:void 0}var natives=[\"Array\",\"ArrayBuffer\",\"Boolean\",\"Collator\",\"DataView\",\"Date\",\"DateTimeFormat\",\"Error\",\"EvalError\",\"Float32Array\",\"Float64Array\",\"Function\",\"Infinity\",\"Intl\",\"Int16Array\",\"Int32Array\",\"Int8Array\",\"Iterator\",\"Number\",\"NumberFormat\",\"Object\",\"RangeError\",\"ReferenceError\",\"RegExp\",\"StopIteration\",\"String\",\"SyntaxError\",\"TypeError\",\"Uint16Array\",\"Uint32Array\",\"Uint8Array\",\"Uint8ClampedArray\",\"URIError\"],prototype=walkPrototype(left);return prototype?walkNative(prototype):void 0}function checkLeftSideAssign(left,assignToken,options){var allowDestructuring=options&&options.allowDestructuring;if(assignToken=assignToken||left,state.option.freeze){var nativeObject=findNativePrototype(left);nativeObject&&warning(\"W121\",left,nativeObject)}return left.identifier&&!left.isMetaProperty&&state.funct[\"(scope)\"].block.reassign(left.value,left),\".\"===left.id?((!left.left||\"arguments\"===left.left.value&&!state.isStrict())&&warning(\"E031\",assignToken),state.nameStack.set(state.tokens.prev),!0):\"{\"===left.id||\"[\"===left.id?(allowDestructuring&&state.tokens.curr.left.destructAssign?state.tokens.curr.left.destructAssign.forEach(function(t){t.id&&state.funct[\"(scope)\"].block.modify(t.id,t.token)}):\"{\"!==left.id&&left.left?\"arguments\"!==left.left.value||state.isStrict()||warning(\"E031\",assignToken):warning(\"E031\",assignToken),\"[\"===left.id&&state.nameStack.set(left.right),!0):left.isMetaProperty?(error(\"E031\",assignToken),!0):left.identifier&&!isReserved(left)?(\"exception\"===state.funct[\"(scope)\"].labeltype(left.value)&&warning(\"W022\",left),state.nameStack.set(left),!0):(left===state.syntax[\"function\"]&&warning(\"W023\",state.tokens.curr),!1)}function assignop(s,f,p){var x=infix(s,\"function\"==typeof f?f:function(left,that){return that.left=left,left&&checkLeftSideAssign(left,that,{allowDestructuring:!0})?(that.right=expression(10),that):(error(\"E031\",that),void 0)},p);return x.exps=!0,x.assign=!0,x}function bitwise(s,f,p){var x=symbol(s,p);return reserveName(x),x.led=\"function\"==typeof f?f:function(left){return state.option.bitwise&&warning(\"W016\",this,this.id),this.left=left,this.right=expression(p),this},x}function bitwiseassignop(s){return assignop(s,function(left,that){return state.option.bitwise&&warning(\"W016\",that,that.id),left&&checkLeftSideAssign(left,that)?(that.right=expression(10),that):(error(\"E031\",that),void 0)},20)}function suffix(s){var x=symbol(s,150);return x.led=function(left){return state.option.plusplus?warning(\"W016\",this,this.id):left.identifier&&!isReserved(left)||\".\"===left.id||\"[\"===left.id||warning(\"W017\",this),left.isMetaProperty?error(\"E031\",this):left&&left.identifier&&state.funct[\"(scope)\"].block.modify(left.value,left),this.left=left,this},x}function optionalidentifier(fnparam,prop,preserve){if(state.tokens.next.identifier){preserve||advance();var curr=state.tokens.curr,val=state.tokens.curr.value;return isReserved(curr)?prop&&state.inES5()?val:fnparam&&\"undefined\"===val?val:(warning(\"W024\",state.tokens.curr,state.tokens.curr.id),val):val}}function identifier(fnparam,prop){var i=optionalidentifier(fnparam,prop,!1);if(i)return i;if(\"...\"===state.tokens.next.value){if(state.inES6(!0)||warning(\"W119\",state.tokens.next,\"spread/rest operator\",\"6\"),advance(),checkPunctuator(state.tokens.next,\"...\"))for(warning(\"E024\",state.tokens.next,\"...\");checkPunctuator(state.tokens.next,\"...\");)advance();return state.tokens.next.identifier?identifier(fnparam,prop):(warning(\"E024\",state.tokens.curr,\"...\"),void 0)}error(\"E030\",state.tokens.next,state.tokens.next.value),\";\"!==state.tokens.next.id&&advance()}function reachable(controlToken){var t,i=0;if(\";\"===state.tokens.next.id&&!controlToken.inBracelessBlock)for(;;){do t=peek(i),i+=1;while(\"(end)\"!==t.id&&\"(comment)\"===t.id);if(t.reach)return;if(\"(endline)\"!==t.id){if(\"function\"===t.id){state.option.latedef===!0&&warning(\"W026\",t);break}warning(\"W027\",t,t.value,controlToken.value);break}}}function parseFinalSemicolon(){if(\";\"!==state.tokens.next.id){if(state.tokens.next.isUnclosed)return advance();var sameLine=startLine(state.tokens.next)===state.tokens.curr.line&&\"(end)\"!==state.tokens.next.id,blockEnd=checkPunctuator(state.tokens.next,\"}\");sameLine&&!blockEnd?errorAt(\"E058\",state.tokens.curr.line,state.tokens.curr.character):state.option.asi||(blockEnd&&!state.option.lastsemic||!sameLine)&&warningAt(\"W033\",state.tokens.curr.line,state.tokens.curr.character)}else advance(\";\")}function statement(){var r,i=indent,t=state.tokens.next,hasOwnScope=!1;if(\";\"===t.id)return advance(\";\"),void 0;var res=isReserved(t);if(res&&t.meta&&t.meta.isFutureReservedWord&&\":\"===peek().id&&(warning(\"W024\",t,t.id),res=!1),t.identifier&&!res&&\":\"===peek().id&&(advance(),advance(\":\"),hasOwnScope=!0,state.funct[\"(scope)\"].stack(),state.funct[\"(scope)\"].block.addBreakLabel(t.value,{token:state.tokens.curr}),state.tokens.next.labelled||\"{\"===state.tokens.next.value||warning(\"W028\",state.tokens.next,t.value,state.tokens.next.value),state.tokens.next.label=t.value,t=state.tokens.next),\"{\"===t.id){var iscase=\"case\"===state.funct[\"(verb)\"]&&\":\"===state.tokens.curr.value;return block(!0,!0,!1,!1,iscase),void 0}return r=expression(0,!0),!r||r.identifier&&\"function\"===r.value||\"(punctuator)\"===r.type&&r.left&&r.left.identifier&&\"function\"===r.left.value||state.isStrict()||\"global\"!==state.option.strict||warning(\"E007\"),t.block||(state.option.expr||r&&r.exps?state.option.nonew&&r&&r.left&&\"(\"===r.id&&\"new\"===r.left.id&&warning(\"W031\",t):warning(\"W030\",state.tokens.curr),parseFinalSemicolon()),indent=i,hasOwnScope&&state.funct[\"(scope)\"].unstack(),r}function statements(){for(var p,a=[];!state.tokens.next.reach&&\"(end)\"!==state.tokens.next.id;)\";\"===state.tokens.next.id?(p=peek(),(!p||\"(\"!==p.id&&\"[\"!==p.id)&&warning(\"W032\"),advance(\";\")):a.push(statement());return a}function directives(){for(var i,p,pn;\"(string)\"===state.tokens.next.id;){if(p=peek(0),\"(endline)\"===p.id){i=1;do pn=peek(i++);while(\"(endline)\"===pn.id);if(\";\"===pn.id)p=pn;else{if(\"[\"===pn.value||\".\"===pn.value)break;state.option.asi&&\"(\"!==pn.value||warning(\"W033\",state.tokens.next)}}else{if(\".\"===p.id||\"[\"===p.id)break;\";\"!==p.id&&warning(\"W033\",p)}advance();var directive=state.tokens.curr.value;(state.directive[directive]||\"use strict\"===directive&&\"implied\"===state.option.strict)&&warning(\"W034\",state.tokens.curr,directive),state.directive[directive]=!0,\";\"===p.id&&advance(\";\")}state.isStrict()&&(state.option[\"(explicitNewcap)\"]||(state.option.newcap=!0),state.option.undef=!0)}function block(ordinary,stmt,isfunc,isfatarrow,iscase){var a,m,t,line,d,b=inblock,old_indent=indent;inblock=ordinary,t=state.tokens.next;var metrics=state.funct[\"(metrics)\"];if(metrics.nestedBlockDepth+=1,metrics.verifyMaxNestedBlockDepthPerFunction(),\"{\"===state.tokens.next.id){if(advance(\"{\"),state.funct[\"(scope)\"].stack(),line=state.tokens.curr.line,\"}\"!==state.tokens.next.id){for(indent+=state.option.indent;!ordinary&&state.tokens.next.from>indent;)indent+=state.option.indent;if(isfunc){m={};for(d in state.directive)_.has(state.directive,d)&&(m[d]=state.directive[d]);directives(),state.option.strict&&state.funct[\"(context)\"][\"(global)\"]&&(m[\"use strict\"]||state.isStrict()||warning(\"E007\"))}a=statements(),metrics.statementCount+=a.length,indent-=state.option.indent}advance(\"}\",t),isfunc&&(state.funct[\"(scope)\"].validateParams(),m&&(state.directive=m)),state.funct[\"(scope)\"].unstack(),indent=old_indent}else if(ordinary)state.funct[\"(noblockscopedvar)\"]=\"for\"!==state.tokens.next.id,state.funct[\"(scope)\"].stack(),(!stmt||state.option.curly)&&warning(\"W116\",state.tokens.next,\"{\",state.tokens.next.value),state.tokens.next.inBracelessBlock=!0,indent+=state.option.indent,a=[statement()],indent-=state.option.indent,state.funct[\"(scope)\"].unstack(),delete state.funct[\"(noblockscopedvar)\"];else if(isfunc){if(state.funct[\"(scope)\"].stack(),m={},!stmt||isfatarrow||state.inMoz()||error(\"W118\",state.tokens.curr,\"function closure expressions\"),!stmt)for(d in state.directive)_.has(state.directive,d)&&(m[d]=state.directive[d]);expression(10),state.option.strict&&state.funct[\"(context)\"][\"(global)\"]&&(m[\"use strict\"]||state.isStrict()||warning(\"E007\")),state.funct[\"(scope)\"].unstack()}else error(\"E021\",state.tokens.next,\"{\",state.tokens.next.value);switch(state.funct[\"(verb)\"]){case\"break\":case\"continue\":case\"return\":case\"throw\":if(iscase)break;default:state.funct[\"(verb)\"]=null}return inblock=b,!ordinary||!state.option.noempty||a&&0!==a.length||warning(\"W035\",state.tokens.prev),metrics.nestedBlockDepth-=1,a}function countMember(m){membersOnly&&\"boolean\"!=typeof membersOnly[m]&&warning(\"W036\",state.tokens.curr,m),\"number\"==typeof member[m]?member[m]+=1:member[m]=1}function comprehensiveArrayExpression(){var res={};res.exps=!0,state.funct[\"(comparray)\"].stack();var reversed=!1;return\"for\"!==state.tokens.next.value&&(reversed=!0,state.inMoz()||warning(\"W116\",state.tokens.next,\"for\",state.tokens.next.value),state.funct[\"(comparray)\"].setState(\"use\"),res.right=expression(10)),advance(\"for\"),\"each\"===state.tokens.next.value&&(advance(\"each\"),state.inMoz()||warning(\"W118\",state.tokens.curr,\"for each\")),advance(\"(\"),state.funct[\"(comparray)\"].setState(\"define\"),res.left=expression(130),_.contains([\"in\",\"of\"],state.tokens.next.value)?advance():error(\"E045\",state.tokens.curr),state.funct[\"(comparray)\"].setState(\"generate\"),expression(10),advance(\")\"),\"if\"===state.tokens.next.value&&(advance(\"if\"),advance(\"(\"),state.funct[\"(comparray)\"].setState(\"filter\"),res.filter=expression(10),advance(\")\")),reversed||(state.funct[\"(comparray)\"].setState(\"use\"),res.right=expression(10)),advance(\"]\"),state.funct[\"(comparray)\"].unstack(),res}function isMethod(){return state.funct[\"(statement)\"]&&\"class\"===state.funct[\"(statement)\"].type||state.funct[\"(context)\"]&&\"class\"===state.funct[\"(context)\"][\"(verb)\"]}function isPropertyName(token){return token.identifier||\"(string)\"===token.id||\"(number)\"===token.id}function propertyName(preserveOrToken){var id,preserve=!0;return\"object\"==typeof preserveOrToken?id=preserveOrToken:(preserve=preserveOrToken,id=optionalidentifier(!1,!0,preserve)),id?\"object\"==typeof id&&(\"(string)\"===id.id||\"(identifier)\"===id.id?id=id.value:\"(number)\"===id.id&&(id=\"\"+id.value)):\"(string)\"===state.tokens.next.id?(id=state.tokens.next.value,preserve||advance()):\"(number)\"===state.tokens.next.id&&(id=\"\"+state.tokens.next.value,preserve||advance()),\"hasOwnProperty\"===id&&warning(\"W001\"),id}function functionparams(options){function addParam(addParamArgs){state.funct[\"(scope)\"].addParam.apply(state.funct[\"(scope)\"],addParamArgs)}var next,ident,t,paramsIds=[],tokens=[],pastDefault=!1,pastRest=!1,arity=0,loneArg=options&&options.loneArg;if(loneArg&&loneArg.identifier===!0)return state.funct[\"(scope)\"].addParam(loneArg.value,loneArg),{arity:1,params:[loneArg.value]};if(next=state.tokens.next,options&&options.parsedOpening||advance(\"(\"),\")\"===state.tokens.next.id)return advance(\")\"),void 0;for(;;){arity++;var currentParams=[];if(_.contains([\"{\",\"[\"],state.tokens.next.id)){tokens=destructuringPattern();for(t in tokens)t=tokens[t],t.id&&(paramsIds.push(t.id),currentParams.push([t.id,t.token]))}else if(checkPunctuator(state.tokens.next,\"...\")&&(pastRest=!0),ident=identifier(!0))paramsIds.push(ident),currentParams.push([ident,state.tokens.curr]);else for(;!checkPunctuators(state.tokens.next,[\",\",\")\"]);)advance();if(pastDefault&&\"=\"!==state.tokens.next.id&&error(\"W138\",state.tokens.current),\"=\"===state.tokens.next.id&&(state.inES6()||warning(\"W119\",state.tokens.next,\"default parameters\",\"6\"),advance(\"=\"),pastDefault=!0,expression(10)),currentParams.forEach(addParam),\",\"!==state.tokens.next.id)return advance(\")\",next),{arity:arity,params:paramsIds};pastRest&&warning(\"W131\",state.tokens.next),comma()}}function functor(name,token,overwrites){var funct={\"(name)\":name,\"(breakage)\":0,\"(loopage)\":0,\"(tokens)\":{},\"(properties)\":{},\"(catch)\":!1,\"(global)\":!1,\"(line)\":null,\"(character)\":null,\"(metrics)\":null,\"(statement)\":null,\"(context)\":null,\"(scope)\":null,\"(comparray)\":null,\"(generator)\":null,\"(arrow)\":null,\"(params)\":null};return token&&_.extend(funct,{\"(line)\":token.line,\"(character)\":token.character,\"(metrics)\":createMetrics(token)}),_.extend(funct,overwrites),funct[\"(context)\"]&&(funct[\"(scope)\"]=funct[\"(context)\"][\"(scope)\"],funct[\"(comparray)\"]=funct[\"(context)\"][\"(comparray)\"]),funct}function isFunctor(token){return\"(scope)\"in token}function hasParsedCode(funct){return funct[\"(global)\"]&&!funct[\"(verb)\"]}function doTemplateLiteral(left){function end(){if(state.tokens.curr.template&&state.tokens.curr.tail&&state.tokens.curr.context===ctx)return!0;var complete=state.tokens.next.template&&state.tokens.next.tail&&state.tokens.next.context===ctx;return complete&&advance(),complete||state.tokens.next.isUnclosed}var ctx=this.context,noSubst=this.noSubst,depth=this.depth;if(!noSubst)for(;!end();)!state.tokens.next.template||state.tokens.next.depth>depth?expression(0):advance();return{id:\"(template)\",type:\"(template)\",tag:left}}function doFunction(options){var f,token,name,statement,classExprBinding,isGenerator,isArrow,ignoreLoopFunc,oldOption=state.option,oldIgnored=state.ignored;options&&(name=options.name,statement=options.statement,classExprBinding=options.classExprBinding,isGenerator=\"generator\"===options.type,isArrow=\"arrow\"===options.type,ignoreLoopFunc=options.ignoreLoopFunc),state.option=Object.create(state.option),state.ignored=Object.create(state.ignored),state.funct=functor(name||state.nameStack.infer(),state.tokens.next,{\"(statement)\":statement,\"(context)\":state.funct,\"(arrow)\":isArrow,\"(generator)\":isGenerator}),f=state.funct,token=state.tokens.curr,token.funct=state.funct,functions.push(state.funct),state.funct[\"(scope)\"].stack(\"functionouter\");var internallyAccessibleName=name||classExprBinding;internallyAccessibleName&&state.funct[\"(scope)\"].block.add(internallyAccessibleName,classExprBinding?\"class\":\"function\",state.tokens.curr,!1),state.funct[\"(scope)\"].stack(\"functionparams\");var paramsInfo=functionparams(options);return paramsInfo?(state.funct[\"(params)\"]=paramsInfo.params,state.funct[\"(metrics)\"].arity=paramsInfo.arity,state.funct[\"(metrics)\"].verifyMaxParametersPerFunction()):state.funct[\"(metrics)\"].arity=0,isArrow&&(state.inES6(!0)||warning(\"W119\",state.tokens.curr,\"arrow function syntax (=>)\",\"6\"),options.loneArg||advance(\"=>\")),block(!1,!0,!0,isArrow),!state.option.noyield&&isGenerator&&\"yielded\"!==state.funct[\"(generator)\"]&&warning(\"W124\",state.tokens.curr),state.funct[\"(metrics)\"].verifyMaxStatementsPerFunction(),state.funct[\"(metrics)\"].verifyMaxComplexityPerFunction(),state.funct[\"(unusedOption)\"]=state.option.unused,state.option=oldOption,state.ignored=oldIgnored,state.funct[\"(last)\"]=state.tokens.curr.line,state.funct[\"(lastcharacter)\"]=state.tokens.curr.character,state.funct[\"(scope)\"].unstack(),state.funct[\"(scope)\"].unstack(),state.funct=state.funct[\"(context)\"],ignoreLoopFunc||state.option.loopfunc||!state.funct[\"(loopage)\"]||f[\"(isCapturing)\"]&&warning(\"W083\",token),f}function createMetrics(functionStartToken){return{statementCount:0,nestedBlockDepth:-1,ComplexityCount:1,arity:0,verifyMaxStatementsPerFunction:function(){state.option.maxstatements&&this.statementCount>state.option.maxstatements&&warning(\"W071\",functionStartToken,this.statementCount)\n},verifyMaxParametersPerFunction:function(){_.isNumber(state.option.maxparams)&&this.arity>state.option.maxparams&&warning(\"W072\",functionStartToken,this.arity)},verifyMaxNestedBlockDepthPerFunction:function(){state.option.maxdepth&&this.nestedBlockDepth>0&&this.nestedBlockDepth===state.option.maxdepth+1&&warning(\"W073\",null,this.nestedBlockDepth)},verifyMaxComplexityPerFunction:function(){var max=state.option.maxcomplexity,cc=this.ComplexityCount;max&&cc>max&&warning(\"W074\",functionStartToken,cc)}}}function increaseComplexityCount(){state.funct[\"(metrics)\"].ComplexityCount+=1}function checkCondAssignment(expr){var id,paren;switch(expr&&(id=expr.id,paren=expr.paren,\",\"===id&&(expr=expr.exprs[expr.exprs.length-1])&&(id=expr.id,paren=paren||expr.paren)),id){case\"=\":case\"+=\":case\"-=\":case\"*=\":case\"%=\":case\"&=\":case\"|=\":case\"^=\":case\"/=\":paren||state.option.boss||warning(\"W084\")}}function checkProperties(props){if(state.inES5())for(var name in props)props[name]&&props[name].setterToken&&!props[name].getterToken&&warning(\"W078\",props[name].setterToken)}function metaProperty(name,c){if(checkPunctuator(state.tokens.next,\".\")){var left=state.tokens.curr.id;advance(\".\");var id=identifier();return state.tokens.curr.isMetaProperty=!0,name!==id?error(\"E057\",state.tokens.prev,left,id):c(),state.tokens.curr}}function destructuringPattern(options){var isAssignment=options&&options.assignment;return state.inES6()||warning(\"W104\",state.tokens.curr,isAssignment?\"destructuring assignment\":\"destructuring binding\",\"6\"),destructuringPatternRecursive(options)}function destructuringPatternRecursive(options){var ids,identifiers=[],openingParsed=options&&options.openingParsed,isAssignment=options&&options.assignment,recursiveOptions=isAssignment?{assignment:isAssignment}:null,firstToken=openingParsed?state.tokens.curr:state.tokens.next,nextInnerDE=function(){var ident;if(checkPunctuators(state.tokens.next,[\"[\",\"{\"])){ids=destructuringPatternRecursive(recursiveOptions);for(var id in ids)id=ids[id],identifiers.push({id:id.id,token:id.token})}else if(checkPunctuator(state.tokens.next,\",\"))identifiers.push({id:null,token:state.tokens.curr});else{if(!checkPunctuator(state.tokens.next,\"(\")){var is_rest=checkPunctuator(state.tokens.next,\"...\");if(isAssignment){var identifierToken=is_rest?peek(0):state.tokens.next;identifierToken.identifier||warning(\"E030\",identifierToken,identifierToken.value);var assignTarget=expression(155);assignTarget&&(checkLeftSideAssign(assignTarget),assignTarget.identifier&&(ident=assignTarget.value))}else ident=identifier();return ident&&identifiers.push({id:ident,token:state.tokens.curr}),is_rest}advance(\"(\"),nextInnerDE(),advance(\")\")}return!1},assignmentProperty=function(){var id;checkPunctuator(state.tokens.next,\"[\")?(advance(\"[\"),expression(10),advance(\"]\"),advance(\":\"),nextInnerDE()):\"(string)\"===state.tokens.next.id||\"(number)\"===state.tokens.next.id?(advance(),advance(\":\"),nextInnerDE()):(id=identifier(),checkPunctuator(state.tokens.next,\":\")?(advance(\":\"),nextInnerDE()):id&&(isAssignment&&checkLeftSideAssign(state.tokens.curr),identifiers.push({id:id,token:state.tokens.curr})))};if(checkPunctuator(firstToken,\"[\")){openingParsed||advance(\"[\"),checkPunctuator(state.tokens.next,\"]\")&&warning(\"W137\",state.tokens.curr);for(var element_after_rest=!1;!checkPunctuator(state.tokens.next,\"]\");)nextInnerDE()&&!element_after_rest&&checkPunctuator(state.tokens.next,\",\")&&(warning(\"W130\",state.tokens.next),element_after_rest=!0),checkPunctuator(state.tokens.next,\"=\")&&(checkPunctuator(state.tokens.prev,\"...\")?advance(\"]\"):advance(\"=\"),\"undefined\"===state.tokens.next.id&&warning(\"W080\",state.tokens.prev,state.tokens.prev.value),expression(10)),checkPunctuator(state.tokens.next,\"]\")||advance(\",\");advance(\"]\")}else if(checkPunctuator(firstToken,\"{\")){for(openingParsed||advance(\"{\"),checkPunctuator(state.tokens.next,\"}\")&&warning(\"W137\",state.tokens.curr);!checkPunctuator(state.tokens.next,\"}\")&&(assignmentProperty(),checkPunctuator(state.tokens.next,\"=\")&&(advance(\"=\"),\"undefined\"===state.tokens.next.id&&warning(\"W080\",state.tokens.prev,state.tokens.prev.value),expression(10)),checkPunctuator(state.tokens.next,\"}\")||(advance(\",\"),!checkPunctuator(state.tokens.next,\"}\"))););advance(\"}\")}return identifiers}function destructuringPatternMatch(tokens,value){var first=value.first;first&&_.zip(tokens,Array.isArray(first)?first:[first]).forEach(function(val){var token=val[0],value=val[1];token&&value?token.first=value:token&&token.first&&!value&&warning(\"W080\",token.first,token.first.value)})}function blockVariableStatement(type,statement,context){var tokens,lone,value,letblock,prefix=context&&context.prefix,inexport=context&&context.inexport,isLet=\"let\"===type,isConst=\"const\"===type;for(state.inES6()||warning(\"W104\",state.tokens.curr,type,\"6\"),isLet&&\"(\"===state.tokens.next.value?(state.inMoz()||warning(\"W118\",state.tokens.next,\"let block\"),advance(\"(\"),state.funct[\"(scope)\"].stack(),letblock=!0):state.funct[\"(noblockscopedvar)\"]&&error(\"E048\",state.tokens.curr,isConst?\"Const\":\"Let\"),statement.first=[];;){var names=[];_.contains([\"{\",\"[\"],state.tokens.next.value)?(tokens=destructuringPattern(),lone=!1):(tokens=[{id:identifier(),token:state.tokens.curr}],lone=!0),!prefix&&isConst&&\"=\"!==state.tokens.next.id&&warning(\"E012\",state.tokens.curr,state.tokens.curr.value);for(var t in tokens)tokens.hasOwnProperty(t)&&(t=tokens[t],state.funct[\"(scope)\"].block.isGlobal()&&predefined[t.id]===!1&&warning(\"W079\",t.token,t.id),t.id&&!state.funct[\"(noblockscopedvar)\"]&&(state.funct[\"(scope)\"].addlabel(t.id,{type:type,token:t.token}),names.push(t.token),lone&&inexport&&state.funct[\"(scope)\"].setExported(t.token.value,t.token)));if(\"=\"===state.tokens.next.id&&(advance(\"=\"),prefix||\"undefined\"!==state.tokens.next.id||warning(\"W080\",state.tokens.prev,state.tokens.prev.value),!prefix&&\"=\"===peek(0).id&&state.tokens.next.identifier&&warning(\"W120\",state.tokens.next,state.tokens.next.value),value=expression(prefix?120:10),lone?tokens[0].first=value:destructuringPatternMatch(names,value)),statement.first=statement.first.concat(names),\",\"!==state.tokens.next.id)break;comma()}return letblock&&(advance(\")\"),block(!0,!0),statement.block=!0,state.funct[\"(scope)\"].unstack()),statement}function classdef(isStatement){return state.inES6()||warning(\"W104\",state.tokens.curr,\"class\",\"6\"),isStatement?(this.name=identifier(),state.funct[\"(scope)\"].addlabel(this.name,{type:\"class\",token:state.tokens.curr})):state.tokens.next.identifier&&\"extends\"!==state.tokens.next.value?(this.name=identifier(),this.namedExpr=!0):this.name=state.nameStack.infer(),classtail(this),this}function classtail(c){var wasInClassBody=state.inClassBody;\"extends\"===state.tokens.next.value&&(advance(\"extends\"),c.heritage=expression(10)),state.inClassBody=!0,advance(\"{\"),c.body=classbody(c),advance(\"}\"),state.inClassBody=wasInClassBody}function classbody(c){for(var name,isStatic,isGenerator,getset,computed,props=Object.create(null),staticProps=Object.create(null),i=0;\"}\"!==state.tokens.next.id;++i)if(name=state.tokens.next,isStatic=!1,isGenerator=!1,getset=null,\";\"!==name.id){if(\"*\"===name.id&&(isGenerator=!0,advance(\"*\"),name=state.tokens.next),\"[\"===name.id)name=computedPropertyName(),computed=!0;else{if(!isPropertyName(name)){warning(\"W052\",state.tokens.next,state.tokens.next.value||state.tokens.next.type),advance();continue}advance(),computed=!1,name.identifier&&\"static\"===name.value&&(checkPunctuator(state.tokens.next,\"*\")&&(isGenerator=!0,advance(\"*\")),(isPropertyName(state.tokens.next)||\"[\"===state.tokens.next.id)&&(computed=\"[\"===state.tokens.next.id,isStatic=!0,name=state.tokens.next,\"[\"===state.tokens.next.id?name=computedPropertyName():advance())),!name.identifier||\"get\"!==name.value&&\"set\"!==name.value||(isPropertyName(state.tokens.next)||\"[\"===state.tokens.next.id)&&(computed=\"[\"===state.tokens.next.id,getset=name,name=state.tokens.next,\"[\"===state.tokens.next.id?name=computedPropertyName():advance())}if(!checkPunctuator(state.tokens.next,\"(\")){for(error(\"E054\",state.tokens.next,state.tokens.next.value);\"}\"!==state.tokens.next.id&&!checkPunctuator(state.tokens.next,\"(\");)advance();\"(\"!==state.tokens.next.value&&doFunction({statement:c})}if(computed||(getset?saveAccessor(getset.value,isStatic?staticProps:props,name.value,name,!0,isStatic):(\"constructor\"===name.value?state.nameStack.set(c):state.nameStack.set(name),saveProperty(isStatic?staticProps:props,name.value,name,!0,isStatic))),getset&&\"constructor\"===name.value){var propDesc=\"get\"===getset.value?\"class getter method\":\"class setter method\";error(\"E049\",name,propDesc,\"constructor\")}else\"prototype\"===name.value&&error(\"E049\",name,\"class method\",\"prototype\");propertyName(name),doFunction({statement:c,type:isGenerator?\"generator\":null,classExprBinding:c.namedExpr?c.name:null})}else warning(\"W032\"),advance(\";\");checkProperties(props)}function saveProperty(props,name,tkn,isClass,isStatic){var msg=[\"key\",\"class method\",\"static class method\"];msg=msg[(isClass||!1)+(isStatic||!1)],tkn.identifier&&(name=tkn.value),props[name]&&\"__proto__\"!==name?warning(\"W075\",state.tokens.next,msg,name):props[name]=Object.create(null),props[name].basic=!0,props[name].basictkn=tkn}function saveAccessor(accessorType,props,name,tkn,isClass,isStatic){var flagName=\"get\"===accessorType?\"getterToken\":\"setterToken\",msg=\"\";isClass?(isStatic&&(msg+=\"static \"),msg+=accessorType+\"ter method\"):msg=\"key\",state.tokens.curr.accessorType=accessorType,state.nameStack.set(tkn),props[name]?(props[name].basic||props[name][flagName])&&\"__proto__\"!==name&&warning(\"W075\",state.tokens.next,msg,name):props[name]=Object.create(null),props[name][flagName]=tkn}function computedPropertyName(){advance(\"[\"),state.inES6()||warning(\"W119\",state.tokens.curr,\"computed property names\",\"6\");var value=expression(10);return advance(\"]\"),value}function checkPunctuators(token,values){return\"(punctuator)\"===token.type?_.contains(values,token.value):!1}function checkPunctuator(token,value){return\"(punctuator)\"===token.type&&token.value===value}function destructuringAssignOrJsonValue(){var block=lookupBlockType();block.notJson?(!state.inES6()&&block.isDestAssign&&warning(\"W104\",state.tokens.curr,\"destructuring assignment\",\"6\"),statements()):(state.option.laxbreak=!0,state.jsonMode=!0,jsonValue())}function jsonValue(){function jsonObject(){var o={},t=state.tokens.next;if(advance(\"{\"),\"}\"!==state.tokens.next.id)for(;;){if(\"(end)\"===state.tokens.next.id)error(\"E026\",state.tokens.next,t.line);else{if(\"}\"===state.tokens.next.id){warning(\"W094\",state.tokens.curr);break}\",\"===state.tokens.next.id?error(\"E028\",state.tokens.next):\"(string)\"!==state.tokens.next.id&&warning(\"W095\",state.tokens.next,state.tokens.next.value)}if(o[state.tokens.next.value]===!0?warning(\"W075\",state.tokens.next,\"key\",state.tokens.next.value):\"__proto__\"===state.tokens.next.value&&!state.option.proto||\"__iterator__\"===state.tokens.next.value&&!state.option.iterator?warning(\"W096\",state.tokens.next,state.tokens.next.value):o[state.tokens.next.value]=!0,advance(),advance(\":\"),jsonValue(),\",\"!==state.tokens.next.id)break;advance(\",\")}advance(\"}\")}function jsonArray(){var t=state.tokens.next;if(advance(\"[\"),\"]\"!==state.tokens.next.id)for(;;){if(\"(end)\"===state.tokens.next.id)error(\"E027\",state.tokens.next,t.line);else{if(\"]\"===state.tokens.next.id){warning(\"W094\",state.tokens.curr);break}\",\"===state.tokens.next.id&&error(\"E028\",state.tokens.next)}if(jsonValue(),\",\"!==state.tokens.next.id)break;advance(\",\")}advance(\"]\")}switch(state.tokens.next.id){case\"{\":jsonObject();break;case\"[\":jsonArray();break;case\"true\":case\"false\":case\"null\":case\"(number)\":case\"(string)\":advance();break;case\"-\":advance(\"-\"),advance(\"(number)\");break;default:error(\"E003\",state.tokens.next)}}var api,declared,functions,inblock,indent,lookahead,lex,member,membersOnly,predefined,stack,urls,bang={\"<\":!0,\"<=\":!0,\"==\":!0,\"===\":!0,\"!==\":!0,\"!=\":!0,\">\":!0,\">=\":!0,\"+\":!0,\"-\":!0,\"*\":!0,\"/\":!0,\"%\":!0},functionicity=[\"closure\",\"exception\",\"global\",\"label\",\"outer\",\"unused\",\"var\"],extraModules=[],emitter=new events.EventEmitter,typeofValues={};typeofValues.legacy=[\"xml\",\"unknown\"],typeofValues.es3=[\"undefined\",\"boolean\",\"number\",\"string\",\"function\",\"object\"],typeofValues.es3=typeofValues.es3.concat(typeofValues.legacy),typeofValues.es6=typeofValues.es3.concat(\"symbol\"),type(\"(number)\",function(){return this}),type(\"(string)\",function(){return this}),state.syntax[\"(identifier)\"]={type:\"(identifier)\",lbp:0,identifier:!0,nud:function(){var v=this.value;return\"=>\"===state.tokens.next.id?this:(state.funct[\"(comparray)\"].check(v)||state.funct[\"(scope)\"].block.use(v,state.tokens.curr),this)},led:function(){error(\"E033\",state.tokens.next,state.tokens.next.value)}};var baseTemplateSyntax={lbp:0,identifier:!1,template:!0};state.syntax[\"(template)\"]=_.extend({type:\"(template)\",nud:doTemplateLiteral,led:doTemplateLiteral,noSubst:!1},baseTemplateSyntax),state.syntax[\"(template middle)\"]=_.extend({type:\"(template middle)\",middle:!0,noSubst:!1},baseTemplateSyntax),state.syntax[\"(template tail)\"]=_.extend({type:\"(template tail)\",tail:!0,noSubst:!1},baseTemplateSyntax),state.syntax[\"(no subst template)\"]=_.extend({type:\"(template)\",nud:doTemplateLiteral,led:doTemplateLiteral,noSubst:!0,tail:!0},baseTemplateSyntax),type(\"(regexp)\",function(){return this}),delim(\"(endline)\"),delim(\"(begin)\"),delim(\"(end)\").reach=!0,delim(\"(error)\").reach=!0,delim(\"}\").reach=!0,delim(\")\"),delim(\"]\"),delim('\"').reach=!0,delim(\"'\").reach=!0,delim(\";\"),delim(\":\").reach=!0,delim(\"#\"),reserve(\"else\"),reserve(\"case\").reach=!0,reserve(\"catch\"),reserve(\"default\").reach=!0,reserve(\"finally\"),reservevar(\"arguments\",function(x){state.isStrict()&&state.funct[\"(global)\"]&&warning(\"E008\",x)}),reservevar(\"eval\"),reservevar(\"false\"),reservevar(\"Infinity\"),reservevar(\"null\"),reservevar(\"this\",function(x){state.isStrict()&&!isMethod()&&!state.option.validthis&&(state.funct[\"(statement)\"]&&state.funct[\"(name)\"].charAt(0)>\"Z\"||state.funct[\"(global)\"])&&warning(\"W040\",x)}),reservevar(\"true\"),reservevar(\"undefined\"),assignop(\"=\",\"assign\",20),assignop(\"+=\",\"assignadd\",20),assignop(\"-=\",\"assignsub\",20),assignop(\"*=\",\"assignmult\",20),assignop(\"/=\",\"assigndiv\",20).nud=function(){error(\"E014\")},assignop(\"%=\",\"assignmod\",20),bitwiseassignop(\"&=\"),bitwiseassignop(\"|=\"),bitwiseassignop(\"^=\"),bitwiseassignop(\"<<=\"),bitwiseassignop(\">>=\"),bitwiseassignop(\">>>=\"),infix(\",\",function(left,that){var expr;if(that.exprs=[left],state.option.nocomma&&warning(\"W127\"),!comma({peek:!0}))return that;for(;;){if(!(expr=expression(10)))break;if(that.exprs.push(expr),\",\"!==state.tokens.next.value||!comma())break}return that},10,!0),infix(\"?\",function(left,that){return increaseComplexityCount(),that.left=left,that.right=expression(10),advance(\":\"),that[\"else\"]=expression(10),that},30);var orPrecendence=40;infix(\"||\",function(left,that){return increaseComplexityCount(),that.left=left,that.right=expression(orPrecendence),that},orPrecendence),infix(\"&&\",\"and\",50),bitwise(\"|\",\"bitor\",70),bitwise(\"^\",\"bitxor\",80),bitwise(\"&\",\"bitand\",90),relation(\"==\",function(left,right){var eqnull=state.option.eqnull&&(\"null\"===(left&&left.value)||\"null\"===(right&&right.value));switch(!0){case!eqnull&&state.option.eqeqeq:this.from=this.character,warning(\"W116\",this,\"===\",\"==\");break;case isPoorRelation(left):warning(\"W041\",this,\"===\",left.value);break;case isPoorRelation(right):warning(\"W041\",this,\"===\",right.value);break;case isTypoTypeof(right,left,state):warning(\"W122\",this,right.value);break;case isTypoTypeof(left,right,state):warning(\"W122\",this,left.value)}return this}),relation(\"===\",function(left,right){return isTypoTypeof(right,left,state)?warning(\"W122\",this,right.value):isTypoTypeof(left,right,state)&&warning(\"W122\",this,left.value),this}),relation(\"!=\",function(left,right){var eqnull=state.option.eqnull&&(\"null\"===(left&&left.value)||\"null\"===(right&&right.value));return!eqnull&&state.option.eqeqeq?(this.from=this.character,warning(\"W116\",this,\"!==\",\"!=\")):isPoorRelation(left)?warning(\"W041\",this,\"!==\",left.value):isPoorRelation(right)?warning(\"W041\",this,\"!==\",right.value):isTypoTypeof(right,left,state)?warning(\"W122\",this,right.value):isTypoTypeof(left,right,state)&&warning(\"W122\",this,left.value),this}),relation(\"!==\",function(left,right){return isTypoTypeof(right,left,state)?warning(\"W122\",this,right.value):isTypoTypeof(left,right,state)&&warning(\"W122\",this,left.value),this}),relation(\"<\"),relation(\">\"),relation(\"<=\"),relation(\">=\"),bitwise(\"<<\",\"shiftleft\",120),bitwise(\">>\",\"shiftright\",120),bitwise(\">>>\",\"shiftrightunsigned\",120),infix(\"in\",\"in\",120),infix(\"instanceof\",\"instanceof\",120),infix(\"+\",function(left,that){var right;return that.left=left,that.right=right=expression(130),left&&right&&\"(string)\"===left.id&&\"(string)\"===right.id?(left.value+=right.value,left.character=right.character,!state.option.scripturl&®.javascriptURL.test(left.value)&&warning(\"W050\",left),left):that},130),prefix(\"+\",\"num\"),prefix(\"+++\",function(){return warning(\"W007\"),this.arity=\"unary\",this.right=expression(150),this}),infix(\"+++\",function(left){return warning(\"W007\"),this.left=left,this.right=expression(130),this},130),infix(\"-\",\"sub\",130),prefix(\"-\",\"neg\"),prefix(\"---\",function(){return warning(\"W006\"),this.arity=\"unary\",this.right=expression(150),this}),infix(\"---\",function(left){return warning(\"W006\"),this.left=left,this.right=expression(130),this},130),infix(\"*\",\"mult\",140),infix(\"/\",\"div\",140),infix(\"%\",\"mod\",140),suffix(\"++\"),prefix(\"++\",\"preinc\"),state.syntax[\"++\"].exps=!0,suffix(\"--\"),prefix(\"--\",\"predec\"),state.syntax[\"--\"].exps=!0,prefix(\"delete\",function(){var p=expression(10);return p?(\".\"!==p.id&&\"[\"!==p.id&&warning(\"W051\"),this.first=p,p.identifier&&!state.isStrict()&&(p.forgiveUndef=!0),this):this}).exps=!0,prefix(\"~\",function(){return state.option.bitwise&&warning(\"W016\",this,\"~\"),this.arity=\"unary\",this.right=expression(150),this}),prefix(\"...\",function(){return state.inES6(!0)||warning(\"W119\",this,\"spread/rest operator\",\"6\"),state.tokens.next.identifier||\"(string)\"===state.tokens.next.type||checkPunctuators(state.tokens.next,[\"[\",\"(\"])||error(\"E030\",state.tokens.next,state.tokens.next.value),expression(150),this}),prefix(\"!\",function(){return this.arity=\"unary\",this.right=expression(150),this.right||quit(\"E041\",this.line||0),bang[this.right.id]===!0&&warning(\"W018\",this,\"!\"),this}),prefix(\"typeof\",function(){var p=expression(150);return this.first=this.right=p,p||quit(\"E041\",this.line||0,this.character||0),p.identifier&&(p.forgiveUndef=!0),this}),prefix(\"new\",function(){var mp=metaProperty(\"target\",function(){state.inES6(!0)||warning(\"W119\",state.tokens.prev,\"new.target\",\"6\");for(var inFunction,c=state.funct;c&&(inFunction=!c[\"(global)\"],c[\"(arrow)\"]);)c=c[\"(context)\"];inFunction||warning(\"W136\",state.tokens.prev,\"new.target\")});if(mp)return mp;var i,c=expression(155);if(c&&\"function\"!==c.id)if(c.identifier)switch(c[\"new\"]=!0,c.value){case\"Number\":case\"String\":case\"Boolean\":case\"Math\":case\"JSON\":warning(\"W053\",state.tokens.prev,c.value);break;case\"Symbol\":state.inES6()&&warning(\"W053\",state.tokens.prev,c.value);break;case\"Function\":state.option.evil||warning(\"W054\");break;case\"Date\":case\"RegExp\":case\"this\":break;default:\"function\"!==c.id&&(i=c.value.substr(0,1),state.option.newcap&&(\"A\">i||i>\"Z\")&&!state.funct[\"(scope)\"].isPredefined(c.value)&&warning(\"W055\",state.tokens.curr))}else\".\"!==c.id&&\"[\"!==c.id&&\"(\"!==c.id&&warning(\"W056\",state.tokens.curr);else state.option.supernew||warning(\"W057\",this);return\"(\"===state.tokens.next.id||state.option.supernew||warning(\"W058\",state.tokens.curr,state.tokens.curr.value),this.first=this.right=c,this}),state.syntax[\"new\"].exps=!0,prefix(\"void\").exps=!0,infix(\".\",function(left,that){var m=identifier(!1,!0);return\"string\"==typeof m&&countMember(m),that.left=left,that.right=m,m&&\"hasOwnProperty\"===m&&\"=\"===state.tokens.next.value&&warning(\"W001\"),!left||\"arguments\"!==left.value||\"callee\"!==m&&\"caller\"!==m?state.option.evil||!left||\"document\"!==left.value||\"write\"!==m&&\"writeln\"!==m||warning(\"W060\",left):state.option.noarg?warning(\"W059\",left,m):state.isStrict()&&error(\"E008\"),state.option.evil||\"eval\"!==m&&\"execScript\"!==m||isGlobalEval(left,state)&&warning(\"W061\"),that},160,!0),infix(\"(\",function(left,that){state.option.immed&&left&&!left.immed&&\"function\"===left.id&&warning(\"W062\");var n=0,p=[];if(left&&\"(identifier)\"===left.type&&left.value.match(/^[A-Z]([A-Z0-9_$]*[a-z][A-Za-z0-9_$]*)?$/)&&-1===\"Array Number String Boolean Date Object Error Symbol\".indexOf(left.value)&&(\"Math\"===left.value?warning(\"W063\",left):state.option.newcap&&warning(\"W064\",left)),\")\"!==state.tokens.next.id)for(;p[p.length]=expression(10),n+=1,\",\"===state.tokens.next.id;)comma();return advance(\")\"),\"object\"==typeof left&&(state.inES5()||\"parseInt\"!==left.value||1!==n||warning(\"W065\",state.tokens.curr),state.option.evil||(\"eval\"===left.value||\"Function\"===left.value||\"execScript\"===left.value?(warning(\"W061\",left),p[0]&&\"(string)\"===[0].id&&addInternalSrc(left,p[0].value)):!p[0]||\"(string)\"!==p[0].id||\"setTimeout\"!==left.value&&\"setInterval\"!==left.value?!p[0]||\"(string)\"!==p[0].id||\".\"!==left.value||\"window\"!==left.left.value||\"setTimeout\"!==left.right&&\"setInterval\"!==left.right||(warning(\"W066\",left),addInternalSrc(left,p[0].value)):(warning(\"W066\",left),addInternalSrc(left,p[0].value))),left.identifier||\".\"===left.id||\"[\"===left.id||\"=>\"===left.id||\"(\"===left.id||\"&&\"===left.id||\"||\"===left.id||\"?\"===left.id||state.inES6()&&left[\"(name)\"]||warning(\"W067\",that)),that.left=left,that},155,!0).exps=!0,prefix(\"(\",function(){var pn1,ret,triggerFnExpr,first,last,pn=state.tokens.next,i=-1,parens=1,opening=state.tokens.curr,preceeding=state.tokens.prev,isNecessary=!state.option.singleGroups;do\"(\"===pn.value?parens+=1:\")\"===pn.value&&(parens-=1),i+=1,pn1=pn,pn=peek(i);while((0!==parens||\")\"!==pn1.value)&&\";\"!==pn.value&&\"(end)\"!==pn.type);if(\"function\"===state.tokens.next.id&&(triggerFnExpr=state.tokens.next.immed=!0),\"=>\"===pn.value)return doFunction({type:\"arrow\",parsedOpening:!0});var exprs=[];if(\")\"!==state.tokens.next.id)for(;exprs.push(expression(10)),\",\"===state.tokens.next.id;)state.option.nocomma&&warning(\"W127\"),comma();return advance(\")\",this),state.option.immed&&exprs[0]&&\"function\"===exprs[0].id&&\"(\"!==state.tokens.next.id&&\".\"!==state.tokens.next.id&&\"[\"!==state.tokens.next.id&&warning(\"W068\",this),exprs.length?(exprs.length>1?(ret=Object.create(state.syntax[\",\"]),ret.exprs=exprs,first=exprs[0],last=exprs[exprs.length-1],isNecessary||(isNecessary=preceeding.assign||preceeding.delim)):(ret=first=last=exprs[0],isNecessary||(isNecessary=opening.beginsStmt&&(\"{\"===ret.id||triggerFnExpr||isFunctor(ret))||triggerFnExpr&&(!isEndOfExpr()||\"}\"!==state.tokens.prev.id)||isFunctor(ret)&&!isEndOfExpr()||\"{\"===ret.id&&\"=>\"===preceeding.id||\"(number)\"===ret.type&&checkPunctuator(pn,\".\")&&/^\\d+$/.test(ret.value))),ret&&(!isNecessary&&(first.left||first.right||ret.exprs)&&(isNecessary=!isBeginOfExpr(preceeding)&&first.lbp<=preceeding.lbp||!isEndOfExpr()&&last.lbp\"),infix(\"[\",function(left,that){var s,e=expression(10);return e&&\"(string)\"===e.type&&(state.option.evil||\"eval\"!==e.value&&\"execScript\"!==e.value||isGlobalEval(left,state)&&warning(\"W061\"),countMember(e.value),!state.option.sub&®.identifier.test(e.value)&&(s=state.syntax[e.value],s&&isReserved(s)||warning(\"W069\",state.tokens.prev,e.value))),advance(\"]\",that),e&&\"hasOwnProperty\"===e.value&&\"=\"===state.tokens.next.value&&warning(\"W001\"),that.left=left,that.right=e,that},160,!0),prefix(\"[\",function(){var blocktype=lookupBlockType();if(blocktype.isCompArray)return state.option.esnext||state.inMoz()||warning(\"W118\",state.tokens.curr,\"array comprehension\"),comprehensiveArrayExpression();if(blocktype.isDestAssign)return this.destructAssign=destructuringPattern({openingParsed:!0,assignment:!0}),this;var b=state.tokens.curr.line!==startLine(state.tokens.next);for(this.first=[],b&&(indent+=state.option.indent,state.tokens.next.from===indent+state.option.indent&&(indent+=state.option.indent));\"(end)\"!==state.tokens.next.id;){for(;\",\"===state.tokens.next.id;){if(!state.option.elision){if(state.inES5()){warning(\"W128\");do advance(\",\");while(\",\"===state.tokens.next.id);continue}warning(\"W070\")}advance(\",\")}if(\"]\"===state.tokens.next.id)break;if(this.first.push(expression(10)),\",\"!==state.tokens.next.id)break;if(comma({allowTrailing:!0}),\"]\"===state.tokens.next.id&&!state.inES5()){warning(\"W070\",state.tokens.curr);break}}return b&&(indent-=state.option.indent),advance(\"]\",this),this}),function(x){x.nud=function(){var b,f,i,p,t,nextVal,isGeneratorMethod=!1,props=Object.create(null);b=state.tokens.curr.line!==startLine(state.tokens.next),b&&(indent+=state.option.indent,state.tokens.next.from===indent+state.option.indent&&(indent+=state.option.indent));var blocktype=lookupBlockType();if(blocktype.isDestAssign)return this.destructAssign=destructuringPattern({openingParsed:!0,assignment:!0}),this;for(;\"}\"!==state.tokens.next.id;){if(nextVal=state.tokens.next.value,!state.tokens.next.identifier||\",\"!==peekIgnoreEOL().id&&\"}\"!==peekIgnoreEOL().id)if(\":\"===peek().id||\"get\"!==nextVal&&\"set\"!==nextVal){if(\"*\"===state.tokens.next.value&&\"(punctuator)\"===state.tokens.next.type?(state.inES6()||warning(\"W104\",state.tokens.next,\"generator functions\",\"6\"),advance(\"*\"),isGeneratorMethod=!0):isGeneratorMethod=!1,\"[\"===state.tokens.next.id)i=computedPropertyName(),state.nameStack.set(i);else if(state.nameStack.set(state.tokens.next),i=propertyName(),saveProperty(props,i,state.tokens.next),\"string\"!=typeof i)break;\"(\"===state.tokens.next.value?(state.inES6()||warning(\"W104\",state.tokens.curr,\"concise methods\",\"6\"),doFunction({type:isGeneratorMethod?\"generator\":null})):(advance(\":\"),expression(10))}else advance(nextVal),state.inES5()||error(\"E034\"),i=propertyName(),i||state.inES6()||error(\"E035\"),i&&saveAccessor(nextVal,props,i,state.tokens.curr),t=state.tokens.next,f=doFunction(),p=f[\"(params)\"],\"get\"===nextVal&&i&&p?warning(\"W076\",t,p[0],i):\"set\"!==nextVal||!i||p&&1===p.length||warning(\"W077\",t,i);else state.inES6()||warning(\"W104\",state.tokens.next,\"object short notation\",\"6\"),i=propertyName(!0),saveProperty(props,i,state.tokens.next),expression(10);if(countMember(i),\",\"!==state.tokens.next.id)break;comma({allowTrailing:!0,property:!0}),\",\"===state.tokens.next.id?warning(\"W070\",state.tokens.curr):\"}\"!==state.tokens.next.id||state.inES5()||warning(\"W070\",state.tokens.curr)}return b&&(indent-=state.option.indent),advance(\"}\",this),checkProperties(props),this},x.fud=function(){error(\"E036\",state.tokens.curr)}}(delim(\"{\"));var conststatement=stmt(\"const\",function(context){return blockVariableStatement(\"const\",this,context)});conststatement.exps=!0;var letstatement=stmt(\"let\",function(context){return blockVariableStatement(\"let\",this,context)});letstatement.exps=!0;var varstatement=stmt(\"var\",function(context){var tokens,lone,value,prefix=context&&context.prefix,inexport=context&&context.inexport,implied=context&&context.implied,report=!(context&&context.ignore);for(this.first=[];;){var names=[];_.contains([\"{\",\"[\"],state.tokens.next.value)?(tokens=destructuringPattern(),lone=!1):(tokens=[{id:identifier(),token:state.tokens.curr}],lone=!0),prefix&&implied||!report||!state.option.varstmt||warning(\"W132\",this),this.first=this.first.concat(names);for(var t in tokens)tokens.hasOwnProperty(t)&&(t=tokens[t],!implied&&state.funct[\"(global)\"]&&(predefined[t.id]===!1?warning(\"W079\",t.token,t.id):state.option.futurehostile===!1&&(!state.inES5()&&vars.ecmaIdentifiers[5][t.id]===!1||!state.inES6()&&vars.ecmaIdentifiers[6][t.id]===!1)&&warning(\"W129\",t.token,t.id)),t.id&&(\"for\"===implied?(state.funct[\"(scope)\"].has(t.id)||report&&warning(\"W088\",t.token,t.id),state.funct[\"(scope)\"].block.use(t.id,t.token)):(state.funct[\"(scope)\"].addlabel(t.id,{type:\"var\",token:t.token}),lone&&inexport&&state.funct[\"(scope)\"].setExported(t.id,t.token)),names.push(t.token)));if(\"=\"===state.tokens.next.id&&(state.nameStack.set(state.tokens.curr),advance(\"=\"),prefix||!report||state.funct[\"(loopage)\"]||\"undefined\"!==state.tokens.next.id||warning(\"W080\",state.tokens.prev,state.tokens.prev.value),\"=\"===peek(0).id&&state.tokens.next.identifier&&(!prefix&&report&&!state.funct[\"(params)\"]||-1===state.funct[\"(params)\"].indexOf(state.tokens.next.value))&&warning(\"W120\",state.tokens.next,state.tokens.next.value),value=expression(prefix?120:10),lone?tokens[0].first=value:destructuringPatternMatch(names,value)),\",\"!==state.tokens.next.id)break;comma()}return this});varstatement.exps=!0,blockstmt(\"class\",function(){return classdef.call(this,!0)}),blockstmt(\"function\",function(context){var inexport=context&&context.inexport,generator=!1;\"*\"===state.tokens.next.value&&(advance(\"*\"),state.inES6({strict:!0})?generator=!0:warning(\"W119\",state.tokens.curr,\"function*\",\"6\")),inblock&&warning(\"W082\",state.tokens.curr);var i=optionalidentifier();return state.funct[\"(scope)\"].addlabel(i,{type:\"function\",token:state.tokens.curr}),void 0===i?warning(\"W025\"):inexport&&state.funct[\"(scope)\"].setExported(i,state.tokens.prev),doFunction({name:i,statement:this,type:generator?\"generator\":null,ignoreLoopFunc:inblock}),\"(\"===state.tokens.next.id&&state.tokens.next.line===state.tokens.curr.line&&error(\"E039\"),this}),prefix(\"function\",function(){var generator=!1;\"*\"===state.tokens.next.value&&(state.inES6()||warning(\"W119\",state.tokens.curr,\"function*\",\"6\"),advance(\"*\"),generator=!0);var i=optionalidentifier();return doFunction({name:i,type:generator?\"generator\":null}),this}),blockstmt(\"if\",function(){var t=state.tokens.next;increaseComplexityCount(),state.condition=!0,advance(\"(\");var expr=expression(0);checkCondAssignment(expr);var forinifcheck=null;state.option.forin&&state.forinifcheckneeded&&(state.forinifcheckneeded=!1,forinifcheck=state.forinifchecks[state.forinifchecks.length-1],forinifcheck.type=\"(punctuator)\"===expr.type&&\"!\"===expr.value?\"(negative)\":\"(positive)\"),advance(\")\",t),state.condition=!1;var s=block(!0,!0);return forinifcheck&&\"(negative)\"===forinifcheck.type&&s&&s[0]&&\"(identifier)\"===s[0].type&&\"continue\"===s[0].value&&(forinifcheck.type=\"(negative-with-continue)\"),\"else\"===state.tokens.next.id&&(advance(\"else\"),\"if\"===state.tokens.next.id||\"switch\"===state.tokens.next.id?statement():block(!0,!0)),this}),blockstmt(\"try\",function(){function doCatch(){if(advance(\"catch\"),advance(\"(\"),state.funct[\"(scope)\"].stack(\"catchparams\"),checkPunctuators(state.tokens.next,[\"[\",\"{\"])){var tokens=destructuringPattern();_.each(tokens,function(token){token.id&&state.funct[\"(scope)\"].addParam(token.id,token,\"exception\")})}else\"(identifier)\"!==state.tokens.next.type?warning(\"E030\",state.tokens.next,state.tokens.next.value):state.funct[\"(scope)\"].addParam(identifier(),state.tokens.curr,\"exception\");\"if\"===state.tokens.next.value&&(state.inMoz()||warning(\"W118\",state.tokens.curr,\"catch filter\"),advance(\"if\"),expression(0)),advance(\")\"),block(!1),state.funct[\"(scope)\"].unstack()}var b;for(block(!0);\"catch\"===state.tokens.next.id;)increaseComplexityCount(),b&&!state.inMoz()&&warning(\"W118\",state.tokens.next,\"multiple catch blocks\"),doCatch(),b=!0;return\"finally\"===state.tokens.next.id?(advance(\"finally\"),block(!0),void 0):(b||error(\"E021\",state.tokens.next,\"catch\",state.tokens.next.value),this)}),blockstmt(\"while\",function(){var t=state.tokens.next;return state.funct[\"(breakage)\"]+=1,state.funct[\"(loopage)\"]+=1,increaseComplexityCount(),advance(\"(\"),checkCondAssignment(expression(0)),advance(\")\",t),block(!0,!0),state.funct[\"(breakage)\"]-=1,state.funct[\"(loopage)\"]-=1,this}).labelled=!0,blockstmt(\"with\",function(){var t=state.tokens.next;return state.isStrict()?error(\"E010\",state.tokens.curr):state.option.withstmt||warning(\"W085\",state.tokens.curr),advance(\"(\"),expression(0),advance(\")\",t),block(!0,!0),this}),blockstmt(\"switch\",function(){var t=state.tokens.next,g=!1,noindent=!1;\nfor(state.funct[\"(breakage)\"]+=1,advance(\"(\"),checkCondAssignment(expression(0)),advance(\")\",t),t=state.tokens.next,advance(\"{\"),state.tokens.next.from===indent&&(noindent=!0),noindent||(indent+=state.option.indent),this.cases=[];;)switch(state.tokens.next.id){case\"case\":switch(state.funct[\"(verb)\"]){case\"yield\":case\"break\":case\"case\":case\"continue\":case\"return\":case\"switch\":case\"throw\":break;default:state.tokens.curr.caseFallsThrough||warning(\"W086\",state.tokens.curr,\"case\")}advance(\"case\"),this.cases.push(expression(0)),increaseComplexityCount(),g=!0,advance(\":\"),state.funct[\"(verb)\"]=\"case\";break;case\"default\":switch(state.funct[\"(verb)\"]){case\"yield\":case\"break\":case\"continue\":case\"return\":case\"throw\":break;default:this.cases.length&&(state.tokens.curr.caseFallsThrough||warning(\"W086\",state.tokens.curr,\"default\"))}advance(\"default\"),g=!0,advance(\":\");break;case\"}\":return noindent||(indent-=state.option.indent),advance(\"}\",t),state.funct[\"(breakage)\"]-=1,state.funct[\"(verb)\"]=void 0,void 0;case\"(end)\":return error(\"E023\",state.tokens.next,\"}\"),void 0;default:if(indent+=state.option.indent,g)switch(state.tokens.curr.id){case\",\":return error(\"E040\"),void 0;case\":\":g=!1,statements();break;default:return error(\"E025\",state.tokens.curr),void 0}else{if(\":\"!==state.tokens.curr.id)return error(\"E021\",state.tokens.next,\"case\",state.tokens.next.value),void 0;advance(\":\"),error(\"E024\",state.tokens.curr,\":\"),statements()}indent-=state.option.indent}return this}).labelled=!0,stmt(\"debugger\",function(){return state.option.debug||warning(\"W087\",this),this}).exps=!0,function(){var x=stmt(\"do\",function(){state.funct[\"(breakage)\"]+=1,state.funct[\"(loopage)\"]+=1,increaseComplexityCount(),this.first=block(!0,!0),advance(\"while\");var t=state.tokens.next;return advance(\"(\"),checkCondAssignment(expression(0)),advance(\")\",t),state.funct[\"(breakage)\"]-=1,state.funct[\"(loopage)\"]-=1,this});x.labelled=!0,x.exps=!0}(),blockstmt(\"for\",function(){var s,t=state.tokens.next,letscope=!1,foreachtok=null;\"each\"===t.value&&(foreachtok=t,advance(\"each\"),state.inMoz()||warning(\"W118\",state.tokens.curr,\"for each\")),increaseComplexityCount(),advance(\"(\");var nextop,comma,initializer,i=0,inof=[\"in\",\"of\"],level=0;checkPunctuators(state.tokens.next,[\"{\",\"[\"])&&++level;do{if(nextop=peek(i),++i,checkPunctuators(nextop,[\"{\",\"[\"])?++level:checkPunctuators(nextop,[\"}\",\"]\"])&&--level,0>level)break;0===level&&(!comma&&checkPunctuator(nextop,\",\")?comma=nextop:!initializer&&checkPunctuator(nextop,\"=\")&&(initializer=nextop))}while(level>0||!_.contains(inof,nextop.value)&&\";\"!==nextop.value&&\"(end)\"!==nextop.type);if(_.contains(inof,nextop.value)){state.inES6()||\"of\"!==nextop.value||warning(\"W104\",nextop,\"for of\",\"6\");var ok=!(initializer||comma);if(initializer&&error(\"W133\",comma,nextop.value,\"initializer is forbidden\"),comma&&error(\"W133\",comma,nextop.value,\"more than one ForBinding\"),\"var\"===state.tokens.next.id?(advance(\"var\"),state.tokens.curr.fud({prefix:!0})):\"let\"===state.tokens.next.id||\"const\"===state.tokens.next.id?(advance(state.tokens.next.id),letscope=!0,state.funct[\"(scope)\"].stack(),state.tokens.curr.fud({prefix:!0})):Object.create(varstatement).fud({prefix:!0,implied:\"for\",ignore:!ok}),advance(nextop.value),expression(20),advance(\")\",t),\"in\"===nextop.value&&state.option.forin&&(state.forinifcheckneeded=!0,void 0===state.forinifchecks&&(state.forinifchecks=[]),state.forinifchecks.push({type:\"(none)\"})),state.funct[\"(breakage)\"]+=1,state.funct[\"(loopage)\"]+=1,s=block(!0,!0),\"in\"===nextop.value&&state.option.forin){if(state.forinifchecks&&state.forinifchecks.length>0){var check=state.forinifchecks.pop();(s&&s.length>0&&(\"object\"!=typeof s[0]||\"if\"!==s[0].value)||\"(positive)\"===check.type&&s.length>1||\"(negative)\"===check.type)&&warning(\"W089\",this)}state.forinifcheckneeded=!1}state.funct[\"(breakage)\"]-=1,state.funct[\"(loopage)\"]-=1}else{if(foreachtok&&error(\"E045\",foreachtok),\";\"!==state.tokens.next.id)if(\"var\"===state.tokens.next.id)advance(\"var\"),state.tokens.curr.fud();else if(\"let\"===state.tokens.next.id)advance(\"let\"),letscope=!0,state.funct[\"(scope)\"].stack(),state.tokens.curr.fud();else for(;expression(0,\"for\"),\",\"===state.tokens.next.id;)comma();if(nolinebreak(state.tokens.curr),advance(\";\"),state.funct[\"(loopage)\"]+=1,\";\"!==state.tokens.next.id&&checkCondAssignment(expression(0)),nolinebreak(state.tokens.curr),advance(\";\"),\";\"===state.tokens.next.id&&error(\"E021\",state.tokens.next,\")\",\";\"),\")\"!==state.tokens.next.id)for(;expression(0,\"for\"),\",\"===state.tokens.next.id;)comma();advance(\")\",t),state.funct[\"(breakage)\"]+=1,block(!0,!0),state.funct[\"(breakage)\"]-=1,state.funct[\"(loopage)\"]-=1}return letscope&&state.funct[\"(scope)\"].unstack(),this}).labelled=!0,stmt(\"break\",function(){var v=state.tokens.next.value;return state.option.asi||nolinebreak(this),\";\"===state.tokens.next.id||state.tokens.next.reach||state.tokens.curr.line!==startLine(state.tokens.next)?0===state.funct[\"(breakage)\"]&&warning(\"W052\",state.tokens.next,this.value):(state.funct[\"(scope)\"].funct.hasBreakLabel(v)||warning(\"W090\",state.tokens.next,v),this.first=state.tokens.next,advance()),reachable(this),this}).exps=!0,stmt(\"continue\",function(){var v=state.tokens.next.value;return 0===state.funct[\"(breakage)\"]&&warning(\"W052\",state.tokens.next,this.value),state.funct[\"(loopage)\"]||warning(\"W052\",state.tokens.next,this.value),state.option.asi||nolinebreak(this),\";\"===state.tokens.next.id||state.tokens.next.reach||state.tokens.curr.line===startLine(state.tokens.next)&&(state.funct[\"(scope)\"].funct.hasBreakLabel(v)||warning(\"W090\",state.tokens.next,v),this.first=state.tokens.next,advance()),reachable(this),this}).exps=!0,stmt(\"return\",function(){return this.line===startLine(state.tokens.next)?\";\"===state.tokens.next.id||state.tokens.next.reach||(this.first=expression(0),!this.first||\"(punctuator)\"!==this.first.type||\"=\"!==this.first.value||this.first.paren||state.option.boss||warningAt(\"W093\",this.first.line,this.first.character)):\"(punctuator)\"===state.tokens.next.type&&[\"[\",\"{\",\"+\",\"-\"].indexOf(state.tokens.next.value)>-1&&nolinebreak(this),reachable(this),this}).exps=!0,function(x){x.exps=!0,x.lbp=25}(prefix(\"yield\",function(){var prev=state.tokens.prev;state.inES6(!0)&&!state.funct[\"(generator)\"]?\"(catch)\"===state.funct[\"(name)\"]&&state.funct[\"(context)\"][\"(generator)\"]||error(\"E046\",state.tokens.curr,\"yield\"):state.inES6()||warning(\"W104\",state.tokens.curr,\"yield\",\"6\"),state.funct[\"(generator)\"]=\"yielded\";var delegatingYield=!1;return\"*\"===state.tokens.next.value&&(delegatingYield=!0,advance(\"*\")),this.line!==startLine(state.tokens.next)&&state.inMoz()?state.option.asi||nolinebreak(this):((delegatingYield||\";\"!==state.tokens.next.id&&!state.option.asi&&!state.tokens.next.reach&&state.tokens.next.nud)&&(nobreaknonadjacent(state.tokens.curr,state.tokens.next),this.first=expression(10),\"(punctuator)\"!==this.first.type||\"=\"!==this.first.value||this.first.paren||state.option.boss||warningAt(\"W093\",this.first.line,this.first.character)),state.inMoz()&&\")\"!==state.tokens.next.id&&(prev.lbp>30||!prev.assign&&!isEndOfExpr()||\"yield\"===prev.id)&&error(\"E050\",this)),this})),stmt(\"throw\",function(){return nolinebreak(this),this.first=expression(20),reachable(this),this}).exps=!0,stmt(\"import\",function(){if(state.inES6()||warning(\"W119\",state.tokens.curr,\"import\",\"6\"),\"(string)\"===state.tokens.next.type)return advance(\"(string)\"),this;if(state.tokens.next.identifier){if(this.name=identifier(),state.funct[\"(scope)\"].addlabel(this.name,{type:\"const\",token:state.tokens.curr}),\",\"!==state.tokens.next.value)return advance(\"from\"),advance(\"(string)\"),this;advance(\",\")}if(\"*\"===state.tokens.next.id)advance(\"*\"),advance(\"as\"),state.tokens.next.identifier&&(this.name=identifier(),state.funct[\"(scope)\"].addlabel(this.name,{type:\"const\",token:state.tokens.curr}));else for(advance(\"{\");;){if(\"}\"===state.tokens.next.value){advance(\"}\");break}var importName;if(\"default\"===state.tokens.next.type?(importName=\"default\",advance(\"default\")):importName=identifier(),\"as\"===state.tokens.next.value&&(advance(\"as\"),importName=identifier()),state.funct[\"(scope)\"].addlabel(importName,{type:\"const\",token:state.tokens.curr}),\",\"!==state.tokens.next.value){if(\"}\"===state.tokens.next.value){advance(\"}\");break}error(\"E024\",state.tokens.next,state.tokens.next.value);break}advance(\",\")}return advance(\"from\"),advance(\"(string)\"),this}).exps=!0,stmt(\"export\",function(){var token,identifier,ok=!0;if(state.inES6()||(warning(\"W119\",state.tokens.curr,\"export\",\"6\"),ok=!1),state.funct[\"(scope)\"].block.isGlobal()||(error(\"E053\",state.tokens.curr),ok=!1),\"*\"===state.tokens.next.value)return advance(\"*\"),advance(\"from\"),advance(\"(string)\"),this;if(\"default\"===state.tokens.next.type){state.nameStack.set(state.tokens.next),advance(\"default\");var exportType=state.tokens.next.id;return(\"function\"===exportType||\"class\"===exportType)&&(this.block=!0),token=peek(),expression(10),identifier=token.value,this.block&&(state.funct[\"(scope)\"].addlabel(identifier,{type:exportType,token:token}),state.funct[\"(scope)\"].setExported(identifier,token)),this}if(\"{\"===state.tokens.next.value){advance(\"{\");for(var exportedTokens=[];;){if(state.tokens.next.identifier||error(\"E030\",state.tokens.next,state.tokens.next.value),advance(),exportedTokens.push(state.tokens.curr),\"as\"===state.tokens.next.value&&(advance(\"as\"),state.tokens.next.identifier||error(\"E030\",state.tokens.next,state.tokens.next.value),advance()),\",\"!==state.tokens.next.value){if(\"}\"===state.tokens.next.value){advance(\"}\");break}error(\"E024\",state.tokens.next,state.tokens.next.value);break}advance(\",\")}return\"from\"===state.tokens.next.value?(advance(\"from\"),advance(\"(string)\")):ok&&exportedTokens.forEach(function(token){state.funct[\"(scope)\"].setExported(token.value,token)}),this}if(\"var\"===state.tokens.next.id)advance(\"var\"),state.tokens.curr.fud({inexport:!0});else if(\"let\"===state.tokens.next.id)advance(\"let\"),state.tokens.curr.fud({inexport:!0});else if(\"const\"===state.tokens.next.id)advance(\"const\"),state.tokens.curr.fud({inexport:!0});else if(\"function\"===state.tokens.next.id)this.block=!0,advance(\"function\"),state.syntax[\"function\"].fud({inexport:!0});else if(\"class\"===state.tokens.next.id){this.block=!0,advance(\"class\");var classNameToken=state.tokens.next;state.syntax[\"class\"].fud(),state.funct[\"(scope)\"].setExported(classNameToken.value,classNameToken)}else error(\"E024\",state.tokens.next,state.tokens.next.value);return this}).exps=!0,FutureReservedWord(\"abstract\"),FutureReservedWord(\"boolean\"),FutureReservedWord(\"byte\"),FutureReservedWord(\"char\"),FutureReservedWord(\"class\",{es5:!0,nud:classdef}),FutureReservedWord(\"double\"),FutureReservedWord(\"enum\",{es5:!0}),FutureReservedWord(\"export\",{es5:!0}),FutureReservedWord(\"extends\",{es5:!0}),FutureReservedWord(\"final\"),FutureReservedWord(\"float\"),FutureReservedWord(\"goto\"),FutureReservedWord(\"implements\",{es5:!0,strictOnly:!0}),FutureReservedWord(\"import\",{es5:!0}),FutureReservedWord(\"int\"),FutureReservedWord(\"interface\",{es5:!0,strictOnly:!0}),FutureReservedWord(\"long\"),FutureReservedWord(\"native\"),FutureReservedWord(\"package\",{es5:!0,strictOnly:!0}),FutureReservedWord(\"private\",{es5:!0,strictOnly:!0}),FutureReservedWord(\"protected\",{es5:!0,strictOnly:!0}),FutureReservedWord(\"public\",{es5:!0,strictOnly:!0}),FutureReservedWord(\"short\"),FutureReservedWord(\"static\",{es5:!0,strictOnly:!0}),FutureReservedWord(\"super\",{es5:!0}),FutureReservedWord(\"synchronized\"),FutureReservedWord(\"transient\"),FutureReservedWord(\"volatile\");var lookupBlockType=function(){var pn,pn1,prev,i=-1,bracketStack=0,ret={};checkPunctuators(state.tokens.curr,[\"[\",\"{\"])&&(bracketStack+=1);do{if(prev=-1===i?state.tokens.curr:pn,pn=-1===i?state.tokens.next:peek(i),pn1=peek(i+1),i+=1,checkPunctuators(pn,[\"[\",\"{\"])?bracketStack+=1:checkPunctuators(pn,[\"]\",\"}\"])&&(bracketStack-=1),1===bracketStack&&pn.identifier&&\"for\"===pn.value&&!checkPunctuator(prev,\".\")){ret.isCompArray=!0,ret.notJson=!0;break}if(0===bracketStack&&checkPunctuators(pn,[\"}\",\"]\"])){if(\"=\"===pn1.value){ret.isDestAssign=!0,ret.notJson=!0;break}if(\".\"===pn1.value){ret.notJson=!0;break}}checkPunctuator(pn,\";\")&&(ret.isBlock=!0,ret.notJson=!0)}while(bracketStack>0&&\"(end)\"!==pn.id);return ret},arrayComprehension=function(){function declare(v){var l=_current.variables.filter(function(elt){return elt.value===v?(elt.undef=!1,v):void 0}).length;return 0!==l}function use(v){var l=_current.variables.filter(function(elt){return elt.value!==v||elt.undef?void 0:(elt.unused===!0&&(elt.unused=!1),v)}).length;return 0===l}var _current,CompArray=function(){this.mode=\"use\",this.variables=[]},_carrays=[];return{stack:function(){_current=new CompArray,_carrays.push(_current)},unstack:function(){_current.variables.filter(function(v){v.unused&&warning(\"W098\",v.token,v.raw_text||v.value),v.undef&&state.funct[\"(scope)\"].block.use(v.value,v.token)}),_carrays.splice(-1,1),_current=_carrays[_carrays.length-1]},setState:function(s){_.contains([\"use\",\"define\",\"generate\",\"filter\"],s)&&(_current.mode=s)},check:function(v){return _current?_current&&\"use\"===_current.mode?(use(v)&&_current.variables.push({funct:state.funct,token:state.tokens.curr,value:v,undef:!0,unused:!1}),!0):_current&&\"define\"===_current.mode?(declare(v)||_current.variables.push({funct:state.funct,token:state.tokens.curr,value:v,undef:!1,unused:!0}),!0):_current&&\"generate\"===_current.mode?(state.funct[\"(scope)\"].block.use(v,state.tokens.curr),!0):_current&&\"filter\"===_current.mode?(use(v)&&state.funct[\"(scope)\"].block.use(v,state.tokens.curr),!0):!1:void 0}}},escapeRegex=function(str){return str.replace(/[-\\/\\\\^$*+?.()|[\\]{}]/g,\"\\\\$&\")},itself=function(s,o,g){function each(obj,cb){obj&&(Array.isArray(obj)||\"object\"!=typeof obj||(obj=Object.keys(obj)),obj.forEach(cb))}var i,k,x,reIgnoreStr,reIgnore,optionKeys,newOptionObj={},newIgnoredObj={};o=_.clone(o),state.reset(),o&&o.scope?JSHINT.scope=o.scope:(JSHINT.errors=[],JSHINT.undefs=[],JSHINT.internals=[],JSHINT.blacklist={},JSHINT.scope=\"(main)\"),predefined=Object.create(null),combine(predefined,vars.ecmaIdentifiers[3]),combine(predefined,vars.reservedVars),combine(predefined,g||{}),declared=Object.create(null);var exported=Object.create(null);if(o)for(each(o.predef||null,function(item){var slice,prop;\"-\"===item[0]?(slice=item.slice(1),JSHINT.blacklist[slice]=slice,delete predefined[slice]):(prop=Object.getOwnPropertyDescriptor(o.predef,item),predefined[item]=prop?prop.value:!1)}),each(o.exported||null,function(item){exported[item]=!0}),delete o.predef,delete o.exported,optionKeys=Object.keys(o),x=0;optionKeys.length>x;x++)if(/^-W\\d{3}$/g.test(optionKeys[x]))newIgnoredObj[optionKeys[x].slice(1)]=!0;else{var optionKey=optionKeys[x];newOptionObj[optionKey]=o[optionKey],(\"esversion\"===optionKey&&5===o[optionKey]||\"es5\"===optionKey&&o[optionKey])&&warning(\"I003\"),\"newcap\"===optionKeys[x]&&o[optionKey]===!1&&(newOptionObj[\"(explicitNewcap)\"]=!0)}state.option=newOptionObj,state.ignored=newIgnoredObj,state.option.indent=state.option.indent||4,state.option.maxerr=state.option.maxerr||50,indent=1;var scopeManagerInst=scopeManager(state,predefined,exported,declared);if(scopeManagerInst.on(\"warning\",function(ev){warning.apply(null,[ev.code,ev.token].concat(ev.data))}),scopeManagerInst.on(\"error\",function(ev){error.apply(null,[ev.code,ev.token].concat(ev.data))}),state.funct=functor(\"(global)\",null,{\"(global)\":!0,\"(scope)\":scopeManagerInst,\"(comparray)\":arrayComprehension(),\"(metrics)\":createMetrics(state.tokens.next)}),functions=[state.funct],urls=[],stack=null,member={},membersOnly=null,inblock=!1,lookahead=[],!isString(s)&&!Array.isArray(s))return errorAt(\"E004\",0),!1;api={get isJSON(){return state.jsonMode},getOption:function(name){return state.option[name]||null},getCache:function(name){return state.cache[name]},setCache:function(name,value){state.cache[name]=value},warn:function(code,data){warningAt.apply(null,[code,data.line,data.char].concat(data.data))},on:function(names,listener){names.split(\" \").forEach(function(name){emitter.on(name,listener)}.bind(this))}},emitter.removeAllListeners(),(extraModules||[]).forEach(function(func){func(api)}),state.tokens.prev=state.tokens.curr=state.tokens.next=state.syntax[\"(begin)\"],o&&o.ignoreDelimiters&&(Array.isArray(o.ignoreDelimiters)||(o.ignoreDelimiters=[o.ignoreDelimiters]),o.ignoreDelimiters.forEach(function(delimiterPair){delimiterPair.start&&delimiterPair.end&&(reIgnoreStr=escapeRegex(delimiterPair.start)+\"[\\\\s\\\\S]*?\"+escapeRegex(delimiterPair.end),reIgnore=RegExp(reIgnoreStr,\"ig\"),s=s.replace(reIgnore,function(match){return match.replace(/./g,\" \")}))})),lex=new Lexer(s),lex.on(\"warning\",function(ev){warningAt.apply(null,[ev.code,ev.line,ev.character].concat(ev.data))}),lex.on(\"error\",function(ev){errorAt.apply(null,[ev.code,ev.line,ev.character].concat(ev.data))}),lex.on(\"fatal\",function(ev){quit(\"E041\",ev.line,ev.from)}),lex.on(\"Identifier\",function(ev){emitter.emit(\"Identifier\",ev)}),lex.on(\"String\",function(ev){emitter.emit(\"String\",ev)}),lex.on(\"Number\",function(ev){emitter.emit(\"Number\",ev)}),lex.start();for(var name in o)_.has(o,name)&&checkOption(name,state.tokens.curr);assume(),combine(predefined,g||{}),comma.first=!0;try{switch(advance(),state.tokens.next.id){case\"{\":case\"[\":destructuringAssignOrJsonValue();break;default:directives(),state.directive[\"use strict\"]&&\"global\"!==state.option.strict&&warning(\"W097\",state.tokens.prev),statements()}\"(end)\"!==state.tokens.next.id&&quit(\"E041\",state.tokens.curr.line),state.funct[\"(scope)\"].unstack()}catch(err){if(!err||\"JSHintError\"!==err.name)throw err;var nt=state.tokens.next||{};JSHINT.errors.push({scope:\"(main)\",raw:err.raw,code:err.code,reason:err.message,line:err.line||nt.line,character:err.character||nt.from},null)}if(\"(main)\"===JSHINT.scope)for(o=o||{},i=0;JSHINT.internals.length>i;i+=1)k=JSHINT.internals[i],o.scope=k.elem,itself(k.value,o,g);return 0===JSHINT.errors.length};return itself.addModule=function(func){extraModules.push(func)},itself.addModule(style.register),itself.data=function(){var fu,f,i,j,n,globals,data={functions:[],options:state.option};itself.errors.length&&(data.errors=itself.errors),state.jsonMode&&(data.json=!0);var impliedGlobals=state.funct[\"(scope)\"].getImpliedGlobals();for(impliedGlobals.length>0&&(data.implieds=impliedGlobals),urls.length>0&&(data.urls=urls),globals=state.funct[\"(scope)\"].getUsedOrDefinedGlobals(),globals.length>0&&(data.globals=globals),i=1;functions.length>i;i+=1){for(f=functions[i],fu={},j=0;functionicity.length>j;j+=1)fu[functionicity[j]]=[];for(j=0;functionicity.length>j;j+=1)0===fu[functionicity[j]].length&&delete fu[functionicity[j]];fu.name=f[\"(name)\"],fu.param=f[\"(params)\"],fu.line=f[\"(line)\"],fu.character=f[\"(character)\"],fu.last=f[\"(last)\"],fu.lastcharacter=f[\"(lastcharacter)\"],fu.metrics={complexity:f[\"(metrics)\"].ComplexityCount,parameters:f[\"(metrics)\"].arity,statements:f[\"(metrics)\"].statementCount},data.functions.push(fu)}var unuseds=state.funct[\"(scope)\"].getUnuseds();unuseds.length>0&&(data.unused=unuseds);for(n in member)if(\"number\"==typeof member[n]){data.member=member;break}return data},itself.jshint=itself,itself}();\"object\"==typeof exports&&exports&&(exports.JSHINT=JSHINT)},{\"../lodash\":\"/node_modules/jshint/lodash.js\",\"./lex.js\":\"/node_modules/jshint/src/lex.js\",\"./messages.js\":\"/node_modules/jshint/src/messages.js\",\"./options.js\":\"/node_modules/jshint/src/options.js\",\"./reg.js\":\"/node_modules/jshint/src/reg.js\",\"./scope-manager.js\":\"/node_modules/jshint/src/scope-manager.js\",\"./state.js\":\"/node_modules/jshint/src/state.js\",\"./style.js\":\"/node_modules/jshint/src/style.js\",\"./vars.js\":\"/node_modules/jshint/src/vars.js\",events:\"/node_modules/browserify/node_modules/events/events.js\"}],\"/node_modules/jshint/src/lex.js\":[function(_dereq_,module,exports){\"use strict\";function asyncTrigger(){var _checks=[];return{push:function(fn){_checks.push(fn)},check:function(){for(var check=0;_checks.length>check;++check)_checks[check]();_checks.splice(0,_checks.length)}}}function Lexer(source){var lines=source;\"string\"==typeof lines&&(lines=lines.replace(/\\r\\n/g,\"\\n\").replace(/\\r/g,\"\\n\").split(\"\\n\")),lines[0]&&\"#!\"===lines[0].substr(0,2)&&(-1!==lines[0].indexOf(\"node\")&&(state.option.node=!0),lines[0]=\"\"),this.emitter=new events.EventEmitter,this.source=source,this.setLines(lines),this.prereg=!0,this.line=0,this.char=1,this.from=1,this.input=\"\",this.inComment=!1,this.context=[],this.templateStarts=[];for(var i=0;state.option.indent>i;i+=1)state.tab+=\" \";this.ignoreLinterErrors=!1}var _=_dereq_(\"../lodash\"),events=_dereq_(\"events\"),reg=_dereq_(\"./reg.js\"),state=_dereq_(\"./state.js\").state,unicodeData=_dereq_(\"../data/ascii-identifier-data.js\"),asciiIdentifierStartTable=unicodeData.asciiIdentifierStartTable,asciiIdentifierPartTable=unicodeData.asciiIdentifierPartTable,Token={Identifier:1,Punctuator:2,NumericLiteral:3,StringLiteral:4,Comment:5,Keyword:6,NullLiteral:7,BooleanLiteral:8,RegExp:9,TemplateHead:10,TemplateMiddle:11,TemplateTail:12,NoSubstTemplate:13},Context={Block:1,Template:2};Lexer.prototype={_lines:[],inContext:function(ctxType){return this.context.length>0&&this.context[this.context.length-1].type===ctxType},pushContext:function(ctxType){this.context.push({type:ctxType})},popContext:function(){return this.context.pop()},isContext:function(context){return this.context.length>0&&this.context[this.context.length-1]===context},currentContext:function(){return this.context.length>0&&this.context[this.context.length-1]},getLines:function(){return this._lines=state.lines,this._lines},setLines:function(val){this._lines=val,state.lines=this._lines},peek:function(i){return this.input.charAt(i||0)},skip:function(i){i=i||1,this.char+=i,this.input=this.input.slice(i)},on:function(names,listener){names.split(\" \").forEach(function(name){this.emitter.on(name,listener)}.bind(this))},trigger:function(){this.emitter.emit.apply(this.emitter,Array.prototype.slice.call(arguments))},triggerAsync:function(type,args,checks,fn){checks.push(function(){fn()&&this.trigger(type,args)}.bind(this))},scanPunctuator:function(){var ch2,ch3,ch4,ch1=this.peek();switch(ch1){case\".\":if(/^[0-9]$/.test(this.peek(1)))return null;if(\".\"===this.peek(1)&&\".\"===this.peek(2))return{type:Token.Punctuator,value:\"...\"};case\"(\":case\")\":case\";\":case\",\":case\"[\":case\"]\":case\":\":case\"~\":case\"?\":return{type:Token.Punctuator,value:ch1};case\"{\":return this.pushContext(Context.Block),{type:Token.Punctuator,value:ch1};case\"}\":return this.inContext(Context.Block)&&this.popContext(),{type:Token.Punctuator,value:ch1};case\"#\":return{type:Token.Punctuator,value:ch1};case\"\":return null}return ch2=this.peek(1),ch3=this.peek(2),ch4=this.peek(3),\">\"===ch1&&\">\"===ch2&&\">\"===ch3&&\"=\"===ch4?{type:Token.Punctuator,value:\">>>=\"}:\"=\"===ch1&&\"=\"===ch2&&\"=\"===ch3?{type:Token.Punctuator,value:\"===\"}:\"!\"===ch1&&\"=\"===ch2&&\"=\"===ch3?{type:Token.Punctuator,value:\"!==\"}:\">\"===ch1&&\">\"===ch2&&\">\"===ch3?{type:Token.Punctuator,value:\">>>\"}:\"<\"===ch1&&\"<\"===ch2&&\"=\"===ch3?{type:Token.Punctuator,value:\"<<=\"}:\">\"===ch1&&\">\"===ch2&&\"=\"===ch3?{type:Token.Punctuator,value:\">>=\"}:\"=\"===ch1&&\">\"===ch2?{type:Token.Punctuator,value:ch1+ch2}:ch1===ch2&&\"+-<>&|\".indexOf(ch1)>=0?{type:Token.Punctuator,value:ch1+ch2}:\"<>=!+-*%&|^\".indexOf(ch1)>=0?\"=\"===ch2?{type:Token.Punctuator,value:ch1+ch2}:{type:Token.Punctuator,value:ch1}:\"/\"===ch1?\"=\"===ch2?{type:Token.Punctuator,value:\"/=\"}:{type:Token.Punctuator,value:\"/\"}:null},scanComments:function(){function commentToken(label,body,opt){var special=[\"jshint\",\"jslint\",\"members\",\"member\",\"globals\",\"global\",\"exported\"],isSpecial=!1,value=label+body,commentType=\"plain\";return opt=opt||{},opt.isMultiline&&(value+=\"*/\"),body=body.replace(/\\n/g,\" \"),\"/*\"===label&®.fallsThrough.test(body)&&(isSpecial=!0,commentType=\"falls through\"),special.forEach(function(str){if(!isSpecial&&(\"//\"!==label||\"jshint\"===str)&&(\" \"===body.charAt(str.length)&&body.substr(0,str.length)===str&&(isSpecial=!0,label+=str,body=body.substr(str.length)),isSpecial||\" \"!==body.charAt(0)||\" \"!==body.charAt(str.length+1)||body.substr(1,str.length)!==str||(isSpecial=!0,label=label+\" \"+str,body=body.substr(str.length+1)),isSpecial))switch(str){case\"member\":commentType=\"members\";break;case\"global\":commentType=\"globals\";break;default:var options=body.split(\":\").map(function(v){return v.replace(/^\\s+/,\"\").replace(/\\s+$/,\"\")});if(2===options.length)switch(options[0]){case\"ignore\":switch(options[1]){case\"start\":self.ignoringLinterErrors=!0,isSpecial=!1;break;case\"end\":self.ignoringLinterErrors=!1,isSpecial=!1}}commentType=str}}),{type:Token.Comment,commentType:commentType,value:value,body:body,isSpecial:isSpecial,isMultiline:opt.isMultiline||!1,isMalformed:opt.isMalformed||!1}}var ch1=this.peek(),ch2=this.peek(1),rest=this.input.substr(2),startLine=this.line,startChar=this.char,self=this;if(\"*\"===ch1&&\"/\"===ch2)return this.trigger(\"error\",{code:\"E018\",line:startLine,character:startChar}),this.skip(2),null;if(\"/\"!==ch1||\"*\"!==ch2&&\"/\"!==ch2)return null;if(\"/\"===ch2)return this.skip(this.input.length),commentToken(\"//\",rest);var body=\"\";if(\"*\"===ch2){for(this.inComment=!0,this.skip(2);\"*\"!==this.peek()||\"/\"!==this.peek(1);)if(\"\"===this.peek()){if(body+=\"\\n\",!this.nextLine())return this.trigger(\"error\",{code:\"E017\",line:startLine,character:startChar}),this.inComment=!1,commentToken(\"/*\",body,{isMultiline:!0,isMalformed:!0})}else body+=this.peek(),this.skip();return this.skip(2),this.inComment=!1,commentToken(\"/*\",body,{isMultiline:!0})}},scanKeyword:function(){var result=/^[a-zA-Z_$][a-zA-Z0-9_$]*/.exec(this.input),keywords=[\"if\",\"in\",\"do\",\"var\",\"for\",\"new\",\"try\",\"let\",\"this\",\"else\",\"case\",\"void\",\"with\",\"enum\",\"while\",\"break\",\"catch\",\"throw\",\"const\",\"yield\",\"class\",\"super\",\"return\",\"typeof\",\"delete\",\"switch\",\"export\",\"import\",\"default\",\"finally\",\"extends\",\"function\",\"continue\",\"debugger\",\"instanceof\"];return result&&keywords.indexOf(result[0])>=0?{type:Token.Keyword,value:result[0]}:null},scanIdentifier:function(){function isNonAsciiIdentifierStart(code){return code>256}function isNonAsciiIdentifierPart(code){return code>256}function isHexDigit(str){return/^[0-9a-fA-F]$/.test(str)}function removeEscapeSequences(id){return id.replace(/\\\\u([0-9a-fA-F]{4})/g,function(m0,codepoint){return String.fromCharCode(parseInt(codepoint,16))})}var type,char,id=\"\",index=0,readUnicodeEscapeSequence=function(){if(index+=1,\"u\"!==this.peek(index))return null;var code,ch1=this.peek(index+1),ch2=this.peek(index+2),ch3=this.peek(index+3),ch4=this.peek(index+4);return isHexDigit(ch1)&&isHexDigit(ch2)&&isHexDigit(ch3)&&isHexDigit(ch4)?(code=parseInt(ch1+ch2+ch3+ch4,16),asciiIdentifierPartTable[code]||isNonAsciiIdentifierPart(code)?(index+=5,\"\\\\u\"+ch1+ch2+ch3+ch4):null):null}.bind(this),getIdentifierStart=function(){var chr=this.peek(index),code=chr.charCodeAt(0);return 92===code?readUnicodeEscapeSequence():128>code?asciiIdentifierStartTable[code]?(index+=1,chr):null:isNonAsciiIdentifierStart(code)?(index+=1,chr):null}.bind(this),getIdentifierPart=function(){var chr=this.peek(index),code=chr.charCodeAt(0);return 92===code?readUnicodeEscapeSequence():128>code?asciiIdentifierPartTable[code]?(index+=1,chr):null:isNonAsciiIdentifierPart(code)?(index+=1,chr):null}.bind(this);if(char=getIdentifierStart(),null===char)return null;for(id=char;char=getIdentifierPart(),null!==char;)id+=char;switch(id){case\"true\":case\"false\":type=Token.BooleanLiteral;break;case\"null\":type=Token.NullLiteral;break;default:type=Token.Identifier}return{type:type,value:removeEscapeSequences(id),text:id,tokenLength:id.length}},scanNumericLiteral:function(){function isDecimalDigit(str){return/^[0-9]$/.test(str)}function isOctalDigit(str){return/^[0-7]$/.test(str)}function isBinaryDigit(str){return/^[01]$/.test(str)}function isHexDigit(str){return/^[0-9a-fA-F]$/.test(str)}function isIdentifierStart(ch){return\"$\"===ch||\"_\"===ch||\"\\\\\"===ch||ch>=\"a\"&&\"z\">=ch||ch>=\"A\"&&\"Z\">=ch}var bad,index=0,value=\"\",length=this.input.length,char=this.peek(index),isAllowedDigit=isDecimalDigit,base=10,isLegacy=!1;if(\".\"!==char&&!isDecimalDigit(char))return null;if(\".\"!==char){for(value=this.peek(index),index+=1,char=this.peek(index),\"0\"===value&&((\"x\"===char||\"X\"===char)&&(isAllowedDigit=isHexDigit,base=16,index+=1,value+=char),(\"o\"===char||\"O\"===char)&&(isAllowedDigit=isOctalDigit,base=8,state.inES6(!0)||this.trigger(\"warning\",{code:\"W119\",line:this.line,character:this.char,data:[\"Octal integer literal\",\"6\"]}),index+=1,value+=char),(\"b\"===char||\"B\"===char)&&(isAllowedDigit=isBinaryDigit,base=2,state.inES6(!0)||this.trigger(\"warning\",{code:\"W119\",line:this.line,character:this.char,data:[\"Binary integer literal\",\"6\"]}),index+=1,value+=char),isOctalDigit(char)&&(isAllowedDigit=isOctalDigit,base=8,isLegacy=!0,bad=!1,index+=1,value+=char),!isOctalDigit(char)&&isDecimalDigit(char)&&(index+=1,value+=char));length>index;){if(char=this.peek(index),isLegacy&&isDecimalDigit(char))bad=!0;else if(!isAllowedDigit(char))break;value+=char,index+=1}if(isAllowedDigit!==isDecimalDigit)return!isLegacy&&2>=value.length?{type:Token.NumericLiteral,value:value,isMalformed:!0}:length>index&&(char=this.peek(index),isIdentifierStart(char))?null:{type:Token.NumericLiteral,value:value,base:base,isLegacy:isLegacy,isMalformed:!1}}if(\".\"===char)for(value+=char,index+=1;length>index&&(char=this.peek(index),isDecimalDigit(char));)value+=char,index+=1;if(\"e\"===char||\"E\"===char){if(value+=char,index+=1,char=this.peek(index),(\"+\"===char||\"-\"===char)&&(value+=this.peek(index),index+=1),char=this.peek(index),!isDecimalDigit(char))return null;for(value+=char,index+=1;length>index&&(char=this.peek(index),isDecimalDigit(char));)value+=char,index+=1}return length>index&&(char=this.peek(index),isIdentifierStart(char))?null:{type:Token.NumericLiteral,value:value,base:base,isMalformed:!isFinite(value)}},scanEscapeSequence:function(checks){var allowNewLine=!1,jump=1;this.skip();var char=this.peek();switch(char){case\"'\":this.triggerAsync(\"warning\",{code:\"W114\",line:this.line,character:this.char,data:[\"\\\\'\"]},checks,function(){return state.jsonMode});break;case\"b\":char=\"\\\\b\";break;case\"f\":char=\"\\\\f\";break;case\"n\":char=\"\\\\n\";break;case\"r\":char=\"\\\\r\";break;case\"t\":char=\"\\\\t\";break;case\"0\":char=\"\\\\0\";var n=parseInt(this.peek(1),10);this.triggerAsync(\"warning\",{code:\"W115\",line:this.line,character:this.char},checks,function(){return n>=0&&7>=n&&state.isStrict()});break;case\"u\":var hexCode=this.input.substr(1,4),code=parseInt(hexCode,16);isNaN(code)&&this.trigger(\"warning\",{code:\"W052\",line:this.line,character:this.char,data:[\"u\"+hexCode]}),char=String.fromCharCode(code),jump=5;break;case\"v\":this.triggerAsync(\"warning\",{code:\"W114\",line:this.line,character:this.char,data:[\"\\\\v\"]},checks,function(){return state.jsonMode}),char=\"\u000b\";break;case\"x\":var x=parseInt(this.input.substr(1,2),16);this.triggerAsync(\"warning\",{code:\"W114\",line:this.line,character:this.char,data:[\"\\\\x-\"]},checks,function(){return state.jsonMode}),char=String.fromCharCode(x),jump=3;break;case\"\\\\\":char=\"\\\\\\\\\";break;case'\"':char='\\\\\"';break;case\"/\":break;case\"\":allowNewLine=!0,char=\"\"}return{\"char\":char,jump:jump,allowNewLine:allowNewLine}},scanTemplateLiteral:function(checks){var tokenType,ch,value=\"\",startLine=this.line,startChar=this.char,depth=this.templateStarts.length;if(!state.inES6(!0))return null;if(\"`\"===this.peek())tokenType=Token.TemplateHead,this.templateStarts.push({line:this.line,\"char\":this.char}),depth=this.templateStarts.length,this.skip(1),this.pushContext(Context.Template);else{if(!this.inContext(Context.Template)||\"}\"!==this.peek())return null;tokenType=Token.TemplateMiddle}for(;\"`\"!==this.peek();){for(;\"\"===(ch=this.peek());)if(value+=\"\\n\",!this.nextLine()){var startPos=this.templateStarts.pop();return this.trigger(\"error\",{code:\"E052\",line:startPos.line,character:startPos.char}),{type:tokenType,value:value,startLine:startLine,startChar:startChar,isUnclosed:!0,depth:depth,context:this.popContext()}}if(\"$\"===ch&&\"{\"===this.peek(1))return value+=\"${\",this.skip(2),{type:tokenType,value:value,startLine:startLine,startChar:startChar,isUnclosed:!1,depth:depth,context:this.currentContext()};\nif(\"\\\\\"===ch){var escape=this.scanEscapeSequence(checks);value+=escape.char,this.skip(escape.jump)}else\"`\"!==ch&&(value+=ch,this.skip(1))}return tokenType=tokenType===Token.TemplateHead?Token.NoSubstTemplate:Token.TemplateTail,this.skip(1),this.templateStarts.pop(),{type:tokenType,value:value,startLine:startLine,startChar:startChar,isUnclosed:!1,depth:depth,context:this.popContext()}},scanStringLiteral:function(checks){var quote=this.peek();if('\"'!==quote&&\"'\"!==quote)return null;this.triggerAsync(\"warning\",{code:\"W108\",line:this.line,character:this.char},checks,function(){return state.jsonMode&&'\"'!==quote});var value=\"\",startLine=this.line,startChar=this.char,allowNewLine=!1;for(this.skip();this.peek()!==quote;)if(\"\"===this.peek()){if(allowNewLine?(allowNewLine=!1,this.triggerAsync(\"warning\",{code:\"W043\",line:this.line,character:this.char},checks,function(){return!state.option.multistr}),this.triggerAsync(\"warning\",{code:\"W042\",line:this.line,character:this.char},checks,function(){return state.jsonMode&&state.option.multistr})):this.trigger(\"warning\",{code:\"W112\",line:this.line,character:this.char}),!this.nextLine())return this.trigger(\"error\",{code:\"E029\",line:startLine,character:startChar}),{type:Token.StringLiteral,value:value,startLine:startLine,startChar:startChar,isUnclosed:!0,quote:quote}}else{allowNewLine=!1;var char=this.peek(),jump=1;if(\" \">char&&this.trigger(\"warning\",{code:\"W113\",line:this.line,character:this.char,data:[\"\"]}),\"\\\\\"===char){var parsed=this.scanEscapeSequence(checks);char=parsed.char,jump=parsed.jump,allowNewLine=parsed.allowNewLine}value+=char,this.skip(jump)}return this.skip(),{type:Token.StringLiteral,value:value,startLine:startLine,startChar:startChar,isUnclosed:!1,quote:quote}},scanRegExp:function(){var terminated,index=0,length=this.input.length,char=this.peek(),value=char,body=\"\",flags=[],malformed=!1,isCharSet=!1,scanUnexpectedChars=function(){\" \">char&&(malformed=!0,this.trigger(\"warning\",{code:\"W048\",line:this.line,character:this.char})),\"<\"===char&&(malformed=!0,this.trigger(\"warning\",{code:\"W049\",line:this.line,character:this.char,data:[char]}))}.bind(this);if(!this.prereg||\"/\"!==char)return null;for(index+=1,terminated=!1;length>index;)if(char=this.peek(index),value+=char,body+=char,isCharSet)\"]\"===char&&(\"\\\\\"!==this.peek(index-1)||\"\\\\\"===this.peek(index-2))&&(isCharSet=!1),\"\\\\\"===char&&(index+=1,char=this.peek(index),body+=char,value+=char,scanUnexpectedChars()),index+=1;else{if(\"\\\\\"===char){if(index+=1,char=this.peek(index),body+=char,value+=char,scanUnexpectedChars(),\"/\"===char){index+=1;continue}if(\"[\"===char){index+=1;continue}}if(\"[\"!==char){if(\"/\"===char){body=body.substr(0,body.length-1),terminated=!0,index+=1;break}index+=1}else isCharSet=!0,index+=1}if(!terminated)return this.trigger(\"error\",{code:\"E015\",line:this.line,character:this.from}),void this.trigger(\"fatal\",{line:this.line,from:this.from});for(;length>index&&(char=this.peek(index),/[gim]/.test(char));)flags.push(char),value+=char,index+=1;try{RegExp(body,flags.join(\"\"))}catch(err){malformed=!0,this.trigger(\"error\",{code:\"E016\",line:this.line,character:this.char,data:[err.message]})}return{type:Token.RegExp,value:value,flags:flags,isMalformed:malformed}},scanNonBreakingSpaces:function(){return state.option.nonbsp?this.input.search(/(\\u00A0)/):-1},scanUnsafeChars:function(){return this.input.search(reg.unsafeChars)},next:function(checks){this.from=this.char;var start;if(/\\s/.test(this.peek()))for(start=this.char;/\\s/.test(this.peek());)this.from+=1,this.skip();var match=this.scanComments()||this.scanStringLiteral(checks)||this.scanTemplateLiteral(checks);return match?match:(match=this.scanRegExp()||this.scanPunctuator()||this.scanKeyword()||this.scanIdentifier()||this.scanNumericLiteral(),match?(this.skip(match.tokenLength||match.value.length),match):null)},nextLine:function(){var char;if(this.line>=this.getLines().length)return!1;this.input=this.getLines()[this.line],this.line+=1,this.char=1,this.from=1;var inputTrimmed=this.input.trim(),startsWith=function(){return _.some(arguments,function(prefix){return 0===inputTrimmed.indexOf(prefix)})},endsWith=function(){return _.some(arguments,function(suffix){return-1!==inputTrimmed.indexOf(suffix,inputTrimmed.length-suffix.length)})};if(this.ignoringLinterErrors===!0&&(startsWith(\"/*\",\"//\")||this.inComment&&endsWith(\"*/\")||(this.input=\"\")),char=this.scanNonBreakingSpaces(),char>=0&&this.trigger(\"warning\",{code:\"W125\",line:this.line,character:char+1}),this.input=this.input.replace(/\\t/g,state.tab),char=this.scanUnsafeChars(),char>=0&&this.trigger(\"warning\",{code:\"W100\",line:this.line,character:char}),!this.ignoringLinterErrors&&state.option.maxlen&&state.option.maxlen=0;--i){var scopeLabels=_scopeStack[i][\"(labels)\"];if(scopeLabels[labelName])return scopeLabels}}function usedSoFarInCurrentFunction(labelName){for(var i=_scopeStack.length-1;i>=0;i--){var current=_scopeStack[i];if(current[\"(usages)\"][labelName])return current[\"(usages)\"][labelName];if(current===_currentFunctBody)break}return!1}function _checkOuterShadow(labelName,token){if(\"outer\"===state.option.shadow)for(var isGlobal=\"global\"===_currentFunctBody[\"(type)\"],isNewFunction=\"functionparams\"===_current[\"(type)\"],outsideCurrentFunction=!isGlobal,i=0;_scopeStack.length>i;i++){var stackItem=_scopeStack[i];isNewFunction||_scopeStack[i+1]!==_currentFunctBody||(outsideCurrentFunction=!1),outsideCurrentFunction&&stackItem[\"(labels)\"][labelName]&&warning(\"W123\",token,labelName),stackItem[\"(breakLabels)\"][labelName]&&warning(\"W123\",token,labelName)}}function _latedefWarning(type,labelName,token){state.option.latedef&&(state.option.latedef===!0&&\"function\"===type||\"function\"!==type)&&warning(\"W003\",token,labelName)}var _current,_scopeStack=[];_newScope(\"global\"),_current[\"(predefined)\"]=predefined;var _currentFunctBody=_current,usedPredefinedAndGlobals=Object.create(null),impliedGlobals=Object.create(null),unuseds=[],emitter=new events.EventEmitter,_getUnusedOption=function(unused_opt){return void 0===unused_opt&&(unused_opt=state.option.unused),unused_opt===!0&&(unused_opt=\"last-param\"),unused_opt},_warnUnused=function(name,tkn,type,unused_opt){var line=tkn.line,chr=tkn.from,raw_name=tkn.raw_text||name;unused_opt=_getUnusedOption(unused_opt);var warnable_types={vars:[\"var\"],\"last-param\":[\"var\",\"param\"],strict:[\"var\",\"param\",\"last-param\"]};unused_opt&&warnable_types[unused_opt]&&-1!==warnable_types[unused_opt].indexOf(type)&&warning(\"W098\",{line:line,from:chr},raw_name),(unused_opt||\"var\"===type)&&unuseds.push({name:name,line:line,character:chr})},scopeManagerInst={on:function(names,listener){names.split(\" \").forEach(function(name){emitter.on(name,listener)})},isPredefined:function(labelName){return!this.has(labelName)&&_.has(_scopeStack[0][\"(predefined)\"],labelName)},stack:function(type){var previousScope=_current;_newScope(type),type||\"functionparams\"!==previousScope[\"(type)\"]||(_current[\"(isFuncBody)\"]=!0,_current[\"(context)\"]=_currentFunctBody,_currentFunctBody=_current)},unstack:function(){var i,j,subScope=_scopeStack.length>1?_scopeStack[_scopeStack.length-2]:null,isUnstackingFunctionBody=_current===_currentFunctBody,isUnstackingFunctionParams=\"functionparams\"===_current[\"(type)\"],isUnstackingFunctionOuter=\"functionouter\"===_current[\"(type)\"],currentUsages=_current[\"(usages)\"],currentLabels=_current[\"(labels)\"],usedLabelNameList=Object.keys(currentUsages);for(currentUsages.__proto__&&-1===usedLabelNameList.indexOf(\"__proto__\")&&usedLabelNameList.push(\"__proto__\"),i=0;usedLabelNameList.length>i;i++){var usedLabelName=usedLabelNameList[i],usage=currentUsages[usedLabelName],usedLabel=currentLabels[usedLabelName];if(usedLabel){var usedLabelType=usedLabel[\"(type)\"];if(usedLabel[\"(useOutsideOfScope)\"]&&!state.option.funcscope){var usedTokens=usage[\"(tokens)\"];if(usedTokens)for(j=0;usedTokens.length>j;j++)usedLabel[\"(function)\"]===usedTokens[j][\"(function)\"]&&error(\"W038\",usedTokens[j],usedLabelName)}if(_current[\"(labels)\"][usedLabelName][\"(unused)\"]=!1,\"const\"===usedLabelType&&usage[\"(modified)\"])for(j=0;usage[\"(modified)\"].length>j;j++)error(\"E013\",usage[\"(modified)\"][j],usedLabelName);if((\"function\"===usedLabelType||\"class\"===usedLabelType)&&usage[\"(reassigned)\"])for(j=0;usage[\"(reassigned)\"].length>j;j++)error(\"W021\",usage[\"(reassigned)\"][j],usedLabelName,usedLabelType)}else if(isUnstackingFunctionOuter&&(state.funct[\"(isCapturing)\"]=!0),subScope)if(subScope[\"(usages)\"][usedLabelName]){var subScopeUsage=subScope[\"(usages)\"][usedLabelName];subScopeUsage[\"(modified)\"]=subScopeUsage[\"(modified)\"].concat(usage[\"(modified)\"]),subScopeUsage[\"(tokens)\"]=subScopeUsage[\"(tokens)\"].concat(usage[\"(tokens)\"]),subScopeUsage[\"(reassigned)\"]=subScopeUsage[\"(reassigned)\"].concat(usage[\"(reassigned)\"]),subScopeUsage[\"(onlyUsedSubFunction)\"]=!1}else subScope[\"(usages)\"][usedLabelName]=usage,isUnstackingFunctionBody&&(subScope[\"(usages)\"][usedLabelName][\"(onlyUsedSubFunction)\"]=!0);else if(\"boolean\"==typeof _current[\"(predefined)\"][usedLabelName]){if(delete declared[usedLabelName],usedPredefinedAndGlobals[usedLabelName]=marker,_current[\"(predefined)\"][usedLabelName]===!1&&usage[\"(reassigned)\"])for(j=0;usage[\"(reassigned)\"].length>j;j++)warning(\"W020\",usage[\"(reassigned)\"][j])}else if(usage[\"(tokens)\"])for(j=0;usage[\"(tokens)\"].length>j;j++){var undefinedToken=usage[\"(tokens)\"][j];undefinedToken.forgiveUndef||(state.option.undef&&!undefinedToken.ignoreUndef&&warning(\"W117\",undefinedToken,usedLabelName),impliedGlobals[usedLabelName]?impliedGlobals[usedLabelName].line.push(undefinedToken.line):impliedGlobals[usedLabelName]={name:usedLabelName,line:[undefinedToken.line]})}}if(subScope||Object.keys(declared).forEach(function(labelNotUsed){_warnUnused(labelNotUsed,declared[labelNotUsed],\"var\")}),subScope&&!isUnstackingFunctionBody&&!isUnstackingFunctionParams&&!isUnstackingFunctionOuter){var labelNames=Object.keys(currentLabels);for(i=0;labelNames.length>i;i++){var defLabelName=labelNames[i];currentLabels[defLabelName][\"(blockscoped)\"]||\"exception\"===currentLabels[defLabelName][\"(type)\"]||this.funct.has(defLabelName,{excludeCurrent:!0})||(subScope[\"(labels)\"][defLabelName]=currentLabels[defLabelName],\"global\"!==_currentFunctBody[\"(type)\"]&&(subScope[\"(labels)\"][defLabelName][\"(useOutsideOfScope)\"]=!0),delete currentLabels[defLabelName])}}_checkForUnused(),_scopeStack.pop(),isUnstackingFunctionBody&&(_currentFunctBody=_scopeStack[_.findLastIndex(_scopeStack,function(scope){return scope[\"(isFuncBody)\"]||\"global\"===scope[\"(type)\"]})]),_current=subScope},addParam:function(labelName,token,type){if(type=type||\"param\",\"exception\"===type){var previouslyDefinedLabelType=this.funct.labeltype(labelName);previouslyDefinedLabelType&&\"exception\"!==previouslyDefinedLabelType&&(state.option.node||warning(\"W002\",state.tokens.next,labelName))}if(_.has(_current[\"(labels)\"],labelName)?_current[\"(labels)\"][labelName].duplicated=!0:(_checkOuterShadow(labelName,token,type),_current[\"(labels)\"][labelName]={\"(type)\":type,\"(token)\":token,\"(unused)\":!0},_current[\"(params)\"].push(labelName)),_.has(_current[\"(usages)\"],labelName)){var usage=_current[\"(usages)\"][labelName];usage[\"(onlyUsedSubFunction)\"]?_latedefWarning(type,labelName,token):warning(\"E056\",token,labelName,type)}},validateParams:function(){if(\"global\"!==_currentFunctBody[\"(type)\"]){var isStrict=state.isStrict(),currentFunctParamScope=_currentFunctBody[\"(parent)\"];currentFunctParamScope[\"(params)\"]&¤tFunctParamScope[\"(params)\"].forEach(function(labelName){var label=currentFunctParamScope[\"(labels)\"][labelName];label&&label.duplicated&&(isStrict?warning(\"E011\",label[\"(token)\"],labelName):state.option.shadow!==!0&&warning(\"W004\",label[\"(token)\"],labelName))})}},getUsedOrDefinedGlobals:function(){var list=Object.keys(usedPredefinedAndGlobals);return usedPredefinedAndGlobals.__proto__===marker&&-1===list.indexOf(\"__proto__\")&&list.push(\"__proto__\"),list},getImpliedGlobals:function(){var values=_.values(impliedGlobals),hasProto=!1;return impliedGlobals.__proto__&&(hasProto=values.some(function(value){return\"__proto__\"===value.name}),hasProto||values.push(impliedGlobals.__proto__)),values},getUnuseds:function(){return unuseds},has:function(labelName){return Boolean(_getLabel(labelName))},labeltype:function(labelName){var scopeLabels=_getLabel(labelName);return scopeLabels?scopeLabels[labelName][\"(type)\"]:null},addExported:function(labelName){var globalLabels=_scopeStack[0][\"(labels)\"];if(_.has(declared,labelName))delete declared[labelName];else if(_.has(globalLabels,labelName))globalLabels[labelName][\"(unused)\"]=!1;else{for(var i=1;_scopeStack.length>i;i++){var scope=_scopeStack[i];if(scope[\"(type)\"])break;if(_.has(scope[\"(labels)\"],labelName)&&!scope[\"(labels)\"][labelName][\"(blockscoped)\"])return scope[\"(labels)\"][labelName][\"(unused)\"]=!1,void 0}exported[labelName]=!0}},setExported:function(labelName,token){this.block.use(labelName,token)\n},addlabel:function(labelName,opts){var type=opts.type,token=opts.token,isblockscoped=\"let\"===type||\"const\"===type||\"class\"===type,isexported=\"global\"===(isblockscoped?_current:_currentFunctBody)[\"(type)\"]&&_.has(exported,labelName);if(_checkOuterShadow(labelName,token,type),isblockscoped){var declaredInCurrentScope=_current[\"(labels)\"][labelName];if(declaredInCurrentScope||_current!==_currentFunctBody||\"global\"===_current[\"(type)\"]||(declaredInCurrentScope=!!_currentFunctBody[\"(parent)\"][\"(labels)\"][labelName]),!declaredInCurrentScope&&_current[\"(usages)\"][labelName]){var usage=_current[\"(usages)\"][labelName];usage[\"(onlyUsedSubFunction)\"]?_latedefWarning(type,labelName,token):warning(\"E056\",token,labelName,type)}declaredInCurrentScope?warning(\"E011\",token,labelName):\"outer\"===state.option.shadow&&scopeManagerInst.funct.has(labelName)&&warning(\"W004\",token,labelName),scopeManagerInst.block.add(labelName,type,token,!isexported)}else{var declaredInCurrentFunctionScope=scopeManagerInst.funct.has(labelName);!declaredInCurrentFunctionScope&&usedSoFarInCurrentFunction(labelName)&&_latedefWarning(type,labelName,token),scopeManagerInst.funct.has(labelName,{onlyBlockscoped:!0})?warning(\"E011\",token,labelName):state.option.shadow!==!0&&declaredInCurrentFunctionScope&&\"__proto__\"!==labelName&&\"global\"!==_currentFunctBody[\"(type)\"]&&warning(\"W004\",token,labelName),scopeManagerInst.funct.add(labelName,type,token,!isexported),\"global\"===_currentFunctBody[\"(type)\"]&&(usedPredefinedAndGlobals[labelName]=marker)}},funct:{labeltype:function(labelName,options){for(var onlyBlockscoped=options&&options.onlyBlockscoped,excludeParams=options&&options.excludeParams,currentScopeIndex=_scopeStack.length-(options&&options.excludeCurrent?2:1),i=currentScopeIndex;i>=0;i--){var current=_scopeStack[i];if(current[\"(labels)\"][labelName]&&(!onlyBlockscoped||current[\"(labels)\"][labelName][\"(blockscoped)\"]))return current[\"(labels)\"][labelName][\"(type)\"];var scopeCheck=excludeParams?_scopeStack[i-1]:current;if(scopeCheck&&\"functionparams\"===scopeCheck[\"(type)\"])return null}return null},hasBreakLabel:function(labelName){for(var i=_scopeStack.length-1;i>=0;i--){var current=_scopeStack[i];if(current[\"(breakLabels)\"][labelName])return!0;if(\"functionparams\"===current[\"(type)\"])return!1}return!1},has:function(labelName,options){return Boolean(this.labeltype(labelName,options))},add:function(labelName,type,tok,unused){_current[\"(labels)\"][labelName]={\"(type)\":type,\"(token)\":tok,\"(blockscoped)\":!1,\"(function)\":_currentFunctBody,\"(unused)\":unused}}},block:{isGlobal:function(){return\"global\"===_current[\"(type)\"]},use:function(labelName,token){var paramScope=_currentFunctBody[\"(parent)\"];paramScope&¶mScope[\"(labels)\"][labelName]&&\"param\"===paramScope[\"(labels)\"][labelName][\"(type)\"]&&(scopeManagerInst.funct.has(labelName,{excludeParams:!0,onlyBlockscoped:!0})||(paramScope[\"(labels)\"][labelName][\"(unused)\"]=!1)),token&&(state.ignored.W117||state.option.undef===!1)&&(token.ignoreUndef=!0),_setupUsages(labelName),token&&(token[\"(function)\"]=_currentFunctBody,_current[\"(usages)\"][labelName][\"(tokens)\"].push(token))},reassign:function(labelName,token){this.modify(labelName,token),_current[\"(usages)\"][labelName][\"(reassigned)\"].push(token)},modify:function(labelName,token){_setupUsages(labelName),_current[\"(usages)\"][labelName][\"(modified)\"].push(token)},add:function(labelName,type,tok,unused){_current[\"(labels)\"][labelName]={\"(type)\":type,\"(token)\":tok,\"(blockscoped)\":!0,\"(unused)\":unused}},addBreakLabel:function(labelName,opts){var token=opts.token;scopeManagerInst.funct.hasBreakLabel(labelName)?warning(\"E011\",token,labelName):\"outer\"===state.option.shadow&&(scopeManagerInst.funct.has(labelName)?warning(\"W004\",token,labelName):_checkOuterShadow(labelName,token)),_current[\"(breakLabels)\"][labelName]=token}}};return scopeManagerInst};module.exports=scopeManager},{\"../lodash\":\"/node_modules/jshint/lodash.js\",events:\"/node_modules/browserify/node_modules/events/events.js\"}],\"/node_modules/jshint/src/state.js\":[function(_dereq_,module,exports){\"use strict\";var NameStack=_dereq_(\"./name-stack.js\"),state={syntax:{},isStrict:function(){return this.directive[\"use strict\"]||this.inClassBody||this.option.module||\"implied\"===this.option.strict},inMoz:function(){return this.option.moz},inES6:function(){return this.option.moz||this.option.esversion>=6},inES5:function(strict){return strict?!(this.option.esversion&&5!==this.option.esversion||this.option.moz):!this.option.esversion||this.option.esversion>=5||this.option.moz},reset:function(){this.tokens={prev:null,next:null,curr:null},this.option={},this.funct=null,this.ignored={},this.directive={},this.jsonMode=!1,this.jsonWarnings=[],this.lines=[],this.tab=\"\",this.cache={},this.ignoredLines={},this.forinifcheckneeded=!1,this.nameStack=new NameStack,this.inClassBody=!1}};exports.state=state},{\"./name-stack.js\":\"/node_modules/jshint/src/name-stack.js\"}],\"/node_modules/jshint/src/style.js\":[function(_dereq_,module,exports){\"use strict\";exports.register=function(linter){linter.on(\"Identifier\",function(data){linter.getOption(\"proto\")||\"__proto__\"===data.name&&linter.warn(\"W103\",{line:data.line,\"char\":data.char,data:[data.name,\"6\"]})}),linter.on(\"Identifier\",function(data){linter.getOption(\"iterator\")||\"__iterator__\"===data.name&&linter.warn(\"W103\",{line:data.line,\"char\":data.char,data:[data.name]})}),linter.on(\"Identifier\",function(data){linter.getOption(\"camelcase\")&&data.name.replace(/^_+|_+$/g,\"\").indexOf(\"_\")>-1&&!data.name.match(/^[A-Z0-9_]*$/)&&linter.warn(\"W106\",{line:data.line,\"char\":data.from,data:[data.name]})}),linter.on(\"String\",function(data){var code,quotmark=linter.getOption(\"quotmark\");quotmark&&(\"single\"===quotmark&&\"'\"!==data.quote&&(code=\"W109\"),\"double\"===quotmark&&'\"'!==data.quote&&(code=\"W108\"),quotmark===!0&&(linter.getCache(\"quotmark\")||linter.setCache(\"quotmark\",data.quote),linter.getCache(\"quotmark\")!==data.quote&&(code=\"W110\")),code&&linter.warn(code,{line:data.line,\"char\":data.char}))}),linter.on(\"Number\",function(data){\".\"===data.value.charAt(0)&&linter.warn(\"W008\",{line:data.line,\"char\":data.char,data:[data.value]}),\".\"===data.value.substr(data.value.length-1)&&linter.warn(\"W047\",{line:data.line,\"char\":data.char,data:[data.value]}),/^00+/.test(data.value)&&linter.warn(\"W046\",{line:data.line,\"char\":data.char,data:[data.value]})}),linter.on(\"String\",function(data){var re=/^(?:javascript|jscript|ecmascript|vbscript|livescript)\\s*:/i;linter.getOption(\"scripturl\")||re.test(data.value)&&linter.warn(\"W107\",{line:data.line,\"char\":data.char})})}},{}],\"/node_modules/jshint/src/vars.js\":[function(_dereq_,module,exports){\"use strict\";exports.reservedVars={arguments:!1,NaN:!1},exports.ecmaIdentifiers={3:{Array:!1,Boolean:!1,Date:!1,decodeURI:!1,decodeURIComponent:!1,encodeURI:!1,encodeURIComponent:!1,Error:!1,eval:!1,EvalError:!1,Function:!1,hasOwnProperty:!1,isFinite:!1,isNaN:!1,Math:!1,Number:!1,Object:!1,parseInt:!1,parseFloat:!1,RangeError:!1,ReferenceError:!1,RegExp:!1,String:!1,SyntaxError:!1,TypeError:!1,URIError:!1},5:{JSON:!1},6:{Map:!1,Promise:!1,Proxy:!1,Reflect:!1,Set:!1,Symbol:!1,WeakMap:!1,WeakSet:!1}},exports.browser={Audio:!1,Blob:!1,addEventListener:!1,applicationCache:!1,atob:!1,blur:!1,btoa:!1,cancelAnimationFrame:!1,CanvasGradient:!1,CanvasPattern:!1,CanvasRenderingContext2D:!1,CSS:!1,clearInterval:!1,clearTimeout:!1,close:!1,closed:!1,Comment:!1,CustomEvent:!1,DOMParser:!1,defaultStatus:!1,Document:!1,document:!1,DocumentFragment:!1,Element:!1,ElementTimeControl:!1,Event:!1,event:!1,fetch:!1,FileReader:!1,FormData:!1,focus:!1,frames:!1,getComputedStyle:!1,HTMLElement:!1,HTMLAnchorElement:!1,HTMLBaseElement:!1,HTMLBlockquoteElement:!1,HTMLBodyElement:!1,HTMLBRElement:!1,HTMLButtonElement:!1,HTMLCanvasElement:!1,HTMLCollection:!1,HTMLDirectoryElement:!1,HTMLDivElement:!1,HTMLDListElement:!1,HTMLFieldSetElement:!1,HTMLFontElement:!1,HTMLFormElement:!1,HTMLFrameElement:!1,HTMLFrameSetElement:!1,HTMLHeadElement:!1,HTMLHeadingElement:!1,HTMLHRElement:!1,HTMLHtmlElement:!1,HTMLIFrameElement:!1,HTMLImageElement:!1,HTMLInputElement:!1,HTMLIsIndexElement:!1,HTMLLabelElement:!1,HTMLLayerElement:!1,HTMLLegendElement:!1,HTMLLIElement:!1,HTMLLinkElement:!1,HTMLMapElement:!1,HTMLMenuElement:!1,HTMLMetaElement:!1,HTMLModElement:!1,HTMLObjectElement:!1,HTMLOListElement:!1,HTMLOptGroupElement:!1,HTMLOptionElement:!1,HTMLParagraphElement:!1,HTMLParamElement:!1,HTMLPreElement:!1,HTMLQuoteElement:!1,HTMLScriptElement:!1,HTMLSelectElement:!1,HTMLStyleElement:!1,HTMLTableCaptionElement:!1,HTMLTableCellElement:!1,HTMLTableColElement:!1,HTMLTableElement:!1,HTMLTableRowElement:!1,HTMLTableSectionElement:!1,HTMLTemplateElement:!1,HTMLTextAreaElement:!1,HTMLTitleElement:!1,HTMLUListElement:!1,HTMLVideoElement:!1,history:!1,Image:!1,Intl:!1,length:!1,localStorage:!1,location:!1,matchMedia:!1,MessageChannel:!1,MessageEvent:!1,MessagePort:!1,MouseEvent:!1,moveBy:!1,moveTo:!1,MutationObserver:!1,name:!1,Node:!1,NodeFilter:!1,NodeList:!1,Notification:!1,navigator:!1,onbeforeunload:!0,onblur:!0,onerror:!0,onfocus:!0,onload:!0,onresize:!0,onunload:!0,open:!1,openDatabase:!1,opener:!1,Option:!1,parent:!1,performance:!1,print:!1,Range:!1,requestAnimationFrame:!1,removeEventListener:!1,resizeBy:!1,resizeTo:!1,screen:!1,scroll:!1,scrollBy:!1,scrollTo:!1,sessionStorage:!1,setInterval:!1,setTimeout:!1,SharedWorker:!1,status:!1,SVGAElement:!1,SVGAltGlyphDefElement:!1,SVGAltGlyphElement:!1,SVGAltGlyphItemElement:!1,SVGAngle:!1,SVGAnimateColorElement:!1,SVGAnimateElement:!1,SVGAnimateMotionElement:!1,SVGAnimateTransformElement:!1,SVGAnimatedAngle:!1,SVGAnimatedBoolean:!1,SVGAnimatedEnumeration:!1,SVGAnimatedInteger:!1,SVGAnimatedLength:!1,SVGAnimatedLengthList:!1,SVGAnimatedNumber:!1,SVGAnimatedNumberList:!1,SVGAnimatedPathData:!1,SVGAnimatedPoints:!1,SVGAnimatedPreserveAspectRatio:!1,SVGAnimatedRect:!1,SVGAnimatedString:!1,SVGAnimatedTransformList:!1,SVGAnimationElement:!1,SVGCSSRule:!1,SVGCircleElement:!1,SVGClipPathElement:!1,SVGColor:!1,SVGColorProfileElement:!1,SVGColorProfileRule:!1,SVGComponentTransferFunctionElement:!1,SVGCursorElement:!1,SVGDefsElement:!1,SVGDescElement:!1,SVGDocument:!1,SVGElement:!1,SVGElementInstance:!1,SVGElementInstanceList:!1,SVGEllipseElement:!1,SVGExternalResourcesRequired:!1,SVGFEBlendElement:!1,SVGFEColorMatrixElement:!1,SVGFEComponentTransferElement:!1,SVGFECompositeElement:!1,SVGFEConvolveMatrixElement:!1,SVGFEDiffuseLightingElement:!1,SVGFEDisplacementMapElement:!1,SVGFEDistantLightElement:!1,SVGFEFloodElement:!1,SVGFEFuncAElement:!1,SVGFEFuncBElement:!1,SVGFEFuncGElement:!1,SVGFEFuncRElement:!1,SVGFEGaussianBlurElement:!1,SVGFEImageElement:!1,SVGFEMergeElement:!1,SVGFEMergeNodeElement:!1,SVGFEMorphologyElement:!1,SVGFEOffsetElement:!1,SVGFEPointLightElement:!1,SVGFESpecularLightingElement:!1,SVGFESpotLightElement:!1,SVGFETileElement:!1,SVGFETurbulenceElement:!1,SVGFilterElement:!1,SVGFilterPrimitiveStandardAttributes:!1,SVGFitToViewBox:!1,SVGFontElement:!1,SVGFontFaceElement:!1,SVGFontFaceFormatElement:!1,SVGFontFaceNameElement:!1,SVGFontFaceSrcElement:!1,SVGFontFaceUriElement:!1,SVGForeignObjectElement:!1,SVGGElement:!1,SVGGlyphElement:!1,SVGGlyphRefElement:!1,SVGGradientElement:!1,SVGHKernElement:!1,SVGICCColor:!1,SVGImageElement:!1,SVGLangSpace:!1,SVGLength:!1,SVGLengthList:!1,SVGLineElement:!1,SVGLinearGradientElement:!1,SVGLocatable:!1,SVGMPathElement:!1,SVGMarkerElement:!1,SVGMaskElement:!1,SVGMatrix:!1,SVGMetadataElement:!1,SVGMissingGlyphElement:!1,SVGNumber:!1,SVGNumberList:!1,SVGPaint:!1,SVGPathElement:!1,SVGPathSeg:!1,SVGPathSegArcAbs:!1,SVGPathSegArcRel:!1,SVGPathSegClosePath:!1,SVGPathSegCurvetoCubicAbs:!1,SVGPathSegCurvetoCubicRel:!1,SVGPathSegCurvetoCubicSmoothAbs:!1,SVGPathSegCurvetoCubicSmoothRel:!1,SVGPathSegCurvetoQuadraticAbs:!1,SVGPathSegCurvetoQuadraticRel:!1,SVGPathSegCurvetoQuadraticSmoothAbs:!1,SVGPathSegCurvetoQuadraticSmoothRel:!1,SVGPathSegLinetoAbs:!1,SVGPathSegLinetoHorizontalAbs:!1,SVGPathSegLinetoHorizontalRel:!1,SVGPathSegLinetoRel:!1,SVGPathSegLinetoVerticalAbs:!1,SVGPathSegLinetoVerticalRel:!1,SVGPathSegList:!1,SVGPathSegMovetoAbs:!1,SVGPathSegMovetoRel:!1,SVGPatternElement:!1,SVGPoint:!1,SVGPointList:!1,SVGPolygonElement:!1,SVGPolylineElement:!1,SVGPreserveAspectRatio:!1,SVGRadialGradientElement:!1,SVGRect:!1,SVGRectElement:!1,SVGRenderingIntent:!1,SVGSVGElement:!1,SVGScriptElement:!1,SVGSetElement:!1,SVGStopElement:!1,SVGStringList:!1,SVGStylable:!1,SVGStyleElement:!1,SVGSwitchElement:!1,SVGSymbolElement:!1,SVGTRefElement:!1,SVGTSpanElement:!1,SVGTests:!1,SVGTextContentElement:!1,SVGTextElement:!1,SVGTextPathElement:!1,SVGTextPositioningElement:!1,SVGTitleElement:!1,SVGTransform:!1,SVGTransformList:!1,SVGTransformable:!1,SVGURIReference:!1,SVGUnitTypes:!1,SVGUseElement:!1,SVGVKernElement:!1,SVGViewElement:!1,SVGViewSpec:!1,SVGZoomAndPan:!1,Text:!1,TextDecoder:!1,TextEncoder:!1,TimeEvent:!1,top:!1,URL:!1,WebGLActiveInfo:!1,WebGLBuffer:!1,WebGLContextEvent:!1,WebGLFramebuffer:!1,WebGLProgram:!1,WebGLRenderbuffer:!1,WebGLRenderingContext:!1,WebGLShader:!1,WebGLShaderPrecisionFormat:!1,WebGLTexture:!1,WebGLUniformLocation:!1,WebSocket:!1,window:!1,Window:!1,Worker:!1,XDomainRequest:!1,XMLHttpRequest:!1,XMLSerializer:!1,XPathEvaluator:!1,XPathException:!1,XPathExpression:!1,XPathNamespace:!1,XPathNSResolver:!1,XPathResult:!1},exports.devel={alert:!1,confirm:!1,console:!1,Debug:!1,opera:!1,prompt:!1},exports.worker={importScripts:!0,postMessage:!0,self:!0,FileReaderSync:!0},exports.nonstandard={escape:!1,unescape:!1},exports.couch={require:!1,respond:!1,getRow:!1,emit:!1,send:!1,start:!1,sum:!1,log:!1,exports:!1,module:!1,provides:!1},exports.node={__filename:!1,__dirname:!1,GLOBAL:!1,global:!1,module:!1,acequire:!1,Buffer:!0,console:!0,exports:!0,process:!0,setTimeout:!0,clearTimeout:!0,setInterval:!0,clearInterval:!0,setImmediate:!0,clearImmediate:!0},exports.browserify={__filename:!1,__dirname:!1,global:!1,module:!1,acequire:!1,Buffer:!0,exports:!0,process:!0},exports.phantom={phantom:!0,acequire:!0,WebPage:!0,console:!0,exports:!0},exports.qunit={asyncTest:!1,deepEqual:!1,equal:!1,expect:!1,module:!1,notDeepEqual:!1,notEqual:!1,notPropEqual:!1,notStrictEqual:!1,ok:!1,propEqual:!1,QUnit:!1,raises:!1,start:!1,stop:!1,strictEqual:!1,test:!1,\"throws\":!1},exports.rhino={defineClass:!1,deserialize:!1,gc:!1,help:!1,importClass:!1,importPackage:!1,java:!1,load:!1,loadClass:!1,Packages:!1,print:!1,quit:!1,readFile:!1,readUrl:!1,runCommand:!1,seal:!1,serialize:!1,spawn:!1,sync:!1,toint32:!1,version:!1},exports.shelljs={target:!1,echo:!1,exit:!1,cd:!1,pwd:!1,ls:!1,find:!1,cp:!1,rm:!1,mv:!1,mkdir:!1,test:!1,cat:!1,sed:!1,grep:!1,which:!1,dirs:!1,pushd:!1,popd:!1,env:!1,exec:!1,chmod:!1,config:!1,error:!1,tempdir:!1},exports.typed={ArrayBuffer:!1,ArrayBufferView:!1,DataView:!1,Float32Array:!1,Float64Array:!1,Int16Array:!1,Int32Array:!1,Int8Array:!1,Uint16Array:!1,Uint32Array:!1,Uint8Array:!1,Uint8ClampedArray:!1},exports.wsh={ActiveXObject:!0,Enumerator:!0,GetObject:!0,ScriptEngine:!0,ScriptEngineBuildVersion:!0,ScriptEngineMajorVersion:!0,ScriptEngineMinorVersion:!0,VBArray:!0,WSH:!0,WScript:!0,XDomainRequest:!0},exports.dojo={dojo:!1,dijit:!1,dojox:!1,define:!1,require:!1},exports.jquery={$:!1,jQuery:!1},exports.mootools={$:!1,$$:!1,Asset:!1,Browser:!1,Chain:!1,Class:!1,Color:!1,Cookie:!1,Core:!1,Document:!1,DomReady:!1,DOMEvent:!1,DOMReady:!1,Drag:!1,Element:!1,Elements:!1,Event:!1,Events:!1,Fx:!1,Group:!1,Hash:!1,HtmlTable:!1,IFrame:!1,IframeShim:!1,InputValidator:!1,instanceOf:!1,Keyboard:!1,Locale:!1,Mask:!1,MooTools:!1,Native:!1,Options:!1,OverText:!1,Request:!1,Scroller:!1,Slick:!1,Slider:!1,Sortables:!1,Spinner:!1,Swiff:!1,Tips:!1,Type:!1,typeOf:!1,URI:!1,Window:!1},exports.prototypejs={$:!1,$$:!1,$A:!1,$F:!1,$H:!1,$R:!1,$break:!1,$continue:!1,$w:!1,Abstract:!1,Ajax:!1,Class:!1,Enumerable:!1,Element:!1,Event:!1,Field:!1,Form:!1,Hash:!1,Insertion:!1,ObjectRange:!1,PeriodicalExecuter:!1,Position:!1,Prototype:!1,Selector:!1,Template:!1,Toggle:!1,Try:!1,Autocompleter:!1,Builder:!1,Control:!1,Draggable:!1,Draggables:!1,Droppables:!1,Effect:!1,Sortable:!1,SortableObserver:!1,Sound:!1,Scriptaculous:!1},exports.yui={YUI:!1,Y:!1,YUI_config:!1},exports.mocha={mocha:!1,describe:!1,xdescribe:!1,it:!1,xit:!1,context:!1,xcontext:!1,before:!1,after:!1,beforeEach:!1,afterEach:!1,suite:!1,test:!1,setup:!1,teardown:!1,suiteSetup:!1,suiteTeardown:!1},exports.jasmine={jasmine:!1,describe:!1,xdescribe:!1,it:!1,xit:!1,beforeEach:!1,afterEach:!1,setFixtures:!1,loadFixtures:!1,spyOn:!1,expect:!1,runs:!1,waitsFor:!1,waits:!1,beforeAll:!1,afterAll:!1,fail:!1,fdescribe:!1,fit:!1,pending:!1}},{}]},{},[\"/node_modules/jshint/src/jshint.js\"])}),ace.define(\"ace/mode/javascript_worker\",[\"require\",\"exports\",\"module\",\"ace/lib/oop\",\"ace/worker/mirror\",\"ace/mode/javascript/jshint\"],function(acequire,exports,module){\"use strict\";function startRegex(arr){return RegExp(\"^(\"+arr.join(\"|\")+\")\")}var oop=acequire(\"../lib/oop\"),Mirror=acequire(\"../worker/mirror\").Mirror,lint=acequire(\"./javascript/jshint\").JSHINT,disabledWarningsRe=startRegex([\"Bad for in variable '(.+)'.\",'Missing \"use strict\"']),errorsRe=startRegex([\"Unexpected\",\"Expected \",\"Confusing (plus|minus)\",\"\\\\{a\\\\} unterminated regular expression\",\"Unclosed \",\"Unmatched \",\"Unbegun comment\",\"Bad invocation\",\"Missing space after\",\"Missing operator at\"]),infoRe=startRegex([\"Expected an assignment\",\"Bad escapement of EOL\",\"Unexpected comma\",\"Unexpected space\",\"Missing radix parameter.\",\"A leading decimal point can\",\"\\\\['{a}'\\\\] is better written in dot notation.\",\"'{a}' used out of scope\"]),JavaScriptWorker=exports.JavaScriptWorker=function(sender){Mirror.call(this,sender),this.setTimeout(500),this.setOptions()};oop.inherits(JavaScriptWorker,Mirror),function(){this.setOptions=function(options){this.options=options||{esnext:!0,moz:!0,devel:!0,browser:!0,node:!0,laxcomma:!0,laxbreak:!0,lastsemic:!0,onevar:!1,passfail:!1,maxerr:200,expr:!0,multistr:!0,globalstrict:!0},this.doc.getValue()&&this.deferredUpdate.schedule(100)},this.changeOptions=function(newOptions){oop.mixin(this.options,newOptions),this.doc.getValue()&&this.deferredUpdate.schedule(100)},this.isValidJS=function(str){try{eval(\"throw 0;\"+str)}catch(e){if(0===e)return!0}return!1},this.onUpdate=function(){var value=this.doc.getValue();if(value=value.replace(/^#!.*\\n/,\"\\n\"),!value)return this.sender.emit(\"annotate\",[]);var errors=[],maxErrorLevel=this.isValidJS(value)?\"warning\":\"error\";lint(value,this.options,this.options.globals);for(var results=lint.errors,errorAdded=!1,i=0;results.length>i;i++){var error=results[i];if(error){var raw=error.raw,type=\"warning\";if(\"Missing semicolon.\"==raw){var str=error.evidence.substr(error.character);str=str.charAt(str.search(/\\S/)),\"error\"==maxErrorLevel&&str&&/[\\w\\d{(['\"]/.test(str)?(error.reason='Missing \";\" before statement',type=\"error\"):type=\"info\"}else{if(disabledWarningsRe.test(raw))continue;infoRe.test(raw)?type=\"info\":errorsRe.test(raw)?(errorAdded=!0,type=maxErrorLevel):\"'{a}' is not defined.\"==raw?type=\"warning\":\"'{a}' is defined but never used.\"==raw&&(type=\"info\")}errors.push({row:error.line-1,column:error.character-1,text:error.reason,type:type,raw:raw})}}this.sender.emit(\"annotate\",errors)}}.call(JavaScriptWorker.prototype)}),ace.define(\"ace/lib/es5-shim\",[\"require\",\"exports\",\"module\"],function(){function Empty(){}function doesDefinePropertyWork(object){try{return Object.defineProperty(object,\"sentinel\",{}),\"sentinel\"in object}catch(exception){}}function toInteger(n){return n=+n,n!==n?n=0:0!==n&&n!==1/0&&n!==-(1/0)&&(n=(n>0||-1)*Math.floor(Math.abs(n))),n}Function.prototype.bind||(Function.prototype.bind=function(that){var target=this;if(\"function\"!=typeof target)throw new TypeError(\"Function.prototype.bind called on incompatible \"+target);var args=slice.call(arguments,1),bound=function(){if(this instanceof bound){var result=target.apply(this,args.concat(slice.call(arguments)));return Object(result)===result?result:this}return target.apply(that,args.concat(slice.call(arguments)))};return target.prototype&&(Empty.prototype=target.prototype,bound.prototype=new Empty,Empty.prototype=null),bound});var defineGetter,defineSetter,lookupGetter,lookupSetter,supportsAccessors,call=Function.prototype.call,prototypeOfArray=Array.prototype,prototypeOfObject=Object.prototype,slice=prototypeOfArray.slice,_toString=call.bind(prototypeOfObject.toString),owns=call.bind(prototypeOfObject.hasOwnProperty);if((supportsAccessors=owns(prototypeOfObject,\"__defineGetter__\"))&&(defineGetter=call.bind(prototypeOfObject.__defineGetter__),defineSetter=call.bind(prototypeOfObject.__defineSetter__),lookupGetter=call.bind(prototypeOfObject.__lookupGetter__),lookupSetter=call.bind(prototypeOfObject.__lookupSetter__)),2!=[1,2].splice(0).length)if(function(){function makeArray(l){var a=Array(l+2);return a[0]=a[1]=0,a}var lengthBefore,array=[];return array.splice.apply(array,makeArray(20)),array.splice.apply(array,makeArray(26)),lengthBefore=array.length,array.splice(5,0,\"XXX\"),lengthBefore+1==array.length,lengthBefore+1==array.length?!0:void 0}()){var array_splice=Array.prototype.splice;Array.prototype.splice=function(start,deleteCount){return arguments.length?array_splice.apply(this,[void 0===start?0:start,void 0===deleteCount?this.length-start:deleteCount].concat(slice.call(arguments,2))):[]}}else Array.prototype.splice=function(pos,removeCount){var length=this.length;pos>0?pos>length&&(pos=length):void 0==pos?pos=0:0>pos&&(pos=Math.max(length+pos,0)),length>pos+removeCount||(removeCount=length-pos);var removed=this.slice(pos,pos+removeCount),insert=slice.call(arguments,2),add=insert.length;if(pos===length)add&&this.push.apply(this,insert);else{var remove=Math.min(removeCount,length-pos),tailOldPos=pos+remove,tailNewPos=tailOldPos+add-remove,tailCount=length-tailOldPos,lengthAfterRemove=length-remove;if(tailOldPos>tailNewPos)for(var i=0;tailCount>i;++i)this[tailNewPos+i]=this[tailOldPos+i];else if(tailNewPos>tailOldPos)for(i=tailCount;i--;)this[tailNewPos+i]=this[tailOldPos+i];if(add&&pos===lengthAfterRemove)this.length=lengthAfterRemove,this.push.apply(this,insert);else for(this.length=lengthAfterRemove+add,i=0;add>i;++i)this[pos+i]=insert[i]}return removed};Array.isArray||(Array.isArray=function(obj){return\"[object Array]\"==_toString(obj)});var boxedString=Object(\"a\"),splitString=\"a\"!=boxedString[0]||!(0 in boxedString);if(Array.prototype.forEach||(Array.prototype.forEach=function(fun){var object=toObject(this),self=splitString&&\"[object String]\"==_toString(this)?this.split(\"\"):object,thisp=arguments[1],i=-1,length=self.length>>>0;if(\"[object Function]\"!=_toString(fun))throw new TypeError;for(;length>++i;)i in self&&fun.call(thisp,self[i],i,object)}),Array.prototype.map||(Array.prototype.map=function(fun){var object=toObject(this),self=splitString&&\"[object String]\"==_toString(this)?this.split(\"\"):object,length=self.length>>>0,result=Array(length),thisp=arguments[1];if(\"[object Function]\"!=_toString(fun))throw new TypeError(fun+\" is not a function\");for(var i=0;length>i;i++)i in self&&(result[i]=fun.call(thisp,self[i],i,object));return result}),Array.prototype.filter||(Array.prototype.filter=function(fun){var value,object=toObject(this),self=splitString&&\"[object String]\"==_toString(this)?this.split(\"\"):object,length=self.length>>>0,result=[],thisp=arguments[1];if(\"[object Function]\"!=_toString(fun))throw new TypeError(fun+\" is not a function\");for(var i=0;length>i;i++)i in self&&(value=self[i],fun.call(thisp,value,i,object)&&result.push(value));return result}),Array.prototype.every||(Array.prototype.every=function(fun){var object=toObject(this),self=splitString&&\"[object String]\"==_toString(this)?this.split(\"\"):object,length=self.length>>>0,thisp=arguments[1];if(\"[object Function]\"!=_toString(fun))throw new TypeError(fun+\" is not a function\");for(var i=0;length>i;i++)if(i in self&&!fun.call(thisp,self[i],i,object))return!1;return!0}),Array.prototype.some||(Array.prototype.some=function(fun){var object=toObject(this),self=splitString&&\"[object String]\"==_toString(this)?this.split(\"\"):object,length=self.length>>>0,thisp=arguments[1];if(\"[object Function]\"!=_toString(fun))throw new TypeError(fun+\" is not a function\");for(var i=0;length>i;i++)if(i in self&&fun.call(thisp,self[i],i,object))return!0;return!1}),Array.prototype.reduce||(Array.prototype.reduce=function(fun){var object=toObject(this),self=splitString&&\"[object String]\"==_toString(this)?this.split(\"\"):object,length=self.length>>>0;if(\"[object Function]\"!=_toString(fun))throw new TypeError(fun+\" is not a function\");if(!length&&1==arguments.length)throw new TypeError(\"reduce of empty array with no initial value\");var result,i=0;if(arguments.length>=2)result=arguments[1];else for(;;){if(i in self){result=self[i++];break}if(++i>=length)throw new TypeError(\"reduce of empty array with no initial value\")}for(;length>i;i++)i in self&&(result=fun.call(void 0,result,self[i],i,object));return result}),Array.prototype.reduceRight||(Array.prototype.reduceRight=function(fun){var object=toObject(this),self=splitString&&\"[object String]\"==_toString(this)?this.split(\"\"):object,length=self.length>>>0;if(\"[object Function]\"!=_toString(fun))throw new TypeError(fun+\" is not a function\");if(!length&&1==arguments.length)throw new TypeError(\"reduceRight of empty array with no initial value\");var result,i=length-1;if(arguments.length>=2)result=arguments[1];else for(;;){if(i in self){result=self[i--];break}if(0>--i)throw new TypeError(\"reduceRight of empty array with no initial value\")}do i in this&&(result=fun.call(void 0,result,self[i],i,object));while(i--);return result}),Array.prototype.indexOf&&-1==[0,1].indexOf(1,2)||(Array.prototype.indexOf=function(sought){var self=splitString&&\"[object String]\"==_toString(this)?this.split(\"\"):toObject(this),length=self.length>>>0;if(!length)return-1;var i=0;for(arguments.length>1&&(i=toInteger(arguments[1])),i=i>=0?i:Math.max(0,length+i);length>i;i++)if(i in self&&self[i]===sought)return i;return-1}),Array.prototype.lastIndexOf&&-1==[0,1].lastIndexOf(0,-3)||(Array.prototype.lastIndexOf=function(sought){var self=splitString&&\"[object String]\"==_toString(this)?this.split(\"\"):toObject(this),length=self.length>>>0;if(!length)return-1;var i=length-1;for(arguments.length>1&&(i=Math.min(i,toInteger(arguments[1]))),i=i>=0?i:length-Math.abs(i);i>=0;i--)if(i in self&&sought===self[i])return i;return-1}),Object.getPrototypeOf||(Object.getPrototypeOf=function(object){return object.__proto__||(object.constructor?object.constructor.prototype:prototypeOfObject)}),!Object.getOwnPropertyDescriptor){var ERR_NON_OBJECT=\"Object.getOwnPropertyDescriptor called on a non-object: \";Object.getOwnPropertyDescriptor=function(object,property){if(\"object\"!=typeof object&&\"function\"!=typeof object||null===object)throw new TypeError(ERR_NON_OBJECT+object);if(owns(object,property)){var descriptor,getter,setter;if(descriptor={enumerable:!0,configurable:!0},supportsAccessors){var prototype=object.__proto__;object.__proto__=prototypeOfObject;var getter=lookupGetter(object,property),setter=lookupSetter(object,property);if(object.__proto__=prototype,getter||setter)return getter&&(descriptor.get=getter),setter&&(descriptor.set=setter),descriptor}return descriptor.value=object[property],descriptor}}}if(Object.getOwnPropertyNames||(Object.getOwnPropertyNames=function(object){return Object.keys(object)}),!Object.create){var createEmpty;createEmpty=null===Object.prototype.__proto__?function(){return{__proto__:null}}:function(){var empty={};for(var i in empty)empty[i]=null;return empty.constructor=empty.hasOwnProperty=empty.propertyIsEnumerable=empty.isPrototypeOf=empty.toLocaleString=empty.toString=empty.valueOf=empty.__proto__=null,empty},Object.create=function(prototype,properties){var object;if(null===prototype)object=createEmpty();else{if(\"object\"!=typeof prototype)throw new TypeError(\"typeof prototype[\"+typeof prototype+\"] != 'object'\");var Type=function(){};Type.prototype=prototype,object=new Type,object.__proto__=prototype}return void 0!==properties&&Object.defineProperties(object,properties),object}}if(Object.defineProperty){var definePropertyWorksOnObject=doesDefinePropertyWork({}),definePropertyWorksOnDom=\"undefined\"==typeof document||doesDefinePropertyWork(document.createElement(\"div\"));if(!definePropertyWorksOnObject||!definePropertyWorksOnDom)var definePropertyFallback=Object.defineProperty}if(!Object.defineProperty||definePropertyFallback){var ERR_NON_OBJECT_DESCRIPTOR=\"Property description must be an object: \",ERR_NON_OBJECT_TARGET=\"Object.defineProperty called on non-object: \",ERR_ACCESSORS_NOT_SUPPORTED=\"getters & setters can not be defined on this javascript engine\";Object.defineProperty=function(object,property,descriptor){if(\"object\"!=typeof object&&\"function\"!=typeof object||null===object)throw new TypeError(ERR_NON_OBJECT_TARGET+object);if(\"object\"!=typeof descriptor&&\"function\"!=typeof descriptor||null===descriptor)throw new TypeError(ERR_NON_OBJECT_DESCRIPTOR+descriptor);if(definePropertyFallback)try{return definePropertyFallback.call(Object,object,property,descriptor)}catch(exception){}if(owns(descriptor,\"value\"))if(supportsAccessors&&(lookupGetter(object,property)||lookupSetter(object,property))){var prototype=object.__proto__;object.__proto__=prototypeOfObject,delete object[property],object[property]=descriptor.value,object.__proto__=prototype}else object[property]=descriptor.value;else{if(!supportsAccessors)throw new TypeError(ERR_ACCESSORS_NOT_SUPPORTED);owns(descriptor,\"get\")&&defineGetter(object,property,descriptor.get),owns(descriptor,\"set\")&&defineSetter(object,property,descriptor.set)}return object}}Object.defineProperties||(Object.defineProperties=function(object,properties){for(var property in properties)owns(properties,property)&&Object.defineProperty(object,property,properties[property]);return object}),Object.seal||(Object.seal=function(object){return object}),Object.freeze||(Object.freeze=function(object){return object});try{Object.freeze(function(){})}catch(exception){Object.freeze=function(freezeObject){return function(object){return\"function\"==typeof object?object:freezeObject(object)}}(Object.freeze)}if(Object.preventExtensions||(Object.preventExtensions=function(object){return object}),Object.isSealed||(Object.isSealed=function(){return!1}),Object.isFrozen||(Object.isFrozen=function(){return!1}),Object.isExtensible||(Object.isExtensible=function(object){if(Object(object)===object)throw new TypeError;for(var name=\"\";owns(object,name);)name+=\"?\";object[name]=!0;var returnValue=owns(object,name);return delete object[name],returnValue}),!Object.keys){var hasDontEnumBug=!0,dontEnums=[\"toString\",\"toLocaleString\",\"valueOf\",\"hasOwnProperty\",\"isPrototypeOf\",\"propertyIsEnumerable\",\"constructor\"],dontEnumsLength=dontEnums.length;for(var key in{toString:null})hasDontEnumBug=!1;Object.keys=function(object){if(\"object\"!=typeof object&&\"function\"!=typeof object||null===object)throw new TypeError(\"Object.keys called on a non-object\");var keys=[];for(var name in object)owns(object,name)&&keys.push(name);if(hasDontEnumBug)for(var i=0,ii=dontEnumsLength;ii>i;i++){var dontEnum=dontEnums[i];owns(object,dontEnum)&&keys.push(dontEnum)}return keys}}Date.now||(Date.now=function(){return(new Date).getTime()});var ws=\"\t\\n\u000b\\f\\r   ᠎              \\u2028\\u2029\";if(!String.prototype.trim||ws.trim()){ws=\"[\"+ws+\"]\";var trimBeginRegexp=RegExp(\"^\"+ws+ws+\"*\"),trimEndRegexp=RegExp(ws+ws+\"*$\");String.prototype.trim=function(){return(this+\"\").replace(trimBeginRegexp,\"\").replace(trimEndRegexp,\"\")}}var toObject=function(o){if(null==o)throw new TypeError(\"can't convert \"+o+\" to object\");return Object(o)}});"; + /***/ }), /* 45 */ @@ -84024,7 +84147,7 @@ let TerminalHelpText = "clear Clear all text on the terminal
" + "cls See 'clear' command
" + "connect [ip/hostname] Connects to a remote server
" + - "download [text file] Downloads a text (.txt) file to your computer
" + + "download [script/text file] Downloads a script or text file to your computer
" + "free Check the machine's memory (RAM) usage
" + "hack Hack the current machine
" + "help [command] Display this help text, or the help text for a command
" + @@ -84101,9 +84224,8 @@ let HelpTexts = { "Connect to a remote server. The hostname or IP address of the remote server must be given as the argument " + "to this command. Note that only servers that are immediately adjacent to the current server in the network can be connected to. To " + "see which servers can be connected to, use the 'scan' command.", - download: "download [text file]
" + - "Downloads a text file to your computer (like your real life computer). Only works on text files, " + - "which are the ones with a .txt extension.", + download: "download [script/text file]
" + + "Downloads a script or text file to your computer (like your real life computer).", free: "free
" + "Display's the memory usage on the current machine. Print the amount of RAM that is available on the current server as well as " + "how much of it is being used.", diff --git a/doc/source/netscriptfunctions.rst b/doc/source/netscriptfunctions.rst index 4723b54fc..8661ee953 100644 --- a/doc/source/netscriptfunctions.rst +++ b/doc/source/netscriptfunctions.rst @@ -248,6 +248,26 @@ exec exec("foo.script", "foodnstuff", 5, 1, "test"); +spawn +^^^^^ + +.. js:function:: spawn(script, numThreads, [args...]) + + :param string script: Filename of script to execute + :param number numThreads: Number of threads to spawn new script with. Will be rounded to nearest integer + :param args...: + Additional arguments to pass into the new script that is being run. + + Terminates the current script, and then after a delay of about 20 seconds it will execute the newly-specified script. + The purpose of this function is to execute a new script without being constrained by the RAM usage of the current one. + This function can only be used to run scripts on the local server. + + Because this function immediately terminates the script, it does not have a return value. + + The following example will execute the script 'foo.script' with 10 threads and the arguments 'foodnstuff' and 90:: + + spawn('foo.script', 10, 'foodnstuff', 90); + kill ^^^^ diff --git a/doc/source/netscriptsingularityfunctions.rst b/doc/source/netscriptsingularityfunctions.rst index 7618f7bd6..d8914ab5f 100644 --- a/doc/source/netscriptsingularityfunctions.rst +++ b/doc/source/netscriptsingularityfunctions.rst @@ -162,6 +162,25 @@ isBusy Returns a boolean indicating whether or not the player is currently performing an 'action'. These actions include working for a company/faction, studying at a univeristy, working out at a gym, creating a program, or committing a crime. +stopAction +---------- + +.. js:function:: stopAction() + + If you are not in BitNode-4, then you must have Level 1 of Source-File 4 in order to run this function. + This function is used to end whatever 'action' the player is currently performing. The player + will receive whatever money/experience/etc. he has earned from that action. + + The actions that can be stopped with this function are: + + * Studying at a university + * Working for a company/faction + * Creating a program + * Committing a Crime + + This function will return true if the player's action was ended. It will return false if the player was not + performing an action when this function was called. + upgradeHomeRam -------------- diff --git a/index.html b/index.html index cfbcf5bc5..1188b99d6 100644 --- a/index.html +++ b/index.html @@ -135,14 +135,22 @@
- +
- +
+ +
+ + + +
diff --git a/src/Augmentations.js b/src/Augmentations.js index b726bcd8b..c8b21b540 100644 --- a/src/Augmentations.js +++ b/src/Augmentations.js @@ -12,29 +12,25 @@ import {Reviver, Generic_toJSON, import {isString} from "../utils/StringHelperFunctions.js"; //Augmentations -function Augmentation(name) { - this.name = name; - this.info = ""; +function Augmentation(params) { + if (params.name == null || params.info == null || params.moneyCost == null || params.repCost == null) { + dialogBoxCreate("ERROR Creating Augmentations. This is a bug please contact game dev"); + return; + } + this.name = params.name; + this.info = params.info; this.owned = false; + this.prereqs = params.prereqs ? params.prereqs : []; //Price and reputation base requirements (can change based on faction multipliers) - this.baseRepRequirement = 0; - this.baseCost = 0; + this.baseRepRequirement = params.repCost * CONSTANTS.AugmentationRepMultiplier * BitNodeMultipliers.AugmentationRepCost; + this.baseCost = params.moneyCost * CONSTANTS.AugmentationCostMultiplier * BitNodeMultipliers.AugmentationMoneyCost; //Level - Only applicable for some augmentations // NeuroFlux Governor this.level = 0; } -Augmentation.prototype.setInfo = function(inf) { - this.info = inf; -} - -Augmentation.prototype.setRequirements = function(rep, cost) { - this.baseRepRequirement = rep * CONSTANTS.AugmentationRepMultiplier * BitNodeMultipliers.AugmentationRepCost; - this.baseCost = cost * CONSTANTS.AugmentationCostMultiplier * BitNodeMultipliers.AugmentationMoneyCost; -} - //Takes in an array of faction names and adds this augmentation to all of those factions Augmentation.prototype.addToFactions = function(factionList) { for (var i = 0; i < factionList.length; ++i) { @@ -174,22 +170,24 @@ function initAugmentations() { } } //Combat stat augmentations - var HemoRecirculator = new Augmentation(AugmentationNames.HemoRecirculator); - HemoRecirculator.setInfo("A heart implant that greatly increases the body's ability to effectively use and pump " + - "blood.

This augmentation increases all of the player's combat stats by 8%.") - HemoRecirculator.setRequirements(4000, 9000000); + var HemoRecirculator = new Augmentation({ + name:AugmentationNames.HemoRecirculator, moneyCost: 9e6, repCost:4e3, + info:"A heart implant that greatly increases the body's ability to effectively use and pump " + + "blood.

This augmentation increases all of the player's combat stats by 8%." + }); HemoRecirculator.addToFactions(["Tetrads", "The Dark Army", "The Syndicate"]); if (augmentationExists(AugmentationNames.HemoRecirculator)) { delete Augmentations[AugmentationNames.HemoRecirculator]; } AddToAugmentations(HemoRecirculator); - var Targeting1 = new Augmentation(AugmentationNames.Targeting1); - Targeting1.setRequirements(2000, 3000000); - Targeting1.setInfo("This cranial implant is embedded within the player's inner ear structure and optic nerves. It regulates and enhances the user's " + - "balance and hand-eye coordination. It is also capable of augmenting reality by projecting digital information " + - "directly onto the retina. These enhancements allow the player to better lock-on and keep track of enemies.

" + - "This augmentation increases the player's dexterity by 10%."); + var Targeting1 = new Augmentation({ + name:AugmentationNames.Targeting1, moneyCost:3e6, repCost:2e3, + info:"This cranial implant is embedded within the player's inner ear structure and optic nerves. It regulates and enhances the user's " + + "balance and hand-eye coordination. It is also capable of augmenting reality by projecting digital information " + + "directly onto the retina. These enhancements allow the player to better lock-on and keep track of enemies.

" + + "This augmentation increases the player's dexterity by 10%." + }); Targeting1.addToFactions(["Slum Snakes", "The Dark Army", "The Syndicate", "Sector-12", "Volhaven", "Ishima", "OmniTek Incorporated", "KuaiGong International", "Blade Industries"]); if (augmentationExists(AugmentationNames.Targeting1)) { @@ -197,11 +195,13 @@ function initAugmentations() { } AddToAugmentations(Targeting1); - var Targeting2 = new Augmentation(AugmentationNames.Targeting2); - Targeting2.setRequirements(3500, 8500000); - Targeting2.setInfo("This is an upgrade of the Augmented Targeting I cranial implant, which is capable of augmenting reality " + - "and enhances the user's balance and hand-eye coordination.

This upgrade increases the player's dexterity " + - "by an additional 20%."); + var Targeting2 = new Augmentation({ + name:AugmentationNames.Targeting2, moneyCost:8.5e6, repCost:3.5e3, + info:"This is an upgrade of the Augmented Targeting I cranial implant, which is capable of augmenting reality " + + "and enhances the user's balance and hand-eye coordination.

This upgrade increases the player's dexterity " + + "by an additional 20%.", + prereqs:[AugmentationNames.Targeting1] + }); Targeting2.addToFactions(["The Dark Army", "The Syndicate", "Sector-12", "Volhaven", "Ishima", "OmniTek Incorporated", "KuaiGong International", "Blade Industries"]); if (augmentationExists(AugmentationNames.Targeting2)) { @@ -209,11 +209,13 @@ function initAugmentations() { } AddToAugmentations(Targeting2); - var Targeting3 = new Augmentation(AugmentationNames.Targeting3); - Targeting3.setRequirements(11000, 23000000); - Targeting3.setInfo("This is an upgrade of the Augmented Targeting II cranial implant, which is capable of augmenting reality " + - "and enhances the user's balance and hand-eye coordination.

This upgrade increases the player's dexterity " + - "by an additional 30%."); + var Targeting3 = new Augmentation({ + name:AugmentationNames.Targeting3, moneyCost:23e6, repCost:11e3, + info:"This is an upgrade of the Augmented Targeting II cranial implant, which is capable of augmenting reality " + + "and enhances the user's balance and hand-eye coordination.

This upgrade increases the player's dexterity " + + "by an additional 30%.", + prereqs:[AugmentationNames.Targeting2] + }); Targeting3.addToFactions(["The Dark Army", "The Syndicate", "OmniTek Incorporated", "KuaiGong International", "Blade Industries", "The Covenant"]); if (augmentationExists(AugmentationNames.Targeting3)) { @@ -221,11 +223,12 @@ function initAugmentations() { } AddToAugmentations(Targeting3); - var SyntheticHeart = new Augmentation(AugmentationNames.SyntheticHeart); - SyntheticHeart.setRequirements(300000, 575000000); - SyntheticHeart.setInfo("This advanced artificial heart, created from plasteel and graphene, is capable of pumping more blood " + - "at much higher efficiencies than a normal human heart.

This augmentation increases the player's agility " + - "and strength by 50%"); + var SyntheticHeart = new Augmentation({ + name:AugmentationNames.SyntheticHeart, moneyCost:575e6, repCost:300e3, + info:"This advanced artificial heart, created from plasteel and graphene, is capable of pumping more blood " + + "at much higher efficiencies than a normal human heart.

This augmentation increases the player's agility " + + "and strength by 50%" + }); SyntheticHeart.addToFactions(["KuaiGong International", "Fulcrum Secret Technologies", "Speakers for the Dead", "NWO", "The Covenant", "Daedalus", "Illuminati"]); if (augmentationExists(AugmentationNames.SyntheticHeart)) { @@ -233,12 +236,13 @@ function initAugmentations() { } AddToAugmentations(SyntheticHeart); - var SynfibrilMuscle = new Augmentation(AugmentationNames.SynfibrilMuscle); - SynfibrilMuscle.setRequirements(175000, 225000000); - SynfibrilMuscle.setInfo("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'.

This augmentation increases the player's " + - "strength and defense by 35%."); + var SynfibrilMuscle = new Augmentation({ + name:AugmentationNames.SynfibrilMuscle, repCost:175e3, moneyCost:225e6, + 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'.

This augmentation increases the player's " + + "strength and defense by 35%." + }); SynfibrilMuscle.addToFactions(["KuaiGong International", "Fulcrum Secret Technologies", "Speakers for the Dead", "NWO", "The Covenant", "Daedalus", "Illuminati", "Blade Industries"]); if (augmentationExists(AugmentationNames.SynfibrilMuscle)) { @@ -246,11 +250,12 @@ function initAugmentations() { } AddToAugmentations(SynfibrilMuscle) - var CombatRib1 = new Augmentation(AugmentationNames.CombatRib1); - CombatRib1.setRequirements(3000, 4750000); - CombatRib1.setInfo("The human body's ribs are replaced with artificial ribs that automatically and continuously release cognitive " + - "and performance-enhancing drugs into the bloodstream, improving the user's abilities in combat.

" + - "This augmentation increases the player's strength and defense by 10%."); + var CombatRib1 = new Augmentation({ + name:AugmentationNames.CombatRib1, repCost:3e3, moneyCost:4750000, + info:"The human body's ribs are replaced with artificial ribs that automatically and continuously release cognitive " + + "and performance-enhancing drugs into the bloodstream, improving the user's abilities in combat.

" + + "This augmentation increases the player's strength and defense by 10%." + }); CombatRib1.addToFactions(["Slum Snakes", "The Dark Army", "The Syndicate", "Sector-12", "Volhaven", "Ishima", "OmniTek Incorporated", "KuaiGong International", "Blade Industries"]); if (augmentationExists(AugmentationNames.CombatRib1)) { @@ -258,10 +263,12 @@ function initAugmentations() { } AddToAugmentations(CombatRib1); - var CombatRib2 = new Augmentation(AugmentationNames.CombatRib2); - CombatRib2.setRequirements(7500, 13000000); - CombatRib2.setInfo("This is an upgrade to the Combat Rib I augmentation, and is capable of releasing even more potent combat-enhancing " + - "drugs into the bloodstream.

This upgrade increases the player's strength and defense by an additional 15%.") + var CombatRib2 = new Augmentation({ + name:AugmentationNames.CombatRib2, repCost:7.5e3, moneyCost:13e6, + info:"This is an upgrade to the Combat Rib I augmentation, and is capable of releasing even more potent combat-enhancing " + + "drugs into the bloodstream.

This upgrade increases the player's strength and defense by an additional 15%.", + prereqs:[AugmentationNames.CombatRib1] + }); CombatRib2.addToFactions(["The Dark Army", "The Syndicate", "Sector-12", "Volhaven", "Ishima", "OmniTek Incorporated", "KuaiGong International", "Blade Industries"]); if (augmentationExists(AugmentationNames.CombatRib2)) { @@ -269,10 +276,12 @@ function initAugmentations() { } AddToAugmentations(CombatRib2); - var CombatRib3 = new Augmentation(AugmentationNames.CombatRib3); - CombatRib3.setRequirements(14000, 24000000); - CombatRib3.setInfo("This is an upgrade to the Combat Rib II augmentation, and is capable of releasing even more potent combat-enhancing " + - "drugs into the bloodstream

. This upgrade increases the player's strength and defense by an additional 20%."); + var CombatRib3 = new Augmentation({ + name:AugmentationNames.CombatRib3, repCost:14e3, moneyCost:24e6, + info:"This is an upgrade to the Combat Rib II augmentation, and is capable of releasing even more potent combat-enhancing " + + "drugs into the bloodstream

. This upgrade increases the player's strength and defense by an additional 20%.", + prereqs:[AugmentationNames.CombatRib2], + }); CombatRib3.addToFactions(["The Dark Army", "The Syndicate", "OmniTek Incorporated", "KuaiGong International", "Blade Industries", "The Covenant"]); if (augmentationExists(AugmentationNames.CombatRib3)) { @@ -280,11 +289,12 @@ function initAugmentations() { } AddToAugmentations(CombatRib3); - var NanofiberWeave = new Augmentation(AugmentationNames.NanofiberWeave); - NanofiberWeave.setRequirements(15000, 25000000); - NanofiberWeave.setInfo("Synthetic nanofibers are woven into the skin's extracellular matrix using electrospinning. " + - "This improves the skin's ability to regenerate itself and protect the body from external stresses and forces.

" + - "This augmentation increases the player's strength and defense by 25%."); + var NanofiberWeave = new Augmentation({ + name:AugmentationNames.NanofiberWeave, repCost:15e3, moneyCost:25e6, + info:"Synthetic nanofibers are woven into the skin's extracellular matrix using electrospinning. " + + "This improves the skin's ability to regenerate itself and protect the body from external stresses and forces.

" + + "This augmentation increases the player's strength and defense by 25%." + }); NanofiberWeave.addToFactions(["Tian Di Hui", "The Syndicate", "The Dark Army", "Speakers for the Dead", "Blade Industries", "Fulcrum Secret Technologies", "OmniTek Incorporated"]); if (augmentationExists(AugmentationNames.NanofiberWeave)) { @@ -292,14 +302,15 @@ function initAugmentations() { } AddToAugmentations(NanofiberWeave); - var SubdermalArmor = new Augmentation(AugmentationNames.SubdermalArmor); - SubdermalArmor.setRequirements(350000, 650000000); - SubdermalArmor.setInfo("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-related or electrical traumas.

" + - "This augmentation increases the player's defense by 125%."); + var SubdermalArmor = new Augmentation({ + name:AugmentationNames.SubdermalArmor, repCost:350e3, moneyCost:650e6, + 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-related or electrical traumas.

" + + "This augmentation increases the player's defense by 125%." + }); SubdermalArmor.addToFactions(["The Syndicate", "Fulcrum Secret Technologies", "Illuminati", "Daedalus", "The Covenant"]); if (augmentationExists(AugmentationNames.SubdermalArmor)) { @@ -307,11 +318,12 @@ function initAugmentations() { } AddToAugmentations(SubdermalArmor); - var WiredReflexes = new Augmentation(AugmentationNames.WiredReflexes); - WiredReflexes.setRequirements(500, 500000); - WiredReflexes.setInfo("Synthetic nerve-enhancements are injected into all major parts of the somatic nervous system, " + - "supercharging the body's ability to send signals through neurons. This results in increased reflex speed.

" + - "This augmentation increases the player's agility and dexterity by 5%."); + var WiredReflexes = new Augmentation({ + name:AugmentationNames.WiredReflexes, repCost:500, moneyCost:500e3, + info:"Synthetic nerve-enhancements are injected into all major parts of the somatic nervous system, " + + "supercharging the body's ability to send signals through neurons. This results in increased reflex speed.

" + + "This augmentation increases the player's agility and dexterity by 5%." + }); WiredReflexes.addToFactions(["Tian Di Hui", "Slum Snakes", "Sector-12", "Volhaven", "Aevum", "Ishima", "The Syndicate", "The Dark Army", "Speakers for the Dead"]); if (augmentationExists(AugmentationNames.WiredReflexes)) { @@ -319,24 +331,26 @@ function initAugmentations() { } AddToAugmentations(WiredReflexes); - var GrapheneBoneLacings = new Augmentation(AugmentationNames.GrapheneBoneLacings); - GrapheneBoneLacings.setRequirements(450000, 850000000); - GrapheneBoneLacings.setInfo("A graphene-based material is grafted and fused into the user's bones, significantly increasing " + - "their density and tensile strength.

" + - "This augmentation increases the player's strength and defense by 70%."); + var GrapheneBoneLacings = new Augmentation({ + name:AugmentationNames.GrapheneBoneLacings, repCost:450e3, moneyCost:850e6, + info:"A graphene-based material is grafted and fused into the user's bones, significantly increasing " + + "their density and tensile strength.

" + + "This augmentation increases the player's strength and defense by 70%." + }); GrapheneBoneLacings.addToFactions(["Fulcrum Secret Technologies", "The Covenant"]); if (augmentationExists(AugmentationNames.GrapheneBoneLacings)) { delete Augmentations[AugmentationNames.GrapheneBoneLacings]; } AddToAugmentations(GrapheneBoneLacings); - var BionicSpine = new Augmentation(AugmentationNames.BionicSpine); - BionicSpine.setRequirements(18000, 25000000); - BionicSpine.setInfo("An artificial spine created from plasteel and carbon fibers that completely replaces the organic spine. " + - "Not only is the Bionic Spine physically stronger than a human spine, but it is also capable of digitally " + - "stimulating and regulating the neural signals that are sent and received by the spinal cord. This results in " + - "greatly improved senses and reaction speeds.

" + - "This augmentation increases all of the player's combat stats by 16%."); + var BionicSpine = new Augmentation({ + name:AugmentationNames.BionicSpine, repCost:18e3, moneyCost:25e6, + info:"An artificial spine created from plasteel and carbon fibers that completely replaces the organic spine. " + + "Not only is the Bionic Spine physically stronger than a human spine, but it is also capable of digitally " + + "stimulating and regulating the neural signals that are sent and received by the spinal cord. This results in " + + "greatly improved senses and reaction speeds.

" + + "This augmentation increases all of the player's combat stats by 16%." + }); BionicSpine.addToFactions(["Speakers for the Dead", "The Syndicate", "KuaiGong International", "OmniTek Incorporated", "Blade Industries"]); if (augmentationExists(AugmentationNames.BionicSpine)) { @@ -344,21 +358,24 @@ function initAugmentations() { } AddToAugmentations(BionicSpine); - var GrapheneBionicSpine = new Augmentation(AugmentationNames.GrapheneBionicSpine); - GrapheneBionicSpine.setRequirements(650000, 1200000000); - GrapheneBionicSpine.setInfo("An upgrade to the Bionic Spine augmentation. It fuses the implant with an advanced graphene " + - "material to make it much stronger and lighter.

" + - "This augmentation increases all of the player's combat stats by 60%."); + var GrapheneBionicSpine = new Augmentation({ + name:AugmentationNames.GrapheneBionicSpine, repCost:650e3, moneyCost:1200e6, + info:"An upgrade to the Bionic Spine augmentation. It fuses the implant with an advanced graphene " + + "material to make it much stronger and lighter.

" + + "This augmentation increases all of the player's combat stats by 60%.", + prereqs:[AugmentationNames.BionicSpine], + }); GrapheneBionicSpine.addToFactions(["Fulcrum Secret Technologies", "ECorp"]); if (augmentationExists(AugmentationNames.GrapheneBionicSpine)) { delete Augmentations[AugmentationNames.GrapheneBionicSpine]; } AddToAugmentations(GrapheneBionicSpine); - var BionicLegs = new Augmentation(AugmentationNames.BionicLegs); - BionicLegs.setRequirements(60000, 75000000); - BionicLegs.setInfo("Cybernetic legs created from plasteel and carbon fibers that completely replace the user's organic legs.

" + - "This augmentation increases the player's agility by 60%."); + var BionicLegs = new Augmentation({ + name:AugmentationNames.BionicLegs, repCost:60e3, moneyCost:75e6, + info:"Cybernetic legs created from plasteel and carbon fibers that completely replace the user's organic legs.

" + + "This augmentation increases the player's agility by 60%." + }); BionicLegs.addToFactions(["Speakers for the Dead", "The Syndicate", "KuaiGong International", "OmniTek Incorporated", "Blade Industries"]); if (augmentationExists(AugmentationNames.BionicLegs)) { @@ -366,11 +383,13 @@ function initAugmentations() { } AddToAugmentations(BionicLegs); - var GrapheneBionicLegs = new Augmentation(AugmentationNames.GrapheneBionicLegs); - GrapheneBionicLegs.setRequirements(300000, 900000000); - GrapheneBionicLegs.setInfo("An upgrade to the Bionic Legs augmentation. It fuses the implant with an advanced graphene " + - "material to make it much stronger and lighter.

" + - "This augmentation increases the player's agility by an additional 175%."); + var GrapheneBionicLegs = new Augmentation({ + name:AugmentationNames.GrapheneBionicLegs, repCost:300e3, moneyCost:900e6, + info:"An upgrade to the Bionic Legs augmentation. It fuses the implant with an advanced graphene " + + "material to make it much stronger and lighter.

" + + "This augmentation increases the player's agility by an additional 175%.", + prereqs:[AugmentationNames.BionicLegs], + }); GrapheneBionicLegs.addToFactions(["MegaCorp", "ECorp", "Fulcrum Secret Technologies"]); if (augmentationExists(AugmentationNames.GrapheneBionicLegs)) { delete Augmentations[AugmentationNames.GrapheneBionicLegs]; @@ -378,12 +397,13 @@ function initAugmentations() { AddToAugmentations(GrapheneBionicLegs); //Labor stat augmentations - var SpeechProcessor = new Augmentation(AugmentationNames.SpeechProcessor); //Cochlear imlant? - SpeechProcessor.setRequirements(3000, 10000000); - SpeechProcessor.setInfo("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.

" + - "This augmentation increases the player's charisma by 20%."); + var SpeechProcessor = new Augmentation({ + name:AugmentationNames.SpeechProcessor, repCost:3e3, moneyCost:10e6, + 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.

" + + "This augmentation increases the player's charisma by 20%." + }); SpeechProcessor.addToFactions(["Tian Di Hui", "Chongqing", "Sector-12", "New Tokyo", "Aevum", "Ishima", "Volhaven", "Silhouette"]); if (augmentationExists(AugmentationNames.SpeechProcessor)) { @@ -391,26 +411,28 @@ function initAugmentations() { } AddToAugmentations(SpeechProcessor); - let TITN41Injection = new Augmentation(AugmentationNames.TITN41Injection); - TITN41Injection.setRequirements(10000, 38000000); - TITN41Injection.setInfo("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.

" + - "This augmentation increases the player's charisma and charisma experience gain rate by 15%"); + let TITN41Injection = new Augmentation({ + name:AugmentationNames.TITN41Injection, repCost:10e3, moneyCost:38e6, + 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.

" + + "This augmentation increases the player's charisma and charisma experience gain rate by 15%" + }); TITN41Injection.addToFactions(["Silhouette"]); if (augmentationExists(AugmentationNames.TITN41Injection)) { delete Augmentations[AugmentationNames.TITN41Injection]; } AddToAugmentations(TITN41Injection); - var EnhancedSocialInteractionImplant = new Augmentation(AugmentationNames.EnhancedSocialInteractionImplant); - EnhancedSocialInteractionImplant.setRequirements(150000, 275000000); - EnhancedSocialInteractionImplant.setInfo("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 expression, body " + - "language, and the voice's tone/inflection to determine the best course of action during social" + - "situations. The implant also uses deep learning software to continuously learn new behavior" + - "patterns and how to best respond.

" + - "This augmentation increases the player's charisma and charisma experience gain rate by 60%."); + var EnhancedSocialInteractionImplant = new Augmentation({ + name:AugmentationNames.EnhancedSocialInteractionImplant, repCost:150e3, moneyCost:275e6, + 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 expression, body " + + "language, and the voice's tone/inflection to determine the best course of action during social" + + "situations. The implant also uses deep learning software to continuously learn new behavior" + + "patterns and how to best respond.

" + + "This augmentation increases the player's charisma and charisma experience gain rate by 60%." + }); EnhancedSocialInteractionImplant.addToFactions(["Bachman & Associates", "NWO", "Clarke Incorporated", "OmniTek Incorporated", "Four Sigma"]); if (augmentationExists(AugmentationNames.EnhancedSocialInteractionImplant)) { @@ -419,105 +441,113 @@ function initAugmentations() { AddToAugmentations(EnhancedSocialInteractionImplant); //Hacking augmentations - var BitWire = new Augmentation(AugmentationNames.BitWire); - BitWire.setRequirements(1500, 2000000); - BitWire.setInfo("A small brain implant embedded in the cerebrum. This regulates and improves the brain's computing " + - "capabilities.

This augmentation increases the player's hacking skill by 5%"); + var BitWire = new Augmentation({ + name:AugmentationNames.BitWire, repCost:1500, moneyCost:2e6, + info: "A small brain implant embedded in the cerebrum. This regulates and improves the brain's computing " + + "capabilities.

This augmentation increases the player's hacking skill by 5%" + }); BitWire.addToFactions(["CyberSec", "NiteSec"]); if (augmentationExists(AugmentationNames.BitWire)) { delete Augmentations[AugmentationNames.BitWire]; } AddToAugmentations(BitWire); - var ArtificialBioNeuralNetwork = new Augmentation(AugmentationNames.ArtificialBioNeuralNetwork); - ArtificialBioNeuralNetwork.setRequirements(110000, 600000000); - ArtificialBioNeuralNetwork.setInfo("A network consisting of millions of nanoprocessors is embedded into the brain. " + - "The network is meant to mimick the way a biological brain solves a problem, which 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 its user to solve much more complex problems at a much faster rate.

" + - "This augmentation:
" + - "Increases the player's hacking speed by 3%
" + - "Increases the amount of money the player's gains from hacking by 15%
" + - "Inreases the player's hacking skill by 12%"); + var ArtificialBioNeuralNetwork = new Augmentation({ + name:AugmentationNames.ArtificialBioNeuralNetwork, repCost:110e3, moneyCost:600e6, + info:"A network consisting of millions of nanoprocessors is embedded into the brain. " + + "The network is meant to mimick the way a biological brain solves a problem, which 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 its user to solve much more complex problems at a much faster rate.

" + + "This augmentation:
" + + "Increases the player's hacking speed by 3%
" + + "Increases the amount of money the player's gains from hacking by 15%
" + + "Increases the player's hacking skill by 12%" + }); ArtificialBioNeuralNetwork.addToFactions(["BitRunners", "Fulcrum Secret Technologies"]); if (augmentationExists(AugmentationNames.ArtificialBioNeuralNetwork)) { delete Augmentations[AugmentationNames.ArtificialBioNeuralNetwork]; } AddToAugmentations(ArtificialBioNeuralNetwork); - var ArtificialSynapticPotentiation = new Augmentation(AugmentationNames.ArtificialSynapticPotentiation); - ArtificialSynapticPotentiation.setRequirements(2500, 16000000); - ArtificialSynapticPotentiation.setInfo("The body is injected with a chemical that artificially induces synaptic potentiation, " + - "otherwise known as the strengthening of synapses. This results in a enhanced cognitive abilities.

" + - "This augmentation:
" + - "Increases the player's hacking speed by 2%
" + - "Increases the player's hacking chance by 5%
" + - "Increases the player's hacking experience gain rate by 5%"); + var ArtificialSynapticPotentiation = new Augmentation({ + name:AugmentationNames.ArtificialSynapticPotentiation, repCost:2500, moneyCost:16e6, + info:"The body is injected with a chemical that artificially induces synaptic potentiation, " + + "otherwise known as the strengthening of synapses. This results in a enhanced cognitive abilities.

" + + "This augmentation:
" + + "Increases the player's hacking speed by 2%
" + + "Increases the player's hacking chance by 5%
" + + "Increases the player's hacking experience gain rate by 5%" + }); ArtificialSynapticPotentiation.addToFactions(["The Black Hand", "NiteSec"]); if (augmentationExists(AugmentationNames.ArtificialSynapticPotentiation)) { delete Augmentations[AugmentationNames.ArtificialSynapticPotentiation]; } AddToAugmentations(ArtificialSynapticPotentiation); - var EnhancedMyelinSheathing = new Augmentation(AugmentationNames.EnhancedMyelinSheathing); - EnhancedMyelinSheathing.setRequirements(40000, 275000000); - EnhancedMyelinSheathing.setInfo("Electrical signals are used to induce a new, artificial form of myelinogensis 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.

" + - "This augmentation:
" + - "Increases the player's hacking speed by 3%
" + - "Increases the player's hacking skill by 8%
" + - "Increases the player's hacking experience gain rate by 10%"); + var EnhancedMyelinSheathing = new Augmentation({ + name:AugmentationNames.EnhancedMyelinSheathing, repCost:40e3, moneyCost:275e6, + info:"Electrical signals are used to induce a new, artificial form of myelinogensis 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.

" + + "This augmentation:
" + + "Increases the player's hacking speed by 3%
" + + "Increases the player's hacking skill by 8%
" + + "Increases the player's hacking experience gain rate by 10%" + }); EnhancedMyelinSheathing.addToFactions(["Fulcrum Secret Technologies", "BitRunners", "The Black Hand"]); if (augmentationExists(AugmentationNames.EnhancedMyelinSheathing)) { delete Augmentations[AugmentationNames.EnhancedMyelinSheathing]; } AddToAugmentations(EnhancedMyelinSheathing); - var SynapticEnhancement = new Augmentation(AugmentationNames.SynapticEnhancement); - SynapticEnhancement.setRequirements(800, 1500000); - SynapticEnhancement.setInfo("A small cranial implant that continuously uses weak electric signals to stimulate the brain and " + - "induce stronger synaptic activity. This improves the user's cognitive abilities.

" + - "This augmentation increases the player's hacking speed by 3%."); + var SynapticEnhancement = new Augmentation({ + name:AugmentationNames.SynapticEnhancement, repCost:800, moneyCost:1.5e6, + info:"A small cranial implant that continuously uses weak electric signals to stimulate the brain and " + + "induce stronger synaptic activity. This improves the user's cognitive abilities.

" + + "This augmentation increases the player's hacking speed by 3%." + }); SynapticEnhancement.addToFactions(["CyberSec"]); if (augmentationExists(AugmentationNames.SynapticEnhancement)) { delete Augmentations[AugmentationNames.SynapticEnhancement]; } AddToAugmentations(SynapticEnhancement); - var NeuralRetentionEnhancement = new Augmentation(AugmentationNames.NeuralRetentionEnhancement); - NeuralRetentionEnhancement.setRequirements(8000, 50000000); - NeuralRetentionEnhancement.setInfo("Chemical injections are used to permanently alter and strengthen the brain's neuronal " + - "circuits, strengthening its ability to retain information.

" + - "This augmentation increases the player's hacking experience gain rate by 25%."); + var NeuralRetentionEnhancement = new Augmentation({ + name:AugmentationNames.NeuralRetentionEnhancement, repCost:8e3, moneyCost:50e6, + info:"Chemical injections are used to permanently alter and strengthen the brain's neuronal " + + "circuits, strengthening its ability to retain information.

" + + "This augmentation increases the player's hacking experience gain rate by 25%." + }); NeuralRetentionEnhancement.addToFactions(["NiteSec"]); if (augmentationExists(AugmentationNames.NeuralRetentionEnhancement)) { delete Augmentations[AugmentationNames.NeuralRetentionEnhancement]; } AddToAugmentations(NeuralRetentionEnhancement); - var DataJack = new Augmentation(AugmentationNames.DataJack); - DataJack.setRequirements(45000, 90000000); - DataJack.setInfo("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.

" + - "This augmentation increases the amount of money the player gains from hacking by 25%"); + var DataJack = new Augmentation({ + name:AugmentationNames.DataJack, repCost:45e3, moneyCost:90e6, + 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.

" + + "This augmentation increases the amount of money the player gains from hacking by 25%" + }); DataJack.addToFactions(["BitRunners", "The Black Hand", "NiteSec", "Chongqing", "New Tokyo"]); if (augmentationExists(AugmentationNames.DataJack)) { delete Augmentations[AugmentationNames.DataJack]; } AddToAugmentations(DataJack); - var ENM = new Augmentation(AugmentationNames.ENM); - ENM.setRequirements(6000, 50000000); - ENM.setInfo("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.

" + - "This augmentation increases the player's hacking skill by 8%"); + var ENM = new Augmentation({ + name:AugmentationNames.ENM, repCost:6e3, moneyCost:50e6, + 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.

" + + "This augmentation increases the player's hacking skill by 8%" + }); ENM.addToFactions(["BitRunners", "The Black Hand", "NiteSec", "ECorp", "MegaCorp", "Fulcrum Secret Technologies", "NWO", "Blade Industries"]); if (augmentationExists(AugmentationNames.ENM)) { @@ -525,16 +555,18 @@ function initAugmentations() { } AddToAugmentations(ENM); - var ENMCore = new Augmentation(AugmentationNames.ENMCore); - ENMCore.setRequirements(100000, 500000000); - ENMCore.setInfo("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.

" + - "This augmentation:
" + - "Increases the player's hacking speed by 3%
" + - "Increases the amount of money the player gains from hacking by 10%
" + - "Increases the player's chance of successfully performing a hack by 3%
" + - "Increases the player's hacking experience gain rate by 7%
" + - "Increases the player's hacking skill by 7%"); + var ENMCore = new Augmentation({ + name:AugmentationNames.ENMCore, repCost:100e3, moneyCost:500e6, + 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.

" + + "This augmentation:
" + + "Increases the player's hacking speed by 3%
" + + "Increases the amount of money the player gains from hacking by 10%
" + + "Increases the player's chance of successfully performing a hack by 3%
" + + "Increases the player's hacking experience gain rate by 7%
" + + "Increases the player's hacking skill by 7%", + prereqs:[AugmentationNames.ENM] + }); ENMCore.addToFactions(["BitRunners", "The Black Hand", "ECorp", "MegaCorp", "Fulcrum Secret Technologies", "NWO", "Blade Industries"]); if (augmentationExists(AugmentationNames.ENMCore)) { @@ -542,18 +574,20 @@ function initAugmentations() { } AddToAugmentations(ENMCore); - var ENMCoreV2 = new Augmentation(AugmentationNames.ENMCoreV2); - ENMCoreV2.setRequirements(400000, 900000000); - ENMCoreV2.setInfo("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 the information on " + - "a network by re-routing traffic, spoofing IP addresses, or altering the data inside network " + - "packets.

" + - "This augmentation:
" + - "Increases the player's hacking speed by 5%
" + - "Increases the amount of money the player gains from hacking by 30%
" + - "Increases the player's chance of successfully performing a hack by 5%
" + - "Increases the player's hacking experience gain rate by 15%
" + - "Increases the player's hacking skill by 8%"); + var ENMCoreV2 = new Augmentation({ + name:AugmentationNames.ENMCoreV2, repCost:400e3, moneyCost:900e6, + 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 the information on " + + "a network by re-routing traffic, spoofing IP addresses, or altering the data inside network " + + "packets.

" + + "This augmentation:
" + + "Increases the player's hacking speed by 5%
" + + "Increases the amount of money the player gains from hacking by 30%
" + + "Increases the player's chance of successfully performing a hack by 5%
" + + "Increases the player's hacking experience gain rate by 15%
" + + "Increases the player's hacking skill by 8%", + prereqs:[AugmentationNames.ENMCore] + }); ENMCoreV2.addToFactions(["BitRunners", "ECorp", "MegaCorp", "Fulcrum Secret Technologies", "NWO", "Blade Industries", "OmniTek Incorporated", "KuaiGong International"]); if (augmentationExists(AugmentationNames.ENMCoreV2)) { @@ -561,17 +595,19 @@ function initAugmentations() { } AddToAugmentations(ENMCoreV2); - var ENMCoreV3 = new Augmentation(AugmentationNames.ENMCoreV3); - ENMCoreV3.setRequirements(700000, 1500000000); - ENMCoreV3.setInfo("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.

" + - "This augmentation:
" + - "Increases the player's hacking speed by 5%
" + - "Increases the amount of money the player gains from hacking by 40%
" + - "Increases the player's chance of successfully performing a hack by 10%
" + - "Increases the player's hacking experience gain rate by 25%
" + - "Increases the player's hacking skill by 10%"); + var ENMCoreV3 = new Augmentation({ + name:AugmentationNames.ENMCoreV3, repCost:700e3, moneyCost:1500e6, + 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.

" + + "This augmentation:
" + + "Increases the player's hacking speed by 5%
" + + "Increases the amount of money the player gains from hacking by 40%
" + + "Increases the player's chance of successfully performing a hack by 10%
" + + "Increases the player's hacking experience gain rate by 25%
" + + "Increases the player's hacking skill by 10%", + prereqs:[AugmentationNames.ENMCoreV2], + }); ENMCoreV3.addToFactions(["ECorp", "MegaCorp", "Fulcrum Secret Technologies", "NWO", "Daedalus", "The Covenant", "Illuminati"]); if (augmentationExists(AugmentationNames.ENMCoreV3)) { @@ -579,11 +615,13 @@ function initAugmentations() { } AddToAugmentations(ENMCoreV3); - var ENMAnalyzeEngine = new Augmentation(AugmentationNames.ENMAnalyzeEngine); - ENMAnalyzeEngine.setRequirements(250000, 1200000000); - ENMAnalyzeEngine.setInfo("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.

" + - "This augmentation increases the player's hacking speed by 10%."); + var ENMAnalyzeEngine = new Augmentation({ + name:AugmentationNames.ENMAnalyzeEngine, repCost:250e3, moneyCost:1200e6, + 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.

" + + "This augmentation increases the player's hacking speed by 10%.", + prereqs:[AugmentationNames.ENM], + }); ENMAnalyzeEngine.addToFactions(["ECorp", "MegaCorp", "Fulcrum Secret Technologies", "NWO", "Daedalus", "The Covenant", "Illuminati"]); if (augmentationExists(AugmentationNames.ENMAnalyzeEngine)) { @@ -591,14 +629,16 @@ function initAugmentations() { } AddToAugmentations(ENMAnalyzeEngine); - var ENMDMA = new Augmentation(AugmentationNames.ENMDMA); - ENMDMA.setRequirements(400000, 1400000000); - ENMDMA.setInfo("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.

" + - "This augmentation:
" + - "Increases the amount of money the player gains from hacking by 40%
" + - "Increases the player's chance of successfully performing a hack by 20%"); + var ENMDMA = new Augmentation({ + name:AugmentationNames.ENMDMA, repCost:400e3, moneyCost:1400e6, + 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.

" + + "This augmentation:
" + + "Increases the amount of money the player gains from hacking by 40%
" + + "Increases the player's chance of successfully performing a hack by 20%", + prereqs:[AugmentationNames.ENM], + }); ENMDMA.addToFactions(["ECorp", "MegaCorp", "Fulcrum Secret Technologies", "NWO", "Daedalus", "The Covenant", "Illuminati"]); if (augmentationExists(AugmentationNames.ENMDMA)) { @@ -606,14 +646,15 @@ function initAugmentations() { } AddToAugmentations(ENMDMA); - var Neuralstimulator = new Augmentation(AugmentationNames.Neuralstimulator); - Neuralstimulator.setRequirements(20000, 600000000); - Neuralstimulator.setInfo("A cranial implant that intelligently stimulates certain areas of the brain " + - "in order to improve cognitive functions

" + - "This augmentation:
" + - "Increases the player's hacking speed by 2%
" + - "Increases the player's chance of successfully performing a hack by 10%
" + - "Increases the player's hacking experience gain rate by 12%"); + var Neuralstimulator = new Augmentation({ + name:AugmentationNames.Neuralstimulator, repCost:20e3, moneyCost:600e6, + info:"A cranial implant that intelligently stimulates certain areas of the brain " + + "in order to improve cognitive functions

" + + "This augmentation:
" + + "Increases the player's hacking speed by 2%
" + + "Increases the player's chance of successfully performing a hack by 10%
" + + "Increases the player's hacking experience gain rate by 12%" + }); Neuralstimulator.addToFactions(["The Black Hand", "Chongqing", "Sector-12", "New Tokyo", "Aevum", "Ishima", "Volhaven", "Bachman & Associates", "Clarke Incorporated", "Four Sigma"]); @@ -622,108 +663,115 @@ function initAugmentations() { } AddToAugmentations(Neuralstimulator); - var NeuralAccelerator = new Augmentation(AugmentationNames.NeuralAccelerator); - NeuralAccelerator.setRequirements(80000, 350000000); - NeuralAccelerator.setInfo("A microprocessor that accelerates the processing " + - "speed of biological neural networks. This is a cranial implant that is embedded inside the brain.

" + - "This augmentation:
" + - "Increases the player's hacking skill by 10%
" + - "Increases the player's hacking experience gain rate by 15%
" + - "Increases the amount of money the player gains from hacking by 20%"); + var NeuralAccelerator = new Augmentation({ + name:AugmentationNames.NeuralAccelerator, repCost:80e3, moneyCost:350e6, + info:"A microprocessor that accelerates the processing " + + "speed of biological neural networks. This is a cranial implant that is embedded inside the brain.

" + + "This augmentation:
" + + "Increases the player's hacking skill by 10%
" + + "Increases the player's hacking experience gain rate by 15%
" + + "Increases the amount of money the player gains from hacking by 20%" + }); NeuralAccelerator.addToFactions(["BitRunners"]); if (augmentationExists(AugmentationNames.NeuralAccelerator)) { delete Augmentations[AugmentationNames.NeuralAccelerator]; } AddToAugmentations(NeuralAccelerator); - var CranialSignalProcessorsG1 = new Augmentation(AugmentationNames.CranialSignalProcessorsG1); - CranialSignalProcessorsG1.setRequirements(4000, 14000000); - CranialSignalProcessorsG1.setInfo("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.

" + - "This augmentation:
" + - "Increases the player's hacking speed by 1%
" + - "Increases the player's hacking skill by 5%"); + var CranialSignalProcessorsG1 = new Augmentation({ + name:AugmentationNames.CranialSignalProcessorsG1, repCost:4e3, moneyCost:14e6, + 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.

" + + "This augmentation:
" + + "Increases the player's hacking speed by 1%
" + + "Increases the player's hacking skill by 5%" + }); CranialSignalProcessorsG1.addToFactions(["CyberSec"]); if (augmentationExists(AugmentationNames.CranialSignalProcessorsG1)) { delete Augmentations[AugmentationNames.CranialSignalProcessorsG1]; } AddToAugmentations(CranialSignalProcessorsG1); - var CranialSignalProcessorsG2 = new Augmentation(AugmentationNames.CranialSignalProcessorsG2); - CranialSignalProcessorsG2.setRequirements(7500, 25000000); - CranialSignalProcessorsG2.setInfo("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.

" + - "This augmentation:
" + - "Increases the player's hacking speed by 2%
" + - "Increases the player's chance of successfully performing a hack by 5%
" + - "Increases the player's hacking skill by 7%"); + var CranialSignalProcessorsG2 = new Augmentation({ + name:AugmentationNames.CranialSignalProcessorsG2, repCost:7500, moneyCost:25e6, + 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.

" + + "This augmentation:
" + + "Increases the player's hacking speed by 2%
" + + "Increases the player's chance of successfully performing a hack by 5%
" + + "Increases the player's hacking skill by 7%" + }); CranialSignalProcessorsG2.addToFactions(["NiteSec"]); if (augmentationExists(AugmentationNames.CranialSignalProcessorsG2)) { delete Augmentations[AugmentationNames.CranialSignalProcessorsG2]; } AddToAugmentations(CranialSignalProcessorsG2); - var CranialSignalProcessorsG3 = new Augmentation(AugmentationNames.CranialSignalProcessorsG3); - CranialSignalProcessorsG3.setRequirements(20000, 110000000); - CranialSignalProcessorsG3.setInfo("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.

" + - "This augmentation:
" + - "Increases the player's hacking speed by 2%
" + - "Increases the amount of money the player gains from hacking by 15%
" + - "Increases the player's hacking skill by 9%"); + var CranialSignalProcessorsG3 = new Augmentation({ + name:AugmentationNames.CranialSignalProcessorsG3, repCost:20e3, moneyCost:110e6, + 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.

" + + "This augmentation:
" + + "Increases the player's hacking speed by 2%
" + + "Increases the amount of money the player gains from hacking by 15%
" + + "Increases the player's hacking skill by 9%" + }); CranialSignalProcessorsG3.addToFactions(["NiteSec", "The Black Hand"]); if (augmentationExists(AugmentationNames.CranialSignalProcessorsG3)) { delete Augmentations[AugmentationNames.CranialSignalProcessorsG3]; } AddToAugmentations(CranialSignalProcessorsG3); - var CranialSignalProcessorsG4 = new Augmentation(AugmentationNames.CranialSignalProcessorsG4); - CranialSignalProcessorsG4.setRequirements(50000, 220000000); - CranialSignalProcessorsG4.setInfo("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.

" + - "This augmentation:
" + - "Increases the player's hacking speed by 2%
" + - "Increases the amount of money the player gains from hacking by 20%
" + - "Increases the amount of money the player can inject into servers using grow() by 25%"); + var CranialSignalProcessorsG4 = new Augmentation({ + name:AugmentationNames.CranialSignalProcessorsG4, repCost:50e3, moneyCost:220e6, + 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.

" + + "This augmentation:
" + + "Increases the player's hacking speed by 2%
" + + "Increases the amount of money the player gains from hacking by 20%
" + + "Increases the amount of money the player can inject into servers using grow() by 25%" + }); CranialSignalProcessorsG4.addToFactions(["The Black Hand"]); if (augmentationExists(AugmentationNames.CranialSignalProcessorsG4)) { delete Augmentations[AugmentationNames.CranialSignalProcessorsG4]; } AddToAugmentations(CranialSignalProcessorsG4); - var CranialSignalProcessorsG5 = new Augmentation(AugmentationNames.CranialSignalProcessorsG5); - CranialSignalProcessorsG5.setRequirements(100000, 450000000); - CranialSignalProcessorsG5.setInfo("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.

" + - "This augmentation:
" + - "Increases the player's hacking skill by 30%
" + - "Increases the amount of money the player gains from hacking by 25%
" + - "Increases the amount of money the player can inject into servers using grow() by 75%"); + var CranialSignalProcessorsG5 = new Augmentation({ + name:AugmentationNames.CranialSignalProcessorsG5, repCost:100e3, moneyCost:450e6, + 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.

" + + "This augmentation:
" + + "Increases the player's hacking skill by 30%
" + + "Increases the amount of money the player gains from hacking by 25%
" + + "Increases the amount of money the player can inject into servers using grow() by 75%" + }); CranialSignalProcessorsG5.addToFactions(["BitRunners"]); if (augmentationExists(AugmentationNames.CranialSignalProcessorsG5)) { delete Augmentations[AugmentationNames.CranialSignalProcessorsG5]; } AddToAugmentations(CranialSignalProcessorsG5); - var NeuronalDensification = new Augmentation(AugmentationNames.NeuronalDensification); - NeuronalDensification.setRequirements(75000, 275000000); - NeuronalDensification.setInfo("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.

" + - "This augmentation:
" + - "Increases the player's hacking skill by 15%
" + - "Increases the player's hacking experience gain rate by 10%
"+ - "Increases the player's hacking speed by 3%"); + var NeuronalDensification = new Augmentation({ + name:AugmentationNames.NeuronalDensification, repCost:75e3, moneyCost:275e6, + 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.

" + + "This augmentation:
" + + "Increases the player's hacking skill by 15%
" + + "Increases the player's hacking experience gain rate by 10%
"+ + "Increases the player's hacking speed by 3%" + }); NeuronalDensification.addToFactions(["Clarke Incorporated"]); if (augmentationExists(AugmentationNames.NeuronalDensification)) { delete Augmentations[AugmentationNames.NeuronalDensification]; @@ -731,13 +779,14 @@ function initAugmentations() { AddToAugmentations(NeuronalDensification); //Work Augmentations - var NuoptimalInjectorImplant = new Augmentation(AugmentationNames.NuoptimalInjectorImplant); - NuoptimalInjectorImplant.setRequirements(2000, 4000000); - NuoptimalInjectorImplant.setInfo("This torso implant automatically injects nootropic supplements into " + - "the bloodstream to improve memory, increase focus, and provide other " + - "cognitive enhancements.

" + - "This augmentation increases the amount of reputation the player gains " + - "when working for a company by 20%."); + var NuoptimalInjectorImplant = new Augmentation({ + name:AugmentationNames.NuoptimalInjectorImplant, repCost:2e3, moneyCost:4e6, + info:"This torso implant automatically injects nootropic supplements into " + + "the bloodstream to improve memory, increase focus, and provide other " + + "cognitive enhancements.

" + + "This augmentation increases the amount of reputation the player gains " + + "when working for a company by 20%." + }); NuoptimalInjectorImplant.addToFactions(["Tian Di Hui", "Volhaven", "New Tokyo", "Chongqing", "Ishima", "Clarke Incorporated", "Four Sigma", "Bachman & Associates"]); if (augmentationExists(AugmentationNames.NuoptimalInjectorImplant)) { @@ -745,14 +794,15 @@ function initAugmentations() { } AddToAugmentations(NuoptimalInjectorImplant); - var SpeechEnhancement = new Augmentation(AugmentationNames.SpeechEnhancement); - SpeechEnhancement.setRequirements(1000, 2500000); - SpeechEnhancement.setInfo("An advanced neural implant that improves your speaking abilities, making " + - "you more convincing and likable in conversations and overall improving your " + - "social interactions.

" + - "This augmentation:
" + - "Increases the player's charisma by 10%
" + - "Increases the amount of reputation the player gains when working for a company by 10%"); + var SpeechEnhancement = new Augmentation({ + name:AugmentationNames.SpeechEnhancement, repCost:1e3, moneyCost:2.5e6, + info:"An advanced neural implant that improves your speaking abilities, making " + + "you more convincing and likable in conversations and overall improving your " + + "social interactions.

" + + "This augmentation:
" + + "Increases the player's charisma by 10%
" + + "Increases the amount of reputation the player gains when working for a company by 10%" + }); SpeechEnhancement.addToFactions(["Tian Di Hui", "Speakers for the Dead", "Four Sigma", "KuaiGong International", "Clarke Incorporated", "Four Sigma", "Bachman & Associates"]); if (augmentationExists(AugmentationNames.SpeechEnhancement)) { @@ -760,85 +810,93 @@ function initAugmentations() { } AddToAugmentations(SpeechEnhancement); - var FocusWire = new Augmentation(AugmentationNames.FocusWire); //Stops procrastination - FocusWire.setRequirements(30000, 180000000); - FocusWire.setInfo("A cranial implant that stops procrastination by blocking specific neural pathways " + - "in the brain.

" + - "This augmentation:
" + - "Increases all experience gains by 5%
" + - "Increases the amount of money the player gains from working by 20%
" + - "Increases the amount of reputation the player gains when working for a company by 10%"); + var FocusWire = new Augmentation({ + name:AugmentationNames.FocusWire, repCost:30e3, moneyCost:180e6, + info:"A cranial implant that stops procrastination by blocking specific neural pathways " + + "in the brain.

" + + "This augmentation:
" + + "Increases all experience gains by 5%
" + + "Increases the amount of money the player gains from working by 20%
" + + "Increases the amount of reputation the player gains when working for a company by 10%" + }); FocusWire.addToFactions(["Bachman & Associates", "Clarke Incorporated", "Four Sigma", "KuaiGong International"]); if (augmentationExists(AugmentationNames.FocusWire)) { delete Augmentations[AugmentationNames.FocusWire]; } AddToAugmentations(FocusWire) - var PCDNI = new Augmentation(AugmentationNames.PCDNI); - PCDNI.setRequirements(150000, 750000000); - PCDNI.setInfo("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.

" + - "This augmentation:
" + - "Increases the amount of reputation the player gains when working for a company by 30%
" + - "Increases the player's hacking skill by 8%"); + var PCDNI = new Augmentation({ + name:AugmentationNames.PCDNI, repCost:150e3, moneyCost:750e6, + 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.

" + + "This augmentation:
" + + "Increases the amount of reputation the player gains when working for a company by 30%
" + + "Increases the player's hacking skill by 8%" + }); PCDNI.addToFactions(["Four Sigma", "OmniTek Incorporated", "ECorp", "Blade Industries"]); if (augmentationExists(AugmentationNames.PCDNI)) { delete Augmentations[AugmentationNames.PCDNI]; } AddToAugmentations(PCDNI); - var PCDNIOptimizer = new Augmentation(AugmentationNames.PCDNIOptimizer); - PCDNIOptimizer.setRequirements(200000, 900000000); - PCDNIOptimizer.setInfo("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 the connected computer.

" + - "This augmentation:
" + - "Increases the amount of reputation the player gains when working for a company by 75%
" + - "Increases the player's hacking skill by 10%"); + var PCDNIOptimizer = new Augmentation({ + name:AugmentationNames.PCDNIOptimizer, repCost:200e3, moneyCost:900e6, + 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 the connected computer.

" + + "This augmentation:
" + + "Increases the amount of reputation the player gains when working for a company by 75%
" + + "Increases the player's hacking skill by 10%", + prereqs:[AugmentationNames.PCDNI], + }); PCDNIOptimizer.addToFactions(["Fulcrum Secret Technologies", "ECorp", "Blade Industries"]); if (augmentationExists(AugmentationNames.PCDNIOptimizer)) { delete Augmentations[AugmentationNames.PCDNIOptimizer]; } AddToAugmentations(PCDNIOptimizer); - var PCDNINeuralNetwork = new Augmentation(AugmentationNames.PCDNINeuralNetwork); - PCDNINeuralNetwork.setRequirements(600000, 1500000000); - PCDNINeuralNetwork.setInfo("This is an additional installation that upgrades the functionality of the " + - "PC Direct-Neural Interface augmentation. When connected to a computer, " + - "The NeuroNet Injector upgrade allows the user to use his/her own brain's " + - "processing power to aid the computer in computational tasks.

" + - "This augmentation:
" + - "Increases the amount of reputation the player gains when working for a company by 100%
" + - "Increases the player's hacking skill by 10%
" + - "Increases the player's hacking speed by 5%"); + var PCDNINeuralNetwork = new Augmentation({ + name:AugmentationNames.PCDNINeuralNetwork, repCost:600e3, moneyCost:1500e6, + info:"This is an additional installation that upgrades the functionality of the " + + "PC Direct-Neural Interface augmentation. When connected to a computer, " + + "The NeuroNet Injector upgrade allows the user to use his/her own brain's " + + "processing power to aid the computer in computational tasks.

" + + "This augmentation:
" + + "Increases the amount of reputation the player gains when working for a company by 100%
" + + "Increases the player's hacking skill by 10%
" + + "Increases the player's hacking speed by 5%", + prereqs:[AugmentationNames.PCDNI], + }); PCDNINeuralNetwork.addToFactions(["Fulcrum Secret Technologies"]); if (augmentationExists(AugmentationNames.PCDNINeuralNetwork)) { delete Augmentations[AugmentationNames.PCDNINeuralNetwork]; } AddToAugmentations(PCDNINeuralNetwork); - var ADRPheromone1 = new Augmentation(AugmentationNames.ADRPheromone1); - ADRPheromone1.setRequirements(1500, 3500000); - ADRPheromone1.setInfo("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.

" + - "This augmentation:
" + - "Increases the amount of reputation the player gains when working for a company by 10%
" + - "Increases the amount of reputation the player gains for a faction by 10%"); + var ADRPheromone1 = new Augmentation({ + name:AugmentationNames.ADRPheromone1, repCost:1500, moneyCost:3.5e6, + 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.

" + + "This augmentation:
" + + "Increases the amount of reputation the player gains when working for a company by 10%
" + + "Increases the amount of reputation the player gains for a faction by 10%" + }); ADRPheromone1.addToFactions(["Tian Di Hui", "The Syndicate", "NWO", "MegaCorp", "Four Sigma"]); if (augmentationExists(AugmentationNames.ADRPheromone1)) { delete Augmentations[AugmentationNames.ADRPheromone1]; } AddToAugmentations(ADRPheromone1); - var ADRPheromone2 = new Augmentation(AugmentationNames.ADRPheromone2); - ADRPheromone2.setRequirements(25000, 90000000000); - ADRPheromone2.setInfo("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.

" + - "This augmentation:
" + - "Increases the amount of reputation the player gains for a faction and company by 20%."); + var ADRPheromone2 = new Augmentation({ + name:AugmentationNames.ADRPheromone2, repCost:25e3, moneyCost:110e6, + 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.

" + + "This augmentation:
" + + "Increases the amount of reputation the player gains for a faction and company by 20%." + }); ADRPheromone2.addToFactions(["Silhouette", "Four Sigma", "Bachman & Associates", "Clarke Incorporated"]); if (augmentationExists(AugmentationNames.ADRPheromone2)) { delete Augmentations[AugmentationNames.ADRPheromone2]; @@ -846,66 +904,71 @@ function initAugmentations() { AddToAugmentations(ADRPheromone2); //HacknetNode Augmentations - var HacknetNodeCPUUpload = new Augmentation(AugmentationNames.HacknetNodeCPUUpload); - HacknetNodeCPUUpload.setRequirements(1500, 2200000); - HacknetNodeCPUUpload.setInfo("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.

" + - "This augmentation:
" + - "Increases the amount of money produced by Hacknet Nodes by 15%
" + - "Decreases the cost of purchasing a Hacknet Node by 15%"); + var HacknetNodeCPUUpload = new Augmentation({ + name:AugmentationNames.HacknetNodeCPUUpload, repCost:1500, moneyCost:2.2e6, + 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.

" + + "This augmentation:
" + + "Increases the amount of money produced by Hacknet Nodes by 15%
" + + "Decreases the cost of purchasing a Hacknet Node by 15%" + }); HacknetNodeCPUUpload.addToFactions(["Netburners"]); if (augmentationExists(AugmentationNames.HacknetNodeCPUUpload)) { delete Augmentations[AugmentationNames.HacknetNodeCPUUpload]; } AddToAugmentations(HacknetNodeCPUUpload); - var HacknetNodeCacheUpload = new Augmentation(AugmentationNames.HacknetNodeCacheUpload); - HacknetNodeCacheUpload.setRequirements(1000, 1100000); - HacknetNodeCacheUpload.setInfo("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.

" + - "This augmentation:
" + - "Increases the amount of money produced by Hacknet Nodes by 10%
" + - "Decreases the cost of leveling up a Hacknet Node by 15%"); + var HacknetNodeCacheUpload = new Augmentation({ + name:AugmentationNames.HacknetNodeCacheUpload, repCost:1e3, moneyCost:1.1e6, + 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.

" + + "This augmentation:
" + + "Increases the amount of money produced by Hacknet Nodes by 10%
" + + "Decreases the cost of leveling up a Hacknet Node by 15%" + }); HacknetNodeCacheUpload.addToFactions(["Netburners"]); if (augmentationExists(AugmentationNames.HacknetNodeCacheUpload)) { delete Augmentations[AugmentationNames.HacknetNodeCacheUpload]; } AddToAugmentations(HacknetNodeCacheUpload); - var HacknetNodeNICUpload = new Augmentation(AugmentationNames.HacknetNodeNICUpload); - HacknetNodeNICUpload.setRequirements(750, 900000); - HacknetNodeNICUpload.setInfo("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.

" + - "This augmentation:
" + - "Increases the amount of money produced by Hacknet Nodes by 10%
" + - "Decreases the cost of purchasing a Hacknet Node by 10%"); + var HacknetNodeNICUpload = new Augmentation({ + name:AugmentationNames.HacknetNodeNICUpload, repCost:750, moneyCost:900e3, + 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.

" + + "This augmentation:
" + + "Increases the amount of money produced by Hacknet Nodes by 10%
" + + "Decreases the cost of purchasing a Hacknet Node by 10%" + }); HacknetNodeNICUpload.addToFactions(["Netburners"]); if (augmentationExists(AugmentationNames.HacknetNodeNICUpload)) { delete Augmentations[AugmentationNames.HacknetNodeNICUpload]; } AddToAugmentations(HacknetNodeNICUpload); - var HacknetNodeKernelDNI = new Augmentation(AugmentationNames.HacknetNodeKernelDNI); - HacknetNodeKernelDNI.setRequirements(3000, 8000000); - HacknetNodeKernelDNI.setInfo("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 the mind's " + - "electrochemical signals.

" + - "This augmentation increases the amount of money produced by Hacknet Nodes by 25%."); + var HacknetNodeKernelDNI = new Augmentation({ + name:AugmentationNames.HacknetNodeKernelDNI, repCost:3e3, moneyCost:8e6, + 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 the mind's " + + "electrochemical signals.

" + + "This augmentation increases the amount of money produced by Hacknet Nodes by 25%." + }); HacknetNodeKernelDNI.addToFactions(["Netburners"]); if (augmentationExists(AugmentationNames.HacknetNodeKernelDNI)) { delete Augmentations[AugmentationNames.HacknetNodeKernelDNI]; } AddToAugmentations(HacknetNodeKernelDNI); - var HacknetNodeCoreDNI = new Augmentation(AugmentationNames.HacknetNodeCoreDNI); - HacknetNodeCoreDNI.setRequirements(5000, 12000000); - HacknetNodeCoreDNI.setInfo("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 " + - "the mind's electrochemical signals.

" + - "This augmentation increases the amount of money produced by Hacknet Nodes by 45%."); + var HacknetNodeCoreDNI = new Augmentation({ + name:AugmentationNames.HacknetNodeCoreDNI, repCost:5e3, moneyCost:12e6, + 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 " + + "the mind's electrochemical signals.

" + + "This augmentation increases the amount of money produced by Hacknet Nodes by 45%." + }); HacknetNodeCoreDNI.addToFactions(["Netburners"]); if (augmentationExists(AugmentationNames.HacknetNodeCoreDNI)) { delete Augmentations[AugmentationNames.HacknetNodeCoreDNI]; @@ -913,132 +976,138 @@ function initAugmentations() { AddToAugmentations(HacknetNodeCoreDNI); //Misc/Hybrid augmentations - var NeuroFluxGovernor = new Augmentation(AugmentationNames.NeuroFluxGovernor); + var NeuroFluxGovernor = new Augmentation({ + name:AugmentationNames.NeuroFluxGovernor, repCost:500, moneyCost: 750e3, + 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.

" + + "This is a special augmentation because it can be leveled up infinitely. Each level of this augmentation " + + "increases ALL of the player's multipliers by 1%" + }); + var nextLevel = getNextNeurofluxLevel(); + NeuroFluxGovernor.level = nextLevel - 1; + mult = Math.pow(CONSTANTS.NeuroFluxGovernorLevelMult, NeuroFluxGovernor.level); + NeuroFluxGovernor.baseRepRequirement = 500 * mult * CONSTANTS.AugmentationRepMultiplier * BitNodeMultipliers.AugmentationRepCost; + NeuroFluxGovernor.baseCost = 750e3 * mult * CONSTANTS.AugmentationCostMultiplier * BitNodeMultipliers.AugmentationMoneyCost; if (augmentationExists(AugmentationNames.NeuroFluxGovernor)) { - var nextLevel = getNextNeurofluxLevel(); - NeuroFluxGovernor.level = nextLevel - 1; - mult = Math.pow(CONSTANTS.NeuroFluxGovernorLevelMult, NeuroFluxGovernor.level); - NeuroFluxGovernor.setRequirements(500 * mult, 750000 * mult); delete Augmentations[AugmentationNames.NeuroFluxGovernor]; - } else { - var nextLevel = getNextNeurofluxLevel(); - NeuroFluxGovernor.level = nextLevel - 1; - mult = Math.pow(CONSTANTS.NeuroFluxGovernorLevelMult, NeuroFluxGovernor.level); - NeuroFluxGovernor.setRequirements(500 * mult, 750000 * mult); } - NeuroFluxGovernor.setInfo("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.

" + - "This is a special augmentation because it can be leveled up infinitely. Each level of this augmentation " + - "increases ALL of the player's multipliers by 1%"); NeuroFluxGovernor.addToAllFactions(); AddToAugmentations(NeuroFluxGovernor); - var Neurotrainer1 = new Augmentation(AugmentationNames.Neurotrainer1); - Neurotrainer1.setRequirements(400, 800000); - Neurotrainer1.setInfo("A decentralized cranial implant that improves the brain's ability to learn. It is " + - "installed by releasing millions of nanobots into the human brain, each of which " + - "attaches to a different neural pathway to enhance the brain's ability to retain " + - "and retrieve information.

" + - "This augmentation increases the player's experience gain rate for all stats by 10%"); + var Neurotrainer1 = new Augmentation({ + name:AugmentationNames.Neurotrainer1, repCost:400, moneyCost:800e3, + info:"A decentralized cranial implant that improves the brain's ability to learn. It is " + + "installed by releasing millions of nanobots into the human brain, each of which " + + "attaches to a different neural pathway to enhance the brain's ability to retain " + + "and retrieve information.

" + + "This augmentation increases the player's experience gain rate for all stats by 10%" + }); Neurotrainer1.addToFactions(["CyberSec"]); if (augmentationExists(AugmentationNames.Neurotrainer1)) { delete Augmentations[AugmentationNames.Neurotrainer1]; } AddToAugmentations(Neurotrainer1); - var Neurotrainer2 = new Augmentation(AugmentationNames.Neurotrainer2); - Neurotrainer2.setRequirements(4000, 9000000); - Neurotrainer2.setInfo("A decentralized cranial implant that improves the brain's ability to learn. This " + - "is a more powerful version of the Neurotrainer I augmentation, but it does not " + - "require Neurotrainer I to be installed as a prerequisite.

" + - "This augmentation increases the player's experience gain rate for all stats by 15%"); + var Neurotrainer2 = new Augmentation({ + name:AugmentationNames.Neurotrainer2, repCost:4e3, moneyCost:9e6, + info:"A decentralized cranial implant that improves the brain's ability to learn. This " + + "is a more powerful version of the Neurotrainer I augmentation, but it does not " + + "require Neurotrainer I to be installed as a prerequisite.

" + + "This augmentation increases the player's experience gain rate for all stats by 15%" + }); Neurotrainer2.addToFactions(["BitRunners", "NiteSec"]); if (augmentationExists(AugmentationNames.Neurotrainer2)) { delete Augmentations[AugmentationNames.Neurotrainer2]; } AddToAugmentations(Neurotrainer2); - var Neurotrainer3 = new Augmentation(AugmentationNames.Neurotrainer3); - Neurotrainer3.setRequirements(10000, 26000000); - Neurotrainer3.setInfo("A decentralized cranial implant that improves the brain's ability to learn. This " + - "is a more powerful version of the Neurotrainer I and Neurotrainer II augmentation, " + - "but it does not require either of them to be installed as a prerequisite.

" + - "This augmentation increases the player's experience gain rate for all stats by 20%"); + var Neurotrainer3 = new Augmentation({ + name:AugmentationNames.Neurotrainer3, repCost:10e3, moneyCost:26e6, + info:"A decentralized cranial implant that improves the brain's ability to learn. This " + + "is a more powerful version of the Neurotrainer I and Neurotrainer II augmentation, " + + "but it does not require either of them to be installed as a prerequisite.

" + + "This augmentation increases the player's experience gain rate for all stats by 20%" + }); Neurotrainer3.addToFactions(["NWO", "Four Sigma"]); if (augmentationExists(AugmentationNames.Neurotrainer3)) { delete Augmentations[AugmentationNames.Neurotrainer3]; } AddToAugmentations(Neurotrainer3); - var Hypersight = new Augmentation(AugmentationNames.Hypersight); - Hypersight.setInfo("A bionic eye implant that grants sight capabilities far beyond those of a natural human. " + - "Embedded circuitry within the implant provides the ability to detect heat and movement " + - "through solid objects such as wells, thus providing 'x-ray vision'-like capabilities.

" + - "This augmentation:
" + - "Increases the player's dexterity by 40%
" + - "Increases the player's hacking speed by 3%
" + - "Increases the amount of money the player gains from hacking by 10%"); - Hypersight.setRequirements(60000, 550000000); + var Hypersight = new Augmentation({ + name:AugmentationNames.Hypersight, repCost:60e3, moneyCost:550e6, + info:"A bionic eye implant that grants sight capabilities far beyond those of a natural human. " + + "Embedded circuitry within the implant provides the ability to detect heat and movement " + + "through solid objects such as wells, thus providing 'x-ray vision'-like capabilities.

" + + "This augmentation:
" + + "Increases the player's dexterity by 40%
" + + "Increases the player's hacking speed by 3%
" + + "Increases the amount of money the player gains from hacking by 10%" + }); Hypersight.addToFactions(["Blade Industries", "KuaiGong International"]); if (augmentationExists(AugmentationNames.Hypersight)) { delete Augmentations[AugmentationNames.Hypersight]; } AddToAugmentations(Hypersight); - var LuminCloaking1 = new Augmentation(AugmentationNames.LuminCloaking1); - LuminCloaking1.setInfo("A skin implant that reinforces the skin with highly-advanced synthetic cells. These " + - "cells, when powered, have a negative refractive index. As a result, they bend light " + - "around the skin, making the user much harder to see from the naked eye.

" + - "This augmentation:
" + - "Increases the player's agility by 5%
" + - "Increases the amount of money the player gains from crimes by 10%"); - LuminCloaking1.setRequirements(600, 1000000); + var LuminCloaking1 = new Augmentation({ + name:AugmentationNames.LuminCloaking1, repCost:600, moneyCost:1e6, + info:"A skin implant that reinforces the skin with highly-advanced synthetic cells. These " + + "cells, when powered, have a negative refractive index. As a result, they bend light " + + "around the skin, making the user much harder to see from the naked eye.

" + + "This augmentation:
" + + "Increases the player's agility by 5%
" + + "Increases the amount of money the player gains from crimes by 10%" + }); LuminCloaking1.addToFactions(["Slum Snakes", "Tetrads"]); if (augmentationExists(AugmentationNames.LuminCloaking1)) { delete Augmentations[AugmentationNames.LuminCloaking1]; } AddToAugmentations(LuminCloaking1); - var LuminCloaking2 = new Augmentation(AugmentationNames.LuminCloaking2); - LuminCloaking2.setInfo("This is a more advanced version of the LuminCloaking-V2 augmentation. This skin implant " + - "reinforces the skin with highly-advanced synthetic cells. These " + - "cells, when powered, are capable of not only bending light but also of bending heat, " + - "making the user more resilient as well as stealthy.

" + - "This augmentation:
" + - "Increases the player's agility by 10%
" + - "Increases the player's defense by 10%
" + - "Increases the amount of money the player gains from crimes by 25%"); - LuminCloaking2.setRequirements(2000, 6000000); + var LuminCloaking2 = new Augmentation({ + name:AugmentationNames.LuminCloaking2, repCost:2e3, moneyCost:6e6, + info:"This is a more advanced version of the LuminCloaking-V2 augmentation. This skin implant " + + "reinforces the skin with highly-advanced synthetic cells. These " + + "cells, when powered, are capable of not only bending light but also of bending heat, " + + "making the user more resilient as well as stealthy.

" + + "This augmentation:
" + + "Increases the player's agility by 10%
" + + "Increases the player's defense by 10%
" + + "Increases the amount of money the player gains from crimes by 25%" + }); LuminCloaking2.addToFactions(["Slum Snakes", "Tetrads"]); if (augmentationExists(AugmentationNames.LuminCloaking2)) { delete Augmentations[AugmentationNames.LuminCloaking2]; } AddToAugmentations(LuminCloaking2); - var SmartSonar = new Augmentation(AugmentationNames.SmartSonar); - SmartSonar.setInfo("A cochlear implant that helps the player detect and locate enemies " + - "using sound propagation.

" + - "This augmentation:
" + - "Increases the player's dexterity by 10%
" + - "Increases the player's dexterity experience gain rate by 15%
" + - "Increases the amount of money the player gains from crimes by 25%"); - SmartSonar.setRequirements(9000, 15000000); + var SmartSonar = new Augmentation({ + name:AugmentationNames.SmartSonar, repCost:9e3, moneyCost:15e6, + info:"A cochlear implant that helps the player detect and locate enemies " + + "using sound propagation.

" + + "This augmentation:
" + + "Increases the player's dexterity by 10%
" + + "Increases the player's dexterity experience gain rate by 15%
" + + "Increases the amount of money the player gains from crimes by 25%" + }); SmartSonar.addToFactions(["Slum Snakes"]); if (augmentationExists(AugmentationNames.SmartSonar)) { delete Augmentations[AugmentationNames.SmartSonar]; } AddToAugmentations(SmartSonar); - var PowerRecirculator = new Augmentation(AugmentationNames.PowerRecirculator); - PowerRecirculator.setInfo("The body's nerves are attached with polypyrrole nanocircuits that " + - "are capable of capturing wasted energy (in the form of heat) " + - "and converting it back into usable power.

" + - "This augmentation:
" + - "Increases all of the player's stats by 5%
" + - "Increases the player's experience gain rate for all stats by 10%"); - PowerRecirculator.setRequirements(10000, 36000000); + var PowerRecirculator = new Augmentation({ + name:AugmentationNames.PowerRecirculator, repCost:10e3, moneyCost:36e6, + info:"The body's nerves are attached with polypyrrole nanocircuits that " + + "are capable of capturing wasted energy (in the form of heat) " + + "and converting it back into usable power.

" + + "This augmentation:
" + + "Increases all of the player's stats by 5%
" + + "Increases the player's experience gain rate for all stats by 10%" + }); PowerRecirculator.addToFactions(["Tetrads", "The Dark Army", "The Syndicate", "NWO"]); if (augmentationExists(AugmentationNames.PowerRecirculator)) { delete Augmentations[AugmentationNames.PowerRecirculator]; @@ -1051,15 +1120,16 @@ function initAugmentations() { // Silhouette //Illuminati - var QLink = new Augmentation(AugmentationNames.QLink); - QLink.setInfo("A brain implant that wirelessly connects you to the Illuminati's " + - "quantum supercomputer, allowing you to access and use its incredible " + - "computing power.

" + - "This augmentation:
" + - "Increases the player's hacking speed by 10%
" + - "Increases the player's chance of successfully performing a hack by 30%
" + - "Increases the amount of money the player gains from hacking by 100%"); - QLink.setRequirements(750000, 1300000000); + var QLink = new Augmentation({ + name:AugmentationNames.QLink, repCost:750e3, moneyCost:1300e6, + info:"A brain implant that wirelessly connects you to the Illuminati's " + + "quantum supercomputer, allowing you to access and use its incredible " + + "computing power.

" + + "This augmentation:
" + + "Increases the player's hacking speed by 10%
" + + "Increases the player's chance of successfully performing a hack by 30%
" + + "Increases the amount of money the player gains from hacking by 100%" + }); QLink.addToFactions(["Illuminati"]); if (augmentationExists(AugmentationNames.QLink)) { delete Augmentations[AugmentationNames.QLink]; @@ -1067,9 +1137,10 @@ function initAugmentations() { AddToAugmentations(QLink); //Daedalus - var RedPill = new Augmentation(AugmentationNames.TheRedPill); - RedPill.setInfo("It's time to leave the cave"); - RedPill.setRequirements(1000000, 0); + var RedPill = new Augmentation({ + name:AugmentationNames.TheRedPill, repCost:1e6, moneyCost:0, + info:"It's time to leave the cave" + }); RedPill.addToFactions(["Daedalus"]); if (augmentationExists(AugmentationNames.TheRedPill)) { delete Augmentations[AugmentationNames.TheRedPill]; @@ -1077,15 +1148,16 @@ function initAugmentations() { AddToAugmentations(RedPill); //Covenant - var SPTN97 = new Augmentation(AugmentationNames.SPTN97); - SPTN97.setInfo("The SPTN-97 gene is injected into the genome. The SPTN-97 gene is an " + - "artificially-synthesized gene that was developed by DARPA to create " + - "super-soldiers through genetic modification. The gene was outlawed in " + - "2056.

" + - "This augmentation:
" + - "Increases all of the player's combat stats by 75%
" + - "Increases the player's hacking skill by 15%"); - SPTN97.setRequirements(500000, 975000000); + var SPTN97 = new Augmentation({ + name:AugmentationNames.SPTN97, repCost:500e3, moneyCost:975e6, + info:"The SPTN-97 gene is injected into the genome. The SPTN-97 gene is an " + + "artificially-synthesized gene that was developed by DARPA to create " + + "super-soldiers through genetic modification. The gene was outlawed in " + + "2056.

" + + "This augmentation:
" + + "Increases all of the player's combat stats by 75%
" + + "Increases the player's hacking skill by 15%" + }); SPTN97.addToFactions(["The Covenant"]); if (augmentationExists(AugmentationNames.SPTN97)) { delete Augmentations[AugmentationNames.SPTN97]; @@ -1093,11 +1165,12 @@ function initAugmentations() { AddToAugmentations(SPTN97); //ECorp - var HiveMind = new Augmentation(AugmentationNames.HiveMind); - HiveMind.setInfo("A brain implant developed by ECorp. They do not reveal what " + - "exactly the implant does, but they promise that it will greatly " + - "enhance your abilities."); - HiveMind.setRequirements(600000, 1100000000); + var HiveMind = new Augmentation({ + name:AugmentationNames.HiveMind, repCost:600e3, moneyCost:1100e6, + info:"A brain implant developed by ECorp. They do not reveal what " + + "exactly the implant does, but they promise that it will greatly " + + "enhance your abilities." + }); HiveMind.addToFactions(["ECorp"]); if (augmentationExists(AugmentationNames.HiveMind)) { delete Augmentations[AugmentationNames.HiveMind]; @@ -1105,15 +1178,16 @@ function initAugmentations() { AddToAugmentations(HiveMind); //MegaCorp - var CordiARCReactor = new Augmentation(AugmentationNames.CordiARCReactor); - CordiARCReactor.setInfo("The thoracic cavity is equipped with a small chamber designed " + - "to hold and sustain hydrogen plasma. The plasma is used to generate " + - "fusion power through nuclear fusion, providing limitless amount of clean " + - "energy for the body.

" + - "This augmentation:
" + - "Increases all of the player's combat stats by 35%
" + - "Increases all of the player's combat stat experience gain rate by 35%"); - CordiARCReactor.setRequirements(450000, 1000000000); + var CordiARCReactor = new Augmentation({ + name:AugmentationNames.CordiARCReactor, repCost:450e3, moneyCost:1000e6, + info:"The thoracic cavity is equipped with a small chamber designed " + + "to hold and sustain hydrogen plasma. The plasma is used to generate " + + "fusion power through nuclear fusion, providing limitless amount of clean " + + "energy for the body.

" + + "This augmentation:
" + + "Increases all of the player's combat stats by 35%
" + + "Increases all of the player's combat stat experience gain rate by 35%" + }); CordiARCReactor.addToFactions(["MegaCorp"]); if (augmentationExists(AugmentationNames.CordiARCReactor)) { delete Augmentations[AugmentationNames.CordiARCReactor]; @@ -1121,16 +1195,17 @@ function initAugmentations() { AddToAugmentations(CordiARCReactor); //BachmanAndAssociates - var SmartJaw = new Augmentation(AugmentationNames.SmartJaw); - SmartJaw.setInfo("A bionic jaw that contains advanced hardware and software " + - "capable of psychoanalyzing and profiling the personality of " + - "others using optical imaging software.

" + - "This augmentation:
" + - "Increases the player's charisma by 50%.
" + - "Increases the player's charisma experience gain rate by 50%
" + - "Increases the amount of reputation the player gains for a company by 25%
" + - "Increases the amount of reputation the player gains for a faction by 25%"); - SmartJaw.setRequirements(150000, 550000000); + var SmartJaw = new Augmentation({ + name:AugmentationNames.SmartJaw, repCost:150e3, moneyCost:550e6, + info:"A bionic jaw that contains advanced hardware and software " + + "capable of psychoanalyzing and profiling the personality of " + + "others using optical imaging software.

" + + "This augmentation:
" + + "Increases the player's charisma by 50%.
" + + "Increases the player's charisma experience gain rate by 50%
" + + "Increases the amount of reputation the player gains for a company by 25%
" + + "Increases the amount of reputation the player gains for a faction by 25%" + }); SmartJaw.addToFactions(["Bachman & Associates"]); if (augmentationExists(AugmentationNames.SmartJaw)) { delete Augmentations[AugmentationNames.SmartJaw]; @@ -1138,13 +1213,14 @@ function initAugmentations() { AddToAugmentations(SmartJaw); //BladeIndustries - var Neotra = new Augmentation(AugmentationNames.Neotra); - Neotra.setInfo("A highly-advanced techno-organic drug that is injected into the skeletal " + - "and integumentary system. The drug permanently modifies the DNA of the " + - "body's skin and bone cells, granting them the ability to repair " + - "and restructure themselves.

" + - "This augmentation increases the player's strength and defense by 55%"); - Neotra.setRequirements(225000, 575000000); + var Neotra = new Augmentation({ + name:AugmentationNames.Neotra, repCost:225e3, moneyCost:575e6, + info:"A highly-advanced techno-organic drug that is injected into the skeletal " + + "and integumentary system. The drug permanently modifies the DNA of the " + + "body's skin and bone cells, granting them the ability to repair " + + "and restructure themselves.

" + + "This augmentation increases the player's strength and defense by 55%" + }); Neotra.addToFactions(["Blade Industries"]); if (augmentationExists(AugmentationNames.Neotra)) { delete Augmentations[AugmentationNames.Neotra]; @@ -1152,14 +1228,15 @@ function initAugmentations() { AddToAugmentations(Neotra); //NWO - var Xanipher = new Augmentation(AugmentationNames.Xanipher); - Xanipher.setInfo("A concoction of advanced nanobots that is orally ingested into the " + - "body. These nanobots induce physiological change and significantly " + - "improve the body's functionining in all aspects.

" + - "This augmentation:
" + - "Increases all of the player's stats by 20%
" + - "Increases the player's experience gain rate for all stats by 15%"); - Xanipher.setRequirements(350000, 850000000); + var Xanipher = new Augmentation({ + name:AugmentationNames.Xanipher, repCost:350e3, moneyCost:850e6, + info:"A concoction of advanced nanobots that is orally ingested into the " + + "body. These nanobots induce physiological change and significantly " + + "improve the body's functionining in all aspects.

" + + "This augmentation:
" + + "Increases all of the player's stats by 20%
" + + "Increases the player's experience gain rate for all stats by 15%" + }); Xanipher.addToFactions(["NWO"]); if (augmentationExists(AugmentationNames.Xanipher)) { delete Augmentations[AugmentationNames.Xanipher]; @@ -1167,12 +1244,13 @@ function initAugmentations() { AddToAugmentations(Xanipher); //ClarkeIncorporated - var nextSENS = new Augmentation(AugmentationNames.nextSENS); - nextSENS.setInfo("The body is genetically re-engineered to maintain a state " + - "of negligible senescence, preventing the body from " + - "deteriorating with age.

" + - "This augmentation increases all of the player's stats by 20%"); - nextSENS.setRequirements(175000, 385000000); + var nextSENS = new Augmentation({ + name:AugmentationNames.nextSENS, repCost:175e3, moneyCost:385e6, + info:"The body is genetically re-engineered to maintain a state " + + "of negligible senescence, preventing the body from " + + "deteriorating with age.

" + + "This augmentation increases all of the player's stats by 20%" + }); nextSENS.addToFactions(["Clarke Incorporated"]); if (augmentationExists(AugmentationNames.nextSENS)) { delete Augmentations[AugmentationNames.nextSENS]; @@ -1180,14 +1258,15 @@ function initAugmentations() { AddToAugmentations(nextSENS); //OmniTekIncorporated - var OmniTekInfoLoad = new Augmentation(AugmentationNames.OmniTekInfoLoad); - OmniTekInfoLoad.setInfo("OmniTek's data and information repository is uploaded " + - "into your brain, enhancing your programming and " + - "hacking abilities.

" + - "This augmentation:
" + - "Increases the player's hacking skill by 20%
" + - "Increases the player's hacking experience gain rate by 25%"); - OmniTekInfoLoad.setRequirements(250000, 575000000) + var OmniTekInfoLoad = new Augmentation({ + name:AugmentationNames.OmniTekInfoLoad, repCost:250e3, moneyCost:575e6, + info:"OmniTek's data and information repository is uploaded " + + "into your brain, enhancing your programming and " + + "hacking abilities.

" + + "This augmentation:
" + + "Increases the player's hacking skill by 20%
" + + "Increases the player's hacking experience gain rate by 25%" + }); OmniTekInfoLoad.addToFactions(["OmniTek Incorporated"]); if (augmentationExists(AugmentationNames.OmniTekInfoLoad)) { delete Augmentations[AugmentationNames.OmniTekInfoLoad]; @@ -1198,13 +1277,14 @@ function initAugmentations() { //TODO Later when Intelligence is added in . Some aug that greatly increases int //KuaiGongInternational - var PhotosyntheticCells = new Augmentation(AugmentationNames.PhotosyntheticCells); - PhotosyntheticCells.setInfo("Chloroplasts are added to epidermal stem cells and are applied " + - "to the body using a skin graft. The result is photosynthetic " + - "skin cells, allowing users to generate their own energy " + - "and nutrition using solar power.

" + - "This augmentation increases the player's strength, defense, and agility by 40%"); - PhotosyntheticCells.setRequirements(225000, 550000000); + var PhotosyntheticCells = new Augmentation({ + name:AugmentationNames.PhotosyntheticCells, repCost:225e3, moneyCost:550e6, + info:"Chloroplasts are added to epidermal stem cells and are applied " + + "to the body using a skin graft. The result is photosynthetic " + + "skin cells, allowing users to generate their own energy " + + "and nutrition using solar power.

" + + "This augmentation increases the player's strength, defense, and agility by 40%" + }); PhotosyntheticCells.addToFactions(["KuaiGong International"]); if (augmentationExists(AugmentationNames.PhotosyntheticCells)) { delete Augmentations[AugmentationNames.PhotosyntheticCells]; @@ -1212,17 +1292,18 @@ function initAugmentations() { AddToAugmentations(PhotosyntheticCells); //BitRunners - var Neurolink = new Augmentation(AugmentationNames.Neurolink); - Neurolink.setInfo("A brain implant that provides a high-bandwidth, direct neural link between your " + - "mind and BitRunners' data servers, which reportedly contain " + - "the largest database of hacking tools and information in the world.

" + - "This augmentation:
" + - "Increases the player's hacking skill by 15%
" + - "Increases the player's hacking experience gain rate by 20%
" + - "Increases the player's chance of successfully performing a hack by 10%
" + - "Increases the player's hacking speed by 5%
" + - "Lets the player start with the FTPCrack.exe and relaySMTP.exe programs after a reset"); - Neurolink.setRequirements(350000, 875000000); + var Neurolink = new Augmentation({ + name:AugmentationNames.Neurolink, repCost:350e3, moneyCost:875e6, + info:"A brain implant that provides a high-bandwidth, direct neural link between your " + + "mind and BitRunners' data servers, which reportedly contain " + + "the largest database of hacking tools and information in the world.

" + + "This augmentation:
" + + "Increases the player's hacking skill by 15%
" + + "Increases the player's hacking experience gain rate by 20%
" + + "Increases the player's chance of successfully performing a hack by 10%
" + + "Increases the player's hacking speed by 5%
" + + "Lets the player start with the FTPCrack.exe and relaySMTP.exe programs after a reset" + }); Neurolink.addToFactions(["BitRunners"]); if (augmentationExists(AugmentationNames.Neurolink)) { delete Augmentations[AugmentationNames.Neurolink]; @@ -1230,17 +1311,18 @@ function initAugmentations() { AddToAugmentations(Neurolink); //BlackHand - var TheBlackHand = new Augmentation(AugmentationNames.TheBlackHand); - TheBlackHand.setInfo("A highly advanced bionic hand. This prosthetic not only " + - "enhances strength and dexterity but it is also embedded " + - "with hardware and firmware that lets the user connect to, access and hack " + - "devices and machines just by touching them.

" + - "This augmentation:
" + - "Increases the player's strength and dexterity by 15%
" + - "Increases the player's hacking skill by 10%
" + - "Increases the player's hacking speed by 2%
" + - "Increases the amount of money the player gains from hacking by 10%"); - TheBlackHand.setRequirements(40000, 110000000); + var TheBlackHand = new Augmentation({ + name:AugmentationNames.TheBlackHand, repCost:40e3, moneyCost:110e6, + info:"A highly advanced bionic hand. This prosthetic not only " + + "enhances strength and dexterity but it is also embedded " + + "with hardware and firmware that lets the user connect to, access and hack " + + "devices and machines just by touching them.

" + + "This augmentation:
" + + "Increases the player's strength and dexterity by 15%
" + + "Increases the player's hacking skill by 10%
" + + "Increases the player's hacking speed by 2%
" + + "Increases the amount of money the player gains from hacking by 10%" + }); TheBlackHand.addToFactions(["The Black Hand"]); if (augmentationExists(AugmentationNames.TheBlackHand)) { delete Augmentations[AugmentationNames.TheBlackHand]; @@ -1248,14 +1330,15 @@ function initAugmentations() { AddToAugmentations(TheBlackHand); //NiteSec - var CRTX42AA = new Augmentation(AugmentationNames.CRTX42AA); - CRTX42AA.setInfo("The CRTX42-AA gene is injected into the genome. " + - "The CRTX42-AA is an artificially-synthesized gene that targets the visual and prefrontal " + - "cortex and improves cognitive abilities.

" + - "This augmentation:
" + - "Improves the player's hacking skill by 8%
" + - "Improves the player's hacking experience gain rate by 15%"); - CRTX42AA.setRequirements(18000, 45000000); + var CRTX42AA = new Augmentation({ + name:AugmentationNames.CRTX42AA, repCost:18e3, moneyCost:45e6, + info:"The CRTX42-AA gene is injected into the genome. " + + "The CRTX42-AA is an artificially-synthesized gene that targets the visual and prefrontal " + + "cortex and improves cognitive abilities.

" + + "This augmentation:
" + + "Improves the player's hacking skill by 8%
" + + "Improves the player's hacking experience gain rate by 15%" + }); CRTX42AA.addToFactions(["NiteSec"]); if (augmentationExists(AugmentationNames.CRTX42AA)) { delete Augmentations[AugmentationNames.CRTX42AA]; @@ -1263,12 +1346,13 @@ function initAugmentations() { AddToAugmentations(CRTX42AA); //Chongqing - var Neuregen = new Augmentation(AugmentationNames.Neuregen); - Neuregen.setInfo("A drug that genetically modifies the neurons in the brain. " + - "The result is that these neurons never die and continuously " + - "regenerate and strengthen themselves.

" + - "This augmentation increases the player's hacking experience gain rate by 40%"); - Neuregen.setRequirements(15000, 75000000); + var Neuregen = new Augmentation({ + name:AugmentationNames.Neuregen, repCost:15e3, moneyCost:75e6, + info:"A drug that genetically modifies the neurons in the brain. " + + "The result is that these neurons never die and continuously " + + "regenerate and strengthen themselves.

" + + "This augmentation increases the player's hacking experience gain rate by 40%" + }); Neuregen.addToFactions(["Chongqing"]); if (augmentationExists(AugmentationNames.Neuregen)) { delete Augmentations[AugmentationNames.Neuregen]; @@ -1276,14 +1360,15 @@ function initAugmentations() { AddToAugmentations(Neuregen); //Sector12 - var CashRoot = new Augmentation(AugmentationNames.CashRoot); - CashRoot.setInfo("A collection of digital assets saved on a small chip. The chip is implanted " + - "into your wrist. A small jack in the chip allows you to connect it to a computer " + - "and upload the assets.

" + - "This augmentation:
" + - "Lets the player start with $1,000,000 after a reset
" + - "Lets the player start with the BruteSSH.exe program after a reset"); - CashRoot.setRequirements(5000, 25000000); + var CashRoot = new Augmentation({ + name:AugmentationNames.CashRoot, repCost:5e3, moneyCost:25e6, + info:"A collection of digital assets saved on a small chip. The chip is implanted " + + "into your wrist. A small jack in the chip allows you to connect it to a computer " + + "and upload the assets.

" + + "This augmentation:
" + + "Lets the player start with $1,000,000 after a reset
" + + "Lets the player start with the BruteSSH.exe program after a reset" + }); CashRoot.addToFactions(["Sector-12"]); if (augmentationExists(AugmentationNames.CashRoot)) { delete Augmentations[AugmentationNames.CashRoot]; @@ -1291,14 +1376,15 @@ function initAugmentations() { AddToAugmentations(CashRoot); //NewTokyo - var NutriGen = new Augmentation(AugmentationNames.NutriGen); - NutriGen.setInfo("A thermo-powered artificial nutrition generator. Endogenously " + - "synthesizes glucose, amino acids, and vitamins and redistributes them " + - "across the body. The device is powered by the body's naturally wasted " + - "energy in the form of heat.

" + - "This augmentation:
" + - "Increases the player's experience gain rate for all combat stats by 20%"); - NutriGen.setRequirements(2500, 500000); + var NutriGen = new Augmentation({ + name:AugmentationNames.NutriGen, repCost:2500, moneyCost:500e3, + info:"A thermo-powered artificial nutrition generator. Endogenously " + + "synthesizes glucose, amino acids, and vitamins and redistributes them " + + "across the body. The device is powered by the body's naturally wasted " + + "energy in the form of heat.

" + + "This augmentation:
" + + "Increases the player's experience gain rate for all combat stats by 20%" + }); NutriGen.addToFactions(["New Tokyo"]); if (augmentationExists(AugmentationNames.NutriGen)) { delete Augmentations[AugmentationNames.NutriGen]; @@ -1310,14 +1396,15 @@ function initAugmentations() { //and profits as a trader/from trading //Ishima - var INFRARet = new Augmentation(AugmentationNames.INFRARet); - INFRARet.setInfo("A retina implant consisting of a tiny chip that sits behind the " + - "retina. This implant lets people visually detect infrared radiation.

" + - "This augmentation:
" + - "Increases the player's crime success rate by 25%
" + - "Increases the amount of money the player gains from crimes by 10%
" + - "Increases the player's dexterity by 10%"); - INFRARet.setRequirements(3000, 6000000); + var INFRARet = new Augmentation({ + name:AugmentationNames.INFRARet, repCost:3e3, moneyCost:6e6, + info:"A retina implant consisting of a tiny chip that sits behind the " + + "retina. This implant lets people visually detect infrared radiation.

" + + "This augmentation:
" + + "Increases the player's crime success rate by 25%
" + + "Increases the amount of money the player gains from crimes by 10%
" + + "Increases the player's dexterity by 10%" + }); INFRARet.addToFactions(["Ishima"]); if (augmentationExists(AugmentationNames.INFRARet)) { delete Augmentations[AugmentationNames.INFRARet]; @@ -1325,12 +1412,13 @@ function initAugmentations() { AddToAugmentations(INFRARet); //Volhaven - var DermaForce = new Augmentation(AugmentationNames.DermaForce); - DermaForce.setInfo("A synthetic skin is grafted onto the body. The skin consists of " + - "millions of nanobots capable of projecting high-density muon beams, " + - "creating an energy barrier around the user.

" + - "This augmentation increases the player's defense by 50%"); - DermaForce.setRequirements(6000, 10000000); + var DermaForce = new Augmentation({ + name:AugmentationNames.DermaForce, repCost:6e3, moneyCost:10e6, + info:"A synthetic skin is grafted onto the body. The skin consists of " + + "millions of nanobots capable of projecting high-density muon beams, " + + "creating an energy barrier around the user.

" + + "This augmentation increases the player's defense by 50%" + }); DermaForce.addToFactions(["Volhaven"]); if (augmentationExists(AugmentationNames.DermaForce)) { delete Augmentations[AugmentationNames.DermaForce]; @@ -1338,15 +1426,17 @@ function initAugmentations() { AddToAugmentations(DermaForce); //SpeakersForTheDead - var GrapheneBrachiBlades = new Augmentation(AugmentationNames.GrapheneBrachiBlades); - GrapheneBrachiBlades.setInfo("An upgrade to the BrachiBlades augmentation. It infuses " + - "the retractable blades with an advanced graphene material " + - "to make them much stronger and lighter.

" + - "This augmentation:
" + - "Increases the player's strength and defense by 40%
" + - "Increases the player's crime success rate by 10%
" + - "Increases the amount of money the player gains from crimes by 30%"); - GrapheneBrachiBlades.setRequirements(90000, 500000000); + var GrapheneBrachiBlades = new Augmentation({ + name:AugmentationNames.GrapheneBrachiBlades, repCost:90e3, moneyCost:500e6, + info:"An upgrade to the BrachiBlades augmentation. It infuses " + + "the retractable blades with an advanced graphene material " + + "to make them much stronger and lighter.

" + + "This augmentation:
" + + "Increases the player's strength and defense by 40%
" + + "Increases the player's crime success rate by 10%
" + + "Increases the amount of money the player gains from crimes by 30%", + prereqs:[AugmentationNames.BrachiBlades], + }); GrapheneBrachiBlades.addToFactions(["Speakers for the Dead"]); if (augmentationExists(AugmentationNames.GrapheneBrachiBlades)) { delete Augmentations[AugmentationNames.GrapheneBrachiBlades]; @@ -1354,12 +1444,14 @@ function initAugmentations() { AddToAugmentations(GrapheneBrachiBlades); //DarkArmy - var GrapheneBionicArms = new Augmentation(AugmentationNames.GrapheneBionicArms); - GrapheneBionicArms.setInfo("An upgrade to the Bionic Arms augmentation. It infuses the " + - "prosthetic arms with an advanced graphene material " + - "to make them much stronger and lighter.

" + - "This augmentation increases the player's strength and dexterity by 85%"); - GrapheneBionicArms.setRequirements(200000, 750000000); + var GrapheneBionicArms = new Augmentation({ + name:AugmentationNames.GrapheneBionicArms, repCost:200e3, moneyCost:750e6, + info:"An upgrade to the Bionic Arms augmentation. It infuses the " + + "prosthetic arms with an advanced graphene material " + + "to make them much stronger and lighter.

" + + "This augmentation increases the player's strength and dexterity by 85%", + prereqs:[AugmentationNames.BionicArms], + }); GrapheneBionicArms.addToFactions(["The Dark Army"]); if (augmentationExists(AugmentationNames.GrapheneBionicArms)) { delete Augmentations[AugmentationNames.GrapheneBionicArms]; @@ -1367,13 +1459,14 @@ function initAugmentations() { AddToAugmentations(GrapheneBionicArms); //TheSyndicate - var BrachiBlades = new Augmentation(AugmentationNames.BrachiBlades); - BrachiBlades.setInfo("A set of retractable plasteel blades are implanted in the arm, underneath the skin. " + - "

This augmentation:
" + - "Increases the player's strength and defense by 15%
" + - "Increases the player's crime success rate by 10%
" + - "Increases the amount of money the player gains from crimes by 15%"); - BrachiBlades.setRequirements(5000, 18000000); + var BrachiBlades = new Augmentation({ + name:AugmentationNames.BrachiBlades, repCost:5e3, moneyCost:18e6, + info:"A set of retractable plasteel blades are implanted in the arm, underneath the skin. " + + "

This augmentation:
" + + "Increases the player's strength and defense by 15%
" + + "Increases the player's crime success rate by 10%
" + + "Increases the amount of money the player gains from crimes by 15%" + }); BrachiBlades.addToFactions(["The Syndicate"]); if (augmentationExists(AugmentationNames.BrachiBlades)) { delete Augmentations[AugmentationNames.BrachiBlades]; @@ -1381,11 +1474,12 @@ function initAugmentations() { AddToAugmentations(BrachiBlades); //Tetrads - var BionicArms = new Augmentation(AugmentationNames.BionicArms); - BionicArms.setInfo("Cybernetic arms created from plasteel and carbon fibers that completely replace " + - "the user's organic arms.

" + - "This augmentation increases the user's strength and dexterity by 30%"); - BionicArms.setRequirements(25000, 55000000); + var BionicArms = new Augmentation({ + name:AugmentationNames.BionicArms, repCost:25e3, moneyCost:55e6, + info:"Cybernetic arms created from plasteel and carbon fibers that completely replace " + + "the user's organic arms.

" + + "This augmentation increases the user's strength and dexterity by 30%" + }); BionicArms.addToFactions(["Tetrads"]); if (augmentationExists(AugmentationNames.BionicArms)) { delete Augmentations[AugmentationNames.BionicArms]; @@ -1393,14 +1487,15 @@ function initAugmentations() { AddToAugmentations(BionicArms); //TianDiHui - var SNA = new Augmentation(AugmentationNames.SNA); - SNA.setInfo("A cranial implant that affects the user's personality, making them better " + - "at negotiation in social situations.

" + - "This augmentation:
" + - "Increases the amount of money the player earns at a company by 10%
" + - "Increases the amount of reputation the player gains when working for a " + - "company or faction by 15%"); - SNA.setRequirements(2500, 6000000); + var SNA = new Augmentation({ + name:AugmentationNames.SNA, repCost:2500, moneyCost:6e6, + info:"A cranial implant that affects the user's personality, making them better " + + "at negotiation in social situations.

" + + "This augmentation:
" + + "Increases the amount of money the player earns at a company by 10%
" + + "Increases the amount of reputation the player gains when working for a " + + "company or faction by 15%" + }); SNA.addToFactions(["Tian Di Hui"]); if (augmentationExists(AugmentationNames.SNA)) { delete Augmentations[AugmentationNames.SNA]; diff --git a/src/Constants.js b/src/Constants.js index ef517b240..80b3a189f 100644 --- a/src/Constants.js +++ b/src/Constants.js @@ -1,5 +1,5 @@ let CONSTANTS = { - Version: "0.34.3", + Version: "0.34.4", //Max level for any skill, assuming no multipliers. Determined by max numerical value in javascript for experience //and the skill level formula in Player.js. Note that all this means it that when experience hits MAX_INT, then @@ -49,6 +49,7 @@ let CONSTANTS = { ScriptPortProgramRamCost: 0.05, ScriptRunRamCost: 1.0, ScriptExecRamCost: 1.3, + ScriptSpawnRamCost: 2.0, ScriptScpRamCost: 0.6, ScriptKillRamCost: 0.5, //Kill and killall ScriptHasRootAccessRamCost: 0.05, @@ -502,7 +503,15 @@ let CONSTANTS = { "The following example will try to run the script 'foo.script' on the 'foodnstuff' server with 5 threads. It will also pass the number 1 and the string 'test' in as arguments " + "to the script.

" + "exec('foo.script', 'foodnstuff', 5, 1, 'test');

" + - "kill(script, hostname/ip, [args...])
Kills the script on the target server specified by the script's name and arguments. Remember that " + + "spawn(script, numThreads, [args...])
Terminates the current script, and then after a delay of about 20 seconds " + + "it will execute the newly specified script. The purpose of this function is to execute a new script without being constrained " + + "by the RAM usage of the current one. This function can only be used to run scripts on the local server.

" + + "The first argument must be a string with the name of the script. The second argument must be an integer specifying the number " + + "of threads to run the script with. Any additional arguments will specify arguments to pass into the 'newly-spawned' script." + + "Because this function immediately terminates the script, it does not have a return value.

" + + "The following example will execute the script 'foo.script' with 10 threads and the arguments 'foodnstuff' and 90:

" + + "spawn('foo.script', 10, 'foodnstuff', 90);

" + + "kill(script, hostname/ip, [args...])
Kills the script on the target server specified by the script's name and arguments. Remember that " + "scripts are uniquely identified by both their name and arguments. For example, if 'foo.script' is run with the argument 1, then this is not the " + "same as 'foo.script' run with the argument 2, even though they have the same code.

" + "The first argument must be a string with the name of the script. The name is case-sensitive. " + @@ -902,6 +911,13 @@ let CONSTANTS = { "function.

Returns a boolean indicating whether or not the player is currently performing an 'action'. " + "These actions include working for a company/faction, studying at a univeristy, working out at a gym, " + "creating a program, or committing a crime.

" + + "stopAction()
If you are not in BitNode-4, then you must have Level 1 of Source-File 4 in order to " + + "run this function.

This function is used to end whatever 'action' the player is currently performing. The player " + + "will receive whatever money/experience/etc. he has earned from that action. The actions that can be stopped with this function " + + "are:

" + + "-Studying at a university
-Working for a company/faction
-Creating a program
-Committing a Crime

" + + "This function will return true if the player's action was ended. It will return false if the player was not " + + "performing an action when this function was called.

" + "upgradeHomeRam()
" + "If you are not in BitNode-4, then you must have Level 2 of Source-File 4 in order to use this function.

" + "This function will upgrade amount of RAM on the player's home computer. The cost is the same as if you were to do it manually.

" + @@ -1113,39 +1129,20 @@ let CONSTANTS = { "World Stock Exchange account and TIX API Access
", LatestUpdate: - "v0.34.2
" + - "-Corporation Management Changes:
" + - "---Added advertising mechanics
" + - "---Added Industry-specific purchases
" + - "---Re-designed employee management UI
" + - "---Rebalancing: Made many upgrades/purchases cheaper. Receive more money from investors in early stage. Company valuation is higher after going public
" + - "---Multiple bug fixes
" + - "-Added rm() Netscript function
" + - "-Updated the way script RAM usage is calculated. Now, a function only increases RAM usage the first time it is called. i.e. even if you call hack() multiple times in a script, it only counts against RAM usage once. The same change applies for while/for loops and if conditionals.
" + - "-The RAM cost of the following were increased:
" + - "---If statements: increased by 0.05GB
" + - "---run() and exec(): increased by 0.2GB
" + - "---scp(): increased by 0.1GB
" + - "---purchaseServer(): increased by 0.25GB
" + - "-Note: You may need to re-save all of your scripts in order to re-calculate their RAM usages. Otherwise, it should automatically be re-calculated when you reset/prestige
" + - "-The cost to upgrade your home computer's RAM has been increased (both the base cost and the exponential upgrade multiplier)
" + - "-The cost of purchasing a server was increased by 10% (it is now $55k per RAM)
" + - "-Bug fix: (Hopefully) removed an exploit where you could avoid RAM usage for Netscript function calls by assigning functions to a variable (foo = hack(); foo('helios');)
" + - "-Bug fix: (Hopefully) removed an exploit where you could run arbitrary Javascript code using the constructor() method
" + - "-Thanks to Github user mateon1 and Reddit users havoc_mayhem and spaceglace for notifying me of the above exploits
" + - "-The fileExists() Netscript function now works on text files (.txt). Thanks to Github user devoidfury for this

" + - "v0.34.3
" + - "-Minor balance changes to Corporations:
" + - "---Upgrades are generally cheaper and/or have more powerful effects.
" + - "---You will receive more funding while your are a private company.
" + - "---Product demand decreases at a slower rate.
" + - "---Production multiplier for Industries (receives for owning real estate/hardware/robots/etc.) is slightly higher
" + - "-Accessing the hacknetnodes array in Netscript now costs 4.0GB of RAM (only counts against RAM usage once)
" + - "-Bug Fix: Corporation oustanding shares should now be numeric rather than a string
" + - "-Bug Fix: Corporation production now properly calculated for industries that dont produce materials.
" + - "-Bug Fix: Gangs should now properly reset when switching BitNodes
" + - "-Bug Fix: Corporation UI should now properly reset when you go public
" - + "v0.34.4
" + + "-Added several new features to Gang UI to make it easier to manage your Gang.
" + + "-Changed the Gang Member upgrade mechanic. Now, rather than only being able to have " + + "one weapon/armor/vehicle/etc., you can purchase all the upgrades for each Gang member " + + "and their multipliers will stack. To balance this out, the effects (AKA multipliers) of each Gang member upgrade " + + "were reduced.
" + + "-Added a new script editor option: Max Error Count. This affects how many approximate lines the script editor will " + + "process (JSHint) for common errors. Increase this option can affect performance
" + + "-Game theme colors (set using 'theme' Terminal command) are now saved when re-opening the game
" + + "-'download' Terminal command now works on scripts
" + + "-Added stopAction() Singularity function and the spawn() Netscript function
" + + "-The 'Purchase Augmentations' UI screen will now tell you if you need a certain prerequisite for Augmentations.
" + + "-Augmentations with prerequisites can now be purchased as long as their prerequisites are puchased (" + + "before, you had to actually install the prerequisites before being able to purchase)
" } export {CONSTANTS}; diff --git a/src/Faction.js b/src/Faction.js index 64458222f..7487fa872 100644 --- a/src/Faction.js +++ b/src/Faction.js @@ -846,7 +846,12 @@ function displayFactionAugmentations(factionName) { var pElem = document.createElement("p"); aElem.setAttribute("href", "#"); var req = aug.baseRepRequirement * faction.augmentationRepRequirementMult; - if (aug.name != AugmentationNames.NeuroFluxGovernor && (aug.owned || owned)) { + var hasPrereqs = hasAugmentationPrereqs(aug); + if (!hasPrereqs) { + aElem.setAttribute("class", "a-link-button-inactive"); + pElem.innerHTML = "LOCKED (Requires " + aug.prereqs.join(",") + " as prerequisite(s))"; + pElem.style.color = "red"; + } else if (aug.name != AugmentationNames.NeuroFluxGovernor && (aug.owned || owned)) { aElem.setAttribute("class", "a-link-button-inactive"); pElem.innerHTML = "ALREADY OWNED"; } else if (faction.playerReputation >= req) { @@ -901,57 +906,38 @@ function purchaseAugmentationBoxCreate(aug, fac) { formatNumber(aug.baseCost * fac.augmentationPriceMult, 2) + "?"); } +//Returns a boolean indicating whether the player has the prerequisites for the +//specified Augmentation +function hasAugmentationPrereqs(aug) { + var hasPrereqs = true; + if (aug.prereqs && aug.prereqs.length > 0) { + for (var i = 0; i < aug.prereqs.length; ++i) { + var prereqAug = Augmentations[aug.prereqs[i]]; + if (prereqAug == null) { + console.log("ERROR: Invalid prereq Augmentation: " + aug.prereqs[i]); + continue; + } + if (prereqAug.owned === false) { + hasPrereqs = false; + + //Check if the aug is purchased + for (var j = 0; j < Player.queuedAugmentations.length; ++j) { + if (Player.queuedAugmentations[j].name === prereqAug.name) { + hasPrereqs = true; + break; + } + } + } + } + } + return hasPrereqs; +} + function purchaseAugmentation(aug, fac, sing=false) { - if (aug.name == AugmentationNames.Targeting2 && - Augmentations[AugmentationNames.Targeting1].owned == false) { - var txt = "You must first install Augmented Targeting I before you can upgrade it to Augmented Targeting II"; - if (sing) {return txt;} else {dialogBoxCreate(txt);} - } else if (aug.name == AugmentationNames.Targeting3 && - Augmentations[AugmentationNames.Targeting2].owned == false) { - var txt = "You must first install Augmented Targeting II before you can upgrade it to Augmented Targeting III"; - if (sing) {return txt;} else {dialogBoxCreate(txt);} - } else if (aug.name == AugmentationNames.CombatRib2 && - Augmentations[AugmentationNames.CombatRib1].owned == false) { - var txt = "You must first install Combat Rib I before you can upgrade it to Combat Rib II"; - if (sing) {return txt;} else {dialogBoxCreate(txt);} - } else if (aug.name == AugmentationNames.CombatRib3 && - Augmentations[AugmentationNames.CombatRib2].owned == false) { - var txt = "You must first install Combat Rib II before you can upgrade it to Combat Rib III"; - if (sing) {return txt;} else {dialogBoxCreate(txt);} - } else if (aug.name == AugmentationNames.GrapheneBionicSpine && - Augmentations[AugmentationNames.BionicSpine].owned == false) { - var txt = "You must first install a Bionic Spine before you can upgrade it to a Graphene Bionic Spine"; - if (sing) {return txt;} else {dialogBoxCreate(txt);} - } else if (aug.name == AugmentationNames.GrapheneBionicLegs && - Augmentations[AugmentationNames.BionicLegs].owned == false) { - var txt = "You must first install Bionic Legs before you can upgrade it to Graphene Bionic Legs"; - if (sing) {return txt;} else {dialogBoxCreate(txt);} - } else if (aug.name == AugmentationNames.ENMCoreV2 && - Augmentations[AugmentationNames.ENMCore].owned == false) { - var txt = "You must first install Embedded Netburner Module Core Implant before you can upgrade it to V2"; - if (sing) {return txt;} else {dialogBoxCreate(txt);} - } else if (aug.name == AugmentationNames.ENMCoreV3 && - Augmentations[AugmentationNames.ENMCoreV2].owned == false) { - var txt = "You must first install Embedded Netburner Module Core V2 Upgrade before you can upgrade it to V3"; - if (sing) {return txt;} else {dialogBoxCreate(txt);} - } else if ((aug.name == AugmentationNames.ENMCore || - aug.name == AugmentationNames.ENMAnalyzeEngine || - aug.name == AugmentationNames.ENMDMA) && - Augmentations[AugmentationNames.ENM].owned == false) { - var txt = "You must first install the Embedded Netburner Module before installing any upgrades to it"; - if (sing) {return txt;} else {dialogBoxCreate(txt);} - } else if ((aug.name == AugmentationNames.PCDNIOptimizer || - aug.name == AugmentationNames.PCDNINeuralNetwork) && - Augmentations[AugmentationNames.PCDNI].owned == false) { - var txt = "You must first install the Pc Direct-Neural Interface before installing this upgrade"; - if (sing) {return txt;} else {dialogBoxCreate(txt);} - } else if (aug.name == AugmentationNames.GrapheneBrachiBlades && - Augmentations[AugmentationNames.BrachiBlades].owned == false) { - var txt = "You must first install the Brachi Blades augmentation before installing this upgrade"; - if (sing) {return txt;} else {dialogBoxCreate(txt);} - } else if (aug.name == AugmentationNames.GrapheneBionicArms && - Augmentations[AugmentationNames.BionicArms].owned == false) { - var txt = "You must first install the Bionic Arms augmentation before installing this upgrade"; + var hasPrereqs = hasAugmentationPrereqs(aug); + if (!hasPrereqs) { + var txt = "You must first purchase or install " + aug.prereqs.join(",") + " before you can " + + "purchase this one."; if (sing) {return txt;} else {dialogBoxCreate(txt);} } else if (Player.money.gte(aug.baseCost * fac.augmentationPriceMult)) { if (Player.firstAugPurchased === false) { @@ -974,7 +960,8 @@ function purchaseAugmentation(aug, fac, sing=false) { var nextLevel = getNextNeurofluxLevel(); --nextLevel; var mult = Math.pow(CONSTANTS.NeuroFluxGovernorLevelMult, nextLevel); - aug.setRequirements(500 * mult, 750000 * mult); + aug.baseRepRequirement = 500 * mult * CONSTANTS.AugmentationRepMultiplier * BitNodeMultipliers.AugmentationRepCost; + aug.baseCost = 750e3 * mult * CONSTANTS.AugmentationCostMultiplier * BitNodeMultipliers.AugmentationMoneyCost; for (var i = 0; i < Player.queuedAugmentations.length-1; ++i) { aug.baseCost *= CONSTANTS.MultipleAugMultiplier; diff --git a/src/Gang.js b/src/Gang.js index 89ad524c0..ce293ac6f 100644 --- a/src/Gang.js +++ b/src/Gang.js @@ -8,7 +8,8 @@ import {Reviver, Generic_toJSON, Generic_fromJSON} from "../utils/JSONReviver.js"; import {getRandomInt, createElement, removeChildrenFromElement, - createAccordionElement} from "../utils/HelperFunctions.js"; + createAccordionElement, createPopup, + removeElementById, removeElement} from "../utils/HelperFunctions.js"; import numeral from "../utils/numeral.min.js"; import {formatNumber} from "../utils/StringHelperFunctions.js"; import {yesNoBoxCreate, yesNoTxtInpBoxCreate, @@ -21,13 +22,14 @@ import {yesNoBoxCreate, yesNoTxtInpBoxCreate, //Switch between territory and management screen with 1 and 2 $(document).keydown(function(event) { if (Engine.currentPage == Engine.Page.Gang && !yesNoBoxOpen) { + if (gangMemberFilter != null && gangMemberFilter === document.activeElement) {return;} if (event.keyCode === 49) { - if(document.getElementById("gang-territory-subpage").style.display === "block") { - document.getElementById("gang-management-subpage-button").click(); + if(gangTerritorySubpage.style.display === "block") { + managementButton.click(); } } else if (event.keyCode === 50) { - if (document.getElementById("gang-management-subpage").style.display === "block") { - document.getElementById("gang-territory-subpage-button").click(); + if (gangManagementSubpage.style.display === "block") { + territoryButton.click(); } } } @@ -35,15 +37,16 @@ $(document).keydown(function(event) { //Delete upgrade box when clicking outside $(document).mousedown(function(event) { + var boxId = "gang-member-upgrade-popup-box"; + var contentId = "gang-member-upgrade-popup-box-content"; if (gangMemberUpgradeBoxOpened) { - if ( $(event.target).closest("#gang-purchase-upgrade-container").get(0) == null ) { + if ( $(event.target).closest("#" + contentId).get(0) == null ) { //Delete the box - var container = document.getElementById("gang-purchase-upgrade-container"); - while(container.firstChild) { - container.removeChild(container.firstChild); - } - container.parentNode.removeChild(container); + removeElement(gangMemberUpgradeBox); + gangMemberUpgradeBox = null; + gangMemberUpgradeBoxContent = null; gangMemberUpgradeBoxOpened = false; + gangMemberUpgradeBoxElements = null; } } }); @@ -310,12 +313,6 @@ function GangMember(name) { this.task = GangMemberTasks["Unassigned"]; //GangMemberTask object this.city = Player.city; - //Name of upgrade only - this.weaponUpgrade = null; - this.armorUpgrade = null; - this.vehicleUpgrade = null; - this.hackingUpgrade = null; - this.hack = 1; this.str = 1; this.def = 1; @@ -363,7 +360,7 @@ GangMember.prototype.assignToTask = function(taskName) { if (GangMemberTasks.hasOwnProperty(taskName)) { this.task = GangMemberTasks[taskName]; } else { - console.log("ERROR: Invalid task " + taskName); + this.task = GangMemberTasks["Unassigned"]; this.task = null; } } @@ -490,7 +487,7 @@ Reviver.constructors.GangMemberTask = GangMemberTask; //TODO Human trafficking and an equivalent hacking crime let GangMemberTasks = { - "Unassigned" : new GangMemebrTask( + "Unassigned" : new GangMemberTask( "Unassigned", "This gang member is currently idle"), "Ransomware" : new GangMemberTask( @@ -617,10 +614,11 @@ let GangMemberTasks = { } -function GangMemberUpgrade(name="", desc="", cost=0) { +function GangMemberUpgrade(name="", desc="", cost=0, type="w") { this.name = name; this.desc = desc; this.cost = cost; + this.type = type; //w, a, v, r } //Passes in a GangMember object @@ -641,7 +639,7 @@ GangMemberUpgrade.prototype.apply = function(member) { member.dex_mult *= 1.15; member.agi_mult *= 1.15; break; - case "P90": + case "P90C": member.str_mult *= 1.2; member.def_mult *= 1.2; member.agi_mult *= 1.1; @@ -674,7 +672,7 @@ GangMemberUpgrade.prototype.apply = function(member) { member.agi_mult *= 1.25; break; case "Graphene Plating Armor": - member.def_mult *= 5; + member.def_mult *= 1.5; break; case "Ford Flex V20": member.agi_mult *= 1.1; @@ -707,49 +705,6 @@ GangMemberUpgrade.prototype.apply = function(member) { } } -//Purchases for given member -GangMemberUpgrade.prototype.purchase = function(memberObj) { - if (Player.money.lt(this.cost)) { - dialogBoxCreate("You do not have enough money to purchase this upgrade"); - return; - } - Player.loseMoney(this.cost); - switch (this.type) { - case "w": - if (memberObj.weaponUpgrade instanceof GangMemberUpgrade) { - memberObj.weaponUpgrade.apply(memberObj, true); //Unapply old upgrade - } - this.apply(memberObj, false); - memberObj.weaponUpgrade = this; - break; - case "a": - if (memberObj.armorUpgrade instanceof GangMemberUpgrade) { - memberObj.armorUpgrade.apply(memberObj, true); //Unapply old upgrade - } - this.apply(memberObj, false); - memberObj.armorUpgrade = this; - break; - case "v": - if (memberObj.vehicleUpgrade instanceof GangMemberUpgrade) { - memberObj.vehicleUpgrade.apply(memberObj, true); //Unapply old upgrade - } - this.apply(memberObj, false); - memberObj.vehicleUpgrade = this; - break; - case "r": - if (memberObj.hackingUpgrade instanceof GangMemberUpgrade) { - memberObj.hackingUpgrade.apply(memberObj, true); //Unapply old upgrade - } - this.apply(memberObj, false); - memberObj.hackingUpgrade = this; - break; - default: - console.log("ERROR: GangMemberUpgrade has invalid type: " + this.type); - break; - } - createGangMemberUpgradeBox(memberObj); -} - GangMemberUpgrade.prototype.toJSON = function() { return Generic_toJSON("GangMemberUpgrade", this); } @@ -762,166 +717,203 @@ Reviver.constructors.GangMemberUpgrade = GangMemberUpgrade; let GangMemberUpgrades = { "Baseball Bat" : new GangMemberUpgrade("Baseball Bat", - "Increases strength and defense by 5%", 1e6), + "Increases strength and defense by 5%", 1e6, "w"), "Katana" : new GangMemberUpgrade("Katana", - "Increases strength, defense, and dexterity by 10%", 12e6), + "Increases strength, defense, and dexterity by 10%", 12e6, "w"), "Glock 18C" : new GangMemberUpgrade("Glock 18C", - "Increases strength, defense, dexterity, and agility by 15%", 25e6), - "P90" : new GangMemberUpgrade("P90C", - "Increases strength and defense by 20%. Increases agility by 10%", 50e6), + "Increases strength, defense, dexterity, and agility by 15%", 25e6, "w"), + "P90C" : new GangMemberUpgrade("P90C", + "Increases strength and defense by 20%. Increases agility by 10%", 50e6, "w"), "Steyr AUG" : new GangMemberUpgrade("Steyr AUG", - "Increases strength and defense by 25%", 60e6), + "Increases strength and defense by 25%", 60e6, "w"), "AK-47" : new GangMemberUpgrade("AK-47", - "Increases strength and defense by 50%", 100e6), + "Increases strength and defense by 50%", 100e6, "w"), "M15A10 Assault Rifle" : new GangMemberUpgrade("M15A10 Assault Rifle", - "Increases strength and defense by 60%", 150e6), + "Increases strength and defense by 60%", 150e6, "w"), "AWM Sniper Rifle" : new GangMemberUpgrade("AWM Sniper Rifle", - "Increases strength, dexterity, and agility by 50%", 225e6), + "Increases strength, dexterity, and agility by 50%", 225e6, "w"), "Bulletproof Vest" : new GangMemberUpgrade("Bulletproof Vest", - "Increases defense by 5%", 2e6), + "Increases defense by 5%", 2e6, "a"), "Full Body Armor" : new GangMemberUpgrade("Full Body Armor", - "Increases defense by 10%", 5e6), + "Increases defense by 10%", 5e6, "a"), "Liquid Body Armor" : new GangMemberUpgrade("Liquid Body Armor", - "Increases defense and agility by 25%", 25e6), + "Increases defense and agility by 25%", 25e6, "a"), "Graphene Plating Armor" : new GangMemberUpgrade("Graphene Plating Armor", - "Increases defense by 50%", 40e6), + "Increases defense by 50%", 40e6, "a"), "Ford Flex V20" : new GangMemberUpgrade("Ford Flex V20", - "Increases agility and charisma by 10%", 3e6), + "Increases agility and charisma by 10%", 3e6, "v"), "ATX1070 Superbike" : new GangMemberUpgrade("ATX1070 Superbike", - "Increases agility and charisma by 15%", 9e6), + "Increases agility and charisma by 15%", 9e6, "v"), "Mercedes-Benz S9001" : new GangMemberUpgrade("Mercedes-Benz S9001", - "Increases agility and charisma by 20%", 18e6), + "Increases agility and charisma by 20%", 18e6, "v"), "White Ferrari" : new GangMemberUpgrade("White Ferrari", - "Increases agility and charisma by 25%", 30e6), + "Increases agility and charisma by 25%", 30e6, "v"), "NUKE Rootkit" : new GangMemberUpgrade("NUKE Rootkit", - "Increases hacking by 10%", 5e6), + "Increases hacking by 10%", 5e6, "r"), "Soulstealer Rootkit" : new GangMemberUpgrade("Soulstealer Rootkit", - "Increases hacking by 20%", 15e6), + "Increases hacking by 20%", 15e6, "r"), "Demon Rootkit" : new GangMemberUpgrade("Demon Rootkit", - "Increases hacking by 30%", 50e6), + "Increases hacking by 30%", 50e6, "r"), } //Create a pop-up box that lets player purchase upgrades let gangMemberUpgradeBoxOpened = false; -function createGangMemberUpgradeBox(memberObj) { - console.log("Creating gang member upgrade box for " + memberObj.name); - var container = document.getElementById("gang-purchase-upgrade-container"); - if (container) { - while (container.firstChild) { - container.removeChild(container.firstChild); +function createGangMemberUpgradeBox(initialFilter="") { + var boxId = "gang-member-upgrade-popup-box"; + if (gangMemberUpgradeBoxOpened) { + //Already opened, refreshing + if (gangMemberUpgradeBoxElements == null || gangMemberUpgradeBox == null || gangMemberUpgradeBoxContent == null) { + console.log("ERROR: Refreshing Gang member upgrade box throws error because required elements are null"); + return; + } + + for (var i = 1; i < gangMemberUpgradeBoxElements.length; ++i) { + removeElement(gangMemberUpgradeBoxElements[i]); + } + gangMemberUpgradeBoxElements = [gangMemberUpgradeBoxFilter]; + + var filter = gangMemberUpgradeBoxFilter.value.toString(); + for (var i = 0; i < Player.gang.members.length; ++i) { + if (Player.gang.members[i].name.indexOf(filter) > -1 || Player.gang.members[i].task.name.indexOf(filter) > -1) { + var newPanel = createGangMemberUpgradePanel(Player.gang.members[i]); + gangMemberUpgradeBoxContent.appendChild(newPanel); + gangMemberUpgradeBoxElements.push(newPanel); + } } } else { - var container = document.createElement("div"); - container.setAttribute("id", "gang-purchase-upgrade-container"); - document.getElementById("entire-game-container").appendChild(container); - container.setAttribute("class", "dialog-box-container"); - container.style.display = "block"; + //New popup + gangMemberUpgradeBoxFilter = createElement("input", { + type:"text", placeholder:"Filter gang members", + value:initialFilter, + onkeyup:()=>{ + var filterValue = gangMemberUpgradeBoxFilter.value.toString(); + createGangMemberUpgradeBox(filterValue); + } + }); + + gangMemberUpgradeBoxElements = [gangMemberUpgradeBoxFilter]; + + var filter = gangMemberUpgradeBoxFilter.value.toString(); + for (var i = 0; i < Player.gang.members.length; ++i) { + if (Player.gang.members[i].name.indexOf(filter) > -1 || Player.gang.members[i].task.name.indexOf(filter) > -1) { + gangMemberUpgradeBoxElements.push(createGangMemberUpgradePanel(Player.gang.members[i])); + } + } + + gangMemberUpgradeBox = createPopup(boxId, gangMemberUpgradeBoxElements); + gangMemberUpgradeBoxContent = document.getElementById(boxId + "-content"); + gangMemberUpgradeBoxOpened = true; } - - var content = document.createElement("div"); - content.setAttribute("class", "dialog-box-content"); - content.setAttribute("id", "gang-purchase-upgrade-content"); - container.appendChild(content); - - var intro = document.createElement("p"); - content.appendChild(intro); - intro.innerHTML = - memberObj.name + "

" + - "A gang member can be upgraded with a weapon, armor, a vehicle, and a hacking rootkit. " + - "For each of these pieces of equipment, a gang member can only have one at a time (i.e " + - "a member cannot have two weapons or two vehicles). Purchasing an upgrade will automatically " + - "replace the member's existing upgrade, if he/she is equipped with one. The existing upgrade " + - "will be lost and will have to be re-purchased if you want to switch back.

"; - - //Weapons - var weaponTxt = document.createElement("p"); - weaponTxt.style.display = "block"; - content.appendChild(weaponTxt); - if (memberObj.weaponUpgrade instanceof GangMemberUpgrade) { - weaponTxt.innerHTML = "Weapons (Current Equip: " + memberObj.weaponUpgrade.name + ")"; - } else { - weaponTxt.innerHTML = "Weapons (Current Equip: NONE)"; - } - var weaponNames = ["Baseball Bat", "Katana", "Glock 18C", "P90", "Steyr AUG", - "AK-47", "M15A10 Assault Rifle", "AWM Sniper Rifle"]; - createGangMemberUpgradeButtons(memberObj, weaponNames, memberObj.weaponUpgrade, content); - content.appendChild(document.createElement("br")); - - var armorTxt = document.createElement("p"); - armorTxt.style.display = "block"; - content.appendChild(armorTxt); - if (memberObj.armorUpgrade instanceof GangMemberUpgrade) { - armorTxt.innerHTML = "Armor (Current Equip: " + memberObj.armorUpgrade.name + ")"; - } else { - armorTxt.innerHTML = "Armor (Current Equip: NONE)"; - } - var armorNames = ["Bulletproof Vest", "Full Body Armor", "Liquid Body Armor", - "Graphene Plating Armor"]; - createGangMemberUpgradeButtons(memberObj, armorNames, memberObj.armorUpgrade, content); - - var vehicleTxt = document.createElement("p"); - vehicleTxt.style.display = "block"; - content.appendChild(vehicleTxt); - if (memberObj.vehicleUpgrade instanceof GangMemberUpgrade) { - vehicleTxt.innerHTML = "Vehicles (Current Equip: " + memberObj.vehicleUpgrade.name + ")"; - } else { - vehicleTxt.innerHTML = "Vehicles (Current Equip: NONE)"; - } - var vehicleNames = ["Ford Flex V20", "ATX1070 Superbike", "Mercedes-Benz S9001", - "White Ferrari"]; - createGangMemberUpgradeButtons(memberObj, vehicleNames, memberObj.vehicleUpgrade, content); - - var rootkitTxt = document.createElement("p"); - rootkitTxt.style.display = "block"; - content.appendChild(rootkitTxt); - if (memberObj.hackingUpgrade instanceof GangMemberUpgrade) { - rootkitTxt.innerHTML = "Rootkits (Current Equip: " + memberObj.hackingUpgrade.name + ")"; - } else { - rootkitTxt.innerHTML = "Rootkits (Current Equip: NONE)"; - } - var rootkitNames = ["NUKE Rootkit", "Soulstealer Rootkit", "Demon Rootkit"]; - createGangMemberUpgradeButtons(memberObj, rootkitNames, memberObj.hackingUpgrade, content); - - gangMemberUpgradeBoxOpened = true; } -function createGangMemberUpgradeButtons(memberObj, upgNames, memberUpgrade, content) { - for (var i = 0; i < upgNames.length; ++i) { - (function() { - var upgrade = GangMemberUpgrades[upgNames[i]]; - if (upgrade == null) { - console.log("ERROR: Could not find GangMemberUpgrade object for" + upgNames[i]); - return; //Return inside closure +//Create upgrade panels for each individual Gang Member +function createGangMemberUpgradePanel(memberObj) { + var container = createElement("div", { + border:"1px solid white", + }); + + var header = createElement("h1", { + innerText:memberObj.name + " (" + memberObj.task.name + ")" + }); + container.appendChild(header); + + var text = createElement("pre", { + fontSize:"14px", display: "inline-block", width:"20%", + innerText: + "Hack: " + memberObj.hack + " (x" + formatNumber(memberObj.hack_mult, 2) + ")\n" + + "Str: " + memberObj.str + " (x" + formatNumber(memberObj.str_mult, 2) + ")\n" + + "Def: " + memberObj.def + " (x" + formatNumber(memberObj.def_mult, 2) + ")\n" + + "Dex: " + memberObj.dex + " (x" + formatNumber(memberObj.dex_mult, 2) + ")\n" + + "Agi: " + memberObj.agi + " (x" + formatNumber(memberObj.agi_mult, 2) + ")\n" + + "Cha: " + memberObj.cha + " (x" + formatNumber(memberObj.cha_mult, 2) + ")\n", + }); + + //Already purchased upgrades + var ownedUpgradesElements = []; + for (var i = 0; i < memberObj.upgrades.length; ++i) { + var upg = GangMemberUpgrades[memberObj.upgrades[i]]; + if (upg == null) { + console.log("ERR: Could not find this upgrade: " + memberObj.upgrades[i]); + continue; } - //Skip the currently owned upgrade - if (memberUpgrade instanceof GangMemberUpgrade && - memberUpgrade.name == upgrade.name) {return;} - - //Create button - var btn = document.createElement("a"); - btn.innerHTML = upgrade.name + " - $" + numeral(upgrade.cost).format('(0.00a)'); - if (Player.money.gte(upgrade.cost)) { - btn.setAttribute("class", "popup-box-button tooltip") - } else { - btn.setAttribute("class", "popup-box-button-inactive tooltip"); - } - btn.style.cssFloat = "none"; - btn.style.display = "block"; - btn.style.margin = "8px"; - btn.style.width = "40%"; - - //Tooltip for upgrade - var tooltip = document.createElement("span"); - tooltip.setAttribute("class", "tooltiptext"); - tooltip.innerHTML = upgrade.desc; - btn.appendChild(tooltip); - - content.appendChild(btn); - btn.addEventListener("click", function() { - upgrade.purchase(memberObj); + var e = createElement("div", { + border:"1px solid white", innerText:memberObj.upgrades[i], + margin:"1px", padding:"1px", tooltip:upg.desc, fontSize:"12px", }); - }()); // Immediate invocation + ownedUpgradesElements.push(e); } + var ownedUpgrades = createElement("div", { + display:"inline-block", marginLeft:"6px", width:"75%", innerText:"Purchased Upgrades:", + }); + for (var i = 0; i < ownedUpgradesElements.length; ++i) { + ownedUpgrades.appendChild(ownedUpgradesElements[i]); + } + container.appendChild(text); + container.appendChild(ownedUpgrades); + container.appendChild(createElement("br", {})); + + //Upgrade buttons. Only show upgrades that can be afforded + var weaponUpgrades = [], armorUpgrades = [], vehicleUpgrades = [], rootkitUpgrades = []; + for (var upgName in GangMemberUpgrades) { + if (GangMemberUpgrades.hasOwnProperty(upgName)) { + var upg = GangMemberUpgrades[upgName]; + if (Player.money.lt(upg.cost) || memberObj.upgrades.includes(upgName)) {continue;} + switch (upg.type) { + case "w": + weaponUpgrades.push(upg); + break; + case "a": + armorUpgrades.push(upg); + break; + case "v": + vehicleUpgrades.push(upg); + break; + case "r": + rootkitUpgrades.push(upg); + break; + default: + console.log("ERROR: Invalid Gang Member Upgrade Type: " + upg.type); + } + } + } + + var weaponDiv = createElement("div", {width:"20%", display:"inline-block",}); + var armorDiv = createElement("div", {width:"20%", display:"inline-block",}); + var vehicleDiv = createElement("div", {width:"20%", display:"inline-block",}); + var rootkitDiv = createElement("div", {width:"20%", display:"inline-block",}); + var upgrades = [weaponUpgrades, armorUpgrades, vehicleUpgrades, rootkitUpgrades]; + var divs = [weaponDiv, armorDiv, vehicleDiv, rootkitDiv]; + + for (var i = 0; i < upgrades.length; ++i) { + var upgradeArray = upgrades[i]; + var div = divs[i]; + for (var j = 0; j < upgradeArray.length; ++j) { + var upg = upgradeArray[j]; + (function (upg, div, memberObj) { + div.appendChild(createElement("a", { + innerText:upg.name + " - " + numeral(upg.cost).format("$0.000a"), + class:"a-link-button", margin:"2px", padding:"2px", display:"block", + fontSize:"12px", + tooltip:upg.desc, + clickListener:()=>{ + if (Player.money.lt(upg.cost)) {return false;} + Player.loseMoney(upg.cost); + memberObj.upgrades.push(upg.name); + upg.apply(memberObj); + var initFilterValue = gangMemberUpgradeBoxFilter.value.toString(); + createGangMemberUpgradeBox(initFilterValue); + return false; + } + })); + })(upg, div, memberObj); + } + } + + container.appendChild(weaponDiv); + container.appendChild(armorDiv); + container.appendChild(vehicleDiv); + container.appendChild(rootkitDiv); + return container; } //Gang DOM elements @@ -935,8 +927,13 @@ let gangManagementSubpage = null, gangTerritorySubpage = null; let gangDesc = null, gangInfo = null, gangRecruitMemberButton = null, gangRecruitRequirementText = null, gangExpandAllButton = null, gangCollapseAllButton, gangMemberFilter = null, + gangManageEquipmentButton = null, gangMemberList = null; +//Gang Equipment Upgrade Elements +let gangMemberUpgradeBox = null, gangMemberUpgradeBoxContent = null, + gangMemberUpgradeBoxFilter = null, gangMemberUpgradeBoxElements = null; + //Gang Territory Elements let gangTerritoryDescText = null, gangTerritoryInfoText = null; @@ -1051,7 +1048,7 @@ function displayGangContent() { return false; } }); - gangManagementSubpage.appendChild(recruitGangMemberBtn); + gangManagementSubpage.appendChild(gangRecruitMemberButton); //Text for how much reputation is required for recruiting next memberList gangRecruitRequirementText = createElement("p", {color:"red", id:"gang-recruit-requirement-text"}); @@ -1060,38 +1057,50 @@ function displayGangContent() { //Gang Member List management buttons (Expand/Collapse All, select a single member) gangManagementSubpage.appendChild(createElement("br", {})); gangExpandAllButton = createElement("a", { - class:"a-link-button", display:"inline-block", margin:"4px", padding:"2px", + class:"a-link-button", display:"inline-block", innerHTML:"Expand All", clickListener:()=>{ var allHeaders = gangManagementSubpage.getElementsByClassName("accordion-header"); - allHeaders.forEach((hdr)=>{ + for (var i = 0; i < allHeaders.length; ++i) { + var hdr = allHeaders[i]; if (!hdr.classList.contains("active")) { hdr.click(); } - }) + } + return false; } }); gangCollapseAllButton = createElement("a", { - class:"a-link-button", display:"inline-block", margin:"4px", padding:"2px", + class:"a-link-button", display:"inline-block", innerHTML:"Collapse All", clickListener:()=>{ var allHeaders = gangManagementSubpage.getElementsByClassName("accordion-header"); - allHeaders.forEach((hdr)=>{ + for (var i = 0; i < allHeaders.length; ++i) { + var hdr = allHeaders[i]; if (hdr.classList.contains("active")) { hdr.click(); } - }) + } + return false; } }); gangMemberFilter = createElement("input", { - type:"text", placeholder:"Filter gang members", + type:"text", placeholder:"Filter gang members", margin:"5px", padding:"5px", onkeyup:()=>{ displayGangMemberList(); } }); + gangManageEquipmentButton = createElement("a", { + class:"a-link-button", display:"inline-block", + innerHTML:"Manage Equipment", + clickListener:()=>{ + createGangMemberUpgradeBox(); + } + }); gangManagementSubpage.appendChild(gangExpandAllButton); gangManagementSubpage.appendChild(gangCollapseAllButton); gangManagementSubpage.appendChild(gangMemberFilter); + gangManagementSubpage.appendChild(gangManageEquipmentButton); //Gang Member list gangMemberList = createElement("ul", {id:"gang-member-list"}); @@ -1125,7 +1134,7 @@ function displayGangContent() { territoryBorder.appendChild(gangTerritoryInfoText); gangTerritorySubpage.appendChild(territoryBorder); - gangContainer.appendChild(territorySubpage); + gangContainer.appendChild(gangTerritorySubpage); gangContainer.appendChild(gangManagementSubpage); document.getElementById("entire-game-container").appendChild(gangContainer); } @@ -1135,9 +1144,10 @@ function displayGangContent() { function displayGangMemberList() { removeChildrenFromElement(gangMemberList); + var members = Player.gang.members; var filter = gangMemberFilter.value.toString(); for (var i = 0; i < members.length; ++i) { - if (members[i].name.indexOf(filter) > -1) { + if (members[i].name.indexOf(filter) > -1 || members[i].task.name.indexOf(filter) > -1) { createGangMemberDisplayElement(members[i]); } } @@ -1152,19 +1162,19 @@ function updateGangContent() { gangTerritoryInfoText.innerHTML = ""; for (var gangname in AllGangs) { if (AllGangs.hasOwnProperty(gangname)) { - var gangInfo = AllGangs[gangname]; + var gangTerritoryInfo = AllGangs[gangname]; if (gangname == Player.gang.facName) { - gangTerritoryInfoText.innerHTML += ("" + gangname + "
(Power: " + formatNumber(gangInfo.power, 6) + "): " + - formatNumber(100*gangInfo.territory, 2) + "%

"); + gangTerritoryInfoText.innerHTML += ("" + gangname + "
(Power: " + formatNumber(gangTerritoryInfo.power, 6) + "): " + + formatNumber(100*gangTerritoryInfo.territory, 2) + "%

"); } else { - gangTerritoryInfoText.innerHTML += (gangname + "
(Power: " + formatNumber(gangInfo.power, 6) + "): " + - formatNumber(100*gangInfo.territory, 2) + "%

"); + gangTerritoryInfoText.innerHTML += (gangname + "
(Power: " + formatNumber(gangTerritoryInfo.power, 6) + "): " + + formatNumber(100*gangTerritoryInfo.territory, 2) + "%

"); } } } } else { //Update information for overall gang - if (gangInfo) { + if (gangInfo instanceof Element) { var faction = Factions[Player.gang.facName]; var rep; if (!(faction instanceof Faction)) { @@ -1174,7 +1184,7 @@ function updateGangContent() { } removeChildrenFromElement(gangInfo); gangInfo.appendChild(createElement("p", { //Respect - display:"block", + display:"inline-block", innerText:"Respect: " + formatNumber(Player.gang.respect, 6) + " (" + formatNumber(5*Player.gang.respectGainRate, 6) + " / sec)", tooltip:"Represents the amount of respect your gang has from other gangs and criminal " + @@ -1182,38 +1192,47 @@ function updateGangContent() { "your gang members will earn, and also determines how much " + "reputation you are earning with your gang's corresponding Faction." })); + gangInfo.appendChild(createElement("br", {})); + gangInfo.appendChild(createElement("p", { //Wanted level - display:"block", + display:"inline-block", innerText:"Wanted Level: " + formatNumber(Player.gang.wanted, 6) + " (" + formatNumber(5*Player.gang.wantedGainRate, 6) + " / sec)", tooltip:"Represents how much the gang is wanted by law enforcement. The higher " + "your gang's wanted level, the harder it will be for your gang members " + "to make money and earn respect. Note that the minimum wanted level is 1." })); + gangInfo.appendChild(createElement("br", {})); var wantedPenalty = (Player.gang.respect) / (Player.gang.respect + Player.gang.wanted); wantedPenalty = (1 - wantedPenalty) * 100; gangInfo.appendChild(createElement("p", { //Wanted Level multiplier - display:"block", + display:"inline-block", innerText:"Wanted Level Penalty: -" + formatNumber(wantedPenalty, 2) + "%", tooltip:"Penalty for respect and money gain rates due to Wanted Level" })); + gangInfo.appendChild(createElement("br", {})); + gangInfo.appendChild(createElement("p", { //Money gain rate - display:"block", + display:"inline-block", innerText:"Money gain rate: $" + formatNumber(5*Player.gang.moneyGainRate, 2) + " / sec", })); + gangInfo.appendChild(createElement("br", {})); var territoryMult = AllGangs[Player.gang.facName].territory; gangInfo.appendChild(createElement("p", { //Territory multiplier - display:"block", - innerText:"Territory: " + formatNumber(territoryMult * 100, 3), + display:"inline-block", + innerText:"Territory: " + formatNumber(territoryMult * 100, 3) + "%", tooltip:"The percentage of total territory your Gang controls" })); + gangInfo.appendChild(createElement("br", {})); + gangInfo.appendChild(createElement("p", { //Faction reputation - display:"block", + display:"inline-block", innerText:"Faction reputation: " + formatNumber(rep, 3) })); + gangInfo.appendChild(createElement("br", {})); } else { console.log("ERROR: gang-info DOM element DNE"); } @@ -1252,29 +1271,6 @@ function updateGangContent() { } } -/* -function setGangMemberClickHandlers() { - //Server panel click handlers - var gangMemberHdrs = document.getElementsByClassName("gang-member-header"); - if (gangMemberHdrs == null) { - console.log("ERROR: Could not find Gang Member Headers"); - return; - } - for (let i = 0; i < gangMemberHdrs.length; ++i) { - gangMemberHdrs[i].onclick = function() { - this.classList.toggle("active"); - - var panel = this.nextElementSibling; - if (panel.style.display === "block") { - panel.style.display = "none"; - } else { - panel.style.display = "block"; - } - } - } -} -*/ - //Takes in a GangMember object function createGangMemberDisplayElement(memberObj) { if (!gangContentCreated || !Player.inGang()) {return;} @@ -1285,20 +1281,8 @@ function createGangMemberDisplayElement(memberObj) { hdrText:name, }); var li = accordion[0]; - var hdr = accordion[2]; - var gangMemberDiv = accordion[3]; - /* - var li = document.createElement("li"); - - var hdr = document.createElement("button"); - hdr.setAttribute("class", "gang-member-header"); - hdr.setAttribute("id", name + "-gang-member-hdr"); - hdr.innerHTML = name; - - //Div for entire panel - var gangMemberDiv = document.createElement("div"); - gangMemberDiv.setAttribute("class", "gang-member-panel"); - */ + var hdr = accordion[1]; + var gangMemberDiv = accordion[2]; //Gang member content divided into 3 panels: //Stats Panel @@ -1310,22 +1294,6 @@ function createGangMemberDisplayElement(memberObj) { id:name + "gang-member-stats-text", display:"inline" }); - /* - var statsDiv = document.createElement("div"); - statsDiv.setAttribute("id", ); - statsDiv.setAttribute("class", "gang-member-info-div"); - var statsP = document.createElement("p"); - statsP.setAttribute("id", name + "gang-member-stats-text"); - statsP.style.display = "inline"; - var upgradeButton = document.createElement("a"); - upgradeButton.setAttribute("id", name + "gang-member-upgrade-btn"); - upgradeButton.setAttribute("class", "popup-box-button"); - upgradeButton.style.cssFloat = "left"; - upgradeButton.innerHTML = "Purchase Upgrades"; - upgradeButton.addEventListener("click", function() { - createGangMemberUpgradeBox(memberObj); - }); - */ statsDiv.appendChild(statsP); //statsDiv.appendChild(upgradeButton); @@ -1338,15 +1306,7 @@ function createGangMemberDisplayElement(memberObj) { color:"white", backgroundColor:"black", id:name + "gang-member-task-selector" }); - /* - var taskDiv = document.createElement("div"); - taskDiv.setAttribute("id", name + "gang-member-task"); - taskDiv.setAttribute("class", "gang-member-info-div"); - var taskSelector = document.createElement("select"); - taskSelector.style.color = "white"; - taskSelector.style.backgroundColor = "black"; - taskSelector.setAttribute("id", name + "gang-member-task-selector"); - */ + var tasks = null; if (Player.gang.isHackingGang) { tasks = ["---", "Ransomware", "Phishing", "Identity Theft", "DDoS Attacks", @@ -1384,8 +1344,6 @@ function createGangMemberDisplayElement(memberObj) { } var gainInfo = createElement("p", {id:name + "gang-member-gain-info"}); - /*var gainInfo = document.createElement("p"); //Wanted, respect, reputation, and money gain - gainInfo.setAttribute("id", name + "gang-member-gain-info");*/ taskDiv.appendChild(taskSelector); taskDiv.appendChild(gainInfo); @@ -1394,18 +1352,8 @@ function createGangMemberDisplayElement(memberObj) { id:name + "gang-member-task-desc", class:"gang-member-info-div", width:"30%", display:"inline" }); - /* - var taskDescDiv = document.createElement("div"); - taskDescDiv.setAttribute("id", name + "gang-member-task-desc"); - taskDescDiv.setAttribute("class", "gang-member-info-div"); - */ var taskDescP = createElement("p", {id: name + "gang-member-task-description", display:"inline"}); - /* - var taskDescP = document.createElement("p"); - taskDescP.setAttribute("id", name + "gang-member-task-description"); - taskDescP.style.display = "inline"; - */ taskDescDiv.appendChild(taskDescP); statsDiv.style.width = "30%"; @@ -1418,12 +1366,8 @@ function createGangMemberDisplayElement(memberObj) { gangMemberDiv.appendChild(taskDiv); gangMemberDiv.appendChild(taskDescDiv); - //li.appendChild(hdr); - //li.appendChild(gangMemberDiv); - - document.getElementById("gang-member-list").appendChild(li); + gangMemberList.appendChild(li); setGangMemberTaskDescription(memberObj, taskName); //Initialize description - setGangMemberClickHandlers(); //Reset click handlers updateGangMemberDisplayElement(memberObj); } diff --git a/src/HelpText.js b/src/HelpText.js index ca18eacae..62d490058 100644 --- a/src/HelpText.js +++ b/src/HelpText.js @@ -9,7 +9,7 @@ let TerminalHelpText = "clear Clear all text on the terminal
" + "cls See 'clear' command
" + "connect [ip/hostname] Connects to a remote server
" + - "download [text file] Downloads a text (.txt) file to your computer
" + + "download [script/text file] Downloads a script or text file to your computer
" + "free Check the machine's memory (RAM) usage
" + "hack Hack the current machine
" + "help [command] Display this help text, or the help text for a command
" + @@ -86,9 +86,8 @@ let HelpTexts = { "Connect to a remote server. The hostname or IP address of the remote server must be given as the argument " + "to this command. Note that only servers that are immediately adjacent to the current server in the network can be connected to. To " + "see which servers can be connected to, use the 'scan' command.", - download: "download [text file]
" + - "Downloads a text file to your computer (like your real life computer). Only works on text files, " + - "which are the ones with a .txt extension.", + download: "download [script/text file]
" + + "Downloads a script or text file to your computer (like your real life computer).", free: "free
" + "Display's the memory usage on the current machine. Print the amount of RAM that is available on the current server as well as " + "how much of it is being used.", diff --git a/src/NetscriptFunctions.js b/src/NetscriptFunctions.js index 04da98c3c..9fde02dae 100644 --- a/src/NetscriptFunctions.js +++ b/src/NetscriptFunctions.js @@ -559,6 +559,24 @@ function NetscriptFunctions(workerScript) { } return runScriptFromScript(server, scriptname, argsForNewScript, workerScript, threads); }, + spawn : function(scriptname, threads) { + if (workerScript.checkingRam) { + if (workerScript.loadedFns.spawn) { + return 0; + } else { + workerScript.loadedFns.spawn = true; + return CONSTANTS.ScriptSpawnRamCost; + } + } + if (scriptname == null || threads == 1) { + throw makeRuntimeRejectMsg(workerScript, "Invalid scriptname or numThreads argument passed to spawn()"); + } + setTimeout(()=>{ + NetscriptFunctions(workerScript).run.apply(this, arguments); + }, 20000); + workerScript.scriptRef.log("spawn() will execute " + scriptname + " in 20 seconds"); + NetscriptFunctions(workerScript).exit(); + }, kill : function(filename,ip) { if (workerScript.checkingRam) { if (workerScript.loadedFns.kill) { @@ -2398,6 +2416,24 @@ function NetscriptFunctions(workerScript) { } return Player.isWorking; }, + stopAction : function() { + if (workerScript.checkingRam) { + if (workerScript.loadedFns.stopAction) { + return 0; + } else { + workerScript.loadedFns.stopAction = true; + var ramCost = CONSTANTS.ScriptSingularityFn1RamCost; + if (Player.bitNodeN !== 4) {ramCost *= 10;} + return ramCost; + } + } + if (Player.isWorking) { + var txt = Player.singularityStopWork(); + workerScript.scriptRef.log(txt); + return true; + } + return false; + }, upgradeHomeRam() { if (workerScript.checkingRam) { if (workerScript.loadedFns.upgradeHomeRam) { diff --git a/src/Script.js b/src/Script.js index d8b42ae2c..2cdb50c4a 100644 --- a/src/Script.js +++ b/src/Script.js @@ -128,6 +128,15 @@ function scriptEditorInit() { editor.getSession().setUseSoftTabs(softTabChkBox.checked); }; + //Jshint Maxerr + var maxerr = document.getElementById("script-editor-option-maxerr"); + var maxerrLabel = document.getElementById("script-editor-option-maxerror-value-label"); + maxerrLabel.innerHTML = maxerr.value; + maxerr.onchange = function() { + editor.getSession().$worker.send("changeOptions", [{maxerr:maxerr.value}]); + maxerrLabel.innerHTML = maxerr.value; + } + //Configure some of the VIM keybindings ace.config.loadModule('ace/keyboard/vim', function(module) { var VimApi = module.CodeMirror.Vim; @@ -367,6 +376,25 @@ function calculateRamUsage(codeCopy) { return ramUsage; } +Script.prototype.download = function() { + var filename = this.filename; + var file = new Blob([this.code], {type: 'text/plain'}); + if (window.navigator.msSaveOrOpenBlob) {// IE10+ + window.navigator.msSaveOrOpenBlob(file, filename); + } else { // Others + var a = document.createElement("a"), + url = URL.createObjectURL(file); + a.href = url; + a.download = this.filename; + document.body.appendChild(a); + a.click(); + setTimeout(function() { + document.body.removeChild(a); + window.URL.revokeObjectURL(url); + }, 0); + } +} + Script.prototype.toJSON = function() { return Generic_toJSON("Script", this); } diff --git a/src/Settings.js b/src/Settings.js index c4d7e450d..69ef2751f 100644 --- a/src/Settings.js +++ b/src/Settings.js @@ -8,6 +8,9 @@ let Settings = { SuppressMessages: false, SuppressFactionInvites: false, AutosaveInterval: 60, + ThemeHighlightColor: "#ffffff", + ThemeFontColor: "#66ff33", + ThemeBackgroundColor: "#000000", } function loadSettings(saveString) { @@ -81,6 +84,19 @@ function setSettingsLabels() { document.getElementById("settingsSuppressFactionInvites").onclick = function() { Settings.SuppressFactionInvites = this.checked; }; + + //Theme + if (Settings.ThemeHighlightColor == null || Settings.ThemeFontColor == null || Settings.ThemeBackgroundColor == null) { + console.log("ERROR: Cannot find Theme Settings"); + return; + } + if (/^#[0-9a-f]{3}(?:[0-9a-f]{3})?$/i.test(Settings.ThemeHighlightColor) && + /^#[0-9a-f]{3}(?:[0-9a-f]{3})?$/i.test(Settings.ThemeFontColor) && + /^#[0-9a-f]{3}(?:[0-9a-f]{3})?$/i.test(Settings.ThemeBackgroundColor)) { + document.body.style.setProperty('--my-highlight-color', Settings.ThemeHighlightColor); + document.body.style.setProperty('--my-font-color', Settings.ThemeFontColor); + document.body.style.setProperty('--my-background-color', Settings.ThemeBackgroundColor); + } } export {Settings, initSettings, setSettingsLabels, loadSettings}; diff --git a/src/Terminal.js b/src/Terminal.js index 6d522fc73..b6e8f017e 100644 --- a/src/Terminal.js +++ b/src/Terminal.js @@ -23,6 +23,7 @@ import {findRunningScript, RunningScript, AllServersMap, Script} from "./Script.js"; import {AllServers, GetServerByHostname, getServer, Server} from "./Server.js"; +import {Settings} from "./Settings.js"; import {SpecialServerIps, SpecialServerNames} from "./SpecialServerIps.js"; import {TextFile, getTextFile, @@ -401,6 +402,9 @@ function determineAllPossibilitiesForTabCompletion(input, index=0) { for (var i = 0; i < currServ.textFiles.length; ++i) { allPos.push(currServ.textFiles[i].fn); } + for (var i = 0; i < currServ.scripts.length; ++i) { + allPos.push(currServ.scripts[i].filename); + } } return allPos; } @@ -828,12 +832,19 @@ let Terminal = { return; } var fn = commandArray[1]; - var txtFile = getTextFile(fn, s); - if (txtFile !== null) { - txtFile.download(); - } else { - post("Error: " + fn + " does not exist"); + if (fn.endsWith(".script")) { + for (var i = 0; i < s.scripts.length; ++i) { + if (s.scripts[i].filename === fn) { + return s.scripts[i].download(); + } + } + } else if (fn.endsWith(".txt")) { + var txtFile = getTextFile(fn, s); + if (txtFile !== null) { + return txtFile.download(); + } } + post("Error: " + fn + " does not exist"); break; case "free": Terminal.executeFreeCommand(commandArray); @@ -1055,7 +1066,7 @@ let Terminal = { } else { var executableName = commandArray[1]; - //Music player! + //Secret Music player! if (executableName === "musicplayer") { post('', false); return; @@ -1231,38 +1242,44 @@ let Terminal = { case "theme": //todo support theme saving var args = commandArray[1] ? commandArray[1].split(" ") : []; - if(args.length != 1 && args.length != 3) { + if (args.length != 1 && args.length != 3) { post("Incorrect number of arguments."); post("Usage: theme [default|muted|solarized] | #[background color hex] #[text color hex] #[highlight color hex]"); - }else if(args.length == 1){ + } else if(args.length == 1){ var themeName = args[0]; - if(themeName == "default"){ + if (themeName == "default"){ document.body.style.setProperty('--my-highlight-color',"#ffffff"); document.body.style.setProperty('--my-font-color',"#66ff33"); document.body.style.setProperty('--my-background-color',"#000000"); - }else if(themeName == "muted"){ + } else if (themeName == "muted"){ document.body.style.setProperty('--my-highlight-color',"#ffffff"); document.body.style.setProperty('--my-font-color',"#66ff33"); document.body.style.setProperty('--my-background-color',"#252527"); - }else if(themeName == "solarized"){ + } else if (themeName == "solarized"){ document.body.style.setProperty('--my-highlight-color',"#6c71c4"); document.body.style.setProperty('--my-font-color',"#839496"); document.body.style.setProperty('--my-background-color',"#002b36"); - }else{ - post("Theme not found"); + } else { + return post("Theme not found"); } - }else{ + Settings.ThemeHighlightColor = document.body.style.getPropertyValue("--my-highlight-color"); + Settings.ThemeFontColor = document.body.style.getPropertyValue("--my-font-color"); + Settings.ThemeBackgroundColor = document.body.style.getPropertyValue("--my-background-color"); + } else { var inputBackgroundHex = args[0]; var inputTextHex = args[1]; var inputHighlightHex = args[2]; - if(/(^#[0-9A-F]{6}$)|(^#[0-9A-F]{3}$)/i.test(inputBackgroundHex) && + if (/(^#[0-9A-F]{6}$)|(^#[0-9A-F]{3}$)/i.test(inputBackgroundHex) && /(^#[0-9A-F]{6}$)|(^#[0-9A-F]{3}$)/i.test(inputTextHex) && /(^#[0-9A-F]{6}$)|(^#[0-9A-F]{3}$)/i.test(inputHighlightHex)){ document.body.style.setProperty('--my-highlight-color',inputHighlightHex); document.body.style.setProperty('--my-font-color',inputTextHex); document.body.style.setProperty('--my-background-color',inputBackgroundHex); - }else{ - post("Invalid Hex Input for theme"); + Settings.ThemeHighlightColor = document.body.style.getPropertyValue("--my-highlight-color"); + Settings.ThemeFontColor = document.body.style.getPropertyValue("--my-font-color"); + Settings.ThemeBackgroundColor = document.body.style.getPropertyValue("--my-background-color"); + } else { + return post("Invalid Hex Input for theme"); } } break; diff --git a/utils/HelperFunctions.js b/utils/HelperFunctions.js index 363773266..f474de8c9 100644 --- a/utils/HelperFunctions.js +++ b/utils/HelperFunctions.js @@ -126,6 +126,7 @@ function createPopup(id, elems) { }), content = createElement("div", { class:"popup-box-content", + id:id + "-content", }); for (var i = 0; i < elems.length; ++i) { @@ -133,6 +134,7 @@ function createPopup(id, elems) { } container.appendChild(content); document.getElementById("entire-game-container").appendChild(container); + return container; } //Creates both the header and panel element of an accordion and sets the click handler From 1808afa711af16e5c5b4f85fc53c438256150678 Mon Sep 17 00:00:00 2001 From: danielyxie Date: Wed, 14 Feb 2018 22:34:57 -0600 Subject: [PATCH 4/4] Minor bugfix in Gang.js and updating documentation for spawn() and stopAction() --- dist/bundle.js | 1 - doc/build/doctrees/environment.pickle | Bin 1334671 -> 1249119 bytes doc/build/doctrees/index.doctree | Bin 7619 -> 7619 bytes doc/build/doctrees/netscript.doctree | Bin 4306 -> 4303 bytes .../netscriptadvancedfunctions.doctree | Bin 7168 -> 7183 bytes doc/build/doctrees/netscriptdatatypes.doctree | Bin 10171 -> 10192 bytes doc/build/doctrees/netscriptfunctions.doctree | Bin 210239 -> 211110 bytes .../doctrees/netscripthacknetnodeapi.doctree | Bin 27765 -> 27954 bytes doc/build/doctrees/netscriptixapi.doctree | Bin 51430 -> 51382 bytes .../netscriptloopsandconditionals.doctree | Bin 7564 -> 7573 bytes doc/build/doctrees/netscriptoperators.doctree | Bin 22937 -> 22895 bytes .../doctrees/netscriptscriptarguments.doctree | Bin 5358 -> 5355 bytes .../netscriptsingularityfunctions.doctree | Bin 97228 -> 99921 bytes .../html/_sources/netscriptfunctions.rst.txt | 20 ++++++++++++ .../netscriptsingularityfunctions.rst.txt | 19 +++++++++++ doc/build/html/genindex.html | 8 +++-- doc/build/html/index.html | 2 ++ doc/build/html/netscript.html | 2 ++ doc/build/html/netscriptfunctions.html | 30 ++++++++++++++++++ .../html/netscriptsingularityfunctions.html | 21 ++++++++++++ doc/build/html/objects.inv | Bin 1114 -> 1120 bytes doc/build/html/searchindex.js | 2 +- src/Gang.js | 1 - 23 files changed, 101 insertions(+), 5 deletions(-) diff --git a/dist/bundle.js b/dist/bundle.js index c73f7be56..8ee01c0fb 100644 --- a/dist/bundle.js +++ b/dist/bundle.js @@ -50293,7 +50293,6 @@ GangMember.prototype.assignToTask = function(taskName) { this.task = GangMemberTasks[taskName]; } else { this.task = GangMemberTasks["Unassigned"]; - this.task = null; } } diff --git a/doc/build/doctrees/environment.pickle b/doc/build/doctrees/environment.pickle index 20f11dd90cf290d5ce988518aa58b68659e72b44..4a47ec1a328de389c03b94bb6f0c1d38f775707d 100644 GIT binary patch literal 1249119 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�<))+h)tJsect-4pCPdPd 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 C%z|_P literal 1334671 zcmeFa3y_^hb{@7`;xWLyF@q;T@+ZO7f?8gH1jywIyV4pQ03<}b762cjxQ6cB`_IfB z+`0GiJ^;*0a#o4;bXSy$Mkz^F9IZBMCzeV|If>;;DY25+vR6rLm7G!@N~P?Tl!xOu ziXL_e#X71%ttKGb)ntpWaneW~Do~@H+f3w>d_S3Z4>Tj8|OXuEs zeUSDC?=Xb{cE-&MF$d zXUj~rI?eO}aQ9o>aMC;m7=uQ?)f=|E-QJ+yX*Rl@W^0Ik_4Z)v^IPUv_C~#Vuij~- z&6QE7K`+qblV;DL)md$)Tjmq1>G0*&@LIQ-ULCcEtzNr@4>*YlYz zbFlF3E%TABYs0O&+09={_z!3J*XoVC_|XA^dap&uPp-|H=T!6HJ6fMV)lToFZ9ExNAu*i-94)F`FA&X zQ1w>lCI)pQ?F+)_;J&dM43G5F`3|GrYQNr0ukcjrJoD)&x@5cF9?^>>uio5df*mXG z=YfB+F%*WDU+8+UK?TMcGfk?fof-tyo7jahql zz#^QuUIbt+|DuQS`0{9zzo4w|gnPmFd18>Z+tE(@vNwFMWU$ul%V^7R?f0+veu9nq zmURVcY7p{yM5kGk7UiV z>(=|LBT@$Vq2G*YPaU=E{nl{P?U}sW((d$)qfU#r_TlDIchn!0PLsL(i+)te>gL9q z-TvL~sFaBN{VTrTQ^S58yX)=l627dAj#K(2-}lMhs1IFaklyZ=vS3oZ<9mM0wchA= zA(weCE}GV}x%WJT$9clnho$PsgnPmFIo=w)JQ|daa*sUr?>}ufjaR!Hsg>tNA2}1g z=KGWWWF?IS!4kD(36uUb{)lqz0xW|vsowED z9VNHv>?mnp^Zkhuws9Lu__tK=Mn5IRCqDD1gSUL|r-{COsA)?u0?Id(nea8=pXTKC z`<=9TezZzrD$WI(ljCoDXwTz$0O(S`yRi*fAC2_!ke|uD6SL?@?)}nt>7jr3`2DngH|>PyO4+htb#f z$YcNhu>rR2vM=9757oP!(cRL0b{9SL?>@fV9}UyNV66=HgnL2tSsC^keXyalk9)!Q zd7_`T>zjj(VX1W8m%ZV8J-#*^_8|02H_-|Ag75Rh;9Zz|>uIBu7yGg|e6OSZQ7L&J z!88BnG591JWh38357oPOTWz-Pi}u!C^w7Wi82!ZhD+9gPKKDKFC9Tpy;!9deqdYoj zlv4f?Jo8YGv`bh0N8x12{0=b62RFOj;rT`b^QY{qr-QeA?5%epk>sZAA8e7Av(!-y#gsXEM4G4C;gs>@ND)3Zj2GB_fdi$Dt_I=doFw7 zWhmB_U>+;);^CgoUb@=qR04anw1mfbb?~Xd`kuBP`cJov9 z_I*f(QfarFpZd3t!9XYly^9|DcOPxE(|RcxcJovJ_6hM(Y%`yxgSUL|MA~1A?AQDK zE50AEI1WiftY}_w?j_%s_drZJ@=TX8oA*HbPS}&A`gT3tJH98`cW<&99P3M#u7At- z<~@Z6a=Fuh=b-GXc~4RAc?j(F<0ls%^j?9ZybJ_;{q&0-2F-N#=C@!aUa1erOe+IJ zGd=&VhxFKhweXd)-h1tH-{bLn+jN<5FZe#kd$1gPrJC9vc`WazBQxDkX&v0Dx9>w^ z-ujU(GrijGF5iKtRf1(`nHhGQUA)moYqQJd)h;}zxY^0INi&1M+GyBn4^C113E{QL z>buu`6Jf94=w9IN&olV z@@)Mt(vL4>%{^{je+U0a`1k#Da=rU7fPB}(0P_8%KpqZr&EXRqv#x=6wIFJpF?|c4 zU=CH`aM?@3w_gMt@KpHb+4=Lj*|YO2y19cN0_3N3^LJ#;!u(WV`?o)ze|xmNHvPew zA}7~BpmSupOaSm)IPTZ|d7I6UT*}fJf;At1RapAlnn`|M{HAX9^WxXJ`Gdp5KN&1E zhe*L%ZgJknhEFWn3RihaK1smRl6Qoca~~~S<9l_p=j9)37W-BEhq~FXapC;f8vknk zZLIOdhcZ7-K9qgn1G~rDWhrITSdK|+$GNPT>ekOr3pF`nECrbfj+GF84s z&k4WmU(n5ds(gZ*9|~J{5?9TE6ZhBZNE;i}u=s_Exix>_O}vn_2A<2G4Y^wMg0Qfq zdF5I7ox0hx@Xd$F!c8oCD2HNsWcsh!MF~|~uN}y#ew4D;XpfpH`Fhw`P%)pn)$PrG zSRIXek3ysf3PFz@QcA(OEwg{v8loT4wKlhY$V^*UYprGzro<1Ky{^;xk6?t>U@*JL zHln8h!ij>2E$#Oj^VYh-%ioVAy@`$bgJ#+ru5G=xdp*?A#o90vozccJRQ=}GYacOt zGQ3V%URxX?e^AUN^J1keM|t}lP7gfQhv{Wa7}1~pJPqR~LE-i9VwPEz%}Zk8n?9`g#bb>$}H98S*PxEzYw z*o(sDuW7z{F8_DB*>m~VxcQ;*@8KvzAJml^^3O~MnZ3C+I<+S5cyaLrt22Bg9GiKh zP$k~2n?1+=NHfx}%ikA9ewh6dITk$bSWqK6*EUkx0&Dk>%~vEh9}CviRem{nBYQbu z(l+l3*Uo76_;vP-ZuVSDbn{N;+QB^6=&(S3lUvL&OWp~1RQ!st<_%43&zh^c*|X+? zZr;hP*?%H^P~Yga(^{S%`!C9alY?i%?MOcm+J8Y))6@Q4-Rx<01px?v$Loefh0t z#?_Sf+FAJfSM+S~bLTJVWlwPm$ypF@AU?;Klf3VaGq$1orIs zr@Gm*<9BrPPG-lx6F6_fiz3Gce-0-gzi$?@Kf0?>hd-d3J=yo^=ABIT{U_+eQW4$N zQKo?Ks$D4mSxrkn;XkRHJ>_e+KG&w!--`35Z_@C3w zJDK=)+Vj!5aQjtf>H^ZMcA@+aXj*#8|2f_4DL>N9JDKv6C;0SXmkucAB)vYD7|>on z5aR!=CZ{L<&*)}P{GZUxJDK=XC*%ZY5%q(^odNlSCqn)H9;fcu4S$Sn9H%~wAQeqT5HS@4g! z`A<2vZKNXPnAv~ApRCU9RV6Ij=i7x*CwCVr$4}^H&!|J({7@M6;kN5@jG8~O-0IZ( zo3%22&ArUe6VIMtrHwxp?!B(rVEP^E*dr>CPU)J386X@U6&3*!H>1IEH{(^3{On&==!{iUF z!~N|jm!I&u&@Eq=q%3cC+qZ?^zph#3`TbSh?D_r6-26~D`QhGrLr$7`$a+^SroqKx za<=7ojhJBFjz1Re{jp|~=iVRcX3xEUqMQ9{{VieYhk5JGv19TCit13s71Z6yF+!Ky z30R;X2=SlVQ>e8b)y$-0ZFQ)mE*x! z0j+=!V^4(_|Ei|0=f(HwX3vZ7*3CPa7yBg6ikf6OCiqfh0rh>eko~V|LVB|QySmwv z{ik*FPA2=_6Rp8A%DUxSP7QYVQgV0SMV}e82N|7h!ss*&xp_KX3vP*x_Kuvg3|#l6Z&Z{C#NXo&n^a3 z)eP4|?wN4mhc#V27rs|FdoDcC%{!S3M^12Q)fFkl+VZ7XbNnc+z#1%&(zk?1Kd-6o zdGr@8yH5AIK{6k^HKhvc3jQHPmvuDI_>*k%z2;MR*6N8N9GfUqW#@IX z=fZ?;-q~D`YShI(rd+A&KqTd!2^YRq)77tq7j?7e!n3-0CvyQgZQYHH)(~-7RKg0C z*hzV`#E$|F1W$zi%bKE|{@<>fJ^gR!=ABIcS@Q2O@##d;*m0J8$@PE>`G>-Y@7JXD zjQAei>=`lC%{!S9?DyzW5&OC>VxLqVjz`hE00K@$-xPlRJcQH}7PAE#~=E;6p6DVIkm8 z;Tyu2-_w-#eEDB>v**h{)Xh7YF9);Go?cA31yp=rMZlTjSA;c(_7&>G)4JKSW|wZ> z*{rcwduYz&qkhHLe}t?lydgwbb50Z6ubSs|vuDjo-JEC5SpKCXUyWr{{-Vz6vB`E{ zdMGJc4<)1W1DkC3rD(FaTvMr}CP-mAO@WY&7 zmm~iE6J=#~_LVFj)h?9(MNLaj`JdO#p7LMO&3Vd?Nm5x;W0LfW24W@YmmkW?`*2Ir zFGnTmVI@g*<uXFRm;oSG3c#N$E{)71Qwdw6DL!ML@ zfcaa(RHHwBv)#4Nru>>p1<&6y7QH0el-}Sxb_=TduEHBI)8c}cxS)n_2YfFDFK6~g z3tpZyM-wltbNlc5Bk277R20*nSX$pDZHLPW%CGO17v__(qY~?TO zSDq{+1?8&OCmh6}DixLHTi+*-K9*D}k+Z&EUO$u+C-|>V^7Hf|RQ&w%X#J-#oy|AD zmujCKSFJx*@$(P$nj|SID_GX#n9TiZ{%w?t{K~^wxesH%{lIFkUx~`xqh99br*dG* zMBWpwUBQGasJOqRo4wpU$ITCgdmnCHHRPVz%{A|GP6D|OGGLc931=Q?7Wf^ptD8M% zR&=x1k3KI9dl)O_gL-mqjMRK{W@r%X;L1n3p430An|Cs)_nxrV zj)uf`myrhKc8x;tU)Ch_1ph_d>4*3*UdYd+H&!2j@r@~Qd`=D+7pw7JL>7&vf%nruNxs_!B6OBPw->9c_$NmH*Ouo)ypBd{$q~<0e^-vSfllrc1_M~3c%{!UYDC1~v1<%cFe;If{a^Eau|8Y%7Pxc?t&7SPv zubX!^*|U4o!&yF&wTEQSnuYAYqzUQC{_pE%Pxim6n|CtV_n+`L&xdqZSJDTBSM5Ui zf2e8cDgWQ-W>5LQr<->&<@cRf8xDIoN|Zm^JCU^qbob3d_FYqjTH^ns>Fdeu^Np^{P*Xr{ZV@_P z(UkLoWl1-CI-k?cJDJYAaR)=%$W88D+!jz;nuOFnO*~KPRo(1K{bzOa&L;I;+?k#y zHMfPN<|ZNamL{Gj^Njv z{+D(0PNq3Yl2(43gxEk^Ky7IfQvVN{c%Ib%KsS3*|Eg}@$)w%|UrPSq>?70^5Sm+r z&L5dBRR8|DCa9V|acU*X3AAI6>v zFa9-6UC)aj(9NC~e@-{=WM1&evNa)g{APN~k*n(Z`hYKVvaH}8;m&`c>Fv4mv%1-H z=Vx^DPUg-LS}B9He=qHCbUW#0{a(G*rW-hOy8dCjc8g!TO0S*IUJE!>`j+tMztvRt zJo@{(+4JaEbn{N;(E-Jy`U7TDjyv<7JM{<5pir$UcrG0IBTZw^k>A(No+JNQH}7PQ z@ctsJhBA?Gw|nToryWFA%PaCYSS4dmg%`<8p;>WQH+x>p=;ocwi^G0(4ARD^kFvEz zTmGSpB}jzkw+eRtvX_KG7c|NJV)?Xg_6$0sn|CsU9`y`bt`E`}la6IfLSk$hVN~oz zVb+=^zh~AR-Rzn5hHl=;%sS?owSkkAkp*=$RIrA=w{D?|4BFRY!--)jj+dHtOEFyJi92*LKXy%gayZE z3$^P7-RxPgUpMb$7EGR4X|>Zr2JELNMda5Hg!q3(lhe=tmvply{wdwOlZn3{W!RCW z(Sa8;w>j)<4Q|>8!OU0fLiwhqrKkLN=w?s(o4R=?Q=W~=PWoU-Disb^cDl{9poS0G zi`VcL=~8&>8s1u>YT*G-%3cx%{h%hfXVAZ-n>~Z>>E@lxpvA0`kK#~nku11-R1|wc z))c-WeEB&|Y0sB0>t@fFpVZAenJ=>$Ut|x?v1G=vcn388jOb8zd3;sY8)wAG#)6Jd*U(?MynFU-0&Q18H zFd`q3ry6fJMtxMj9HdR*M=m9z@D1V1k-0*hc2+lgzUJDD$gPV~E@PBXVAc1vTh zb=x+f_GdKx{3)RTe@au-FM-p#+0*|U zb@Ps=Kd0Oj)1T69is_#{5&FNQDeCEeOE-J^f17UJ$@J&DW2A6U!3v-&#okQochk-| z4|30h3t!Z9^<22Gn>`mgx_KvaLDJ7yqPIG@r6g}$ae^5?zATReX*Bj!c=2y*>Uv)M zMcwRq@vrOVoy?1Q4ihu6(+9oPdMkg`k+w}omo00SMkVlOK6v}uu(kpo7JYETyQuv1O<)3Iud%paZ zZuWfn?{)J|=F7y10oU1D$?;;ZYYyn2wF=GW4iqY@dv&v?`5*r&&H31o*>~ceqi$%b zO=Rr>)qS&&{RK^5Kh-~>n?2c|(#`)uruv_da<69Z30&&7(aWFS-D6t=n!84!_*e04*=-E);N;rmE9ZaX$6o#0zjF7=+O+)n^B?`AwMF^!XMg8c*AB^_fAiGwwa>_( zf9oIpwY4|o&%b-=ch=sLKfikQm9@9!&tLn=-&p&S{P_z{q1gNb=VrVQ~M?BZ=>+F+09K`Ke}ZL$lpQZ+JW`S4n^=16~`7K*ZeSJlK zt;s*@{7*Pl5?|H%O1ImS>qwTmoo0*5uGe!Xo!5T?AY@wnjOOT1^N+RZ^)KO%hx1{_ z{f8CQN7s{h{SUH_`h|jzT6~Bf^|3e8Hd!vou$#Qx8ZM9eowWb)L4xTr+Q4+G6VaXw zw6gW9D2Xm4`=x@fJM<90?wBW;%^gW7wh@d3epFZ-mg7JSlY9^xmR@}E?xT7B@D zzxarw+;0?o<{J<3GZ*}4`m+DQw@l$iB;n$36@1HE5AjhR8I9!Wd*w$>go2XL@wI2bK6+B*+cs1n`}nM0J&i|rhlDkOdHq#Zg4+}!#> zvwyAL9^R32C9mx^_9uKyDXk-?x{sT~;gx&n{;=Vig>-`R?nOoP)%&^eOi10=eccp_TNk*E_9uFSI~w)>nRHYuU_eRjg5Otfd6#h@%)OUYcZE z*S_uGiPztTYGY=4o97zvjSM!ZN=1{@GjkLgUP_LWQ`sNj?sBV>;^CefO!_VJ$eB|w zZJEnuIL@4Ix0d_${^scn2=SFJ`znELzM-}?1QW;K=ydNx3ws-rdHp-^f9B%XkCZ^J ze;&YqadBAh6U9&6uJ?(?r*QF4CqTHgJwgYA2kCwU03Eug#s@eWHs}^tc2*7R8@&Me z&FztA5KBlr2H$)Y9(QUUO@FCL&rv^~E*=`$- zdYJWhHW01}$bM`4k!yH7`E)}e0{1CTWHitIC|?8DxBrq1O34}sfxE9boOR3o7yIlvD4W5~hl%bts5(^iLHyF-m!?L$w&Yun@Z zz?ks4 z6wpJDkRIK;{Z_qw8r%A?-)*n7yZ2A=SCj!ZM_za6GRq^m!bjP#0nPMrqNLxfb(g6i z?jV?ZpV^)R8-o`1TKRw+Br|i9K_}NOXu?Jx>AYMyK^xgwvq6LI2$b|kjo}CimLInQ zX^vlldLzz`0PzKu&>#wWc-Njg`_h?!L@$(+=>A%LIOwGJPeXYW^ce*6!i|eJ z62Lmg3H!Omyt9?z2#U>wXVj%qE^E6f82 z!Q!{Zih^h6GuRq6Y)3eE>+RMT*j*W*{Zu*O8?}0`b(;DL!WqHLx|mdn{f;#b&5xVL3~4w5-~gF!P!{__Pr`Xk+Tv&Ob`ZO}^_phKBf&CF@C7V8`E8?=QWrGU*RZV9GDEZ0O3CU9URS*L_eTbR;V9aHwpNaGE+ z*w2>pr}Vo5U}iD*ErJ6`XEst8G@D(x0`9fa(26}*j#j3H^c6bf;FyW)4kTe&0V#&< zTKWLCBkHy3IbVVA(p&K4Ai;TKVFJy5QXJBLzY9NwM)A$%199T;v~&|33XC~;k>T;Y zy7-`x@`lU&+Q%LmcEo68k@3I{mBP&e-5~2K2(zDC=HnO1??W#+U7*!T&cmg%miCkL zym)7_sO5u|F*79*Xc}5WA8wy~V18?H-9Y&y6)6sF2L6m`z>=n#I z2S`4_{qmZK18e3o4a7BJ{0nZkKJ!woQSS{#9m_xj=&MaGh10@>UaRuOl2Ar;Q-=2 ztwDlmAB_Cdj;{BHLvAV^p?W#N|^XM%B z4uzO}<}5VyB0k(0ZuT%}`hO^=2#j+uJeZ!UvrX0HmC#9^U1 zBRXJ>JQ_4>$-5D-@BH>86A*&D2%K5C1n8JC3_ZC#7>qGf9uUHrGsEs#TBQzx6u68JdqEz@qQEZ3JeL$*h>uIQu_NM`rT3=ufy;W@(4p-(_p z6Uk~{DkwKoSX>w+2wY>wYzWJ#NSn{5)13NOB9&zTqC<_Q`7T%`&3 zf>51%o4NC-`O>|Q0O@KS zOgXFEtmICXSKQw``AUlXqE;ih-h;!N)_QVlbAZe?C}uFya8&}Wg+s{DL}<1Pqlyfa zLP;Fa&K!EUmHNE~e#s}405u2UBV}xC4QVxEmLk{W`WtlXJ!}mDb0ZtL`vBWr(C1;9 zy|*k>jChtc(R8Jbn(Oe0hm?+}-I*e4w~Npj4xefU&>V)9LBG5U{Ed3s3IAodhErT* zE7Rx4KKT(Opy5A>_`b9~r{Usf^+<;5pqUdd3tY!;ERf`DU)-WO{A|+gKg&umhQE*8 z*Kn+&WRsr25hLA^*!jJ!9P)6SnX#uQA#)8kVq`eD(#uX98+1Qxr8rJElN&0SvWOy3 z5lND+%cC6sA}fX76(qU-6g#j0la~n~sKn;VN~=E@I?sw8RK&yRX9*=61YrXW%^W@t z7Z<=MNSwTzz=~Ru_X)Z4;M9l1oChKzRvk6N>0#YB0?8b3?wj*~+*%${0tfKzNB+x@ z-0b~sFef6Dk$OPnz@yhp9|%O=Ne0Yno!bKU4ZFRX zqzdWLMfN1W38E|a6@wS7{Ca1i`BOcTr_${eWcwZ0F$u!@*I3gOD=J&-cE36(0N`6A8*+3F2lntOI@$A$b!y9vF&G< z75q>d7%ga6NZpQ>BwWrD5)o-~0c|6iP=ysuxmOmb*-r^riD1AOclWyYb4Gh)NA|eJ zRA_-?4$vItzY$+0^-sKTvsq7k2PAhexQLdOb<+YrYqYS;V}#Uh+*fRFWO6ez`7q3V z95CQSLe0d8_Uz;YG&S}g2opUR$VMQ&MzIb8Yi)d*HZ#kk620}Z>HW=t#D2*dDwi_O0r=YiB9)o4(F54Hh3|_=uh1^PU zuoU90klUqU2zK3)K{bn5sz7#w-Awu`=J4GcwH7-^$sHV$JR+U5i8O8zj)61_;(cWV z$w_AXGfa0;BQY0U++NSH2;JQbBR$iFC&yr!IXka|w1EBHK@Fx3-#VwURZx1nc9&NW z%mG+O1S`49c_L(C)5s24KVc0S#jQqht3KOpJ`z5mUMg);uV)z?&{3NHPQ% z@GMmi0mTaEY=xy`y9?GlEOUs;kN9m?kCx+pXP!%1Xr8*z8o*@S9B_ODCxqm% zY7jieha4WfOHTB&&V2wCh&>9y0*cu6PEJ@b!q_sH=5gyw$UJN8aRyG3jZj(fL5o>V z2M$m5+9M2N6w)VRlWdM8?a3gRLo6sQ zz=Xlll;H8wCXe;j0}+bjf|2>)s82BPw@|+jpjo6%{-(vFW#(L?3+=C;riE*|%3@n1 zPlMndgJm-Ci4z$h?sRLT-g}{Nd#E78sB<>j5R#d`eD(Z|AcbwVZiP3Tr(_=m{EQ4w z_=)XWy2<$Ru*|~sb`wri0!$eT?CU4CPB%saSO-N}gOzrNT((>Y%`AxC8ny!Kj8!y? zl#B|5mELv@vlW@K$m~`A+G)~1$frPF^>A@Uylc9aX^(gx(C9vn{$suyzd#>p-p*}?l}C1SRVmm zX}1fB2jNJnMJa7qoO_$;>vXOw%c{b+PQuFCXbl=9XM_13@jtr{R)$&z!W_N|XlWY< zKvQHpsrnc|c96{!By;0>vc}NaD*@WbtZ-<@?UXTy=24Mhf~de?`DiPoWyGH!*+~JU zJmrafbFB`N3R|qs2g9u5n=8=cJuowQS%C&^5BItQ_$4{^z(MsQ2WaFBpLc*Rk6P`a zcLSHfHIK4SD~C0)ZdZH}8#BD_YxM!8%TSn4E1{9E*;WGN;hKZ5(~*#br9e_2BuKom zVZ~WV&VuiQ1VSzWDk5Ute9O9vILLllXy)i8PW}S?1ahIx8aQ)+*X_Q3S{rPlghl94 zj3|r_uZy;L0Osh;bQL*GedPy6!#RnF-17A#9h#C*XYPZxV|FlpcNF_XI%o&9C{U*T3WCqf(ain=kiZReUx*fbM|`H zMKmTi1&Z=cGFWEct?X|gJ1W=3iyx5q%X9B;x*1}6{XD<=PX**D?3fuK+P0c1>`FYJ|mLtYn}W= zN&5u>6v|Jx5TQl4+V;2$>6ca_=W#`boNX^0WrB)@XqF(&!GmyzD~=Mluk%Ybv6}*b zv*#MgjO@e(i zXIKIRUl9pXX49|U>w#Z5{+*p17C7)+uBBY5CHZ!$G>20u{2p5utL^S`?#ymv#9nAsG%7$`9{EBwSN6w0m7TBpr+{vXy3|!&p*m47hg6#_R%U=E&ua0A^`+ z*}qJf4?tC^N$Ok;Iop&vAKFKhJq{K*Y2C(KSFhZ>u|(;AwAR&0X-ZY< z!-nPBDB(9$*x;q-)67T`GM?2y44(y!?pGnI(RpL(fK?V~_#!I&p(PIibivS0d97pH$`@XW*&2-QASSp*&&g2~SG6{_eJ z#+f^mTm%v0^mw!g`Di^HVPs?QBXsc{Ev^B_aP|rxa>}ATyqI|l%bexGJgOk3!o{3} zW%gaNl^mFyi@nW8d%0g@_e3E*BP?`^zrc{CQV7pXvlmg*k&9MvvI~x$<+h^;%4~TS zZbu3pvdL@}5F82-6qr4S`}O;xXGL;IDpwzwcO;Y`d_yu(z9##bgA1x4>wqvhrJv@TD83z>)7%(P-Gv^RLE$uyu%t}!9fN01 zidTmoTx~V_-2sm6u9~wnOkq74&h$io3SH$rvac{BV|`sj2YYw|(J1-`8^(}a-*6^G1YSV~j)W>49LNC< zk0e*pd#T9tc`+?vc3Yx{*dn^H8*Q&?cj<9RW?sxpXn{+@QW1KT%1hTili#sW=tZ0@ z4lN}U2MN7n0L>f~mL(si7JP@`DP!S-lx>{AcKCz&R3Y%{pvd%gzj83m(}?^5$AIih z_s+>@c=N_j#8_LylblsHn^}m%FSKv~Hu#*#igVO(-Q{!KubKsBX5^nIb4$iIefjC&}$55hX@sNIzY5$1RFr znFWp$(os-_0V6!TF+jZ_x5x_sn-`X_s>vzf@+y+E=MvP1 zMFXIaQxOOBvEQ9srBjhqS}1L@gr6aMqK1|G1tcG(VY+_>0iRhTb~1**94Ew$hdd36 zZv<4R!0AwJVY|gaGKa1T%*4C#D5Z(@C9cFmHIoXr@(Q|HuBb}@%FJ_37i!bH7kRY! z7^nAq2E(nOrCA6<&jN7dHpF?k^UK}Q&^t{BpQSM`)^V+P>mJQ{m2;|vTts1a5@w(h zcnaZ}#q$nL&f)N6rfI`H!BJ}Z6dX+8@_!@&0&2Wb9>&Q4oyMdLkLqNPN^zLON|V1K z*pmx{ooM7%6^=ahH(H%8vW&wrpcPyN4n}TeYKUg?wt^4D^W?7Ja-2}d8ZEe;17cL* zOa?&EWjhwMjS--X_S_sBW-^8_Il>K^z!D3h_ zYiTQZAd%drtiM-omL{e2NqIAIXnEJ4 zYhdSMI|M2%iRys45i>UvzNd2;L}LKWqe~V?rVLxDOlm)-RYKEB9E@Ah}u0w z3P>XiXG6p$${5AK^qKQ0baQ-(&YZK=%U=fM$r~AReBnVVIm<`LOO1wzo#^({Y~2+@ zgA>1wA{Doiw-Sdc$?Ow+#3O^%R=^$1_U#gV&_&h+^)<(Cy>dCZeDm^K#n#Be7g{|r z*Gi5RRoD+R5P~-QsURASN9#<}y5>~K^oUF=%p|}9<7zzcq0ilP2QT5{K@|m_atBk% z+~WLZzfb9{>E`y-B^OUhAWkW8GH}(9m0rfjgwFN3tXv&@nAoW*2k}LY+fIUT43wF& zE-i$=02vc#&Ygg*+2UrwY>LFZB3tnoNMt_SbGArXNpZrQ?#y7R=T+G8qLme_uo87x zV3}E$qoSg@dt@>Pql}mtew5=54GXE7({^Py{-=r#mwaoI}o#G8iRYam5m{#*VQ+|wHQ&LoTNi<8BGohoj$?I zL7YNnVXNHBHwX{q4)F3M+Zm=Rs*=@L2Q}IhB)7M9FSi*)Vju2Xf_W2zYo@M?fqaRu z5*6mX)l(FBsjyWSn@|pznfLaSYXjQF`l#9JBBzR6Q-wBb1wlL*br_8Bp%5a>H$sHt zU4%$W;@zayhg^?LWWR96GPpK{pGwnpt}ev=Dm*twFL{Fq?&wd1z+V z9WGUpZ;n&<;2m%-r-0BEkh=bM_E5H=hGsGZI!uV#Hg)6xq5x-rE}}$wz81&$JwS8d zvIFj_yV?2F?>^WpOiGT3dM6tY=dg`|_+% zb{rJ&qALEGmvFi?gKtAHnW+hr6Y?-1a)k}F*vz!B%-*Z^FDw>&Fd5RglOj6N7(3S= zS*n>1p3jfrfV_fdW?>;QhC~j1(=y$S(?!FzU}P1nzno)`LBKCd|3Z&P!Lj5v(yYnS z0*Yz2SCICD*c+}V)hb^^#)&MjX^VCx(#eSo4%Q+4hV=q9lOY4wECmqBs(mwVERoj&bN{xF~9CcTc*eRS!3ka^x0>u811~Lg^eyG1D}<1oYrDtHi%WvQnwEFwX5^9Ta53M@)I@i>;_I6JCQe2VO-U zJhu>OvmE&O-X=^MinP36ac;ZI6dH$S=5K7i-Rg1lMhWy8=tfAbD@3~Otd+ikF$c%Y zTxGzTg)_snP3zR{bb88EP#4R+#-6jNSAOp8VoAvdZ3zgQ#go> zTWbog5sG+L-Qv!jd<;ODDI}ra)u;|+w!EWYxXdHlyhE5l5GrOrJwP*YQO+9h=Dv>( z5TpK9PU+uvUS!<_Pxce`_v;x%h>}UFU_#;lJs7pjI}aHwC>xJehZJ}wd; z@auT*--J8-6kyy|4RyU_NbVPM8r)$i$EyU#ND<@2@Mds2FGVnquFZhoD!^A^!lNhw zuFbX+K7?dGEn;KfJyq~yx_gK*)^nT9LK$;N#!oCw9m z6X5y^#oaGkMBjYu2GS^KGF@~fK3ttP?_5sK(%@{dljp)CL6Iq~)Y72X2_TrKrP#@H z&(kGMa^(@#`JxZ;);nQ6l0Q;q#cU`fDqL2TgCo?)HI@mCMKIavTJY#L`mOvi>d2&W z6Xdkjo&<9tM05Nis;xk-fDHC+I)&;Gf*i95D7Gk#jGY&`teOg;HkUnS!B{HfV4CCh zF?&8D#WHA!1|Ug_a$d9QJJ12x@MPT6R+X)d*Ds7H zgeCefC~M)EZ&Le~rSw%PH<_HglCIVpn~A;Ig5yVraz?2OS!(4f;#qc-kJ+XUBy?3V zQB@$6)Amphvz|W<8?kLX1M-!L9Uv4!#uCD|b<;w|)Y@wgUVTnyG$YWqpQ^O;@$fkI34r`vJE?Xu=yL80BD`&1)J`P-w;j<6bF;-w>^+Lf> z;qbnyjbQvw~PCI5;u}64#_#EP7TS zqZwo~#^v@*M9p#1lj48+BO;SJn@V|4Rtebb-b~64NwbpoEUnq2_AXpAxGf2v#pw{i zcSM+8`W<4u<2Sk7r-*px9PW@4NuU% zhcs()&#?mtbq_fO!{+e@thiDh_$}E!W01|+^OSRnt52xPF(c=EjB{Bs#7Q~cPu~L# zat)%GcUCT+gFCda6P15&5eu7k43$SV>6PaQ0G`dXwPRAX*V~lzvEp&`~15R-r&}mTV-f zv4Pt$sAiTj4GEDYEg?Th$C|Q3RJEe{7x@BDUUE&UvOUF6&9NngjdbVm2-RLnLd;iE zjhMi0QZ?%RWtVjAKu`uQXRpwW&w%NyQcox~4AYJE~v>*v^72gk%)KLC>^5dZgQoQNxGCaXgxKMMLzChiMUv0KeIiBw*eR& zVz&;KSFgXB+`dlpXdczDkf((i;iW6Kf>*_)z^x(smKSp zsqP>NQQR-eGs(e4B*Ye9^0yV=_{&f6MaLm+=>o?Bom9}`F#*dN( z#P`CTBBCcae8oFOA!NE6mJ!lyP#eZXZ$xLMx?!$FWUPLrJ2!|OuY&`h9{zN06ndSn zz`@#2PA+d+e-^7CGvtDy49tRyJt8)kU+=Uh;?v#T&N*=A*hTpDM4Y-u`fkGgH~@)n zqjJN+j!{8|`<^m*{~G~Bh!_hN&Qx~e$#r;7X0wr%E}G_9wuP0A+I09_xt{3w?*Qf| zdntJH1aqEtYKu8JNjXr@XbJp;&Mlh6&1liN{Ws1Xw3imFo z*-%(U{LhYB=tE+_IxiRkqUz};ZbV52n}btmxkvJGFUiMz0z_n&&19i<)e1Kp5Gk?% za5(qsEJ?yLw~R{sT;8I{c#Q-?B~Xy{7Hrv12Mo1AsM0@I%g}O%JzDldgIOOj)5{0w z03p4@-Wh|D9n}-)U8*ltsJBE8JsosrHmZ zPLt9l(YiB>37V-NA6ivd%5hdDgjS+`+j~59UX>8AkMOuL;=x z94ZhZ}(d@uf#`7CSka#&$Z zfe^m^N4e9y`gXc6z&|qBO6t_Hh9J$6^A1H8>p$Y(jEz3(jYK#Lf zRAwBGA*Sj9$Q}rf0VZW*2p*vxY*pDEi{}(TH6L4I@FPz3u`kGRV8SgAB`^K3D|?A^ z^oX)RVl}!*5eRdQt1LYzMg&2odl^tlAVo&-g$xTO+wn|Fy7&(1j4m5Tue*rNp24VC zXuyHT$pi`Okkx+6rX1m;ro{HD@d3erOOgCVrPJ7eMgYYezKtZGi*k06Oz*_*E41W} zWSKMwE1*!jKjWn-5UDnj^*^0;6<%Zy@_^0Ji>|I*BFD(!xD`E?zGxAyM7drWNAYnJ z3LOOuy#kT&Yu2OaGQKl7=UAL0T&`dA?uDjaes(gXpzA(6L9_u zSm2mrRc?^JTiY0om$8YY1G$Z-K%vvn5MB|us2_yO73hR=rr4o4Gb}l{i1ELIn_(jZ zb;ucjTX%U_=22Ke-3ABG!Co8YahNdn84;d^PJ{}YTu$`nfMLCJuvZIT1OOU$k)i&+ z0sz$0S|kA&bL197rR#b)O@h`lVgV8gm~kg{2JNwWQ4w`rt>@f{9}9;Lu2N-25cZZp z20;%aL|AxYPcP&uzIF=+CkchQWpK++0?v@Dw6mI>L)TwWMQ@hgf;|Vy%--UsK}D>C zLlmFJ7H9AHL{9%$rJ#t#>*lisB4~>tn#bG`0l72j_FaVM5i7ne_(^=>T!O9b5uQkj zM48+N6z8+8ZJCc=eU(5jz;jl+H^MoKeto$p$GyU$CFdJg5-);f7Et3l$zuTKJ-y9d zt6w=8-0zA7J_Lbe=4ewoC2+YsJ&jOmg@kniBMT+dJPT{|x4Mw9m+2O2R*kN6b$-Hf zoU2%&kelCWB=v+ceFAZRt=vtNZEvS>vpCCfp=%VjInFou;g(px?I3Q72sER{w=MEe zY7%cP6pj^^Ffo~~q^J5)uCRI`T-*mt^tr{+T`eq+Wh|`GmFna`Lu8zc*l;V3q-JLj zVye*?aPz2Aj8w+QB}NSb%{u?1{WsuOg#}={3A6IBkbTi@u&Q|7*LR;Hy9Vrrnz#~9 z&4@u3)0_i%<^>uhb`9G~C-H1?7@|7m>EnX0zDt8jy4f_IqSMJpm~4-lIj%&)8qS>v z4Mj*00KtuS0*}MXY&}f%HgSjyW%f{xD&&1+^q%+Qx=;Ym9ODInFb8UNFd;( z)~FvAJybd;Ajln{4?hXPQ7MPqJAac`KtKGwOXB1TpW>y99?ea15V9cVlAXId3 za7rrah!M2c?lJ+U=gVb|+bD)MrOtIXPa=)7x5j?)*U4RYnRde!_*HB%rrUQ(?#;vN zhAQ?Hc*BH)mmw5(k;OwD5oCa7i)-&?-i*UCPjgI<<}#}%bffIxTyneB6JOqKL}gJ{ zi-g=p>j8G_NUeejmY-8gGCidbs9C&9xC+V@>?^(yG%~xq$j|-~T6jq2=$p99EhGV! zb7JoSopv6*@%;P9NjSfn3bs>Q9Zvw7Cumo-OX-F!U3Zz7mYlq?dE+t%=#S6|6G%SR z&1vT<+-53pfVP>SSaBgxvj~~WxXAXdd&9&*gTGAhmaEN5 z(+uCk-USF_s+jwpuD^0?&B73rg#gXet2p+1d6>M(*J}asv?#64^Q6_^h#V2oEL{a% z2*xam>U)}EzynQ4C=FQH(2G&Fi_T>5VhsozNxUdq+j(%fWuAN}4P07{y5@o_NKU1d zeRQS%ZkFalk`%FdDbW&qP9$6a0H<-{!5LFRh;pdrQ*Tl|%hrHPtv6eAcPbmY%jxhw z4i+ZxWb)(_8I*mFRJ_E^$+)-XeV^`?-tvh#NWtme>|9sTjEMO0-5hia4Lc(p4-RXD35uV)f=Z`s0Xh|v;+}+c3W?O&A%y^GWTe^Ff7+&D3)2HoxaS3@Ddg}2UCh<* zqM|rqoNaC*a|V_taz)@W2>tL8e_sjGJT&w4g-ierl9#One7%D+0u*C>6G}q&z6_n> z>MOk(huVXoN3{CP+~#Y}@cDdIkBmQnN7-^XD=~mM&A!g$V!z+zGd>46-po}ucQJ4vFbfwR((P4YDHX1-CX8T1zm52k}eHShZ z0HdkujeJ=-VB8p(Aw~WL`ugilsFN?zzu$54SxyBjWJke<`M(fDEZKJ7Ok|UHv^JKJa*YcwEYAzO~EmU zNEgk*oFH?Wxa=nJRtI=95;4F+x85z#;tbQs1nBYqjjPxO^R20*ZlS$MR6 z4sf)g&w^E~>DGn~AHf8ucLvB^%z0`eJ4=Q)i*FP{GpBC!yTfjy+vd}GxL3E!iFoum z_GCACs>%*2vXZKrL5U_lm8WUQXWGzFocxD@jcnmOz< z%#H%oCl`I)gAP$pXAJ z!0HRQP+@NjgS0tVxIbM%1_x$re6fh~5th3FOK&SeB;e^F(P1TuV`>7=(x!>as+XY} zV%Xu>B2ziO4`_g9>a}z;dD+3o2tP4qmu6XhVv$n1Dm1Y%!}Qy~PQx^U#yssU)9f{| zN#$!2XPQpCujd;pgSk*;yJoY*$~OKR3MXB!i8U^FV3OpV#g<0Ss+v3dtOaOf4~qpI z@*vHNx8!a=HVvrgGT;1>#Ti5jAa$7zgC_OF_NULAZ=h;1=cN|Phbm-fS`v%_GBY>E zGF}%c?&MBW6{3vHRJSk!9jy=`>ZJh>D-p0B)NV7m+^%=P3>?r87f6H^UIZ5(U(_JY zfDwlPoEUB4m)zcdX*e)KdH0KJBKjX82J+%3DAT; zk^F3$33JwYD3?Oz?^KLv@ZO~j!HVGP_??QhMe{9B(v?gKsT)1;+vqvuE=gdO0Dd z%AX`Rru#ujP|bu2OG@xU6P4K(!op2T`TC+qtu{sn zi^1k^AgN2ag<@}E1zn7Gp?b;}rVH9JfT$34kwUrQtd;}@xEzqeUXY9wnO|i=&H$Eq z>;l|YRQPp3{xTpLiJQe|!|axfl7C&GgG@|Ypf>fXxSXTNLOA8 zS8#;3r8~wLK=Z_#$n^GCXmQ~uL>LmuM3a(o^N@ZB5<(!6D~sKCde9L!v>LPx!Ht75 z2T8qh@wem5?^g1|X!J0k;R4pZti>Jr$aqcUtl0jV_)^2yyl$dluQ zr$By0G+7^-$^NpkYYd_}e$%Cx137LLB1c1@W4ilR$>zkv+5k7*!V;FjjK3h~`-NE?Z z&&nJFh@;$mlX(lbWv?dLV;JFlnF2my#@=sTWCm2w$_wtec8~&nb&teRf)PfftCv0G zCL@>VoxyO!xy>ysGf&~)Au9i8E=O8*`+YXihzMrn4ayPF{nky6rtZkmT+Zqgz_7M;@l2q*^ zsShIN;5cO;CrIS%6_+}oFiC(Sl5*rwH~@A@j)9Au1>Prlt4L!FkVXP<5bntdO<3<+6bU86T> zDrC$-%Ac4&YJG~tG^a+9jH`#qppnFG$30i4NB{})a^U9ZQlL_i3yyDE0%8#SU?%Mb zwa%c>hN}>RCmSxG_+AXy93yFT-W~oLT)X9yX6btlIj>huG7MY^2dxBE$lP*JggWk5 z4yKuwgawBK==X|l6i$Q+aZ=k&&^Z`p9up7B9BnFBeMOgfm(AEjF(9e2sYh4AW+}{# z^w7+{3mIfuQ(Tm)cQ+L85lQ3~2fInRI4neAjo_fZJ^pktSb9AuN@djzPI{dZ|L^-b z{S|nQ12E=UKI)ZRN|7!u^M``bH&Iq$)TiWY(JCwenpS%x6+DnCA1n9W%G=CM`2TKk zemc@uq+lVJ*?^7OpmJD9uhGnls3Y0d0{>$s^JK!%R;2)l-?80)hep`CifQ90U&emBEc0$Ge^8pon936gW05&+}{4EgX2)a*dyDj6J5m< zH-KmkUXY_8l*0!z)Ojy4>fQI(AiM&c5ql`E90@41K+=f+4z;6MTbjF2AVxGYH_&`# zZw`F8p%|*{O)(GcQR7)9^A0Qs4?#o_X0s}gKs2EgEOUs4DIy35_~^6+W;2k0sMDyU zjU7|GUEy4csP%4~s+P6_g36nIbjcE2axM>Lj`Sz8u&j&-5k|bCUM7`ZvXy}}he$Ic zse6A7DL(GlHLHaaV4Tpc3$W9dyEtN+0mouE zoDmf_bJRx&Y)Q6zz^RB`n@Kf$4@-_yIiO|+mwgZxn^RBAac+6UCn4ZFvgOk?>mrJ4 zEQMeUruodvjE1OS@g&w^EypcD7#uHU5jaHYHrmSFVbb;{edmI+rO&)%FG4;W-ar(Q zRIV$$tJcxzS~M_ol=hrUBeI`4cg^~E&YXHcAHW5~o;&+eh&5tHIvl{N3WzZTd+*Up zxb}!}=B^)dX~&Eer-a92*B>ue1l{{Q6QF@y=D;_;f7aES9-uT~J$LEQdG? zq;CbeS0H@@aAxWzA2#)}mNR6bCQ}w|Fxbf6;-vCv6d|Al8|!Z*O~^r_Q|SzoGjpL1 z@eYcBd)jZnc~k3;^2e+rqx0$|?GxBST~cEX97Wv)ej@O}(nZ;EaTO7zemhT~mJ|`U zuA4y`hGj0>m^rBCv5RuS5{|*ZfT0TA7&%6IiLn!t@lY?SVAl%-p=ALy^Yj%Do0T*6krbpRAErzUj$}wsrH0u} zKKOtLk;%h(_D|5Zx1h1->#JlU&rzS0a6az9DO6e zn^WWHvU<*;BZFH)*LMBYUI?gD!RzHf360#ZBEY5w`(47<7F+Vdxdau<5zo#FwfS9| z7UdKQ2lY2WS>&386DhJP9mOO|P`)dGV-9`}U=drQ%O!5z)~Xsy0fY$p!`#Jl?@#DD zNai^0$y)FtrGap8aF<3pa~GdD^4TU@4n}ahu?|omxnULF93(UI8iUruTxbrP(VWH# z_JnhHN@AWh42$5J0~c;zD9CJd>Ay%e#pQqRBmEZ&9h^vQ90+6B;2%ut|XLPgg2i~pk5_={WS#Ml~t@f<4bJb>}+54Yj-9?K*JWtloL zgu>Mj5ovg+p+czH0TVj8Uz}b#2HG50pM`Uwf)(F&05&nn8_X?xv?P=}5yQ!E zn(!xbDnH`X@h{1v}b5c0pGHaewKv$koZ;r*c`Z+mBn-9Be4{jMWNC15O)f? z!*waYQ^2fo$NnAb==-K|@KMSdjwJ;|GTmaF3gDS(Izz@45?x?(T2#)O?8gB|BIOm7 z;TBd&v|vP^k{`}hN8?*?XOsJsi(PPOc4U;<-taCZ@}9LbQGV1kJTrL{D?&*u4jV6H zhg=yVmJp0FvKM9AFtk(P7JMX|>Jl#CP$l}(fj3EJrxK*4gO-+ELNha z9doMC_5fNY)r1SS%cIII5iDLk_^Ai%=r38^Am}t~{ zgE6O3WZDQ$+siIb2LdN;-Jbx>76J*}qSFJ_qRj9Biyzo71#CwepgDY14kplUq~dif zxj&kVYe%dD&toMg1toys3+na-y3{OsG@ZphgtyU22qPt|V*Z>sHkjZh3Fx!if=98~Tso>jN!-5D8 zC;3VNH&0-TQ~B)l$f_?EJxLLq!{cir0|rF2O%)60d>8sH3oe6Xo{}VYav-s)NmBr| zy1Gf0ts~BFsoYh#)mPvL_0E*e94LgxxG0X^+BwOAqLMYbi8N$?L{#V0>oZ=UDOhkc z5lr4E-oznZ8ab6#_tzZE;4C|00Zy@~N^ZB_rMKYDK|+2ogLccBmem{;pQ5U5g~W}B zH-|6G(j0?k_TL5qt_#O=eE*qY_bh7ZVBEpTBHNL}L_IA{GZ1F~>zsr{&uBPPBC9!; z(hCq&7>e#Ih;$3CthAEas!QxGl(b?V+P)NVT==qb`dMVgco{XeDS23C?jps9|o|fa?2neIcKOu;Wx05b(-aY2gwrTsV`^Y~SP~@2^0|#Fg(X!l^m8d)!II~Fc6{q@S z%|M;qg3wEQXP*ax!L`)=Bp;%}i`*9* zV18edT*0DkF9VEGP7OA2nUwVv1ehwM!ct!lT4q`R$V}b3di#dn&nG#Ts32$^p`~Nu z9h50Vc}l^f;h4!cs5YpNRnHE3-McBSkcQwwxIPq45u+rQKa>Y)jzT%Cvx1b*9^xr$ z?JLMlSZ4V`50Ty8_tT{we5-|Kj#`6^1hd@kKrd(c zQLL9&P;+`M)G@W2Qyvtq*RV}`mx_dvJ{getA%>DZiMz_iLP?)Ihg?O;$_QhUvtMZ8 z>XwymAuA#x+f8|Nr!7*bl80qx-){9T1G=V3mOzIRNJP+p4izw3y+<%QCCI@tdv98( zm}vVc5K~~cM37|amUQDv3zp*^mN`K?ud-EmRbNKI;ftMnt$w%T?iQJIg#z9ybww9) zz2yVkuMC!%yJYJSX!7o+JgiXJi0p^nToV74K1M2lBJ4-OHZ6bWr4qunT3cY-4uln7q(?TX(rOq$HyRf>eBfx%40it38TKPWr6Xp}IYm7;+qoOHWh?3hBx!F|g(sZbETLVa^av zJ+Eg$4U#kVQCvcjXgW0ZB4eV$=1~wDD*torRe-86v5xUd&MXBp0WJLFp1_$Dm4mF0Q1D2n;U|`%aQ!#^>y5*Eg1%p(nSJ ztQ&I;SwLp*6^1CbjGH7xyPOtUMOl#P8qPNh$}EbDt)7TCEa7&VYtwYfI-^!F$0Ins zB8cwjEl5L9X8Qb%%Qz`%uWKM=hkXTY;DpWQEIG~93QOFB5ybv?2-duSD&@dJLj5`w zzxJYCm`s6F-`S=s)0ZA#P5vdjne(n3&?d5@D=pO?S}1@;*K%QHiRV#QhdCxuUIZDl zrDt!s4|lvsiWEaQjVc~g&QJ&x0gA(AZjI|298>I66DLfFIpUmj!l%GJ=OCHA$^d)R z8inqpIt4ALMmzkkD*?G9_p>^jE*^!A7GV$>b__f%3BI8Sn?CYMobL#{pR^S?NbUz; z5%F2MuP7+L!C+8bnH(525h;am)ZrKDXNQtx+7e|(h>o@zxDsg&K7t)Jz>h%Wu5}#?%(`Lfyk^$O?HJwS_)7TluYN}+=aKzPV-B=dTP^B~vO;j>BNZg<# zNq{u6CuRJz{VZ)2AhYjHx^L%N_x@*T7EYmX@LKwyh6`?Urc(uPl=KxG0UWa%rJ7`# z%az$LoDD|so=%m*TUa{_0Om<{0=#fmPG^1Xi$6{~Ih3o=j+ljnSsArm;5(f95$P5< zzGO^!NM;s71+c}}LYp`!xQ8wT$xZyo3iH#VNOiHW%zlxn%&rQ?Tfr7aP|PdgJ` z(*A*NFIh7K6r$E>Dx`bbZZhK?4BT)6XgvKcKm$bbB@!j2!ZzWWB=Km=bq4q%j%7db zi?cm6NHcj^AppW@OB7O@az=CoImMl1fFYdmx-DWvxx7dx#YbjNNpae&OhEO>`V zK#&BQuTxW$rd1*Cgn7X}P#LBBW$V;9n66HZ`whbKwuXb%?^zXc8<@)s!Y0OG+`0Qn z+Vxr#x533BdP+uSe&*ZAJ3TZka~KAtgUmA&hUHybQbiQ|Pkx<>y>&mcVjsdPRqXfI z5g%R^Pn{lZB?V#JSEitugXc5Qey5YIXJaF6wnBq7QufRVmJN3So%A*fS8?_nMkzp{ zs7L=E(uW!R0Z~X0MIcJBs0}z7(YZV)(Up73#4LcQJagAjQ}Q+fvy6SJF}NqOo4j+b zLgWN}1z`Zh%!-N}RF2$78KvWcs~}dgj&^Jr9JBud9fi(@GP#1tqBBAC?5JRJpey($ z7&I7U-yy7c-5-&91pbeJJrUqu7LQLo0%N$;AO7+aj#Zrv)bPOR0zHInE1pOn8G!9? z=C3j!8zyt^?Wtb3-7ch41!m~edjT9Xdjnv}7E{DJm`O;wJt;*t@|c{8Y-MgCIUq7P z_Y3*M3Z&eV&P_-_W-Ji92bQtoP%E7rkVO+CqDeXAp$by~4@ER+4_Bi;K&9oVx=o4u zH6pAW)_kG595lN9fxv65*a?cyfkn{y2|DIm)6jlw&qu!DBlMp+QYl#T20$jS0%mfBZki&U6gg$28Bz8BB92CEVZlco1(yb4 z7O&8C0_4P@>jV@tC!ny7=%&e8{k5;Mv4N2D@eo6I|?G2v6C9;Z|7SckeOQ2aIu1BH<0^? z!4)3Eh}iEkNZQD;{47m#kj&Am(qh+9?i9w+OoEg5#Q9~((hZha1rN3ZB%k4au`?$C zYYwtAhK|qTC1NyX9kXL*X5((N)xWa=qjRh>Rs{ps)l*|AwG4{W&iAn;k9ul%gP}!Y z0+|61`8ytHU1m_`Q~WP0<@8#sgN&qGbnyV+PbPK1()NHaafEY)iw9ikc42Cf=%jCI z&=HSZB4=bJWnY!A9^&BOvIiIUT_Vsmq;sC`758J-3OoEX zTO(4NBTnshK8-Q}WgfpxfQhH#XG!}AICV&i7hD+nA;j9~1lFA{sU#37ciQ#koV{6r z!$Gc<1&Iw&K-L5#PJ0P1Ip}A_*DU#)kjzT<=e<@M21Fu;gwsHZ+*Jyi+ZSi-El@>L zGO~I^_pp71w>dyKR0bORc)8{-yVb3OxoFu&g2CB7z%I@vbZu;3@&UA^RtRlyR?-T5;P&&)459D3Z-c#|R-;1TxDs>_#jvjMzH{!W$;n&A!o^Qw z9%tcO1u& zFF1EZiNqV=o1!GQEssa?7?4ET9*=f+&H({X#0){g1SpPY?_Qh+&;Z&5&@j5ehtAn= zP=ES<-~B~IMpi~vc6K&N?VNipR7>@X%2#B(BN@S+vHyi{hRi4Y9Re4{gjaW012P)J zw!t|dvO&XSb1Exs75OK_*H8~X2@(ZK?Sfs+{1=rp4vQDwz%)=ZU6+E9Vh))&a{Y=h zaxD#r1{X}oC1C{O)Loi5uGzTACDf3oK%uA{V`Fx7CiB!oz#&aR6l8po&F%k90$e%c zq*oX1ZqM+Cdbg)sodI6l;$Y_9AHdIWD}bH7vL`lU`)x9Y5TyDA*-#v$3APQIH?bW4 z*M8)&$cT;s|4n4cGg8&sYQLh(6>BcG5LXeHo;SabNt>}nPirhOeM*LH_b1krT}&NsCFPRXYQy4t z-;GN~fXXGGF`ZDLxB<&0J`0x>8`jyb6{Y%SYK-V+aA9Rj?saD^OG8)Jo;i|auzLi_ zn9A(XRgH$ghZp3P9CIt`dvd7s>F?ETm*Di+;TlifOvku9LXri?ICPy@plWFit&qgY z%69JU^X?(pq1C1G7612Nhl?u?DZMgc)AfN!BJ45I7Juae}`#xJpc)rdGXM)=aj8pW|L=Dxt0iG zgPGdT5KPE}6j%&z&fjrPUJS>U;b{J~So{UXkE$qq7?B9A#hv+mOu$mCs)M^GRJHaY_!*Y|c_UcTglzGNcVRcqidyN4! z+cTq{DSr9}h%l>}4Yo!EOn(aIp?2yFX7*`4ebJE!v9zv*^c7?ZEyw_3tj1JM!iAmE zN(zLlbEg9Y2-T<0I)~^s5b2i?JI z8FTx%u3gDRy->(&(G@+R_M+w^GA6N_@nf1P)d?p|Cczm)4QMsze%;afD#V#Y$40`7 zA)0aF2iwc#iq{a;tp`*@ou#Oi7G=!@8t3%s1%{cDR5R8UUEwsJGKkgG6A%b^)E#&p z7Fn*@hozaDO(H3eqFT*ZGhQ!pT|hEBJa3zm}NEaNm(a+g@+~eU&Rn1Nt#{FT))u&+Oj%Ewa?LkywZVvN9 zZ7h-;Hsfc|Rcbr+HHN9CH-Q>5)_I@ELxH2nZ#SdP@YY;TkV2t1t(*r;HWKkDPo-ni ziznf~q`m-gc3Ng9*3+H7`~yS?b~QW>*{#s5M;bKgZIss%3V7SYS6ZjH(6|>;sHRA7 zCeDKl8sg)vplB&Mw=qM9RLS$SFCklY`xR&t!%CN?!KpYTJJpG9YdfTikGo3}A-FZW z;}GuyFG#zO!oD0f7fx2D;QUbGa2PHsF4PoT8v#Y)kKzP-hp1tD`PVSjXItpID1I-F zx$hvz{@}d#6BT;r1~Sg}eed7Q{>WT|0ZR^U{QKVlL24_}pD3hAnq-R-gq_%n@y)R{ z4I;Q$l9B)l<3Ln%vK2xPydK-Ai%G)Osqz6GN0X>)Kp_wS)u)_~|Y>bilqV5orR!kQ72&6G^Bm1zpH-ZhX*#;#Ak z^MV$ST13H`X2}$ku8}@166uBV46u^29!$H5!Kr4OHGy2puaxRF zlrlPtUa|?ktw|(E`E{7s`_tr`PYOzz;V6-?@VvpPrhf!%c$nuQ-La;&_}3m+^)Lg< zT!fAz?1HucU%`y(ySkTzfiP0_g%49?B@OI~&at{?d0TUW zFKl%X7%21BDxsM(<+l#FNi&Qu1gvhe!|bH<(@#BIlS~TMSE7Zn-xwfZ1T4*1+U?2C zh>g194#Y9lBqBIDMX|eEi^s0!2jI70$wliK5=P(fefjGg~xs90D$D`&=lFl+bZc>dm7?xsIy> z$$H={i@xf)ot4ba&^6KPhOecv|4d{KcN^?=R>dPlhw|1>7remGh$n3iMn zw4blKy{M8@Y>+9K6y41k;fYWwsgR_r3y~aJ-oi|uagBB)>5pJ{$zBqfEuxE4L&*NF zpKD0lQ^FTL=y4BLmK`EzW&wvyZVHQ7-FV6rxTHLctZGQc$p102I{wRWX;nhtkbmqh zv_7<~hK=$00Ig*P=o&}U>T9WYPuRQypH}Y}+DPO&E6}!ci`)dSej`R*aBC&VlB%nn zBQMZ(f^S^F$ws-`lMcD}_z!aiGC3Ez@cN!ii$2wGD1zjWL;2>~A!^^DRtg-*_5KK1 zUd9omlnFwprogHN-#Gwn8<-Lec!H|@uwHHkn$fdm;aLk5YBfUjF>CaMD-o>HN**a_ zQ4Ci`0UH*<8bVcMlJ6dHje2pDGkc2~)Qi6fg^6rBN9HEhne^O121t)oiRj$lA2*2E z%c*jO5hx15%wUE`_-jNwz(GysCS)OLdtxQq3;7#tJP#9U87AyhrhoFW9%Yv8T)~m(7I^L$d{$?s<~C7zzlAiDS+}cY-$&0 z?p8H(k}+=8iz0U^4NvGAwCdNIvOv-Wta?bev3D!U^UM+(erlz7zTN2$U_>wjC7uGdH1y`x1uNj!t)4F%U_QoL?} zR$sgzIzfLXG}9&3i;6sT_F3cl$F8l3mk~?q9gzwo08ToLU9~! zsV=)iMRUsOn@$op@R_|GU1Nddqd+L3DOW3zn7+8^?k9&(5aUbl$`&ywW(?PGLDO!6 zKRn%gy?}u`2qBfitEPhP>olxMzA`v1-b`F(>(_Ua|H~01HC3Rh-$5|qfOj|*;qX*D z6^wejGA5P*Z3Oe!o*u&sYXB&-Jr*x$R@vA zyn9Gs>~T*x7;% zomwiQzV4u2Kl;|fl))=7hoA^#)Uo}v5p0+_xT5sQ%kqgaP&JRJ3aT2mPPSRC_V9CK}&A*X(C|K3Uj~SB|LtTa3 z{KaOlW$wCQrtZs^M>y3NJYkf^#_=sELI!pUA!wgl=kP9HAR_`7u_9;tKC-CI#AQY~ z%=!S00QD&xR&|$_3O`ZU9>afcHPKI`#-SmaIb8Mq-iTpxK-FiiE+Tp`xQ0wo(9#U$ zs*%J;0Zn#MGp9}254|L_ZDCNH(KR|jA}QiE2%Dq#2ABYPDfC8gG8G99X51OQ&fg^@ zU8l_H3|3v*B1~*4R-k#KEw=l#9D6SopSGXzD*I?{=boXT)5y~WQIG)xQuIN0jW}-9p6rkZ{$>I4; z+2sZV!PXoTgrkhhi;lEyr#(SJ73Esk=+I2%C7o}6Q7G0JlwHAbs*8^)E|2@W(#YoI z1gN-ccXmcJRATbFa39S@m1``u0zZR?5Q6?OK&-A(m<-Xe?v)#e z;6rN(noyGWobGS7Qo&vp5DZ>EAdOkwataHzDqdlF^@LB=Ra@-vGxtNikt2&hhy_nN z86rrU1xH4#nS>gH372quM?7`9)6MM@A|?7c=5+6C&zok)gJQygx;lQ=vUx$3(W z`MP@LM4m(?UO0?ipK9X)nuXfXaTUojuE9kzCM0tg=q^4nNi#7R3OY)Av(WNPrIc8s z@;9`rx#X(+*~KkL&{RCxS^6{-y}E^~fyDs&5)!>Nh!m&#N}pm$5VT?Tcjh?PJFMo2 zs){RAb!AKc1c}M>gFUjtU?~id0tQ9d$TG?RLk*5s)hCZIJETOtOBIfkhd)58!??s? z?W$EUpC^AyauXG({`9UJR)|tfKf`0VbsTGt{mcb3*I@1JRlW&bf#c+13*57s(6r?5 z;K0Z7SweiSxJG@KEk_5mC-x4zkdI&_zyYC3ZgW+Vi3EP?x?)=&Zqu_PD#x5s5euyOQEjUx9u>}Y zG|XbUz2v2NGscWY;ipsf5qp6fSk=Ts*EELb@H*#zEy4)1NEZcswg@{l1TzfO6V$sV z38pQ^$j}2CEk^^BJ_QSNA67nW980rckio06U4tLs#abn8Vl#lJHKsTOElOp^n4wqS z;*^V1H&ZlN)t9RQbc)kG<@RBu1M=}_rTLb^($m3HB2@6P=j-M#-yBGY6KZ|B(>K# zp-6F1hZYROs90BU4#*N>cUOiJ*Gxa1V(Rg#D=P{OKJlp&^vR^M_ZH=VDU%qDY~t|J zOf_d2-r=4@k}1rODUB3xSdy`1K~iADOWXylL<`n86aO+h zPe-08ST8u$oE&r`mQ2&G(Qrw#2QyK3eh;!u-uFijk*ez()UXB%43i4jOP5XbwDmZ| zMVU`1xM!RJIyUg%T9)(+)L_MP$5bR7<-${BGC{sdhSJsJYHu-QHTPJEgm=Jg@i`*@ zYLP=3sA>bG_o!BSCX2CVq>&;%6u9~q){{^zMEuSzA;=y-|B^&iiBfobuZ=tfYEz?( zDK$$4N8gANLqU(^^KjPR(7=c@%;XE|%1QGncFmIBxIKz^mq; zI}+h=T{)hA{nniFv5f)W-UmYUH9PeG_1o`B^yhxDh^QVQiW?)tRf=SN?MO#Qeg?U9 z=wF!{ZvjK&m)*r~a2#$p$g5PYoBZKJrnkULRwD?_`q>Yly1D@}Wli2(2TXRcB zx(p;{mqo}SCIG1Zi6{6zj4dwC7vjo>)Z1mp_TG7yDgj_}r$rY;yJ8eVHfx)yg~RWB z<0~f{i0ZCL4^DC*-$-kNIyet{{Uf3{y9?_N=gV{OuA!N^HFW>V+cLQkk{TFi5z~Qq zGhEj2T}3KuMmACk?rpt=4ODgW8OjWIVZp+T3OwR}Q8^j|n?rYiQ<8=#OalKjBP+Q2 z-Rtg(iop=^DX^^%7RB)i5vyzrCsEf5r7zA*bN zbAree!lgi9Ta&nXAs8URvB|JpQGzQ+1!kZL6cIl`I8v0ul2Nv6d8A>@tFfwyO^=IH zbWQCyi{MEvBG8O5!-Q)ikb6-Em_n?+q6#gfytGz0l5*u={smL)f@ZlSodm-OmjwIr zB~Z-QWNzGg^x@m`N#QSG!s{VCCgBDvf{Tb9$BZAVdR0m|rA78$4|)wem{xG{Qse>_ zT(~iaU#1;6h5^j)Vi#R>aNK)cZ)F0iX7RriPUYGJ(Se!4$j*MB99m`%E4QMT@wb~y zgH+9|Z!B;AUNuCb<$CcEqfWAi%pxj5TOLDt@fkd{xdMF160X8Ng)6>KSy+^IeGygr z%D5WL3P$$+1ZuS;cP>m;M372JU{%{FJyw$jx5Oe)uXtqNVov7v;X2*lP4nl>nbrw$ zugeO=Sjb5e^l(0sRda$e*k*fwz^XYR2~%3zX07o?sjdIYBh6P8m=1=z6Fgw(Pgtvu z-3)D~z2yGPTp_v~{IU}rED#h40uEOKQGJ@ZDK}5)ApLv8(>5Jo^-J(HRDqJ(B5UX8 zRN{oc71xg>=FT{lDHRB1&#<6jsYnQ6ZAU7H~_w z0@E_nlUaUX&82(tAfZc=u&%I!lhK-)*m7W|{$rHperD|Id2l~IOO zF(M?B7c+;vesJfsGb`h;b0%&r3J{~f55c%L3+0+{BJ2+ensB)T;qqqgc-`QGS>qY8=W(A(1wXAdE5%Pp9CM`TO4(Rg@QKp9GRq zf-xJLNgA=bOBLWGU&N&`;OY$p)&9x5w}YT}{h$pHJhL0N9mEZ_3&Jc<`j9Kw6)tne zl$E;y)4)~B<&n|#r~e6xg$1;6obGZP?8S7g|M1(kMspbFd5_u%HUYjSHATtEUM`!Wq!&5CFnZi{)!o~FoCM2!uOdQqRkjDS>M2{wGHfmcm$170;o zx^3%Xs3=qV3TbVI&t`Nsu|J?wGQ-lD8Q zB#vdqSWEJ02bIUGW;Y!)mtbYx;i_h$B1M(_L+IjX##vybOy-~la45W5W7EWv1mEZG zeTn-$V~X$>n7k%a+W@O(q%&Yku63HykJ)x<#+6yWdOlMwbAdufF^y4j>G za-;xJc>{^EHdHf~=UV^ex8-FSA}6j}(CSmkS0@dTtPK24%TdILr^Nchr7z4EWTrRx z0=7)ivwT1ZR(;_kJlm};{tr3XNJ1h+djI6$VgNbD5YDJg^@KOGQ5;gW@Q@+v7zLj1 zI@B5>3`e&wx@HN^6=pu+-9xR1p;vbxFiBK>TiZ0?6UpaB`)+E03`|IKB=VXsDXSrfhu9)f z@M4CZy6YkD%f5ut+n7y4}FMM$pigcOrSyl0WVt~-~jC++_P_G;z_cUp<)g8oY~=- z;nysU->o@X0EN2b8nRACw}IhiJONW^zKBDP$mB=}$hcc;o|e9pLrCQ3)C73bzwEq4 z**e!a8QTs_jgu+kQ2h*3)u}h3`WA^doP&6WBhtQStqdplegzCaO7(Mn-s}k5; zq?!H=Ta~T*X$JlrccT(>4Q1hs%Bz!rmwWxTP`5zU4Y+@tH|XisvihNj$y`+@2eq6( z>@`fw1!q3(GzsvktIl82TB(VE_FVe{!Q1WqUaq4vUvy`?5WV*V+a?>3+{bcQDf>01t{d&D7^>4TaI07BVHW0_AQ90~_#5t(zmTKm#>Jj31g_eP-X8ug5 zAy43b1qWw~PRj^y+>-sK7XX*7u18k`R`>kHut^29QIbk)NqpaGt+Q^!!cbJLXr5ex z)FkUemtJq+RyWoiDQQ^~lwP;hMC>WgD0hLzbzkPhR1-li+;>t<1i5gV5^e+;7+tD) zA`s5drd`AFZ>#DrCq{EkW5g*KnL>MUk`0r~+~m47k}>BY9*Ji`p@4O78^;ICI272o zsi$_hSu)e1r1>S84~rv}O`Le<^LHNCjk>1LT_`CdWn#ZXC&G(DF+`{qe&EJOVBz6W zn3du}-bYqAJRv0S3atporX*Z>ee@Pqo?}~wEt8Z$jj&)rhBHdg{rlAqFOJ^A$_#FW z0zL#uwR?6uD6@;qHbgt{`8j?|F)CtEg(Vt+%^Wu)jxb8k?{i_eDN&F6iy&tfHj|Z1 zU*=wOpN1ty)hEWNZq(6NFXZ>u!{tBIKECZ7ZWIX89lWh;5g5V+qC%qnRui*YcrJ9T zabeEi@JA#jTOM2BeMw6T4y(HU0`VHbLitr59 zeN-U2lLSuzz*^WKJdhc;jm{FvBCuL4)1*(N6U4yPRfz1gTA&t|QGf-E0#n|kuHlS6 zDjdPRE7T((X0n9blH~Dl3Kk@=gZt|VVY597j^!%MlWl?dSF z1{FShnoazk{XFk~_Z|9q-r+kOe}3P3f^D<@&C{^A&81%Z!H|`B7|i&U|!@OD8SvdP+c&0NKdRXZaq&fp*pk zS0{4|44M?lP&LaYT1c6-ZTz-3@-B+| zNC#<{WFJSVLv>N9F*XG!Zjr_yWpwdRn&u%vWH5OBysg(*xpySO)@%B^ zRzKmbpj#xx&kMFfa=R%O3L?o)4k=Eb_0H}mS0%#_bm!q+zwr!CHNE+C^M1JJ?tm|H z5dmj*4eYGp;T@TADV0Y^Ad*cm9Jadam6Eg_7wH72biG*MnJ&#bp_F+NW@LQ?)R2dH0{TkBH4b)Lk3Ql*o7Hfxy*<>I-!K(xxo;~>ZZh)DXs8y+#;pn-XBHDdIKd( z9If_TX4I^}e&cG$3$2(wsk-arFJ5;38}=jO zU&s%k<-etE^AIq?9z`fWtoeltQLqn^jq_s6YHmxYpxJvZc*47nd^wJwGrKQiPLOar zeo>E7jZxix);UDCgL7O3Dmbi-b%6L(74ZmtQ%LI5->ct|48od3GB<G9@5_ArSImX>d68Svo<3>1UfORAtC|e6Dzw z9o+^9^&`I zkmwi?slFWWwd(C;EeSK@P3Hae;bdlPuC-EqM=U_ z3VJ}J5GtCVSUklYz|D(gImey23X9ne6I~>F2tb%M;#zBVAOmjOc zIse46`}kn9vIWdCQ87S~swuE$!XyoyNL@dI*D34n%Ea&av3?V|yON;QouO_n`Vz$Z z$US-X78zCuye}Pga6!cm21TmA+H`-yp(cgMkkEh%74A^AmWd#h7~turzCS+4%U+ZP zZfX0roM`(SbW{F;l7S`fkI1sS6Xp9k=8B5khXfEaqCd(oVt?5<~jmfAbB(U{QAMEy9yemwM-i-`x8~xtV}? zxh0QX-35yw+Ad0-DTn;do2Q+f*-TC5gzDEM&C`knkE8g?L;Y=vCCvms$XwYfoO%;g zh=Gh%o~LhCTFaa3bxKJKfp3(Dh7E8-><1mxBtAoRFDEdXu@=aSDN8~ODN&AVj*y#a z`h?3!+@pr6hUiGYl6y(Ex+0(%g-%ybJ$H%AkJJMGQIk~7R}XXSjSbitiEu^ z83WN>)IxGF1r0yyplvj98!EfIhz!iLw^F;&jJSZw)@6GeNIrhS)sS{!8ukojRx+1q z5ksQsITxz#{zQXSO5$kQ@9yD5QH#~DxKYY&e<(HYMQ1GJG#OKY9w(0@EAAg-*lJb| zv@QZo{PZ3+qhG3!@W_)zZ#s%02J$@d7}8h}2Lo=?B%uNxetzsBbc|&83K0=_rVNRrN2^mTG=7@LKH1@8F{{}hs(5`QMw2{qd|!x@9CTg4N1d^y=fu&RHh z*i`t;P}-2Yd%_!!OqA9(rOB~0vrhg~x=J~h$mf*NLf_W-U1YeTV9XFZY(~1!2{Crq zp`g`mjp*GFdggBZ7zTiWJ%B}WB!wQZS5hWNP^yWY9sX-)hX#u3YEt;m%>C%yY{~_C z3=Rn8I)b{yt;g-RA{SnI-9NMq5HhS;xJX=$juD`w4mxM8T|`@a-+Hn2!#WLPDv+7Y zNHRvBjKCeDRa3Q^%Cg4Qnq_!hDr5y2X-9X3N6_<0?Vs>3)zXAs$fo_E7a=gyjZWX0 zgQE13B7|a9b1Q-xiV(lt^Y!P@ZFCngPH^2)^*QQe!P%&0nzu`YDlKT|thA#kRKKjN z;PqR}?klK$Cgec(6xtbR1meRDaW+mrTWyT2JPj9Gl0J!mU0N7d+8x zRJPz9@~QVwi?wF44xKl%mia1OIYp9&9=bMZ8d>0kY%$&SH zAu&~#fq-n|wawOjfPK$_{>Z6-pA=UJvW#6JL*}cso_z_M+PcRw!byD|Q;t7I8q%lG zZSO|FOM&4cc`_()rkYa0+J(9-pa`3Et4!KrGl7-5mK0qKCpJvSdR_J^@I59tPZC zO*2dJ-=mj;Hbp_mO_NTw08?ReMXstpX&tkU0I#~S+S}vKk|HJ| zxEG9{2YG|6Ua;p=O5qT3y+9Z^(;vobLzJd`dDZA(hwKKV0iWtUQ4V9dU~2k z&XCsK$N)mIiG_xmF4FpuLkG?2z5c5-vniv0pMsrHwCr&3S0l+X^{d!Om42p{`F2)M|#?(}yLz=3yRfqbM>7*feyz zb2BQIuBQ?c(haog`cqH9=4?!2Gin*^aJZS%B9^xLJ)v1Y;|M;hL20|9BpNm{{5^J2DW_BcDMHC0$PM{qg?yn)6So+AY&b zW8OPHq*Rdg)f604E->UW-Wyoe?@=lz(2v;ix$z5b>E4Br?Bqd02i~cAUkj zW;O^n+yESmvx_X%g8`~C3|`x2PnlEYMHgHMIAK8(bc0qcJs@y6NvP%C0b7uL^wVQW z$w0cn->KF2pta7-W|rbbAj%+Z4o*8>tpu?HCb#Y29 z8BSHPN}j`lAO};>Xc#6n^kHfV1?w_Y0L1j$u&9D0z(9lG*Q?e>w@(&dwCw3!Ah%Vj zR;}Bbd6QCQiYmgIiOv}JbfQJrm5mmlRKLQRgUQmjD-y1=fdjGlxP5wffjS7Z$$#VI zA#`|y*3>!P@55Q-@<1s!jxM>_gi>PS3Bp_oDO6uRKwn__2Fh;1z+CDa%W&>H@X4QX z$aEX^1Y9^ZWH`9?-_WPp{H2T!z`Yu}ytA;?x64!l5yhrZyhEb6c}BVM*_+l^tb_7r zpp?rI+KGHkv&#Vv8iNP}EDX^0#>_|x{%pJVWQp-BWvgR}TrVI}P6gsjI6l*5R!E<}_xaB9%na$d6bxb{!ywD>m*w^+nh(zN%&ionyqz zsPH;2ZFw7C;^xwVRkPdtgZdL_dnRL^App5hKf6^wVByS=gjQW94Z_pKx6M)2WfI1S zjlDyED6*!QGS49v$B%eqP`eu|l};`>i6xF_qwP2mlsiIEfq@Xe^1VJmt#x>T0wWZ< z%BT1$91!3+ROT{yk_(JD&BQVbhk|BAgH4Ut9bqx(n=YpvZG_MJL%yKEq+l}Rhd{!~ z$~3~`j&cxOx1S2fP-8Z8A~JMqL%stD@@-iXte1TwgvwFMlVj?ZYRot+oUMP<5& zOhG~3nh{8{z}2S|1k0XM}7S0sA%^13rNqK-^YZ|<2VS~0S**!zbbN&AD z;%V=67t%iEL7L^r=wV71uM5Q(r~3Q}*g4n62K=JpqYgeAQb5PVV$7XW?V};>I0_UL zGygGGHTO)=!_i(&&2DCtxcock)XDCf$lIzo)g8y}e}{xF%3fo+h6N=W;k0UjXsl?1 zrZQ6Ca0QT2s$1lzx%a0(P`sE%4Q?Z`hX`IJS%TO7HG*RI(819%{0wXHvWe&&?!sxp zp_viwp%)&X#z{$#Tv{Nm$&|TYhx+*qST*zH`Qyheu1P@Ppthg}hsFNOZZjq*Ge+ID z3Lt~jry35eyBsnbEM!%|wGjr0z`O&5;Bk!!e9J6erur?qAwn}o#=V z`rOr(b306|o*=a+mq?w_mApg>c!sq&Ch(diV?GhJ&v1zXA521X#MFt#7@kjWhVz>J zhcd$%z-rnX37i>j_F}N-iVro)xnyE;a^X-BBI;{MZDEoJsO)PW>HqZi^X-+^S3hiQ ze+}Din%phTP9xp>i-Iow+B;Nqp$&c6{CFZFg_W*a{$yTHMFzK8k*5S?6-vm7!A zTa+R*#Pd-Q97EDt+}f%M%8ssQOeow5pWM3-Il(foOncuZ&*Zlel$2-(IeUbFZjwVu z=^9uX1!j;Plu|(QgPht3s+xcFpKE{F`7H&qI&@-KY79n%MVF7hSu=Um=g007VEF;>opqqv)p=4|G? z^JYi`gp53=$BAE-18i}snP=1lE96AdY3mR7%;aT;6KvnG(-r^_>Q50if4E1%^{SFl zi!JQm#jOEa`Gs*$*Z=tYMY7c#9%U?Ifj4kp9;dd>gH5zA4iR&Q!I>?Vp_DtHHCXkF z<%>fqXbyHL_*~uGGV{fk`=`2%x8(ZjQ-q-w!+NH4irZ9pNssQwL{_sk6Z7B>sk z8uE+af;{i`LM{+ARDPGQ7zV2Lz?-ia6 zVVs?)gs}Ie1spfzC0)%9I5Xv5MeClPp|0V@0RJoWRqaD)=^YZL=&HedwqBr!8~sfx z8?QI-ZVEE}V7uFZRiAGITU3?RcA8S3^1yB%;ZQgt_A-qy{v=&G8~X+G*4pBWkjQ3Q%3ldDe+)N0NZOrc3-I{1jo zC;jdsES-jCfpUn~z&eGZLR3>fJYU!7GaBJ#8WNs3h6aD!k+wil*| z+RX4vH$zh|0CVYDq-tiFuk+S3xz0iB65Vv;4=WW#%ShE#irqUVt z<&1%3*b#5wA+1}zbex6GjL#i--bcF^ROcrp5NE1`%9P8iGHwe~eer-{#Vobafm84; z$Aty*@l9u2azUGzhh~~dM!AtsNZF@i!0J=UypfODLN1F>wc!irx<;(-ws+qiyS}4l zAu^w#Cn_1UY5=S02ZZnXiqhQABIE!D!=vumdBa7UF%b^6N=9&Kajy8SXG{Pzr|3FQ zt#*bD%2d;fveqF)HBA?{+1OO!LgE94*{cfXGYl|D16H>sd5=yr3lQFT#oQPdX`?4j zW>RZzoKCP;xN7FH0M{LHoGoK<@2E{lDr4A}b@K?rbCb)%2*K2p(ORhqU?ryyj)#=H z%w$g~#RKOPF&Nbs8Z(NP)l{|sVhMB|ca;M(oRV?x9g9@mLRAjLQ&KHw z@B+K1=E=DMV^X@`WdVl{Z}0|IHNWcM!+rcIzU6?-ptPBh+JZlJJ4fwT-Kf!7K@trp zb_l>-5yNq-Un$YAz80<1k;dZ#C62Y9SAQbzSoo>aOW|Pk zd%6&E`PRR~-sZ2%wOaTG@yjAoSfS)S_=&<*^AJrs=iNQi=HMDUzr5qulLmHY-#(p)0BJXB1r}e}1s{r+Y38HHJcgK^P|ycNp^a%V4vR z8SFx5ws^hJY3V@Ws<|x@M#7#Yh$n$%9cICl*i~R5<&~sDBkoj1Xw<%h@xuYmKtUj1 zFh%X{y)>Js;F@+X3q6Ze-5}i!+r4uReH8yo#&uA@RzffyY{6$|9T-k+L}X?Oy}?Ld z6ru*Iy0WaOATvdJCHf!s;lDBi%S>gxehpnaM56$$8XL4`DgI}OUYK!#=)TId)at`|MNgAT)`g|@46b_TVF)m)n@?drN9wK%2qwAq^iYg{pNcz&oUmtmQnV}? zm{<@D+(eSaX#VagBx|6#DnqoxKd;lc_S<}2952$WCsN)Dg0s?@Tq)q{CU~~~ixyF= zS7!pr!nix*CJH0E00g0F_50N?okQ{=hbo;8Q1E}b{}NgNdVQepEFCz^g1DQ${Wo*? z#&*lJiO@N`EVK5xRV0#PjPm2ioQYaX~ z+4bXwk31RIW`KrEx(7?|N&cO=G?WX-X2z53zXlwuADwOJ2O&dX$1lgsEqb4o8FPjw zc&6G&(1-zXJ5tPDKmsG4@t;Uaiy@ksXdSM;9F3Nta7RSL{Ku{pY%_7&HK%JZae$DO zhpdNWPLUk0-WgTm)?K?GcQgf6pt2!VXfOlItfMFo^?Qzu@I@cORceW-|5MiCTyO&9 z4cbn#wRno#^Td2aCXUCym906=h)9q2LNy5i=tH=N896`cp7vnIcuQYVo8$egl3_gR zI{NPB_!yO99bKSe>j$QTkGM>?Jnkzq2N`AFZ)=x+{5;wc=5+zxt{P2xX-xx;j}`ixIFQr9RNqQi z_*3>D!Yk{VLxV9xW2cg6l)cy5<~{ANh{*%((rV?x%(!*>>o;Yc>t~o9l-$D_9&3IL z4KBDB1&);FjhT&HAOYZ2N-orb98SPb0apu8w%4es2CR=_9^+z**TPZ|&MIR*BIBwI zWHcAVlme@M@%)T9`hH9FQ3QsF>bia2>9oFEx=*`q3eIKZt%0jXB4Q>8P`D~ylo<~Z zAQlK#3%_#Z12NreMO_!jOq8$fo})_;By{jxD$58bj$QnW_O6SMDo+kYJ|zWNefmHM zY5hkK3UBMHZS*JKLw!hicle1uhrQ*>OpR&ioG-^ z6W|ap5h?LEI}@2>Fw}xmBUOu}8gaRCK7)@z1FPMFT#A`MAn+S7rkCg|&Y6ZRCr(on z>STqgj5ALcrP0mW1KG6r-*^u&?Pr)A`cA`H^m~WA5av+)INX!1JXs=Zb-K)_e+J|Uq?PoP=s#xReb(4q;#hJi^>NS2Vx819;m3@_d^UiHtl{m{L{H{bUhi$)|}3Mei5M<^L;CUe<7B5(*H^#~~NU^HN()7>Jxv z^mHPd0evwb#hFVkS<89DX`g&1stN^Qd47p<^T>IMb043K=9!4ogPVbf$f&c})gM=U zZ*fey=aPZ_sfQS3QQD~fY@m_<%JXB8K$ju3HC^283|@DrwPT_^K|%JUBFdNR6G;_A z@T)uce))IklgPAD7~LO?yJ5*f3aGz8z^XVr?OjyhJv2#VIo!&ZDCAiCWzcl8VkoLC zFn>X2Bg(wcx?k83tc?COj8_?~>iU*KGiUm1Z?^>!*lf34`CZY6AsM*fI&-czhVL^I zTZg6Ty+pRzOSjj!j<1V12%xK9XoX)$u%04WJ&_$v!>12haP5DFxYIMH0X=^Xz-{~{ zTy<^v6;iUe@~iSvl9B%R<$w4e|3LqTs`c#dS)>x9;K*i9GTbc?;+>&2!V$I2p=!P< z4SK@!eM2i_;HgazxG2c$3H15G%3Yx3eO$0Be4thqmQ#xK9 zr0OM#QOzaJ@U;Wv2)q9xdHH4}4y9(;N(!&K`fz(QL3|c+-y4MeJBi#ZXu+i~Z_CDs zkSYhQ`VFrh$EHIaI7E#CG@`Kf$c%5Y-at)Rwt=ak*9)M-Lgb>#4Q6ZtTbFTY_aSe_jzd#|S^N&=H*9dHmx`o_==!Td#s*(xs8}yI2>HN)BHTb0O9kaQ=Q&Dd zAZK{45>5DuJXCchOg*03hgIshcSi0hv&NZ=U8w}G$`FGea80h($aUw7E5r<`2(KYl z;2edmk6nyzFDptlyACkwCQ_GpoI88#veOc6pfcl~7G zmDTxq_lXaEA}XI5&+8^%w3@+4N6Q35+c7E#Y zz$!t-&d6{KPa%5`nYog*h1FMHZndg{tI@qLBW!?KQ_V-+Gh1g0Z;k4Nf>#8a-mSh~ zm$(B~GRQJ;Lh-+>28-GTL0p<;)8M!z3>(U+>+>snab%P#&vW@*iE@ySAch+PQbAJM ztPD?al5BC|I0zS@XD2jsJ9?rbzd05|1U(YYxnyKA7oUMN&JiAbh|I>xkkOOwUUqY9 zkg5f~DR@HBex6)vG@EzaO@put>ij{rSjf*%7A==4u(#qBuOVu*MGRT}+FfQKM<?KXTB z>r?l>Yovdh%z-7eH2p^DlJgyp7%~UUyeIMqp5_f6Lj!5 zZ*jpQq5@{AVR~nQYtIOX!%hh$EW|8M^~EDtyMEVtz|IfRa$xk=Mp!)m zlawF?Ul?kYnXwk!h+&X&fKq+J-Y`bzV$(Q@9DEW9aT%H4&t|~A>e&qNs((={BN!%b z3^{orm*c;MDbh@Tf-u$i^3S9a=oA}O$3bw}7GN1Mjf74r=xir5bLVH|)f%gsU-P-? z2)reDjD@0Z56RZN3&(|A*OqL7V2Z^3xBCe8>m52Cm%>Dobw}v|x=@Ndz+Z6LNzG>G zWSB>0u!@8}_R{k=Es%e-*WNYMGAfQPUbs)`b%f0=KM030IizAz!5I(>zT<;+3TQRC zwH;FUj4C!^r6A-|WTjpWY{9W>mN6*lcn&U3IegfySQff!Jqand9?(5Vmy)s{UdNC2 z{>_F*VL+oq9eB=U*z~UIqipbYl4EGK$Z#=#)*A+Ihl37Ztrx_#mUnv>gBIJm`L+)> z;vG#f@9v^(ES-?#fhf2|8padSy_=}jb^4C|Cy=3FNeP#FRy?MTzzX4dxwsS<;t{hX29cAbf7Fh>5SfFjTMY$32AW0{Ayr@NE#GSM z!jQ~!K^pV{#eOi+mZORfxzzpcPd0=pQ+!6r(>t=s`0eUCb90mzg`VmgQ88Pm7CYxw zw95>y=0gcviy+BmEwE8&4i&wH8C-eH*4XH+UN=VG}^o)UH* zp{6?mIRCKcsm^@K6Sanl+90_lre}fXnP64<@cjDkJ0zmq`V}ykGy&2vg zPe$KI#JC&Xf`(yNH`kczGeANVZlNCmSl#0-;&$RXm7Zv= zQK<R7gs9eHu_^9WA`Nc$=a>v2A84mX6Z<#H?yIY|%MMyCx!3l#!#5y_yUtfBcrJ zUK@f%F8U^W6(Di*@ZXlX!q|&Q216)gwNj45FUefX`_=X5gu}sD@T9@ip$Wwwqvc}H zid+R35nd8_c^f5)FHWCs`6541bI)IOo%?+f0+~x$Hsi?HYMl!n?+KLvp_(J55kj0s zThm5xE%g@vIz;f#>{6YwbP7}mNCtY!fBFx|{In|{;>6a!1j5%17J|7zHU2x_+B-bI zncW!#bJ^yUY1Hbsu3>m^TXI%NE&UkLw(c!=);r_85%`crYB#G>;Mi6Zi>#48A%-i) zMU^f88=Hb0J*?auZi$mFB#4wZDx)Uqvbopg6Jjit!kyNw1)jpRus+?wYjJX66Wn)oGuoo6!uq z;3^#=v{=k)W{ZDtUPdDO$=>-}NKb}b=A`Q=2(FCQsOPm+t4Ocv23vTO3i+eH`rhA>fzz1sB zdnFTy;g6bF-rR9+!cnFVxgTA1187{GI%ww$&w}(L)%e?-h9{#1C`FTx(I?8tl#(y_ z1#*bX9jk6^>BPwI-okxR!JM-Hy_l8%{{Q~{t7>8MFWZlvKG}ZsY;AdUb?w3PAIxdV za3nD{@13A+i(ZX_yV!(O<~J|@>iLrg&mTTqd$zV}h-K85QN#j7r8OnAnq$gH%%jK% zm{OP#3R~OD&$gd$nxSO2*C-kar&QdWtv_9Rvhs9w{fS+m_n5N)QEAP}h@Nh4uWzjX z_nH|}hGC2vlE+gzx7^xb(Z?=iAE<9)B=e0ix2n>h}Djr!StZJzRPE z{K>W%S>~P_wP;%*rqXlk^=NtP(bihTFWzIlJf6~VXLBL5={T-VwuP-9*Pg9E{EH#=9$Yz0uJ=lPFg0vZxk(u zrZn6h*kJOwRJQGQdyhR3LMkGIQ!4KKyjXtr1Q($l(0iO8kEe9p zp4(jBeq^@vd+a&Ja`+e31c_lBR?1Qs#k3xGxH+kzw>exgtOaB>=!d;cDW~xS1_&mB zR3neBBb;z)kWna0hJCAc<{S{_(QO;CyK z<`iapb~UZ0Da;b9p_STH@QNAR(~>0%UUtTCOE38MH6KJqHSD5jFJ~3GOh!UIz_fAE z5)JTml#|@dZs!!94>QPuZ32xSI&f;21ei)^+8L&H5d3G;*o&rf#8xrjN^%0f?m)M^ zu=Fww=j+)VP0t}Ku~`_I#CxnHtN0RDJWXFqEq0& zmEIJpSzVl;z9Yp^TO|Zniqr5){DjiG2-WMp1A8f1JVQb0P8{#;Bz8>Er35x_tA@`1xwG6o;6Uc~pwdhI|#{{J#yKt55y~8FdU~d7u(!6}o;l^!dh(!lv z)Ql>yQi5Qi2{DG)hu}E@w354nPE3?Y0ClDAzSO)q{-2WlI%=rHN$JaXi`1GCC&qv)$w`h0Yc6V$2svs|18k)S zBk9SYDN7ZNuV6wwxToiBDCWd`AbK^p(!12?f|jxVj~3h*O|hqr+b6sG?HyWYGn%5s z8nrtDY$bRF>FP~OMaI!NdO#jgX-smSGSau&R>%EdCeQ$1Y0mYJ5Ev{sbHh6MqJ*85 zh#N5xr9OqYr>n|-tb|4phM}gmD*gr z>`hUr$oMr%REh~G<*O{U(H1!G9HC%Q%nXX8-x@rrq9#Zv`3aES>o%xn0u4rs05zmi znchc@ww<3#?ls^_@{^0E81*6U4hO4bK0YH8tzk2n$dlq5N>G)^CnrD8SRAa9ajF7J zuUPl$hq&EEQ($N%cZD|n&tiD;z)EWV;DS1@<7jKi(vV3PS%F5K?*;{>jh@id?Po__ zlOg3I%h!m*9l-Y_qP;kksBC_+M3_}85>^T~KZARE`zR#_nZ9E)`aTf78eHjNQV~^jdXb1e zD`F|5PMw8Us#lQD(UgvgJUycbdSs=A8s_jykosv>u!z`*EmI>au>~}UKSr@%vW4z& zq>~|?^xCjE%5@q61gLCq25-yF>{xX42kkER3eu zSCB5#`QANY8-%W~$4FXE~TJKmGhuGMf zTdK&lK7x9RhJL`@d58Myz3S{pQNQtrKI-0#2`FVWB%=DNL|U>5Z6al6W9yAp5;5+v zmFy%UrErBd1g{LeS|uJe)&N`S&BwzuGhA?Qk1@*n6dj@Z@y~gR0(>3lw8-kPte}IH z8D!C&RC1>q3QBjPce(?uq<3KBJqrTeGBaCaDw#78jP?dx?znjO6bEl>CmUWX(R{e%g2UHyE~KQ+8koVCo^ zoSPy&X)NCF83YTgKTG}$39JmPBb?ktiH4WWJ^Vo!Zh)=yE;WpUnJC_xwU3xbV-`d` z8SGrMRzxWb5}b7Ag1G)@ zk^DS*5(9LlIE&w4nL|l|rfB)W_*z6mX-`Q(x#kJ@AY42ISBi7QRE7m=6iLz}7B$9K z!dDQZ*&JulHX6OG9@|rc6!J4#5Inlln>=r$TfjSxZ`5rZU@N@|>S5L-mysE3b~cJ! z4XxCsIQ}JJx-L?HO78uTfKr`6DMBhz+4-Acr$tv^3C$W_DY^iWhImsnts~Bb1c(@^ zW*Yuz*zAtTi)4LPMaO>xK?ANM{1}0ZJ=-y<=++puX9QNMTtNd;sBckVND&J!SvZfb z^d>+)5jI@3Yy~5WB8MrGpkah4TCtMBDY%a95>;+D2jD}iv_-Q6D?nL)i*+NHpG^rpU4G>#HJD$q(vj0!T@W;8`Na0$I2w%yyc!XQaHq=s_l z2-b?zh!v~??% zYgLc$hI8-)HovZ5R}b6gyJ+f;W)R26sa3& zfGF?+bxiCp9(P}&sRcK|GxMG))Rh=OjpYj5dp>oki!KQUdAwQY*Y%q}T3T8%SXlaD zom>)MS@-{(+}Uw4qB{of{#bYd;fFd$ky>D0EwtRl*08}+nSLFKFLg+0Yb!`P0n$hU zp2s-4EmH_M0Z&@_xkFLtc^3@hn}3^$$&?~Y;5#Va#oSL(oo|Ew&-j35zD-61ND%Uw zHK?EM;dDeZKXp#2C&Ss>!BKQPGaY*pRDiSCJ6Lo$3V$Wpn*9%B?H~`KpdTG}Esy$k zEIfK!p)R{#g=QUpKNg%Kc*v8B0kzG34@gB&$WM@qxF4OB@lK%wP(VboqwYY=kH=dU z58**6Nu|N$#{=~c3OccaTe&yr?^qsmZ>%L^1i$7Vot)cZ?c;49dRxElig?YVr5SI? z9zsDU5Q&hGl>a!^kZTNuorM^K7C-ylSIz91Oec@TQD-3ZYji+LV8SyRv-QXO?i$0x zdTH=IU~3G8y`s&K4eEGH=OGl7du>5mX(b#dULh6 zk00;)tdSNONlDC7-7B=HYoQO-QP0MQk2eMfwCI48z}#u)HEPPgJx+1MPh8K z_3?NN(@A^!&DWvmU_BQ9c7cBG`_vgHE(SQ>oowJR84RbyZpnnTxE~U?{%N84UBqNE zIq!)hD~Qrzi4hkCQAvK>w8M?dVv%R<`Qj(yZZ^Afy!m$k`h8QV;P#Rl55&_xo=g{_ zD75J6lu+187|zC%=~yc#sKv-ub_;6)gD#p`t5A8~I_~YgG&3~bk_w`9m0~gVe321# zTvyR)nrgm*Dvk-YPp~F|@w6`ww&=l>(4|iM!1@=*(_Z*>1*00REiVOx(d7R&*8K+< zZmr4khzG|U@bTS)?b%HIc;EuF*k>38zr2@_p~n*?6+s~{HH=o{%`CsJU{mCC+i!7` zCNuW&ju4|P3W`Ec)Xti4#m2k&YYc^L=4gyJe3O(h#5*?LH#VJMS7gzS`{wJ$1LM~f3^6#a!m>deZxhuR3OlTF-+1<`gmyo)r{;KP zo^LHlwDBu{tqz?{TSLY(O4evigUAfqDA5nAY55$_M&WQGVR1qf})45nU(Qon?VUeLFZj$PFiUmPc(E;O|^NlR>aJ=k9YV35dHd;A9y?= zJQ89rpR~^!0{D0mjw0wc&QpE6q4xFhX4pf;=JhH1H!1u5c!!4ZBfW6$Rrh>wLCSJ_ z?+7BcS;6scYKH`Kwjk*g%|Sav`RbN8gN7p3cq9aA(IY8|2@>l1Fl5^AACCjp7#_BJ zqL$3?o5zE#F%D7+`q!PUI8rdz7 zxtCtxpa0o;yXwt#W_$%zD-?)n>O&J%34gu?YeHwRg)YPx?8DyqOUN_ZE1U9zA^zv# zlD~lEC;2^6>fj z?^}A<>FjUvpN3W@-a%;@7^Y}`34oRI>{)m3CA!jX@;~e$&M;yn=-y^h5t65%J!l_x zkK>(MFn#(qlh6kTr6lg`q08xBe`)=6@0{yLw2xO&3nXSrnTTT@j{}m$8Vag(F?qBz zwmYzEBTUt-R>rKX#N=%^cLqoa{Nmyq0V=!qmZ*8$YUiMRaXeT%KkuDutKRSqdNTS9 zC>+z&hhf_ThATbv;)>cXWXxJRv4)QZ zFbY4j*MGG{?QM^D;MO$DmJy#6onDp=Vo((P?wgb2r4AY@cb3+Uc{gs;-+z7*w}Sew z(d$)1xyU_+W#aX}YEscpnWAaLo%A@46U$tsI!ZH#ilM;QDcs>TIyz(TzZty1ABcN3 z^O&*wdJ2lc<4GbaJ??h{*O4JnuvBVv^?QyTP+k{8v}e65e{3ILboxKW4yb~7%Me92 zMjBQ}b6c45N%y3)M8jU%Sl?Kqi8RA2h&Bswm~QZFah3Ai;0URz`?yAzwn5!4Sw_V4 zOXgpfHS>>xrer=htfhMh3-$8F;3&nkGPQ)1sDd#`ePE{5K-LdfpzCzE_hxD1(T4nG zrnX?D3cy75p+-|eS7GSmTYHI)cT?TSv{uyNc?2fqpK3g%bpzQh9co(5hYpOGAI!iC zBtH+r~7eetc!yjU7{eU@$5R^c>v;sffSyV)!>mJ(S2g)>ae()z~o=I?j5 zwjP`HE7+I{z-08HMpHt!;M{_a&>!$-*~TBwI(RYfGX9`R(hug z-9uTmrDyHe;jgQ|7>e z>CRpy9#l!*^4wzCxhxXrrGTo3;aT=i5vWrAWm@zI#1OO6|LbQEb3$7BS#$WT^RqoV zTn|Z3HXl)Nu6_^ovbfxvkMAT2Yr+2=)=Y%FETE4drJ>44#<_c{|us3G;0N0000c$1k%r6 z(A(oV+0_u4W<#P1_Ob#nA$_RPl+Z2xS8Hzu5GFeNV6Y@Onn^2I9ECCDVoW7EPfE$w zVE@6zV9+~#(6d5)!2}x3!~iLYFNj0++i&RqBQof?zw}=lkHu#2Antp$RmPqOO`v#? zBMA5pQG>-1wAf<=t}MyrlsW`Ij{cAa8h=aUS4%^`W!ejKFk_h&&Nv+XT`V>*re|;z z{WH`RAIJpJ4nhG>@JNypNQyJmG7`VX_@;e^(rE{BQ2ei~EJesl|5m#rpSXTHI3}AY zbet6!a17~!t*kISQhkUqmFR3Z75DEMS_Q_lq-c!A0g_UfQY$HD!@w7;nZC+H(Fej& z@ag`^fQ8Y=8{3-(z2Fq;yNs?645aW={l8Hz{(VUEmVp&~yS^&u0gi%SYeTesf(70_ zZ=d$bejRb*0*Rd8|HzsF_;l2Vu-bdFCu0}?5=`7bk=0>PzzpGQ+aIyfanl^)YCjW%aTOb%E54M9+8vc%QSHsd8ib)UNLQCr%!$V;P^?dX` z&IH)Nf%O%3nZpj7b=T=H zvqTyBN0%r-VuHbQjI7k>C8>gZV5sUt?ZQIWP$tevY3ln-P#-*)lDVc8MOQn!7l+R- zPSHinP%1EZDg;x~hY(MRP0~@4V`OL)Y;tpk9E8HEApHC^P8KT=OcJbJa1?#U%Y@`E zHs4)vHznZ3@9ZyGV`h4k3dbuj_=G2gmm&PYgX)m#>yU=@$KRVl6`Y=-g94P&xPc1E zZ0cKj%00spmX8ACwg=%s`6mOZ6#vO{`6b*G>qU?r7f-Q(rrmmVq5sZYG?)X z=}>qohaf7&nSBHp49H_hf0)fta030yOv*nolv22>RyA_1J?lulpVYb)7|#`o$>~E1 zSBaydnW%F=B9SwWcr9Sd4OLEYl)&^E9+LHA zY5n93{|_at$G;a9LZ~G0l-TDdFmHG9QG1j}4`1$o^tz`Ml=0__PIRar7G~6ibQBICWwJwRAgHtSMN!gkIu+6#rMAbuS&D zq50dL!wx!V4B$k-!w>wo*)PwAD`OsM$R#ioU%zF6Vgd%e9xRp{Sld{1ED)}009nTd zo|2l{JGwZ1xwJz6YsOb#*N|74K!~EyH}%9nJ)zgfF4=+rqQo6J*NW1FRmxLTw+pT!`d>q<;2x4!dEP=4 zg`St0U3&iPF><40OGWX@$VeJkN@Y$>7;A43HxxO$3W(_IJPdtMEG6>mSRiu+q9D-1 z;=hroJN17L7gNTP{E~$9v(%^X=-JxV^T*p}{R%9diCb5Zl)`0_?3cGJbS7;>$7U1) zdS3yr(Y(+_Lu~OKg)D{OCDVrxPl?Tt1#9J~v-h$Qf?Kk^@iLRJC<;Dtanaphdj5QU z)y#W=b&OwRFUEsBKld^#0GlA zAs0)JnvoX;Rxbm=pJ9G+pi1$k8c{Y7K?-d+wO0zHSVdua`Vc`X$uHwmzSo0+m5bvn z(FSVpu>bx*hdf0`KMD<#4i8Doe2jlaT5W-3t#9-A^}#_YiCb_yvG)An0y!ex)1(Gn z;1N(5rlk)trV_ozsuHL6Y(PueroYTVDv%Ot2w7gzwjx9&cZ0nKz4OiznG$v=cs`Dq zFW5~Ugz5Pw1E~~4L)fzyo9(W()E6kv2}76z@-#F=;t6C{jA!uHOksh;NC9L(Zu)98 zB~+W$sX&z>QZSIjMYFfVK#G5P?__^z<;0eTD!6CpHU4ycUjb(hA@48!fd6@j^)??| z;OFF*8P~!n`kk0lY=M=Xq0GCbR1jqw12NI~#~NKf;L4OBkJ3u8j z?ILP_?CjmMGEspAIT4vFIEsFE1MLx)*B(-_lqLTA407ZiT8s8<81R#VOBqn@4jRA! zipQ11)(@CdR`~!&uhX_f3lt4~oeAoLVkwb%{TI)Ec(Bqtj!X~*1_6EFQ1M_&<{I5t z-BaB994oO-f0>O@aQW5{OsjsRttf~}?$h`*BGARRWeONsr z$0;!KQRnz9ZLTXYW_d7~W=%p$LhBdY@!1;>T~SlY;8=+RVoP*<%`IW-!(o;34cvkd z$KVxN@_$8=WPx<&UzH=)u9b0T--9Uh zBqZ_&RK7h5`^pro(Pa%~d555=w^bWw9gMhVDxYwXb!ape|7IA`nXKeK@&Lc}?fwZY$4vD`)e@he4@3^5R zzt!Fz@#BPZqu?%75GJe-7EuY_3=LMnMHS9?fhMXbOi>@m1{Odn$r%VreU1wzncm#E z1!vm7%%uDiLn(z;d;>o~Od%3lYQ-fSUV*hL#$(#?j}0RFIks{M0>s`(tV%+aDG)gd zR2c)WUvX3Oa-4UPZ;L3qr(mTOMfR3Ul8qph!eK3GZj_s?& zu$sZd1v--n60A`a{JL7}9<pjGz5qp`c?WFv&MwY2I;R)o zf}0&sqbT?_FWM4ke%x$WP_O|!gzRROoC83m_L*K7PQhLpTIpqs3rVqvW z%FSW6sB-#2cYJX@sR+iHO7xnZ6XKPrqgE37;!cYU6!XN+-qR><9L0D>fC<-L2zfrWXtVW2U(B5T0 z5r8R4zF^VwE`tzQsSXcxq0IgNUjki1Li$;gC!Let`P+s)t-$7mwueFTe1N0a*T_I1 zg-bRlup4EVtY@u27_T9CC)STOqLRD3yT7~iVBeO#EAVvEYYeXMDinA6zG8bZj$FXT}tV?;!QThX?R1ALVo<>Q51)dK7I?sxKa$x%D3tj;r zk-uSWFHq||0MqeL9!@FEY1ZC~^jR`E|y5}Pqt%EQH6k&j(*M!x?M!b z6eSj??TroAD{#TrAiO#1#}HFV-izHO@iQwRh+s!(Kq_~!JNllB5&5g)ALHi)S^eY% zaBq}Q&=wDIN@IyWNC5m9O(>;u>vjA56iO#*%F_|u(MPi>3UqmWPw4rl2vn)go*(S} z>E6Ah>%QQ+b#L>~A|$0Sr$*eAoL0ce^>tZAXTVh~CGxq(^{&1>C2qQfVtm~<>#3aE z0*;3g=cvPqEf7*Ga%;t$sCCSRWfl??(Hy; z;$K6(u>IZ%@@5cEfAWkU43z?n%t6RmNWdvAA56E7qI7im7(xa2qbf*DNgq6zlKD(S zEu6Eb&o{Elr=c=lV6yR8gOlSg{R0NcpO7tNUSvzt;Eds^M z%Lx$;9qz9}!y1<;X(Qs7np^N{!vtVAYC&<50FkF5c;>xCm=Oj28Xr*Ufybv00i2SW3moxm=KbHF{KNnF z2l~How-m61Ap_(y6e1Nq z9=|}WD?P*#O%YK=;prR#szm=uOeCb9ZLXLYgzzV`iFQUCPbAoZZjQ6Pek0r=M0O^c z@F#x-P1bQH<^u{G(CKIuk9;d!nWyK7(C+M0i3&repcq*Q<7T^-tU_F!?q4_D*3Wt< z8wQIFi9jjIHFDBC zdG8wrR--D>85CwD$v)9rv%oUoUglZ1K#K3nRy{v`dD?q@np)_BaOvc=8bK<_d6#ua zd0X68#O&SA9H!@=VpOI3x&JR}k~^n|a!8D&fN z**y_QhZkI`4u#1KK~##hU990OE!h1@ZN>OXZ;|LvhOsk*`_Ml(@z2$#8)liFjOKGO z4391TQL%M!L0`JHSIC(&L<{7Fx~(0Ps~-hT$=r}CK`T8JSVwI=acx>Twm>OpR2_=( zl-$=1?oMs;_ERiAJc#YlliUF2VK;sqN>0B}n;C5(5a5F}Gjc$R|3%}IHaLzd#aaur z(*|04*p`NV%Wshm6-qEmcwYHoU4Dw8rNoSp{~ngq#oo zD!uvr?!f^YP%$T~_}dJwz-OWF^BU^IBL(whf^3ORs?KJ}6ma3-eWnyV3!YM%<#Dhnl(2I*kXcG15#;TYDmEa z(ZJC)Y2@Gf;Gp4N`@8DOK-Pe5-<8+Y2aBi#eH5qDKFy{o zP%iagnp3J+N@N0o0cT6}KL);FHTXrwt|1gvwH>6ftv-HikPEhKf{QsI#s6hPl$1*U zxYtvnM1kM80mvh3{MsO+UvwwoL`}3WC}4FXJhM?NgURiexD`?TVB4mq6kLr1_a=`t zfYBj+rlt_`n<8?cyEm*0ctKo(Vlgp&NCGSQ2}J%SLI&@TR9 zANP_Qry#ViftcPnO*;Bb|BTZgD>fswn*TL=7QkGJw3;L>{kYq;l)SWY!TIeX>zXrN zV0*e4CNo=9rF+d;ZAef$IXj2rASz{5!2eKZH^^*|w2t|=KNbf~= z?+CF{r;m_&YDg5ge-lA^22N?sg&Ql5_$|<7!q<7~!XF4v38}GdyJ_h!*bNB{-T^88 zRn!yYTEYD#6e;At%$yaN32Fq{1WiCCHh0t;Krf`Ely}P7(ASxcJ}8zFnLa(0V6G=m z#&1xo?=l5_U?7E`)h@FuFy=?sLjm*Cx0!%GI4C9ITY7D5tUffWQLyA`FE{}y{1A`e z_R8kg&rvkhdjx9&`XzUq%>AHyxOTeVZJ*+nM{m}Ps32{L_!?x(4hL1boTRtEL|Ju- zA(yNodLX+JzLcV8pp?i}`8OMg!2&nJE{!rL3any+AX|mW7%(MtiL8QVn-r7`unESD zpm^8Ax}wW#i5V(bkds`oQV*&mwY%cx+gNcc$dyhgZi1ueH(UUi1cD@U845%R3&M+H ze~JT5NR=QT;<_yoGoC8p0CXsyvl`#OIODpQFI-9pOlrutjO56IlAN_oAP=k5XVn_D z3KMTcuHe+@+dOyr;GmSm!oI5&wso<4O5%jQ!V8=Z3LsP(Xi8{mum6gp0$`3bho``B zMz1n_h@rrD!=7Y6wvR756n_HqV{Aq%*mDZS#PorBoyE9H+{gGr?LgUMJ9!1#OLFoQ zONq=NX03C2Z;4Ij_s!%LTu|<19+Cx8`~^|=)}N-^6&Hwc5NlzSQH{I_r<6X2)$^cx zxY>qZ{(NbxeSnn2`Uf+zf_#}heiwm<1or>Y_O9J=9>=wCBHjsr0KtnyNtSO(PV&Ah zn)m2)*60Hf(QrwKkPBAlVIdnQS@b#gyKq5&tU0yYn{Eo@nvdZEOw$<|Q zCxNEjgx=G0Ka5Aq;jcpTwZO4DKcO~85179+Rn0s*SJb|rb& zR*g{PxT=o=>qCZTkGIbX%VWh&(Xhzt8@-ThJi~ExR8zHL;aK|QG8K=~#H;I~1JzIa zJ=caHiMU&om(afun-F>37Lc^B_^BPA#n=l=LZ|(x>sT3Mex+<+k>yrAaD_uwi-Clr zVIzbRwZW0A3?1HE;Sxnn+8@YoX5n%iDz_7k%C8ZE+K^d>>!Kg~ZZyD^plNEy z{e{u2MF_&~$2B(kwrE^dIfS3~Ra%hDy;TkjEUs)!9UO~R@>-)EmQo7Ex+Fp5o8VK| za5$!0s~|!wlKfQWe)GA!I5C$1KD9*r|DC-HWI*SW`I3vp;xk0Z9WAF>N99|3F=LVC zc2>U0m2}IskK^_paq^{r+rS~iP2Ll= zZ+ngfg#cO?CNdg{c2jJL2TdKKL(`G6hc;tqiU>xQzX{K`atv#Aw^@Jux^~e2zt5ic zHHH?W{84|whmShWzE9p&a@@vAN)N=H13a)^eo((qB_jE5CTWDfn7(x^-pm&y;gsSpNsE3>BEj|M^PcsG zaa=$4H)|veG}%Aq;aBV=iiqWg+hN8=n6Qq`$2h{>*9Z0` zCP`_!)9=b_XhY>#YFb8O1R{RAQ+<@|!XjAPML9acT% z82jef>-(g3oBAI0RV{dl4B?y^` zl?3;%rpMuS$KbxJ;GWS))O>6MA4mAl+NQ*Zdu(GlSeC0Y_vLJ1>gu>JGlt9xK*$?n z*BD$;i4Q6R?9i*n+;IdLBrtbY`?V5{OxcQAT^*gfk(zh!(E(EumVQDzsPKFoPdVp!P1lk5;0H~c1BV1oJZ(KD z)`GL5x5AzVWy5^b8;69ctwTNx8)WFVHaK#rVg94hTogox!!a(*cqRscb%*?_cQ_ow zV5d^vop*;UU3P*VrTxlCcw#AyR0}?{9Z8^D~%kM%( z%CdgKgYpx+3mcCH&+&k;8I#r_JrYM-pNR%2X>a3PE;r%gYEFJOos~HT)?vg@%2q(q zW!I9y57N22J-Sa)CfZer365CQlH^k=1LCQ^^XSE+w$0OVe_SIeZ~d`=XAw+22P1oY z@(k~F^%N|U+^)4@4PVF(d;A(Bw5)o4%1S*2ChcC<7zaZ#(}|AtI_FoioQ!ZJ`m6HN zD+g%~mufj}=p8zm0#*5oG+e$h6m)}yrP^Mc49BmAodf)^k18F9t(aGN4Gz)2Fn4MC zQf`EsG-zp>@hly8d24Rcnz-cutlt~MsY7qx5nUO)q`Y|g6#`l4C)3c5p_QPtx+&EH zO!kipEqymD1X|-h5vcBNZ5c>?#9;^B9^@Kw! zJo7!bwIFq&O3VbYNOGHhc!Dq&a}oQnCY!c(2z|sbOa_p2dwdV|jS93?r5wvE^D7k- z35+y1g6U^}*>dmhIE7UfqzQ)by9iIO`oVu6&E7>{#_U=NCWu9nrZQA4;@d{!hf{`@ z3@pdZv|G1s{+`{0a)j2m2}h=%@=}6^eUC=R*!S1HFm;3pBA^m8u^ycTDSQ`=Mf5TA z!J*m7VyqJ9WI!X$o$!L-(eQ9}d<=`&7G;ZL?Qc9osPRa*M`!r(@d7^*m4&!t?lHes ziire9ntfizb;RUoFdSE!H%FBcf-qAY;PoODKy!qbAsZ~DWTZ0CmBabBXDC``ThK%)Ul+N_+GfUY*SgG1tL zX;GM0DiRq!T_U;Jab(`5I3Gn=j}b-QU={G7>5D zA<)63`J&0uFh-0c27&)78MQr_AFsqj`BAWwUi@}Ao@E=l@+9{Av&H^|s-2xun>kpf zJ7G+AzU)oJo?OAJ_WC zIB(60^z7^=tzne0{zz<+e~!)I$s`3sd^UVNMp$#KW4J%DRo!6u!FLVC#?s$(>Z6ks}xI63&dAT;7V67Ba&W6CT5fa37uSFywJtq~j?J+zB z*HhOa&a_OV7Etou3Q@BWk8=uF{BJd7s_8iVX)L;M1Koy3s(T{DiR=+ok@;6c=(ue^ z1dy(x;o4rCcRe`yKPm1y1VJx3B%7gk2vr4+QWt59OXk~BSanB<+T%6@BdTI`Y;wd< zN+zTY6Cmlte<^Iv7ck};zkFd|Upee(nVX}wgd)XfEv8L$322(rvD=kU%2|F$FCs9= z;KDFX&?{n_gZ~>cM*wi6ESLPO5$p^Y%|LXZLGG@DA~;+;Wtdo(c2v^dv08gPLMAFmQr?jZ=J?n@|7wPcqng50KJw2QC*r^CqedwVbd;WSaj*b_) z1k(aA(T>al>{hXcOdmTG(J8xfrc?-Al>4?mBR1m@II35JC}sW8#w4JY@%eaItBK!D z%NT*!e19ooT9y|>Xiyb>AQmi^ZC6B&3ri8!&JZKXTOBZ2uD?j?4g^1WG+gxOBUM4J zSEx8{t`ep;d`fL%V0k_>XX6)q&H5Cvg{@lDA!MI%Dz3m;f*+X@K&b@xs>kiYeH<2O zXOy7<&rhDE*FXQ_7jVP6=*-?OPhf00 zoge?={x7I$%5csX?wN^2+Lp5bj@5_L+Iq%enPUzF353wmRhK*hgV&SJ!|>D8(IF-W ziIE`M!1fbyNvqL_VZmRW1ROdIQ=Nc7&^y(;98`AJvq}@kQG*~_3nt=ApNL38YJO&K zyDe5z4r#wdK+RZW`SDuM!7VpY4t@6dJO)P&7G|gPAoXiAP8=KII#*P`PCNYnQ(ACG zJ&Gs(%i!#Zcn*v1b&PC<-Jk~gYIHQ!-%L9=)S}qbSJCxLjYNulaTp|y%-}Pvzr+SN zvKyR3)^p3?*Dg1@FF(J)eDsl0*)>-avi(qnlY8& z$nCh_GK+0Ty%;>D^XX#mXM;~=R!h39u zl3m+8Y%sS-5Sw0h8(^}3VGg>R?bI9(T8XB0XF|`=O=uQj8@G};1+}>Ua9oWSH<}rP z$hQhBd6?Y~7kC0vj z;l^A44H})4dEJO8Aj!C$%ut7wsh~s1VP0(}CcY6M!rwrA%x{Lr!#B^Hw)T$uNJiJJ zP>6m_j3kCI7P7Wwjy^Ef6#;>upK)jX8Y*{*O#SU-^yX>HGcSjnK&Y@R#J5mwxFk=u zzi7q!!q8#!VyY#(UxXq2JtO|aGj~&^;F$DhNI(Xf?7NW1bs|B`m$_snj^hl$?An@4 z5Q`+A95o^ZwAfKQynAIF<;zK$;8uZauFM99ov#OnrdEz?EXk$}%+H$a$ypeWK@V`6 z?l0@}uw#0f1Ec{W#Wiu7q3**>sT~u@c-sgF1pVu9AeNZ$oe3N$>Ki=Vp6Dg*v+3k1 zKN!w`Kl@ly;A(>v>CHSWS(b}nAn*_NO!uyGQ9vTY&7|X#n@0_fQA!jJ872W}6;mp~ zk?Ci(l!2W>?i&}XQPu6&wC^9!Zr>VFOHhAop<$73ar2i0L7O7ibCQeRe3ZKlk7PS< z26K@XzwY5ll-+|JQzK?p77IjtIlV;lVKnA)iks}m^Lgda%W;XEVFKA2RMPH!zkput zUk{!?d(>j?hL-6^Br@c8tO#e*rk-#?|5TN6bih0((3NxO3>8$=fa##HQ^ z^|Dj@h7y}E{SmuWjn6{df-T$>Ph^i5@H~Ii{ip6?bZp2s>}F{h!zCdu<;tFGLnY<* zV0C)>wi_OE7%qp2N}1O%mVZd2@iJasy%||)!y%r9Tn0V@u@09<{YI2-hu!~bf^(z6 zjW`MSbn&WR#i@1_IOHUU9%9*%pgZ3B41HQ`cpd>J;tHp&mRuV z%3(t&V&70vK54hjU~%lPhb?9qac)$=B)kCCw_$N?Psm~_ArQp7SIoh;$FE0|KBl5x zuN#&Ps@?=(M8@U}uh3b5tG&hB3GR#S9B|kzFrTR!Kc@O!P4^MyInx1euQy_K5*SPW z(a651cWh1cIv61VK(H$@%#dk$$3SItqH>@TirAMQJ^uZZhmQ@k!(`xiY??QM5cC36 zG6vBx7?V0D)?XlqclmI%sAEDo7MGCA6f^=6_|r5<(@rxV9%C!31n>=ZItk&7VIDWK z1kWODQ&xbCW>-1K;bpy8@TJ0$O%)tE@G85ZtNxZaui{E!f(WwKeT}0l zn9s2AV}{2L2M=54?`h^U@cfwIFNbrUX(-167IGQr2*m#0Jz9xkrF)3jDoa$sFgUuR z%5JEtzop8E%0(kSF}#x@by(Lje-SY%&PDzuA+w&B7plxROr8eRT&7kLh`=BH<|_m0 z*r=<$4*&$ae%k9#7y9tXfI4Ph&S^@UKPQrl$8a8F;2o=m_;B5+xVv}jg>}Zmdx0GMfM*$?wPF$(gBHPXZhyG#xVjb~Fv-N5Of5XA8hN+BW z8EPJ&N-#29mc_hpYvAgL#yK_u5qLY?`GhwTrtFTRYnj&!qVf-^Gp8tFE79=JG?t?qjJ;r7QVEr?XD^Rs=R7ZV%w`&kPzhU{ zb3i+GUhJ67U=xbimzpo@9mA)1Ss&XYz!3H0bpA>wI2?2OFHH@eeK0*_z$W>n{>f@$ zsT@_(Os1&TikjN*AXF zXa@|JW66lw3eV;AF~;BLJ|AYY&09%&DhZ7@`K% zCvmgQy_~M`HUDGJO)%j2zj|Tc{@0?-RdZ7$Yo$75P>f?tTY^D%~l$*eHDa|mq(|^ zCxdfa;e}kLtPzO77Y@&V1A{CEQXq(T6&t>o)Z4wxvE?wILFUHTOo7N=!>1tUm($P_6$F$+OOv<{so*9>xAQOt%*F**#O=c^5*l`G=DWkzpUsIc0 z4(=ySqd0_<(t%|hPZ5YkzfkW6j^z(oOmPK*c$a6hIi6^oyP%rOphh49b8CF?TZ8>x zTO+Utf8_flj??@yWHTivRKi9qyJLi|GzE8H$7}|hP{dBn@&P4=2U%i(t=n?? znSYa^VD}WqObNLRZUiFmpMPii&oNJ$ zcX!{V@m45H#Bed{#jHfXVdrqJ;0Br%xlK6$YK<>pyU>glxM7RrmepT>v0-3IdiiJu zODrqJIJza|GTjn^2z)cuCVHE-(wxI#^QNjKOwwI$QEEBr5ptP&L?8m+OkLW63}%HRNwK`dHZ{$*K|g-Jp33bP zj6C#R1lBXd=CEY9xlJ?LKV?EVtzE33;tMO^c?oT9Lumh$2#XU~`~Lm@C$Nmme*Eaz z?xBurhsy2@00g^)M?lXHOiMW=Ftsf+4HRIAdQp517*NNuseTH~nlB)Pyd1)x8&Jot zTLw*!`(XqkFidG@)-=>nR>@=PuONiH69tm5dMms`5JzJO(_+W}hJnEadHuYua7lYD zIZQCEvm4!(W%;M+$}p5w`cX&Z;YLnVu$ zDDha03%x^Yr{y^0AdA5j2;$vHdq+opGv(eOl%!mnWdnsI)rI=%#!+-+F+~>$;$0aa zicl@jI0Utr&EiHVVqaJ+>>}@wz99YZdI8i5k<99K8fb6<&t zTn0D-5qLN3;n-LuSbgQ>VZ*VPt7DbjP*s0Rt@KePbvt&>N-2}S$b*%TyXS#(SQ-54stwz>b z*0J?U9s{c&Eb*22deaoxF=<;LeTIjiskpp~`L6Po>1dDjd%1w6!pGRI=Pi89W?F?% z#NMrLVGM_3zE#-`SM|44pB>{t(J*@SOHGfAQG&Cutl{Mr6LrTL*m5l!fe6gg*+Ju# zk3%Y1-}3>EBrt(&SqL3Ni}_5C@MG$Vt)TR8J}}v^33I6}vKo@&d*Zo#)VyMGbVA5w z&?6Ar=f`OgOV+x&ZOvqm z0}RWJXT6h?%Fw_u%t9`M8-WOXExb&s#Xd)aq>KhWeN7G0Hjq_!7UCaRG2#ObWW&Mg za!Y%D@W6DDW8GOl%mj=CS7OW|gYK9qCR9;e_6bGoYfwY9h+Yo#=20<25&a6>B{br< zIIj6!{A)(LBAzDx8s6f{SH(EvuaoRN2d)H zonv`w?iU0iGVddUYSuKILp`^?CJ~P`Y`G`@5}NRv6|Sc$2XODzay2lCDJVP|+h<0O zb#i^>1dIe}U$P2;_uH4U!;DL+0X6;Nn0K1V4CVln3LR|r-a%SS84Y^+nwn)d^fUaD zs~^fk2~ z?41$xrhXjf8MQH=!B1eUz=h?~DqS6VTx2nz0ztfM{R2cLm>fTOZicGE0Ux}3ARqno z$6X?$k>I0atKN6)6vtM(4*-IxC#Xk%7o|-Nv`3eUJO)-lSmKXXD+A~l zE31`-Tcz^d6zNeO#>yJk^tAu%Y!h<=gxrRQf6Cab1ASVG>cdpVF{Re8or*?^YuQM; zd==u5mr_Pkne;Wa-Ie~=8phsKz~jkKa~W_VvGB!IkXg`N_1}LgWL%OKmx2Wnw~fW zzJNFo2Gp~yBXmT0&=d&bZA}-8)<+W?Mmx$h@6F%-qR49Si|>hNH%*bwV%B?YeY9_| zgH72s%Wnabl~RvGl}Wo}YKeQH$^~lplxlHxHtsEDuQXlY*eRLMv=cuj_)Goy+v-ia z<0zn+3~+#9YkX2&f^`_R!Bk>{K9~JnNx1n^@E!>xvL;;4V@va_* zb$V5A43$yc!@W^5+ArQp-B2A`r zQ6+araD&ku^p-u-H{Y(8dJ@X!DM_`TpEoW!3=@a&y1vc%OUuO znL&<@G$BKx568tw_OApis_yD^;s6f0OnD;^fvF^TI<6wOzL%0f(MYjP|9p+d=#GON z^Og$?zbRf~c^Ka0JsnO~A8^P7IFek_scX8|G1@hg?F3m)Qs-U~FEO>W;<%`c*$gtF zSmN8Y+&sgjrK!LM=RFi+YmBlp>c1&I*~@qc(Up6Y)=UvTKsazt8KoTky22XbAIuu()R>M_%PdporPC=}; z>>vK4yorTOs9&|alERvgV_DjQ&k%9rdoH4b}tFi{-(;QCVnpds|4T}LK6-|MEx57mZ?wnp5I?oha>!Kk;lI%i#5OAD&>vMoW5bqL9 zGbdKr@0cN)$+S#>A!^I8>W_y#s{wfS!G=}9Ciyiys(>3s1SvNi;n+e`MpL!)H8t9m z#j!pbH~5Z$8?za7Lb3E0j^|df<>+8!F_;2DJXt+t9G|zWF`LDWP{f8^g%wjAWliz1 zqfSR4h<7`sI<^xv0ulInP{W8zYXj~O-EvOT6!~*1{Z(n^*LW3cC>(+n z^BDquOz;w72DT#x+|xLk%RomUHV)UXa4LQL$_|zHTE8+R$#(K#1j3i8%!Vt>lxedj zRS-#Z{V6)TCFruF%Vn6no{Iv>G+O~klCAkzG~(l7?U2gRYDHE-R)E6d0 zyEi+QD`YX%5eVXaG_Wn?xFsK0dtLw#EUKSdUP?FwmarOyyr#J29}?B|Za0R0vM)v* zQzPdzH2HHPp{3} zJ@2PV6*N-FlcL6>1IHQ?vzfvZDq$Z@pdjd5chwH;n9X1lir8E8>ESelxv-0@XGzal z4Mzz{o?;`cFS6c$BNRjuX}G3-C6zcDOF}ato2f|rmasXFzQjT9!;K?FWAQJZU|JY# zhdxR2n1U-vg6xfs&J8Jf45We(k}{MY*k06Preo-=*9c@tk`;z|jeCj>RL-r_Tvc4{ ze;uFKm#dp&5pR2`pRibws|Rgn)Q+_?NU)X3SprM&t-^%^p7~6F^J5zPS0>OB)*iDQ z6Dwvj;Dln)LolDl`sp~sityTePnEu=(qD(ceXNq1T@E22=QMT5pA*SekUwNdS=HZ$ zC62pt&T3fl=j_Y&LVsbs96JO%WHGn`!PdV5fuJ$796cMe8C*gU`$i5xKN?J|p^>BQ zL)bsVPyv$Y>g(Pd@8K(39LMNqK10Hfsg2Z9Jh)(3bcSzW&R~X-Luj47)og}FG}soD z)%i(UzS1pL@GLOHT?xGQ+RggA^-^EL*?gA7+>m$(or;9TDW2ho>T!(Qe^dYWe};LJ|AoVpv%(ICfddV^9@@kdzI6I~-e$$a~3{ibjgh>ler1M$<2YD7?*stB+I)A)$nDB~lA+mfzV2LlySCh&OqvJHHnG9xt zA!=a{KNudatX6P?Zp%5m118C~9!h8xd8t!v85<;LE)lr%oX*9cPNg9zA<1(E)+6Fc z+cdvNh6veAa}kQzdo(M0)f@(_$^_QZR;^2$k7b9988WD8zL)I zmQc*vouY&!&lQ+oFJDy;XdEpTvzZnn6tS;LD~Uas=?=$CWSW<$Yly1 zfmrUeV8no>_AvII3r4~u8znz|CR{EU?pUrRJvEBQMP9>I(#95YO- z8BkJPIQ-Ln)7y?c6j=sGh6pi{=d$o9A4Rg6Dd{XCW>xCWCi~trv2c>P4UgJbT+8AKGE%n1&&j0ggZf zzOI#Ms>L1aNAtFzz#{$ywCQ<=Dzca&3k30YaTYjz+s*Fc%E`Rpl8$0VmEH1G(Bw=@ ztUY)*nrOoko6jJ{Hi}3XZ?fO^vTD!XdmFXbtlNdt!QY>^e~`trn?Mln8sb2-SoJxi zj+D`0r>}|O@@g*85lo>SQz7Is*b#_DzZ`-(o)2rYJ0&UfJq*MtRQTtPtyXN6>7SM zR|mY`z4v6GOc|DNz_SQf1iBtxjx8!?Gj$^ru`kMQXu99gVv@(8DhMI@)CX38l{D;_ zaqCy707sI`ZwB+aNgOjShas!gaSZ(; ztHCe6C!UY`_Q`-l1=Y9jo&dl?UwMs)<0sWCFvp0C*-T*xMeIA$TEpdhIP5$g4^I)2 z<^_H?P5#IAbBQZZ1{nqr1*|%ug@&b|mk7A`gq&NQ4;|Mo>&IzAB-Q2KP?YbchK`{c za+#)#Km^{UE`s*l<>u@dUMV|b`}{oG8K!UgMl;JemyY_AD%_bvrKOon6#@)vu+^Kv zq-25Xm-A~Uo1$I`Mh2V}8&_10#t*qn$s-Vf@35tUSxh%r#F$QYJh~uAIdJ*S0+VOScHUFT-kr#?v%Zssa?ECGMku!19$(F*gMZmg8+@d4iL3J)w)&5`N-u|RUr*Fk@4$}P3^t*NeI3iN81vQx&2iYzISoVpoEqmEu9;!*UUN9) zl9bUIr~CX)S39Ez0-LHw4m3!Bj4>6$ayhU2DlrWk1U&V{4ucJkNj zXC%jOb!#UG3GP|XS|T`v&gObAAViGknNz$v#4WdJefN1LW;T5g&NGB18}GcnsRCg+ zR>k##gMg7>TjPf=0t>ro9FMS~ zxeRy&V(Bk0S6KDzv~U22Tn0D-5%^O7c(k-9ZbxHlCIcH_hP|+kaM{+<4vjU;pR7{`x=nuy}Xye5bou9UYC{R5RJpI+9

jn_(u@gPP!?+(O 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

+1Lou=ZNNV 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 SYzZtX(DbDkP!Hl<|NjGG5EAA9 literal 210239 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 Zs=cLP9-Be~9#kUq$h@@xSdZ#+{|DA)*~S0> literal 27765 zcmeHQYm6LMR`zqo)AR6n>`Ck--c;BsG01c zf|}*W&0lMt{DtPb&52}BXf60=4d1@oOa|z;c(u+xO(gqmvvSY3V)pi%&fTfdtTo?D z9?cgw>WiUSwXO%Dg|AQKzh1QBm#ihrdsRLb#S{L?%XsvO{G);IIllFZQ?p*SDuG{( z+C2n%x6PVH4G$T4N`fa=v8ZiGf2KK?9M?Zn^J;-_tv+u${%te1ZdoDc0n`tOCk>K> z0TI~&Ser|Z^HyjqnW1COdyw>8GM*>nk+@KA%NG?8Cz+J26|+|N ztcmC(-hTvr6jef}9!oKBM$Ni|Z;$4w$3bj*H(6UP-wM&zDo8$(e@sXaqHey|NQM`J z0E!S>Whe|+7FiNC?>3V$vk?cfq#VU&7&m9PCwnTk<5fe;$20b}q(8DMu@m^I{_Ua; zZ_e&W210W=3L0U>Y9`y7Ny&`k(3x+hil}r-M#HVJepU$CNkaZtYl>CQJo zNa_yE=MI0G3c1KNv4P-J7{yKd@w?3lw03vw#Ga+vY9E{3VINN(nUk*?FL3)Z=18rs z-FmTUPrxSaQ)t*}{GGzzGx&S{;WKrQjAh63jOEaw=K>}?-tH5T z;RTD)l=0#M3CUPC{kViDBFi$Ci6E1lFm5L@s(}zEr)Zl?j9@)<{8&;Zg6zG>@)iop z_0!#iv_IZLf81&9k0Yu-2BGmMvSzf`)GaB=4g;pLtO@%Wol5SxEXlT(Ig@)O<$4KR z$DC_vb1t*F!FeyJ+$;ZV0}7;B-CS!U+SZt=;jn%DjlbHyZQCggj-pcrG{!Wdx>a#Z zPYpRxwwQh68)g`qt6XzyW*t_|b+hi7t5$d-D(L_PC4B`(pD6+XOBlUX1s!hEj$gG_ ztSWmRR=__-B@A8|z3Ld&Wj%g_jfGHif)fj0aMLjepXBd)g;U0JKp8Rkod$-$#vDLy zhAU=Bb&MpoiQ1XvaXZ1&jIbQG`7m(i2m`B%=^OJ_i6a;q(_k=`k>{Id?w;a8SOA{I z_PS~dALoU+eM)O6K5!;1=8E00zs4W`s_@D%p3*l@ zXii${6pXiyr~9)`ft;i9A)#i`xHOs0(b{_nAe$W4hbQAEd(n7JP3{W04P9s`Xt4ht zBKTY0Zs|w-5Fnho0S|+t4``H5U32CFcn-!$jIF$3$`gpV)1Dp2f_WE{G&y)H8L*)~ zw9M)xCh4oE;hj1a8w5?CIhzK?PfQODOvRiYI-WaN2pEdn@RzF~P5g<{|yMVL`B4=96Br?_`^ z8gmNnA8}{RiHo}R6AZj_mdz z=bU2=pCqH3lf6;hcKnqovsz^_F+?JmbDMfw$28YnPT?_qXVZ90>yv);c<8WT#RMV` zn9LzSketa3Gl)d70MNuqVmV_ye=3}h{YO`en0?40TEA;Ggu0(fD$WppQ4H=Fu_{nV@e8tzxlr6WrEi| zLT{7_4$QcL(4dStV%GdPtfVEl#iL#fF_S)yLd_&Q0z0Ub#Cm|EH%az@NnCm!4{01w zeC=ivgXa55UoEIMAmzC{e?yEv>Pw1-L!J&_S7-2vBD*U zRJ6WU)j=&=sVPk)N5cInsmkt6)rs!sSRt3?0OPeCqq{Y+$*7V0DqeM8BT{QHB;Lw$ zVX_Jl>u}5TD%1N67h{YIiW4CQYK1ha7@2j0d`+-9_exqg$#~*I;2nmz zaIA;0xjM;;JI2n^f$}p@z;m}P=p}|Pnnp4y$|+|$Q>AE&KEikMa%6;V=Kd(FzHonu znt#LnI%~QXdUAhGmbhP{M|cNu36a>IRE0JHz+?C*BO2>~CHDm0OQ!Prk3R1RNCRB~ z>2yba+_O}z#31(qeM;fSeHx$L-@!l9z}-vupkvNee3s3fJ&OKqyL`dm#idE>8qhM3 zLd$^ZK2J3cs5);@o$f6D)zM@QpEEVLnmhLc3tB~Yy!b=Z$c8>0FTTwR-M91H>_pcI zy)DcDdq-&`!>I47IyH0}heWRGXduGTKm*p|jlzQ->rirc zXGraDxYwoV<&uCNKj&e(%DaV5;{<5fxN5V za44aCW&qeZL~MVn_htT2lf#LfOTUAtaCqAd-j(F{qxs(8|nMDUbB z67bXul5mnaBzcRsJ%c1#Jq3~E6r^=aM-nDEBlRv=W(k}NvC;*25i4Q&`2`Xqgwz&M@d$NVCWpw zsA%$ISHEX8#iCJxMWc$10$4=MY&sU5l?tTCOHQ!DEEW+r54G>$^#ambWR!L@RQkN) zOhYBXSq7EBSud!>N#;=LF)o1&Drxl;M5VKk*>gH7rGAg&R{|hX5yyv|9;`ofPk@}+ zu*y_VxbqMMJe{{?XDCnSby=c&I$Uh6ID?Wk7N9SrohOC5kJ}9yEMoL3#aJ#t^AzKB zeMiqu1GVJ93wrM8O_7pZNPO*IO@;9#E{qk~beSjW`m97-Zhjh!{B(!q=BQDx2O)-) zG!t@KWKVZkc`l{|n^12mg7>%xeo=`)EcUjF;2DTubJlxH{~y3po(i zq4aXA0b2;C-4ppHaWn1|U>!+ahY{gAj3@>QxDLd|rn?S*Emcl;9e%(Hv#tZOWG4c6A1nHJKV5KE4Q%_K*n=S|&99tqgX#=i3m4gLsDf^X_I$Qe9^WNn@Q3jm zK;!@`NSiz#R9Dx*H(nf^M@oYg=Y-X@#dvdouFU=1rH1#9-W1}C+tkH7Ok+;s7`$) zaz;FG9-1C@5QTxis5K$k?sp-9JPSON?V2yDu6cuZ%^dHVnPi7Ck$aYZB~lIQ$VNwS zuDpUhM;aHxrjmXX^Awp~lp=$zb0`prH179cC(`8g1dL=54_Pa9>uGE?XsY?Q*L zv1Zc8WsZ$L5C-RARLY`FQn&jKHD_&SnJ02fqFI^zypqYgTqeFM@OXg|()N>WWdup@ zBIQ`?%NI9JYb5KG>p;m>$p+GfrBX{Ng^Fj7zJ!t)C5-D_7?)JRMP4wi3MP30H+KTd zFy;3?`9s!4T594>2=hJw=67XR+vJf7sx!%rjq4Y!*&9hU z)z?^6bU)LsV9a2ec>I!UWPp7cOOwNUrwxfPPFYJo%U*ihkr*GQk56*_KAf}_xAr&sLB_)e2fcXsoFwVImTmbX-qMVR zuhrAm(UxhC(uF)W`y6ERD{Y}ZjSLpbw`x1Au~aQ5DzzWQXx}j#os4yjP8gg%RU9jw zaG%%>8@=H^j{jwsKpv7MI+F1Y+yo?hY7OJRjuQzwLRo2RpzIonsSuRigm%j9KKbAU zZ%ubBE2UUg5?EGJwHLrL;$hRV?3PjxZ2@+M6=t!FxET~!MiN*rm}TBon#<7aEyaU| zW`c(dnt_L2(2SGJq1h$g)(o0y^%O+2SxD!b3eD8MV(j3-)&Wd=10Q>eDsf~t$-(rPX z6eMmQUZa=Si->E|QF_kM@jHq)4IKq<8FU11y`Uo}nM219xePMssMXU69Vgs9a1`a1 zhk_AYcYpehYE9c(SUB)A>C?w%H#A)P?@H<-T>CMX#8g^iSN_~**7NWe*72|k5d9y9 zVt+>C*S&)eT_cSxf!8B_GA1qpuLoHH{Os1iEC0%^X|)P%Pvfj^h;K7d*55?0^%iCQ zvR0w{li;swGusDLuc@|*fa*C_AOfnY@ht&W^-a5gs`_#RgPszBHYuP=EN26%dzCOm zK($X5h=A&UD}xjPRc?@kS0bSLcj^f(p!%1rP}$3|+1o(yOd?7p;M?B0Z%ethw7-X) zhl91GYG!AjF~7<}pnRD_0DfC|5))nuXkJlaSGI3xeYI(Uz24}+U3!zrwD)kPEBl6p zGX>R|q+hK5Xe_HDRXh4iIcvOcs0Xz$8y|6~aD&5aElI){#u1cxRXcF7(_ZS~t#Q+S z6|zDLaO$EB3m0uz@le1;BThEmMf*r9ogQ@ifE8w4G~#Ao ziyYSLoVB4KL6OG&8}9Ebel)jC@RM=Nz)vr387E2hpoQRmnYTORmTC2LLL?0eUxTC; zyMq&p!m-7oHBfQN;6_B)X|i()v5-V>Rf7hdUTHY7+!^1Ivze{qM)jrp=MW{j^9Qm! z6*~Q?EYZ=43w{&O>1vy)B!yXu!qeE+z|((_vgk9B=_0`wA**k6M<|{aK|8c5#1_dD8ru7C?a-=}r+{c1$l#dHT-dE3 zj(y5_R(j!1LnnZClTtMl+I?1*=xE0~u`Sx6aE&zPw^D7Az5Eb2V8RVbV;&G^Gfqa@ z*))3YGDsw)ne_DH4pT06kBJWw$j|8OJbj zUP!S>DVA{_CXUSHrz!I@A#oHW&uF3}j%zqBnav_ZP?imhnX_&|=mjk|JDMuJVpBwy zla#UC2>DUV*#`|AMc{axI6HuoZ3d*HCfQ+J{%H)h_>WF(My^$wxHrvN-Sd9!Pd$^%*sCQ3zVS8eM4O(z zC6AjupS9@{j>*F@?Ygss!@c}P93FecIDgW3r)1!d1OyXIb@$pE!d*qV(Nt6U3T7wIqX()DFPT{d0~3ZqU$+1-NF3H|tq~Z|_r$J@yj91-N-HG&=WRFu#FP|8VR%`QtSC-dOu-hQUbA|G8 zoHiC(Y`0p7OEZS`>n!L!?x%|UF6QdWdn0f!gP1iph}~qL{wlvM1CH@frGcaXpECM! z-^E-qf>ZP&tBl;;$Xw)?SL}-#^AWC$z?Ch5U#^O4HU{GmN2~(WYsjIWOG;Jj>?RKo zmuP@ZB$Bh=<*giW-M1$rvMzD6#auF$Ax)bh*cBe5IJwaYaoTH{r=c?e4M>`-*_b{i z2l66A-a31f-LOG7Rt&h`ro_pTOL-Xfpi2vm_K-_k;q76U;#~HKOM6P}(01)nmv*DN zOY{$AS=wVRO*HKT?65(5+@(W*?7y*pXdiUx)DHJL`rl8XXD=8T#m_#*g*}F!{iyK(e#Y_h5UbLD*gkI`#Lpr7 zP$StBS#b<^ANT0&Qy1$jV3z_;Bdj8U|1~=BHa&Pf*=hMp=%O*HePz1A1igPRYT{y) zk-AllTZPe;zB^IK(AKe>-Rj3o~XaI3Kd~`0^UA5*Li};1^2x8ZilvhZ{uq$DN5usfh zAu?O&Vc3x$n=578S+qU;#dd{V9_`LZ2DyfjQs2XahjHY7XjbrMnYklnhu!B>u9@Mz zMjf<=xQX#^*{v^&{0f?YbepqZkE}*DDC2xh6qRh#gUzt}aAtQW12AtKwz=S}G@+M! z5o(EX7fKnMjByfYj9YB_aO}Z?Lk$~d%}{+dhq@Ok=mQvCBlMccW{u-|bZL4z4g%be zUZx8Jt$@L^foX<-VL#)jlpEfF4znirkPQUtV6Gs;^?U z>NAm7t)*!^8A0qL1fJ!zmy;b1I2o^afqAcN;hb8pjIa#?L3H8Id&x-FX3$BM`uTHD zqvi-Y7xRlXBFKA;E*=61W>tL{EhBYdf?$X?OwVEFE35&Ay0=_)A`+o^76RYTh_g#O zqB1VA9ImWn|DN9GEI zhkZK!0_=gACx{Hk0qL>Cl4Lg>DZC2NEn^2g@QJogS;$D9OZHhSPE6xl+yI}_h7RX6 qJJ);e_W`!aKo#16H*0m!VHyvd32Jm;H4p(uA@`9LGLUV|PyH{vOG%Fa diff --git a/doc/build/doctrees/netscriptixapi.doctree b/doc/build/doctrees/netscriptixapi.doctree index 837d6e810c91d163857f5e9c12db03d0bb0697a1..822d2b9cdfaa8c5f80cbf65f33dcd7849aa435b2 100644 GIT binary patch literal 51382 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 T8!$LibrABGiAZL%tljtz_p$8& literal 7564 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 HSYP-*$w#}^ literal 22937 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 literal 5358 zcmeHLTW=h<6_#z?R`TlRSSeh)7!*k?8`dgCBP3AL0!Gt|A#@A0xwx=|0e6PGWS2uu zNRC!pKuC(BKmzcooxT_SFa0I`BmKy^tX6KFJk;?^46HoE%i-asVt2lqT1e!nDVrAJEX9x8HtT0+Lp)H+-kzONHvvM!xr3%p^4>6 z&NNyST+;IRy6b2%F{;oBE!{%t)`+#54+us7LTUM|Egenii`Q(q|QFJ*8!+hvd3a!%j^==HD|z+je)ypc+_$F8v( z?1onrhs)#g^k`NgUXhf2P*0a&-8S=%C9%>9y@fuf86Tvf4*$l`s8IE0)PHA_;ZzJIU|OfnLBsg za%J%s*}@0ep%{7c6u150Qj+|n!ciph z3fq19#kGZnUm)h_ImvQCA4P)N`zA67?+J}2MA`^hl94fDI~q|S2v3@nxnIBU>q7P_ z47nc>nfjf%K>TB;55LGxkZ5g0hP<?a}0jP*D z08V8L9|$0z0&)R`JrD*s3sBgiX#mm*G5@`*2@S?KL>Tw!OFDj*HZSi8#KNDSj|E-V zx?Q*KTY;XSa%9=OyV;ce@v3h(Yv0c8ns?}5zs{lCaOlOSkAK^L(*NaA^r4DSy&|ip zp`NOg5Ag(_dcE)m{bXIHs>+9=G7j@26u(~dq$+ADO7RqB5tY){R!z@PT70dYqUDc< zT4hnHe5-0v@V-g2h$iV3>o~LOKjFiFJm*8-zHHZ7a|5$(m8Uaqwq>T-K#90vZGkM^ zzB1S>U+~;9R~q0@_FeZf+w=RX*1F*=$o7_2fwg!F6A~Y6!);&QT9HYtzL^x-Q;YZkh0HIZfrVh|KtOVQ7O33!ePH4|>bb3>I>~;6rRg*O|H4xB?lD)xh z8Mo6aI(MrTf0`$%Sl3~17`JMuwFpBH`0bX_BRZv}GKE<`A)HlBZPb&ZTam6j2f*Oa>K)T*MN!V zaYM8FZZj>iJZ|sfrQU*>luqH69BM*14~H$KbWn^i?>|liG8~_KUzJ~B#0x<`OSJ@O zV-4a_T5=vUK4JntTe?M|ZtST;z~_vkKK} zHhf$N-L@x)*j}lh8(O3)M!CY!8Y2R+=Y^HWORj@70YD7-c?th+!u1x6J5E%F!e+}a z-7=cyA@>*ShHJDw>*MTU0v{lF3oS}_msy*eqk{vh6h6&xYKJ|gM+eMi;-GY!s<3%s zTX*2wMq!8h@0D)DTOFZy#tpCZ{(j|$x+ymCgj;sWD_a!(x=-(^poURuy^*<`m);4| z_YHJ+_i#YgX8$Zo;;MXq<<@Gm`-}8l$C3fgOi=@lSKaQA3kt)dzK49IlAz$GuuTVn zkx(B-c)9K4FD!+S*n*J?Vnb^{^Zhs9eg_fV1=|@F$a2^>#nj5rw;C^C*|M!1MciqBTz zyV93#V?Jl#q$Gdm$M51~gP61NX9Yft8Q6Qrf8PR_%!hgxH}l~V3=u%2>(`+psj~rz zx*4b3coWuZVenf)cqKbVH%8!B3~%@Vn@j0+d^$q}RStlxEqaa)$a|+vF1FWqD{&2Y z>@9Z_nF=tKEm9&sxf~)NLV7|-*D4>!4VJhiptGLBbQ7Yb2M$=Dk_-xM({pZpov?+O s<@3bDb2?fSp%}FbU-QzgJb=RXx?y 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 WXT&WhK(##

  • sellShort() (built-in function)
  • - - + diff --git a/doc/build/html/index.html b/doc/build/html/index.html index 7f9e2dce6..b610622e4 100644 --- a/doc/build/html/index.html +++ b/doc/build/html/index.html @@ -96,6 +96,7 @@ secrets that you've been searching for.

  • sqlinject
  • run
  • exec
  • +
  • spawn
  • kill
  • killall
  • exit
  • @@ -173,6 +174,7 @@ secrets that you've been searching for.

  • purchaseProgram
  • getStats
  • isBusy
  • +
  • stopAction
  • upgradeHomeRam
  • getUpgradeHomeRamCost
  • workForCompany
  • diff --git a/doc/build/html/netscript.html b/doc/build/html/netscript.html index 5c5a73e07..ddaac0436 100644 --- a/doc/build/html/netscript.html +++ b/doc/build/html/netscript.html @@ -97,6 +97,7 @@ to reach out to the developer!

  • sqlinject
  • run
  • exec
  • +
  • spawn
  • kill
  • killall
  • exit
  • @@ -174,6 +175,7 @@ to reach out to the developer!

  • purchaseProgram
  • getStats
  • isBusy
  • +
  • stopAction
  • upgradeHomeRam
  • getUpgradeHomeRamCost
  • workForCompany
  • diff --git a/doc/build/html/netscriptfunctions.html b/doc/build/html/netscriptfunctions.html index 9b13a3c85..cd4df12a5 100644 --- a/doc/build/html/netscriptfunctions.html +++ b/doc/build/html/netscriptfunctions.html @@ -460,6 +460,35 @@ the number 1 and the string "test" in as arguments to the script:

    + +
    +

    spawn

    +
    +
    +spawn(script, numThreads[, args...])
    +
    +++ + + + +
    Arguments:
      +
    • script (string) -- Filename of script to execute
    • +
    • numThreads (number) -- Number of threads to spawn new script with. Will be rounded to nearest integer
    • +
    • args... -- Additional arguments to pass into the new script that is being run.
    • +
    +
    +

    Terminates the current script, and then after a delay of about 20 seconds it will execute the newly-specified script. +The purpose of this function is to execute a new script without being constrained by the RAM usage of the current one. +This function can only be used to run scripts on the local server.

    +

    Because this function immediately terminates the script, it does not have a return value.

    +

    The following example will execute the script 'foo.script' with 10 threads and the arguments 'foodnstuff' and 90:

    +
    spawn('foo.script', 10, 'foodnstuff', 90);
    +
    +
    +
    +

    kill

    @@ -1485,6 +1514,7 @@ you create in functions such as sqlinject
  • run
  • exec
  • +
  • spawn
  • kill
  • killall
  • exit
  • diff --git a/doc/build/html/netscriptsingularityfunctions.html b/doc/build/html/netscriptsingularityfunctions.html index 656d4f0ae..78f39c0ce 100644 --- a/doc/build/html/netscriptsingularityfunctions.html +++ b/doc/build/html/netscriptsingularityfunctions.html @@ -247,6 +247,26 @@ Terminal buy command.

    working for a company/faction, studying at a univeristy, working out at a gym, creating a program, or committing a crime.

    +
    +
    +

    stopAction

    +
    +
    +stopAction()
    +

    If you are not in BitNode-4, then you must have Level 1 of Source-File 4 in order to run this function. +This function is used to end whatever 'action' the player is currently performing. The player +will receive whatever money/experience/etc. he has earned from that action.

    +

    The actions that can be stopped with this function are:

    +
      +
    • Studying at a university
    • +
    • Working for a company/faction
    • +
    • Creating a program
    • +
    • Committing a Crime
    • +
    +

    This function will return true if the player's action was ended. It will return false if the player was not +performing an action when this function was called.

    +
    +

    upgradeHomeRam

    @@ -656,6 +676,7 @@ This script will be run with no arguments and 1 thread. It must be located on yo
  • purchaseProgram
  • getStats
  • isBusy
  • +
  • stopAction
  • upgradeHomeRam
  • getUpgradeHomeRamCost
  • workForCompany
  • diff --git a/doc/build/html/objects.inv b/doc/build/html/objects.inv index 2e22a3791303b6eda72461570be719aaa6d09a14..9076141ed773d6c598ba6f7e85bfead38875fc4c 100644 GIT binary patch delta 929 zcmV;S177^v2;c~it_D=qSI@48k+UOznyf!8O)lR4m0S&;?RI7`U3E$G4J-JbJ!LWl z@u)IT=SnOgUEMIxHkNB{n71I#+Ef8EFj2TrERTc8K!AZ6sCBmsEn+WRz?TizMh6Hj zzzppo2U$8jLT%!VJ_6D=3iB$a(SX<7JYWX*Rv2Cg4yw~LmaSddvv!=S{H9QUM4K{F zJcrTJDT&6Y!qLZ!TZON4vLr0SUs<|}lOlWWU=1Ql@{GK7$Ws+c7HaPUY`kV-b5(Py zl-mIwUnOJ*MI4={iB;*6X~@b~9O(bd)4ptqTgGLK=vby08op9;+TFA|#Jq#omm|SFeQj9ZnKP$yl0zxl(3C|lI60utUeHpI!B={l zl&fB|_6gVuWN1_0=1-_rXe0G5%kC>JgG)^T78h86xW2Y}8!J1t zQW8sm<-d^2UbjXeSPCJ3Cu33Vcg4cGqRz406m`bQRmHnoxq>V`k|VDYfq0Xlma5SqePt zcs@534!S?Gw1TyNifNz^D~9Bz=Gd#q7%ANr&dJBf z$-DXZ=ler&fmmpYkz4Bgy~IR&NZJ^WRo^)tAMsIxYp)Cox2Bu8JyKO# zYT@g$9q)+e7f+`bR`5M}%47=S zQDvacuwWT*j~7RFB`6n4q#e< z8QMh-vNU>x+Qcb+1f*{i=9N#Q0k64vzzpuKFuV{PRHtPuTf4Al?KoBXO`(5?R%N7k z4x^NmzuxvUC;4Mf%*q8blQ58FB02r!15#RNn{Kc*#WOvgTAO zw*x%BO2`h9I66)ftI{RYkd;*&X#dQ=ec2SZjLR6-u}m@4eI@6#yJ>Z>c>}M>))}PM zc_boXN)VUaW*NhI&o=icVHX}{jMEUfW7^HTFf+dwv=n6Um1>h> z)oa#10b79#ZR*?n3DpX1q}*lMT_tr_{V)ITLy8JI!`2`^@ZvFupU-~^D&L%PN&uqI z!3N|z`Tm~^z*5vMsHZqpDCdIYuJyP%F?DOFuR@erUsRNWOYqt5@p?!3#4>y?gh9iE z@3gldL6Nz=&9rqe6(6 zNCGtfg!qqCtq+l9sG9W9;bzK0IjezTgX7JC#D@7{#c^%yC3MjdQz|+#MzKI6|v*0)N&T;^zQW!h3O%gdp<_X%MS{ZJER)Gr*-bsmF`lW zwkdizJX=9q=4*cgx$4)6Z`i}hcyL&*t%&EMs?<^opO@`; xM>NN%vnu=Q_rb~1ZkN#21Day?G>yE`z-ZJRR&4oS$v+D#-zRJVgWp|=k3E|D+8h7? diff --git a/doc/build/html/searchindex.js b/doc/build/html/searchindex.js index 06f12f029..32296988d 100644 --- a/doc/build/html/searchindex.js +++ b/doc/build/html/searchindex.js @@ -1 +1 @@ -Search.setIndex({docnames:["index","netscript","netscriptadvancedfunctions","netscriptdatatypes","netscriptfunctions","netscripthacknetnodeapi","netscriptixapi","netscriptloopsandconditionals","netscriptoperators","netscriptscriptarguments","netscriptsingularityfunctions"],envversion:53,filenames:["index.rst","netscript.rst","netscriptadvancedfunctions.rst","netscriptdatatypes.rst","netscriptfunctions.rst","netscripthacknetnodeapi.rst","netscriptixapi.rst","netscriptloopsandconditionals.rst","netscriptoperators.rst","netscriptscriptarguments.rst","netscriptsingularityfunctions.rst"],objects:{"":{applyToCompany:[10,0,1,""],buyStock:[6,0,1,""],cancelOrder:[6,0,1,""],checkFactionInvitations:[10,0,1,""],createProgram:[10,0,1,""],deleteServer:[4,0,1,""],fileExists:[4,0,1,""],getAugmentationCost:[10,0,1,""],getAugmentationsFromFaction:[10,0,1,""],getBitNodeMultipliers:[2,0,1,""],getCompanyRep:[10,0,1,""],getCrimeChance:[10,0,1,""],getFactionRep:[10,0,1,""],getGrowTime:[4,0,1,""],getHackTime:[4,0,1,""],getHackingLevel:[4,0,1,""],getHackingMultipliers:[4,0,1,""],getHostname:[4,0,1,""],getNextHacknetNodeCost:[4,0,1,""],getOwnedAugmentations:[10,0,1,""],getPurchasedServers:[4,0,1,""],getScriptExpGain:[4,0,1,""],getScriptIncome:[4,0,1,""],getScriptRam:[4,0,1,""],getServerBaseSecurityLevel:[4,0,1,""],getServerGrowth:[4,0,1,""],getServerMaxMoney:[4,0,1,""],getServerMinSecurityLevel:[4,0,1,""],getServerMoneyAvailable:[4,0,1,""],getServerNumPortsRequired:[4,0,1,""],getServerRam:[4,0,1,""],getServerRequiredHackingLevel:[4,0,1,""],getServerSecurityLevel:[4,0,1,""],getStats:[10,0,1,""],getStockPosition:[6,0,1,""],getStockPrice:[6,0,1,""],getTimeSinceLastAug:[4,0,1,""],getUpgradeHomeRamCost:[10,0,1,""],getWeakenTime:[4,0,1,""],gymWorkout:[10,0,1,""],hasRootAccess:[4,0,1,""],installAugmentations:[10,0,1,""],isBusy:[10,0,1,""],isRunning:[4,0,1,""],joinFaction:[10,0,1,""],placeOrder:[6,0,1,""],purchaseAugmentation:[10,0,1,""],purchaseHacknetNode:[4,0,1,""],purchaseProgram:[10,0,1,""],purchaseServer:[4,0,1,""],purchaseTor:[10,0,1,""],scriptKill:[4,0,1,""],scriptRunning:[4,0,1,""],sellShort:[6,0,1,""],sellStock:[6,0,1,""],serverExists:[4,0,1,""],shortStock:[6,0,1,""],travelToCity:[10,0,1,""],universityCourse:[10,0,1,""],upgradeHomeRam:[10,0,1,""],workForCompany:[10,0,1,""],workForFaction:[10,0,1,""]},"hacknetnodes[i]":{"getLevelUpgradeCost(n);":[5,0,1,""],"upgradeLevel(n);":[5,0,1,""],cores:[5,0,1,""],getCoreUpgradeCost:[5,0,1,""],getRamUpgradeCost:[5,0,1,""],level:[5,0,1,""],moneyGainRatePerSecond:[5,0,1,""],onlineTimeSeconds:[5,0,1,""],ram:[5,0,1,""],totalMoneyGenerated:[5,0,1,""],upgradeCore:[5,0,1,""],upgradeRam:[5,0,1,""]}},objnames:{"0":["js","function","JavaScript function"]},objtypes:{"0":"js:function"},terms:{"8gb":5,"boolean":[3,4,10],"break":9,"case":[4,6,10],"class":10,"default":[4,10],"float":3,"function":[0,1,3,5,6,7],"long":6,"new":[4,5,10],"null":4,"return":[2,4,5,6,8,10],"short":6,"true":[3,4,5,6,8,10],"try":[4,9,10],"var":7,"while":[4,5,7,10],AND:8,Adding:3,For:[2,3,4,5,7,8,9],IPs:4,NOT:[4,6,8,10],Not:10,One:10,The:[0,2,3,4,5,6,7,9,10],Their:3,Then:5,These:[2,4,5,10],Use:4,Will:[4,6],Yes:4,abil:6,abl:10,about:[3,4],abov:[3,4,8],accept:10,access:[3,4,5,6,9,10],action:[4,10],activ:4,actual:[4,6,10],add:5,added:4,addit:[4,5,8,10],address:4,advanc:[0,1],aevum:10,affect:4,afford:4,after:[3,6,10],agenc:10,agent:10,agi:10,agil:10,aid:0,aka:10,algorithm:[6,10],all:[3,4,5,6,10],allow:[6,10],almost:1,alphabet:4,alphanumer:3,alreadi:[4,10],also:[3,4,6,9,10],alwai:4,amount:[4,5,6,9,10],ani:[0,1,3,4,10],anoth:[4,9],anyth:4,anywher:4,api:[0,1],appear:4,append:4,appli:[4,10],applytocompani:[0,1],arg:[4,9],argument:[0,1,4,5,6,10],around:[0,10],arrai:[3,4,5,6,9,10],aspect:10,assign:[5,8],attack:4,attempt:6,augment:[4,6,10],augmentationmoneycost:2,augmentationrepcost:2,augnam:10,autolink:10,autom:[5,6],automat:[4,6,10],avail:[3,4,6,7,10],averag:6,avgpx:6,avgpxshort:6,base:[4,8],basic:[0,1],becaus:[2,4],becom:2,been:0,being:4,below:4,best:9,beta:0,between:[2,4],billion:6,binari:[0,1],bitburn:1,bitnod:[2,10],both:4,box:4,brutessh:[0,1,10],bui:[6,10],build:6,busi:10,buystock:[0,1],calcul:6,call:[0,4,5,9],callback:10,can:[0,3,4,5,6,7,9,10],cancel:[6,10],cancelord:[0,1],cannot:[4,5],capabl:3,capit:6,caus:4,caveat:7,cbscript:10,certain:[4,6],chanc:[4,10],chang:[2,3,4,8],charact:3,charisma:10,check:[4,7,10],checkfactioninvit:[0,1],chongq:10,citi:10,citynam:10,classgymexpgain:2,clear:[0,1],click:4,code:[4,6,7,8,9],command:[3,4,10],comment:8,commiss:6,commit:[2,10],commitcrim:[0,1],commun:6,compani:[6,10],companynam:10,companyworkexpgain:2,companyworkmonei:2,complet:4,comput:[4,10],condit:[0,1],confirm:0,constantli:4,consult:10,contain:[2,3,4,10],content:0,continu:10,contract:10,control:10,convert:4,copi:4,core:5,correct:10,correspond:5,cost:[4,5,6,10],count:4,cours:10,coursenam:10,creat:[4,6,10],createprogram:[0,1],crime:[2,10],crimeexpgain:2,crimemonei:2,crush:10,current:[0,2,4,6,10],cyberpunk:0,dark:[0,10],data:[0,1,4,10],decim:10,declar:[3,4,7],decreas:4,decrement:8,deepscanv1:10,deepscanv2:10,def:10,defens:10,defin:[0,1],delet:4,deleteserv:[0,1],denot:4,depend:4,describ:4,destin:4,detail:4,determin:4,develop:[0,1],dex:10,dexter:10,dialog:4,differ:[2,3,4],divis:8,document:[4,7,10],doe:[1,4,6,8],doing:[5,9],don:10,doubl:[3,5],due:4,dystopian:0,each:[5,6,10],earli:0,earn:[4,5,10],ecp:6,either:[3,4],element:[4,5,6,9,10],els:[7,10],embark:0,emploi:10,employe:10,empti:4,encapsul:3,end:[4,5],engin:10,enough:[4,6],equal:8,equival:[3,4],error:4,etc:[3,4,9],even:[4,6,8],everi:[6,10],exampl:[0,1,2,3,4,6,7,8,9,10],exce:6,exceed:4,except:4,exchang:[0,1],exe:[4,10],exec:[0,1],execut:[4,6],exist:[4,5,7],exit:[0,1],experi:[4,10],extens:10,facnam:10,faction:10,factionnam:10,factionpassiverepgain:2,factionworkexpgain:2,factionworkrepgain:2,fail:[4,10],fairlyn:10,fals:[3,4,5,6,8,10],featur:1,fee:6,feel:1,field:10,fieldwork:10,file:[2,4,10],fileexist:[0,1],filenam:4,fill:4,find:4,fine:4,finish:10,first:[3,4,5,6,9,10],fisg:6,fit:10,fix:4,follow:[2,3,4,5,7,10],foo1:4,foo2:4,foo3:4,foo:4,foodnstuff:[4,7],form:[2,4],four:[5,6],fourth:[5,6],free:1,from:[4,6,9,10],ftpcrack:[0,1,10],fulli:3,futur:[2,4],gain:[0,4,10],game:[0,2,4,6,9,10],gener:[4,8,9],get:[4,9,10],getaugmentationcost:[0,1],getaugmentationsfromfact:[0,1],getbitnodemultipli:[0,1],getcompanyrep:[0,1],getcoreupgradecost:5,getcrimech:[0,1],getfactionrep:[0,1],getgrowtim:[0,1],gethackinglevel:[0,1],gethackingmultipli:[0,1],gethacktim:[0,1],gethostnam:[0,1],getlevelupgradecost:5,getnexthacknetnodecost:[0,1],getownedaugment:[0,1],getpurchasedserv:[0,1],getramupgradecost:5,getscriptexpgain:[0,1],getscriptincom:[0,1],getscriptram:[0,1],getserverbasesecuritylevel:[0,1],getservergrowth:[0,1],getservermaxmonei:[0,1],getserverminsecuritylevel:[0,1],getservermoneyavail:[0,1,7],getservernumportsrequir:[0,1],getserverram:[0,1],getserverrequiredhackinglevel:[0,1],getserversecuritylevel:[0,1],getstat:[0,1],getstockposit:[0,1],getstockpric:[0,1],gettimesincelastaug:[0,1],getupgradehomeramcost:[0,1],getweakentim:[0,1],give:[2,4,10],given:[6,10],global:4,greater:8,grow:[0,1,7],grown:7,growth:4,gym:10,gymnam:10,gymworkout:[0,1],hack:[0,1,7,10],hacker:0,hackexpgain:2,hackingcontract:10,hacknet:[0,1,4],hacknetnod:[0,1],hacknetnodemonei:2,halt:4,has:[1,2,4,5,10],hasrootaccess:[0,1],have:[1,2,4,5,6,10],helio:4,here:[0,3,4,6,7,10],higher:4,hold:3,home:[4,10],hope:0,hostnam:4,how:[3,4,7],howev:[4,7],httpworm:[0,1,10],hyphen:3,ident:1,identifi:4,immedi:[4,6,10],implement:1,improv:1,includ:[3,4,10],incom:[4,5],increas:4,increment:[0,8],index:[0,4,5],indic:[4,10],inequ:8,inform:[0,1,4],initi:3,input:10,insid:[4,5],instal:[4,6,10],installaugment:[0,1],instanc:4,instead:[2,4],institut:10,instrins:4,integ:[2,3,4,5,6],intellig:10,invalid:[4,10],invit:10,iron:10,isbusi:[0,1],ishima:10,isrun:[0,1],issu:10,iter:[5,7],its:[4,6],itself:5,javascript:[1,3,4,7],job:10,joesgun:4,join:[3,10],joinfact:[0,1],jump3r:0,just:4,keyword:7,kill:[0,1],killal:[0,1],label:3,languag:[1,3],last:4,later:[2,3,6,10],lead:0,leadership:10,least:[4,5],length:[4,5,9],lenient:10,less:8,let:[6,7,9],letter:[3,6],level:[4,5,10],like:[4,9],limit:[4,6],limitbui:6,limitsel:6,link:4,list:[5,10],lit:4,literatur:4,local:4,locat:[4,10],log:[4,5],logic:8,look:9,loop:[0,1],lot:10,lower:4,made:6,make:[4,9],manag:10,mani:[1,3,10],manual:10,manualhackmonei:2,map:5,market:6,max:5,maximum:4,mean:[0,1,2,3,4,5,10],member:[0,1,3,10],memori:4,messag:0,method:[0,1,3],middl:10,millenium:10,millisecond:4,minimum:4,minut:10,mode:4,modifi:9,modul:0,modulo:8,monei:[0,2,4,5,6,7,10],moneygainratepersecond:5,more:[3,4,7],most:3,much:7,mult:[2,4],multipl:[4,8],multipli:[2,4,10],must:[3,4,5,6,10],mysteri:0,name:[3,4,5,6,8,9,10],nearest:[4,5,6],necessari:0,need:4,negat:8,net:6,netscript:0,network:10,newli:4,next:4,node:[0,1,4],none:[4,5],normal:[9,10],note:[4,5,10],now:0,nuke:[0,1],number:[3,4,5,6,8,9],numer:[3,6,8],numthread:4,object:[2,3,4,5,10],obtain:4,obvious:10,offlin:4,omit:4,one:[4,5,7,10],onli:[2,4,5,6,8,10],onlin:4,onlinetimesecond:5,onto:3,open:[4,10],oper:[0,1,9],operand:8,option:[4,10],order:[2,4,6,10],origin:2,other:[4,10],otherwis:[4,5,6,7,10],oustand:[6,10],out:[1,4,10],output:4,outsid:[4,10],over:4,overwrit:4,own:[0,1,6],page:[0,2,4,10],paramet:4,part:10,particular:10,pass:[4,9,10],percentag:4,perform:10,place:6,placeord:[0,1],plai:0,plan:9,player:[0,4,5,6,9,10],pop:3,port:4,pos:6,posit:[3,5,6,10],possibl:9,power:[0,4],powerhous:10,pre:8,prevent:9,price:6,primit:3,print:[0,1,2,5,10],process:4,produc:8,profit:6,program:[1,4,10],programnam:10,promot:10,prompt:[0,1],properti:10,protocol:6,provid:[5,6],pserv:4,purchas:[4,5,6,10],purchaseaugment:[0,1],purchasehacknetnod:[0,1,5],purchaseprogram:[0,1],purchaseserv:[0,1],purchasetor:[0,1],purpos:3,put:[2,8],quest:0,queue:4,quickli:4,quot:3,rais:4,ram:[4,5,10],ramus:4,ran:4,rate:4,reach:1,read:[0,1,3,5],receiv:[2,10],refer:[3,7],referenc:3,reflect:6,regardless:4,relat:4,relaysmtp:[0,1,10],relev:2,rememb:[4,6],remov:4,repres:[2,3,4,6],reput:10,request:1,requir:[2,4,8,10],res:[4,10],reset:[4,6,10],resolv:4,rest:3,restart:10,result:[4,8],retain:6,role:0,root:4,rothman:[4,10],round:[0,1,5,6],router:10,rpg:0,run:[0,1,2,7,8,9,10],runtim:4,sai:9,sale:6,same:[4,7,10],scan:[0,1],scienc:10,scope:4,scp:[0,1],script:[0,1,4,5,6,10],scripthackmonei:2,scriptkil:[0,1],scriptnam:4,scriptrun:[0,1],search:[0,4],second:[3,4,5,6,9,10],secret:0,section:[1,4],sector:10,secur:[4,10],securitywork:10,see:[4,5,7],select:4,sell:6,sellshort:[0,1],sellstock:[0,1],sensit:[4,6,10],separ:[2,4],sequenc:[3,6],serial:4,server:[4,7],serverexist:[0,1],servergrowthr:2,servermaxmonei:2,serverprofil:10,serverstartingmonei:2,serverstartingsecur:2,serverweakenr:2,set:[4,10],share:6,sharesshort:6,she:0,shortstock:[0,1],should:[4,7,10],show:[3,4,7],signatur:4,signific:4,similar:4,simpl:7,simplest:4,simpli:[1,3],sinc:4,singl:[3,4,8],singular:[0,1],skill:4,sleep:[0,1,5,10],small:10,snap:10,softwar:10,sold:6,some:[4,7,8,10],some_valu:4,someth:0,sort:4,sourc:[2,4,10],special:[3,5,9,10],specif:4,specifi:[4,5,6,9,10],speed:4,splice:3,spoiler:[2,10],sprintf:[0,1],sqlinject:[0,1,10],stage:0,stai:4,start:[3,4,10],stat:10,statement:7,statist:6,steal:4,still:4,stock:6,stolen:4,stop:6,stopbui:6,stopsel:6,store:3,str:10,strategi:6,strength:10,strict:8,string:[3,4,6,10],structur:[2,4],strucur:10,studi:10,subject:2,subset:1,subtract:8,success:[4,6,10],successfulli:[4,5,6,10],suggest:1,sum:4,summit:10,support:[3,5,6],suspend:4,suspicion:0,sym:6,symbol:6,syntax:[1,4],system:6,take:[0,4,10],target:4,technolog:10,templat:4,ten:7,term:10,termin:[4,10],test:4,text:[3,4],than:[4,7,8],thei:[1,2,4],them:10,theme:0,thi:[0,1,2,3,4,5,6,8,9,10],third:[4,6],those:[4,5],though:4,thought:3,thread:[4,9,10],three:[3,4],through:[4,5,10],time:[4,5,7,10],tini:1,tix:[0,1],tokyo:10,tolowercas:3,tor:10,total:[4,5],totalmoneygener:5,totalram:4,tprint:[0,1],trade:[0,1],train:10,transact:6,travel:10,traveltoc:[0,1],travers:7,tri:[4,5],two:[4,6,8,9,10],txt:4,type:[0,1,4,6,10],typic:4,unari:[0,1],uncov:0,underli:4,underscor:3,uni:4,uniqu:4,univeristi:10,univers:10,universitycours:[0,1],universitynam:10,unknown:0,unlock:[6,10],until:[4,5,10],untyp:3,updat:10,upgrad:[5,10],upgradecor:5,upgradehomeram:[0,1],upgradelevel:5,upgraderam:5,use:[4,6,7,10],used:[1,3,4,5,6,10],uses:7,using:[4,5,6,7,9,10],usual:10,valid:4,valu:[2,3,4,5,6,8,10],vari:4,variabl:[0,1,4,7,8],visit:[6,10],volhaven:10,vsprintf:[0,1],wai:[4,5,10],waiter:10,want:[5,9,10],warn:[8,9,10],weaken:[0,1],web:10,well:3,were:[4,10],wese:6,what:[4,5,10],whatev:10,when:[0,1,4,7,10],where:[0,4],whether:[4,6,10],which:[3,4,5,6,10],whitespac:4,work:[4,6,8,10],workforcompani:[0,1],workforfact:[0,1],worktyp:10,world:[0,1,6],would:[2,8,9,10],write:[0,1,5,6],written:[1,4],wrong:0,wse:6,yet:[4,10],you:[0,1,2,3,4,5,6,7,8,10],your:[0,1,5,6,10],yourself:5},titles:["Welcome to Bitburner's documentation!","Netscript Documentation","Netscript Advanced Functions","Netscript Data Types and Variables","Netscript Basic Functions","Netscript Hacknet Node API","Netscript Trade Information eXchange (TIX) API","Netscript Loops and Conditionals","Netscript Operators","Netscript Script Arguments","Netscript Singularity Functions"],titleterms:{"function":[2,4,10],advanc:2,api:[5,6],applytocompani:10,argument:9,basic:4,binari:8,bitburn:0,brutessh:4,buystock:6,cancelord:6,checkfactioninvit:10,clear:4,commitcrim:10,condit:7,createprogram:10,data:3,defin:4,deleteserv:4,document:[0,1],exampl:5,exchang:6,exec:4,exit:4,fileexist:4,ftpcrack:4,getaugmentationcost:10,getaugmentationsfromfact:10,getbitnodemultipli:2,getcompanyrep:10,getcrimech:10,getfactionrep:10,getgrowtim:4,gethackinglevel:4,gethackingmultipli:4,gethacktim:4,gethostnam:4,getnexthacknetnodecost:4,getownedaugment:10,getpurchasedserv:4,getscriptexpgain:4,getscriptincom:4,getscriptram:4,getserverbasesecuritylevel:4,getservergrowth:4,getservermaxmonei:4,getserverminsecuritylevel:4,getservermoneyavail:4,getservernumportsrequir:4,getserverram:4,getserverrequiredhackinglevel:4,getserversecuritylevel:4,getstat:10,getstockposit:6,getstockpric:6,gettimesincelastaug:4,getupgradehomeramcost:10,getweakentim:4,grow:4,gymworkout:10,hack:4,hacknet:5,hacknetnod:5,hasrootaccess:4,httpworm:4,indic:0,inform:6,installaugment:10,isbusi:10,isrun:4,joinfact:10,kill:4,killal:4,loop:7,member:5,method:5,netscript:[1,2,3,4,5,6,7,8,9,10],node:5,nuke:4,oper:8,own:4,placeord:6,print:4,prompt:4,purchaseaugment:10,purchasehacknetnod:4,purchaseprogram:10,purchaseserv:4,purchasetor:10,read:4,relaysmtp:4,round:4,run:4,scan:4,scp:4,script:9,scriptkil:4,scriptrun:4,sellshort:6,sellstock:6,serverexist:4,shortstock:6,singular:10,sleep:4,sprintf:4,sqlinject:4,tabl:0,tix:6,tprint:4,trade:6,traveltoc:10,type:3,unari:8,universitycours:10,upgradehomeram:10,variabl:[3,5],vsprintf:4,weaken:4,welcom:0,what:0,workforcompani:10,workforfact:10,write:4,your:4}}) \ No newline at end of file +Search.setIndex({docnames:["index","netscript","netscriptadvancedfunctions","netscriptdatatypes","netscriptfunctions","netscripthacknetnodeapi","netscriptixapi","netscriptloopsandconditionals","netscriptoperators","netscriptscriptarguments","netscriptsingularityfunctions"],envversion:53,filenames:["index.rst","netscript.rst","netscriptadvancedfunctions.rst","netscriptdatatypes.rst","netscriptfunctions.rst","netscripthacknetnodeapi.rst","netscriptixapi.rst","netscriptloopsandconditionals.rst","netscriptoperators.rst","netscriptscriptarguments.rst","netscriptsingularityfunctions.rst"],objects:{"":{applyToCompany:[10,0,1,""],buyStock:[6,0,1,""],cancelOrder:[6,0,1,""],checkFactionInvitations:[10,0,1,""],createProgram:[10,0,1,""],deleteServer:[4,0,1,""],fileExists:[4,0,1,""],getAugmentationCost:[10,0,1,""],getAugmentationsFromFaction:[10,0,1,""],getBitNodeMultipliers:[2,0,1,""],getCompanyRep:[10,0,1,""],getCrimeChance:[10,0,1,""],getFactionRep:[10,0,1,""],getGrowTime:[4,0,1,""],getHackTime:[4,0,1,""],getHackingLevel:[4,0,1,""],getHackingMultipliers:[4,0,1,""],getHostname:[4,0,1,""],getNextHacknetNodeCost:[4,0,1,""],getOwnedAugmentations:[10,0,1,""],getPurchasedServers:[4,0,1,""],getScriptExpGain:[4,0,1,""],getScriptIncome:[4,0,1,""],getScriptRam:[4,0,1,""],getServerBaseSecurityLevel:[4,0,1,""],getServerGrowth:[4,0,1,""],getServerMaxMoney:[4,0,1,""],getServerMinSecurityLevel:[4,0,1,""],getServerMoneyAvailable:[4,0,1,""],getServerNumPortsRequired:[4,0,1,""],getServerRam:[4,0,1,""],getServerRequiredHackingLevel:[4,0,1,""],getServerSecurityLevel:[4,0,1,""],getStats:[10,0,1,""],getStockPosition:[6,0,1,""],getStockPrice:[6,0,1,""],getTimeSinceLastAug:[4,0,1,""],getUpgradeHomeRamCost:[10,0,1,""],getWeakenTime:[4,0,1,""],gymWorkout:[10,0,1,""],hasRootAccess:[4,0,1,""],installAugmentations:[10,0,1,""],isBusy:[10,0,1,""],isRunning:[4,0,1,""],joinFaction:[10,0,1,""],placeOrder:[6,0,1,""],purchaseAugmentation:[10,0,1,""],purchaseHacknetNode:[4,0,1,""],purchaseProgram:[10,0,1,""],purchaseServer:[4,0,1,""],purchaseTor:[10,0,1,""],scriptKill:[4,0,1,""],scriptRunning:[4,0,1,""],sellShort:[6,0,1,""],sellStock:[6,0,1,""],serverExists:[4,0,1,""],shortStock:[6,0,1,""],stopAction:[10,0,1,""],travelToCity:[10,0,1,""],universityCourse:[10,0,1,""],upgradeHomeRam:[10,0,1,""],workForCompany:[10,0,1,""],workForFaction:[10,0,1,""]},"hacknetnodes[i]":{"getLevelUpgradeCost(n);":[5,0,1,""],"upgradeLevel(n);":[5,0,1,""],cores:[5,0,1,""],getCoreUpgradeCost:[5,0,1,""],getRamUpgradeCost:[5,0,1,""],level:[5,0,1,""],moneyGainRatePerSecond:[5,0,1,""],onlineTimeSeconds:[5,0,1,""],ram:[5,0,1,""],totalMoneyGenerated:[5,0,1,""],upgradeCore:[5,0,1,""],upgradeRam:[5,0,1,""]}},objnames:{"0":["js","function","JavaScript function"]},objtypes:{"0":"js:function"},terms:{"8gb":5,"boolean":[3,4,10],"break":9,"case":[4,6,10],"class":10,"default":[4,10],"float":3,"function":[0,1,3,5,6,7],"long":6,"new":[4,5,10],"null":4,"return":[2,4,5,6,8,10],"short":6,"true":[3,4,5,6,8,10],"try":[4,9,10],"var":7,"while":[4,5,7,10],AND:8,Adding:3,For:[2,3,4,5,7,8,9],IPs:4,NOT:[4,6,8,10],Not:10,One:10,The:[0,2,3,4,5,6,7,9,10],Their:3,Then:5,These:[2,4,5,10],Use:4,Will:[4,6],Yes:4,abil:6,abl:10,about:[3,4],abov:[3,4,8],accept:10,access:[3,4,5,6,9,10],action:[4,10],activ:4,actual:[4,6,10],add:5,added:4,addit:[4,5,8,10],address:4,advanc:[0,1],aevum:10,affect:4,afford:4,after:[3,4,6,10],agenc:10,agent:10,agi:10,agil:10,aid:0,aka:10,algorithm:[6,10],all:[3,4,5,6,10],allow:[6,10],almost:1,alphabet:4,alphanumer:3,alreadi:[4,10],also:[3,4,6,9,10],alwai:4,amount:[4,5,6,9,10],ani:[0,1,3,4,10],anoth:[4,9],anyth:4,anywher:4,api:[0,1],appear:4,append:4,appli:[4,10],applytocompani:[0,1],arg:[4,9],argument:[0,1,4,5,6,10],around:[0,10],arrai:[3,4,5,6,9,10],aspect:10,assign:[5,8],attack:4,attempt:6,augment:[4,6,10],augmentationmoneycost:2,augmentationrepcost:2,augnam:10,autolink:10,autom:[5,6],automat:[4,6,10],avail:[3,4,6,7,10],averag:6,avgpx:6,avgpxshort:6,base:[4,8],basic:[0,1],becaus:[2,4],becom:2,been:0,being:4,below:4,best:9,beta:0,between:[2,4],billion:6,binari:[0,1],bitburn:1,bitnod:[2,10],both:4,box:4,brutessh:[0,1,10],bui:[6,10],build:6,busi:10,buystock:[0,1],calcul:6,call:[0,4,5,9,10],callback:10,can:[0,3,4,5,6,7,9,10],cancel:[6,10],cancelord:[0,1],cannot:[4,5],capabl:3,capit:6,caus:4,caveat:7,cbscript:10,certain:[4,6],chanc:[4,10],chang:[2,3,4,8],charact:3,charisma:10,check:[4,7,10],checkfactioninvit:[0,1],chongq:10,citi:10,citynam:10,classgymexpgain:2,clear:[0,1],click:4,code:[4,6,7,8,9],command:[3,4,10],comment:8,commiss:6,commit:[2,10],commitcrim:[0,1],commun:6,compani:[6,10],companynam:10,companyworkexpgain:2,companyworkmonei:2,complet:4,comput:[4,10],condit:[0,1],confirm:0,constantli:4,constrain:4,consult:10,contain:[2,3,4,10],content:0,continu:10,contract:10,control:10,convert:4,copi:4,core:5,correct:10,correspond:5,cost:[4,5,6,10],count:4,cours:10,coursenam:10,creat:[4,6,10],createprogram:[0,1],crime:[2,10],crimeexpgain:2,crimemonei:2,crush:10,current:[0,2,4,6,10],cyberpunk:0,dark:[0,10],data:[0,1,4,10],decim:10,declar:[3,4,7],decreas:4,decrement:8,deepscanv1:10,deepscanv2:10,def:10,defens:10,defin:[0,1],delai:4,delet:4,deleteserv:[0,1],denot:4,depend:4,describ:4,destin:4,detail:4,determin:4,develop:[0,1],dex:10,dexter:10,dialog:4,differ:[2,3,4],divis:8,document:[4,7,10],doe:[1,4,6,8],doing:[5,9],don:10,doubl:[3,5],due:4,dystopian:0,each:[5,6,10],earli:0,earn:[4,5,10],ecp:6,either:[3,4],element:[4,5,6,9,10],els:[7,10],embark:0,emploi:10,employe:10,empti:4,encapsul:3,end:[4,5,10],engin:10,enough:[4,6],equal:8,equival:[3,4],error:4,etc:[3,4,9,10],even:[4,6,8],everi:[6,10],exampl:[0,1,2,3,4,6,7,8,9,10],exce:6,exceed:4,except:4,exchang:[0,1],exe:[4,10],exec:[0,1],execut:[4,6],exist:[4,5,7],exit:[0,1],experi:[4,10],extens:10,facnam:10,faction:10,factionnam:10,factionpassiverepgain:2,factionworkexpgain:2,factionworkrepgain:2,fail:[4,10],fairlyn:10,fals:[3,4,5,6,8,10],featur:1,fee:6,feel:1,field:10,fieldwork:10,file:[2,4,10],fileexist:[0,1],filenam:4,fill:4,find:4,fine:4,finish:10,first:[3,4,5,6,9,10],fisg:6,fit:10,fix:4,follow:[2,3,4,5,7,10],foo1:4,foo2:4,foo3:4,foo:4,foodnstuff:[4,7],form:[2,4],four:[5,6],fourth:[5,6],free:1,from:[4,6,9,10],ftpcrack:[0,1,10],fulli:3,futur:[2,4],gain:[0,4,10],game:[0,2,4,6,9,10],gener:[4,8,9],get:[4,9,10],getaugmentationcost:[0,1],getaugmentationsfromfact:[0,1],getbitnodemultipli:[0,1],getcompanyrep:[0,1],getcoreupgradecost:5,getcrimech:[0,1],getfactionrep:[0,1],getgrowtim:[0,1],gethackinglevel:[0,1],gethackingmultipli:[0,1],gethacktim:[0,1],gethostnam:[0,1],getlevelupgradecost:5,getnexthacknetnodecost:[0,1],getownedaugment:[0,1],getpurchasedserv:[0,1],getramupgradecost:5,getscriptexpgain:[0,1],getscriptincom:[0,1],getscriptram:[0,1],getserverbasesecuritylevel:[0,1],getservergrowth:[0,1],getservermaxmonei:[0,1],getserverminsecuritylevel:[0,1],getservermoneyavail:[0,1,7],getservernumportsrequir:[0,1],getserverram:[0,1],getserverrequiredhackinglevel:[0,1],getserversecuritylevel:[0,1],getstat:[0,1],getstockposit:[0,1],getstockpric:[0,1],gettimesincelastaug:[0,1],getupgradehomeramcost:[0,1],getweakentim:[0,1],give:[2,4,10],given:[6,10],global:4,greater:8,grow:[0,1,7],grown:7,growth:4,gym:10,gymnam:10,gymworkout:[0,1],hack:[0,1,7,10],hacker:0,hackexpgain:2,hackingcontract:10,hacknet:[0,1,4],hacknetnod:[0,1],hacknetnodemonei:2,halt:4,has:[1,2,4,5,10],hasrootaccess:[0,1],have:[1,2,4,5,6,10],helio:4,here:[0,3,4,6,7,10],higher:4,hold:3,home:[4,10],hope:0,hostnam:4,how:[3,4,7],howev:[4,7],httpworm:[0,1,10],hyphen:3,ident:1,identifi:4,immedi:[4,6,10],implement:1,improv:1,includ:[3,4,10],incom:[4,5],increas:4,increment:[0,8],index:[0,4,5],indic:[4,10],inequ:8,inform:[0,1,4],initi:3,input:10,insid:[4,5],instal:[4,6,10],installaugment:[0,1],instanc:4,instead:[2,4],institut:10,instrins:4,integ:[2,3,4,5,6],intellig:10,invalid:[4,10],invit:10,iron:10,isbusi:[0,1],ishima:10,isrun:[0,1],issu:10,iter:[5,7],its:[4,6],itself:5,javascript:[1,3,4,7],job:10,joesgun:4,join:[3,10],joinfact:[0,1],jump3r:0,just:4,keyword:7,kill:[0,1],killal:[0,1],label:3,languag:[1,3],last:4,later:[2,3,6,10],lead:0,leadership:10,least:[4,5],length:[4,5,9],lenient:10,less:8,let:[6,7,9],letter:[3,6],level:[4,5,10],like:[4,9],limit:[4,6],limitbui:6,limitsel:6,link:4,list:[5,10],lit:4,literatur:4,local:4,locat:[4,10],log:[4,5],logic:8,look:9,loop:[0,1],lot:10,lower:4,made:6,make:[4,9],manag:10,mani:[1,3,10],manual:10,manualhackmonei:2,map:5,market:6,max:5,maximum:4,mean:[0,1,2,3,4,5,10],member:[0,1,3,10],memori:4,messag:0,method:[0,1,3],middl:10,millenium:10,millisecond:4,minimum:4,minut:10,mode:4,modifi:9,modul:0,modulo:8,monei:[0,2,4,5,6,7,10],moneygainratepersecond:5,more:[3,4,7],most:3,much:7,mult:[2,4],multipl:[4,8],multipli:[2,4,10],must:[3,4,5,6,10],mysteri:0,name:[3,4,5,6,8,9,10],nearest:[4,5,6],necessari:0,need:4,negat:8,net:6,netscript:0,network:10,newli:4,next:4,node:[0,1,4],none:[4,5],normal:[9,10],note:[4,5,10],now:0,nuke:[0,1],number:[3,4,5,6,8,9],numer:[3,6,8],numthread:4,object:[2,3,4,5,10],obtain:4,obvious:10,offlin:4,omit:4,one:[4,5,7,10],onli:[2,4,5,6,8,10],onlin:4,onlinetimesecond:5,onto:3,open:[4,10],oper:[0,1,9],operand:8,option:[4,10],order:[2,4,6,10],origin:2,other:[4,10],otherwis:[4,5,6,7,10],oustand:[6,10],out:[1,4,10],output:4,outsid:[4,10],over:4,overwrit:4,own:[0,1,6],page:[0,2,4,10],paramet:4,part:10,particular:10,pass:[4,9,10],percentag:4,perform:10,place:6,placeord:[0,1],plai:0,plan:9,player:[0,4,5,6,9,10],pop:3,port:4,pos:6,posit:[3,5,6,10],possibl:9,power:[0,4],powerhous:10,pre:8,prevent:9,price:6,primit:3,print:[0,1,2,5,10],process:4,produc:8,profit:6,program:[1,4,10],programnam:10,promot:10,prompt:[0,1],properti:10,protocol:6,provid:[5,6],pserv:4,purchas:[4,5,6,10],purchaseaugment:[0,1],purchasehacknetnod:[0,1,5],purchaseprogram:[0,1],purchaseserv:[0,1],purchasetor:[0,1],purpos:[3,4],put:[2,8],quest:0,queue:4,quickli:4,quot:3,rais:4,ram:[4,5,10],ramus:4,ran:4,rate:4,reach:1,read:[0,1,3,5],receiv:[2,10],refer:[3,7],referenc:3,reflect:6,regardless:4,relat:4,relaysmtp:[0,1,10],relev:2,rememb:[4,6],remov:4,repres:[2,3,4,6],reput:10,request:1,requir:[2,4,8,10],res:[4,10],reset:[4,6,10],resolv:4,rest:3,restart:10,result:[4,8],retain:6,role:0,root:4,rothman:[4,10],round:[0,1,5,6],router:10,rpg:0,run:[0,1,2,7,8,9,10],runtim:4,sai:9,sale:6,same:[4,7,10],scan:[0,1],scienc:10,scope:4,scp:[0,1],script:[0,1,4,5,6,10],scripthackmonei:2,scriptkil:[0,1],scriptnam:4,scriptrun:[0,1],search:[0,4],second:[3,4,5,6,9,10],secret:0,section:[1,4],sector:10,secur:[4,10],securitywork:10,see:[4,5,7],select:4,sell:6,sellshort:[0,1],sellstock:[0,1],sensit:[4,6,10],separ:[2,4],sequenc:[3,6],serial:4,server:[4,7],serverexist:[0,1],servergrowthr:2,servermaxmonei:2,serverprofil:10,serverstartingmonei:2,serverstartingsecur:2,serverweakenr:2,set:[4,10],share:6,sharesshort:6,she:0,shortstock:[0,1],should:[4,7,10],show:[3,4,7],signatur:4,signific:4,similar:4,simpl:7,simplest:4,simpli:[1,3],sinc:4,singl:[3,4,8],singular:[0,1],skill:4,sleep:[0,1,5,10],small:10,snap:10,softwar:10,sold:6,some:[4,7,8,10],some_valu:4,someth:0,sort:4,sourc:[2,4,10],spawn:[0,1],special:[3,5,9,10],specif:4,specifi:[4,5,6,9,10],speed:4,splice:3,spoiler:[2,10],sprintf:[0,1],sqlinject:[0,1,10],stage:0,stai:4,start:[3,4,10],stat:10,statement:7,statist:6,steal:4,still:4,stock:6,stolen:4,stop:[6,10],stopact:[0,1],stopbui:6,stopsel:6,store:3,str:10,strategi:6,strength:10,strict:8,string:[3,4,6,10],structur:[2,4],strucur:10,studi:10,subject:2,subset:1,subtract:8,success:[4,6,10],successfulli:[4,5,6,10],suggest:1,sum:4,summit:10,support:[3,5,6],suspend:4,suspicion:0,sym:6,symbol:6,syntax:[1,4],system:6,take:[0,4,10],target:4,technolog:10,templat:4,ten:7,term:10,termin:[4,10],test:4,text:[3,4],than:[4,7,8],thei:[1,2,4],them:10,theme:0,thi:[0,1,2,3,4,5,6,8,9,10],third:[4,6],those:[4,5],though:4,thought:3,thread:[4,9,10],three:[3,4],through:[4,5,10],time:[4,5,7,10],tini:1,tix:[0,1],tokyo:10,tolowercas:3,tor:10,total:[4,5],totalmoneygener:5,totalram:4,tprint:[0,1],trade:[0,1],train:10,transact:6,travel:10,traveltoc:[0,1],travers:7,tri:[4,5],two:[4,6,8,9,10],txt:4,type:[0,1,4,6,10],typic:4,unari:[0,1],uncov:0,underli:4,underscor:3,uni:4,uniqu:4,univeristi:10,univers:10,universitycours:[0,1],universitynam:10,unknown:0,unlock:[6,10],until:[4,5,10],untyp:3,updat:10,upgrad:[5,10],upgradecor:5,upgradehomeram:[0,1],upgradelevel:5,upgraderam:5,usag:4,use:[4,6,7,10],used:[1,3,4,5,6,10],uses:7,using:[4,5,6,7,9,10],usual:10,valid:4,valu:[2,3,4,5,6,8,10],vari:4,variabl:[0,1,4,7,8],visit:[6,10],volhaven:10,vsprintf:[0,1],wai:[4,5,10],waiter:10,want:[5,9,10],warn:[8,9,10],weaken:[0,1],web:10,well:3,were:[4,10],wese:6,what:[4,5,10],whatev:10,when:[0,1,4,7,10],where:[0,4],whether:[4,6,10],which:[3,4,5,6,10],whitespac:4,without:4,work:[4,6,8,10],workforcompani:[0,1],workforfact:[0,1],worktyp:10,world:[0,1,6],would:[2,8,9,10],write:[0,1,5,6],written:[1,4],wrong:0,wse:6,yet:[4,10],you:[0,1,2,3,4,5,6,7,8,10],your:[0,1,5,6,10],yourself:5},titles:["Welcome to Bitburner's documentation!","Netscript Documentation","Netscript Advanced Functions","Netscript Data Types and Variables","Netscript Basic Functions","Netscript Hacknet Node API","Netscript Trade Information eXchange (TIX) API","Netscript Loops and Conditionals","Netscript Operators","Netscript Script Arguments","Netscript Singularity Functions"],titleterms:{"function":[2,4,10],advanc:2,api:[5,6],applytocompani:10,argument:9,basic:4,binari:8,bitburn:0,brutessh:4,buystock:6,cancelord:6,checkfactioninvit:10,clear:4,commitcrim:10,condit:7,createprogram:10,data:3,defin:4,deleteserv:4,document:[0,1],exampl:5,exchang:6,exec:4,exit:4,fileexist:4,ftpcrack:4,getaugmentationcost:10,getaugmentationsfromfact:10,getbitnodemultipli:2,getcompanyrep:10,getcrimech:10,getfactionrep:10,getgrowtim:4,gethackinglevel:4,gethackingmultipli:4,gethacktim:4,gethostnam:4,getnexthacknetnodecost:4,getownedaugment:10,getpurchasedserv:4,getscriptexpgain:4,getscriptincom:4,getscriptram:4,getserverbasesecuritylevel:4,getservergrowth:4,getservermaxmonei:4,getserverminsecuritylevel:4,getservermoneyavail:4,getservernumportsrequir:4,getserverram:4,getserverrequiredhackinglevel:4,getserversecuritylevel:4,getstat:10,getstockposit:6,getstockpric:6,gettimesincelastaug:4,getupgradehomeramcost:10,getweakentim:4,grow:4,gymworkout:10,hack:4,hacknet:5,hacknetnod:5,hasrootaccess:4,httpworm:4,indic:0,inform:6,installaugment:10,isbusi:10,isrun:4,joinfact:10,kill:4,killal:4,loop:7,member:5,method:5,netscript:[1,2,3,4,5,6,7,8,9,10],node:5,nuke:4,oper:8,own:4,placeord:6,print:4,prompt:4,purchaseaugment:10,purchasehacknetnod:4,purchaseprogram:10,purchaseserv:4,purchasetor:10,read:4,relaysmtp:4,round:4,run:4,scan:4,scp:4,script:9,scriptkil:4,scriptrun:4,sellshort:6,sellstock:6,serverexist:4,shortstock:6,singular:10,sleep:4,spawn:4,sprintf:4,sqlinject:4,stopact:10,tabl:0,tix:6,tprint:4,trade:6,traveltoc:10,type:3,unari:8,universitycours:10,upgradehomeram:10,variabl:[3,5],vsprintf:4,weaken:4,welcom:0,what:0,workforcompani:10,workforfact:10,write:4,your:4}}) \ No newline at end of file diff --git a/src/Gang.js b/src/Gang.js index ce293ac6f..33a78ccdb 100644 --- a/src/Gang.js +++ b/src/Gang.js @@ -361,7 +361,6 @@ GangMember.prototype.assignToTask = function(taskName) { this.task = GangMemberTasks[taskName]; } else { this.task = GangMemberTasks["Unassigned"]; - this.task = null; } }

    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մJSdnox07r593H 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�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 JorF2`e*nwG`G)`i literal 7619 zcmeHM-ESOM6?Ync?5@2|;xt8Rn=*xln%28ciPJ<@)mBNMDn3jOLAG$Fk*-l^$ zAO>qIW9}%+msZbLy(A7<{082?IA(z>M$A&8y78j43f&y#i}3k$JJIdF5GoXk*-$c5 zuvn4lom8(li4w(%EtM0ibnAp}xZDrCn1y&|mCxt}>^6Pq*}xB3x;3Ypu``w;iCvcJ zzg#c0oL0peIa0CM>iYp(vv5d9;n=-NOGexe4?1@f-`z8tTOzb>z60CtWKZwFr`SO^mMZ0E@1!u#>^tm$9P)E#fS;x&#Q4*CCe`zi z1CPX^zmW7Cy`Y={p_=k@`~*MAH~7hR;ZUP;CgF;gGKabL(Mvq$S*s@GR`{PG$haJkorK98nYwfPeF|05?Avc{TYFx$~@vjAJT_ zad^alo`*h3?5Dc>c*aZK%ktdsGq zj^SCyxWX@wy26QW&5pRpjKGjrZ`JbZ)m+{4TT4eP%+hp)IYUgY;2NsD@&Jr6IF}yP>j#VjNl=JP4E!Wx%mKC*E7Lyom(m@$t-9 z#DUjs-R6w$jayoVG_76KL!}laQe?kWM^V%Zs7K1^R|ULufbl zgMbJtS_eV@C!s6$AqMKVKyzZI@~5H2i~9^^6o5&TRM2-ErZ3`0sd~Kof17{4Y+gnD zpAhkX%p$%>Tomy$=2cNIXXUTh>IO)sb%OM+)-6WprcY9C$2JoVv^wx=a^M9}#=q zyn*fw@R#a@E!tn9!?gIaRk^II3H)77c!eD-*%PrQ_Y4x^QRMQv7-1lhh~qnb3h zsy?*|0=c<6V4<N!Zp2VT2I=8Xev=~^p`3B*gQ6N;xK)$pj&zociBM{plm6)FNw|x zv~Cnfu7Cng^L}V%G9~0S%}Rg5-m7}noMQMIPLFn3c^y)XnVn5g(@>#X+od!;5&Pk{ z3cC-#N$_n9uayh0W(%ES0c2@o_~qhi_&nVjrVYHj1KsrMewh{Nl&-^arn`1K&$4d22|q_g}`mC=SEWz4WVveu)M98F|m@&F33I2SA)`Go(5f5hM9*Z6Pw{oyQG>61jSl*&(?bb&OW@iD#I%${yR zz#;@KK|q_ondpXON}(v>tHc?aQ<~2deY7#)Mkqb=-**BuBW1PHCt0`;NLC7K+cb&> z+Ix~l{>u@I2&8OCMPDhNWpONG8#61)Tmw71B= z_<%ES8c{k}+Z>~`**5m>yRZSAJc)x;KU+*!lo0sdnH)g&!)fVFBfTSi zpn3rtjLIxgd5N8U^mt#la@gr0+qwy6iakA|?hXAEQG5W8uNx+ASxBG3JYds=W4Mgm z2p8wb|IDKhVuS6$rs^>Az9>)`<8kORAE?GL-^e1;H` z3~f?DZWWM^$K!4^QCx%uatxr?@uURo%ap9_%F6l)ADWzV1L5r13{)?$(evP&4}A-I zPcKi$42E;w121q0baZI@7M+#>p_Z7#JW-25HlCXhHI5K%kzo zJzo-p`Lh80tP!5cwgZ9jh>59XaSdBUa<4T$Y0h= zh*Tuqu*|54Pe1G<9!z*bNE@AAEtlvy>a-?+ju$9O#QO!iR{86oKzHl1Zm4FCTFOQQ%H diff --git a/doc/build/doctrees/netscript.doctree b/doc/build/doctrees/netscript.doctree index be565a86e58f8f6044d7a9decd72bcc363c1ca4f..b2786f2cc7a3488094a22b9d0f0602b2d2abdb25 100644 GIT binary patch literal 4303 zcmeHKTW=gm6?WqLtjBh|mn;xNtx%Li_=3cWOC%n$n?(ep0THtV;iy&9T{Bg3cU7mV z+V(s|f(KR`sov7OBJE#6{4l;#eVMTlt9?M?1xq8jPoFw{&UY@~sXwp$?Vr0#@h@y= zCat{6-H|q#aCO)qK_RrS-`0=*QopVrhCwD$W4TvG*Q0QUSKdsF@!EKiSTS++OB_q3 z$}=l89^_J3cOs4Yy^(d#ra8D=q4i+hMKbIO1!$EH_@(4{>nSE1!%0+j3j( z$(@tia#wDV3N%(u#T7Xh?v8|asa2(CPg|cGAOBiMzj5Zhuxa_FGnGxn*Bq$ET;7t) zVZgn&YFv2$L4mKQId={Z2ym60Z$cgO^t_9ES!IndtIAHJ3TxdbfA;C)v)?;m-C4%9 z5@%0^JNKqM)54D{tA#xS+-Hq837dG1tOF+d^1Ia-0dE2%KDE4*i?AF5mgOFn55s43 zG?Zgr3RYT!Q$?Zll;vDcD?Syhaw20&M}+Q{2oA+ zA0dn1$L~IV5Ab{RvaaM0($XKK&}?QZc4?Ittbxl> zKz$4c6x)oUu%eR3fi~VbLLD4OgSiZ-IaQQ7jxw+GjJay;geQD{#V>f98Fnh6SO~5O zWbRpS;DH;snfCmOL4oImah|CR)y;F}&4P^w?tr1jnDQ($!ZGv_qYn$}I#zIe8s9_^ zgNfk2vQUX%ntQ<{cZ;d|x!nIhI(?2BbiQfLJ^i5xrpc9$65VF zPtb$^6BoWIdcTVkY9lp8X)2v94yZrMol%Em*m0#)`s#>hS<5r)-lQI2EFMYF@k5;X zQyleiT3|Y04D&LQN!Wbe(29FphoRDGUS&e63|&^gp@9-M3VxM|(#!f}HEgvS6P3rw z{V?q5Zp3EXb3ZE~Ul0=f+#3twey^DuQ#!7*)aXo+8$8GR5BvAcVBmHdS@W8`Nu?tT zLip`opJx|bry^T;dAENlK`nS7jCiT)u-(5=S5Ywc%VDlpImaBF%}t3g0O56b$!S=b z=4M>K32PlpVI5P(suqxMv8Monoe~nL?~Hv8gM3VQ$>NJT4A^gaOr(b3F8ej%5p_RZ zL_`|Ay~Cb2g#4t3Lza;5vQM~EDf>kah%fIXi>wD^JQi(1Itu-Rjay3tiJ7FJ~S z$r3SC7{ooq8J*8iTEti2s+On1Qhl>O!cJSxhnFB~KvwhrL~?Jdv7l|^8XJar34j!u z1*}n4{$cNPPemw zi93p>ki!O6oo2IviTB;C7@Iul_dn;k^#CobL9MYJHdL0h@>^l=+Pc_@LGQQ1?hRvc zk=pD`H)|Cb7-T#}2i>8dXMuXO~I;?%pbByDDhJ?+jz*0p$j7@dR6>u(jRbf$e z=z)7mmz7V1PE7`ziLln#1htdpNEntj^hN5?bj^!S54&Gle*B}K)ZyOs7dH*;(qiba zGD<7ToYTs=2`EZJ=Bk!&!;rROR9bRH)mxw33Y(Zipb%b^v{{QQV<8*g9TdT6QF!vl>m4PaT_4s`hGhMB+vWD)v!nLqcmf0wIIBS zSCH$H_e)VG(Z|Z>i5FOo028_t^27T-{1`6nb!Cze=y2oQ5uU@WD$1lUno-!9qJVH= zNQk1~J7V1Qe4JdWj7VZ5>mVQ zA}`0>i3DEOfl2R6_xSku^78VioOx;Vk+IWb5c@GS-El4VMq$wG`tisJAHOOM3@FsI zjl?nv?_hwVMw^TvBybX#(voNC&2hz3`f>+|k-*V4r^!vHJM?&wFNEf}+tlrEl_ z*C0}oY(WL{PIq_IA*S&{VT4uUycrN{0z)m(u1zP``V8+Q=3+kBdi#k(-3V00Hs!k) z)8S!juDvC~5AtkY68E~2@W$YVt%RS%l90a0k1EF-pVc#+cA`-%8sxWLo5ix7S?y0ei zX}^_LmhR^XwRt^?cjR4#H3)g}2_`?9t4VmL*j5&5r1u`9bp);j^)&kyknol8c1^ literal 4306 zcmeHK{cjvc8MfotzPsf7Nt{v=G@zz+QEVeo1f+mSn^pu@2U1LlkfYVy?%d7PyF1&N zS^G}H(DG5G()`BqH}P-ryt8+^XGfs?fW$9YI>|fp&O7h>ykF0Jaq}Pl+*%5Mek0Lw z=~QYDbDaoV`3@~)B6ro_t9QSwE~|atF=CYS47-<=@6vy6TGU^6bKz`kRN>hC9Cu3R z)xi4xNNbmCCnB7$&(2qD^`i1SymWfL5?RNMtB#j_CzdKrjL0D)m;AaFanRV9b2C-B zsE%*=uHhF}mnIgKU#fhMJ7?6ebip*3J>>COxEhzO)(${rm;3cN<<>$B8=a&q=6ilc zC1J63>)@(ey!31HD}VCgqtoA7VeDzbb0ton2z%yqaSBL=rOAak#o5zZnigxE4vlq{ z+%EAo-tEr-zAg%lqfUdTmT zS77T$t*y#3Cj~2vhGdqhe9Tgwk4rulth6FwDh~n|+N257Bldxs0d-ithG#$gZ{5|p z{|h+ybNDUamp@(b_h)t9BO0r6@A<9erKR6Vk+Z2T*@aO~usV{K9BO=cNWM)O&=qb9zC?JN6+%aWF-tDl9`~GP+n$v9pZhYTOAYdLzMIX&@4AYOP?B z+t&-#|3Pa)SA*8(+yFWE$$!eZ9;(Vd9ffq0{9G`Kj1ixg!aB>eL4u6O_#a&s5z-Vx zqajAM*JMRgc@No0h?I?t5IqPR!DGoZ(f}WHA`#~z)rBzMdA%C^pIFwScM9}=|0;S* zm>N1ObeSg$4QhZ6clVXf;y0a+9q>4~KtqG)6@R6T`b}F%l}`?NlFa7f`s~z#{^Ndg zfxoTtI4u(~QfZhg`+g^%ckzTfUQf)0MZ%mrZ7_20HpW2uVV+|Djb^{@ z2HcFpgvM5T$*9c3oW$arjXY1zc^->oVY3}=65|n)jp)6iG{oD6GAY^ez=IC{3CX^ z*|VCeJZ=D#f5Q3}`+!>&vyU4HX_JMS&BXIqVhRejfAaMCyS40JAiKw&wV*Cu@Yk;@;d_A?Se>WS>T8mk7C3C$y=JV^7o{3g?)5%nuepP!n zXg{#9-QULrSyTOOmP8g_3Y_lEU?)cgzU%l9cP2CgI)0BvAb`iqC={5;sbeR=ri;Xg z1*H)_?oj>(Q7DO=02Ad7In}}X!GrI=hm7ve`7-cLu(keCK2DXD!0xK`*Hd+^MhMM= zE@>fWbI30)E)I*SlR6KOg9IHx(gOAkYC=&PWq(7#k~?v#`B@|~uF?pc0OXjSk1zek z)tW(&;^Ms@{0KK&FY*4hKx~Jev1le&Q@sz*C|v>&p^5ZK4lRCG4Jg#jC{dOm zoXG<4-JrbI9i=+vG!aoslwem%`WEIfGN=v!bZv=Ap^<r` z&6`e%`c#-_twDV-p@m-JS7~HV0o?^RIW-QTFL(xnw#7s_niH$_t`QY hT)qp^1Uqkyyeeh$sU}781#hS~cA@Qx$i2 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 literal 7168 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 literal 10171 zcmeHN%a0sK8DGD5#@@BP!H!}(R>eHLJIs!q#7Xc5oNQi-Vrvx<6D7!@)6-qE)#IM- zPFM9lB1OOf;e@(`G$$?`fCDFlkbrRG04G44a?W4CnFA8Puc}`&Ua!}Q6~zjXHlFUT z$M=2p``-0~y+8Zy*(vj%p7modQ$Z+uQS5V>>uGv1;*rWf$QOQ?zmw1F>68y5cZ9F+ z{qL}Y0mzgijjeNG|rh(fJF>Xa4AG&L9G0aUOb2Al}Zyc%IROOd<>1j^{ zp`Y>yW5kp`Ai1Z4II6ka8wL^2FYnf^)LoZxmU=wbQ@L)t3Y+&cRd77rcfIRoYizd9 z$^}cdTz$X`T`4gPAEx~*DZlAGfp1>c!dfJ@7mctMA*{ukZ#UEX%iW)OcIn!8Bv0iv z-;Dx(?Kv*5t2ns^nfJ3a;^{RU)-^ktURnv$(q`peDpfA-dn2C*!~0aALSC^e9=N<) zoX}@h%316=I=-uPu;%z)t&UHe0tm!u@W}9Y27h0{-`C#AGqE5#v_6*KdzEhxWOlUT zk8%SnaYCHe`x6(30y=wHA0kxlDv2!@U9n5-5tqdMSzjEtKm^VEG3VqsK?mI?O%_mA zvbkGPI4>5PYv^{(Z9cx-mi%2Dn^2Q~1q8kXy2Vo!y-$PQDcu5B?rQ2LqABqMka(|_ zxXh9yPL*Uzq@1%P4Mu?q)_6mcmUc$noi18)a19)M*K+V$A#vj1^-5YT(ELiLvyzSa z0Ai=}mtQQhmt$!OjbJI#z>{4jGfyyAvLI4?6$1^124U z;q$%6cEA|Hc0V*fj#g_ap3nyy)NHp30rR3hP*9%NJf8&5%JQ7zrvSef^^13nv1+5c zxTYnO17};G(m`?JwcqcWn(B03v6iyaVT){;N&Z&GBagFqz&rs=dWsH530JX{Cn=ZE zJv>8sd+e&<%|W9~D%R%=^W8*dp{uyh`kPF`5{FnZZToQs1JB;dV2$fzUSemiiU3dm z2$(h8XE2(9lwi#bv0=E$&Q16cE&@Py#NDWnhZ}|@ zCIu;sIHA4TUDEq4b}vD%;w$kwPoH%qpIsA2;5*%n#5kYo2pr` zR>m5LGxS~)66m>`RnW#Fh)widRJpR0iD$>(5qLf2w4%A0g%{ zZ^X;(N=QB;Px#L#KB1jzh+@V@IV6onT)b$Fn#^4jlQrca{$^QvO8mV#*4^E9<6P;f z`1GsFy1aL9*hPC-H$E>myq2ng$j4*)bZf7D1lTy)={y6U1vg||wn{T{t!x07fhhR4 zq4$JmsFvDpYT+4*u@kiar}hm0HlE=KJi|Cul|Ja3zX4E~c59aB5U5-+fyy%Ffi_Hu zV5IO+L<|Y{0ykt{94QwmS<2wOk*wLE1wjR(5#vSSlSLf*aO!O2Mw`qJ2F5liq@H0$ z0g2fHQ3yP+3=n~CHk^3d=Am8Vu17IKorZO>RD6bEGz@lVrrQ@p#*5jD&Y z;~<(}=&~eE=pUJcfrn6_%eeA-3qAIFoS9Wp?)q#LQ$)~@Gu3X|O-ql-i?=ryh-n-< zxCmypJL@e1h*qbwY-PXQL<^FAX5=_ThR1P!6-tJO%o8H$|56C?g+0nzMqhM6h)X3V zKCIlz3wIUiTf_#(C$+bzFqM8${8e|h3k=4UstN~gwQOYq$=(kaDuqB)P%{6Ig86@$ z5Mc3+bh=PX;iVQYY)ohAPzmV7BrEv$y7u#j| z&TNPm#$ULe$59US%_2y?qgDJy{%oQ{%0+1#$~Mc{XDw}Z7oyS-TzzIHAvXn0wjLLUVnTQ zsI4j(P?cykb61V#WD%8~{jMpj7>rY?iO^M|+`x_kH}keAxEP%>MQe(T)(YsFIL@>b z#xQy_# z@E1W2HAEr{k?{5qc?b}Bh9EMC!!TYa6i5-T!(zniY_kZ3eU5Gk1;S_*6-N}jUE4yr zw8PT(@~7UY5xL!k#o(&mzLkik^h_84Y;NfE!`Qpttf4Ff>|5;NC)*PL++06>vfamf zlN3JL2oBJ!(5;P8xFi#o+Evr0qMNQEb3~<}jD0dRPQF~!H|}7Y>gY|3^OKUP;kyI` z)0{EZfto-_6zh(`Ssedpc|b~K519Z^D`dCud6c42I#t?*@jR=@*GhMZijy@a+_@k4u5&V|;eTFUjHlwDP zrwjp*iQ7oUmYdFuBXIaWmL2|-P%#0zg#vV+W~*@&{-$K@wkYfZg?})%AwU}x;ob;E z0{9&AE(o8HwcEH(nE(u6WRDXX?W65nv!RWk&?=5GwOnFivX#lrI=drDV#|pjkjY1O z=zZ>4?y4glen_CXH2haiVQ9llyvh{B|?#CuxmcvnX zNBaxSSDxb9!A$eY0L`;?w`Q7I_T}4?(>BY9gIME` zSwqZ-k1{UzomZD7SCAC>-BO?j_!o_Y_D)*!68^5h-5p#jNXmvr%C zHsJ{g%(gA)Hp(fUrg7@Pr^ICI9Q%mW#}6TOeT1eOXyeq!Q6?ah92UgBqWAf{pRM8t-Lx@xFq{oK-~3&?p+%@;o<@jfF$Ne$ z(R0HQ!Kw)Hr_lQdsr{`F+S4UKUB|!&t7fhf@--e}6@r>Ga?|Tsg0&A>c-yb$R?8|! zE!9QZis_d8MDom!9mEfK)fR3DywYO%<$byZ)j}{a2sUzH;xPIf)FXCa0}*K`T-@0Y zn>YxFu^Gcgb!IErd*I;=0Qf8obA76;yC~C}4Y(Tg;&k<#P^0i%t`DOSnq;av4qU3q z)L`)&xt=Ad1FmZUt{WJ-Pug?fA*UNk(xEiCaVkfsZA&I$6PFDHM^6Sq4x;hZTW0k| z3EK68*kDvyj2b15ji=t#?LzFt2(Bk7w~sx2CGyMD`uHFSIRuXjIz}mZL}h6ovS|Sr z9w!*#;TYl1484u&i*BKm=mt1)C3G6I^Ipx?p0Fd__U95ru8i)D}I3u_iK^Vg`L*tN%71{trJ?!{_ zBoP*4A@KXm;&yEZ5i@QNkebXAz{XViAnt4dLG}Q!))BrzwVbAMiSCL%;1otubo3!; zDhzN`Sy$+15DlOYMm@2}jEV`zr7h9>fVp%NqFZ;mgX diff --git a/doc/build/doctrees/netscriptfunctions.doctree b/doc/build/doctrees/netscriptfunctions.doctree index cdf12708ad63cd4a97d3825168a781763feb4cf3..f63dbec8ec56fdf481d8237d6cfe26d48d14c397 100644 GIT binary patch literal 211110 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