From 1659e2804ea6b39bcfe23fa8b8058886699196e5 Mon Sep 17 00:00:00 2001 From: Ghommie <42542238+Ghommie@users.noreply.github.com> Date: Tue, 21 Apr 2020 04:04:10 +0200 Subject: [PATCH 01/41] Deletes lots of autoylathe copypasta. --- _maps/map_files/generic/CentCom.dmm | 2 +- code/__DEFINES/machines.dm | 16 +- code/datums/wires/autoylathe.dm | 48 -- code/game/machinery/autolathe.dm | 43 +- code/game/machinery/toylathe.dm | 415 ------------------ .../circuitboards/machine_circuitboards.dm | 4 +- .../research/designs/autoylathe_designs.dm | 40 +- .../machine_designs_all_misc.dm | 2 +- code/modules/research/rdconsole.dm | 2 +- code/modules/research/techweb/_techweb.dm | 18 +- tgstation.dme | 2 - 11 files changed, 81 insertions(+), 511 deletions(-) delete mode 100644 code/datums/wires/autoylathe.dm delete mode 100644 code/game/machinery/toylathe.dm diff --git a/_maps/map_files/generic/CentCom.dmm b/_maps/map_files/generic/CentCom.dmm index c9b81cefd9..eadf31ad46 100644 --- a/_maps/map_files/generic/CentCom.dmm +++ b/_maps/map_files/generic/CentCom.dmm @@ -16752,7 +16752,7 @@ }, /area/centcom/holding) "Nf" = ( -/obj/machinery/autoylathe, +/obj/machinery/autolathe/toy, /turf/open/indestructible/hotelwood, /area/centcom/holding) "Ni" = ( diff --git a/code/__DEFINES/machines.dm b/code/__DEFINES/machines.dm index eee0676dec..5a26feb624 100644 --- a/code/__DEFINES/machines.dm +++ b/code/__DEFINES/machines.dm @@ -22,14 +22,14 @@ //used in design to specify which machine can build it #define IMPRINTER (1<<0) //For circuits. Uses glass/chemicals. -#define PROTOLATHE (1<<1) //New stuff. Uses glass/metal/chemicals -#define AUTOLATHE (1<<2) //Uses glass/metal only. -#define CRAFTLATHE (1<<3) //Uses fuck if I know. For use eventually. -#define MECHFAB (1<<4) //Remember, objects utilising this flag should have construction_time and construction_cost vars. -#define BIOGENERATOR (1<<5) //Uses biomass -#define LIMBGROWER (1<<6) //Uses synthetic flesh -#define SMELTER (1<<7) //uses various minerals -#define AUTOYLATHE (1<<8) // CITADEL ADD +#define PROTOLATHE (1<<1) //New stuff. Uses materials/chemicals +#define AUTOLATHE (1<<2) //Uses materials only. +#define TOYLATHE (1<<3) //Glass/metal/plastic. Meant for toys. +#define NO_PUBLIC_LATHE (1<<4) //prevents the design from being auto-unlocked by public auto(y)lathes. +#define MECHFAB (1<<5) //Remember, objects utilising this flag should have construction_time and construction_cost vars. +#define BIOGENERATOR (1<<6) //Uses biomass +#define LIMBGROWER (1<<7) //Uses synthetic flesh +#define SMELTER (1<<8) //uses various minerals #define NANITE_COMPILER (1<<9) //Prints nanite disks #define AUTOBOTTLER (1<<10) //Uses booze, for printing //Note: More then one of these can be added to a design but imprinter and lathe designs are incompatable. diff --git a/code/datums/wires/autoylathe.dm b/code/datums/wires/autoylathe.dm deleted file mode 100644 index 736c9551ec..0000000000 --- a/code/datums/wires/autoylathe.dm +++ /dev/null @@ -1,48 +0,0 @@ -/datum/wires/autoylathe - holder_type = /obj/machinery/autoylathe - proper_name = "Autoylathe" - -/datum/wires/autoylathe/New(atom/holder) - wires = list( - WIRE_HACK, WIRE_DISABLE, - WIRE_SHOCK, WIRE_ZAP - ) - add_duds(6) - ..() - -/datum/wires/autoylathe/interactable(mob/user) - var/obj/machinery/autoylathe/A = holder - if(A.panel_open) - return TRUE - -/datum/wires/autoylathe/get_status() - var/obj/machinery/autoylathe/A = holder - var/list/status = list() - status += "The red light is [A.disabled ? "on" : "off"]." - status += "The blue light is [A.hacked ? "on" : "off"]." - return status - -/datum/wires/autoylathe/on_pulse(wire) - var/obj/machinery/autoylathe/A = holder - switch(wire) - if(WIRE_HACK) - A.adjust_hacked(!A.hacked) - addtimer(CALLBACK(A, /obj/machinery/autoylathe.proc/reset, wire), 60) - if(WIRE_SHOCK) - A.shocked = !A.shocked - addtimer(CALLBACK(A, /obj/machinery/autoylathe.proc/reset, wire), 60) - if(WIRE_DISABLE) - A.disabled = !A.disabled - addtimer(CALLBACK(A, /obj/machinery/autoylathe.proc/reset, wire), 60) - -/datum/wires/autoylathe/on_cut(wire, mend) - var/obj/machinery/autoylathe/A = holder - switch(wire) - if(WIRE_HACK) - A.adjust_hacked(!mend) - if(WIRE_HACK) - A.shocked = !mend - if(WIRE_DISABLE) - A.disabled = !mend - if(WIRE_ZAP) - A.shock(usr, 50) diff --git a/code/game/machinery/autolathe.dm b/code/game/machinery/autolathe.dm index 6fa7fa30c0..961c5e8331 100644 --- a/code/game/machinery/autolathe.dm +++ b/code/game/machinery/autolathe.dm @@ -28,11 +28,11 @@ var/prod_coeff = 1 var/datum/design/being_built - var/datum/techweb/stored_research var/list/datum/design/matching_designs var/selected_category var/screen = 1 + var/datum/techweb/stored_research = /datum/techweb/specialized/autounlocking/autolathe var/list/categories = list( "Tools", "Electronics", @@ -45,9 +45,7 @@ "Dinnerware", "Imported" ) - -/obj/machinery/autolathe/Initialize() - var/static/list/allowed_types = list( + var/list/allowed_materials = list( /datum/material/iron, /datum/material/glass, /datum/material/gold, @@ -63,10 +61,12 @@ /datum/material/adamantine, /datum/material/mythril ) - AddComponent(/datum/component/material_container, allowed_types, _show_on_examine=TRUE, _after_insert=CALLBACK(src, .proc/AfterMaterialInsert)) + +/obj/machinery/autolathe/Initialize() + AddComponent(/datum/component/material_container, allowed_materials, _show_on_examine=TRUE, _after_insert=CALLBACK(src, .proc/AfterMaterialInsert)) . = ..() wires = new /datum/wires/autolathe(src) - stored_research = new /datum/techweb/specialized/autounlocking/autolathe + stored_research = new stored_research matching_designs = list() /obj/machinery/autolathe/Destroy() @@ -91,7 +91,7 @@ if(AUTOLATHE_SEARCH_MENU) dat = search_win(user) - var/datum/browser/popup = new(user, "autolathe", name, 400, 500) + var/datum/browser/popup = new(user, name, name, 400, 500) popup.set_content(dat) popup.open() @@ -439,8 +439,37 @@ desc = "An autolathe reprogrammed with security protocols to prevent hacking." hackable = FALSE circuit = /obj/item/circuitboard/machine/autolathe/secure + stored_research = /datum/techweb/specialized/autounlocking/autolathe/public //Called when the object is constructed by an autolathe //Has a reference to the autolathe so you can do !!FUN!! things with hacked lathes /obj/item/proc/autolathe_crafted(obj/machinery/autolathe/A) return + +/obj/machinery/autolathe/toy + name = "autoylathe" + desc = "It produces toys using plastic, metal and glass." + circuit = /obj/item/circuitboard/machine/autolathe/toy + + stored_research = /datum/techweb/specialized/autounlocking/autolathe/toy + categories = list( + "Toys", + "Figurines", + "Pistols", + "Rifles", + "Heavy", + "Melee", + "Armor", + "Adult", + "Misc", + "Imported" + ) + allowed_materials = list( + /datum/material/iron, + /datum/material/glass, + /datum/material/plastic + ) + +/obj/machinery/autolathe/toy/hacked/Initialize() + . = ..() + adjust_hacked(TRUE) diff --git a/code/game/machinery/toylathe.dm b/code/game/machinery/toylathe.dm deleted file mode 100644 index c679f3f983..0000000000 --- a/code/game/machinery/toylathe.dm +++ /dev/null @@ -1,415 +0,0 @@ -#define AUTOYLATHE_MAIN_MENU 1 -#define AUTOYLATHE_CATEGORY_MENU 2 -#define AUTOYLATHE_SEARCH_MENU 3 - -/obj/machinery/autoylathe - name = "autoylathe" - desc = "It produces toys using plastic, metal and glass." - icon_state = "autolathe" - density = TRUE - use_power = IDLE_POWER_USE - idle_power_usage = 10 - active_power_usage = 100 - circuit = /obj/item/circuitboard/machine/autoylathe - layer = BELOW_OBJ_LAYER - - var/operating = FALSE - var/list/L = list() - var/list/LL = list() - var/hacked = FALSE - var/disabled = 0 - var/shocked = FALSE - var/hack_wire - var/disable_wire - var/shock_wire - - var/busy = FALSE - var/prod_coeff = 1 - - var/datum/design/being_built - var/datum/techweb/stored_research - var/list/datum/design/matching_designs - var/selected_category - var/screen = 1 - - var/list/categories = list( - "Toys", - "Figurines", - "Pistols", - "Rifles", - "Heavy", - "Melee", - "Armor", - "Adult", - "Misc", - "Imported" - ) - -/obj/machinery/autoylathe/Initialize() - var/static/list/allowed_materials = list( - /datum/material/iron, - /datum/material/glass, - /datum/material/plastic - ) - AddComponent(/datum/component/material_container, allowed_materials, 0, TRUE, null, null, CALLBACK(src, .proc/AfterMaterialInsert)) - . = ..() - - wires = new /datum/wires/autoylathe(src) - stored_research = new /datum/techweb/specialized/autounlocking/autoylathe - matching_designs = list() - -/obj/machinery/autoylathe/Destroy() - QDEL_NULL(wires) - return ..() - -/obj/machinery/autoylathe/ui_interact(mob/user) - . = ..() - if(!is_operational()) - return - - if(shocked && !(stat & NOPOWER)) - shock(user,50) - - var/dat - - switch(screen) - if(AUTOYLATHE_MAIN_MENU) - dat = main_win(user) - if(AUTOYLATHE_CATEGORY_MENU) - dat = category_win(user,selected_category) - if(AUTOYLATHE_SEARCH_MENU) - dat = search_win(user) - - var/datum/browser/popup = new(user, "Autoylathe", name, 400, 500) - popup.set_content(dat) - popup.open() - -/obj/machinery/autoylathe/on_deconstruction() - var/datum/component/material_container/materials = GetComponent(/datum/component/material_container) - materials.retrieve_all() - -/obj/machinery/autoylathe/attackby(obj/item/O, mob/user, params) - if (busy) - to_chat(user, "The autoylathe is busy. Please wait for completion of previous operation.") - return TRUE - - if(default_deconstruction_screwdriver(user, "autolathe_t", "autolathe", O)) - updateUsrDialog() - return TRUE - - if(default_deconstruction_crowbar(O)) - return TRUE - - if(panel_open && is_wire_tool(O)) - wires.interact(user) - return TRUE - - if(user.a_intent == INTENT_HARM) //so we can hit the machine - return ..() - - if(stat) - return TRUE - - if(istype(O, /obj/item/disk/design_disk)) - user.visible_message("[user] begins to load \the [O] in \the [src]...", - "You begin to load a design from \the [O]...", - "You hear the chatter of a floppy drive.") - busy = TRUE - var/obj/item/disk/design_disk/D = O - if(do_after(user, 14.4, target = src)) - for(var/B in D.blueprints) - if(B) - stored_research.add_design(B) - busy = FALSE - return TRUE - - return ..() - -/obj/machinery/autoylathe/proc/AfterMaterialInsert(obj/item/item_inserted, id_inserted, amount_inserted) - if(item_inserted.custom_materials?.len && item_inserted.custom_materials[SSmaterials.GetMaterialRef(/datum/material/glass)]) - flick("autolathe_r",src)//plays glass insertion animation by default otherwise - else - flick("autolathe_o",src)//plays metal insertion animation - - use_power(min(1000, amount_inserted / 100)) - updateUsrDialog() - -/obj/machinery/autoylathe/Topic(href, href_list) - if(..()) - return - if (!busy) - if(href_list["menu"]) - screen = text2num(href_list["menu"]) - updateUsrDialog() - - if(href_list["category"]) - selected_category = href_list["category"] - updateUsrDialog() - - if(href_list["make"]) - - ///////////////// - //href protection - being_built = stored_research.isDesignResearchedID(href_list["make"]) - if(!being_built) - return - - var/multiplier = text2num(href_list["multiplier"]) - var/is_stack = ispath(being_built.build_path, /obj/item/stack) - multiplier = CLAMP(multiplier,1,50) - - ///////////////// - - var/coeff = (is_stack ? 1 : prod_coeff) //stacks are unaffected by production coefficient - var/total_amount = 0 - for(var/MAT in being_built.materials) - total_amount += being_built.materials[MAT] - var/power = max(2000, (total_amount)*multiplier/5) //Change this to use all materials - - var/datum/component/material_container/materials = GetComponent(/datum/component/material_container) - - var/list/materials_used = list() - var/list/custom_materials = list() //These will apply their material effect, This should usually only be one. - - for(var/MAT in being_built.materials) - var/datum/material/used_material = MAT - var/amount_needed = being_built.materials[MAT] * coeff * multiplier - if(istext(used_material)) //This means its a category - var/list/list_to_show = list() - for(var/i in SSmaterials.materials_by_category[used_material]) - if(materials.materials[i] > 0) - list_to_show += i - - used_material = input("Choose [used_material]", "Custom Material") as null|anything in list_to_show - if(!used_material) - return //Didn't pick any material, so you can't build shit either. - custom_materials[used_material] += amount_needed - - materials_used[used_material] = amount_needed - - if(materials.has_materials(materials_used)) - busy = TRUE - use_power(power) - icon_state = "autolathe_n" - var/time = is_stack ? 32 : 32*coeff*multiplier - addtimer(CALLBACK(src, .proc/make_item, power, materials_used, custom_materials, multiplier, coeff, is_stack), time) - else - to_chat(usr, "Not enough materials for this operation.") - - if(href_list["search"]) - matching_designs.Cut() - - for(var/v in stored_research.researched_designs) - var/datum/design/D = SSresearch.techweb_design_by_id(v) - if(findtext(D.name,href_list["to_search"])) - matching_designs.Add(D) - updateUsrDialog() - else - to_chat(usr, "The autoylathe is busy. Please wait for completion of previous operation.") - - updateUsrDialog() - - return - -/obj/machinery/autoylathe/proc/make_item(power, list/materials_used, list/picked_materials, multiplier, coeff, is_stack) - var/datum/component/material_container/materials = GetComponent(/datum/component/material_container) - var/atom/A = drop_location() - use_power(power) - materials.use_materials(materials_used) - - if(is_stack) - var/obj/item/stack/N = new being_built.build_path(A, multiplier) - N.update_icon() - N.autoylathe_crafted(src) - else - for(var/i=1, i<=multiplier, i++) - var/obj/item/new_item = new being_built.build_path(A) - new_item.autoylathe_crafted(src) - if(length(picked_materials)) - new_item.set_custom_materials(picked_materials, 1 / multiplier) //Ensure we get the non multiplied amount - icon_state = "autolathe" - busy = FALSE - updateDialog() - -/obj/machinery/autoylathe/RefreshParts() - var/T = 0 - for(var/obj/item/stock_parts/matter_bin/MB in component_parts) - T += MB.rating*75000 - var/datum/component/material_container/materials = GetComponent(/datum/component/material_container) - materials.max_amount = T - T=1.2 - for(var/obj/item/stock_parts/manipulator/M in component_parts) - T -= M.rating*0.2 - prod_coeff = CLAMP(T,1,0) // Coeff going 1 -> 0,8 -> 0,6 -> 0,4 - -/obj/machinery/autoylathe/proc/main_win(mob/user) - var/dat = "

Autoylathe Menu:


" - dat += materials_printout() - - dat += "
\ - \ - \ - \ - \ - \ -

" - - var/line_length = 1 - dat += "" - - for(var/C in categories) - if(line_length > 2) - dat += "" - line_length = 1 - - dat += "" - line_length++ - - dat += "
[C]
" - return dat - -/obj/machinery/autoylathe/proc/category_win(mob/user,selected_category) - var/dat = "Return to main menu" - dat += "

Browsing [selected_category]:


" - dat += materials_printout() - - for(var/v in stored_research.researched_designs) - var/datum/design/D = SSresearch.techweb_design_by_id(v) - if(!(selected_category in D.category)) - continue - - if(disabled || !can_build(D)) - dat += "[D.name]" - else - dat += "[D.name]" - - if(ispath(D.build_path, /obj/item/stack)) - var/datum/component/material_container/materials = GetComponent(/datum/component/material_container) - var/max_multiplier - for(var/datum/material/mat in D.materials) - max_multiplier = min(D.maxstack, round(materials.get_material_amount(mat)/D.materials[mat])) - if (max_multiplier>10 && !disabled) - dat += " x10" - if (max_multiplier>25 && !disabled) - dat += " x25" - if(max_multiplier > 0 && !disabled) - dat += " x[max_multiplier]" - else - if(!disabled && can_build(D, 5)) - dat += " x5" - if(!disabled && can_build(D, 10)) - dat += " x10" - - dat += "[get_design_cost(D)]
" - - dat += "
" - return dat - -/obj/machinery/autoylathe/proc/search_win(mob/user) - var/dat = "Return to main menu" - dat += "

Search results:


" - dat += materials_printout() - - for(var/v in matching_designs) - var/datum/design/D = v - if(disabled || !can_build(D)) - dat += "[D.name]" - else - dat += "[D.name]" - - if(ispath(D.build_path, /obj/item/stack)) - var/datum/component/material_container/materials = GetComponent(/datum/component/material_container) - var/max_multiplier - for(var/datum/material/mat in D.materials) - max_multiplier = min(D.maxstack, round(materials.get_material_amount(mat)/D.materials[mat])) - if (max_multiplier>10 && !disabled) - dat += " x10" - if (max_multiplier>25 && !disabled) - dat += " x25" - if(max_multiplier > 0 && !disabled) - dat += " x[max_multiplier]" - - dat += "[get_design_cost(D)]
" - - dat += "
" - return dat - -/obj/machinery/autoylathe/proc/materials_printout() - var/datum/component/material_container/materials = GetComponent(/datum/component/material_container) - var/dat = "Total amount: [materials.total_amount] / [materials.max_amount] cm3
" - for(var/mat_id in materials.materials) - var/datum/material/M = mat_id - var/mineral_amount = materials.materials[mat_id] - if(mineral_amount > 0) - dat += "[M.name] amount: [mineral_amount] cm3
" - return dat - -/obj/machinery/autoylathe/proc/can_build(datum/design/D, amount = 1) - if(D.make_reagents.len) - return FALSE - - var/coeff = (ispath(D.build_path, /obj/item/stack) ? 1 : prod_coeff) - - var/list/required_materials = list() - - for(var/i in D.materials) - required_materials[i] = D.materials[i] * coeff * amount - - var/datum/component/material_container/materials = GetComponent(/datum/component/material_container) - - return materials.has_materials(required_materials) - -/obj/machinery/autoylathe/proc/get_design_cost(datum/design/D) - var/coeff = (ispath(D.build_path, /obj/item/stack) ? 1 : prod_coeff) - var/dat - for(var/i in D.materials) - if(istext(i)) //Category handling - dat += "[D.materials[i] * coeff] [i]" - else - var/datum/material/M = i - dat += "[D.materials[i] * coeff] [M.name] " - return dat - -/obj/machinery/autoylathe/proc/reset(wire) - switch(wire) - if(WIRE_HACK) - if(!wires.is_cut(wire)) - adjust_hacked(FALSE) - if(WIRE_SHOCK) - if(!wires.is_cut(wire)) - shocked = FALSE - if(WIRE_DISABLE) - if(!wires.is_cut(wire)) - disabled = FALSE - -/obj/machinery/autoylathe/proc/shock(mob/user, prb) - if(stat & (BROKEN|NOPOWER)) // unpowered, no shock - return FALSE - if(!prob(prb)) - return FALSE - var/datum/effect_system/spark_spread/s = new /datum/effect_system/spark_spread - s.set_up(5, 1, src) - s.start() - if (electrocute_mob(user, get_area(src), src, 0.7, TRUE)) - return TRUE - else - return FALSE - -/obj/machinery/autoylathe/proc/adjust_hacked(state) - hacked = state - for(var/id in SSresearch.techweb_designs) - var/datum/design/D = SSresearch.techweb_designs[id] - if((D.build_type & AUTOYLATHE) && ("hacked" in D.category)) - if(hacked) - stored_research.add_design(D) - else - stored_research.remove_design(D) - -/obj/machinery/autoylathe/hacked/Initialize() - . = ..() - adjust_hacked(TRUE) - -//Called when the object is constructed by an autoylathe -//Has a reference to the autoylathe so you can do !!FUN!! things with hacked lathes -/obj/item/proc/autoylathe_crafted(obj/machinery/autoylathe/A) - return diff --git a/code/game/objects/items/circuitboards/machine_circuitboards.dm b/code/game/objects/items/circuitboards/machine_circuitboards.dm index aaa87bbf01..2d63a39323 100644 --- a/code/game/objects/items/circuitboards/machine_circuitboards.dm +++ b/code/game/objects/items/circuitboards/machine_circuitboards.dm @@ -1033,9 +1033,9 @@ build_path = /obj/machinery/vending/kink req_components = list(/obj/item/vending_refill/kink = 1) -/obj/item/circuitboard/machine/autoylathe +/obj/item/circuitboard/machine/autolathe/toy name = "Autoylathe (Machine Board)" - build_path = /obj/machinery/autoylathe + build_path = /obj/machinery/autolathe/toy req_components = list( /obj/item/stock_parts/matter_bin = 3, /obj/item/stock_parts/manipulator = 1, diff --git a/code/modules/research/designs/autoylathe_designs.dm b/code/modules/research/designs/autoylathe_designs.dm index 7811cfdaad..0e572fee7a 100644 --- a/code/modules/research/designs/autoylathe_designs.dm +++ b/code/modules/research/designs/autoylathe_designs.dm @@ -1,5 +1,5 @@ /datum/design/autoylathe - build_type = AUTOYLATHE + build_type = TOYLATHE /datum/design/autoylathe/mech category = list("initial", "Figurines") @@ -558,7 +558,7 @@ /datum/design/foam_x9 name = "Foam Force X9 Rifle" id = "foam_x9" - build_type = AUTOYLATHE + build_type = TOYLATHE materials = list(/datum/material/plastic = 4000, /datum/material/iron = 500) build_path = /obj/item/gun/ballistic/automatic/x9/toy category = list("initial", "Rifles") @@ -566,7 +566,7 @@ /datum/design/foam_dart name = "Box of Foam Darts" id = "foam_dart" - build_type = AUTOYLATHE + build_type = TOYLATHE materials = list(/datum/material/plastic = 500, /datum/material/iron = 100) build_path = /obj/item/ammo_box/foambox category = list("initial", "Misc") @@ -574,7 +574,7 @@ /datum/design/foam_magpistol name = "Foam Force Magpistol" id = "magfoam_launcher" - build_type = AUTOYLATHE + build_type = TOYLATHE materials = list(/datum/material/plastic = 2000, /datum/material/iron = 250) build_path = /obj/item/gun/ballistic/shotgun/toy/mag category = list("initial", "Pistols") @@ -582,7 +582,7 @@ /datum/design/foam_magrifle name = "Foam Force MagRifle" id = "foam_magrifle" - build_type = AUTOYLATHE + build_type = TOYLATHE materials = list(/datum/material/plastic = 4000, /datum/material/iron = 500) build_path = /obj/item/gun/ballistic/automatic/toy/magrifle category = list("initial", "Rifles") @@ -590,7 +590,7 @@ /datum/design/foam_hyperburst name = "MagTag Hyper Rifle" id = "foam_hyperburst" - build_type = AUTOYLATHE + build_type = TOYLATHE materials = list(/datum/material/plastic = 4000, /datum/material/iron = 2000, /datum/material/glass = 1000) build_path = /obj/item/gun/energy/laser/practice/hyperburst category = list("initial", "Rifles") @@ -598,7 +598,7 @@ /datum/design/foam_sp name = "Foam Force Stealth Pistol" id = "foam_sp" - build_type = AUTOYLATHE + build_type = TOYLATHE materials = list(/datum/material/plastic = 2000, /datum/material/iron = 1000) build_path = /obj/item/gun/ballistic/automatic/toy/pistol/stealth category = list("initial", "Pistols") @@ -606,7 +606,7 @@ /datum/design/toyray name = "RayTag Gun" id = "toyray" - build_type = AUTOYLATHE + build_type = TOYLATHE materials = list(/datum/material/plastic = 2000, /datum/material/iron = 1000, /datum/material/glass = 1000) build_path = /obj/item/gun/energy/laser/practice/raygun category = list("initial", "Pistols") @@ -614,7 +614,7 @@ /datum/design/am4c name = "Foam Force AM4-C Rifle" id = "foam_am4c" - build_type = AUTOYLATHE + build_type = TOYLATHE materials = list(/datum/material/plastic = 4000, /datum/material/iron = 500) build_path = /obj/item/gun/ballistic/automatic/AM4C category = list("initial", "Rifles") @@ -622,7 +622,7 @@ /datum/design/foam_f3 name = "Replica F3 Justicar" id = "foam_f3" - build_type = AUTOYLATHE + build_type = TOYLATHE materials = list(/datum/material/plastic = 2000, /datum/material/iron = 250) build_path = /obj/item/toy/gun/justicar category = list("initial", "Pistols") @@ -630,7 +630,7 @@ /datum/design/toy_blaster name = "pump-action plastic blaster" id = "toy_blaster" - build_type = AUTOYLATHE + build_type = TOYLATHE materials = list(/datum/material/plastic = 2000, /datum/material/iron = 750, /datum/material/glass = 1000) build_path = /obj/item/gun/energy/pumpaction/toy category = list("initial", "Rifles") @@ -638,7 +638,7 @@ /datum/design/capammo name = "Box of Caps" id = "capammo" - build_type = AUTOYLATHE + build_type = TOYLATHE materials = list(/datum/material/iron = 10, /datum/material/glass = 10) build_path = /obj/item/toy/ammo/gun category = list("initial", "Misc") @@ -646,7 +646,7 @@ /datum/design/foam_smg name = "Foam Force SMG" id = "foam_smg" - build_type = AUTOYLATHE + build_type = TOYLATHE materials = list(/datum/material/plastic = 2000, /datum/material/iron = 250) build_path = /obj/item/gun/ballistic/automatic/toy/unrestricted category = list("initial", "Pistols") @@ -654,7 +654,7 @@ /datum/design/foam_pistol name = "Foam Force Pistol" id = "foam_pistol" - build_type = AUTOYLATHE + build_type = TOYLATHE materials = list(/datum/material/plastic = 2000, /datum/material/iron = 250) build_path = /obj/item/gun/ballistic/automatic/toy/pistol/unrestricted category = list("initial", "Pistols") @@ -662,7 +662,7 @@ /datum/design/foam_shotgun name = "Foam Force Shotgun" id = "foam_shotgun" - build_type = AUTOYLATHE + build_type = TOYLATHE materials = list(/datum/material/plastic = 4000, /datum/material/iron = 500) build_path = /obj/item/gun/ballistic/shotgun/toy/unrestricted category = list("initial", "Rifles") @@ -670,7 +670,7 @@ /datum/design/foam_dartred name = "Box of Lastag Red Foam Darts" id = "redfoam_dart" - build_type = AUTOYLATHE + build_type = TOYLATHE materials = list(/datum/material/plastic = 500, /datum/material/iron = 100) build_path = /obj/item/ammo_box/foambox/tag/red category = list("initial", "Misc") @@ -678,7 +678,7 @@ /datum/design/foam_dartblue name = "Box of Lastag Blue Foam Darts" id = "bluefoam_dart" - build_type = AUTOYLATHE + build_type = TOYLATHE materials = list(/datum/material/plastic = 500, /datum/material/iron = 100) build_path = /obj/item/ammo_box/foambox/tag/blue category = list("initial", "Misc") @@ -686,7 +686,7 @@ /datum/design/foam_bow name = "Foam Force Crossbow" id = "foam_bow" - build_type = AUTOYLATHE + build_type = TOYLATHE materials = list(/datum/material/plastic = 2000, /datum/material/iron = 250) build_path = /obj/item/gun/ballistic/shotgun/toy/crossbow category = list("initial", "Pistols") @@ -694,7 +694,7 @@ /datum/design/foam_c20 name = "Donksoft C20R" id = "foam_c20" - build_type = AUTOYLATHE + build_type = TOYLATHE materials = list(/datum/material/plastic = 4000, /datum/material/iron = 500) build_path = /obj/item/gun/ballistic/automatic/c20r/toy/unrestricted category = list("hacked", "Rifles") @@ -702,7 +702,7 @@ /datum/design/foam_l6 name = "Donksoft LMG" id = "foam_LMG" - build_type = AUTOYLATHE + build_type = TOYLATHE materials = list(/datum/material/plastic = 4000, /datum/material/iron = 500) build_path = /obj/item/gun/ballistic/automatic/l6_saw/toy/unrestricted category = list("hacked", "Rifles") diff --git a/code/modules/research/designs/machine_desings/machine_designs_all_misc.dm b/code/modules/research/designs/machine_desings/machine_designs_all_misc.dm index 6d63df7d4b..06cdef5ecc 100644 --- a/code/modules/research/designs/machine_desings/machine_designs_all_misc.dm +++ b/code/modules/research/designs/machine_desings/machine_designs_all_misc.dm @@ -111,6 +111,6 @@ name = "Machine Design (Autoylathe)" desc = "The circuit board for an autoylathe." id = "autoylathe" - build_path = /obj/item/circuitboard/machine/autoylathe + build_path = /obj/item/circuitboard/machine/autolathe/toy departmental_flags = DEPARTMENTAL_FLAG_ALL category = list("Misc. Machinery") diff --git a/code/modules/research/rdconsole.dm b/code/modules/research/rdconsole.dm index be1b9460b0..ddc732d132 100644 --- a/code/modules/research/rdconsole.dm +++ b/code/modules/research/rdconsole.dm @@ -1026,7 +1026,7 @@ Nothing else in the console has ID requirements. autolathe_friendly = FALSE D.category -= "Imported" - if(D.build_type & (AUTOLATHE|PROTOLATHE|CRAFTLATHE)) // Specifically excludes circuit imprinter and mechfab + if(D.build_type & (AUTOLATHE|PROTOLATHE|TOYLATHE)) // Specifically excludes circuit imprinter and mechfab D.build_type = autolathe_friendly ? (D.build_type | AUTOLATHE) : D.build_type D.category |= "Imported" d_disk.blueprints[slot] = D diff --git a/code/modules/research/techweb/_techweb.dm b/code/modules/research/techweb/_techweb.dm index 388fa3785c..ddf6edc9f9 100644 --- a/code/modules/research/techweb/_techweb.dm +++ b/code/modules/research/techweb/_techweb.dm @@ -344,6 +344,7 @@ /datum/techweb/specialized/autounlocking var/design_autounlock_buildtypes = NONE + var/design_autounlock_skip_types = NONE var/design_autounlock_categories = list("initial") //if a design has a buildtype that matches the abovea and either has a category in this or this is null, unlock it. var/node_autounlock_ids = list() //autounlock nodes of this type. @@ -356,7 +357,7 @@ research_node_id(id, TRUE, FALSE) for(var/id in SSresearch.techweb_designs) var/datum/design/D = SSresearch.techweb_design_by_id(id) - if(D.build_type & design_autounlock_buildtypes) + if(D.build_type & (design_autounlock_buildtypes & allowed_buildtypes) && !(D.build_type & design_autounlock_skip_types)) for(var/i in D.category) if(i in design_autounlock_categories) add_design_by_id(D.id) @@ -364,7 +365,16 @@ /datum/techweb/specialized/autounlocking/autolathe design_autounlock_buildtypes = AUTOLATHE - allowed_buildtypes = AUTOLATHE + allowed_buildtypes = AUTOLATHE|TOYLATHE + +/datum/techweb/specialized/autounlocking/autolathe/public + design_autounlock_skip_types = NO_PUBLIC_LATHE + +/datum/techweb/specialized/autounlocking/autolathe/toy + design_autounlock_buildtypes = TOYLATHE + +/datum/techweb/specialized/autounlocking/autolathe/toy/public + design_autounlock_skip_types = NO_PUBLIC_LATHE /datum/techweb/specialized/autounlocking/limbgrower design_autounlock_buildtypes = LIMBGROWER @@ -381,10 +391,6 @@ /datum/techweb/specialized/autounlocking/exofab allowed_buildtypes = MECHFAB -/datum/techweb/specialized/autounlocking/autoylathe - design_autounlock_buildtypes = AUTOYLATHE - allowed_buildtypes = AUTOYLATHE - /datum/techweb/specialized/autounlocking/autobottler design_autounlock_buildtypes = AUTOBOTTLER allowed_buildtypes = AUTOBOTTLER \ No newline at end of file diff --git a/tgstation.dme b/tgstation.dme index 3b3bb74df1..ef267190fd 100755 --- a/tgstation.dme +++ b/tgstation.dme @@ -585,7 +585,6 @@ #include "code\datums\wires\airlock.dm" #include "code\datums\wires\apc.dm" #include "code\datums\wires\autolathe.dm" -#include "code\datums\wires\autoylathe.dm" #include "code\datums\wires\emitter.dm" #include "code\datums\wires\explosive.dm" #include "code\datums\wires\microwave.dm" @@ -722,7 +721,6 @@ #include "code\game\machinery\syndicatebeacon.dm" #include "code\game\machinery\syndicatebomb.dm" #include "code\game\machinery\teleporter.dm" -#include "code\game\machinery\toylathe.dm" #include "code\game\machinery\transformer.dm" #include "code\game\machinery\turnstile.dm" #include "code\game\machinery\washing_machine.dm" From e9bf432a0df148be149157b5af65f65becb92495 Mon Sep 17 00:00:00 2001 From: Ghommie <42542238+Ghommie@users.noreply.github.com> Date: Wed, 22 Apr 2020 03:30:40 +0200 Subject: [PATCH 02/41] Scavenging element. --- code/__DEFINES/dcs/signals.dm | 2 +- code/__DEFINES/misc.dm | 7 + code/__HELPERS/_lists.dm | 26 +-- code/__HELPERS/mobs.dm | 12 +- code/controllers/subsystem/vote.dm | 2 +- code/datums/ai_laws.dm | 2 +- code/datums/components/archaeology.dm | 95 ---------- code/datums/elements/scavenging.dm | 164 ++++++++++++++++++ code/game/gamemodes/game_mode.dm | 2 +- code/game/objects/effects/landmarks.dm | 2 +- code/game/objects/structures/loot_pile.dm | 66 +++++++ .../antagonists/traitor/datum_traitor.dm | 2 +- .../living/simple_animal/friendly/mouse.dm | 6 + icons/obj/loot_piles.dmi | Bin 0 -> 12091 bytes tgstation.dme | 2 + 15 files changed, 261 insertions(+), 129 deletions(-) delete mode 100644 code/datums/components/archaeology.dm create mode 100644 code/datums/elements/scavenging.dm create mode 100644 code/game/objects/structures/loot_pile.dm create mode 100644 icons/obj/loot_piles.dmi diff --git a/code/__DEFINES/dcs/signals.dm b/code/__DEFINES/dcs/signals.dm index 53348b3467..a09c96ad30 100644 --- a/code/__DEFINES/dcs/signals.dm +++ b/code/__DEFINES/dcs/signals.dm @@ -30,7 +30,7 @@ #define COMSIG_PARENT_ATTACKBY "atom_attackby" //from base of atom/attackby(): (/obj/item, /mob/living, params) #define COMPONENT_NO_AFTERATTACK 1 //Return this in response if you don't want afterattack to be called #define COMSIG_ATOM_HULK_ATTACK "hulk_attack" //from base of atom/attack_hulk(): (/mob/living/carbon/human) -#define COMSIG_PARENT_EXAMINE "atom_examine" //from base of atom/examine(): (/mob) +#define COMSIG_PARENT_EXAMINE "atom_examine" //from base of atom/examine(): (/mob, list/examine_list) #define COMSIG_ATOM_GET_EXAMINE_NAME "atom_examine_name" //from base of atom/get_examine_name(): (/mob, list/overrides) //Positions for overrides list #define EXAMINE_POSITION_ARTICLE 1 diff --git a/code/__DEFINES/misc.dm b/code/__DEFINES/misc.dm index 3fb149d071..9febca663d 100644 --- a/code/__DEFINES/misc.dm +++ b/code/__DEFINES/misc.dm @@ -523,3 +523,10 @@ GLOBAL_LIST_INIT(pda_reskins, list(PDA_SKIN_CLASSIC = 'icons/obj/pda.dmi', PDA_S #define NIGHTSHIFT_AREA_NONE 4 //default/highest. #define UNTIL(X) while(!(X)) stoplag() + + +//Scavenging element defines for special loot "events". +#define SCAVENGING_FOUND_NOTHING "found_nothing" +#define SCAVENGING_SPAWN_MOUSE "spawn_mouse" +#define SCAVENGING_SPAWN_MICE "spawn_mice" +#define SCAVENGING_SPAWN_TOM "spawn_tom_the_mouse" diff --git a/code/__HELPERS/_lists.dm b/code/__HELPERS/_lists.dm index a34b3ce67c..754b56a202 100644 --- a/code/__HELPERS/_lists.dm +++ b/code/__HELPERS/_lists.dm @@ -234,38 +234,20 @@ //2. Gets a number between 1 and that total //3. For each element in the list, subtracts its weighting from that number //4. If that makes the number 0 or less, return that element. -/proc/pickweight(list/L) +/proc/pickweight(list/L, base_weight = 1) var/total = 0 var/item for (item in L) if (!L[item]) - L[item] = 1 + L[item] = base_weight total += L[item] - total = rand(1, total) + total = rand() * total for (item in L) - total -=L [item] + total -= L[item] if (total <= 0) return item - return null - -/proc/pickweightAllowZero(list/L) //The original pickweight proc will sometimes pick entries with zero weight. I'm not sure if changing the original will break anything, so I left it be. - var/total = 0 - var/item - for (item in L) - if (!L[item]) - L[item] = 0 - total += L[item] - - total = rand(0, total) - for (item in L) - total -=L [item] - if (total <= 0 && L[item]) - return item - - return null - //Pick a random element from the list and remove it from the list. /proc/pick_n_take(list/L) RETURN_TYPE(L[_].type) diff --git a/code/__HELPERS/mobs.dm b/code/__HELPERS/mobs.dm index 2827e40120..d3ad4dcaec 100644 --- a/code/__HELPERS/mobs.dm +++ b/code/__HELPERS/mobs.dm @@ -311,7 +311,7 @@ GLOBAL_LIST_EMPTY(species_list) else return "unknown" -/proc/do_mob(mob/user , mob/target, time = 30, uninterruptible = 0, progress = 1, datum/callback/extra_checks = null, ignorehelditem = 0) +/proc/do_mob(mob/user , mob/target, time = 30, uninterruptible = 0, progress = 1, datum/callback/extra_checks = null, ignorehelditem = FALSE, resume_time = 0 SECONDS) if(!user || !target) return 0 var/user_loc = user.loc @@ -330,10 +330,10 @@ GLOBAL_LIST_EMPTY(species_list) var/endtime = world.time+time var/starttime = world.time . = 1 - while (world.time < endtime) + while (world.time + resume_time < endtime) stoplag(1) if (progress) - progbar.update(world.time - starttime) + progbar.update(world.time - starttime + resume_time) if(QDELETED(user) || QDELETED(target)) . = 0 break @@ -365,7 +365,7 @@ GLOBAL_LIST_EMPTY(species_list) checked_health["health"] = health return ..() -/proc/do_after(mob/user, var/delay, needhand = 1, atom/target = null, progress = 1, datum/callback/extra_checks = null, required_mobility_flags = (MOBILITY_USE|MOBILITY_MOVE)) +/proc/do_after(mob/user, var/delay, needhand = 1, atom/target = null, progress = 1, datum/callback/extra_checks = null, required_mobility_flags = (MOBILITY_USE|MOBILITY_MOVE), resume_time = 0 SECONDS) if(!user) return 0 var/atom/Tloc = null @@ -394,10 +394,10 @@ GLOBAL_LIST_EMPTY(species_list) var/starttime = world.time . = 1 var/mob/living/L = isliving(user) && user //evals to last thing eval'd - while (world.time < endtime) + while (world.time + resume_time < endtime) stoplag(1) if (progress) - progbar.update(world.time - starttime) + progbar.update(world.time - starttime + resume_time) if(drifting && !user.inertia_dir) drifting = 0 diff --git a/code/controllers/subsystem/vote.dm b/code/controllers/subsystem/vote.dm index a202afd905..df3f24f0dc 100644 --- a/code/controllers/subsystem/vote.dm +++ b/code/controllers/subsystem/vote.dm @@ -361,7 +361,7 @@ SUBSYSTEM_DEF(vote) picked = S runnable_storytellers[S] *= round(stored_gamemode_votes[initial(S.name)]*100000,1) if(!picked) - picked = pickweightAllowZero(runnable_storytellers) + picked = pickweight(runnable_storytellers, 0) GLOB.dynamic_storyteller_type = picked if("map") var/datum/map_config/VM = config.maplist[.] diff --git a/code/datums/ai_laws.dm b/code/datums/ai_laws.dm index ebddc187ae..9c6bb2ebfd 100644 --- a/code/datums/ai_laws.dm +++ b/code/datums/ai_laws.dm @@ -253,7 +253,7 @@ var/datum/ai_laws/lawtype var/list/law_weights = CONFIG_GET(keyed_list/law_weight) while(!lawtype && law_weights.len) - var/possible_id = pickweightAllowZero(law_weights) + var/possible_id = pickweight(law_weights, 0) lawtype = lawid_to_type(possible_id) if(!lawtype) law_weights -= possible_id diff --git a/code/datums/components/archaeology.dm b/code/datums/components/archaeology.dm deleted file mode 100644 index b5740650e9..0000000000 --- a/code/datums/components/archaeology.dm +++ /dev/null @@ -1,95 +0,0 @@ -/datum/component/archaeology - dupe_mode = COMPONENT_DUPE_UNIQUE - var/list/archdrops = list(/obj/item/bikehorn = list(ARCH_PROB = 100, ARCH_MAXDROP = 1)) // honk~ - var/prob2drop - var/dug - var/datum/callback/callback - -/datum/component/archaeology/Initialize(list/_archdrops = list(), datum/callback/_callback) - archdrops = _archdrops - for(var/i in archdrops) - if(isnull(archdrops[i][ARCH_MAXDROP])) - archdrops[i][ARCH_MAXDROP] = 1 - stack_trace("ARCHAEOLOGY WARNING: [parent] contained a null max_drop value in [i].") - if(isnull(archdrops[i][ARCH_PROB])) - archdrops[i][ARCH_PROB] = 100 - stack_trace("ARCHAEOLOGY WARNING: [parent] contained a null probability value in [i].") - callback = _callback - RegisterSignal(parent, COMSIG_PARENT_ATTACKBY,.proc/Dig) - RegisterSignal(parent, COMSIG_ATOM_EX_ACT, .proc/BombDig) - RegisterSignal(parent, COMSIG_ATOM_SING_PULL, .proc/SingDig) - -/datum/component/archaeology/InheritComponent(datum/component/archaeology/A, i_am_original) - var/list/other_archdrops = A.archdrops - var/list/_archdrops = archdrops - for(var/I in other_archdrops) - _archdrops[I] += other_archdrops[I] - -/datum/component/archaeology/proc/Dig(datum/source, obj/item/I, mob/living/user) - if(dug) - to_chat(user, "Looks like someone has dug here already.") - return - - if(!isturf(user.loc)) - return - - if(I.tool_behaviour == TOOL_SHOVEL || I.tool_behaviour == TOOL_MINING) - to_chat(user, "You start digging...") - - if(I.use_tool(parent, user, 40, volume=50)) - to_chat(user, "You dig a hole.") - gets_dug() - dug = TRUE - SSblackbox.record_feedback("tally", "pick_used_mining", 1, I.type) - return COMPONENT_NO_AFTERATTACK - -/datum/component/archaeology/proc/gets_dug() - if(dug) - return - else - var/turf/open/OT = get_turf(parent) - for(var/thing in archdrops) - var/maxtodrop = archdrops[thing][ARCH_MAXDROP] - for(var/i in 1 to maxtodrop) - if(prob(archdrops[thing][ARCH_PROB])) // can't win them all! - new thing(OT) - - if(isopenturf(OT)) - if(OT.postdig_icon_change) - if(istype(OT, /turf/open/floor/plating/asteroid/) && !OT.postdig_icon) - var/turf/open/floor/plating/asteroid/AOT = parent - AOT.icon_plating = "[AOT.environment_type]_dug" - AOT.icon_state = "[AOT.environment_type]_dug" - else - if(isplatingturf(OT)) - var/turf/open/floor/plating/POT = parent - POT.icon_plating = "[POT.postdig_icon]" - POT.icon_state = "[OT.postdig_icon]" - - if(OT.slowdown) //Things like snow slow you down until you dig them. - OT.slowdown = 0 - dug = TRUE - if(callback) - callback.Invoke() - -/datum/component/archaeology/proc/SingDig(datum/source, S, current_size) - switch(current_size) - if(STAGE_THREE) - if(prob(30)) - gets_dug() - if(STAGE_FOUR) - if(prob(50)) - gets_dug() - else - if(current_size >= STAGE_FIVE && prob(70)) - gets_dug() - -/datum/component/archaeology/proc/BombDig(datum/source, severity, target) - switch(severity) - if(3) - return - if(2) - if(prob(20)) - gets_dug() - if(1) - gets_dug() diff --git a/code/datums/elements/scavenging.dm b/code/datums/elements/scavenging.dm new file mode 100644 index 0000000000..b2ca7adcc3 --- /dev/null +++ b/code/datums/elements/scavenging.dm @@ -0,0 +1,164 @@ + /* + * Scavenging element. Its scope shouldn't elude your imagination. + * Basically loot piles that can be searched through for some items. + * In my opinion, these are more engaging than normal maintenance loot spawners. + * The loot doesn't have to be strictly made of items and objects, you could also use it to invoke some "events" + * such as mice, rats, an halloween spook, persistent relics, traps, etcetera, go wild. + */ +/datum/element/scavenging + element_flags = ELEMENT_BESPOKE|ELEMENT_DETACH + id_arg_index = 3 + + var/list/loot_left_per_atom = list() //loot left per attached atom. + var/list/loot_table //pickweight list of available loot. + var/list/unique_loot //limited loot, once the associated value reaches zero, its key is removed from loot_table + var/scavenge_time = 12 SECONDS //how much time it takes + var/can_use_hands = TRUE //bare handed scavenge time multiplier. If set to zero, only tools are usable. + var/list/tool_types //which tool types the player can use instead of scavenging by hand, associated value is their speed. + var/del_atom_on_depletion = FALSE //Will the atom be deleted when there is no loot left? + var/list/search_texts = list("searches through ", "search through ", "You hear rummaging...") + + var/mean_loot_weight = 0 + var/list/progress_per_atom = list() //seconds of ditched progress per atom, used to resume the work instead of starting over. + var/static/list/players_busy_scavenging = list() //players already busy scavenging. + +/datum/element/scavenging/Attach(atom/target, amount = 5, list/loot, list/unique, time = 10 SECONDS, hands = TRUE, list/tools, list/texts, del_deplete = FALSE) + . = ..() + if(. == ELEMENT_INCOMPATIBLE || !length(loot) || !amount || !istype(target) || isarea(target)) + return ELEMENT_INCOMPATIBLE + loot_left_per_atom[target] = amount + if(!loot_table) + loot_table = loot + for(var/A in loot_table) //tally the list weights + mean_loot_weight += loot_table[A] + mean_loot_weight /= length(loot_table) + if(!unique_loot) + unique_loot = unique || list() + scavenge_time = time + can_use_hands = hands + tool_types = tools + if(texts) + search_texts = texts + del_atom_on_depletion = del_deplete + if(can_use_hands) + RegisterSignal(target, list(COMSIG_ATOM_ATTACK_HAND, COMSIG_ATOM_ATTACK_PAW), .proc/scavenge_barehanded) + if(tool_types) + RegisterSignal(target, COMSIG_PARENT_ATTACKBY, .proc/scavenge_tool) + RegisterSignal(target, COMSIG_PARENT_EXAMINE, .proc/on_examine) + +/datum/element/scavenging/Detach(atom/target) + . = ..() + loot_left_per_atom -= target + progress_per_atom -= target + UnregisterSignal(target, list(COMSIG_ATOM_ATTACK_HAND, COMSIG_PARENT_ATTACKBY, COMSIG_PARENT_EXAMINE)) + +/datum/element/scavenging/proc/on_examine(atom/source, mob/user, list/examine_list) + var/text + var/methods = tool_types + if(can_use_hands) + if(!length(methods)) + methods = list("bare handed") + else + methods += "simply bare handed" + text = english_list(methods, "", " or ") + . += "Looks like [source.p_they()] can be scavenged[length(tool_types) ? " with either a" : ""] [text]" + +/datum/element/scavenging/proc/scavenge_barehanded(atom/source, mob/user) + scavenge(source, user, 1) + return COMPONENT_NO_ATTACK_HAND + +/datum/element/scavenging/proc/scavenge_tool(atom/source, obj/item/I, mob/living/user, params) + if(mob.a_intent == INTENT_HARM) //Robust trash disposal techniques! + return + var/speed_multi = tool_types[I.tool_behaviour] + if(!speed_multi) + return + scavenge(source, user, speed_multi) + return COMPONENT_NO_AFTERATTACK + +/datum/element/scavenging/proc/scavenge(atom/source, mob/user, speed_multi = 1) + if(players_busy_scavenging[user]) + return + players_busy_scavenging[user] = TRUE + var/progress_done = progress_per_atom[source] + var/len_messages = length(search_texts) + var/msg_first_person + if(len_messages >= 2) + msg_first_person = "You [progress_done ? "resume a ditched task and " : ""][search_texts[2]] [src]." + var/msg_blind + if(len_messages >= 3) + msg_blind = "[search_texts[3]]" + user.visible_message("[user] [search_texts[1]] [src].", msg_first_person, msg_blind) + if(do_after(user, scavenge_time, TRUE, source, TRUE, CALLBACK(src, .proc/set_progress, source, world.time), resume_time = progress_done)) + spawn_loot(source, user) + players_busy_scavenging -= user + progress_per_atom -= source + +/datum/element/scavenging/proc/set_progress(atom/source, start_time) + progress_per_atom[source] = world.time - start_time + +/datum/element/scavenging/proc/spawn_loot(atom/source, mob/user) + var/loot = pickweight(loot_table) + var/special = TRUE + var/free = FALSE + if(!loot_left_per_atom[source]) + to_chat(user, "Looks likes there is nothing worth of interest left in [src] anymore, further attempts would be futile.") + return + switch(loot) // TODO: datumize these out. + if(SCAVENGING_FOUND_NOTHING) + to_chat(user, "You found nothing, better luck next time.") + free = TRUE //doesn't consume the loot pile. + if(SCAVENGING_SPAWN_MOUSE) + var/nasty_rodent = pick("mouse", "rodent", "squeaky critter", "stupid pest", "annoying cable chewer", "nasty, ugly, evil, disease-ridden rodent") + to_chat(user, "You found something in [src]... no wait, that's just another [nasty_rodent].") + new /mob/living/simple_animal/mouse(source.loc) + if(SCAVENGING_SPAWN_MICE) + user.visible_message("A small gang of mice emerges from [source].", \ + "You found something in [src]... no wait, that's just another- no wait, that's a lot of damn mice.") + for(var/i in 1 to rand(4, 6)) + new /mob/living/simple_animal/mouse(source.loc) + if(SCAVENGING_SPAWN_TOM) + if(GLOB.tom_existed) //There can only be one. + to_chat(user, "You found nothing, better luck next time.") + free = TRUE + else + to_chat(user, "You found something in [src]... no wait, that's Tom, the mouse! What is he doing here?") + new /mob/living/simple_animal/mouse/brown/Tom(source.loc) + else + special = FALSE + + if(!special) //generic loot. Nothing too strange like more loot spawners anyway. + var/atom/A = new loot(source.loc) + if(isitem(A) && !user.get_active_held_item()) + user.put_in_hands(A) + var/rarity_append = "." + switch(loot_table[loot]/mean_loot_weight*100) + if(0 to 1) + rarity_append = "! AMAZING!" + if(1 to 2) + rarity_append = "! Woah!" + if(2 to 5) + rarity_append = ". Rare!" + if(5 to 10) + rarity_append = ". Great." + if(10 to 25) + rarity_append = ". Nice." + if(20 to 50) + rarity_append = ". Not bad." + to_chat(user, "You found something in [src]... it's \a [A][rarity_append]") + + if(unique_loot[loot]) + var/loot_left = --unique_loot[loot] + if(!loot_left) + loot_table -= loot + unique_loot -= loot + mean_loot_weight = 0 + for(var/A in loot_table) //re-tally the list weights + mean_loot_weight += loot_table[A] + mean_loot_weight /= length(loot_table) + + if(!free) + --loot_left_per_atom[source] + if(del_atom_on_depletion && !loot_left_per_atom[source]) + source.visible_message("[src] has been looted clean.") + qdel(source) diff --git a/code/game/gamemodes/game_mode.dm b/code/game/gamemodes/game_mode.dm index 5affeba6d6..57919863f2 100644 --- a/code/game/gamemodes/game_mode.dm +++ b/code/game/gamemodes/game_mode.dm @@ -272,7 +272,7 @@ reports += config.mode_reports[config_tag] Count++ for(var/i in Count to rand(3,5)) //Between three and five wrong entries on the list. - var/false_report_type = pickweightAllowZero(report_weights) + var/false_report_type = pickweight(report_weights, 0) report_weights[false_report_type] = 0 //Make it so the same false report won't be selected twice reports += config.mode_reports[false_report_type] diff --git a/code/game/objects/effects/landmarks.dm b/code/game/objects/effects/landmarks.dm index 04f14692e3..851a041aab 100644 --- a/code/game/objects/effects/landmarks.dm +++ b/code/game/objects/effects/landmarks.dm @@ -483,7 +483,7 @@ INITIALIZE_IMMEDIATE(/obj/effect/landmark/start/new_player) if(!SSmapping.station_room_templates[t]) log_world("Station room spawner placed at ([T.x], [T.y], [T.z]) has invalid ruin name of \"[t]\" in its list") templates -= t - template_name = pickweightAllowZero(templates) + template_name = pickweight(templates, 0) if(!template_name) GLOB.stationroom_landmarks -= src qdel(src) diff --git a/code/game/objects/structures/loot_pile.dm b/code/game/objects/structures/loot_pile.dm new file mode 100644 index 0000000000..0886c1c8b7 --- /dev/null +++ b/code/game/objects/structures/loot_pile.dm @@ -0,0 +1,66 @@ + /* + * Loot piles structures, somewhat inspired from Polaris 13 ones but without the one search per pile ckey/mind restriction + * because the actual code is located its own element and has enough variables already. the piles themselves merely cosmetical. + */ +/obj/structure/loot_pile + name = "pile of junk" + desc = "Lots of junk lying around. They say one man's trash is another man's treasure." + icon = 'icons/obj/loot_piles.dmi' + density = FALSE + anchored = TRUE + var/loot_amount = 5 + var/delete_on_depletion = FALSE + var/can_use_hands = TRUE + var/scavenge_time = 12 SECONDS + var/allowed_tools = list(TOOL_SHOVEL = 0.6) //list of tool_behaviours with associated speed multipliers (lower is better) + var/icon_states_to_use = list("junk_pile1", "junk_pile2", "junk_pile3", "junk_pile4", "junk_pile5") + var/list/loot = list( + SCAVENGING_FOUND_NOTHING = 50, + SCAVENGING_SPAWN_MOUSE = 10, + SCAVENGING_SPAWN_MICE = 5, + SCAVENGING_SPAWN_TOM = 1, + /obj/item/flashlight/flare = 10, + /obj/item/flashlight/glowstick = 10, + /obj/item/flashlight/glowstick/blue = 10, + /obj/item/flashlight/glowstick/orange = 10, + /obj/item/flashlight/glowstick/red = 10, + /obj/item/flashlight/glowstick/yellow = 10, + /obj/item/clothing/mask/gas = 5, + /obj/item/clothing/mask/breath = 10, + /obj/item/storage/box = 10, + /obj/item/clothing/shoes/galoshes = 2, + /obj/item/clothing/shoes/sneakers/black = 10, + /obj/item/clothing/gloves/color/fyellow = 5, + /obj/item/clothing/gloves/color/yellow = 2, + /obj/item/clothing/glasses/sunglasses = 3, + /obj/item/clothing/glasses/meson = 3, + /obj/item/clothing/glasses/welding = 3, + /obj/item/clothing/head/hardhat = 10, + /obj/item/clothing/head/ushanka = 10, + /obj/item/clothing/head/welding = 5, + /obj/item/clothing/suit/hazardvest = 10, + /obj/item/clothing/under/syndicate/tacticool = 5, + /obj/item/clothing/under/pants/camo = 10, + /obj/item/stack/spacecash/c10 = 20, + /obj/item/stack/spacecash/c20 = 20, + /obj/item/stack/spacecash/c50 = 20, + /obj/item/radio/headset = 10) + + /* + * Associated values in this list are not weights but numbers of times the kery can be rolled + * before being removed from ALL piles with same kind. This is why I wanted 'scavenging' to be an element and not a component. + */ + var/list/unique_loot = list(/obj/item/clothing/gloves/color/yellow = 2, SCAVENGING_SPAWN_TOM = 1) + +/obj/structure/loot_pile/Initialize() + . = ..() + icon_state = pick(icon_states_to_use) + +/obj/structure/loot_pile/ComponentInitialize() + . = ..() + AddElement(/datum/element/scavenging, loot_amount, loot, unique_loot, scavenge_time, can_use_hands, allowed_tools, null, delete_on_depletion) + +/obj/structure/loot_pile/infinite + name = "endless pile of junk." + desc = "Lots of awful code lying around. They don't say one coder's trash is another coder's treasure though..." + loot_amount = INFINITY diff --git a/code/modules/antagonists/traitor/datum_traitor.dm b/code/modules/antagonists/traitor/datum_traitor.dm index cf10f87bf8..df5e6004ba 100644 --- a/code/modules/antagonists/traitor/datum_traitor.dm +++ b/code/modules/antagonists/traitor/datum_traitor.dm @@ -48,7 +48,7 @@ var/datum/traitor_class/class = GLOB.traitor_classes[C] var/weight = LOGISTIC_FUNCTION(1.5*class.weight,chaos_weight,class.chaos,0) weights[C] = weight * 1000 - var/choice = pickweightAllowZero(weights) + var/choice = pickweight(weights, 0) if(!choice) choice = TRAITOR_HUMAN // it's an "easter egg" var/datum/traitor_class/actual_class = GLOB.traitor_classes[choice] diff --git a/code/modules/mob/living/simple_animal/friendly/mouse.dm b/code/modules/mob/living/simple_animal/friendly/mouse.dm index 370442d4c4..7f83bb9f9b 100644 --- a/code/modules/mob/living/simple_animal/friendly/mouse.dm +++ b/code/modules/mob/living/simple_animal/friendly/mouse.dm @@ -97,6 +97,8 @@ body_color = "brown" icon_state = "mouse_brown" +GLOBAL_VAR(tom_existed) + //TOM IS ALIVE! SQUEEEEEEEE~K :) /mob/living/simple_animal/mouse/brown/Tom name = "Tom" @@ -106,6 +108,10 @@ response_harm = "splats" gold_core_spawnable = NO_SPAWN +/mob/living/simple_animal/mouse/brown/Tom/Initialize() + . = ..() + GLOB.tom_existed = TRUE + /obj/item/reagent_containers/food/snacks/deadmouse name = "dead mouse" desc = "It looks like somebody dropped the bass on it. A lizard's favorite meal." diff --git a/icons/obj/loot_piles.dmi b/icons/obj/loot_piles.dmi new file mode 100644 index 0000000000000000000000000000000000000000..3d83d6612ec49b238a0934962192abac1d90d6f9 GIT binary patch literal 12091 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 B=b!)p literal 0 HcmV?d00001 diff --git a/tgstation.dme b/tgstation.dme index 3b3bb74df1..147c91c92e 100755 --- a/tgstation.dme +++ b/tgstation.dme @@ -516,6 +516,7 @@ #include "code\datums\elements\ghost_role_eligibility.dm" #include "code\datums\elements\mob_holder.dm" #include "code\datums\elements\polychromic.dm" +#include "code\datums\elements\scavenging.dm" #include "code\datums\elements\spellcasting.dm" #include "code\datums\elements\swimming.dm" #include "code\datums\elements\sword_point.dm" @@ -1119,6 +1120,7 @@ #include "code\game\objects\structures\lattice.dm" #include "code\game\objects\structures\life_candle.dm" #include "code\game\objects\structures\loom.dm" +#include "code\game\objects\structures\loot_pile.dm" #include "code\game\objects\structures\manned_turret.dm" #include "code\game\objects\structures\memorial.dm" #include "code\game\objects\structures\mineral_doors.dm" From 122067c5f4e0fe81a722c68b961df7a0a3d1eac1 Mon Sep 17 00:00:00 2001 From: Ghommie <42542238+Ghommie@users.noreply.github.com> Date: Wed, 22 Apr 2020 03:52:45 +0200 Subject: [PATCH 03/41] wip --- code/datums/elements/scavenging.dm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/code/datums/elements/scavenging.dm b/code/datums/elements/scavenging.dm index b2ca7adcc3..c34fd8f430 100644 --- a/code/datums/elements/scavenging.dm +++ b/code/datums/elements/scavenging.dm @@ -67,8 +67,8 @@ scavenge(source, user, 1) return COMPONENT_NO_ATTACK_HAND -/datum/element/scavenging/proc/scavenge_tool(atom/source, obj/item/I, mob/living/user, params) - if(mob.a_intent == INTENT_HARM) //Robust trash disposal techniques! +/datum/element/scavenging/proc/scavenge_tool(atom/source, obj/item/I, mob/user, params) + if(user.a_intent == INTENT_HARM) //Robust trash disposal techniques! return var/speed_multi = tool_types[I.tool_behaviour] if(!speed_multi) From af3651172c1c4c60e1f8033e35fcd19ad8c08536 Mon Sep 17 00:00:00 2001 From: kevinz000 <2003111+kevinz000@users.noreply.github.com> Date: Sun, 26 Apr 2020 03:29:31 -0700 Subject: [PATCH 04/41] wow lotsa effort huh --- code/controllers/subsystem/mapping.dm | 24 +++ .../crafting/recipes/recipes_misc.dm | 9 ++ code/game/objects/items/crayons.dm | 9 +- .../items/devices/electrochromatic_kit.dm | 15 ++ code/game/objects/structures/window.dm | 141 +++++++++++++++++- code/modules/assembly/doorcontrol.dm | 47 +++++- .../autolathe_designs_electronics.dm | 8 + tgstation.dme | 1 + 8 files changed, 241 insertions(+), 13 deletions(-) create mode 100644 code/game/objects/items/devices/electrochromatic_kit.dm diff --git a/code/controllers/subsystem/mapping.dm b/code/controllers/subsystem/mapping.dm index 89155cefb3..ffda2731b1 100644 --- a/code/controllers/subsystem/mapping.dm +++ b/code/controllers/subsystem/mapping.dm @@ -42,6 +42,13 @@ SUBSYSTEM_DEF(mapping) var/stat_map_name = "Loading..." + /// Lookup list for random generated IDs. + var/list/random_generated_ids_by_original = list() + /// next id for separating obfuscated ids. + var/obfuscation_next_id = 1 + /// "secret" key + var/obfuscation_secret + //dlete dis once #39770 is resolved /datum/controller/subsystem/mapping/proc/HACK_LoadMapConfig() if(!config) @@ -52,6 +59,10 @@ SUBSYSTEM_DEF(mapping) #endif stat_map_name = config.map_name +/datum/controller/subsystem/mapping/PreInit() + if(!obfuscation_secret) + obfuscation_secret = md5(GUID()) //HAH! Guess this! + /datum/controller/subsystem/mapping/Initialize(timeofday) HACK_LoadMapConfig() if(initialized) @@ -568,3 +579,16 @@ GLOBAL_LIST_EMPTY(the_station_areas) LM.load() if(GLOB.stationroom_landmarks.len) seedStation() //I'm sure we can trust everyone not to insert a 1x1 rooms which loads a landmark which loads a landmark which loads a la... + +/** + * Generates an obfuscated but constant id for an original id for cases where you don't want players codediving for an id. + * WARNING: MAKE SURE PLAYERS ARE NOT ABLE TO ACCESS THIS. To save performance, it's just secret + an incrementing number. Very guessable if you know what the secret is. + */ +/datum/controller/subsystem/mapping/proc/get_obfuscated_id(original, id_type = "GENERAL") + if(!original) + return //no. + var/key = "[original]%[id_type]" + if(random_generated_ids_by_original[key]) + return random_generated_ids_by_original[key] + random_generated_ids_by_original[key] = "[obfuscation_secret]%[obfuscation_next++]" + return value diff --git a/code/datums/components/crafting/recipes/recipes_misc.dm b/code/datums/components/crafting/recipes/recipes_misc.dm index cf0e1bdec9..b26755d4ac 100644 --- a/code/datums/components/crafting/recipes/recipes_misc.dm +++ b/code/datums/components/crafting/recipes/recipes_misc.dm @@ -233,6 +233,15 @@ subcategory = CAT_TOOL category = CAT_MISC +/datum/crafting_recipe/electrochromatic_kit + name = "Electrochromatic Kit" + result = /obj/item/electronics/electrochromatic_kit + reqs = list(/obj/item/stack/metal = 1, + /obj/item/stack/cable_coil = 1) + time = 5 + subcategory = CAT_MISCELLANEOUS + category = CAT_MISC + //////////// //Vehicles// //////////// diff --git a/code/game/objects/items/crayons.dm b/code/game/objects/items/crayons.dm index 3dad3877b7..f60edf2917 100644 --- a/code/game/objects/items/crayons.dm +++ b/code/game/objects/items/crayons.dm @@ -726,13 +726,12 @@ to_chat(usr, "A color that dark on an object like this? Surely not...") return FALSE - target.add_atom_colour(paint_color, WASHABLE_COLOUR_PRIORITY) if(istype(target, /obj/structure/window)) - if(color_hex2num(paint_color) < 255) - target.set_opacity(255) - else - target.set_opacity(initial(target.opacity)) + var/obj/structure/window/W = target + W.spraycan_paint(paint_color) + else + target.add_atom_colour(paint_color, WASHABLE_COLOUR_PRIORITY) . = use_charges(user, 2) var/fraction = min(1, . / reagents.maximum_volume) diff --git a/code/game/objects/items/devices/electrochromatic_kit.dm b/code/game/objects/items/devices/electrochromatic_kit.dm new file mode 100644 index 0000000000..aae886d397 --- /dev/null +++ b/code/game/objects/items/devices/electrochromatic_kit.dm @@ -0,0 +1,15 @@ +/obj/item/electronics/electrochromatic_kit + name = "electrochromatic kit" + desc = "A kit for upgrading a window into an electrochromatic one." + icon = 'icons/obj/device.dmi' + /// Electrochromatic ID + var/id + +/obj/item/electronics/electrochromatic_kit/attack_self(mob/user) + . = ..() + if(.) + return + var/new_id = input(user, "Set this kit's electrochromatic ID", "Set ID", id) as text|null + if(isnull(new_id)) + return + id = new_id diff --git a/code/game/objects/structures/window.dm b/code/game/objects/structures/window.dm index 5dd4e7d987..07fd8142cb 100644 --- a/code/game/objects/structures/window.dm +++ b/code/game/objects/structures/window.dm @@ -1,3 +1,19 @@ +#define NOT_ELECTROCHROMATIC 0 +#define ELECTROCHROMATIC_OFF 1 +#define ELECTROCHROMATIC_DIMMED 2 + +GLOBAL_LIST_EMPTY(electrochromatic_window_lookup) + +/proc/do_electrochromatic_toggle(new_status, id) + var/list/windows = GLOB.electrochromatic_window_lookup["[id]"] + if(!windows) + return + var/obj/structure/window/W = i + for(var/i in windows) + W = i + new_status? W.electrochromatic_dim() : W.electrochromatic_off() + + /obj/structure/window name = "window" desc = "A window." @@ -28,8 +44,15 @@ rad_insulation = RAD_VERY_LIGHT_INSULATION rad_flags = RAD_PROTECT_CONTENTS + /// Electrochromatic status + var/electrochromatic_status = NOT_ELECTROCHROMATIC + /// Electrochromatic ID. Set the first character to ! to replace with a SSmapping generated pseudorandom obfuscated ID for mapping purposes. + var/electrochromatic_id + /obj/structure/window/examine(mob/user) . = ..() + if(electrochromatic_status != NOT_ELECTROCHROMATIC) + . += "The window has electrochromatic circuitry on it.") if(reinf) if(anchored && state == WINDOW_SCREWED_TO_FRAME) . += "The window is screwed to the frame." @@ -52,6 +75,10 @@ if(reinf && anchored) state = WINDOW_SCREWED_TO_FRAME + if(mapload && electrochromatic_id) + if(copytext(electrochromatic_id, 1, 2) == "!") + electrochromatic_id = SSmapping.get_obfuscated_id(electrochromatic_id) + ini_dir = dir air_update_turf(1) @@ -62,6 +89,12 @@ real_explosion_block = explosion_block explosion_block = EXPLOSION_BLOCK_PROC + if(electrochromatic_status != NOT_ELECTROCHROMATIC) + var/old = electrochromatic_status + make_electrochromatic() + if(old == ELECTROCHROMATIC_DIMMED) + electrochromatic_dim() + /obj/structure/window/ComponentInitialize() . = ..() AddComponent(/datum/component/simple_rotation,ROTATION_ALTCLICK | ROTATION_CLOCKWISE | ROTATION_COUNTERCLOCKWISE | ROTATION_VERBS ,null,CALLBACK(src, .proc/can_be_rotated),CALLBACK(src,.proc/after_rotation)) @@ -177,6 +210,24 @@ to_chat(user, "[src] is already in good condition!") return + if(!anchored && istype(I, /obj/item/electronics/electrochromatic_kit && user.a_intent == INTENT_HELP) + var/obj/item/electronics/electrochromatic_kit/K = I + if(!user.temporarilyRemoveItemFromInventory(K)) + to_chat(user, "[K] is stuck to your hand!") + return + if(is_electrochromatic) + to_chat(user, "[src] is already electrochromatic!") + return + if(!anchored) + to_chat(user, "[src] must not be attached to the floor!") + return + if(!K.id) + to_chat(user, "[K] has no ID set!") + return + user.visible_message("[user] upgrades [src] with [I].", "You upgrade [src] with [I].") + make_electrochromatic(K.id) + qdel(K) + if(!(flags_1&NODECONSTRUCT_1)) if(istype(I, /obj/item/screwdriver)) I.play_tool_sound(src, 75) @@ -224,6 +275,85 @@ air_update_turf(TRUE) update_nearby_icons() +/obj/structure/window/proc/spraycan_paint(paint_color) + if(color_hex2num(paint_color) < 255) + set_opacity(255) + else + set_opacity(initial(opacity)) + add_atom_colour(paint_color, WASHABLE_COLOUR_PRIORITY) + +/obj/structure/window/proc/electrochromatic_dim() + if(electrochromatic_status == ELECTROCHROMATIC_DIMMED) + return + electrochromatic_status = ELECTROCHROMATIC_DIMMED + animate(src, color = "#222222", time = 2) + set_opacity(TRUE) + +/obj/structure/window/proc/electrochromatic_off() + if(electrochromatic_status == ELECTROCHROMATIC_OFF) + return + electrochromatic_on = FALSE + var/current = color + update_atom_colour() + var/newcolor = color + color = current + animate(src, color = newcolor, time = 2) + +/obj/structure/window/proc/remove_electrochromatic() + electrochromatic_status = NOT_ELECTROCHROMATIC + if(!electrochromatic_id) + return + var/list/L = GLOB.electrochromatic_window_lookup["[electrochromatic_id]"] + if(L) + L -= src + electrochromatic_id = null + +/obj/structure/window/vv_edit_var(var_name, var_value) + var/old_id + var/check_status + if(var_name == NAMEOF(src, electrochromatic_id)) + if((electrochromatic_status != NOT_ELECTROCHROMATIC) && electrochromatic_id) + old_id = electrochromatic_id + if(var_name == NAMEOF(src, electrochromatic_status)) + check_status = TRUE + . = ..() //do this first incase it runtimes. + if(check_status) + if(electrochromatic_status == NOT_ELECTROCHROMATIC) + remove_electrochromatic() + return + else if(electrochromatic_status == ELECTROCHROMATIC_OFF) + if(!electrochromatic_id) + return + else + make_electrochromatic() + electrochromatic_off() + return + else if(electrochromatic_status == ELECTROCHROMATIC_DIMMED) + if(!electrochromatic_id) + return + else + make_electrochromatic() + electrochromatic_dim() + return + else + remove_electrochromatic() + if(old_id) + GLOB.electrochromatic_window_lookup[old_id] -= src + if(electrochromatic_id) + GLOB.electrochromatic_window_lookup[electrochromatic_id] += src + +/obj/structure/window/proc/make_electrochromatic(new_id) + remove_electrochromatic() + electrochromatic_id = new_id + electrochromatic_status = ELECTROCHROMATIC_OFF + LAZYINITLIST(GLOB.electrochromatic_window_lookup["[electrochromatic_id]") + GLOB.electrochromatic_window_lookup[electrochromatic_id] |= src + +/obj/structure/window/update_atom_colour() + if((electrochromatic_status != ELECTROCHROMATIC_OFF) && (electrochromatic_status != ELECTROCHROMATIC_DIMMED)) + return FALSE + return ..() + /obj/structure/window/proc/check_state(checked_state) if(state == checked_state) return TRUE @@ -263,7 +393,6 @@ if(BURN) playsound(src, 'sound/items/Welder.ogg', 100, 1) - /obj/structure/window/deconstruct(disassembled = TRUE) if(QDELETED(src)) return @@ -272,6 +401,9 @@ if(!(flags_1 & NODECONSTRUCT_1)) for(var/obj/item/shard/debris in spawnDebris(drop_location())) transfer_fingerprints_to(debris) // transfer fingerprints to shards only + if(electrochromatic_status != NOT_ELECTROCHROMATIC) //eh fine keep your kit. + new /obj/item/electrochromatic_kit/K(drop_location()) + // Intentionally not setting the ID so you can't decon one to know all of the IDs. qdel(src) update_nearby_icons() @@ -315,9 +447,9 @@ density = FALSE air_update_turf(1) update_nearby_icons() + remove_electrochromatic() return ..() - /obj/structure/window/Move() var/turf/T = loc . = ..() @@ -731,7 +863,6 @@ set_opacity(TRUE) queue_smooth(src) - /obj/structure/window/paperframe/attackby(obj/item/W, mob/user) if(W.get_temperature()) fire_act(W.get_temperature()) @@ -749,3 +880,7 @@ return ..() update_icon() + +#undef NOT_ELECTROCHROMATIC +#undef ELECTROCHROMATIC_OFF +#undef ELECTROCHROMATIC_DIMMED diff --git a/code/modules/assembly/doorcontrol.dm b/code/modules/assembly/doorcontrol.dm index 1c9c1a0203..1b9e63abaa 100644 --- a/code/modules/assembly/doorcontrol.dm +++ b/code/modules/assembly/doorcontrol.dm @@ -3,14 +3,42 @@ desc = "A small electronic device able to control a blast door remotely." icon_state = "control" attachable = TRUE - var/id = null - var/can_change_id = 0 + /// Our ID. Make the first character ! if you want to obfuscate it as a mapper via randomization. + var/id + /// Can the ID be changed if used in hand? + var/can_change_id = FALSE + /// Show ID? + var/show_id = TRUE + /// Numerical ID or text? + var/id_is_number = FALSE var/cooldown = FALSE //Door cooldowns +/obj/item/assembly/Initialize(mapload) + if(mapload && id) + if(copytext(id, 1, 2) == "!") + id = SSmapping.get_obfuscated_id(id) + return ..() + /obj/item/assembly/control/examine(mob/user) . = ..() - if(id) + if(id && show_id) . += "Its channel ID is '[id]'." + if(can_change_id) + . += "Use in hand to change ID." + +/obj/item/assembly/control/attack_self(mob/living/user) + . = ..() + if(.) + return + if(!can_change_id) + return + var/new_id + if(id_is_number) + new_id = input(user, "Set ID (number)", "Set ID", show_id? id : null) as number|null + else + new_id = input(user, "Set ID", "Set ID", show_id? id : null) as text|null + if(!isnull(new_id)) //0/"" is considered !, so check null instead of just !. + id = new_id /obj/item/assembly/control/activate() cooldown = TRUE @@ -22,7 +50,6 @@ INVOKE_ASYNC(M, openclose ? /obj/machinery/door/poddoor.proc/open : /obj/machinery/door/poddoor.proc/close) addtimer(VARSET_CALLBACK(src, cooldown, FALSE), 10) - /obj/item/assembly/control/airlock name = "airlock controller" desc = "A small electronic device able to control an airlock remotely." @@ -123,7 +150,6 @@ addtimer(VARSET_CALLBACK(src, cooldown, FALSE), 50) - /obj/item/assembly/control/crematorium name = "crematorium controller" desc = "An evil-looking remote controller for a crematorium." @@ -135,3 +161,14 @@ C.cremate(usr) addtimer(VARSET_CALLBACK(src, cooldown, FALSE), 50) + +/obj/item/assembly/control/electrochromatic + name = "electrochromatic window controller" + desc = "Toggles linked electrochromatic windows." + can_change_id = TRUE + /// Stores our status to prevent windows from desyncing. + var/on = FALSE + +/obj/item/assembly/control/electrochromatic/activate() + on = !on + SEND_GLOBAL_SIGNAL(COMSIG_GLOB_ELECTROCHROMATIC_WINDOW_TOGGLE, on, id) diff --git a/code/modules/research/designs/autolathe_desings/autolathe_designs_electronics.dm b/code/modules/research/designs/autolathe_desings/autolathe_designs_electronics.dm index 86e11010bc..5d80b91087 100644 --- a/code/modules/research/designs/autolathe_desings/autolathe_designs_electronics.dm +++ b/code/modules/research/designs/autolathe_desings/autolathe_designs_electronics.dm @@ -74,3 +74,11 @@ materials = list(/datum/material/glass = 20) build_path = /obj/item/stock_parts/cell/emergency_light category = list("initial", "Electronics") + +/datum/design/electrochromatic_control + name = "Electrochromatic Control Circuit" + id = "electrochromatic_control_circuit" + build_type = AUTOLATHE + materials = list(/datum/material/iron = 100, /datum/material/glass = 100) + build_path = /obj/item/assembly/control/electrochromatic + category = list("initial", "Electronics") diff --git a/tgstation.dme b/tgstation.dme index 848d149ae0..ceed653acc 100755 --- a/tgstation.dme +++ b/tgstation.dme @@ -980,6 +980,7 @@ #include "code\game\objects\items\devices\dogborg_sleeper.dm" #include "code\game\objects\items\devices\doorCharge.dm" #include "code\game\objects\items\devices\electroadaptive_pseudocircuit.dm" +#include "code\game\objects\items\devices\electrochromatic_kit.dm" #include "code\game\objects\items\devices\flashlight.dm" #include "code\game\objects\items\devices\forcefieldprojector.dm" #include "code\game\objects\items\devices\geiger_counter.dm" From a9d0ce45b9eb6188856492798015ca85af93e005 Mon Sep 17 00:00:00 2001 From: kevinz000 <2003111+kevinz000@users.noreply.github.com> Date: Sun, 26 Apr 2020 03:29:43 -0700 Subject: [PATCH 05/41] wow lotsa effort huh --- code/game/objects/structures/window.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/game/objects/structures/window.dm b/code/game/objects/structures/window.dm index 07fd8142cb..6bc2ada140 100644 --- a/code/game/objects/structures/window.dm +++ b/code/game/objects/structures/window.dm @@ -52,7 +52,7 @@ GLOBAL_LIST_EMPTY(electrochromatic_window_lookup) /obj/structure/window/examine(mob/user) . = ..() if(electrochromatic_status != NOT_ELECTROCHROMATIC) - . += "The window has electrochromatic circuitry on it.") + . += "The window has electrochromatic circuitry on it." if(reinf) if(anchored && state == WINDOW_SCREWED_TO_FRAME) . += "The window is screwed to the frame." From e3b987879e3b9a2461e54b7bfcceda5eebaac8f7 Mon Sep 17 00:00:00 2001 From: kevinz000 <2003111+kevinz000@users.noreply.github.com> Date: Sun, 26 Apr 2020 03:30:18 -0700 Subject: [PATCH 06/41] wow lotsa effort huh --- code/game/objects/structures/window.dm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/code/game/objects/structures/window.dm b/code/game/objects/structures/window.dm index 6bc2ada140..54590134d2 100644 --- a/code/game/objects/structures/window.dm +++ b/code/game/objects/structures/window.dm @@ -210,7 +210,7 @@ GLOBAL_LIST_EMPTY(electrochromatic_window_lookup) to_chat(user, "[src] is already in good condition!") return - if(!anchored && istype(I, /obj/item/electronics/electrochromatic_kit && user.a_intent == INTENT_HELP) + if(istype(I, /obj/item/electronics/electrochromatic_kit) && user.a_intent == INTENT_HELP) var/obj/item/electronics/electrochromatic_kit/K = I if(!user.temporarilyRemoveItemFromInventory(K)) to_chat(user, "[K] is stuck to your hand!") @@ -218,7 +218,7 @@ GLOBAL_LIST_EMPTY(electrochromatic_window_lookup) if(is_electrochromatic) to_chat(user, "[src] is already electrochromatic!") return - if(!anchored) + if(anchored) to_chat(user, "[src] must not be attached to the floor!") return if(!K.id) @@ -346,7 +346,7 @@ GLOBAL_LIST_EMPTY(electrochromatic_window_lookup) remove_electrochromatic() electrochromatic_id = new_id electrochromatic_status = ELECTROCHROMATIC_OFF - LAZYINITLIST(GLOB.electrochromatic_window_lookup["[electrochromatic_id]") + LAZYINITLIST(GLOB.electrochromatic_window_lookup["[electrochromatic_id]"]) GLOB.electrochromatic_window_lookup[electrochromatic_id] |= src /obj/structure/window/update_atom_colour() From aeaf6ea102cd024fa2bfd08fa9c6152f618708c9 Mon Sep 17 00:00:00 2001 From: kevinz000 <2003111+kevinz000@users.noreply.github.com> Date: Sun, 26 Apr 2020 03:33:08 -0700 Subject: [PATCH 07/41] wow lotsa effort huh --- code/game/objects/structures/window.dm | 6 +++++- code/modules/assembly/doorcontrol.dm | 2 +- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/code/game/objects/structures/window.dm b/code/game/objects/structures/window.dm index 54590134d2..1a5ebf17e0 100644 --- a/code/game/objects/structures/window.dm +++ b/code/game/objects/structures/window.dm @@ -352,7 +352,11 @@ GLOBAL_LIST_EMPTY(electrochromatic_window_lookup) /obj/structure/window/update_atom_colour() if((electrochromatic_status != ELECTROCHROMATIC_OFF) && (electrochromatic_status != ELECTROCHROMATIC_DIMMED)) return FALSE - return ..() + . = ..() + if(color_hex2num(color) < 255) + set_opacity(255) + else + set_opacity(FALSE) /obj/structure/window/proc/check_state(checked_state) if(state == checked_state) diff --git a/code/modules/assembly/doorcontrol.dm b/code/modules/assembly/doorcontrol.dm index 1b9e63abaa..6016fd6453 100644 --- a/code/modules/assembly/doorcontrol.dm +++ b/code/modules/assembly/doorcontrol.dm @@ -34,7 +34,7 @@ return var/new_id if(id_is_number) - new_id = input(user, "Set ID (number)", "Set ID", show_id? id : null) as number|null + new_id = input(user, "Set ID (number)", "Set ID", show_id? id : null) as num|null else new_id = input(user, "Set ID", "Set ID", show_id? id : null) as text|null if(!isnull(new_id)) //0/"" is considered !, so check null instead of just !. From 1b5e4b32cb8886facf8a342ad83406fa6e03719a Mon Sep 17 00:00:00 2001 From: kevinz000 <2003111+kevinz000@users.noreply.github.com> Date: Sun, 26 Apr 2020 03:33:26 -0700 Subject: [PATCH 08/41] wow lotsa effort huh --- code/modules/assembly/doorcontrol.dm | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/code/modules/assembly/doorcontrol.dm b/code/modules/assembly/doorcontrol.dm index 6016fd6453..3c2d9fbce3 100644 --- a/code/modules/assembly/doorcontrol.dm +++ b/code/modules/assembly/doorcontrol.dm @@ -9,8 +9,6 @@ var/can_change_id = FALSE /// Show ID? var/show_id = TRUE - /// Numerical ID or text? - var/id_is_number = FALSE var/cooldown = FALSE //Door cooldowns /obj/item/assembly/Initialize(mapload) @@ -33,10 +31,7 @@ if(!can_change_id) return var/new_id - if(id_is_number) - new_id = input(user, "Set ID (number)", "Set ID", show_id? id : null) as num|null - else - new_id = input(user, "Set ID", "Set ID", show_id? id : null) as text|null + new_id = input(user, "Set ID", "Set ID", show_id? id : null) as text|null if(!isnull(new_id)) //0/"" is considered !, so check null instead of just !. id = new_id From bf7962d8f989ba0e1c5168a0b3f5c6bd2f6b7798 Mon Sep 17 00:00:00 2001 From: kevinz000 <2003111+kevinz000@users.noreply.github.com> Date: Sun, 26 Apr 2020 03:36:09 -0700 Subject: [PATCH 09/41] wow lotsa effort huh --- code/controllers/subsystem/mapping.dm | 3 +-- code/datums/components/crafting/recipes/recipes_misc.dm | 2 +- code/game/objects/structures/window.dm | 9 ++++----- code/modules/assembly/doorcontrol.dm | 4 ++-- 4 files changed, 8 insertions(+), 10 deletions(-) diff --git a/code/controllers/subsystem/mapping.dm b/code/controllers/subsystem/mapping.dm index ffda2731b1..526e4b98e3 100644 --- a/code/controllers/subsystem/mapping.dm +++ b/code/controllers/subsystem/mapping.dm @@ -590,5 +590,4 @@ GLOBAL_LIST_EMPTY(the_station_areas) var/key = "[original]%[id_type]" if(random_generated_ids_by_original[key]) return random_generated_ids_by_original[key] - random_generated_ids_by_original[key] = "[obfuscation_secret]%[obfuscation_next++]" - return value + . = random_generated_ids_by_original[key] = "[obfuscation_secret]%[obfuscation_next_id++]" diff --git a/code/datums/components/crafting/recipes/recipes_misc.dm b/code/datums/components/crafting/recipes/recipes_misc.dm index b26755d4ac..940e6c134f 100644 --- a/code/datums/components/crafting/recipes/recipes_misc.dm +++ b/code/datums/components/crafting/recipes/recipes_misc.dm @@ -236,7 +236,7 @@ /datum/crafting_recipe/electrochromatic_kit name = "Electrochromatic Kit" result = /obj/item/electronics/electrochromatic_kit - reqs = list(/obj/item/stack/metal = 1, + reqs = list(/obj/item/stack/sheet/metal = 1, /obj/item/stack/cable_coil = 1) time = 5 subcategory = CAT_MISCELLANEOUS diff --git a/code/game/objects/structures/window.dm b/code/game/objects/structures/window.dm index 1a5ebf17e0..143024bf97 100644 --- a/code/game/objects/structures/window.dm +++ b/code/game/objects/structures/window.dm @@ -8,12 +8,11 @@ GLOBAL_LIST_EMPTY(electrochromatic_window_lookup) var/list/windows = GLOB.electrochromatic_window_lookup["[id]"] if(!windows) return - var/obj/structure/window/W = i + var/obj/structure/window/W //define outside for performance because obviously this matters. for(var/i in windows) W = i new_status? W.electrochromatic_dim() : W.electrochromatic_off() - /obj/structure/window name = "window" desc = "A window." @@ -215,7 +214,7 @@ GLOBAL_LIST_EMPTY(electrochromatic_window_lookup) if(!user.temporarilyRemoveItemFromInventory(K)) to_chat(user, "[K] is stuck to your hand!") return - if(is_electrochromatic) + if(electrochromatic_status != NOT_ELECTROCHROMATIC) to_chat(user, "[src] is already electrochromatic!") return if(anchored) @@ -292,7 +291,7 @@ GLOBAL_LIST_EMPTY(electrochromatic_window_lookup) /obj/structure/window/proc/electrochromatic_off() if(electrochromatic_status == ELECTROCHROMATIC_OFF) return - electrochromatic_on = FALSE + electrochromatic_status = ELECTROCHROMATIC_OFF var/current = color update_atom_colour() var/newcolor = color @@ -406,7 +405,7 @@ GLOBAL_LIST_EMPTY(electrochromatic_window_lookup) for(var/obj/item/shard/debris in spawnDebris(drop_location())) transfer_fingerprints_to(debris) // transfer fingerprints to shards only if(electrochromatic_status != NOT_ELECTROCHROMATIC) //eh fine keep your kit. - new /obj/item/electrochromatic_kit/K(drop_location()) + new /obj/item/electronics/electrochromatic_kit/K(drop_location()) // Intentionally not setting the ID so you can't decon one to know all of the IDs. qdel(src) update_nearby_icons() diff --git a/code/modules/assembly/doorcontrol.dm b/code/modules/assembly/doorcontrol.dm index 3c2d9fbce3..41b063f43e 100644 --- a/code/modules/assembly/doorcontrol.dm +++ b/code/modules/assembly/doorcontrol.dm @@ -11,7 +11,7 @@ var/show_id = TRUE var/cooldown = FALSE //Door cooldowns -/obj/item/assembly/Initialize(mapload) +/obj/item/assembly/control/Initialize(mapload) if(mapload && id) if(copytext(id, 1, 2) == "!") id = SSmapping.get_obfuscated_id(id) @@ -166,4 +166,4 @@ /obj/item/assembly/control/electrochromatic/activate() on = !on - SEND_GLOBAL_SIGNAL(COMSIG_GLOB_ELECTROCHROMATIC_WINDOW_TOGGLE, on, id) + do_electrochromatic_toggle(on, id) From ff9f18bdbdbb0fb1bfb67a308cf2485f4447d2a4 Mon Sep 17 00:00:00 2001 From: kevinz000 <2003111+kevinz000@users.noreply.github.com> Date: Sun, 26 Apr 2020 03:38:41 -0700 Subject: [PATCH 10/41] wow lotsa effort huh --- code/game/objects/structures/window.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/game/objects/structures/window.dm b/code/game/objects/structures/window.dm index 143024bf97..796db7a9c6 100644 --- a/code/game/objects/structures/window.dm +++ b/code/game/objects/structures/window.dm @@ -405,7 +405,7 @@ GLOBAL_LIST_EMPTY(electrochromatic_window_lookup) for(var/obj/item/shard/debris in spawnDebris(drop_location())) transfer_fingerprints_to(debris) // transfer fingerprints to shards only if(electrochromatic_status != NOT_ELECTROCHROMATIC) //eh fine keep your kit. - new /obj/item/electronics/electrochromatic_kit/K(drop_location()) + new /obj/item/electronics/electrochromatic_kit(drop_location()) // Intentionally not setting the ID so you can't decon one to know all of the IDs. qdel(src) update_nearby_icons() From 2e35a42f4356cc9795fe3925a25d97ec154b196a Mon Sep 17 00:00:00 2001 From: kevinz000 <2003111+kevinz000@users.noreply.github.com> Date: Sun, 26 Apr 2020 04:10:38 -0700 Subject: [PATCH 11/41] wow lotsa effort huh --- .../objects/items/devices/electrochromatic_kit.dm | 1 - code/game/objects/structures/window.dm | 12 +++++++----- code/modules/assembly/doorcontrol.dm | 2 -- 3 files changed, 7 insertions(+), 8 deletions(-) diff --git a/code/game/objects/items/devices/electrochromatic_kit.dm b/code/game/objects/items/devices/electrochromatic_kit.dm index aae886d397..d582eab00e 100644 --- a/code/game/objects/items/devices/electrochromatic_kit.dm +++ b/code/game/objects/items/devices/electrochromatic_kit.dm @@ -1,7 +1,6 @@ /obj/item/electronics/electrochromatic_kit name = "electrochromatic kit" desc = "A kit for upgrading a window into an electrochromatic one." - icon = 'icons/obj/device.dmi' /// Electrochromatic ID var/id diff --git a/code/game/objects/structures/window.dm b/code/game/objects/structures/window.dm index 796db7a9c6..a8c6dfb898 100644 --- a/code/game/objects/structures/window.dm +++ b/code/game/objects/structures/window.dm @@ -211,9 +211,6 @@ GLOBAL_LIST_EMPTY(electrochromatic_window_lookup) if(istype(I, /obj/item/electronics/electrochromatic_kit) && user.a_intent == INTENT_HELP) var/obj/item/electronics/electrochromatic_kit/K = I - if(!user.temporarilyRemoveItemFromInventory(K)) - to_chat(user, "[K] is stuck to your hand!") - return if(electrochromatic_status != NOT_ELECTROCHROMATIC) to_chat(user, "[src] is already electrochromatic!") return @@ -223,6 +220,9 @@ GLOBAL_LIST_EMPTY(electrochromatic_window_lookup) if(!K.id) to_chat(user, "[K] has no ID set!") return + if(!user.temporarilyRemoveItemFromInventory(K)) + to_chat(user, "[K] is stuck to your hand!") + return user.visible_message("[user] upgrades [src] with [I].", "You upgrade [src] with [I].") make_electrochromatic(K.id) qdel(K) @@ -341,8 +341,10 @@ GLOBAL_LIST_EMPTY(electrochromatic_window_lookup) if(electrochromatic_id) GLOB.electrochromatic_window_lookup[electrochromatic_id] += src -/obj/structure/window/proc/make_electrochromatic(new_id) +/obj/structure/window/proc/make_electrochromatic(new_id = electrochromatic_id) remove_electrochromatic() + if(!new_id) + CRASH("Attempted to make electrochromatic with null ID.") electrochromatic_id = new_id electrochromatic_status = ELECTROCHROMATIC_OFF LAZYINITLIST(GLOB.electrochromatic_window_lookup["[electrochromatic_id]"]) @@ -352,7 +354,7 @@ GLOBAL_LIST_EMPTY(electrochromatic_window_lookup) if((electrochromatic_status != ELECTROCHROMATIC_OFF) && (electrochromatic_status != ELECTROCHROMATIC_DIMMED)) return FALSE . = ..() - if(color_hex2num(color) < 255) + if(color && (color_hex2num(color) < 255)) set_opacity(255) else set_opacity(FALSE) diff --git a/code/modules/assembly/doorcontrol.dm b/code/modules/assembly/doorcontrol.dm index 41b063f43e..32e262ce65 100644 --- a/code/modules/assembly/doorcontrol.dm +++ b/code/modules/assembly/doorcontrol.dm @@ -26,8 +26,6 @@ /obj/item/assembly/control/attack_self(mob/living/user) . = ..() - if(.) - return if(!can_change_id) return var/new_id From f70490c61dce9205ae46979d0661191c3608e801 Mon Sep 17 00:00:00 2001 From: kevinz000 <2003111+kevinz000@users.noreply.github.com> Date: Sun, 26 Apr 2020 04:40:18 -0700 Subject: [PATCH 12/41] fixes --- code/game/machinery/buttons.dm | 8 ++++++++ code/game/objects/structures/window.dm | 14 +++++++------- 2 files changed, 15 insertions(+), 7 deletions(-) diff --git a/code/game/machinery/buttons.dm b/code/game/machinery/buttons.dm index ad3dd5d720..3a90707bbe 100644 --- a/code/game/machinery/buttons.dm +++ b/code/game/machinery/buttons.dm @@ -16,6 +16,9 @@ resistance_flags = INDESTRUCTIBLE | LAVA_PROOF | FIRE_PROOF | UNACIDABLE | ACID_PROOF /obj/machinery/button/Initialize(mapload, ndir = 0, built = 0) + if(istext(id) && mapload) + if(copytext(id, 1, 2) == "!") + id = SSmapping.get_obfuscated_id(id) . = ..() if(built) setDir(ndir) @@ -260,6 +263,11 @@ req_access = list() id = 1 +/obj/machinery/button/electrochromatic + name = "window dim control" + desc = "Controls linked electrochromatic windows" + device_type = /obj/item/assembly/control/electrochromatic + /obj/item/wallframe/button name = "button frame" desc = "Used for building buttons." diff --git a/code/game/objects/structures/window.dm b/code/game/objects/structures/window.dm index a8c6dfb898..e4d93ea8de 100644 --- a/code/game/objects/structures/window.dm +++ b/code/game/objects/structures/window.dm @@ -299,6 +299,7 @@ GLOBAL_LIST_EMPTY(electrochromatic_window_lookup) animate(src, color = newcolor, time = 2) /obj/structure/window/proc/remove_electrochromatic() + electrochromatic_off() electrochromatic_status = NOT_ELECTROCHROMATIC if(!electrochromatic_id) return @@ -308,14 +309,17 @@ GLOBAL_LIST_EMPTY(electrochromatic_window_lookup) electrochromatic_id = null /obj/structure/window/vv_edit_var(var_name, var_value) - var/old_id var/check_status if(var_name == NAMEOF(src, electrochromatic_id)) - if((electrochromatic_status != NOT_ELECTROCHROMATIC) && electrochromatic_id) - old_id = electrochromatic_id + if(electrochromatic_id && GLOB.electrochromatic_window_lookup["[electrochromatic_id]"]) + GLOB.electrochromatic_window_lookup[electrochromatic_id] -= src if(var_name == NAMEOF(src, electrochromatic_status)) check_status = TRUE . = ..() //do this first incase it runtimes. + if(var_name == NAMEOF(src, electrochromatic_id)) + if((electrochromatic_status != NOT_ELECTROCHROMATIC) && electrochromatic_id) + LAZYINITLIST(GLOB.electrochromatic_window_lookup[electrochromatic_id]) + GLOB.electrochromatic_window_lookup[electrochromatic_id] += src if(check_status) if(electrochromatic_status == NOT_ELECTROCHROMATIC) remove_electrochromatic() @@ -336,10 +340,6 @@ GLOBAL_LIST_EMPTY(electrochromatic_window_lookup) return else remove_electrochromatic() - if(old_id) - GLOB.electrochromatic_window_lookup[old_id] -= src - if(electrochromatic_id) - GLOB.electrochromatic_window_lookup[electrochromatic_id] += src /obj/structure/window/proc/make_electrochromatic(new_id = electrochromatic_id) remove_electrochromatic() From 28da033111afe9857394579220c2f102462da8c0 Mon Sep 17 00:00:00 2001 From: kevinz000 <2003111+kevinz000@users.noreply.github.com> Date: Sun, 26 Apr 2020 17:37:27 -0700 Subject: [PATCH 13/41] fine --- code/datums/components/crafting/recipes/recipes_misc.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/datums/components/crafting/recipes/recipes_misc.dm b/code/datums/components/crafting/recipes/recipes_misc.dm index 940e6c134f..cd254943ea 100644 --- a/code/datums/components/crafting/recipes/recipes_misc.dm +++ b/code/datums/components/crafting/recipes/recipes_misc.dm @@ -239,7 +239,7 @@ reqs = list(/obj/item/stack/sheet/metal = 1, /obj/item/stack/cable_coil = 1) time = 5 - subcategory = CAT_MISCELLANEOUS + subcategory = CAT_TOOL category = CAT_MISC //////////// From 438a83b5c03a7e57c5d0e41d292738a495747049 Mon Sep 17 00:00:00 2001 From: ZeroMan Date: Thu, 30 Apr 2020 17:56:07 -0400 Subject: [PATCH 14/41] a --- code/modules/projectiles/ammunition/energy/special.dm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/code/modules/projectiles/ammunition/energy/special.dm b/code/modules/projectiles/ammunition/energy/special.dm index 15e9b68912..994b0f7f01 100644 --- a/code/modules/projectiles/ammunition/energy/special.dm +++ b/code/modules/projectiles/ammunition/energy/special.dm @@ -4,8 +4,8 @@ fire_sound = 'sound/weapons/ionrifle.ogg' /obj/item/ammo_casing/energy/ion/hos - projectile_type = /obj/item/projectile/ion/weak - e_cost = 300 + projectile_type = /obj/item/projectile/ion + e_cost = 200 /obj/item/ammo_casing/energy/declone projectile_type = /obj/item/projectile/energy/declone From 42762c459e0891073672f70bc114ecf4b46fd78a Mon Sep 17 00:00:00 2001 From: Psody Date: Fri, 1 May 2020 04:14:34 -0400 Subject: [PATCH 15/41] Lets actually use all the positions --- code/modules/jobs/job_types/atmospheric_technician.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/modules/jobs/job_types/atmospheric_technician.dm b/code/modules/jobs/job_types/atmospheric_technician.dm index 019e50799e..66861033fd 100644 --- a/code/modules/jobs/job_types/atmospheric_technician.dm +++ b/code/modules/jobs/job_types/atmospheric_technician.dm @@ -5,7 +5,7 @@ department_flag = ENGSEC faction = "Station" total_positions = 3 - spawn_positions = 2 + spawn_positions = 3 supervisors = "the chief engineer" selection_color = "#ff9b3d" exp_requirements = 60 From 37d1c469eac2ab0a040e995f498cf2c769915c86 Mon Sep 17 00:00:00 2001 From: Sishen Date: Fri, 1 May 2020 06:59:54 -0600 Subject: [PATCH 16/41] hnmhm cultplain?? --- code/modules/uplink/uplink_items/uplink_roles.dm | 2 ++ 1 file changed, 2 insertions(+) diff --git a/code/modules/uplink/uplink_items/uplink_roles.dm b/code/modules/uplink/uplink_items/uplink_roles.dm index 28479f8da7..da25cf5298 100644 --- a/code/modules/uplink/uplink_items/uplink_roles.dm +++ b/code/modules/uplink/uplink_items/uplink_roles.dm @@ -89,6 +89,7 @@ desc = "A reverse engineered clockwork slab. Is this really a good idea?." item = /obj/item/clockwork/slab/traitor cost = 20 + player_minimum = 20 refundable = TRUE restricted_roles = list("Chaplain") @@ -97,6 +98,7 @@ desc = "A replica of a Nar'sian tome. This is probably a bad idea.." item = /obj/item/tome/traitor cost = 20 + player_minimum = 20 refundable = TRUE restricted_roles = list("Chaplain") From a1f252d5588e255d12ff3224e7cad4a2f00c19ca Mon Sep 17 00:00:00 2001 From: Ghommie <42542238+Ghommie@users.noreply.github.com> Date: Fri, 1 May 2020 19:48:27 +0200 Subject: [PATCH 17/41] Fixing several reported issues. --- code/datums/elements/mob_holder.dm | 2 +- code/game/objects/items/devices/multitool.dm | 5 ++--- .../sprite_accessories/_sprite_accessories.dm | 1 - .../new_player/sprite_accessories/ears.dm | 17 +++++++++++------ .../mob/living/carbon/human/species.dm | 16 ---------------- .../mob/living/carbon/monkey/combat.dm | 8 +++----- .../surgery/bodyparts/dismemberment.dm | 2 +- icons/mob/blob.dmi | Bin 1294948 -> 1294952 bytes icons/mob/mutant_bodyparts.dmi | Bin 33996 -> 33997 bytes icons/obj/advancedtools.dmi | Bin 2446 -> 2474 bytes icons/obj/items_cyborg.dmi | Bin 2344 -> 2461 bytes modular_citadel/icons/mob/mam_ears.dmi | Bin 10613 -> 10605 bytes 12 files changed, 18 insertions(+), 33 deletions(-) diff --git a/code/datums/elements/mob_holder.dm b/code/datums/elements/mob_holder.dm index a5c6e2725d..d770e0f30d 100644 --- a/code/datums/elements/mob_holder.dm +++ b/code/datums/elements/mob_holder.dm @@ -164,7 +164,7 @@ release() /obj/item/clothing/head/mob_holder/mob_can_equip(mob/living/M, mob/living/equipper, slot, disable_warning = FALSE, bypass_equip_delay_self = FALSE) - if(!ishuman(M)) //monkeys holding monkeys holding monkeys... + if(M == held_mob || !ishuman(M)) //monkeys holding monkeys holding monkeys... return FALSE return ..() diff --git a/code/game/objects/items/devices/multitool.dm b/code/game/objects/items/devices/multitool.dm index 63092b5a13..4d0ed362fc 100644 --- a/code/game/objects/items/devices/multitool.dm +++ b/code/game/objects/items/devices/multitool.dm @@ -68,10 +68,9 @@ update_icon() /obj/item/multitool/update_icon_state() + icon_state = initial(icon_state) if(selected_io) - icon_state = "multitool_red" - else - icon_state = "multitool" + icon_state += "_red" /obj/item/multitool/proc/wire(var/datum/integrated_io/io, mob/user) if(!io.holder.assembly) diff --git a/code/modules/mob/dead/new_player/sprite_accessories/_sprite_accessories.dm b/code/modules/mob/dead/new_player/sprite_accessories/_sprite_accessories.dm index ab278b2e82..0b25132e00 100644 --- a/code/modules/mob/dead/new_player/sprite_accessories/_sprite_accessories.dm +++ b/code/modules/mob/dead/new_player/sprite_accessories/_sprite_accessories.dm @@ -55,7 +55,6 @@ var/gender = NEUTER //Determines if the accessory will be skipped or included in random hair generations var/gender_specific //Something that can be worn by either gender, but looks different on each var/color_src = MUTCOLORS //Currently only used by mutantparts so don't worry about hair and stuff. This is the source that this accessory will get its color from. Default is MUTCOLOR, but can also be HAIR, FACEHAIR, EYECOLOR and 0 if none. - var/hasinner //Decides if this sprite has an "inner" part, such as the fleshy parts on ears. var/locked = FALSE //Is this part locked from roundstart selection? Used for parts that apply effects var/dimension_x = 32 var/dimension_y = 32 diff --git a/code/modules/mob/dead/new_player/sprite_accessories/ears.dm b/code/modules/mob/dead/new_player/sprite_accessories/ears.dm index c91bd633a5..3ba1e8b3b4 100644 --- a/code/modules/mob/dead/new_player/sprite_accessories/ears.dm +++ b/code/modules/mob/dead/new_player/sprite_accessories/ears.dm @@ -29,9 +29,10 @@ /datum/sprite_accessory/ears/human/bigwolfinner name = "Big Wolf (ALT)" icon_state = "bigwolfinner" - hasinner = 1 icon = 'modular_citadel/icons/mob/mam_ears.dmi' color_src = MATRIXED + extra = TRUE + extra_color_src = NONE /datum/sprite_accessory/ears/human/bigwolfdark name = "Dark Big Wolf" @@ -42,15 +43,17 @@ /datum/sprite_accessory/ears/human/bigwolfinnerdark name = "Dark Big Wolf (ALT)" icon_state = "bigwolfinnerdark" - hasinner = 1 icon = 'modular_citadel/icons/mob/mam_ears.dmi' color_src = MATRIXED + extra = TRUE + extra_color_src = NONE /datum/sprite_accessory/ears/cat name = "Cat" icon_state = "cat" - hasinner = 1 color_src = HAIR + extra = TRUE + extra_color_src = NONE /datum/sprite_accessory/ears/human/cow name = "Cow" @@ -196,7 +199,8 @@ /datum/sprite_accessory/mam_ears/bigwolfinner name = "Big Wolf (ALT)" icon_state = "bigwolfinner" - hasinner = 1 + extra = TRUE + extra_color_src = NONE /datum/sprite_accessory/mam_ears/bigwolfdark name = "Dark Big Wolf" @@ -205,12 +209,13 @@ /datum/sprite_accessory/mam_ears/bigwolfinnerdark name = "Dark Big Wolf (ALT)" icon_state = "bigwolfinnerdark" - hasinner = 1 + extra = TRUE + extra_color_src = NONE /datum/sprite_accessory/mam_ears/cat name = "Cat" icon_state = "cat" - hasinner = 1 + icon = 'icons/mob/mutant_bodyparts.dmi' color_src = HAIR /datum/sprite_accessory/mam_ears/catbig diff --git a/code/modules/mob/living/carbon/human/species.dm b/code/modules/mob/living/carbon/human/species.dm index 683c3e18fd..e3a7b72f8b 100644 --- a/code/modules/mob/living/carbon/human/species.dm +++ b/code/modules/mob/living/carbon/human/species.dm @@ -909,22 +909,6 @@ GLOBAL_LIST_EMPTY(roundstart_race_names) standing += accessory_overlay - if(S.hasinner) - var/mutable_appearance/inner_accessory_overlay = mutable_appearance(S.icon, layer = -layer) - if(S.gender_specific) - inner_accessory_overlay.icon_state = "[g]_[bodypart]inner_[S.icon_state]_[layertext]" - else - inner_accessory_overlay.icon_state = "m_[bodypart]inner_[S.icon_state]_[layertext]" - - if(S.center) - inner_accessory_overlay = center_image(inner_accessory_overlay, S.dimension_x, S.dimension_y) - - if(OFFSET_MUTPARTS in H.dna.species.offset_features) - inner_accessory_overlay.pixel_x += H.dna.species.offset_features[OFFSET_MUTPARTS][1] - inner_accessory_overlay.pixel_y += H.dna.species.offset_features[OFFSET_MUTPARTS][2] - - standing += inner_accessory_overlay - if(S.extra) //apply the extra overlay, if there is one var/mutable_appearance/extra_accessory_overlay = mutable_appearance(S.icon, layer = -layer) if(S.gender_specific) diff --git a/code/modules/mob/living/carbon/monkey/combat.dm b/code/modules/mob/living/carbon/monkey/combat.dm index a06d65ad4b..1b0856bfcd 100644 --- a/code/modules/mob/living/carbon/monkey/combat.dm +++ b/code/modules/mob/living/carbon/monkey/combat.dm @@ -111,7 +111,7 @@ if(pickupTarget) if(restrained() || blacklistItems[pickupTarget] || HAS_TRAIT(pickupTarget, TRAIT_NODROP)) pickupTarget = null - else + else if(!isobj(loc) || istype(loc, /obj/item/clothing/head/mob_holder)) pickupTimer++ if(pickupTimer >= 4) blacklistItems[pickupTarget] ++ @@ -126,10 +126,8 @@ pickupTarget = null pickupTimer = 0 else if(ismob(pickupTarget.loc)) // in someones hand - if(istype(pickupTarget, /obj/item/clothing/head/mob_holder/)) - var/obj/item/clothing/head/mob_holder/h = pickupTarget - if(h && h.held_mob==src) - return//dont let them pickpocket themselves + if(istype(pickupTarget, /obj/item/clothing/head/mob_holder)) + return//dont let them pickpocket themselves or hold other monkys. var/mob/M = pickupTarget.loc if(!pickpocketing) pickpocketing = TRUE diff --git a/code/modules/surgery/bodyparts/dismemberment.dm b/code/modules/surgery/bodyparts/dismemberment.dm index 66bca919c4..59cfcccde1 100644 --- a/code/modules/surgery/bodyparts/dismemberment.dm +++ b/code/modules/surgery/bodyparts/dismemberment.dm @@ -295,6 +295,7 @@ O.Insert(C) update_bodypart_damage_state() + update_disabled() C.updatehealth() C.update_body() @@ -302,7 +303,6 @@ C.update_damage_overlays() C.update_mobility() - /obj/item/bodypart/head/attach_limb(mob/living/carbon/C, special) //Transfer some head appearance vars over if(brain) diff --git a/icons/mob/blob.dmi b/icons/mob/blob.dmi index 6964160c042f7f5d258de17430c8614deb9f38d5..a197581533c055a36e286bd090c1f9b6eca3f4f8 100644 GIT binary patch delta 536 zcmaFT;{T$>e}YQ=rmB#L5|`BC)N?^esUFcL`~J#Z>6n^T-khn>So7yu_Dp-{A5nGd%{D}=Kg6sR8^o&V z^EgmK#ygK?iGk-KhlEIu;<^iMk}V=^(Vn+`t}ih#-m#uN@qqWzdd1dEi9Z_K+<7&7 z-hVayI6LpoCEvphi&NA+5^cKFF6zvRn8;#ue0vyA`@|<=i9)4%+6w8_VG8fLm%Dau zN{_lPR~+=h;<1=^r`7bMt2(MT{Hgi7;m!oBuUmavXGu*>j^E>S>Er)sUX{SVGmb?n zzWni{`S+sfF^^{VJYQ0Caa~A#(L(JQ| z+Fc6&ZXk5$(($tQ*Pbzb|8-)|w)abKdz~t;TXjS|Bi+_+B~zo%F0PHLXFVSlzZ94@ zn^ou9>JQ?I!6)RFOZctg2m

cM7az0ZdKI}_3L z$(NLJ>xP{1lmv^%V%lG-rXSOq7`fq1&EE??3-|PG_2o1*Giu&g;odm?fBsd$j;q;H z_W$0xe3`>JgJbT(Ev~bJPPXXPPxO8IYhJR{-}Rk|i|m8)q-wY}E$Q{r>RfY@C-wWq ztc~|-f3E)al`a43L-{a?fTO>A*L?kdf8)oz{xfNOQ?>+d|Mk-R@6Rm)KVDB=e%I-* z>x1>Z%ZpE!+cb+@S>$@N+`oF6>+D5OHDCIdB`!u%&L`{**Tc6r@8M^*mol< zp);4Rm*rnelj-{9w02wmQg7BYb?eX!;Vs+c*jF_$i!O7@@id-dpfh*!+eBxx-*bO+ zE7+cp`(XS(y7@k1`+Y_bW&&bnAZ7t#Rv=~rVs;?r0Afxc<^p1FAm#yLULfWJVtybN Q0AfKP7TSKFQMmH}0024sN&o-= diff --git a/icons/mob/mutant_bodyparts.dmi b/icons/mob/mutant_bodyparts.dmi index 2f7f9b5be91f464a907cc24e72581d74d4359190..9c531a3df26d0fa797558d558da4e76f2a41ce68 100644 GIT binary patch delta 507 zcmVne!p0X z@?nwxMjy1Zq7b+5Kjhg?*HMW=e7wmsg<7iEe+dyHib7m9RRnFS&^Q-WbvOUESe93L zR%;(bA#U?*|k9NtDwNQ)tB-+A)B6m@UF8piwFvQYqV66+^rLko#7bY5lHdTd##+ep$f`* zY9$9kH?2VyvhKV=>U?^{L&JI=tTgBow`k+FG0cje7)DxPZ`Vi@aoxkp>&2 z|1q49ETM5$vR%em$=8f3>ltL};IRX?YJwla%GLX-0l(E&hNpc*QEbM4qc5#yyp@5T zSXXGwew>w#(kBr?n;l5XiRE*i)o5TZ3Nd^4;*)0{ciPqi;Vlfdi}|t?<-;QX3+Fa-JeviJgtI;Zj)J-p{VxCj delta 506 zcmVn{;*hz z@^O*>kr<43q7XM9KjqoZ)KQBD8%d>bpPw;@;8;Kqfru>q65Sd*)bwJLKIrFm4Vy39-@g>C}At{ z-*dBbv4itntbzt?tK0GiA)B6mK;OBVMFb7lTBCF%ck2XXXE?@p1X6tTUTcpoR6%>B zR&pRr(^|rDJwB?i#BMiWmf#mF#38x;HiVe1%%c($xG%KX=Eem ze+(xiOK81QY?t*;@in8$dI4EFcq=U?A7`bb^hrc8b_a@bV)>S5wY0Dog_wPK^~p1oJLBqs@E3N?d!iFgK?%Z7lsw^N zl_2~?$rDa%3Bo5$p8js^Kq=!CZEKAw^9{k^GDzu}u$aO9nMg5l3IAan!<+p5j={a3 zNRhAv`fDlyL$wC_P38qm;9WAu5uBuqa}rt9VFsl9zP>SoOR+BGa5)rxbZck>>$cqA wuCzxtBloChYDqq^9RWOt>Wpo?JNNvxm@i9FJ}&aVKeuw#pe3hivp)ikf+Upsf&c&j diff --git a/icons/obj/advancedtools.dmi b/icons/obj/advancedtools.dmi index 974202dd58fd66882c1e24c2fbd2c0fc85419d44..19240a60eb4e8464588331abef7ee46309dd2264 100644 GIT binary patch delta 2464 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 Bh|~Z8 diff --git a/icons/obj/items_cyborg.dmi b/icons/obj/items_cyborg.dmi index a4bd75f7e51517d6e97e634cf7ee61b32a3eb9f7..769d5492c64ad8a7027401a2cef929e02d8f77e4 100644 GIT binary patch delta 2239 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 Date: Fri, 1 May 2020 19:50:53 +0200 Subject: [PATCH 18/41] leftovers. --- modular_citadel/icons/mob/mam_ears.dmi | Bin 10605 -> 10453 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/modular_citadel/icons/mob/mam_ears.dmi b/modular_citadel/icons/mob/mam_ears.dmi index 55d41e33f59f31d80b345892e629602bf6668fe2..a3f09819f25890acbcc3d9dc2bff60b154efed80 100644 GIT binary patch literal 10453 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 literal 10605 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 Date: Fri, 1 May 2020 21:08:50 +0200 Subject: [PATCH 19/41] bumping up mapmerge requirements.txt --- tools/mapmerge2/requirements.txt | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tools/mapmerge2/requirements.txt b/tools/mapmerge2/requirements.txt index d24cb40dcc..41ddc96c17 100644 --- a/tools/mapmerge2/requirements.txt +++ b/tools/mapmerge2/requirements.txt @@ -1,3 +1,3 @@ -pygit2==0.27.2 +pygit2==1.0.1 bidict==0.13.1 -Pillow==6.2.0 +Pillow==7.0.0 From f62aaddb1de9f59e11a7b038fdfdbd37a132eb5a Mon Sep 17 00:00:00 2001 From: Ghommie <42542238+Ghommie@users.noreply.github.com> Date: Fri, 1 May 2020 23:22:23 +0200 Subject: [PATCH 20/41] Fixing some runtimes with kevinz skills and holodeck hotspots. --- code/datums/skills/_skill_holder.dm | 6 +++--- .../atmospherics/environmental/LINDA_fire.dm | 16 ++++++++++------ code/modules/holodeck/holo_effect.dm | 2 +- 3 files changed, 14 insertions(+), 10 deletions(-) diff --git a/code/datums/skills/_skill_holder.dm b/code/datums/skills/_skill_holder.dm index 352adc46ff..e16804ab7f 100644 --- a/code/datums/skills/_skill_holder.dm +++ b/code/datums/skills/_skill_holder.dm @@ -15,7 +15,7 @@ CRASH("Invalid get_skill_value call. Use typepaths.") //until a time when we somehow need text ids for dynamic skills, I'm enforcing this. if(!skills) return null - return skills[skill] + return LAZYACCESS(skills, skill) /** * Grabs our affinity for a skill. !!This is a multiplier!! @@ -25,7 +25,7 @@ CRASH("Invalid get_skill_affinity call. Use typepaths.") //until a time when we somehow need text ids for dynamic skills, I'm enforcing this. if(!skills) return 1 - var/affinity = skill_affinities[skill] + var/affinity = LAZYACCESS(skill_affinities, skill) if(isnull(affinity)) return 1 return affinity @@ -39,7 +39,7 @@ LAZYINITLIST(skills) value = sanitize_skill_value(skill, value) if(!isnull(value)) - skills[skill] = value + LAZYSET(skills, skill, value) return TRUE return FALSE diff --git a/code/modules/atmospherics/environmental/LINDA_fire.dm b/code/modules/atmospherics/environmental/LINDA_fire.dm index c47c4a44af..06d73867f8 100644 --- a/code/modules/atmospherics/environmental/LINDA_fire.dm +++ b/code/modules/atmospherics/environmental/LINDA_fire.dm @@ -9,7 +9,7 @@ return -/turf/open/hotspot_expose(exposed_temperature, exposed_volume, soh) +/turf/open/hotspot_expose(exposed_temperature, exposed_volume, soh = FALSE, holo = FALSE) var/datum/gas_mixture/air_contents = return_air() if(!air_contents) return 0 @@ -35,7 +35,7 @@ if(oxy < 0.5) return 0 - active_hotspot = new /obj/effect/hotspot(src) + active_hotspot = new /obj/effect/hotspot(src, holo) active_hotspot.temperature = exposed_temperature*50 active_hotspot.volume = exposed_volume*25 @@ -67,8 +67,10 @@ var/bypassing = FALSE var/visual_update_tick = 0 -/obj/effect/hotspot/Initialize() +/obj/effect/hotspot/Initialize(mapload, holo = FALSE) . = ..() + if(holo) + flags_1 |= HOLOGRAM_1 SSair.hotspots += src perform_exposure() setDir(pick(GLOB.cardinals)) @@ -192,7 +194,8 @@ if(bypassing) icon_state = "3" - location.burn_tile() + if(!(flags_1 & HOLOGRAM_1)) + location.burn_tile() //Possible spread due to radiated heat if(location.air.temperature > FIRE_MINIMUM_TEMPERATURE_TO_SPREAD) @@ -200,7 +203,7 @@ for(var/t in location.atmos_adjacent_turfs) var/turf/open/T = t if(!T.active_hotspot) - T.hotspot_expose(radiated_temperature, CELL_VOLUME/4) + T.hotspot_expose(radiated_temperature, CELL_VOLUME/4, flags_1 & HOLOGRAM_1) else if(volume > CELL_VOLUME*0.4) @@ -224,7 +227,8 @@ var/turf/open/T = loc if(istype(T) && T.active_hotspot == src) T.active_hotspot = null - DestroyTurf() + if(!(flags_1 & HOLOGRAM_1)) + DestroyTurf() return ..() /obj/effect/hotspot/proc/DestroyTurf() diff --git a/code/modules/holodeck/holo_effect.dm b/code/modules/holodeck/holo_effect.dm index 7c3754b616..09dcd7fa64 100644 --- a/code/modules/holodeck/holo_effect.dm +++ b/code/modules/holodeck/holo_effect.dm @@ -62,7 +62,7 @@ s.set_up(3, 1, T) s.start() T.temperature = 5000 - T.hotspot_expose(50000,50000,1) + T.hotspot_expose(50000, 50000, TRUE, TRUE) From b383066e57ccb019380fe7770e12f9ee17709d39 Mon Sep 17 00:00:00 2001 From: Ghommie <42542238+Ghommie@users.noreply.github.com> Date: Sat, 2 May 2020 00:00:49 +0200 Subject: [PATCH 21/41] Replacing the MATERIAL_NO_EFFECTS flag with MATERIAL_EFFECTS. --- code/__DEFINES/materials.dm | 2 +- code/game/atoms.dm | 2 +- code/game/mecha/equipment/tools/medical_tools.dm | 1 - code/game/mecha/mech_fabricator.dm | 1 - code/game/objects/items.dm | 8 -------- code/game/objects/items/melee/misc.dm | 2 +- code/game/objects/items/stacks/sheets/glass.dm | 3 --- code/game/objects/items/stacks/sheets/mineral.dm | 1 - code/game/objects/items/stacks/sheets/sheet_types.dm | 1 - code/game/objects/items/stacks/tiles/tile_mineral.dm | 1 - code/game/objects/objs.dm | 8 ++++++++ code/game/objects/structures/beds_chairs/chair.dm | 4 ++-- code/game/objects/structures/tables_racks.dm | 2 +- code/modules/clothing/head/helmet.dm | 2 +- code/modules/clothing/suits/armor.dm | 2 +- code/modules/mining/ores_coins.dm | 3 +-- code/modules/reagents/reagent_containers/glass.dm | 1 - code/modules/research/machinery/_production.dm | 8 +++----- 18 files changed, 20 insertions(+), 32 deletions(-) diff --git a/code/__DEFINES/materials.dm b/code/__DEFINES/materials.dm index 89553d9c6c..e2ae22345f 100644 --- a/code/__DEFINES/materials.dm +++ b/code/__DEFINES/materials.dm @@ -7,5 +7,5 @@ /// Flag for atoms, this flag ensures it isn't re-colored by materials. Useful for snowflake icons such as default toolboxes. #define MATERIAL_COLOR (1<<0) #define MATERIAL_ADD_PREFIX (1<<1) -#define MATERIAL_NO_EFFECTS (1<<2) +#define MATERIAL_EFFECTS (1<<2) #define MATERIAL_AFFECT_STATISTICS (1<<3) \ No newline at end of file diff --git a/code/game/atoms.dm b/code/game/atoms.dm index b71f51bd07..afa8cfed3b 100644 --- a/code/game/atoms.dm +++ b/code/game/atoms.dm @@ -965,7 +965,7 @@ Proc for attack log creation, because really why not for(var/x in materials) var/datum/material/custom_material = SSmaterials.GetMaterialRef(x) - if(!(material_flags & MATERIAL_NO_EFFECTS)) + if(material_flags & MATERIAL_EFFECTS) custom_material.on_applied(src, materials[custom_material] * multiplier * material_modifier, material_flags) custom_materials[custom_material] += materials[x] * multiplier diff --git a/code/game/mecha/equipment/tools/medical_tools.dm b/code/game/mecha/equipment/tools/medical_tools.dm index 7ff8696084..4a4d58ea73 100644 --- a/code/game/mecha/equipment/tools/medical_tools.dm +++ b/code/game/mecha/equipment/tools/medical_tools.dm @@ -530,7 +530,6 @@ equip_cooldown = 0 var/obj/item/gun/medbeam/mech/medigun custom_materials = list(/datum/material/iron = 15000, /datum/material/glass = 8000, /datum/material/plasma = 3000, /datum/material/gold = 8000, /datum/material/diamond = 2000) - material_flags = MATERIAL_NO_EFFECTS /obj/item/mecha_parts/mecha_equipment/medical/mechmedbeam/Initialize() . = ..() diff --git a/code/game/mecha/mech_fabricator.dm b/code/game/mecha/mech_fabricator.dm index fb321665bc..93228c7fee 100644 --- a/code/game/mecha/mech_fabricator.dm +++ b/code/game/mecha/mech_fabricator.dm @@ -188,7 +188,6 @@ var/location = get_step(src,(dir)) var/obj/item/I = new D.build_path(location) - I.material_flags |= MATERIAL_NO_EFFECTS //Find a better way to do this. I.set_custom_materials(res_coef) say("\The [I] is complete.") being_built = null diff --git a/code/game/objects/items.dm b/code/game/objects/items.dm index 9cb03c6a85..f64be72cfa 100644 --- a/code/game/objects/items.dm +++ b/code/game/objects/items.dm @@ -897,11 +897,3 @@ GLOBAL_VAR_INIT(rpg_loot_items, FALSE) . = ..() if(var_name == NAMEOF(src, slowdown)) set_slowdown(var_value) //don't care if it's a duplicate edit as slowdown'll be set, do it anyways to force normal behavior. - -//Called when the object is constructed by an autolathe -//Has a reference to the autolathe so you can do !!FUN!! things with hacked lathes -/obj/item/proc/autolathe_crafted(obj/machinery/autolathe/A) - return - -/obj/item/proc/rnd_crafted(obj/machinery/rnd/production/P) - return diff --git a/code/game/objects/items/melee/misc.dm b/code/game/objects/items/melee/misc.dm index 011837d48b..c2db529675 100644 --- a/code/game/objects/items/melee/misc.dm +++ b/code/game/objects/items/melee/misc.dm @@ -648,7 +648,7 @@ item_state = "mace_greyscale" lefthand_file = 'icons/mob/inhands/weapons/melee_lefthand.dmi' righthand_file = 'icons/mob/inhands/weapons/melee_righthand.dmi' - material_flags = MATERIAL_ADD_PREFIX | MATERIAL_COLOR | MATERIAL_AFFECT_STATISTICS //Material type changes the prefix as well as the color. + material_flags = MATERIAL_ADD_PREFIX | MATERIAL_COLOR | MATERIAL_AFFECT_STATISTICS | MATERIAL_EFFECTS //Material type changes the prefix as well as the color. custom_materials = list(/datum/material/iron = 12000) //Defaults to an Iron Mace. slot_flags = ITEM_SLOT_BELT force = 14 diff --git a/code/game/objects/items/stacks/sheets/glass.dm b/code/game/objects/items/stacks/sheets/glass.dm index c8ee6b05c7..fa218c5caa 100644 --- a/code/game/objects/items/stacks/sheets/glass.dm +++ b/code/game/objects/items/stacks/sheets/glass.dm @@ -109,7 +109,6 @@ GLOBAL_LIST_INIT(pglass_recipes, list ( \ merge_type = /obj/item/stack/sheet/plasmaglass grind_results = list(/datum/reagent/silicon = 20, /datum/reagent/toxin/plasma = 10) tableVariant = /obj/structure/table/plasmaglass - material_flags = MATERIAL_NO_EFFECTS shard_type = /obj/item/shard/plasma /obj/item/stack/sheet/plasmaglass/fifty @@ -209,7 +208,6 @@ GLOBAL_LIST_INIT(prglass_recipes, list ( \ custom_materials = list(/datum/material/plasma=MINERAL_MATERIAL_AMOUNT * 0.5, /datum/material/glass=MINERAL_MATERIAL_AMOUNT, /datum/material/iron=MINERAL_MATERIAL_AMOUNT * 0.5,) armor = list("melee" = 20, "bullet" = 0, "laser" = 0, "energy" = 0, "bomb" = 0, "bio" = 0, "rad" = 0, "fire" = 80, "acid" = 100) resistance_flags = ACID_PROOF - material_flags = MATERIAL_NO_EFFECTS merge_type = /obj/item/stack/sheet/plasmarglass grind_results = list(/datum/reagent/silicon = 20, /datum/reagent/toxin/plasma = 10, /datum/reagent/iron = 10) point_value = 23 @@ -259,7 +257,6 @@ GLOBAL_LIST_INIT(plastitaniumglass_recipes, list( item_state = "sheet-plastitaniumglass" custom_materials = list(/datum/material/titanium=MINERAL_MATERIAL_AMOUNT * 0.5, /datum/material/plasma=MINERAL_MATERIAL_AMOUNT * 0.5, /datum/material/glass=MINERAL_MATERIAL_AMOUNT) armor = list("melee" = 0, "bullet" = 0, "laser" = 0, "energy" = 0, "bomb" = 0, "bio" = 0, "rad" = 0, "fire" = 80, "acid" = 100) - material_flags = MATERIAL_NO_EFFECTS resistance_flags = ACID_PROOF merge_type = /obj/item/stack/sheet/plastitaniumglass shard_type = /obj/item/shard diff --git a/code/game/objects/items/stacks/sheets/mineral.dm b/code/game/objects/items/stacks/sheets/mineral.dm index 4a7156db72..d28ae52b52 100644 --- a/code/game/objects/items/stacks/sheets/mineral.dm +++ b/code/game/objects/items/stacks/sheets/mineral.dm @@ -324,7 +324,6 @@ GLOBAL_LIST_INIT(titanium_recipes, list ( \ custom_materials = list(/datum/material/titanium=MINERAL_MATERIAL_AMOUNT, /datum/material/plasma=MINERAL_MATERIAL_AMOUNT) point_value = 45 merge_type = /obj/item/stack/sheet/mineral/plastitanium - material_flags = MATERIAL_NO_EFFECTS /obj/item/stack/sheet/mineral/plastitanium/fifty amount = 50 diff --git a/code/game/objects/items/stacks/sheets/sheet_types.dm b/code/game/objects/items/stacks/sheets/sheet_types.dm index 6ddd7c136a..f19dbb2a6b 100644 --- a/code/game/objects/items/stacks/sheets/sheet_types.dm +++ b/code/game/objects/items/stacks/sheets/sheet_types.dm @@ -215,7 +215,6 @@ GLOBAL_LIST_INIT(plasteel_recipes, list ( \ grind_results = list(/datum/reagent/iron = 20, /datum/reagent/toxin/plasma = 20) point_value = 23 tableVariant = /obj/structure/table/reinforced - material_flags = MATERIAL_NO_EFFECTS /obj/item/stack/sheet/plasteel/get_main_recipes() . = ..() diff --git a/code/game/objects/items/stacks/tiles/tile_mineral.dm b/code/game/objects/items/stacks/tiles/tile_mineral.dm index 50edc9d15a..1bcd8d72ca 100644 --- a/code/game/objects/items/stacks/tiles/tile_mineral.dm +++ b/code/game/objects/items/stacks/tiles/tile_mineral.dm @@ -78,4 +78,3 @@ turf_type = /turf/open/floor/mineral/plastitanium mineralType = "plastitanium" custom_materials = list(/datum/material/titanium=250, /datum/material/plasma=250) - material_flags = MATERIAL_NO_EFFECTS \ No newline at end of file diff --git a/code/game/objects/objs.dm b/code/game/objects/objs.dm index d2d72193b7..033304c707 100644 --- a/code/game/objects/objs.dm +++ b/code/game/objects/objs.dm @@ -314,3 +314,11 @@ current_skin = choice icon_state = unique_reskin[choice] to_chat(M, "[src] is now skinned as '[choice]'.") + +//Called when the object is constructed by an autolathe +//Has a reference to the autolathe so you can do !!FUN!! things with hacked lathes +/obj/proc/autolathe_crafted(obj/machinery/autolathe/A) + return + +/obj/proc/rnd_crafted(obj/machinery/rnd/production/P) + return diff --git a/code/game/objects/structures/beds_chairs/chair.dm b/code/game/objects/structures/beds_chairs/chair.dm index c593451c24..d3e8ecf0a6 100644 --- a/code/game/objects/structures/beds_chairs/chair.dm +++ b/code/game/objects/structures/beds_chairs/chair.dm @@ -153,7 +153,7 @@ ///Material chair /obj/structure/chair/greyscale icon_state = "chair_greyscale" - material_flags = MATERIAL_ADD_PREFIX | MATERIAL_COLOR | MATERIAL_AFFECT_STATISTICS + material_flags = MATERIAL_ADD_PREFIX | MATERIAL_COLOR | MATERIAL_AFFECT_STATISTICS | MATERIAL_EFFECTS item_chair = /obj/item/chair/greyscale buildstacktype = null //Custom mats handle this @@ -382,7 +382,7 @@ /obj/item/chair/greyscale icon_state = "chair_greyscale_toppled" item_state = "chair_greyscale" - material_flags = MATERIAL_ADD_PREFIX | MATERIAL_COLOR | MATERIAL_AFFECT_STATISTICS + material_flags = MATERIAL_ADD_PREFIX | MATERIAL_COLOR | MATERIAL_AFFECT_STATISTICS | MATERIAL_EFFECTS origin_type = /obj/structure/chair/greyscale /obj/item/chair/stool diff --git a/code/game/objects/structures/tables_racks.dm b/code/game/objects/structures/tables_racks.dm index bbdf6925f9..30e451aa14 100644 --- a/code/game/objects/structures/tables_racks.dm +++ b/code/game/objects/structures/tables_racks.dm @@ -211,7 +211,7 @@ /obj/structure/table/greyscale icon = 'icons/obj/smooth_structures/table_greyscale.dmi' icon_state = "table" - material_flags = MATERIAL_ADD_PREFIX | MATERIAL_COLOR | MATERIAL_AFFECT_STATISTICS + material_flags = MATERIAL_ADD_PREFIX | MATERIAL_COLOR | MATERIAL_AFFECT_STATISTICS | MATERIAL_EFFECTS buildstack = null //No buildstack, so generate from mat datums /* diff --git a/code/modules/clothing/head/helmet.dm b/code/modules/clothing/head/helmet.dm index 9ad05efb7a..3d744effb0 100644 --- a/code/modules/clothing/head/helmet.dm +++ b/code/modules/clothing/head/helmet.dm @@ -243,7 +243,7 @@ icon_state = "knight_greyscale" item_state = "knight_greyscale" armor = list("melee" = 35, "bullet" = 10, "laser" = 10, "energy" = 10, "bomb" = 10, "bio" = 10, "rad" = 10, "fire" = 40, "acid" = 40) - material_flags = MATERIAL_ADD_PREFIX | MATERIAL_COLOR | MATERIAL_AFFECT_STATISTICS //Can change color and add prefix + material_flags = MATERIAL_ADD_PREFIX | MATERIAL_COLOR | MATERIAL_AFFECT_STATISTICS | MATERIAL_EFFECTS //Can change color and add prefix /obj/item/clothing/head/helmet/skull name = "skull helmet" diff --git a/code/modules/clothing/suits/armor.dm b/code/modules/clothing/suits/armor.dm index 8bd7ee741d..bbfab5fda7 100644 --- a/code/modules/clothing/suits/armor.dm +++ b/code/modules/clothing/suits/armor.dm @@ -285,7 +285,7 @@ icon_state = "knight_greyscale" item_state = "knight_greyscale" armor = list("melee" = 35, "bullet" = 10, "laser" = 10, "energy" = 10, "bomb" = 10, "bio" = 10, "rad" = 10, "fire" = 40, "acid" = 40) - material_flags = MATERIAL_ADD_PREFIX | MATERIAL_COLOR | MATERIAL_AFFECT_STATISTICS //Can change color and add prefix + material_flags = MATERIAL_ADD_PREFIX | MATERIAL_COLOR | MATERIAL_AFFECT_STATISTICS | MATERIAL_EFFECTS //Can change color and add prefix /obj/item/clothing/suit/armor/vest/durathread name = "makeshift vest" diff --git a/code/modules/mining/ores_coins.dm b/code/modules/mining/ores_coins.dm index c7c34b0389..183b4812f2 100644 --- a/code/modules/mining/ores_coins.dm +++ b/code/modules/mining/ores_coins.dm @@ -70,7 +70,6 @@ singular_name = "uranium ore chunk" points = 30 custom_materials = list(/datum/material/uranium=MINERAL_MATERIAL_AMOUNT) - material_flags = MATERIAL_NO_EFFECTS refined_type = /obj/item/stack/sheet/mineral/uranium /obj/item/stack/ore/iron @@ -319,7 +318,7 @@ GLOBAL_LIST_INIT(sand_recipes, list(\ throwforce = 2 w_class = WEIGHT_CLASS_TINY custom_materials = list(/datum/material/iron = 400) - material_flags = MATERIAL_ADD_PREFIX | MATERIAL_COLOR | MATERIAL_AFFECT_STATISTICS + material_flags = MATERIAL_ADD_PREFIX | MATERIAL_COLOR | MATERIAL_AFFECT_STATISTICS | MATERIAL_EFFECTS var/string_attached var/list/sideslist = list("heads","tails") var/cooldown = 0 diff --git a/code/modules/reagents/reagent_containers/glass.dm b/code/modules/reagents/reagent_containers/glass.dm index 800d66969d..368f476183 100644 --- a/code/modules/reagents/reagent_containers/glass.dm +++ b/code/modules/reagents/reagent_containers/glass.dm @@ -245,7 +245,6 @@ icon_state = "beakerbluespace" custom_materials = list(/datum/material/glass = 5000, /datum/material/plasma = 3000, /datum/material/diamond = 1000, /datum/material/bluespace = 1000) volume = 300 - material_flags = MATERIAL_NO_EFFECTS amount_per_transfer_from_this = 10 possible_transfer_amounts = list(5,10,15,20,25,30,50,100,300) container_HP = 5 diff --git a/code/modules/research/machinery/_production.dm b/code/modules/research/machinery/_production.dm index 0550fa9334..2159e9eba3 100644 --- a/code/modules/research/machinery/_production.dm +++ b/code/modules/research/machinery/_production.dm @@ -95,11 +95,9 @@ message_admins("[ADMIN_LOOKUPFLW(user)] has built [amount] of [path] at a [src]([type]).") for(var/i in 1 to amount) var/obj/O = new path(get_turf(src)) - if(efficient_with(O.type) && isitem(O)) - var/obj/item/I = O - I.material_flags |= MATERIAL_NO_EFFECTS //Find a better way to do this. - I.set_custom_materials(matlist.Copy()) - I.rnd_crafted(src) + if(efficient_with(O.type)) + O.set_custom_materials(matlist.Copy()) + O.rnd_crafted(src) SSblackbox.record_feedback("nested tally", "item_printed", amount, list("[type]", "[path]")) investigate_log("[key_name(user)] built [amount] of [path] at [src]([type]).", INVESTIGATE_RESEARCH) From 21c9c984124a33126b9ae51c0d7ad459b1b5e3dd Mon Sep 17 00:00:00 2001 From: DeltaFire15 <46569814+DeltaFire15@users.noreply.github.com> Date: Sat, 2 May 2020 00:36:03 +0200 Subject: [PATCH 22/41] > & < agony (#12082) hm yes today a check being the wrong way will break exo nanites. --- code/modules/research/nanites/nanite_programs/utility.dm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/code/modules/research/nanites/nanite_programs/utility.dm b/code/modules/research/nanites/nanite_programs/utility.dm index 6352f50b8b..71aa5bf09a 100644 --- a/code/modules/research/nanites/nanite_programs/utility.dm +++ b/code/modules/research/nanites/nanite_programs/utility.dm @@ -160,7 +160,7 @@ if(!host_mob.client) //less brainpower points *= 0.25 SSresearch.science_tech.add_point_list(list(TECHWEB_POINT_TYPE_GENERIC = points)) - + /datum/nanite_program/researchplus name = "Neural Network" desc = "The nanites link the host's brains together forming a neural research network, that becomes more efficient with the amount of total hosts." @@ -184,7 +184,7 @@ SSnanites.neural_network_count-- else SSnanites.neural_network_count -= 0.25 - + /datum/nanite_program/researchplus/active_effect() if(!iscarbon(host_mob)) return @@ -234,7 +234,7 @@ var/spread_cooldown = 0 /datum/nanite_program/spreading/active_effect() - if(spread_cooldown < world.time) + if(world.time < spread_cooldown) return spread_cooldown = world.time + 50 var/list/mob/living/target_hosts = list() From 400e2523c27a708b54edf77ab96026344007f4fd Mon Sep 17 00:00:00 2001 From: Ghom <42542238+Ghommie@users.noreply.github.com> Date: Sat, 2 May 2020 00:55:18 +0200 Subject: [PATCH 23/41] paint remover issue webedit. --- code/game/objects/items/paint.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/game/objects/items/paint.dm b/code/game/objects/items/paint.dm index bdf9ab4270..cd65149f5d 100644 --- a/code/game/objects/items/paint.dm +++ b/code/game/objects/items/paint.dm @@ -112,7 +112,7 @@ . = ..() if(!proximity) return - if(!isturf(target) || !isobj(target)) + if(!isturf(target) && !isobj(target)) return if(target.color != initial(target.color)) target.remove_atom_colour(WASHABLE_COLOUR_PRIORITY) From 8bad031979a2391f6902ad219404e2f644fe5485 Mon Sep 17 00:00:00 2001 From: Ghom <42542238+Ghommie@users.noreply.github.com> Date: Sat, 2 May 2020 01:01:14 +0200 Subject: [PATCH 24/41] Update shields.dm --- code/game/objects/items/shields.dm | 2 ++ 1 file changed, 2 insertions(+) diff --git a/code/game/objects/items/shields.dm b/code/game/objects/items/shields.dm index f7bf659f0a..fc7b196bd2 100644 --- a/code/game/objects/items/shields.dm +++ b/code/game/objects/items/shields.dm @@ -107,6 +107,8 @@ return TRUE /obj/item/shield/proc/user_shieldbash(mob/living/user, atom/target, harmful) + if(!(user.combat_flags & COMBAT_FLAG_COMBAT_ACTIVE)) //Combat mode has to be enabled for shield bashing + return FALSE if(!(shield_flags & SHIELD_CAN_BASH)) to_chat(user, "[src] can't be used to shield bash!") return FALSE From 202b517fa02d87c86264e2e54d879d4ef117f801 Mon Sep 17 00:00:00 2001 From: Ghommie <42542238+Ghommie@users.noreply.github.com> Date: Sat, 2 May 2020 02:05:56 +0200 Subject: [PATCH 25/41] Fixing more issues. --- code/__HELPERS/global_lists.dm | 23 ++++++++++ code/controllers/subsystem/atoms.dm | 23 ---------- code/game/machinery/recharger.dm | 7 ++- code/modules/clothing/under/_under.dm | 2 +- .../mining/equipment/regenerative_core.dm | 44 +++++++++---------- 5 files changed, 51 insertions(+), 48 deletions(-) diff --git a/code/__HELPERS/global_lists.dm b/code/__HELPERS/global_lists.dm index 38e25b04c5..bcfaa1bed2 100644 --- a/code/__HELPERS/global_lists.dm +++ b/code/__HELPERS/global_lists.dm @@ -88,6 +88,7 @@ init_subtypes(/datum/crafting_recipe, GLOB.crafting_recipes) INVOKE_ASYNC(GLOBAL_PROC, /proc/init_ref_coin_values) //so the current procedure doesn't sleep because of UNTIL() + INVOKE_ASYNC(GLOBAL_PROC, /proc/setupGenetics) //creates every subtype of prototype (excluding prototype) and adds it to list L. //if no list/L is provided, one is created. @@ -113,3 +114,25 @@ UNTIL(C.flags_1 & INITIALIZED_1) //we want to make sure the value is calculated and not null. GLOB.coin_values[path] = C.value qdel(C) + +/proc/setupGenetics() + var/list/mutations = subtypesof(/datum/mutation/human) + shuffle_inplace(mutations) + for(var/A in subtypesof(/datum/generecipe)) + var/datum/generecipe/GR = A + GLOB.mutation_recipes[initial(GR.required)] = initial(GR.result) + for(var/i in 1 to LAZYLEN(mutations)) + var/path = mutations[i] //byond gets pissy when we do it in one line + var/datum/mutation/human/B = new path () + B.alias = "Mutation #[i]" + GLOB.all_mutations[B.type] = B + GLOB.full_sequences[B.type] = generate_gene_sequence(B.blocks) + if(B.locked) + continue + if(B.quality == POSITIVE) + GLOB.good_mutations |= B + else if(B.quality == NEGATIVE) + GLOB.bad_mutations |= B + else if(B.quality == MINOR_NEGATIVE) + GLOB.not_good_mutations |= B + CHECK_TICK \ No newline at end of file diff --git a/code/controllers/subsystem/atoms.dm b/code/controllers/subsystem/atoms.dm index 35feab6648..c1644df9c9 100644 --- a/code/controllers/subsystem/atoms.dm +++ b/code/controllers/subsystem/atoms.dm @@ -16,7 +16,6 @@ SUBSYSTEM_DEF(atoms) /datum/controller/subsystem/atoms/Initialize(timeofday) GLOB.fire_overlay.appearance_flags = RESET_COLOR - setupGenetics() //to set the mutations' sequence. initialized = INITIALIZATION_INNEW_MAPLOAD InitializeAtoms() return ..() @@ -107,28 +106,6 @@ SUBSYSTEM_DEF(atoms) old_initialized = SSatoms.old_initialized BadInitializeCalls = SSatoms.BadInitializeCalls -/datum/controller/subsystem/atoms/proc/setupGenetics() - var/list/mutations = subtypesof(/datum/mutation/human) - shuffle_inplace(mutations) - for(var/A in subtypesof(/datum/generecipe)) - var/datum/generecipe/GR = A - GLOB.mutation_recipes[initial(GR.required)] = initial(GR.result) - for(var/i in 1 to LAZYLEN(mutations)) - var/path = mutations[i] //byond gets pissy when we do it in one line - var/datum/mutation/human/B = new path () - B.alias = "Mutation #[i]" - GLOB.all_mutations[B.type] = B - GLOB.full_sequences[B.type] = generate_gene_sequence(B.blocks) - if(B.locked) - continue - if(B.quality == POSITIVE) - GLOB.good_mutations |= B - else if(B.quality == NEGATIVE) - GLOB.bad_mutations |= B - else if(B.quality == MINOR_NEGATIVE) - GLOB.not_good_mutations |= B - CHECK_TICK - /datum/controller/subsystem/atoms/proc/InitLog() . = "" for(var/path in BadInitializeCalls) diff --git a/code/game/machinery/recharger.dm b/code/game/machinery/recharger.dm index 24fd956677..c26c66a55f 100755 --- a/code/game/machinery/recharger.dm +++ b/code/game/machinery/recharger.dm @@ -53,6 +53,11 @@ using_power = FALSE update_icon() +/obj/machinery/recharger/Exited(atom/movable/M, atom/newloc) + . = ..() + if(charging == M) + setCharging() + /obj/machinery/recharger/attackby(obj/item/G, mob/user, params) if(istype(G, /obj/item/wrench)) if(charging) @@ -111,13 +116,11 @@ charging.update_icon() charging.forceMove(drop_location()) user.put_in_hands(charging) - setCharging(null) /obj/machinery/recharger/attack_tk(mob/user) if(charging) charging.update_icon() charging.forceMove(drop_location()) - setCharging(null) /obj/machinery/recharger/process() if(stat & (NOPOWER|BROKEN) || !anchored) diff --git a/code/modules/clothing/under/_under.dm b/code/modules/clothing/under/_under.dm index 0d08b59be9..c1c76e1091 100644 --- a/code/modules/clothing/under/_under.dm +++ b/code/modules/clothing/under/_under.dm @@ -101,7 +101,7 @@ if((flags_inv & HIDEACCESSORY) || (A.flags_inv & HIDEACCESSORY)) return TRUE - accessory_overlay = mutable_appearance('icons/mob/clothing/accessories.dmi', "attached_accessory.icon_state") + accessory_overlay = mutable_appearance('icons/mob/clothing/accessories.dmi', attached_accessory.icon_state) accessory_overlay.alpha = attached_accessory.alpha accessory_overlay.color = attached_accessory.color diff --git a/code/modules/mining/equipment/regenerative_core.dm b/code/modules/mining/equipment/regenerative_core.dm index 47a1d84f58..7380a9135d 100644 --- a/code/modules/mining/equipment/regenerative_core.dm +++ b/code/modules/mining/equipment/regenerative_core.dm @@ -75,31 +75,31 @@ apply_healing_core(target, user) /obj/item/organ/regenerative_core/proc/apply_healing_core(atom/target, mob/user) - if(ishuman(target)) - var/mob/living/carbon/human/H = target - if(inert) - to_chat(user, "[src] has decayed and can no longer be used to heal.") - return - else - if(H.stat == DEAD) - to_chat(user, "[src] are useless on the dead.") - return - if(H != user) - H.visible_message("[user] forces [H] to apply [src]... [H.p_they()] quickly regenerate all injuries!") - SSblackbox.record_feedback("nested tally", "hivelord_core", 1, list("[type]", "used", "other")) - else - to_chat(user, "You start to smear [src] on yourself. It feels and smells disgusting, but you feel amazingly refreshed in mere moments.") - SSblackbox.record_feedback("nested tally", "hivelord_core", 1, list("[type]", "used", "self")) - if(AmBloodsucker(H)) - H.revive(full_heal = FALSE) - else - H.revive(full_heal = TRUE) - qdel(src) - user.log_message("[user] used [src] to heal [H]! Wake the fuck up, Samurai!", LOG_ATTACK, color="green") //Logging for 'old' style legion core use, when clicking on a sprite of yourself or another. + if(!user || !ishuman(target)) + return + var/mob/living/carbon/human/H = target + if(inert) + to_chat(user, "[src] has decayed and can no longer be used to heal.") + return + if(H.stat == DEAD) + to_chat(user, "[src] are useless on the dead.") + return + if(H != user) + H.visible_message("[user] forces [H] to apply [src]... [H.p_they()] quickly regenerate all injuries!") + SSblackbox.record_feedback("nested tally", "hivelord_core", 1, list("[type]", "used", "other")) + else + to_chat(user, "You start to smear [src] on yourself. It feels and smells disgusting, but you feel amazingly refreshed in mere moments.") + SSblackbox.record_feedback("nested tally", "hivelord_core", 1, list("[type]", "used", "self")) + if(AmBloodsucker(H)) + H.revive(full_heal = FALSE) + else + H.revive(full_heal = TRUE) + qdel(src) + user.log_message("[user] used [src] to heal [H == user ? "[H.p_them()]self" : H]! Wake the fuck up, Samurai!", LOG_ATTACK, color="green") //Logging for 'old' style legion core use, when clicking on a sprite of yourself or another. /obj/item/organ/regenerative_core/attack_self(mob/user) //Knouli's first hack! Allows for the use of the core in hand rather than needing to click on the target, yourself, to selfheal. Its a rip of the proc just above - but skips on distance check and only uses 'user' rather than 'target' . = ..() - apply_healing_core(user) + apply_healing_core(user, user) /obj/item/organ/regenerative_core/Insert(mob/living/carbon/M, special = 0, drop_if_replaced = TRUE) From 65104be982e90e2db50c421845d24715a638787a Mon Sep 17 00:00:00 2001 From: coldud13 Date: Sat, 2 May 2020 18:55:58 +1000 Subject: [PATCH 26/41] rad collectors now announce when empty --- code/modules/power/singularity/collector.dm | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/code/modules/power/singularity/collector.dm b/code/modules/power/singularity/collector.dm index 2e6ec57f77..68a6b34216 100644 --- a/code/modules/power/singularity/collector.dm +++ b/code/modules/power/singularity/collector.dm @@ -28,11 +28,19 @@ var/bitcoinproduction_drain = 0.15 var/bitcoinmining = FALSE rad_insulation = RAD_EXTREME_INSULATION + var/obj/item/radio/Radio /obj/machinery/power/rad_collector/anchored anchored = TRUE +/obj/machinery/power/rad_collector/Initialize() + . = ..() + Radio = new /obj/item/radio(src) + Radio.listening = 0 + Radio.set_frequency(FREQ_ENGINEERING) + /obj/machinery/power/rad_collector/Destroy() + QDEL_NULL(Radio) return ..() /obj/machinery/power/rad_collector/process() @@ -42,6 +50,7 @@ if(!loaded_tank.air_contents.gases[/datum/gas/plasma]) investigate_log("out of fuel.", INVESTIGATE_SINGULO) playsound(src, 'sound/machines/ding.ogg', 50, 1) + Radio.talk_into(src, "Insufficient plasma in [get_area(src)] [src], ejecting \the [loaded_tank].", FREQ_ENGINEERING) eject() else var/gasdrained = min(powerproduction_drain*drainratio,loaded_tank.air_contents.gases[/datum/gas/plasma]) @@ -55,6 +64,7 @@ else if(is_station_level(z) && SSresearch.science_tech) if(!loaded_tank.air_contents.gases[/datum/gas/tritium] || !loaded_tank.air_contents.gases[/datum/gas/oxygen]) playsound(src, 'sound/machines/ding.ogg', 50, 1) + Radio.talk_into(src, "Insufficient oxygen and tritium in [get_area(src)] [src] to produce research points, ejecting \the [loaded_tank].", FREQ_ENGINEERING) eject() else var/gasdrained = bitcoinproduction_drain*drainratio From c1d1e4f0c0efb76752b86fa60fe615f226cd8cda Mon Sep 17 00:00:00 2001 From: Putnam3145 Date: Sat, 2 May 2020 05:53:17 -0700 Subject: [PATCH 27/41] Properly closes some bold tags. (#12088) * Fixes some unmatched s * remember to ctrl+s --- code/__HELPERS/roundend.dm | 2 +- code/modules/antagonists/_common/antag_team.dm | 2 +- code/modules/antagonists/brother/brother.dm | 2 +- code/modules/antagonists/changeling/changeling.dm | 2 +- code/modules/antagonists/cult/cult.dm | 2 +- code/modules/antagonists/disease/disease_datum.dm | 2 +- code/modules/antagonists/traitor/datum_traitor.dm | 2 +- code/modules/antagonists/wizard/wizard.dm | 2 +- 8 files changed, 8 insertions(+), 8 deletions(-) diff --git a/code/__HELPERS/roundend.dm b/code/__HELPERS/roundend.dm index 7cbfbd040a..aa388d7413 100644 --- a/code/__HELPERS/roundend.dm +++ b/code/__HELPERS/roundend.dm @@ -563,7 +563,7 @@ if(objective.completable) var/completion = objective.check_completion() if(completion >= 1) - objective_parts += "Objective #[count]: [objective.explanation_text] Success!" + objective_parts += "Objective #[count]: [objective.explanation_text] Success!" else if(completion <= 0) objective_parts += "Objective #[count]: [objective.explanation_text] Fail." else diff --git a/code/modules/antagonists/_common/antag_team.dm b/code/modules/antagonists/_common/antag_team.dm index 653853cfb5..9d138ed0b9 100644 --- a/code/modules/antagonists/_common/antag_team.dm +++ b/code/modules/antagonists/_common/antag_team.dm @@ -42,7 +42,7 @@ if(objective.completable) var/completion = objective.check_completion() if(completion >= 1) - report += "Objective #[objective_count]: [objective.explanation_text] Success!" + report += "Objective #[objective_count]: [objective.explanation_text] Success!" else if(completion <= 0) report += "Objective #[objective_count]: [objective.explanation_text] Fail." win = FALSE diff --git a/code/modules/antagonists/brother/brother.dm b/code/modules/antagonists/brother/brother.dm index a48e080a89..0a2e079921 100644 --- a/code/modules/antagonists/brother/brother.dm +++ b/code/modules/antagonists/brother/brother.dm @@ -111,7 +111,7 @@ if(objective.completable) var/completion = objective.check_completion() if(completion >= 1) - parts += "Objective #[objective_count]: [objective.explanation_text] Success!" + parts += "Objective #[objective_count]: [objective.explanation_text] Success!" else if(completion <= 0) parts += "Objective #[objective_count]: [objective.explanation_text] Fail." win = FALSE diff --git a/code/modules/antagonists/changeling/changeling.dm b/code/modules/antagonists/changeling/changeling.dm index 336d21c974..9dbcaf7ec2 100644 --- a/code/modules/antagonists/changeling/changeling.dm +++ b/code/modules/antagonists/changeling/changeling.dm @@ -563,7 +563,7 @@ if(objective.completable) var/completion = objective.check_completion() if(completion >= 1) - parts += "Objective #[count]: [objective.explanation_text] Success!" + parts += "Objective #[count]: [objective.explanation_text] Success!" else if(completion <= 0) parts += "Objective #[count]: [objective.explanation_text] Fail." changelingwin = FALSE diff --git a/code/modules/antagonists/cult/cult.dm b/code/modules/antagonists/cult/cult.dm index 023794182a..ae61b2c814 100644 --- a/code/modules/antagonists/cult/cult.dm +++ b/code/modules/antagonists/cult/cult.dm @@ -441,7 +441,7 @@ if(objective.completable) var/completion = objective.check_completion() if(completion >= 1) - parts += "Objective #[count]: [objective.explanation_text] Success!" + parts += "Objective #[count]: [objective.explanation_text] Success!" else if(completion <= 0) parts += "Objective #[count]: [objective.explanation_text] Fail." else diff --git a/code/modules/antagonists/disease/disease_datum.dm b/code/modules/antagonists/disease/disease_datum.dm index c827179006..7de0330ad6 100644 --- a/code/modules/antagonists/disease/disease_datum.dm +++ b/code/modules/antagonists/disease/disease_datum.dm @@ -55,7 +55,7 @@ if(objective.completable) var/completion = objective.check_completion() if(completion >= 1) - result += "Objective #[count]: [objective.explanation_text] Success!" + result += "Objective #[count]: [objective.explanation_text] Success!" else if(completion <= 0) result += "Objective #[count]: [objective.explanation_text] Fail." win = FALSE diff --git a/code/modules/antagonists/traitor/datum_traitor.dm b/code/modules/antagonists/traitor/datum_traitor.dm index df5e6004ba..1d30cdbf77 100644 --- a/code/modules/antagonists/traitor/datum_traitor.dm +++ b/code/modules/antagonists/traitor/datum_traitor.dm @@ -239,7 +239,7 @@ if(objective.completable) var/completion = objective.check_completion() if(completion >= 1) - objectives_text += "
Objective #[count]: [objective.explanation_text] Success!" + objectives_text += "
Objective #[count]: [objective.explanation_text] Success!" else if(completion <= 0) objectives_text += "
Objective #[count]: [objective.explanation_text] Fail." traitorwin = FALSE diff --git a/code/modules/antagonists/wizard/wizard.dm b/code/modules/antagonists/wizard/wizard.dm index 2d32f8f00a..70adafd3fb 100644 --- a/code/modules/antagonists/wizard/wizard.dm +++ b/code/modules/antagonists/wizard/wizard.dm @@ -269,7 +269,7 @@ if(objective.completable) var/completion = objective.check_completion() if(completion >= 1) - parts += "Objective #[count]: [objective.explanation_text] Success!" + parts += "Objective #[count]: [objective.explanation_text] Success!" else if(completion <= 0) parts += "Objective #[count]: [objective.explanation_text] Fail." wizardwin = FALSE From c38c1755cd84f75e245ea24665f0a585b6944f80 Mon Sep 17 00:00:00 2001 From: Ghommie <42542238+Ghommie@users.noreply.github.com> Date: Sat, 2 May 2020 19:05:41 +0200 Subject: [PATCH 28/41] Done, tested, too many options. --- code/__DEFINES/misc.dm | 7 ++ code/datums/elements/scavenging.dm | 101 ++++++++++++++++------ code/game/objects/structures/loot_pile.dm | 74 ++++++++-------- 3 files changed, 120 insertions(+), 62 deletions(-) diff --git a/code/__DEFINES/misc.dm b/code/__DEFINES/misc.dm index 9febca663d..4cc269cefe 100644 --- a/code/__DEFINES/misc.dm +++ b/code/__DEFINES/misc.dm @@ -530,3 +530,10 @@ GLOBAL_LIST_INIT(pda_reskins, list(PDA_SKIN_CLASSIC = 'icons/obj/pda.dmi', PDA_S #define SCAVENGING_SPAWN_MOUSE "spawn_mouse" #define SCAVENGING_SPAWN_MICE "spawn_mice" #define SCAVENGING_SPAWN_TOM "spawn_tom_the_mouse" + +//Scavenging element defines for ckey/mind restrictions. +#define NO_LOOT_RESTRICTION 0 +#define LOOT_RESTRICTION_MIND 1 +#define LOOT_RESTRICTION_CKEY 2 +#define LOOT_RESTRICTION_MIND_PILE 3 //limited to the current pile. +#define LOOT_RESTRICTION_CKEY_PILE 4 //Idem diff --git a/code/datums/elements/scavenging.dm b/code/datums/elements/scavenging.dm index c34fd8f430..1993005be7 100644 --- a/code/datums/elements/scavenging.dm +++ b/code/datums/elements/scavenging.dm @@ -16,13 +16,17 @@ var/can_use_hands = TRUE //bare handed scavenge time multiplier. If set to zero, only tools are usable. var/list/tool_types //which tool types the player can use instead of scavenging by hand, associated value is their speed. var/del_atom_on_depletion = FALSE //Will the atom be deleted when there is no loot left? - var/list/search_texts = list("searches through ", "search through ", "You hear rummaging...") + var/list/search_texts = list("starts searching through", "start searching through", "You hear rummaging...") + var/loot_restriction = NO_LOOT_RESTRICTION + var/maximum_loot_per_player = 1 //only relevant if there is a restriction. + var/list/scavenger_restriction_list //used for restrictions. var/mean_loot_weight = 0 var/list/progress_per_atom = list() //seconds of ditched progress per atom, used to resume the work instead of starting over. var/static/list/players_busy_scavenging = list() //players already busy scavenging. -/datum/element/scavenging/Attach(atom/target, amount = 5, list/loot, list/unique, time = 10 SECONDS, hands = TRUE, list/tools, list/texts, del_deplete = FALSE) +/datum/element/scavenging/Attach(atom/target, amount = 5, list/loot, list/unique, time = 12 SECONDS, hands = TRUE, list/tools, list/texts, \ + del_deplete = FALSE, restriction = NO_LOOT_RESTRICTION, max_per_player = 1) . = ..() if(. == ELEMENT_INCOMPATIBLE || !length(loot) || !amount || !istype(target) || isarea(target)) return ELEMENT_INCOMPATIBLE @@ -40,6 +44,8 @@ if(texts) search_texts = texts del_atom_on_depletion = del_deplete + loot_restriction = restriction + maximum_loot_per_player = max_per_player if(can_use_hands) RegisterSignal(target, list(COMSIG_ATOM_ATTACK_HAND, COMSIG_ATOM_ATTACK_PAW), .proc/scavenge_barehanded) if(tool_types) @@ -50,25 +56,25 @@ . = ..() loot_left_per_atom -= target progress_per_atom -= target + if(maximum_loot_per_player == LOOT_RESTRICTION_MIND_PILE || maximum_loot_per_player == LOOT_RESTRICTION_CKEY_PILE) + maximum_loot_per_player -= target UnregisterSignal(target, list(COMSIG_ATOM_ATTACK_HAND, COMSIG_PARENT_ATTACKBY, COMSIG_PARENT_EXAMINE)) /datum/element/scavenging/proc/on_examine(atom/source, mob/user, list/examine_list) - var/text - var/methods = tool_types + var/methods = tool_types.Copy() if(can_use_hands) - if(!length(methods)) - methods = list("bare handed") - else - methods += "simply bare handed" - text = english_list(methods, "", " or ") - . += "Looks like [source.p_they()] can be scavenged[length(tool_types) ? " with either a" : ""] [text]" + methods += list("bare handed") + if(!length(methods)) + return + var/text = english_list(methods, "", " or ") + examine_list += "Looks like [source.p_they()] can be scavenged [length(tool_types) ? "with" : ""][length(methods == 1) ? "" : "either "][length(tool_types) ? "a " : ""][text]" /datum/element/scavenging/proc/scavenge_barehanded(atom/source, mob/user) scavenge(source, user, 1) return COMPONENT_NO_ATTACK_HAND /datum/element/scavenging/proc/scavenge_tool(atom/source, obj/item/I, mob/user, params) - if(user.a_intent == INTENT_HARM) //Robust trash disposal techniques! + if(user.a_intent == INTENT_HARM || !I.tool_behaviour) //Robust trash disposal techniques! return var/speed_multi = tool_types[I.tool_behaviour] if(!speed_multi) @@ -76,7 +82,10 @@ scavenge(source, user, speed_multi) return COMPONENT_NO_AFTERATTACK +/// This proc has to be asynced (cough cough, do_after) in order to return the comsig values in time to stop the attack chain. /datum/element/scavenging/proc/scavenge(atom/source, mob/user, speed_multi = 1) + set waitfor = FALSE + if(players_busy_scavenging[user]) return players_busy_scavenging[user] = TRUE @@ -84,37 +93,58 @@ var/len_messages = length(search_texts) var/msg_first_person if(len_messages >= 2) - msg_first_person = "You [progress_done ? "resume a ditched task and " : ""][search_texts[2]] [src]." + msg_first_person = "You [progress_done ? ", resume a ditched task and " : ""][search_texts[2]] [source]." var/msg_blind if(len_messages >= 3) msg_blind = "[search_texts[3]]" - user.visible_message("[user] [search_texts[1]] [src].", msg_first_person, msg_blind) - if(do_after(user, scavenge_time, TRUE, source, TRUE, CALLBACK(src, .proc/set_progress, source, world.time), resume_time = progress_done)) + user.visible_message("[user] [search_texts[1]] [source].", msg_first_person, msg_blind) + if(do_after(user, scavenge_time * speed_multi, TRUE, source, TRUE, CALLBACK(src, .proc/set_progress, source, world.time), resume_time = progress_done * speed_multi)) spawn_loot(source, user) players_busy_scavenging -= user - progress_per_atom -= source /datum/element/scavenging/proc/set_progress(atom/source, start_time) progress_per_atom[source] = world.time - start_time + return TRUE /datum/element/scavenging/proc/spawn_loot(atom/source, mob/user) + progress_per_atom -= source + var/loot = pickweight(loot_table) var/special = TRUE var/free = FALSE if(!loot_left_per_atom[source]) - to_chat(user, "Looks likes there is nothing worth of interest left in [src] anymore, further attempts would be futile.") + to_chat(user, "Looks likes there is nothing worth of interest left in [source], what a shame...") return + + var/num_times = 0 + switch(loot_restriction) + if(LOOT_RESTRICTION_MIND) + num_times = LAZYACCESS(scavenger_restriction_list, user.mind) + if(LOOT_RESTRICTION_CKEY) + num_times = LAZYACCESS(scavenger_restriction_list, user.ckey) + if(LOOT_RESTRICTION_MIND_PILE) + var/list/L = LAZYACCESS(scavenger_restriction_list, source) + if(L) + num_times = LAZYACCESS(L, user.mind) + if(LOOT_RESTRICTION_CKEY_PILE) + var/list/L = LAZYACCESS(scavenger_restriction_list, source) + if(L) + num_times = LAZYACCESS(L, user.ckey) + if(num_times >= maximum_loot_per_player) + to_chat(user, "You can't find anything else vaguely useful in [source]. Another set of eyes might, however.") + return + switch(loot) // TODO: datumize these out. if(SCAVENGING_FOUND_NOTHING) to_chat(user, "You found nothing, better luck next time.") free = TRUE //doesn't consume the loot pile. if(SCAVENGING_SPAWN_MOUSE) var/nasty_rodent = pick("mouse", "rodent", "squeaky critter", "stupid pest", "annoying cable chewer", "nasty, ugly, evil, disease-ridden rodent") - to_chat(user, "You found something in [src]... no wait, that's just another [nasty_rodent].") + to_chat(user, "You found something in [source]... no wait, that's just another [nasty_rodent].") new /mob/living/simple_animal/mouse(source.loc) if(SCAVENGING_SPAWN_MICE) user.visible_message("A small gang of mice emerges from [source].", \ - "You found something in [src]... no wait, that's just another- no wait, that's a lot of damn mice.") + "You found something in [source]... no wait, that's just another- no wait, that's a lot of damn mice.") for(var/i in 1 to rand(4, 6)) new /mob/living/simple_animal/mouse(source.loc) if(SCAVENGING_SPAWN_TOM) @@ -122,7 +152,7 @@ to_chat(user, "You found nothing, better luck next time.") free = TRUE else - to_chat(user, "You found something in [src]... no wait, that's Tom, the mouse! What is he doing here?") + to_chat(user, "You found something in [source]... no wait, that's Tom, the mouse! What is he doing here?") new /mob/living/simple_animal/mouse/brown/Tom(source.loc) else special = FALSE @@ -145,7 +175,7 @@ rarity_append = ". Nice." if(20 to 50) rarity_append = ". Not bad." - to_chat(user, "You found something in [src]... it's \a [A][rarity_append]") + to_chat(user, "You found something in [source]... it's \a [A][rarity_append]") if(unique_loot[loot]) var/loot_left = --unique_loot[loot] @@ -157,8 +187,29 @@ mean_loot_weight += loot_table[A] mean_loot_weight /= length(loot_table) - if(!free) - --loot_left_per_atom[source] - if(del_atom_on_depletion && !loot_left_per_atom[source]) - source.visible_message("[src] has been looted clean.") - qdel(source) + if(free) + return + + --loot_left_per_atom[source] + if(del_atom_on_depletion && !loot_left_per_atom[source]) + source.visible_message("[source] has been looted clean.") + qdel(source) + return + + if(!loot_restriction) + return + + LAZYINITLIST(scavenger_restriction_list) + switch(loot_restriction) + if(LOOT_RESTRICTION_MIND) + scavenger_restriction_list[user.mind]++ + if(LOOT_RESTRICTION_CKEY) + scavenger_restriction_list[user.ckey]++ + if(LOOT_RESTRICTION_MIND_PILE) + LAZYINITLIST(scavenger_restriction_list[source]) + var/list/L = scavenger_restriction_list[source] + L[user.mind]++ + if(LOOT_RESTRICTION_CKEY_PILE) + LAZYINITLIST(scavenger_restriction_list[source]) + var/list/L = scavenger_restriction_list[source] + L[user.ckey]++ diff --git a/code/game/objects/structures/loot_pile.dm b/code/game/objects/structures/loot_pile.dm index 0886c1c8b7..bbcfacd9c1 100644 --- a/code/game/objects/structures/loot_pile.dm +++ b/code/game/objects/structures/loot_pile.dm @@ -6,6 +6,7 @@ name = "pile of junk" desc = "Lots of junk lying around. They say one man's trash is another man's treasure." icon = 'icons/obj/loot_piles.dmi' + icon_state = "randompile" density = FALSE anchored = TRUE var/loot_amount = 5 @@ -14,43 +15,20 @@ var/scavenge_time = 12 SECONDS var/allowed_tools = list(TOOL_SHOVEL = 0.6) //list of tool_behaviours with associated speed multipliers (lower is better) var/icon_states_to_use = list("junk_pile1", "junk_pile2", "junk_pile3", "junk_pile4", "junk_pile5") - var/list/loot = list( - SCAVENGING_FOUND_NOTHING = 50, - SCAVENGING_SPAWN_MOUSE = 10, - SCAVENGING_SPAWN_MICE = 5, - SCAVENGING_SPAWN_TOM = 1, - /obj/item/flashlight/flare = 10, - /obj/item/flashlight/glowstick = 10, - /obj/item/flashlight/glowstick/blue = 10, - /obj/item/flashlight/glowstick/orange = 10, - /obj/item/flashlight/glowstick/red = 10, - /obj/item/flashlight/glowstick/yellow = 10, - /obj/item/clothing/mask/gas = 5, - /obj/item/clothing/mask/breath = 10, - /obj/item/storage/box = 10, - /obj/item/clothing/shoes/galoshes = 2, - /obj/item/clothing/shoes/sneakers/black = 10, - /obj/item/clothing/gloves/color/fyellow = 5, - /obj/item/clothing/gloves/color/yellow = 2, - /obj/item/clothing/glasses/sunglasses = 3, - /obj/item/clothing/glasses/meson = 3, - /obj/item/clothing/glasses/welding = 3, - /obj/item/clothing/head/hardhat = 10, - /obj/item/clothing/head/ushanka = 10, - /obj/item/clothing/head/welding = 5, - /obj/item/clothing/suit/hazardvest = 10, - /obj/item/clothing/under/syndicate/tacticool = 5, - /obj/item/clothing/under/pants/camo = 10, - /obj/item/stack/spacecash/c10 = 20, - /obj/item/stack/spacecash/c20 = 20, - /obj/item/stack/spacecash/c50 = 20, - /obj/item/radio/headset = 10) + var/list/loot /* * Associated values in this list are not weights but numbers of times the kery can be rolled * before being removed from ALL piles with same kind. This is why I wanted 'scavenging' to be an element and not a component. */ - var/list/unique_loot = list(/obj/item/clothing/gloves/color/yellow = 2, SCAVENGING_SPAWN_TOM = 1) + var/list/unique_loot + + /* + * used for restrictions such as "one per mind", "one per ckey". Depending on the setting, these can be either limited to + * the current pile or shared throughout all atoms attached to this element. + */ + var/loot_restriction = NO_LOOT_RESTRICTION + var/maximum_loot_per_player = 1 /obj/structure/loot_pile/Initialize() . = ..() @@ -58,9 +36,31 @@ /obj/structure/loot_pile/ComponentInitialize() . = ..() - AddElement(/datum/element/scavenging, loot_amount, loot, unique_loot, scavenge_time, can_use_hands, allowed_tools, null, delete_on_depletion) + if(loot) + AddElement(/datum/element/scavenging, loot_amount, loot, unique_loot, scavenge_time, can_use_hands, allowed_tools, null, delete_on_depletion, loot_restriction, maximum_loot_per_player) -/obj/structure/loot_pile/infinite - name = "endless pile of junk." - desc = "Lots of awful code lying around. They don't say one coder's trash is another coder's treasure though..." - loot_amount = INFINITY +//uses the maintenance_loot global list, mostly boring stuff and mices. +/obj/structure/loot_pile/maint + name = "trash pile" + desc = "A heap of garbage, but maybe there's something interesting inside?" + density = TRUE + layer = TABLE_LAYER + climbable = TRUE + pass_flags = LETPASSTHROW + loot = list( + SCAVENGING_FOUND_NOTHING = 50, + SCAVENGING_SPAWN_MOUSE = 10, + SCAVENGING_SPAWN_MICE = 5, + SCAVENGING_SPAWN_TOM = 1, + /obj/item/clothing/gloves/color/yellow = 0.5) + unique_loot = list(/obj/item/clothing/gloves/color/yellow = 5, SCAVENGING_SPAWN_TOM = 1) + +/obj/structure/loot_pile/maint/ComponentInitialize() + var/static/safe_maint_items + if(!safe_maint_items) + safe_maint_items = list() + for(var/A in GLOB.maintenance_loot) + if(ispath(A, /obj/item)) + safe_maint_items[A] = GLOB.maintenance_loot[A] + loot += safe_maint_items + return ..() From bdbe6c062e3677ee1234df37354dd37ad6a992fd Mon Sep 17 00:00:00 2001 From: Ghom <42542238+Ghommie@users.noreply.github.com> Date: Sat, 2 May 2020 19:11:30 +0200 Subject: [PATCH 29/41] Fixing a cargo exploit --- code/modules/cargo/order.dm | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/code/modules/cargo/order.dm b/code/modules/cargo/order.dm index b78f218348..13e223bca3 100644 --- a/code/modules/cargo/order.dm +++ b/code/modules/cargo/order.dm @@ -66,12 +66,9 @@ P.info += "Item: [pack.name]
" P.info += "Contents:
" P.info += "

    " - for(var/atom/movable/AM in C.contents - P) - if((P.errors & MANIFEST_ERROR_CONTENTS)) - if(prob(50)) - P.info += "
  • [AM.name]
  • " - else - continue + for(var/atom/movable/AM in C.contents - P - C.lockerelectronics) + if((P.errors & MANIFEST_ERROR_CONTENTS) && prob(50)) + continue P.info += "
  • [AM.name]
  • " P.info += "
" P.info += "

Stamp below to confirm receipt of goods:

" From 7ae2615f519ad3ce2fffa8264d6351e955ee94f9 Mon Sep 17 00:00:00 2001 From: Ghommie <42542238+Ghommie@users.noreply.github.com> Date: Sat, 2 May 2020 19:13:21 +0200 Subject: [PATCH 30/41] Whops. --- code/game/objects/structures/loot_pile.dm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/code/game/objects/structures/loot_pile.dm b/code/game/objects/structures/loot_pile.dm index bbcfacd9c1..b6249ec1e4 100644 --- a/code/game/objects/structures/loot_pile.dm +++ b/code/game/objects/structures/loot_pile.dm @@ -60,7 +60,7 @@ if(!safe_maint_items) safe_maint_items = list() for(var/A in GLOB.maintenance_loot) - if(ispath(A, /obj/item)) - safe_maint_items[A] = GLOB.maintenance_loot[A] + if(ispath(A, /obj/item)) + safe_maint_items[A] = GLOB.maintenance_loot[A] loot += safe_maint_items return ..() From 592198d6598d76ff7be6e1b2cc430fe2397b782b Mon Sep 17 00:00:00 2001 From: Ghommie <42542238+Ghommie@users.noreply.github.com> Date: Sat, 2 May 2020 20:01:54 +0200 Subject: [PATCH 31/41] Makes privates not spew around upon disembowelment or gibbing. --- code/__DEFINES/obj_flags.dm | 1 + code/modules/mob/living/carbon/carbon.dm | 11 +++++++++-- code/modules/mob/living/carbon/death.dm | 8 ++------ code/modules/surgery/bodyparts/dismemberment.dm | 3 +-- code/modules/surgery/organs/augments_arms.dm | 1 + code/modules/surgery/organs/organ_internal.dm | 2 +- modular_citadel/code/modules/arousal/genitals.dm | 1 + 7 files changed, 16 insertions(+), 11 deletions(-) diff --git a/code/__DEFINES/obj_flags.dm b/code/__DEFINES/obj_flags.dm index d78de86d25..8284f66f50 100644 --- a/code/__DEFINES/obj_flags.dm +++ b/code/__DEFINES/obj_flags.dm @@ -52,3 +52,4 @@ #define ORGAN_EXTERNAL (1<<3) //Was this organ implanted/inserted/etc, if true will not be removed during species change. #define ORGAN_VITAL (1<<4) //Currently only the brain #define ORGAN_NO_SPOIL (1<<5) //Do not spoil under any circumstances +#define ORGAN_NO_DISMEMBERMENT (1<<6) //Immune to disembowelment. diff --git a/code/modules/mob/living/carbon/carbon.dm b/code/modules/mob/living/carbon/carbon.dm index cef445113b..69c81229a7 100644 --- a/code/modules/mob/living/carbon/carbon.dm +++ b/code/modules/mob/living/carbon/carbon.dm @@ -540,10 +540,16 @@ return 1 /mob/living/carbon/proc/spew_organ(power = 5, amt = 1) + var/list/spillable_organs = list() + for(var/A in internal_organs) + var/obj/item/organ/O = A + if(!(O.organ_flags & ORGAN_NO_DISMEMBERMENT)) + spillable_organs += O for(var/i in 1 to amt) - if(!internal_organs.len) + if(!spillable_organs.len) break //Guess we're out of organs! - var/obj/item/organ/guts = pick(internal_organs) + var/obj/item/organ/guts = pick(spillable_organs) + spillable_organs -= guts var/turf/T = get_turf(src) guts.Remove() guts.forceMove(T) @@ -551,6 +557,7 @@ guts.throw_at(throw_target, power, 4, src) + /mob/living/carbon/fully_replace_character_name(oldname,newname) ..() if(dna) diff --git a/code/modules/mob/living/carbon/death.dm b/code/modules/mob/living/carbon/death.dm index 28e0f2028d..60fa395319 100644 --- a/code/modules/mob/living/carbon/death.dm +++ b/code/modules/mob/living/carbon/death.dm @@ -41,18 +41,14 @@ if(no_brain && istype(O, /obj/item/organ/brain)) qdel(O) //so the brain isn't transfered to the head when the head drops. continue - var/org_zone = check_zone(O.zone) //both groin and chest organs. - if(org_zone == BODY_ZONE_CHEST) + if(!(O.organ_flags & ORGAN_NO_DISMEMBERMENT) && check_zone(O.zone) == BODY_ZONE_CHEST) O.Remove() O.forceMove(Tsec) O.throw_at(get_edge_target_turf(src,pick(GLOB.alldirs)),rand(1,3),5) else for(var/X in internal_organs) var/obj/item/organ/I = X - if(no_brain && istype(I, /obj/item/organ/brain)) - qdel(I) - continue - if(no_organs && !istype(I, /obj/item/organ/brain)) + if(I.organ_flags & ORGAN_NO_DISMEMBERMENT || (no_brain && istype(I, /obj/item/organ/brain)) || (no_organs && !istype(I, /obj/item/organ/brain))) qdel(I) continue I.Remove() diff --git a/code/modules/surgery/bodyparts/dismemberment.dm b/code/modules/surgery/bodyparts/dismemberment.dm index 66bca919c4..f2db06ac2d 100644 --- a/code/modules/surgery/bodyparts/dismemberment.dm +++ b/code/modules/surgery/bodyparts/dismemberment.dm @@ -60,8 +60,7 @@ playsound(get_turf(C), 'sound/misc/splort.ogg', 80, 1) for(var/X in C.internal_organs) var/obj/item/organ/O = X - var/org_zone = check_zone(O.zone) - if(org_zone != BODY_ZONE_CHEST) + if(O.organ_flags & ORGAN_NO_DISMEMBERMENT || check_zone(O.zone) != BODY_ZONE_CHEST) continue O.Remove() O.forceMove(T) diff --git a/code/modules/surgery/organs/augments_arms.dm b/code/modules/surgery/organs/augments_arms.dm index e01059204c..b7dfa3eb88 100644 --- a/code/modules/surgery/organs/augments_arms.dm +++ b/code/modules/surgery/organs/augments_arms.dm @@ -2,6 +2,7 @@ name = "arm-mounted implant" desc = "You shouldn't see this! Adminhelp and report this as an issue on github!" zone = BODY_ZONE_R_ARM + organ_flags = ORGAN_SYNTHETIC icon_state = "implant-toolkit" w_class = WEIGHT_CLASS_NORMAL actions_types = list(/datum/action/item_action/organ_action/toggle) diff --git a/code/modules/surgery/organs/organ_internal.dm b/code/modules/surgery/organs/organ_internal.dm index 534261f63d..761ebc17a2 100644 --- a/code/modules/surgery/organs/organ_internal.dm +++ b/code/modules/surgery/organs/organ_internal.dm @@ -8,7 +8,7 @@ var/zone = BODY_ZONE_CHEST var/slot // DO NOT add slots with matching names to different zones - it will break internal_organs_slot list! - var/organ_flags = 0 + var/organ_flags = NONE var/maxHealth = STANDARD_ORGAN_THRESHOLD var/damage = 0 //total damage this organ has sustained ///Healing factor and decay factor function on % of maxhealth, and do not work by applying a static number per tick diff --git a/modular_citadel/code/modules/arousal/genitals.dm b/modular_citadel/code/modules/arousal/genitals.dm index 69d2c791e7..a7b39f1706 100644 --- a/modular_citadel/code/modules/arousal/genitals.dm +++ b/modular_citadel/code/modules/arousal/genitals.dm @@ -1,6 +1,7 @@ /obj/item/organ/genital color = "#fcccb3" w_class = WEIGHT_CLASS_SMALL + organ_flags = ORGAN_NO_DISMEMBERMENT var/shape var/sensitivity = 1 // wow if this were ever used that'd be cool but it's not but i'm keeping it for my unshit code var/genital_flags //see citadel_defines.dm From c1436c4c7b3b840adb2d8f3b6444eabd8a2fdc38 Mon Sep 17 00:00:00 2001 From: kevinz000 <2003111+kevinz000@users.noreply.github.com> Date: Sat, 2 May 2020 18:34:33 -0700 Subject: [PATCH 32/41] Maptick lag minimization port (#12066) * extools.dll * backend * queued pipenet builds * oh yeah we don't have that * wow * Update air.dm --- byond-extools.dll | Bin 0 -> 844288 bytes code/__DEFINES/_tick.dm | 23 ++++++++++-- code/__DEFINES/subsystems.dm | 11 +++++- code/_globalvars/misc.dm | 2 + code/controllers/master.dm | 35 ++++++++++++------ code/controllers/subsystem/air.dm | 32 ++++++++++------ code/game/world.dm | 2 + .../atmospherics/machinery/atmosmachinery.dm | 1 + .../components/binary_devices/circulator.dm | 2 +- .../machinery/components/components_base.dm | 2 +- .../components/unary_devices/cryo.dm | 2 +- .../components/unary_devices/thermomachine.dm | 2 +- .../machinery/pipes/layermanifold.dm | 2 +- .../atmospherics/machinery/pipes/pipes.dm | 2 +- .../machinery/portable/canister.dm | 7 +--- .../atmospherics/machinery/portable/pump.dm | 2 +- code/modules/shuttle/on_move.dm | 2 +- 17 files changed, 87 insertions(+), 42 deletions(-) create mode 100644 byond-extools.dll diff --git a/byond-extools.dll b/byond-extools.dll new file mode 100644 index 0000000000000000000000000000000000000000..a83ea1e5434afd04f1f7d9d5b03a6a48fd729de7 GIT binary patch literal 844288 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
wZ_q;$GfG9ywt12R&i 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
4aVnAe4fVV zLwt@Qd@DX7JP)`a!F3xxEAR>8a{{0Ao(Zn0_&kPB4L(Qk>64b=nuw2v&%5~ifKSg0 z6I@03`0-hf&v*Eo(<{Ms13qQ=yn@eH_;kAnb--sHK7Ye!KR%s$C%CS|=RSP)4M6>_ zME&r&7oX?x`3v5Eg3nFq39h6*39g~|e4LTs>WklZ;dwY{@GQP};S+Z;>UIU{hEE8e zL5O!JKF{GZ5Mf???nV5W2zwUK>7dbbpxf^+N1gFmjr@1u_eThuj<6N@Bwdo=8ivn( z`1D1bsrVd2-Y?*H3!Voctpwnf;oW|`y9Uqq;&Y^5g3E>WnupI?e7?e``=y`>KIQn- zApUxMe~(X3#2t^1hR-H^K1RLmDCbF(#S#~9wIu}PUt*H|tPUL=ojN;Rfj}2}*EP^B z`RwjJ@RV}Sx#!_4_52HZrUfqSby4p=7hlr%(thdvFT4DTi~&~;9CX#ygNF^T#%mK?dS@}B4x#L{ zCCNJlGiX~~q1PUSO4OKSvGjoC7q=p1@@8#tPQr==G_Jy2RI5^uvyCiE(xxVLCO zT@&t)M8nMMLtKqPQV&y7l;OtDLLp={4jFm)#-5`y)r-=_q+rqac=+btSTRE;N)>vW zQZ3vYPV$}ExZk!u6`61XKVuCo6F{1r0F`R2xF}Mp!=E!=EC%rKXUGNx`cExbCp=oF zAsHd?qr~N%0kR?=NhGC&7OQhs^Z@Fzo)FT^E@;zNRu#gG#q;(d+#J?8T+D=*ELeO> z5O`IZCZo$B8BI(;BY8+WWbMaDLe*wD{8c+hM+GYGx=)aDThL9b0%+sy!RDyN7>z6b z)fTb`E_)HtOgsR$!0N^$0>tMZpgEuq2kI1)Ivn14#QXFTp6&{(^{o?O?d(6dQC+C> zq2-Lx$znW+q)#BXL}8V=82z<2nkp%%F*H@)#6kk4h4Q1hoK#4pWEGw7jkXnP*OO}3 z=t58;ZYEIk6^Y64fl0k*r^wz%?X+C%y9Z^HS0|w`b0*EbKcdM|j4Na@OkRF)rG#}# zE<~8rT|%pewo?A&6(YggVry>@-8~O^?-FnB#bt?CfcOxINY{YYVimQ94&4#jU`HL- zSj07e80?<~Jrt{1bZqVy(zJEBy?4ZPh=DS?DZ&Wuq-$`=;q2JUdgvo-#NPW=>M`yYVNq;jKCJ+@;?^Q!&x+)f=%x2<`P%0`&gmk`=^UBUV9vsge*Fs;&T{l) zAIYL0)$64BN>~)9)Ns%7=LJye&2u5tqVH0Q{jAoT7}n~|YkSR6tS8ZG!X73c)aXIJ z=x}f@siZe%@;yur)P#Kmt^-=>-znU0T00E##_$B!gZQqvCc$;pP{=1>=X>!k2j8$! zkR<=&tyav+35kjHGpbyNiAL%_P1+XGfATlZk4`RT<+`c34b>aAvOH)y^hK(&;pRI) z$L=6?*=11dXTw2c>;!`_PJ97tJb2dJ$!J5EZ)pT>H#c+^(YJr)YAoXfX zFdu7E`l6P!KrL{{aIlZ-oR2^#x6s|e=bwe58x+!-ibB3}ZLnb*pur;{6z#>lPPk#^ zu0VgK+XFUoeEwOIO|{=S(XmH>k8CaQmFub}lH_19dN;4iPu zfnSp9h(nwi%H?xY^z9{Vh-}TlC%jZSgqfML~PR9`g`>x5eq+ zt#9*xVDD{rj@YKx`0HHd-`HSuLCYHkY;+DFem$P}|5WWwMVY$oJ@G93;W zMa_CnGl#mGnV$Hi=-K6{o+D(CaDY7Yi-LqUqRXKeb=e)bh;uA&Sez_vX}+G9rsD== z=~;SShVHWNZs?%HY1-&iJa^Gyh`^FwzxX5_(a!0r7sT?22(5XMKAP^~bm1H67r0N~R5Z(}2f~(d&dDE{m7cQ!`dF-BlFO zeZb>--WnOShKY_}is%DYM^Q|4g#ytBJWlIbs%)9F*jPDcJ6}0vcy4Sq3kFbvZEx0`^l9D^t>in-X>Yzrbu}kfs;W8WqA*V zJIR0pt;+l3d@k=Xw>_@3V~Ka7c;`{s(rs@>n(p*~zo3hW6__0qc0{pQsIca%V$|KK zzQx9UDtqF5BPheCX|bVoOp9HDyXeG^q(`nFJ3TSpDX0}*3(yI{<2 zr&tJ4i|lwrFZClmx_0ljpXPQvuDL>d+=xX51V6rckUTt=s{#)TJD8XB6UXw0#XAF6 zfqD4LaNVHew3`Q3t6RQ$ewv=5=VOQ&j&lS1OE1aXH}@jr`Vj8-PfVjNjVmGQY8{Ll z;wlrhF+(ET8n_9HAy{{OKQ79jxBsGj{-4w4CT&Usc^WQQ41pqa-P{CY(0L7A_{Sor z|1AVDy2~>rTyu z5^8o-!&ZvIIyg+v4-e@4{+hkvLj2Yz4$*xrxcZ#$NH1)*?o8jUW#BdHf+$F1*qXRf zCuNH=2(s9VSN=L!RT+l#Lw0>k8r4sl#z5UGN2cm$RdyLzjd(XZN7U<^ zNt++(xAOkT{mkkA_MxMP%(ZHx@y?-7O+hEi8-lB^>6_6Q zxHGLyIO-Rc(p$)|Xg4-2+6dz7?&c@4n%UeiQQzV}XdPyCR(yij$F{_k_6XogT;L;T zU@OH7rf-%JFF&>g_7AAb;~p1>ucq*taCm37Z`I9xNO$7`@gZxOqnq2MxsxfUp%aql zJunCNA?M9S)9S&F?&Q+0l$Q5O1W}lRCdN|+T9>xplC>dPfvtgl1hI(6>Nm?qU(--h zW$5_kptN)hLjqYYZq#HcituI1@eo9fanL{~K*nP@Kw-vq)>Xn8X8 z^Lg{R#&h%uy;0*WrOC%O$CW1fVUwx!=3|>>l_%gXhc!q6DICyM)woI37+8u*=6%vy zRT=}rx(nrqturb->A$UT8dn(g#r>qizbs#8Ge$&T{4^JrWCXzai z)x`VG)ANVuDc~nv_58k>(>%_cX&&8`{`t7E4Hq1%vH8;U{6V@44cPW$#=qN6W7zn-@}G9N8&q^{a#l7-nCE8KUX7l}7bFltqF z%sp0k^ym|U&DlVm?C(Hj|2VKv_#@o&0Z5*UOx23yr_r=%ySq*wt^NhzX?j*9q~ zB^2PdO}v9eJ}vEK(xM~Ej!TkF5C+K}6E8dNz_viNMX46Qx*}5>0)0&z0k*!sWbWHc%H`-bRA=}lS^K+`ZCWT)P&V^hzvWg0PE zb9?dq=R&)<+fhmn(0(*D<-h_3*Zta-Z+d*wDj1MhYSsV+zFUc#WC61eP`? zVbg+cXxm{-DFH5ldB@{iZ(6&_J*1KwhvXzE+L`bq`%}}0k^b&)^hVd8=FLsb_YBzp z+9jTN9W<`jCam_K?B@*p0}=pUE}@sZ;8y1WdMJCQ=37_CCS3e1hDCh4I7!IsBwUdAuPz9W|L7;fmAzvVJ3otdH&{j-8Q5m_!?4RHp> zi($3c*4uj&r4ct`f0njh3is+wSlfvc_n!)JOuXTZx4bw2oVobbXpiEs*Y&5%Q5@eh z7#;rF0{_-zTwR^`8*Fa(MWI;i%9F)HsrE*P4{by_yU=ciTVQ(0gIYK^i5xG^C3G-q z8Z&M7@+bzX{Jo#6eE3QHbiTRys`sBwU93%5b*FS@w7Evur7xq+(vMM%aJBlK683BK z_SUHmmj@nd4EHK98|*qhKzjB2evg*Jbjr((6OMmAY@WjQF_bTjgP}IELL6 zy>MmV17}4B%7Y&4uW>{-zwW?lUN3xx8et^%zuw1Y-DR?uCwOh`_VN|j@1$+cyAc-| zqB|a0hYoQn(HU5S?ulZq@rZR`e~@ZRdVwEG({Z%$6(8Wgya>KGyk+DTZ7zb-eL>!{ zjn@iSXZ|?%JQ&V{(FwRGLUYqT?98AoqnG9I1|<0oI^!Z-+^dBrbLWytNZ(i(=ilYb zJbAxOKiQC?*X$PQ^_ko5PkN7HHY8bVGMk+_%|?D4ZyFz;PFuXIT_hyCS80VpD{CyC zGcx4E-Dmw+94un3BC&SDYT5F&wrhLUju;$gQA^i0U0^@Tgf8&iV(tPB=b$4)$j^?X z6iEQ~N}R4jT)Wzdmh?ZMx zbjvuptv07MH!nbu#>*nnF6ib-)aa3EFTBB-)9W6 z=aOlLV#9U;EOefXv%nIsYa9#;e22N4%!@^BFjP^yrEkfsbuLLk;)Y|O{{!b@OrD`d z_b0v0joMq^yjx%;BBR21M144<0|{%ejpod$BP)o7EwsC4MMbazff;9%YfLhVM!9Ql zk~-7(=4ulfv2o)u9O!;6)}0XYTw3ALIWzRZ#bd?1qv#V;9aw|7V0=joL2=1!j@xdn z^}r^Dm`LG;Fo@neY96JS%@_S-H`ufEl#soe66~Of{r|zPq8-ju z{2#;@iGg>3(jQ=yrh<(Wz!;sJpWgOG=BIY=hbk!&0*{$*)+T~3Ft-~OCDB+GqbR&g z*2^5U7<5@{^quhcxf8=~Q8Jcv)FZCr1Fc!>&@9`5Q1&#I#${Jj`%a{9gB1_x*HdV$ zupw8n=J_A;aN5pD`FZu#c8^2ZW8AA>%l3uH^3`Zt`e(<#Pv1p$hQObDTCosoRMv-L z-yIzO(n~LOa8`_ys?NZUID1_p+GANg%{|xg?Fv>TqL*~!UoS(HaL8o^;$Drqu zS-G(M3a4mf%qYunY%#J^w88@@fzXOjX_)Cl5j$tr`)vBh4QCgR!(b*s6p9P}tysVy zxUqOF=EQgDWoNv@(qn9K=zd#~sDrCM6jWC90&ueQ?Z*#CYh*aGYQC~Y_9w=1NB!K$ z<&JuX{yCWigqDjw^$yvOpiy<#RJ%r zz>kpckaz);EceD9Kfo%(q{-;C=lADMi~dLA_yh;8+`BS2m*SpMdR>fvuyB7H5r^Ad zZRK3pcxp3~_^VSgH~VT~#H+YiY=G5S;^pBz8rk1h*2nah-cfnXd>+8gy+;>dgwO&+Cfe{Yap~?D6o)EuCO|VOR^*1`WVfz_B@I;6vA|a=2FJ8j_6d0ju zcW3S{>vlRD$qi=Kly)y4lIFA4TBc=X*7%M9gt!199Jq0aV~j3-%T`EmXNS%UrM2$J)|AJ^p=6 zuFZ3M-xW0HdcICM-B2Jb$VsJcDg=W5g>!au#?k!2U&ic?^q0kr4)B3!muV%!vxhmB z;NE;rp~76%om-(K{oa182X}{a4MbR9YxEN zsEM87C})g)oaHh0abQ~~YK9lGP2uv8Z&i#LUL&ud2*-PTwkrMuqmz(tu$ufW_HH`h zW&!$867M-Kbdf?ZHA0CWd$|H7o6JUsTcD`aNeh(hfY`$!{UV+M!^(-!^diw6F~ z^RTZyb2-M@rR1TeUR#lcAYLH7OY;3L(S_dA0?CdCtd8_u9h;zO z!}uzM?yNJ6pX3PhTsszq((V2K?+I*(mxi7K&3&+}&H%_{Ar*NNtl zkX!P+DGg_NjL|cMb{r+-v6DcuZGXM+jJBeZcmQmNHZM)56X@WWRYb1PxpdLf**43H zKS=0u1zj-(RSLSp)Ri5ID9gGcR1_pxfZu0GGD{{oJY1SRt=nIwN~ut)VMksutBf|K z`~fNi7~$VT$C)a)f|{bIGIF0MNPZSPMR~TIR9$UoDso9>sV5NdAA{ z?tQbvh26OT9lv?Rk=wycI`zf7=$e^+IV(1zTk0FLP#Os*OcOBDFQ|vp5pNJYa1^g0 zC|7hQHHm76)E&W|i$`qbwXP%FXJDOc2C4|^TF`TBnR#~ZIh*pS=h#vj>~yEtLmQc~ z%+tAqx9(#Xac#&;!~%JB=$(VShjAbe6D8jA@U%cOVOYJ1rV!CE4h2^|S(S322rB=!aJ$+Vm1hS9S%*cVuXeSsm^ z7ogKlNDo*w26{zX{f);y@r&ioLvGg)SdPeU=r_BR?Ab$R!Y?hozh^ZuOMc} zqHzDbz#ZE^*O5ug6||vE6eosqi_VxcFqD7G-LJ;k+!-1&#JhsqoAP6^g$2EEe*eHW zWpq4bQGT)G;n#ZJ5}DZ|nVITy=fX#)UT2hHrXGQ!^GrQP*)|N%)D#ezsgr1?rZ?f4 z+N2}Ma#%Cuupr9snJAt{o2!W~Z0wNE4a7GS)tnM&29pT);eZ|Kw(Z75e2NCTc8(DL z`P^7y48(xY*)uL8byD1%FlQkC91JjYn0xP)Bk{i>C3dq2I!Hm+lbofq#G0q^kIeNX zfjO7xwBNr=ys-*jtt2Rl(2fK}uOUJ8dLE&Wpf<{OQS1A51u0YWupkv~o`D}2?v3!* z^A62R+Jrrog=C4cYuFOysnK9|6X5lM97}-zQY^4%u!ZU(-RO&gctnR)9ET{1Wl{`d zYrRa$1U-7+BT3nIpDYC-YL#^B`Qa_H2S%eOJTMB&+0l4MO9rf$puXk6f<|N?NBeGd z#4KiHIMx#>QTu}J=$B-Bjr(R~X3sLu1Ga4`FK6<;Pt*ec9+0ovc@g77>>{4M0xLUv`R*-wSV)b!9(iCq#8kIH(_*4)q%S#foM|^1`n;7qMPjcN zdU}bl1Bq3%#8vZPZ8Jz|TIWqzF=TP1$Nb7vxDtf{b^iy~_Gl{nE&fWph`%Wue?zoh z)OBfJSoPDWwrQJv-HVaJ0+m9vpQ>ZH`w*bI>AUBmWo3J$?1^cQL1$=>^Pf}`xES}f zY>!UfXIiz#;juBql#S31G50btg=knr#QY78T#8Yxzm_OMlIG~I3|At9PsMLTh7trQ zGQ4q4YzGHDpq;duW`n-IRAEM=I1ze_&oO5;azYZdF-&)nX}i(jic?)#RV9?Wi2c^+?)*M z1S55bHrfTB9uwzy^b6qX-uVS4`NE@M8dQL|+HCsS65UfaZ`F<9t-3jPqNZ+g#;GOh zwUfhzE%u0-f5usm4pOVMB1SFl#7(9+;V7aSa-dj|5=$P{Uta$-(q9%gK7*RZbeW0K zF|4tHNqJ`Z%^$&zX!ZR$9w3^b0INQiqQFKk$l(tbC}ySy;UyH)kA?Pv>1beP(9#Qb zgx3r_<}cfTD*&?*9mjubG-C#y5I{eykha*}s>VKJGi#g`H$q-oYN-s&L#$yTXTS#W zKxbd)fn!*?KhXd9zU8L*rhQY#qiYi{YZ$DtZ^Tydw~=Y&I-Lz{M&t*cpk^UY$Pe|j z(r<4`7GC4i`V4FQ321xhRIlTqB$uVkn4TR&ye%xmgC>f%NggH7gjx&5;B9M}w^bvF zc+v04|J9a|JW|>v8dlQyq@AGfV((0=*_ZLVl)NKy;N0>gwh0`dFSD4xgYN^a^b9>QIP|SIhwPvY7 z9j7)c&QfVVd=#XY>w%i+p<;F%TmbO4h<~S(?Y-mlX%j$;8ZOYcarE7X(`#t)Am73X zMhDhmz~LnsQ+<@=-HlWNmu}GVT|?1ix#lHnY&oBdzyml9VgsFP^C)c^jyjVI zCrUh~vNZn6H&z zmF&e!<*lgyBeS9fk{)(| zgomgDr0(5_9yzh}fPC2Fvk3q7H)chdulaleE>@HCedL zs}fIwoWa~l_>ZqCJp6JC@Q6mDH(vP#*^Yi;sYPFOfgNAi#f2s=v;KzfxW)j;(((YOP2R zoqFIhpiDrG-k4|8dWH{)^5h11BIHD=E1ln;3LMOro-FcHp_#FTH8Y59shy@RHO;J= zQKJ<$MPDiHj4euA1NREwtd1yX%$NoR4cGw3=b%SuwBtg08KqM)6TAp29q)WIIMA(9 zgL}3P1MBd=+jr5KU6A>INzaE+)YU38tgP-`Zzy)Y7$T97Y#`zR&N#9 zKK7C9=q|Kh8grJf^jzh^{WsasD=-*XCLbeVYs{^EjPzm!nLf9GTG;F2u50!&0uA{R zmq}FM5sdaCT>#v;CU1-=eG0kfz~R_MkD=M&a50bkYc$RI0g?$V6ezxapCj`=S7~P) z{Ar2)Y=@1tXo;T1#z?z33`OLKUajm8Kkkbe52rn^BZWt(Q0(D0msggc>BJoz=hP3_ z^&1@nKL~dX_a4j?II4DL{#-ggG?>rrLbyl+K}r!GF)0cp6wn`JulXI#l;me7ETo^| z%#Ebk&!#aQ)!jm*um~ymgSO0{eUHM4BaY8T>b1mM<1v6nyJ~GXKW%;3%>(5bBt-lZ zhMm9dY;FT}-%GCvW+!vKvs2_(s{BfmU%lm5U->0RMRtb#HHf~#N9vN^8K1|{dsutp zFYMoNAjbHfV))q+U2#pWylk%p>dwxJ^+*zz?UlpM0{FBNTHztOfdP-52Wj+q#C>p* zt``crVBi#gY)eNB$g=LNbPGCL zjxP$`H>B3R1F|FZ<98s{_#!Cods55G>=t%!s2bbpKH0_>;zh6i5~>>KlfDr3vI8or z^osb~d?DIUNiqMrurI_tqGtd-q>wIw!u=ste$=n{LbO}Xlr@QD4-qR-GB(JF|M zqoHG~d?8kO#I_HWlU_BK(wA(%>HmxN8~fFN*?zCW_4)rV?U(Xf+V8ek(0<+K{h!;f z3T7doaf0*bJz|>w|NHhk@0tI{+xx&rSzU?WGnq*;gn=0}!6>0biHc2Xk${2$O#&0B z8b}NzLcIWca|B7(I`MWEYCRN%cHA z1vNWBdqBk#e>GUnI{K$Yzv|t@ieDQHZFy z|CSw0(a+U~cW{cNS-1iA0?n?-+C#{AV{5zkD_~7rSEDxnRig~16Bbdz7F_O;>Yu&> zOBIm{LhIC4+;Kw9k9i~Cm0VLd>Y1v4IOeRA97|D(T}`efe{G%kRk1a>x*QXkW0 zVJQ-M`8NJ8hcsiL@G0g;+Cbqc8ILTp?=XU!LA zz0EmFOIjc6FKF5?w^)4}Qg^SnrlJ+Q2_ASKpyE|N@;OH(G=Wv4l$7)(Qif`FFp6*e z<$UMALmTo`a3}iaIZt8EDg>KL+@+SL`C_e3M}#bLWc0yU)2ZV(qG8Sz4YO|p>Sf;s z(GIBp49g(4>E3-W$_HJWUi_rBOI3W zZM@%Q?HrxrGV?ZmU4ym0$qAUtycy$XIl~719rt>Sxa3~{CjuX8OzAX1p`$H`CdE_- z)0kE#akZCw?H6b?-eIrM-Vd$z^qU&GN&P;F9-nDLVTvpUTSNRJkww^S@+Py%(C_3L zj-9{^KKwjSt-nMf_;n}z<$hO9%=eTzhZNGQF>gYj)=CM^^w^qA`L^K}SaCB=yf?oe zUNfYG&BP2NA&+*z!M3X_kOZkq`D5`c&`Zo!k|t*Vn+JDzcJ-dO zu+8*Y0XK}l#bjqiTRG!8T z+l`zAk7QOl{oY%V59mxa!kmi407C$5U9b9iU?y2EJ^li@^Jov!x?<|bx zxxuTCXios&anEy89p(+t^W4q$(!Ko6xM!bCpmgs&yY*+sJ#F&&LMKhs)bX@^jVeJy zYfRZsf_cSsmBl=3^&6}sj0w+@JZa<|bKTzH$cV2;8!-F&Uf3$t)n(yCV$xX8+Sg!H zlh6`&U&6 z3EC}4Tvv9I=UtHgVh>jD#&Oc9EG(`pKw=c?9p?$&B&)N)9{1esi zTgf=Ug##D288P#5+SpW+iTQ#DYGYH)d(%|&-Za&`H<|DF5E$T~a2q!lgy+*4?*P@h z@Jx`$l|sFRONaOi)gZAKsw<+1F}0AR*cHyl*vuIp5}DJ7p7b*(yOz4X<3@QQPVq)X zZm7*GW@%>?+?y^qqp)m75&0K~$_qhgX{a_bqd@(qStQ~+RHOD`rXjw}uJFxcSg!EY z660Dz5&*ij;tyv*G_`8SEwqV0qE~Iry?RNHqn%*Y4_TQ%+RZUM(XbgSc$2VC?X1yV z!2b-!OzM8oVE5?gYdlhgeY^v01Dg(ZY-SPur&Z>gcM;8p3l zRQF&2N%jX0;1cYSZD4K)RY>pXL%12*!i(K%uNbaen6e(4<2u)L2rnB`fP?g=?b9?u z%MK~seowFLHslVX(g0#n^s6QbsT)0|gCZMWNnhqPKC(=Kfwmi+Hvfa zWM>u<`g*j$uzv@s);p5I0-t?lmr>v)Syap{Z+o;SG47HBW9tc;8S8Bk>mmIZ|TMqX!te zZD+aLo+Rdw@xb-s_qD(cWrSGc{V>TDyi^1GLIxvxV@<(s(&MQdADYT|aN@bP>|}6P zszb`8P(tHFK2Nl|5I!QrO*-QJFNlL)p6#i{7b!2N-li$m@&xWF%iPbz0$=ClcUN+4 zdeHB_^0$Phli=ZE2?2q|0T59g*xp5^wf*>YEel(3c*FJ9vZ+@9CzzdTP#wbTW&x6~ zjdJB|NOTI?3j>wpmm1XWugGC$dR4O^WY$DyMIttUn?8oZFPcF z0$j*(Gp~*UJ;rA*NWRg2^8MfFFCAd&$qyX69X$;E!c)AJjoYo}dyaFcN)p8Z>J$R=9l{x5doRJBg|b`Y(pb6gI5(hu6iLnPPeXxd7koBBHS!eKER z;yu*_y~;4r+3hTDD?KP@dNko#GlXWfoG?76wfIQenT)byo=0wxp#^gKm;jDk>tqA& zXnGOOAL+!u?v~YctCu-O{+c1_-8Tx+;k^WS2~f6 zPA7W8XLW-se?*F@W8DIUW@#l21%nB<2^h9JXE6D)1D=OZ%bb>-ciK zJTP|Hqpwn``$_(o3yx6aoCTk~Jq4Mcvkd74=eg;QPi3nAtdm{w)yDF%#mmPS3&$Hf zM=UHE-0oTPO~!hjHf`xP=L~4Gu3iOnn>Uzkc7KHixF7ADuFo%o{BNA4z0qR+Uz4pb zN%oU?NnP+qQ3^JB9}`j376M9jLYZvcvLk(M7hS-AR zeRao**Ifd8=2)*@8bvIU(ulCnGSu1xTJjGzZcHawrZwJ5bf#as+=(f zPr+*m(#GxL{Vc0p6JgHM8FAEAJ1m+|}^^?zp7&pTgz=->Cc zQu4jp^BC|Qf%`SpX#T|mwP@;JeEP@^+rn~Q!@wnDSy(~BDqs+i6IHnMM^(O9l*g(H zJh z#L*8E8G4y%u4bD_s6p|iZu=x-b;8EvmwY8MeKaK=k=t>NI#sDLQ`{X6Qw26FvUqgp z3SzR$@ zneNnIr|5-UBO&39S+2-jd-3k@{N8g+WWbHMHco2yRJNOS9{rdli4^E{<9h*zX&5*y+dB0d?yv1#U8SAK>x#}#ouVz7YV2LWyvqT#`T*;CwB zgY*0U`Hh&+xZ|UX_uk6SP5hJ+)h@EZhT2dR1Cod?ly8VmrGyE6kxHsmYkrpKQGidq zgv^xg`@*yEQO3vLx+j7^YWSD9@Vqa7e#V`tKgF{4&m7ZR+El$=SNtaQ0N3!>(oWNW zyq|0M+imetj<;8zHXXwSI*e847r!?3WcTN}g*%O7tit#l_{GX&_1ISp9met3DPx|~ zi_LY!xf_F}v@tF162z*{My3prEFb}&zxVt;!g=H$+n~B`(5*sa z&wqZS8lNM&{BTaJ(y6Cd>1urd&fqF=2S-So=c^UoaLzKKuJM?5JSTjUON(K#-l}v; z!N7YGe=Wri7pA)fI+F-^)|Wf3uXF^mM?{HMhgd9%z35nW z@+4p1k}roJvLrt5-7ZtUJvNahBUo7Z@dP2 z!K%*KW7N2f#a?4Yt}!?Nd<=%(rasrL$WCBKDnxH;l)J(eY$rmo$-h{+hNcyUE%65D zzPeRzo*4O*%41Ex6!1RetRR9Gtj_Q0gIM@f>k77D4*Rd%>-nl< zSE?1GU`YjFlHs3e+!>52!D9>qA_9xc@+cnVnGK z!gKCHgvTz|iUPQr#m?|zrY}JY)z1-OgreBb_OsXHXcud)p?CJ5yDYIe|1pPB{6y$* z;rZsz6$8cu5bUo}y<(-?{EpC%;BX;quQ6bklBZ*Mz+g=qlUUv2oHJ(*^WV)6tj$ms z1-txXQy@4bGgT)hlGz(>J_H|>j*gd22`$rWVfR!@bw^}IuOoI1oso;ny}Z4G_$V!L<=zp-E>|6{+>uq*3K|L zfS>8#fefm?=7n4Cguz-z+#rrQBTs$}K=Z6+gnlX8zJR;5b#bLW1i7vu^Z;>c9+2Z< z5T{k>L4MsPzb>dRJB?(y@}!&&7ova4D6?}ua5%K}KOZu#w*S%gg>f98&ULve*yf zI#?_-5Jxho4SYp^N3H=@s#uty@&INMkS!{<$YcP*U1-EC8g zK2DJ$4R8}*|MGD^e7z+t3>+v69255KFschBraEl<95-~)LO_C?grW|9hkc!%sei!H z&j=P!j&!-~63gqT=i!S$A;Z^M?AuQ%WGKy@#07{E){A<&tPj660!|h8INHL&g5sl9 z^{_l;Tj4WxV@7i!z#)nNP1+Ed@ovMJaP^+BZ-3~FeaVb^XnbUHmioo7seruIjVk#o z8$8eDw4NFpbaDh|>Vq7>Pp*_`t2O?yx2ooJ;UE?zd!&!u{k+vQ5yz`b#(%qmFuQ|` z#a&U##osDE%CO7eHC|&-Vr;@)=73{6@!p32&9w08{2M&8yhRZ_z!u;Ui>bi_es4{^ z88TemJx}6hxx>CKWx@TPH8wg3-FTU2&4*CGewM2EX7saEJ;xg44N4=Nx@v+(g3@Sd zBJAtHzdGFfV%P_GqLIZ8K!y)d5i;0sz0P(vd^^tdTr+aF8rvf?@QdER-c`P47g3yi z`NH^gsA@#v z=ZhN6FETlXCWEpJK)z^xB2s03UmLII$1JLF(RgeUe3lX177liZ#xfNBo4)|`RL4r0 zog8a8ozi}$gwW&FDckwDCwQKF4Koy!Y&i^yOIyC2b3GYj}aVd zXPU(1A`K3;jV3ss^)QCqFuCyU8fU`)?|GPD4(s)VRer#+spX^*a)ewrtwbiN{(1o? zSKcu0c3%E8-6d%oCGEHG+ihs7UKuTy*?;D*`njZJ#eB~)BAePmlAO1~DYrrT8hx5~`N9Zi$bv)Sbq){(RI%*XYI37q%|p?WxX_+!&cn@I6p9#at)(n~9(FJ1>ZqeXf5;=|Ssg0JY~IfFuzct+|Wy z2;4m8XRhRha6<^zMh!xkbFmsZ&Lxidy8cE3KvJ3T`KfM zss&aVQr@dRLY)XdeB}n+M$_%W7TpN`TiaePag0*Jm(I;rusYY!<=c~UOwpi;r zipf8+jR`+tgf;3h@)KhdZ$dHCmBfEccf*xQ2NtQ$RS{8}_NM@HEpD$-?Mxc)HvX#pxMrnUK$9P7?vGz9 z&(DuEZT%0P$kXO_?xycUHO^t^)sKg=nwLBzT9*QeyJVKWqG|JaOW#lFh}O^5sI_7! zlN9Z%AIXJT!b66CCu%Q^!ihiwEI11(08JmJ^2_f%--|J7F0F*K;mWw=z#en^F|HG4 zK+XLRyDft6@(z+kBAaN4XdNE?*wnl?7>PCVtftQMj{Nx{%=3cjdY+pE@skw>H61u_ zg-4{q`&irom`#Gv$qLSJOJV)IN=zJvYI(YnuVOXDM4`#B|zUX-ZH-6%HaJVPRFq zYRsBwAj3Fq5NP(a=ez9|A{|Pv-Z_Z0h`R$T==-upq%{Y*6$_92TFm#3i49%mIPoP) z1uw-Hfidn;PvpoL_n1Ra^TaM|{uWMeqMq(BD|eWcpB-4aE>iuhx?NX(7NLZmU3FY) zZ*F}E#^S=rR1sFdwm~nj|Im{fC1cXy>j%5D$8<<#>SistshAE0(rZloJ0S6OhlWJi zRo0g3IJY~im1n;Io+Hdw{))VVBgB}~W!2g91$90#`S3QgPT3!M=$#|ac=J4K@SuHt zMx~Ae`v+Fw)_RpUsQ()LK~8hlphwo=3xUNN98w2d8p$LE!w-qfX#}@oq2YqpyH*JL zejsih?vX}&?DNj|SM~A!Em~?&E*1;igP#8#@FobfVBV`&CLwk1h-t<1u#WOx{YCKG zVz#u}Y^l4MpY@5n0$exPz{9s4hVTlbRoz$md*!E)>|&qrz zCX1baBfwv!gZRz@YDXMk-L$VYXu+hW3z0&)4 z0P#8Y89;pGiZ2AB_^9^-;MwOufEK1%Em$bGfy3vG_oGn?!}hD*X5J zRPW{10Wj^q(Iws}f3BB56Zn&6Pptb!UFp8kgV-S;*>6By7kSVbxh+HMo7b=FEp&S) zy2k~xD_c)3@=QBj&YK2H6kIeM@BH5N?u<&u_I1_V(T|tzTC`#PM%Sfo?|NV2`W?YB zCsw=p;S5}Yx%GNS>A|RS6lGt(dXQPd^LTqaQ(MTGRkixm zQ*6;CTasq(?GSgw9qtp(ze>C1feapODbU{;v^@S&&9K%NWK^zywe`d7Xm?iYDM#Rv z*3-^l-g;+7Wl{Fz%;4bGQ}&>vGVVY|#@9%t-Q(NN)#_A6U=T6_SL^A_pd(V_WNs(g zU6MU*`-yg*R?F~A>p0O~7;#Qo$dfy5n(@>32Z0-R(~A?!a@B!uyDhQIt2+6tSG)Pk z!PxIPCV@9&WP@a|8OmJ)jZ;{cf%(q=A>Y*b_FGO}e-5wg1PVjf+ju~Q`~6K$9)(ny z;R<_cbf>*LChB$D{Pt~F1SP(>eM;&3sJFpir0$->`%0o?XWM3K+dq~=<__=2&BdQ- zGKpav;HSG|)AKXw1s}hQ^+zFpZR#>GJ+07N~!Fc-wQL;{{Kp-O|gPgewG=b1Id=m?jYOo&jfCPJokS(HNC z>D|h{7?+4-wp=qduHjqu7xh3Ky`y}V|C=Y7(CC*mA#UHmX=$AaP3n#5iijPE#@ zI1{;cFY()J)JNY#NGEotxCYZuOHRb?!0f)=?!3kkJdV#v=uGC4XChUZJDsK7q76pi zJ-x8_NTl*KPbd=C!`H*zdwL;=;jL5u{D}sMC5Xb@D5gPE$J4N&*K)7ApU(z$uP)|J z0YLCT@Tc0Ys!x*V|#kXCI7!A|Jh`I=Q;T~ z%(1B_nZNa%{6UgmlI(wjWJ*-VUFp~HI_d7$M z+QY*_@7Y$z#LO8%>IxNpz!lHbnZMPh&#|)8D@XBu+&0^_ckhrY+o{646>r)oUUs_q zkk*HLjXxH9M=W+0&vlipa5cMWSek9u%{IEi!zjG=#LA(oa6wz*8vJI^v-aSs!J$j_ z-jmJBO|fmBCh)bjVxXDGyGyt-?6c?e?J_r{ncOrmSt|gs1n0gFBGf21D{1sZntNU- zuk;87(Np&IX5PrpCr+Nar@BXsJQpr-wDoINefc8zlR15*QHQU$F|^P26+a0)29Iug5_A_PfJ2@_wS-11-ABVsFE-(L7VL}6%tuQpXLT%V zt0dLC!Z?@Jd)HOvhKH@Ib*lB`StJ5c@dHjg3>Ldk`{xyAu#m4O-V_!a-Mj}6rEB`9 zqr zi9?I>8Qt8$IT!#k2W@QF?3z>-xFJ+#3%D>OjOk*dZ4BhgtvBLia59ip)p~<1_*wDE zs(R(E&cH{lk@XmiZchCOIv@;_*qd0yj1j11j8D7s=lBb$V~*0?&;mKXOYONtTP8_E zUSo)iAJ55ZmptQ#p^Kj7uJ(=VNN@K$w;e?Mp@wkd`g1{U}LmK8AC3VwE{z%jaUU@yc06nTF zrNfxIi>s%()9M-|m}{>pmJGz*54izYdA%{!HOp{rL#o2Wc&)7e`d0TP-ZV2V)X_=O zD=az8V*7%`QkSawBkLqhkD=*>^Yq@*nwbBZnZe8;o0v6PBc?>w&f)_OX@Hd&>otg5>u6E=Jz4o~_$$}(1K@|c-ijD00{xJ9g9AB`|8U=9e zQ*WShZ<6-ZuUNX!a)(x--Dte^)|r^d{J)tv9*bvqlY9(Jfz6=3I7r$8z2rTPZ- z9N3C&(F?7z@p`b}p_uL1PZutTyVVcK3w^^S<&{$!LR~Rct}8h;YOz3tUxL*Fw9sL% zCT{F8kNN|d#tN7E1)rP)Ep9P~IL`Ww6xjAwcpej}PN?@b&$oXoU!sNG&+sV*W|&Db zf~A+x4)%|4F#=gnPka^8!cI8n+5^kT`4TQ@y)djj>LflP#+)9{bGtpyJ7-*OYeoN? zC-KMLX#0$iQ@cGcJ7=^hPpC@_jy?X2b#waG&Hvj@-x=H7cur|_-Tc0tzQ5VZ{dV3M z0;Bv693$~3($H#9ljRiMAsnn2cU~Y->z?!V1_pVat3K7%^Z#3c>r0kfAu%j~!C zd7jySJvsXat=X&3oBc1C+<@6CQq$XqO4t~q>M^}A zmP7q9q{JjxP5|itjSy2X>B9vJ)8v$GSj813;61ZW8eZQjf7e7;A?Z_4R-3U*-l84G zub!(A)pIQTSTFm|$$P6YoP`iC)C z+LlWWL)1qq!1azBwmwDW|!9j7s6VDQ6AC7*eDDEe4e= zjfzVK1%!=PD1F%EQsPA5BS4(%&yd#vEBEUoifWGfc+A)tf0YeAzq^6%H93UNc@yK; zc0wwpmD_4W-|g1ho(VJ~HNg?2L9KaQH=~}t2@;d7PRYk~r`pXY>Q-zscX=LnVltvd#axQJoH{L|Q{h1@wmF;=%mh0V~U$(J1`BJs|jL?IXZ_SfXH@ZuW z3;`IplLxRC>B2SOWwLbVUwSs^y|kFE8c7EyV0wm@DI$-yIWi^pwXJNj#lF zWXnn7m27Og?{~l@M_{VP;=7MF@X`rRHrdE$znuqb|&65Gs9EIB&L>hk7mi) zR#&8Ic-HI_)IFzGw>~~vxU6S+9*a<96=cBkaENb%tDM2iNmZ_v2hdPUl&^=xv?Ys$ zsO~A7>0Ei~s?15g!%HsVk7un^CDF5XjdbHXPB8uEm8sqXbEW6Sr~?lp9Z_mG3faa+ z>`Bb^(BnsvKF;ds0_iBI;{Tj(;3C~Xim9?{1THpiE)m`L)Dl^=D^EHE*MnoiH)Bqu z*d|`XKDa`rL8JnwKO>&ucg&3sPJv3SYq2aB(dfIV&Ufi`8qX#-*J%UL1{(OV>Bagc zhLUTdjq)3G(I`=OZdtC|y0n;8nx#pR^YWNn?0$b@p zU|thxafMFjHqS6FGTNZ9*8<~7v--HPLAjyer^as1z{e{~)R=}`t7)evuneI2{c#YkmyOoXa z)(e$lsTFx3`OIJO>$O-49Z>)Dm%c>k?mk3+2f#&{B;dIupY2NKMD%tDRJ52y{RMrZ zdEW!x$nU-cO=!sr^*RFXP_Hw{4N47RCVpG|q(3WutovKgX+ey`xtgdO<9`>0bf_HK ztglIo|J^(Mic}v~<;=RNRf{y13|(9R7@X4eA;}X>iMEH+S#|7Q@`ZyT+S4Se+Dz=}mp<1S{!`PGYvQ zhcJf~hn^qe>TcaE{SqQTRkEyTI-QcJ$~fFbNM>ezt$$Xbl_hwTZth>ORJFp0S{Zbr zX+n3lK1nrAu}V-+SP!=hM3?zUmoe#%RmMao?u@A|DHr*LS{}>5QrRh5p|jck-I(7C z2cmnBi4B+INjML`ZCeQ^v?}0^Y@G7DV%Y^ama8YAM@A3Ji%^0+0)~IU3N+#bDk2m@ z^DZB+UY6Y(Q!jFjgCCgiBB$SP7T*mwniu6O;w@@>bX?8w?6H##ooWo(K_0}xqhn5n zXS-4v9cIR$bOwBi#YA`?NHG!T*ds)UVN==5jVdsD-x|w! z7Ab_fgcvR$N{WBn)hYY>V(2{!aAK$lur1GP8gF;*rpRo(g__p zVQf0#9i1>fozSBbCZ-cy_sYN~rxOZvLU}r2vQC(mPMEC|W~3AD(+Rhv6IyjbO*-Lm zoiIC{uvI6_O(%5fgxgaIo9^Ii(_u-qAZEKyMtWDOL{qL#Xi6s(>4f{z3Db1K;&j3t zIw6owXw?ZT(g{!Mgq7)pXLUkrI-yf1tVt&v)(Pv<3ATTfkv^7A$kz!Q(h1{rf^eMH z4YcK39UNesdU2kb;3{530ri+=5)e~I$=vXVGjwLw({G8>85A-4z{l*g_Kr% z(J6IhgxtEjkMT&8 z14h)poFMfVmjgP2#uUow2O5)un;`g1j?7uQNzIyZP)|^t+!XN#qzKE*)i5S#q}0mh zeg)!LiM(e`*wBEW`q>R6^0tv*x-Z#GiCO0Jz+YNddayJ)RbQiC?eY8X0_aY8?1$#!`&K3g%iemk6wouKkx_tkVM}1 zWhBw~@8v8L)R`drsvndz0c9Rz%rTyKH9X1Hc~Uo4ZY`m1?y>VVr*mW{ou{L6v!mhX z$Hf$O)R@ICJP&rHy7w9rWXsF4_Q#%7ey%Y=cCX~0h4QIxWdBQkf3y%#854xseh%KG zU?~*noGI$b3$Z#ohnxG@^r3rh*ogS$hBMMd#fqBnkgcPIFzt|~?_n7I5Zlmsp;I|a zI{O{GmZ)!v)U$ckEVxmgC}&ntX+hWcn%QXB>_e}6ZEcz<6^=BwVeN^QT<`?3Euz@Q zvYm~Q#rBmMMo(#Uk`H+^0vR&7rA3^t$V~%YvoMj@A${OBhW5j=W)|rY=Zz7Z`rAfC zN4Ev8pJH>`Y|AfFdxyc?yt5YDyF$vu9DDX4551^HtsF1HmPX0Q)*0`<%SqoZnx%u1 zc$AJB>ZD_lgj)THzVIzFWK0dn-~<8GLsSoLb<%n1@ENifLXPMVqPZV!A zdiI|2&q<8`>$adNC)-4p$l9WT3m?dgEJ(y1krsQ|>6T7>&*IsJ^RF*bkX|*OghaD4 zQXtHmZV9BmE4))=QcDLJ&R4$wO<}ym*GJg@i^ib&7%xt>Vn%Ztj|muE#P3q8+wdY->H zGL-~h-*Q)EDk;%;2Il5%8OWmoLl$vmmdcCDIs@&V=Q}*lZ(ms4HqYEUaXDJm(%D+9 z9f0P!)Cbp?KR%w{4hTT**WT?*bmw$w#$O724{06%FB`IhZFe-7akTwt_tT`MErdc- zcKF@itd-e!9%*r{h_>?}b98Ulk`Yq?-;b7N9`lq$+vWR@mwMWeFaAc2(mz)%`G~9` zHQ&zh{&hsOJ=w}7+7bShQ~%s?=aJ^{is&n+TB18Xd|>!?d$QqDv*B!MxOAUx>*b}F z8y&Qq-`1T^AFbUlJ%HxZ^V98bbhR6urDp%Dmi)e7hfjP?j}M;R;}d(k%nq}p!zXlq zFD&1t^)3w|aSG4gM$CUOxI--o?&>YHt# z=4IRMcOE(8dNA6KTiH?1m)qL9M;-Odb^d-XRoRZCJPo@@-re@8B)k7xl8<^Chuon* z=eD&+eo`duS|1xer~Qwmece$1Zc@#d-O)jt5Ghe@BNd8e-A5;;NlytLD=Cv6KM(yP zLQ)&p$vb_Yprb^SXf%60Psfl5I(qPGmOHQ!n-y+Gm=MS-K1Py}5`n*#n3EfSf2)0+ z?-Oj<5DO#}E-WSZ2`j1_KD`QCO z_-FVIv>SITYfR@3M|JtJs;fSPDxWqMJJnnK4v$se-Hw!|`xnU50Ukn?dSk|92gI`? zH&UDLfaX?Y-P<$9akT7BgvQnGvYXsXaxjE+RJzMLmbgRP$CSMp{8V%P#`gHBdiAeE zIh3P;!n-!+Gpd)?`~$pFjWh0qDnsav-7vaCVP$*9!H93QV>PnKtdOm)K=2zU00qBm z)Xnov>g*u!zWQikhK(5f=)yW_bB!rVR`*8id=Kgpx7?K>-?P=%NsRxA!fF~x>Q;X8 zgQ=-AtPUL$|J`j5YSyzlmjf)x9L^yKkQ`=e3wD(v@m0Uq6$0+2$C!hfeJ9E7YHMQ# zt$5ai_>=(+r2m>#5a97m{n{2O|dIn>)hdSkqM zt6iV0ty98Ou?3v+TO`vQh?!!obEleaj^YX=hnJZnIr(+EWG0@b@5{iH`7=;FE*c*j z+LZ_ok@1FyY|wun*MFs8c*v9b?^FEUnJN9*fj<(hO!XHazsK)t@*V{zm-9n*z_#k! z@G6-kmZ#p}{Ed_OSiMbt)c9aXZh2uan7nAxI#$^myaB{{LGmOTka|W0jEpdFrC2kp zywt+Ut@ijRu-LGb?pi&OW}}|R+l;n;NIMR#!hl_**G+{x>cov7WFh9vFNap3I^9snz z9~>p@<1Iz`QonTH$s>gKoJIpjj5p#He3zWrMY)o;H@^3+y`SzqF!*5bIQcy%?^aC`LSc~lA&dkTkcwtT}Ihu_L-&ojGeQB*(cwIh`(*aei!0n@+b}Ub4nAXf07;< zRo-;p|9;40&O78DVvF9zfIEzx^6A(cpZpqa(YZN%)Ng3^P0^YSgX`hnzx zjNJrOd`r4YPjbFFNhaoEeBQww{B;Kh@!NUweWqV`@_h|n7o*E{2%udj-*>z*F9jJB zKCP$9m*%yeDqNbCW|&&vAN9ruaJ(GYd-~<;)7{u!x=-?znXd_^JEUxZ(vY%aB+j2< z@+T8Zg!owX0D7KyrmEwEc)@WvVz1zq(8b2MH`L5s?z>TPF#BUKHHwX#-`g}+HsMjE z?NEu$RBeVMXYDKG#xmuHoGxlV<&eTxs|$nz z?SZtbkNDHH4eQ^gr}(3uhoEY6rK{9Rvv6V4lagD6se_uWbIk^^$FPk%NQcS8PB_9f z2ZK}9(=^F_47=x1_3CAFpaF=e+n>QK2}hn1WF<0x!q5aJp7rxT!Gb~+$%zaQ&))C; zY=zYiv|lWr<8oj4`}0%c%}w9eN>z;Y8B8Nqv1B~w!G z4`SL=7-Q&i4JBQA5`#Al7W9A{JxsJRzkP;cqJW|!A?v;7A z8^J@$Mknoz_Zfz`2c}|$jJJ#*Xnn8}@l2W`BVCnU8tvXsi+a5h_CQW3krBu==6mDU z@TZQOq)Y9P9$`EV$<0>c5tzxm4TUYJl`L0RGx^a%D>;;~2QTAT;Bi@L<)28Gi?mDK zMMd+QpIY2lGeZeSaE4hON6=)efeB{PG~GWEKB6_-YZGIeo_?30c1f{{dbwA0ANfM4 zg;z-eN(=`E!ifEVY-KTg7o*a9;QSIEQ#Yv3;Y{@bAWQf4jHPFx2wSwCjSJ-p3K0_8 z>Q2#3m(WE`gs}6`M98a&P=|3lC1)48Wy|mF-g{8f(OuBdW15bl870S?qN8r;s1PC7 zGEIau>Cr^U1rc&vBsEQe76@OLR){Q=oBK!eYmf2*Vo&MskE%{Ix<|X;=J2SwD}m+= z)|OEh-&KSkWkYz3p_1Ad9528(%AuvR!YLnZ{~zjLb@qQ%?e6neW3}dYzmJy6I`Vo& z+mk-)ghJLvZYgpV^9Ys4(Kce&;I_u@OIWQ`YIZW!Nvf1b%mg8~4my35r54O>9dxol zxpEB2a-L^_xigW&p{1#Gd{zfZ^NFsboW-q_n zx@^XfsP(%k!0uD;vx~GG31eQVWdWhU1i~W^nLxmj;s0+S90CacyQwqC@H&~jIkW8K z%tDvTRTS6vqR@~|CU5uWs9!xO6Z5S3Ij3Og?jG#UMN+ma()>=H=iiB&j(xk-wfP+A3F94_k8p2uSrOCU)O}`cYia8i3VquSv4~M9bW$+c*s)c z;Mic|XWZ-x*SUjJY31^s8xx)>(JVW5aZ~Qd%D@k3%3}G*n^KeIumy&a$VWDb4qI@T zF{OinhhDdb^_O^-nZV7=pFNi-g_C^8SAMm0SHEuQlkQO1)1xuJ>twr)H4O|6y`Et; z;o#+ujRFKr_hOj>7hwZ7Ny^DKm~xwE&A*Tk>TsI5f)c4*n=9~ul(KmP_m}SS*gJ`e z!D|V^s8{#+vlfiriCUt;YTjiw03MkQ;KCOu3w0El$#PZD?Q%_UbdEkyb^v=>-{IeM zkxpZy3C2bAM7><);R!NM=%-jO3+<49O@()7do98#WIB9bkvGEs#a%3`7nIW@Y=`u5|J-Y@g=7F<%J4tpZokZ;k6rd z?q(UucX_^r8X^44e47y?m&bftWW~e2XA^ln5IxM_=O#`bZO=Nc$W`(dy2z%(S%C`mi%Nd8MNW@DRkoXhwuyZy>(Y@?m@u;a+M`=bI+G06WYZ-si z7;3eyrJrxhVhmFMkR`;WpN)!!tCxO`sFfAu)w_(|wofxoY_|s&^3eF+?h|cx>>Ek; zx!OK;v?)h%XWUV`uQC+NDEq_mvPdOnZoM|o)0qN}2#no6$c!;K%X{*qL#Gip0}6=Y z_hx$l=fECyl%GhS{-lOoD!y4_LVGgvIJE&yYcR8W+!8Q;Le0HMYhD%5vRd)>&;z)I zx?5%t+z_+w8t^#kvPbmX)q>X z*0^NgxJCXaazK`>R=**D6Zc-V*&e)A>&vI>AAxCg#zGf1kZ27H{zp;2Fb1pCtmHL~gPh+eN0y+4i=$f*D78 z612WMq31t5K3r2TBmmN317e+d$~&yE+i3Z@n!^Q&@l^1ex%! zaaR~$`f?&@;fk3i6v^B{;@)hP(Aj$VTu5Dl7hGB;<}#XWsm6%#uG>%b#5S z1PgggDJ_eL4+D}6+^V&NT7rS0Z#wP4Z0N7BHUlf<9@`MQ+8!JN7`5Gh)WOTMg1IK? z2FAth!3)9*(nBeep?o3(xL*Efxlp!zyF3nAPnWw;cOEYu(D^g=V;k1D$A^DTuiA`G zkP?jn+kl~9bc~r{NKDbQ!&$*Aj5p=su$XM>vRL3E_OHAz(7&vdTNqxJugP)}Q-!)@ z_arJ1L9-_{A(uY{%Q=&;?5OP; zxj2^|M5D~s9x8`Zhiat@32kp23*p}jde88Lj#-)jh%2$mVXF%pl+d}_~h=2Wfg6Zf#Y~fq43NC8T!nk@G=Yn05Oz7Y(b18 zmeI#&tVAr!MHOQwFQotoo1PtQh6wu<%X*5jv297WsjaX&@*v?(^F*PH_WZ@uUuTz# zmzel6%W-37N*j@xRv2S7Dp??LzcXf^Os8t`dm`_naD1>a(@P95)g^SVDz~gEf61T9 z!&SMuum9PR>qum#Q@sQ>fE0HkE|H(VBj8Lw){O3bi1T22Iy(ZJ-h2Vi=%GF@U=#IiI5 zzWJ`{E^LKI=n{Y=0|0pNTM+|N&HRYZoreQGFn%$xFiXc(Cq3rn2E3*xN{I7q!E~DzG(@nNlw9?)337Q zM3tw9=jcDWR~g(qM)zB45K`Ht@mZ76^Nz(T5jtF;_Fzg6ci+4S?rGA5LtJHox0UW< zP!%tC@dIMvfev1r$g|n8F_nC))HS8iN3-LX6EU1{a>Au@!cCDXM6Qq8VIn!3)Jg&bQA2@(tQn;+zsU1A08jX ziQHSk*P%p=J%*xS*_Y~!Q9w)BU=3+a;`SD@K+1m`H+GXu8;hr(fTR`D!X`vqVp1`s;zO06zOtJhEtqBT}L z!TVzkGtjXQgm+8@q)6hBd7!06y);J#7?eGD$>%gj&4s!a5a#~D78)!;OgPKsmLxp1ZGBBa@ED-G|5_70Bvll`l~6CxDFJsBoged_?7-bt#7Mu z+D8H9fzd%Gk;6q4nZ%5f2QG=8!H7?ox8&(>9ML^YR=>H%Z2lr0`k^G$l4}cGAz{I0 zU=h(6A7SwIWlliPbJecU5&PF_x!CT75dhngjY)JB7zI?6w>5~bU!=NA1>tv$8~A2% z1^>!#xS5G{qM_4pe_hQKeryz5Yy`}h(JZE+8vFy6SMQwN+7BP6y5+)lW`9iawhJ8SZOF^yI37GIBNo?*p zXUoR3%;!&}`L_s`sQe#^Dstksf0r>l&kwmvD|jv60Xf2rQ#!u#VdJfEbr&I1*sl!j zMRl(PTBO_w2@h5E=vWvD&m-Srzd$^88nz0~n^Q(xTUSQfUUsZ$?t7v7Kzi8$;uOZv z{IJu8)u`_v3KG%AkeE#y%tpmvHcD3q)OXnS$dw6$eM5vNgdqfRAPZIx#^()!AI>7c z4mM5H&PEFvc0MsxKkL_NG#_TDI@ax%QW zL25L*J>nIN$&l=n?(Yi3qpX!2-V(~px8KNu8wxZ_eA0i_u|tD@id4U&vSsAHcL=Gu zO*nF*S66S1RJm%@Mxrfh6uZG5%-ZSevBxjeGkOmk0~5F^HR9H4&Sb0lDWzMRdyt!i znh)6n!%>Ds<{Z+8thjIoGSyA+Ii*o`fi=Og+b-*7f>-fVFslc%Ho%=dF53MIncQi# z-5l%c+nh&R?cLua%|AvxDhnZNoMpQ2wYcd4!2KG0fa+;0nxiB@>Sb3dqR^}qkOrV-{oaHmmHyntL(I9kDz%q zWv3(6TPz+#Zar#-%nNiJhxN%i-?8wVF0lwe2f&%T&B5CMC}nt#zIub<+`ziBmw62Q zQ%37k313vUu>lil4^D2ywuFtwR;mfyqgI)Lzb~N}#2C}Rolq8WM?cIvZuqAnA8$T{ zP;aO2m_42=xcSq81*A*82mR97oGz3)l@8xl#>a@t-t;`Y2u3entA^8&Zi-hdkI{4& zvtD|&F@LMk9Q8bXz%hTDWB!)n9!563#&|W{994%vX~+Dn5>TMq1Z}dbM7Ln+F|1oU zKqzC*i=pkV(DiJn7X-gDh%W)pAo%K8^B<&Oa#3gmUo=@T7#7J``!E@owz$_-UDf>v zUjhAthVMmQ1hWP2SGN_*+P)~P%awA1spFa62DMzDAl`75s75M<#QL{dm=b?T4zq^( zrU&FGn+9#DK?qu-CbPVpW|Y4mQr)4hPnM7PI^s98F6uN^C~+5k#gFrc=Q@Q*7W=l9 z?ko0fIT_q)8~_jWPB+@s5B~_=YAT0rOXsVlF*9-;Zvj15kvxZCdFqW*>Ry7e$Fgq` zB46dkDKjZS#|)zv1|OaXIie!YgH0ZjD%#8PTrL?R9hO_IF%;I-YpfO&^V>s(HuWS* zJnp6ox|b_$89*T&xI!Wa)~MkOKn!fKM#VifTM%Jiu$y~T#(_zxNt0wa9 zLq>~-d2T!>_1%SE0OTOMm6NAOjfd4}%0DiW&7K++EH?pomd65Ds-)##B2NN*=wFCj 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¨em*Bp@a!mB=Taec99yA!120O2hy$Ur_UhmO zHV{JPyl0^_M9MJ$0UaT_C|@zEom5r5NTqBJtVE$TX^wLICg|8K68w~{o;{5p27ziA z1v)kbZb^r3w5~FvSNS{hQsXG~JL>blNqx6cUrn^s@^qVjCW32#PkCbQ;^gMkKxc{) zOOuJ70!>O9Q&}W0y%2)WvpBi&!&pc7@T@aC@(VhWPg6e=W0wIrds6|J)WPJ23gZX~ zBw}$?1x>|hT}P>@P*J8giSiIN)lgJTHDsx&Y6sX)o?ck>GD}DG2;R!lEo=r*P?@@w z>tPWWlqaH+;~0yS5wV@loty67_%r5Op)md-l1H?3kVbF^D5zAi$nio2c*#=QQ=HuN z4bjYgAuK_9>)H zi89DdW{)G}=+WN*n~QZG{Mq*(XHqi0FZ&RVz_YLUykcFzYu*`1ZucH#^hSf*;8ce@dhvMsJVE0=2TJAz;^UVZ*Q|}P)8`HwWz1E3=xzkUI5U27e zbhi=z+BeIb$Q}SJ-~o`&yBw$=Ub<1QFYNbzdRtc+fkz zVgGO+YIhv=?l@ezjnweeS`%qUieYM=MAEf=^C167yu03+td*q;)yu>C2D~Qdzd49-$ zWK(J6pY_h_SSdSIBbn5MD_P$nowB;P%e~>>*~Y_NJUZM(1fGepO{v+GuL<2%3B#^A zVes`c6ZMNc;-29!hp}E+)3THHloiF5DBDMgC?PbiFGzMid=DE0HPph->-3COxH~SJHH6_Rg1^$!nsNORvyGkMH zjDWs6@Wm;N#5bDrwlADXG)VvDAnVN_Q1!#dsXn9XPGyjF#_Lhkz0dwSbQf+e?__Wq z-S=#v6vU#!X=OF0&(I0TY=Nn{`N`Nam-a1nt;@0RjjA&$<<(FwRxPtG1r@Bwvac4Q zmLE+uB9?yX6>hz> zpC<#J{NzR@kys2R3k~$2Ok`x7k-k+WtD=-(L5iwM!H76mAl?R^{yM+glb1|Z%633= zUJA+~qY8Cy|BLLDFCJ$i4v0Z-s3{YQA42Zm@W(~+C6Z&cB1tDMW%zsb+_wM>Z8Bp` z=LS|{&g6y`I~M>!;5-5e^b?3LwkLl1D=Tz`Z(O7aakV%&>N{yiG_bDiXN74tAkCgc z!)o}K+Wt+Dw|=cNX&R0NlrL)HvuUAot(=>Fcy$`-i&M&QM~bI5v4u&D6gxv@w^Zm& zd)S9?nR^@JD)b*DLW9K4u!~$VU_J?$Pn?9Q(A${#z#0M@!7ar4JV?vor3mZ~<^_w> za~IF{PYV{$21OOSP8VM+rRTw7kxvwlmQT#*G4hGxMG}#aO68d7C#m$b!-4WZ>@B{I zgAwePu71o|!OBsPWPy;a>O`*J)l3WsS8;X5P6Ig*P>3mrz2D<^HGX8dRz&Sy(gLMN zBSy9eXSjA{y^RfuKMG1}TsD zBADzykCVD~c|A~BIktJcNB!}rq{CQ@4AO-n8fpBgT787R2JS}Tbeqsffx9unfe$>y zG!sQ2X-B{%0`7C4A2mwhil0h>}{I}3=p7(SbsN~OCoSywVS~O~igjN5l3)fQcr-94my)6_vM0fPm?wI~&gWQ+vYfq8q zg3%&5Iq-?F@U_kZ?O+;$Y+^?PoRLUT*Q=c84ii}O_m|skB7cRMbv*~XJecnop=u7- z_8<247xBfRZ#fUwI6WsCd$RW*j&BD8QYobMeuz9ar_VN*V5@pvs1GHlA*kO}?)kC6P10F4J7&+$Cy3WxxnqdGuqPf8Th zi27VK@4sS_4nVdYc=f=m;j@)P9oTiK+^T(L<4p&4^}a4G<@^5Z`K;wi<#w1eQ_#4CVHY4;adG%5|Z# zdE%O`#V7798Nml*!e2eG%XHwTL$^3hl?QeYH-D@Npm(@8`~>y(hJVhOq@5R_*GMjB zja5|av9S(_ds82?vEJf+Lxh+*5BM}`bj)T_#SO=x7Ig}%iDAF6EX9a%-S^=4gRllp z2jx?(R$^W^VB=JXdEIJ3WKy_aElaf%R60o_txELM>Ls)j5BNe4u%FAR!kHB$s@e7| zJD`~O>G`Q>SvhQRgc7Y5Gv`=YKP($!8*F<^ukL{(jLmap;Sa z^ToWpv=3HT>}KE!d)(`5m?P6C>HVPe{y4q&55U_{W%ho1mvExx4$I2oQn*tyTC|Zq zXR=rj<0htBmayw!&Er+G4BTVYysRQ7fmfbVQxk8rGW4LNu~Km0Kt5z;sd*Zr2f zDqT9>Qf};tovmSy7gkKPGGdEG`8qYY|(+wqLcMq zwX- zkc=q?f&&a?S&mvPc4CV2vuM{~8OX`64YNZx{GO>`R$_0)>(>z*n7dI%63;wnF)j4d z$u=VBWEHW}mSM_2>=f}<-D0B+j}|$fIJu{n36(hrJ$qWASUn=R9`?A87Gb9f8G!z5 zp@cvVCXAAn9Hl#IV#oVq#8*ioM1N(hY~z?yxsa4%MTyU*R6*(rQBb0En?d3PleZ!> zSeMmZG|dL??Jgo@3S@R&Ua+oYLno@V&esPg>{Fc`gJY~e4(pH8`ja?eUqP@c9TK>c zu8rzcnRIGSI++~k7jowNNwt!36;2oj{MJ_fWP(rGVX~6|(Uqx@4MKwj!POoPy z_0*_2S;3;5svuEZB#VfI(6g>+;q{Z)`(u>!`bqznLF{hux*R5*u==thQ-hU-MSL5h zw9v+MM%bP3^!>z=Nwo#@9Nl?NISqUmm8H);^Sj4JeW(8y-*I9QD#nS?oe*Y(V2HUY z#}<#Ee(jfZ==f1HbveASni%M~1lptHSbTIH^*3PRM;5UmX}gv)SM>me@ovEX1n}X= zKHfcc1|6zkfclmi7Oo{L*pd@$nHFrB9&E`Aw#*2&lmuI52V2U6E%Spd3mWoX5yBLo z#P}+>CBW#R|AOvodtRo1|3deQ>s{dAL^>v=67(;A3{eGmUL$ED?(N}mm42FULiZ+H z6^+%66bap%W8FG~+l1z~9=6GL!X573Me-NX(lTdvTM5@xNUO7>SHW%N@_yTV^SglG zSK=^8BKfXqsGbM(Wn7j14B0~9ULW@n1Qy$toAPVT?>+o>w{7B=|EcSH=IMR>^6B{C zwjY@LhxrY)X>NyKg%Q(0#cIpDT9;lhawR) z-JYGz3GIQeFReAR)0l*w#ydP}?D^ zQ_-+dH)|(VVQRHqR+pH1an<$frMRB*qMXviVA~Ns06_lBu!^An_;E9EX zcYy@akO(W$z!<===&LKuD~YudeZ|Sr4cD*=%})Ih(1kd8a7ZVK_;Dxvi)0))4=rS< zSU^VXiGwE*%>MT3FA%P&#aT#UripiHOL}XPvNxnea<=M!TZdw$rpD8fzN#;ht(qLV zjp`fFD28|=HWu&VO7Uu4q$NjxTN++W_My{T{vEZS-tsd%v08p&xaDi2EfX_Y+Lb`7 zMW)$Lt!5LW&7L=^**}_Qk8iM=Wey_EL+Y z9d{J=g%~_T@`p(#yvFg5hqL!YQ+Q?nLDYR#vMzPf0yz3*U}k7rJ^KR+;xF0O{NFD1 zhPKIB=jof#r{(6Uffjl{RFDNkOf+mDknVv~i?l4zSD0dDCAy6JP}y`{Z2o5HubaOP zJvg5OK32L4i@anwceeqtbo{>wEAqfLAm_+;F~E!k{LIWZP|r+XC1SC!shQKNRAY{( zW7Rns9m=<5X!*oEGC>H3D*B9^jcR7PO1NoCsk07sSu||L|HG&x8TD=RVo^y5$~ZY- zqLNHf?vD2zR$P(`VVO-_l5=$`)5G>0FX0=L)|kiS@f=2ic! zh%70!P$c_|BGTd8KmpMX6R(&KPduX#vtPbqWYb1v8l(2?XF}2u6tlkRgM`F}TN<3@ z=5WU(Z-M$t$7LO8YToxdx4i@nXISaxE^Lj&f3rH)zwdx^GoN zs3@-=c~~cw?Q~FrydJCK$U@9jP4`qyTRlz{#MT(}kxdUI1^Ct&xJ4$R0E#Z?T zO7bCK0?&PaGgcb-iLV}X-}A~Tx?qAmT8l8(vfcY&rD68O{LRTE5(!rf_sTn!xtx*Go@%7fNtJs^6be*GcBhNzyXzg#DWB@?n^`#F7# zWM~s3`OLrsz3OfbgV+qA`Vdlm7jZjHj6`B0p)JwBpe*Vqh|(M7(+>IcB#|!!pdgJv ziz!AZ=nt}`BH7~z+S-xhlpZnpBzmg#gQ9imC(J~hRTs#|B-Z*&KZA_Wv(tAG1KCl(>0~qq)~vt8M13yeotoTj0FSf&gJuS6;LTf1hq%@5@~q#qSy-o5%KIa0NL2|Hg|y*=6`c)4F(uXA(p3N&1S6=MGs=7=Nh z9Xv*Rx&?Eq0 zN|WQ^v@mOGGH$IOv3N!`CIVnxyPtu)AoQ5TKfV%}Hxg3t=j)+MP>l>?n^Vu`TT_k! z=a9b8haMx*JYZRCztlPG z$xVFh!g0&m2k(&Hx=^x@> zYSlU}t2x#|$XvUCkV6kk+5*ZfV>HwjQJOM!6YJV|i2 zt`kxqS>OB&Gjj)_jeajoNR6?y8U_HQuwWk?dwmMs5m9I8u^AMim+NI`@70-CAO=5Q z+y+zW1-8ZC)G7%r zZRp4HoSwG%+%~3qyv~-%G<5;!IJC?~{4S)MKuWv#V6^*D>(5h$@11> ztRw>M(0qd6ni!CJ<}6>; zi7XO%{(z?`bJZi!xWa5!qeGLZP3L*eL2H?0!U|dvKIw#Li^J|v(U7{fA*EdZ2ADwryyO1A#z-4ez!fTbOvP><97VLD8D$AZ*X*mor_X-!w#V=Vri`NJItdKF=9o z)Bb`1D#B+Nx#auutXtneF=1e^CU`*@Sb`FY7I`*OS+ykw5Xoip0l=*$OwLEdV0wkf zGy-K06W$2+nAm1}>W%X>q9Q^rK!a%9RNLg5kOL^dwE;--Z7`Ho=XL(o?b!Eicyx36OAE1ssI zsz{wsnZ|ovj-N?}WtB!|H%%9uQ5y4ciW@H#tOWq@rmq#*2dfI{zo!eGZTl%tm%Hs@ z#%aQwTq5TT(@@KYpXkgyg)mjGmFsV(#VDcVRWw!(P6KbK7}w<>ZPl-oV^VASOj zL>iQnlD$8CE@y7qeSO?O+T}ZP%QN{q4jA=uc+79&2pY^;Zm)bQj0otCbJe3Cd&-PS0%GYOTh~OyX)Ryv z2=B!Tq;v?k)Cwwi<#8%%%?%aZB6Zw-S{*lA-<>aYR9n{*iaq8Fs(H;+14jt@8uHM` z@71w}){wjOkDROWS`^2+SC}c zTkyHKLpJwJ`MFMZ_+nMy3~dn!54@>3M25V5<@!6|Akp-FPKLt32bXkw60aQ3x}Vt> zbUYjWs+vjeTJZHI5L0-fxl1uJ4JS7J0D_;OObLtCi}9N2*0(|u2_NCy{uAl-3T|KY z8G^4*|K?u-YJv#PD&YwmVw|3Iftlq6phq!fpI0Ej;ECD1M#3v0_QsV9lXHmY27|WK z9Bj;!Qi1*smOknRxfD1HHW<;d$VWfsqbKBTcf9m~iLvP}m`$NZd!%!RxB*+mq`XT6 zy7mhkeRuNlDgFMm`mORw!MAC0nBl>pkmRM+`YaUoc%w^*bzsheXcJ(3Zlgko1_Duh zDD{7A>JP3yy1CYgZO|O)<$}?@#Q4q4)JZ6E;p*R`IpF19T>xM%heqaU@HHq-wRT!kP3#=BS@;bGR!vk+85CFQ9brG#&qB^g@Q|W3wTNUS3 zSC!Ax8#79s28Fsdst!Xi z2;r_CS}r{+PMb$09X)}P!8Y@R#H-Q^q!rj)JaS@1rpiwvo>*YJ;r4xhQJqmKqjXa$ zvidkl6)%@A_98AeU38fq?wzN1^28!kRDP0F9m09J)JbZ;uhRiuHZ~(;8wz6 zcZykRXkAp{Ar*&81|g*1iNPDo!PF$4kk9?e&;;>ZOBAalCg<5;U}R$Js0~Lh&_2p_O6ak zNrb)dG@JE0hJY&_p7Ch%FpU8f?(&_-X~CjMqQgB<;Ca3AbJTWNyJVaUIW`gE3@e6m zy&OS;NbRrq4x_=|Q~V(v!Hb3Vv4lnvILTW1OFVz`EvV8ATcm3{PnYK%7XDN1gGZ_y z;v7vx=MN;t%_HBlyYcgkzl9t>!r}-q08xIWN%D}t0JMrWS?r89sMh^}RWi)JNCfbg zmRXV>{Pqt&Nm-Y@%l(4m>g>*M?Ry~37DuuMN8=}|GkgCDzpIW3!<#$>A2y){yBZd3 zzgrgfXU()i^uHr;buT^7o8Zc%;L1$>bEy4b;AtM{Egfq}KVo|j8gn6` zbctoulz!p^#!DRBpnr$NY0qxAzd9Uy^L?5C?Dklh%aVvasuH3`7Wfnl zcc`>Kg2~oVOh<5~xN8I=%X8YsVIt_=0euHXHxv09fp9q4M}@d^{KoxEPtfrj`PeoZ zd0Lh36H%cSskO0>#uQ>yvs#+%4JlCyg-9hB^7fYNAJgX$v7F>4r0QkeH_0$cw_=XT z;R<|2qc6Ij={IryQY4no{5Y3#{MJ1BEhdwU7^}%X#Imd39K|%0(j2|1=US@2SwW-=j_O)D6RU~f~JyM(l>jQo43$)`ivqL-{ajR(03wmFZWgD3cupd!`)b5ZMk+t{b za?Kf%l^tQJC}HeoekW$N49~AsA@J!aGZ4(V4`B#`bZZqxzL7^AsUuIoo>4&-K_$b~e2u6jsovSxvzele4VBsQw zt6LQ=>UM}+%qA{cpQ#_4eQ8(A0cl5MU*wEzwj+_Z>O~O`)i-<~u#-EY1`$+R+^$<) zJzSn)!)EQS(o4av^>(s%RaF_mWmQ!$AXrk{YlX*64iX(k=pWyeVxBa6xB`yb2nV{L z9KYHd&*iH)w!l9Q_57&b{U}XYy68vCwd+m9x&09%J`sQ?Ko=pqHoFwTL>bPF= zT2<=`LxB0OM^7^Uo6K(vNuC|JjJ34TB-;`ci7BBXAY7+%JrW$xRWRuhf-TG5F|gJM z(0?rua_wEzLyquUDl8-i82XGc+C$4;%Pn*HuL0#{HcZohzLjF5@!c(kpsdzEXCHSb zybNaES(Ft=4m)Hz<>U?(N1jrRVuuQ*H%!-04Ob8a5G*UK-w_--tMxaiByjsQDjKpX z8YB2pc2#%+Wy+yk2k?Z&fI*M{GacEfpIm0hGiZ|I#aZ|@R7AZ@l4ki+O#a-I;q{Sy zUFN9PKY;KN-`mB|af=ON;cNUW`qlXeODy@?g(8B3=7Pd;s99joty3J&ir6H4^M>}t zc(KPsQ>v0!UV^RuojsWiM>mhmRGfda#2Rvh+aZ38DZ*P zea#~bXt%zZ0zwP!4OI~U!YKl z4YQSE!pJg+x9n%-ddcTdqeWS;Cxdz{PzjCA=3af>?QAP6PLPp-il~4HVy<;i4#Wd< zDjSyF2#$nf{Z9!FLja79@SqTj=#f%w!VO2o1VX~BE2oROl5^W!1&Q)1nR=ttBYbW} zRfBN(D4KTQD@Z`WWK6Gu3!K3PF7fBpFT;<*WfUQsC0-oA&dptZYJpoP13Nh-2lTtQ z0Q@ec`Op@j@!<0$&r-cGL#2ZiIO7cHD=9+DVtxO2g~(%Us2aU`C2AzGe0s7R((c&R zFx>h({6wW`CAuc5WGI=c^;_VEzkZI~N^5;c~j6e{D50 zD>|GW`aCk6Bixzc$i=AP02LX|uRah36FfBy=|-!Gml#S^c;o)wv!bmi6t zEC>139a9g6$2}JpWnN8C#ScHC4sf-2oekSwhK$V^4tzao-#X~3$nV$fqED&xVj{iJ zmrEB!sM0Ph1z!UrN4|!MCmRIN;#eIW<1Y-5oKTCKjmx8F1Cq?{(fO{^1zbBj+BJr-c!H;;>mZ?^D^6_(<*&m+r53S((^jsN$MR_1myMH$WIJOO0 zRaIb*cxgT>Q#A(_&Wj>zvt$%PjD%k4=LLps%jgwmb)KT6)#sbjtSA2z00g(oOM%7V zadclVe1i^Kdq@Nj{gHcP^E0B40xw(hV*-mXITusZ&}Y;jQz_1s!v|tQt$DUs`}u8L@3xU2i{wCFez@7afhMZRIoz`CwF-v%LJ(-hw=Jzo%m%l@(F*$^?L0Tt? zXv!IRR_M&gxwkN|QQ{Zkc@Rqo+D=s=>9lM~#I16oC(jXctAyf+eqjvidG z49=QTOT47%?$93Kh?+A^wZ<&XR^4kX&DIQCnoVz0ZsKfyBRfSX*TUt+rCk)(rY0dCpemh&x*f5PZHcZF<2lo|K;$nbK)A2At7-jRGY0qTLmD==W-xNm9?}cO& z88GSy%OLEi-c7%uIS2HqAOnCZTb_ER-myZt+VqiI4J+7z`f=^{U(&V>+IN$PT*`IT zcg;K0vHFVz24EFpHA%m)i*m1D%p98SiVwYI8>Mx3&M@fK<$CB3KxIR7!pCCa^O#U1 z6!67uYdCu6fOyXyCK2Sx1c-xAqSOVg82rvURIhzSWRJM=_eahWvF7hZ ztQkF$w+99jo5rKGi~?}L;U0a-+tSV2t`jB?s`SHmRupIEFf}zWQC(FbgD?Kqj&j4w z(3AShP0XoLg`P(XgnSi>Xabkt!Mj*Vq~hPp463n~#n;~hWedp1w5unLF_={$Xhjb} zVNl^XE-#`&s%w+#@M!I+JvI*ckcA=GlW|1s^E#uF^DiNhf*Xa?k1==9FqYU8U(JLK z-M$OXNF@66?=lWvKnz+Qt$ZN-Is{|q6tBzUb@?tiE;#-U5OCI(`S_i2$Z0Pjc&6eIP@Kv#Kiu0%H^U5%6lC5G) z{(JPeKS3&3f&$J@-zdwbv#H1+GU4@1d_M6bTs@TAn%TNkG;=B2kqj@8X$h=cZfl)` zZ*Zs(gXbRo$$l2V=rgZWCH3m{jPhmJVFpW_htNW2Uo$3@~bws%WqG{mLBs=e*dn@ z+@Csm-1^e4R}m*s~#GKyGX`jSr4AndpFQ@uNV(WPRL1XSHee3 zP`kxQNk99qh}*^j>PtpbNGyoNboWEQhNlzC)}I)<_hAMkT90_>;kLNHXDWag!cKfL z%ud{OLV_klY;~|VyLAZ-Eshc>eFQNzKq>UtQEJV#ySE%?aOHUAZ}OhfTVV&qNX>VZ zXj=g@5#j}o-$$Up+-=)sTGNci@KP@6Xp)$Tt>%;PA1SsK*Zxxkd9RFY_MXb!CY|=X zn8TZ`PuEmn%G7b97y8tWR^Y*QUU{uzzGebIH&WNRe`ba!m;-^%PfSOVDQlQ-6rv*f zHRQgq~gck?skf(#d=0=lz z^eqd3%Wg*ipx-n2%2LUdI`uwtYakW=^9C#s4ML||t=vD-%3idj<1_lJ^aE5Fj@J+I zp~O@(pQ?3+)(yU9H7))Dt1>zQgG-uR4db)-*PQq)&>kPY?S@R=H#s}BJ<#qBSKY7x z{+SZ-(Gt_cg*O}mkTi|&&|~7oG9f&*>XjYi#LBg4VguIUR1}}VN8t-@c-&3F3DJl4 zo#C;s>v(4>AjAFZVZ~jbFRwyfBxa9n%4%F;Zwz@mMXmF-y==4{EAxfNq*vS{yZJ$bK_HIl4?Rch>2BHo@P<~Gnffh^CLMo$gh4_&V6noMp1h-x?-VT zTggk|=h-@S3Z6yiVK z4vq|NT)=HOA!r^e^XoCsuoAc4A#^pEMF^S@pAhwai+t3=szQ>PPjXFBzXKr~#e?R( zX;~7u%dtD)TNrvyNPyqdavp+#eITX@#B`gD$`t|ez7w6iNcCrpc36MMN^Y*U@?E~N z8w2QNGlqc%lI!q{sqNtc$*QoI<7EooL_q`-r2IBJmUB>21gcHW# z&fkKs(8zW3&FDIc9y2ghAJZGz{23NUWin}-Ilf_i<6E(Kb z)4S?$UEmIfEviLB^|&6ko!x^VSWa-Iv+5Q47-z5DjBG|i_)1Q(ovI}IxEnCodnbswt zEo&**T~tqpBi%)J%Aa8CvS6#PVQjE7uPDcYE>7n%+30z6UX8JkVb_X-S3)^85e)wnHHw3md7Pp@l?Iwq z^~cf2Z~+qMuQi=qeAP+}1~00LT&G$b`VW*4i^1J9&Dpgq2J03_nwl{&lWdig?j9>;ksn06cLxvUmy|^AiBzF5^a%rcOo|`$C~Pv-N7qF(->- z#m6`JFy%X=?Ejf-(2V~pu0i)#Gq5vUgIgv@wgc(R6JEbiKrA1zIfTJ69*Sxc(9I$nFb+X6*%b=VB!Tb6r9QWL(9uU#UzFyfS#yE zcHLqPM_sq!c-R+cB}na^s_ISJAWTaklwur{yZPI*31SbS)3C&4{_N~7F!Y?%EDg6dV20<%VG#&9=C$U6CF-qJL z_Xbo$qD+Vdinxnu*VE>k3FdT?X-qFTY{-VFvq}Si`!r`2LlfeDvWJSe=A&wGHKMyb zmzsWGAQDGJPBIB0ktyI2rZ{bhp11vHAvHtsHYS)0lo_Wc>Ky8o@M=-WU}=OAMCvXv zB?N{8!I6-j0l|k11RtYYAn;;j)LbKLt`5B@P&7OVRj{6hZ;GVl@qbP(RY|Ui8X;ZO zk7D2SE_>{Uuq(pZ!onDKM3Frc!gDV?njf z{gQTyQiID%^mFqp_EHX9n8XR10f;M0oYr5U!aDBnGjnB88Tm>6#K_fi>)&}WAu-UA zqGx}=#|@eF^5?;yXWB`&zempC$jGld5Q(_lm~P*#&s9cJ;?L0<+WpcX_ed`w{k4t~`h!{*sYMF0q@; zca_8*-6WUBm0NJ~wSX&q<2$l%qBir35kQGT<3h`3KHk{O3&r+gfs~5jR|74LFp-!K z0U-l~jA+deNx^zHCdk3-L^-``Vqhg_JwCT^`WkzGB(BIR>^ZUOPf=JESV7`4d;%6g z#(VNz5?q`PJNdVYf5~)ZtXga1q=_u6TCGSH_XhQQc~bRvr>kyp7n{qFj284;v&`n+ z@(bx+tt)qNz58DDAjI>VPK+#Jv{Z4urx^ zaH#WVs?N5txs%ppixF6U%9PJ7XSR=ycS%CM{M5jQr-00^e%;BLruWzo=dqSusw+Gw zLBYmybL>90k@Qftq*X=1)3ZL12w5hD?2lTsdYyBF`DxMj-{*Zz%`hy5MD2;trCE2P z&_uh}xv4#GPoUcJV zP~PB8i=*QsN5?7Lhlc{MMl2lqIXHBW!J(*)hjHkxuKq~=5<}yvmQ>cE5G^Mj8%5=w zqS>wINQ|qyIoGNzxk|@3akQu8&ROOgFVAn~IRIl$2`>?qH_re@R_P70zfkoaOW}mG zcw#V$7phv}#HuOjF)U~=Vhu400?yYC~lEC{r>QEtGk+n=tITE{D*uX|&xu{A=D)68|@$$+mulf;W>OoKdw9! zn_a}IBb!q8t}@FI3_ILb;yVxJ-nixxqr*&@@;1p|RLXtI@jAjfHRE*(LllM+Ld9a& zn0q5fC?T%M6`UAEgEc34)0`v$73W~UqJb6q$0!0>N;{FgLCN4i1X(tHxwPA**TH9+ zsT?h`svRY=T8WYSD3R66|63v}i3Bdr&Swa&60aMfxJCq5lP$s37%>k^ipj3N#iCrR(E=ZZON2tYQnShIV#`sl1 z>J(JWAy<$7{(qX85HT-mk1ohrtev6&k5vkE%&tAQg@*A&l1=BH(g{qmt2n`YY&YcC zK-9I%m)QK5NO#2W@XD(sisfP_=N1R89WHt6`-qreQGUiq#L9ySJBtv5oV-#BPo;28 z4G*xI9wuEeXCM%k(5|@9P#5Wm?xe;bY|75=ghOz{$UKeobS^I;9VptJ(9UzVK&S|j z$!lDfcNdA>J?7e9gN!fAX&6(kze%HXY-iCDXz+TVzi}=Xs3nK+GktfWgz|ZwucO_O zKoS!0$7$=1lgC2Pu9tngQaDQqZMBZjXiN_wV6fL}aRyrwyNi=(c5SdFnaEc96V5XI z6YN*CBv`xzQC;z!!Q$n?HlY@SZ6IZv{wlO80hCl;4*5J#*%wO+xp9K(VF__s+p8ae zK$kExJ{UOR7k!yTfmC|~o%L!e2InopQ;iQ#3KrMPfnB2B4s^&PvCIjFoq@9Dae+JP zZTizc(Cr?*jBUT}4%6{q+gf^nRyI&7AA%!1y29e|}P zumV@>agn>6dh(5O&q^@Q(b?C3OqXegSoAV7q*{j-`tzKW(i5D%IYELC#t*Z^~3nEsyzU&&sEEvphz*r zsbg6r3{7a7G_P8c10N0f&I_CZlU3K{<4fyF}2Haof#%v^o%T1!4tg9rx~ z(o-^ZXNYjRfc-{6|bq{$l zhB0zM-HtFdCT~FXVDWqc)s6ezRqPfvVm$g0i`@kQ6fJ*UL*ZP(ZdMZ17i=QZ{AmMB z)E<2?{WRdeN}p?bkbQh{^pw#9I5YS@B42$*VHA9MmZ;p?0d#O~7tibNl>9w-0uJcg z#u}{S$R;y@w70yTC@!cG&Re^Z6ObsXdBQodiFOvcY~j1qMmbW5c<&IZYH&<*QUrtC zLZ_JJl3~-l#WrvD#yd;MMG`dk`YhoXdszLeNY3X=UAtzsO|^+vm@ht(=OR01-koy% zg`E0Q$l_=lYaT=4xLKTl{O1N*6K!iG(~5{R*scz6;RH2jiG=;U4c0)ybNot(zdiZ^ zQ^F_888f21dO~`VL@m56@N?-rtib>SbOgTXFtTv*q}ikY#yrT@>okV9bE8;%u>Q|K zmvCuBh%R;3zxOz#$Bzct&Z~!P%_%y*6F`9}q1q&a!6wHSAD7Q~;_~m5dVpg+0>_>! zWcZ)yUzYMmlGIeOfSx)RK~^`e2X0`QT z4!asg9jUcp)$zg>?n@Ap#jTS-uuA**M(jUmQ-B3(bzEI_7Hvzuxjp(nR+{x@lM%9j zWN#wF+0edxe7P>i9JIk6PJk3%4tpj7sB8*Ts!H$Xoq;Q&JNryuCg&b|1U0B%u=dY9 zpvQ$sL0Fneo>K(aM(@6-S_|Y2XHF#ZLM>ymwRWVBl07!n#xO{;NRW_~OnbEx9$F<-846_Uj0i4}2wM$dB2tpOU3P zsv=pDoEoMD5Xiyz4zx{+?mYZn!?I)6(1B;A2<7^94r?gXtDq*oE6|!{ zYjrCRyv|g!MCr_n+=eg3V5>N}pe@l7u9ZEdo9PGuhbudUJRTZdBf>QZO24F$ipnW; z@*HU5_wr&mO2}QYVXN(u{`OCaL?m*y@GT``mhN%l3T8!`V53!sT9ej&os+nBO}uu1 z`z-Cz*gT1qkn%r?dlT@e%Cq5rCNq!$1~O`Zs8OS&HA=LRL`@88Ldc?!WI`k%Y7**# z7;MWj!%`rC1BAorpuV*(?OUbQwzk@e)hd;~nh=`=p@2vg3RtwXedweb1R-c-zTf?v zGg-jae*f>gzQ31DX3p}g_jB)yx}e%tUU@f;`iL1mNiX8Yb(*BISHuptCfIO zO$~HG^dd_=1=z_0qpQ_84mCiDa~q=J4s{5wBjQ?9+r`U0>KgqfoTbiMyPV|yH8p{I z(J_`w@~LxmEbOffuG<=igiggZ`iYsFtl}?ZCAtCy4RLj5n{Jk{_^ZRkS-9jY^#VL> zHFO8AB3urA{U*PcFYUx-qepO}Qmq%uVBZD!YHHMTH)=5gW=(VGI{9lxuRRZsO4Jlp z(K)ltIpAG88sQx=P5CzF$YQkdK6w?EdQd^OTM4~?F2I{NvxwtQ7UzU@kMp~|@Q_eD z$)P;8Gwl71063w2VfSx9e3-(;HXg{h-odX0=cqVY;Wr>HDeaDJ+gPr%{OW}}oH|d) z@OH<61Mt}dWfRoMj1Q?7*dUVvTsuQ8!-tkC%8sbJ@(??Mpsx;Lul1 zQIFitO0x!|;6>5EI4_BL`HP21jDbT2c;= zftfcR96|R=umQMYt9&#+Kg0Y@o*VoCm-9BUgz+(xFy6R4KRA6Ubz( zIXB&fvv>Z&XPiOT250NI=6+WK_7yY#uF%3P2RbGcUy%G%r!1J(Dno6mm!l{P#8;?t zkZ_IpnxIlNB<2&};R{OrB43Fdt?}yj>>P0Cg@LnS>s|CMnv&6jZW8$_!1BBdmk!w% z7kCkT%nr+=OGS`or8auzaq-3Q(7we`c!h+mkoD~vFY60~4Q?s&H2JV+xQ)h{pgm!u zgEz4-e!)>qoGQHEq4%Wl09RSJhjE<8?WpsT>cnGmX$b4S$W#CQcXWlp8nN192k9(KhHOh~!>Li? zWCbPEmT91;A&tuD)iOS&&|T9o)NoO^^_rTaKj9?Wjl|?%r-*#XeIg&LY2T{Xx3a$I z)*CMcoUc zssZmGQ{T9gL(!$BECRkp{{ShA=J4T-BH^JFBOYZ)PN8?6o4B!7+2e++jsGnup(Kad z62yI|Ax+gH^Xo~!)&+s8F-cj~nYr)iPlSf!U+bAS3H3{e=wTv(d(cPY#gRuT2^Bgu zWWgdoNt{_t&OiQnlyQ~s3~ie_b%zLmpNjyvEz&@UZ-L={B|<>(A#<=~4x8;!6~L~3 z@$7JEv-+L9FkQdU9LWKca%fA9K>kEK!h*qM{N*xvA#-14W#nASk=lLjQ8VOKYZ-_} z_ECX%o3?fk#+~9&$M0vZnSf2Bn2179zjGm9Ljf~VocTSGb8|P(g^=QM5*Z-|(IL5? zQlj-!G;3_XY>!^aq4Ql0L#LVURY?yMLttNq&~nTZntsGkqN%I?@(YY(Fn9?Mw;W!} zCDHP9pIkC1)E&QMX{b9PurSnpBrxxKM;Fr5edD%7BxR%{a7Rw5H}Vk=1M2b6pXjpr zikR0(%QlVepy45p5v#8Wzkr zCADQN08GM~Ywt1u_z3#@u9MZi;a;rLt0u38`j&nlT~Gn44kdryCQ}&COb>AfrZf zPFi$Ms#${5VS_DoeKW%utgXf*tX6T-u$*FSy}>L?q*lwrx~fKWei{K3>UF$&K;KtI zM~)|I!XL&CTqC|OWu$V#Vim8B}o5>ErkqbsFQihj3#V2s{)e?$xE!qtRJasafHrU6nJi z@XufiOj&x`!Q7be%4DC{%<^S6Kl|*nGl&3yX~VxtJ$e@d4IZrGDK&|P^`PgV@wqKB zxJrG*7mlXEkm{k0nSZELw|`aY0qJ>&kp$842=oxKCQ&V5?zqz@2&!sjI5SrsALff( z#;u%1p5S4ednf|(T`gOH*m}#~c?a=mZ~43YM*u38g`gw6qOkBsXU|q=!>)#Aq=0vD zR}#w=j>EVE%$|+r3VmXAl~J6c{>e9VSH0#ds74$K_O|49oZlQe7*}G6KNSb0T=0SS zrJ&BlZ@Uld-O~ErUaPdv5S!VFxP`}|B*}r=?gNG0mY2D(9Y-4S%u}~P%;(A;wWow4 z&fpQ8F*CR9Lmj)?0XHT9xjI>Y@fzzA`C_a~(w`~%GgW`4>CbfinZak<>MTABv4rI;Mv~_VvI(t?BI_e()PZeftXG4P(7?V}G!Fic8}Kyc~b zUTyACwemx9REjG&6_x;$*W{Z7nvPxS*?*X!EbTckwd=hjy=zG~R^#uT-2asla0R6% zRW?G2VuLo)sE$n@N?}t)|=)hj7xpWb=8@Fr!<9$W;WBUu0>Rjh^><{wn{^5R_ zQs0r^r3W=Xt!?1QGeDBsg8-^t=O#Vq2Ba92`jtFQuIKGsRg`OxA66^^OCtcNcMqoY z3Tp=m4lq{BhN`>RefDC@0iRLA|A|IP60J=0SOEt@%lCd5u1KtE$g4Bsa#zSZflG5& z2p9w|GFJ!)jGcfp&baw!h3@Ea5NIUK(Sa$Q2c{egZB7Y&=nS?W*rQcA+Dk5U@J8bA zTrD~N#K75mKMYML#nSX7#{nOG8vaD-aP30^Kr45FvDU1RubIvKKv)sP4)e9hH)z3y ze7fc)Dk)ROnq82`nptI~;1?o9irZWWumXrljgO#v?}uAjdpB=?PTx^L)!$>jq9L9@ z3#hE*S8zR{11mogtSA~7^L3fKuvvzHbJ(4O({vm)sZLT(xqWO46%pju2`u|Z=ex=x z&Z6A+xN0k#~K6&iTCo*28HQH=)f56nw5st2m0 zFY1n|TLZIeLC4+?tz+&CzDAKck(pxpL#=L=LGDHUBuTe^3@}7PvQ6mdI%&b&BnK8U zM9u<{-dv^}UDtQz=u%C2cy4LpJRDfZwy*>{%@^gQqj8#hGaA%+g`rQK^YTJV6CJ_p z%okXkT0Ea?`~i~X(MC`jUiW^;(Dyc@1{~M} ztK-|aOSt9d5jZus438F`lp?z4cGvAZZxnddM9ddv5ISlUWV2oc3k{t!%?Pb$SxAVa zKcCZ|8}#Q(`cn>u5qd*^cE~4^XrZUUX%u)=9I|dh9F1vT9d%Uf)h_wDh6mLl`8h~_ zJ}5u`C_e|wPhk{PoBTu)GeY9*s$St|$q8*0TCqv42=BQ@SBMXevKbdO0Zu&OwdNY@ z9Vr%nS`r(hV2Nr7GEY`0Kx_1qV zz)b@Bj=ONb&G#_k2GCQ4D z#|SmkNWZc_SEkdBD`WB0vBV0^)q9$1+^GVq#rZ%L+&=(?3 zhR|nD$$mmYpX;2>Tj%aU-LOMFOK-Fc zQi-opM^l)gKFL~rmGT&;?<(X|%gf182)Su zB2>f*39M*&gGOr)ivWgS#wUUken7K*qv9Z_n-~~aK;ol%5V`{s$!aYtoxFl@*X)>n z&)gb)ch;ngEQ*&(0l$fH83fR~I>H4gE~bf)P}rGA8;E&xNolQ^roEQaJT$Y=+rJ%d zLW7)^0jswZTfEHr9gNGCSAl>6JJzI6?xSMs%H2GFtoe$7#n{c2rX)Lsr%!l(Yv!)p zj=6(R95*{6L&vs+%c3WaguSlY%vaX)1oahnsIS(E-hHn4ZJp0oNOjON*9EB*@@aDm zwy_d9U@xTc$}<$WtpC}jtJ<91mre*(px$$2fR(_zhzp*Rr~1hN*CS0^g+F0(rTzv= z^sbx-n;BQaY8jm!rrb%z^UUL}tr90mYVkSl`QPB_sZ@N-FmLxsfYl)Lwro!IKE7Tj zS3k?;dhbH}Iixc^fGKiAO6fOB1 zi3}bmc2CaY#NfT*1)L>;+V74-Oe{#vG6})FElt$Em97pFUzJj3Zeda{w2_tUUA(x> z?pbeVwG|gS&6_efa;`Vg#7|M{;V=410XAjwt6kk9BV8+I}PS^*6}QTlHL?$^DP-k zb-_!_6`BaFSPpbx-jk%2c{vk&^M^#|;!y2IPL6T6pu);owVo_k{8?{i;dG6wRgbwO zDZ_Qr!h+HA^r)^#68ct}6HP#o&(#`TCnP;ulDd4^I4tc`#NhfV1O+y?t$3V;K2eo& zz>_jUOFXHL;Na*wq4_p)qchwv&Q>3tMAqHOb$kZuI?_Rmu4Zt0IOabDnQj zF_^A8Eeim_f@Dq}oWTZ}6VFO_O*|_#c$r{{$%B*I-DklXI-=%!KFvz+tnyS;DJ8s^ z>bk{~61~|6_o9B3LA!-W0ZL<@YV{XPzq0Xi^UbS3apSAo<3+Qg=8lpfDI-;HB?iua zNM-T${1kSmD?CpFQKu@?Op^uL!n30Y_+=L7*sh zn41`w-m#qeL=5HQRoqDW?suq%RZ9qTHum`5^ZXe5l~WY>!H2{srOII!w??oGm1+kF3-pRoolJAJdw|iK%?C7vcvJ`m z6^K0v&%a|#-4i)`>=7zXCOrRU!t-4ahj)zN9=b|~)SOm3@*JkcBJ8Hk+TCkQeI`~H z&+;QqqqbvBDMQ##or#>n&bgkID7yjxaPBM3bd?aADI!m`&oygTfo#y!4zqN(;eLpk!X4(+H$-XlPUgO- z97z&-dWhoB4;3EFI-Csc2;JZgeyC%nacE9=6{Y4DHqRXz+yiTn6YLJ|BoNrDOdR?B z@}-|U0-JN{(iZ%Wl;fb8z@Xfq3XL-gQlqN{b?XYWI>+F45Vq5=#-kK6r;^$|kScha zCMNoNQTJ*&bKDvdT`l5Uv^d?y@erwANu>}RT9I65I8U+s}zh{mO@>dP`i)!hRS<* zN8vxsyRY-ESTK2|F9#F|^PM_4uc0E|-vN3QA*S960FMsQrlzWFso@37TLlklbHI}K zC?Pj5JC^qdTfJs~k%3L2(a&B;Uv>np2oHbCl1jbn)-y}jv<#`uJt?)_1vofz*U9mq z^zdqpHzuWCwoZ;j=+0D-J!OA~Xkz&X9u2jnv=wB)d{Sac4Ta6uR_6kl=pcA;88}}l zEzp%);N#?$;QG^rG8TibS(3~dyL|Z~mNB(0f1;D{El47MO)$yWoH|cSRjNyRw*Use z5erl=ue^^=)i00%ZC)An$zt}awDt(}=W7^WWmz%QT?rhAni!u8C8$7ytz1hjkMo9% zjlYtGdYRTlFzA5Xg+*c^!?C&oX+b6jb}aCMC_>$y#`6XyeC`xU)GXbGubV5pbfgXCbI*vYFor5O>9Q8-YKp|W^G4BwRsz&1KDdi-X%%4 zI7TkptxHbYE^R%!&47~lUOP}@gpm-m*{W5UBx#! z-4LM_&#>23vx43%*W8TdjqLY`5<_2%-kgG3ksv4iYXha7Dd~Ncw!>(WXIT$`+zZc; z86cXUe_ePdF@W~U2!}d*IZBLA=ThIok`YL1C2F+>$7@f+#1PNmhueGVK@uJSP19%o z&bs(JqTq!SP<4MWooTswWT(?oQn%k3O}AH=`p5JRjKUSD8HX)OWa-*<6$N z+lTqme{@8?FaG>nS!`29jFeu zEqq7sJ@J}gW>P;{I2t&ReFA)g&hI;=glq`N0lc{3Q<^ppqnlfd6)i$n+C7%BqD?(} zo@S>6laW{mspAL(L7Z3r!;(|Cl{E-Af~2t%Wj0@2lz|a13qu5Zp>^syxt?}0S7=DE zj^9Fe_@P@7_-#e$l5$7$NX{dS@J@Quc!Y5OaG6&}{5#ZrQfpWMQ+kyZ2yuSZE+@I3wDuI5!kgmdeQSr_Ck z-S+wo%Q)~GPODP&!+2$&d$P4gY6;6_J1I}BQrDjL-04kaQ2+Bw9-)Hfk)i#1W0NnF zB@`JFacQD@O70F2mn2glt~wBOwHtxbTK5WhDZ)?n*Eo(vhMIN8d!#k;sISRuKjb+q zlWqYiT^Ih>Tp%);l0H}9@h9l4OVuF($cD+)A=T7Rdmf-|P7I$43OBCut3f2Tko27FO_FuNKFp^)sau|2u zVneMSEMQhs!58(>6v?QqINhnxgKF^)xa`0At)c4$Rvc6f>_&G=o|32JckAKBxjN44 zKS3up4cRpLQ3|qKG(?AtrdS9*)Lm^AXXV~PvAXN*{c9k8GiUM!xLGKRUkx9xDajJK zX2i#?o?sl%mxuM$V(REw4xnAf-DM;H7cDU8*yuAxWL* zW)?74l7QfcC7ZgxuB18ey znb99H;1bx15^IUj!+mE75rvp>BHHm!=iEw^dOM+a{D*rI(Q!BOP2IxKa9iTEO2S%I z$WJ6ZidD!W(9ya0fc&`*Sh&;qnwW(}6w@{{p zWQgfJ{K`r?YmYx9hdEr1Vwg!vC|sIRoKCE`Q9RigY&3~N%Fu=13>|}GXf=>!*fE;q zC>u@9d|K(1S&c8ZG*MxkK0}SSJIF>k|8{l3FPX-S+Z{F0m!&;5J)XS{m-$rDE6lu) zN3x7fu%YUE3{^8e!)Geqs8YFcywZA^Ey19JO9r$6l<==s>2e!r^eL;j%)1&TY(85GZ{PMdnF!(Rp2}nNSfq$2P zM4V(98$~odX40xZ2QCef(`Z=ct|qEyO3HytaOWkTa4RmjIIHHqO{tAP;h%fhP8Hx~ zBq*1TXuZlcM5&vOK`#M$T~XW<31Uv>OXyQK;VGYbf&_@meaZGG_sjgDmXxmO5a{j( zCzY`0;4JHnJR>Yt#qHv97xd({{4GAmJ&KG4H{FgAbvvUtE4HM-+M;QKA5oYNP)YSV zoJtGS4_!Tx)sYIJ&vBR~?N?v@(0)zy8F0?vxC;E7JRDFVGG8HqQy_)H$kU>h1(?nU z@H1pOi%gM#BsKlldLJ$cN%mtRq{PjAySm~h9Czpt3QiT~2qHv|(aw@OUHpy*87X{< z&u`A@8xVYoa91|sJ2I{rALGEeq==Db^8MtDzyURSjhf6n5k&L?2{07h4gn&ZY8)_4 zI`rGEuqi_LR@^6M*X=O zZ+{NfKOSZ_J9L&*^AUYGzMvRjW^+z~m-c|~JbzWVEKS{7OOF6&_L<#+%}P6~{n1yX zV=5!RL_!sR_yNIP>c9*1rfrWDuc=atxF+5m*L}|AV!!#Mp2!!pS!yNXajI*<)mrza zX}RU*yVOIfb>bK?{$y<|3tm{QHh{%JFgqxBMExPq3?Ysuc7?sa?Yj7^UbQ`&hi8*V zmk5>`#ic#P<_T%zu_9cMk}K6Ev|?^;i43BdxBo64OgFhDbN7%O-G&VSqGyqF10pwz zmssJ#5=W~e%-oRVa_TjhL)87xTXT#Zcj7Cojop%0pt`}?kl@D%a?fXSZm0{olz`}=e0l=52Nze97`NoXCvvT=>6fgxQ&kCx zPS#S>0LHm45^q03CS7Z33;fY}(@-#Ol$7kU)dP;MIf>dle)VR&-Vr+Ah4qC%XGATk#EcnE82d{%lhc+X!|&`l^xa+4)N<&?pyQp zl%@a=sm*H^TNZ_9s>0OOJW(xd+m5@3wpMHFhn_gMlb{Vh(DToyH1tIE*)hp?k)gvhGz_Ie8T0X z3?j>yO?ME2Q_QKf2w=Au24&MrFxbjY4MR5qX~Y~6TZKhY5SE4`4?!59pa*yWIC>zO*(~elVm;y zCHPD-EOd-53m8R#a8t8&ks5n8uOg(5P&u>4UB&twya;SU;k9D31FYeGk*uQ0a%9n~ zmiETS{U(w1k$b@-8l71lDqqqLRd`Qt=Nqwh0{z;N!BBpkVdN}cLO!mg-FDv+nU~8O zTn-*3+!n>eIXU>0pC{6X#P9r>gw_!+{6%%O8g>PnDhbTa1<|;{(h1-hRuqt$7m7xq z!(&ZRYV?sKQ4c`p=Pfw{Q|NT2w#INk#@qhsL&h)E400^v?S9c|d}+p8oj#=NjPxOI zeQa+w8_V{@HmWxRuANB4Js^=ty|4qli9{-}ED2VZv!hQHYLh@JlI*xDn}n5=RJ9e~ z;Z(mq$-qdsLO zQ(0!zr)m+zs24FJdX3Is`l>uxPB;%5yA@*BGKw?s*LWHk4u%P~`=qVs67E2KLN~=8 z6iQMyLaw~SmFNN=-?s71tj_>JT#ctx8++22EO)LU)bj*gJH z8qO1X!UshFGF>?jil7uEn{sGjqN6dNd}G-vB7|lbnfxyKspf)i1gA;5wwG^~6(^{$ zz%3!~@eNq5`uUu}A4epoKkijD0D~lv=~qg3G5w|{!|J_d0OW@MW^70XgY+QH8_fia zwa8-QmFFSd=|yCq+-FvM3d}W{ydDAl!!(+$Zy#Lc{&gVEE@y6OZAA=QNOH_*W2)E) zNoY{mBgr6g=GiGErcDcYVL{1(i@W7t?Q~+6P|Uj`6`P}V!HR^?r>z2ojm^sb;~i#2&0v`550Xfp{f7@ zH`MJ4UZiWiuad1M7c{Q16mw!<)rl_6?qo;}^@WX>hKsUw{d23Ee$VZ&o|D??3zzJ* z*PwQDl88+fdzpKt^ib-lgy+m4%xuX`aw?^gt&9<@xKps=B@Xt8RCO?-Vv4v4BPC-J zWegj59uveFyw?zMA9ulR9pnJEwF)fYkw~>kJQw1&cg&9C?ln$oib=MF1nmBj`N_p; zKpl|7eRIc{GIB+QV`-wU6xRT`My@D}acy{3KRiuV&taaUq^gZTSRLdZn|bCiu63N*TJ5 zN599TqLPa@JyFT^WqUm#r@$9r1*lR#)N54(B@ZOQ-G#j;RWoa;DZbCl`XA3@sG`(V zmJZWnwVEgm8iT1zWp9Y)n2v;QNLiXBhTkIh6eCVu$Wzh5%x;6TM#>e&I3(e%LTx=@ zd8F=>sWgTDH~?95SB1STY6EYvjK@9l#nuAL`#j@kM4r=+%Zy@jii4)@YL zo}T^_GS_ZB{rKM5-gD|yw3-N}Y8hc{wpN^&MhC>60&JqMD|ffYKm0g8ay2mKmddHe zY;TW$j%)43?%n(`o)olUJh@(fiqLI5`HcP)ythXCS+9BW*ZRsK`K(WFYwF~Sq<*)B zOFOtY?)RTzS#|eC5X<5-60~oBe?x9{KPX1m*s|HTw&`1wzv!(O^sT%Bx4sMz!;;=g z&u_3yPesLJX1jV)B$Lzig0yvTUa!ISOl$2Bb>jp)`}$tn(i%GKKFs6=IRL|I7W-ps z6}z}vrT+R)VFCIk8R|@uJ=v>rzs&$DQwUrptI?}MDjbbhnu}9JP{9SuoIPF=I;lH; zq-B*p%?Yt9tHugpAtMhCJMny7zHBl?{c~CXnM7B@C>Nw8too<*JDksmE0fLpMNxb_ zFC#8t)i$}KHL>QDlo;;MY__mJKnU_rSoyQQhe{I1miSECd?nA9+mR3!glrbzbPNeF zH%PncH^0Egx-BrYJtQ!}6^HqNz)`5hSE+t6RGv=>Z4^T2XuQmvm!gwZk<%cw9x^87 zI>>w?C2Z#L+sd*t0&x>cLi%Z|hspsx(2h)YLmri3Q~2^TzL@ipX;!bFUtLZ^BI8X- zwlyz4!No@f7e4}5Myi{}9&Kbi#Wa?7sTtD1Iz42u>HmbRH3F#}YO#n9UFMFMf64Xo zV4E6CBNlS*6@9za#d5FSBM#Z8tF;jO$gC)0pGzGSor;dP30J0P9xpPtuU#%W4n(%0 z`6xdw$=x0t-Vg`W2Ck zgcFFD-C`_ zr(L|d$yfb~-~rKl-Pi+rjn?IN;`sL)?ZX(Z_drV)@dK$+`@K z_?`VA_3%7aTW!9+CmMR{IT~RX+6s?4lvGn=JrdZIkKJJB!lQ>pVY&P%F(!O2aUJ_9 zfRm%6x~wCe9TL3(P6MlSmmQm-S@q!!aHH1KLh@Eq&Be3NV$fX44%o{|(Dhwot>*A^a?n7h09ig6RI z-XZlZmRwJAklMOW_xK1XS-p+0#kpbtyT{9F>{O3jj1N-4=> z7d5T9dOdwYA6fRi`_vD3k$dV-h1}Y%z9T=ktN(gN=frapKzK6rxfN zfD}CS!aH*eM6W^d(`sU^YI_>aHD6p$PZiO5$=D{v?~^i!JCIhzbc&if`mQY2A9y6R zw9AR0!#4{8nsfCY0Twq2`PfeU@-Mjr$2L!=FDlZTaV5ut-Wre|%on7m=$vG~?qfg~ zforAtz-T_*2;t;^s9dA7Al;eA*4`r;SZ5_kL#fJ*G=UE06sASAW2LaSZ4PIo(C)_h zCEZ*Q*$ndIKu$_w;14ch;8dsgtlEbSZ4HdFcC@vP+(*=b>zJZO#46?QF(f=&M4aua zg?lk>0qza?9p~-ys>8p1nn~u44vr8%ZjouphC}GB=(~j_BRRRI)5qjQuMiwBlKUck zTn8xgaKRT&Th-7{=rwszAbGWXF*mN^GvXpO5Ch4UK_YUsf*0xqFH8_|7_G;C(hq4V zI-FdHa?fG5;_}^3qW&Gv;i=9zsUKFj+r+Y4cj9kG?aqV;TTbj9)={CpFRUb<=Z8oD zuZ^`F@0kS^gMlHxdTiIJsJN0Ia%fS)EcOY`Fba3#$F7bgGreNBm?&`{8+(xibxrMB zwXd;Iyhl6eaSUmy+-r!Tz>ix(XQpGpy5E@i4pj*xq>HE^ zqPpH*(qiJgU3hS8t0)5SMMsKoKjv5YcQZqBs-PU1dXP+~H;eCiu@7KsN4XAfSWVy> z>5$5OW8OC0Z<*w?kv?#&s`iAoI3u`yqE_{C)B7NWA`GD^F*vxx?Gt49ulMuI!l zI{p&X@#4qe2d^WvC_RoSaY5zFUlWYx2$orBVEINNrH;Ujq1QB~oIl#S4k}0Vjc$05 zn`*(|piV!vFe#aH)k_+SA$Dw6C(wIsaMp2nweVr{YbQYzob9}9L5iB>VpY>5SF}r` zQAumf1ObJeHj!O`T~8H(pLuNvuUS-#O5bdMyEcH!FfBF=6d+oj;4w5zBPC;vU^1)X zEn4Mw(Cv@}t2})|(^)7!$SGqcm~;B{mtr)VdJN~;v0CFvwq|C>Cacgl`Mb0WUI4n( z>t8~2)H|Rtxjsd1^z|hTZB@5l%V4*vsr-r2XI!Lo`6)#Bg2ceMJfk2{{KLy(6Rwn} zH|Y~XTPeNcw%YRPMj~GY3NFR0%6q}{OihhoJpAfv)=f)$9cu4i?J~v^M|a)%p#1R~ z<>Mp!$rKCagEKOBAqsidJk-h3k&}((I@`+J4`b^NUPe~k#K@TJsXn~xmfQR;HF4$g zubpci68vtwAc!2aU}a^|*3T8|xfIS%Z;C}%nQwsxzAYKj=XzXix!q*9zu7zH1OqVK zFNn-M!5uk=fbBO#hEH*Xrjz;jWB9~g39thH<&(=_*MJ$AYHd9Xjp)I(`Aan%)S_di zb&IUp@9W=VbiILrtEjo3YW1;xBkcT%1KKcOn2a)5{iwOIgGt%Iw>|o%yxK(Wj)^CD2d=#j<46&=S?8^vU6^}uqoCkzk988!^olmw=K6$tP%}l}s4tkyo4EkGA^qMB#22Zhd1y5C57U(Vk5iFE72Zjppw#Kx(v-=)%9aKukEQsuu#v8 z5?&@9UH}fouZoZ|gfDQYbJ0mkcWXn!K{76@R^?zY9+%?+gZXp?&qc^%#^yGigSzm) zEFte3670>p#0rc?B|3Kiu3KBE(>VgJnirE=oi>fJ0q9srIRcsD^>L?sNK)2d4UY)@ zj`+<5{W{#uASHEg4;*piYP0@}C%)94xRho(#_2Q5Df#*QNX7`%ir~bucdBDovFw@< zz)QjhLJRxR1xpK4*ez9#x8Uqbv`inOwuu5&xO?e>7+U%h1?&rgg7w>%*>qtLD1_Xr zY8GY|Y#umT^rH$`!6GB|RW#0hU2$2be2qi z?@+O6X}Bz1n;u%6C03atOE~P;GQ;b$g}T*N1a>AQbR|2yxTn1!UEmGk`l1Nn@p{w6 zkY7M`A=0DXEPxXuk~F1H7GBuS1!qN$;>n>N#b7wo4GoD5m!FTz&utEoB0Bx*$CJTO zTA3RSJty7hPwD%s_9;P_)2sq{B&*b#_XsRwC^w0qq96UOoX6ajxjDg0ElG+cj%(Ah zl~etY$E~ZCs*zU?ucM3OA(6@A0x2bi)nzZy>=iRKWxm^DlV4khsHEcp`lx{zDz(^F zsSf=~%WZ$Q&dx(T9NHukaadz;!1Y+Cox~r#T+fOFJoc1+jODV7$0P_^&ua-UuNJD} zkIqj9kklcVAkgDDK>bR-+N>04O-ot>SgCYr)MBNq$~~IpwvL*har=<g$*j7-j7;+CwilhFBdPsjnJ^4&2>Ma@yE$ws$g5c*BS2Bc2$w(nX zzdDlL8byAu zJK%7s%a_rI@N|LlhB&Rh5nWQGsP};(Jdk-j@?KvLh*JNe2d@lh={P3e75QabVYiT* zUtb~Qru$3CO+(_w2Sr4A^6!?2BGL93E2R|XCV}G6Jw)W^RaP0-s;N`hOTkg))8&dP zu{{d`pOOa{GNONjXQz58 zJW)R*t%SG^G|~!ZW*KRp;M*4(Y2Vs?nvr(F0n13cbkFHV+FI^tBQ3Oc24t*kxZ{=499|*gCvCNGQsPp%5+ie;OXa!T{C6&uqLml7!-G(6aXY-4u?=uLghTxQ z*AXa%?fnlNfx^fMO#44@1ZwyUN1(yz!~Ufs5InN^7BslT8{N>&0py=> zX!G>Y`x{(us`ptiZ5;D#Y!%2H^jA^HT3*fJI^sle8qPHqqm)R*hdEXuHOXj9u0&Z* zg*eql)VsK%1}|$!S5w|$qoJq*b?~QDv&SX9qY{&i6h%hC-bkU!4+s!^6kK1VR(Tsp@oQyquqQO%Wx zFO-HkMc$3sM``$KX;@MXkV?{(AuMvG*BENt>^5%p7&m*3Ny)~f6gb^*L7L$)aIGvM zOO2W$-k9ZXzuGhdhCL6SFuK4Uo|L5z(_1VVf*;>qYUQ7pZ$sW|a(Kg&rd9En`av1w zjYpQrudpd6iD%s^#C5p)&{G~BMigb1p{Km^y_)-j)NeVYB>AZ&n;L9B8uB`sK!Bf? z4~JC!!u`~1#K&AXYU>3jB!Uw}&?iLi))OB{m`i;kDh#7O$$7?Xr<*x*ELVw6S{kDV#R6*G8x1 zwJ~F_g%IxJPRwiLP3^TYnLC0IPV4#k2S5q~oJD@f6|3j(^3Ce`I=kml81}szaQByz zgTb|6Bk>sdht>B#Ktkd%(nW2_Sl=DG@15L{zM+d4nU4Rx*U0omL4n|+M0&W0N_4qp z5G6UO-;I>P+^|EeR*AW+un zjxZCaXh)dc9L@iCjxbr66VGsjd7Yi>?+Ej6%KcXKTi^-y0)K750hx8VcW?=K7#tqs@slSAVlta?{6An4pfeXo3 z?N!yQG@pLf8NzpHlVxj7)s=x@9nYf^+tAu67P+DPmRt)zTP)~Y+*Pa*Gib*ag0^gq zXfCvm(x@CGEtO9U-|-T0$}Y4lMpK zW1XAzH!?%73%BPW{$hu6h&@5_qk3Ze3GB)H8$vD9T|3mPXeDh|dD|+X`MjbY^BSpA zdd_x1XQ&>n@DkYT)j~7#_5-3=m3@?xy(oBn=B~`<378^AW9rL*N%`d;cuSPLwPYj> zoKs136^gow=rx#_S9QZs;Xkf*`SCf&6Z6$p4nIX0#f9Ire~N6NB@AMZFf z+pCQk%_R z`nDDU)>6#Iy8Iq(VUL^SQ7tYSpXv#J+Z(zR7X_+s!**&3h?{@qrYhjsnCb{cTP=ah zk~-L>Ay@Kqg%0+Z0S{^g3betzy}OsaOsd4wT)nzNAI?EJjUEaByev=%)Ew#$T9(&5 z1v;NpY#gSVE5c1OXmNl$I7z!P3be3+vDvI+7deo4+8td&#SyLcKbQl6G~T{;=w-F~p|W6Jl!~F2G)mx5O|iN4a1}=m zuJBg^;dSs&c!Q;@_umATbp$_5tQeVl;8sQgJ1z>t31Anw{czvE!qe6uuT621`W)7Q zRSYdk)3ry`=du=3>Q-;5oM&y3cTPqAY)mAk4-P2Q;;ySb{NXLO*_Mg4=O^+Wtp#iS=h5wh8)LaDvf2`U6i%g!cO zWG4RIY8~{55J%a=fw>2HYM8#fLk<3vxY=URh3$)jE~A$h23q$iWLWr<2hVz_nfZgbd)(Pl{^MZ$nDm57mQjG2WH-df}js71-{Df%Yw1}V6>)pEl11bM!fXja-B%VK4>FZY2K&N5#R#HZSUPF>6KBQm!2 zyZ(Id_0T;e1i#1Yz^ZQTh(tmkiO!zLp_`_D3MsLARX*HEVkEpP$~!q)fSbJRkcd z#4JBCJSokura-gQxuSg&Jbf`RoW}X30LZB2jTHY|E$Yz#l?*+RY0(6I!GC()&YIH}{|2Rish(zK7!a7!!Sq?MYQ zXpsk<#R(#!VKou9PqPSc&ur4(?GFf>sl%r(=+)6@Pf^b;Jk4uS<4ccY=6&U2FzizA zJ=JS4#0qrI)wYEfQkb$+L^u$_WCe0&j z3ZEf{Z%yqcbG2X;qws0S%Q~$r#sg!+n%Y;xRnv^Zm;8i(HBDq)sn{I|um#tFnm85p z;lfu%c^rI3%>zD+!sjF`;xZSmph(Ehcd_`W0 z23Gw};QfOFdypihRNvEW5$dgb+yRqp_qe8ikKc;*7`L|7>L`yH=N4{Q@{4fcbDDJh z9?ZtUNH9yELwzycCk)(kIP$DkG(-qpPIm34KvvEZ8Y`#6#Y|H*3DzuP^`OFf3 zZpq|j9^hUrg-34JIz_sjtiY!)?mZdMau=0!y+NVVI~p8qI|DRdcUrTA7*q zLTwk}ZVG5pl$^k=9s-O(BWB`bV-g>SU>S*z7v#P-_buKk0nYG7Q=&m<1 zEMr!TXe<#iQ!|Fo$YBB+UzLUV0^V>7_tm95Zt;eCnwiY3cV5UOOd9={%q-CZZ|Q0w z*Hv-uskwjUFnlTUF-xhJCYXZ4MI8!1Mj5jpA)QKuTcMUL?ke12M3NDHK}f2l@NT7O>>QmhaSl7}%pmU2F1(XVt zG`I}}A$hc{*uQ-0i)(Q&G=8unIKm`;znM&Xy&?QI8$%itL2>;#6U}~VBk+^QAT=&C zKfBkkC=PQ+&^RJ{knFRz`*;!WQV3BvR{hFB1UQV(McLWZu>TsY##mSgk8*aiZAIDq z9xWPL5Bwy4I$h$adjAn&;fN>ba=!JvW`r~Z+~LV(L_Ec6)*6WjA_R7+kP zSj`nJ9lU2~{H=~?A7iY4Djv25HS)X2h!)@XWlrtp5o>@-Tv}-0Ee73B3uw7Xu!K59 z!B)nJS)IrT2HIa4r#iXJsBv|!J^a9S*<+6~c3{b{LA1hb5gN8InGjg<_ddhSj~RKp zHuSqxd`QxN5$jxwbUp$xKfvA4PoHKq z&^K9KuE*QgEwiJ(pfb_A*H{!V^i!dOjye`u{tDZmF5pXSI@d8B&PJ#iSEF)}lAe-4 z`|9=jso)5Z;OCXJXXq;y<5B9BpsSmbRrSrX8Y0oEyNFw<;dMKY4-PUfiy2kj&+!v@ zkc`!7JkI$*q8aKEuidm?$xv z3>5OcM&nn@+1MzWxN={@s{82~JDP_DGYN0g)swpH-*}hCiL*~w*BYp(u3`mmM}bmL z*OltOImDHqfhCvCoIEn#7uCfJR1zMCXsa!=G)Lzvv6M%RnUTw8ezWhv?vMICD2K?6 z7qp~Of^ziF8`!CivR-!Hz)ru)x`K(xrjJBz2|~mijmF=vE7sBmYSNB=A^Le_Jpi28xnNn?qvz3w$CR$vvz>ufIT-x>tT$ z{sJ&4bJMM@`O?E+XM7l>dX~Y#ZDzqV#0$N$!dt}PeCIaAp~3q>Fp_c5?f!ub#=@sM znW4u@u2b%5kN+JHsn9h%AMfWeVs(l=v-x5n;C82647GULopSN;Yu7Pf0#ZCcNa(QV zFy>-AFvaT5?o9oj0St&zxe@JVf2<&z^(4@5KjZ^HRjKn%dx(B(4?laORuJ?ECcSk(pg`nAY-=xw8hRQ%k3?D{xl0 ztoy{?^S6xIE@AtxK#J6h_S;kB?QQ(f*?Uyk868R%IO%g_8ci?dK~82kzZ=mcyh!Jg z>GN^v1v8#!QmV9E;|)Q8vWkCU)B=Mt-NrlnzK_1g`rhe_j(nO^@KiJToFqUj?qBB9 z+y}ns%cq%qIZze7T3(Be+#vYxEAm|>zo^8AD~( zR#V3}yYNP(JzRBBCrV{bQUg8X3Pi*=R(xbx$|Q3%4;-Wpd8pePyjef~zALmvYI)*@ zP3`KPk@u<^JnFfP?5>C>fgx3jWcyJf?NEG;?muAHFvNKT#7gJb)|9IrK(DG@vQ;ra{--%?n%PZn5a%^R}P*G4EL)YJW!+N z(^4zK`Zm9MT!0CFl6?M-jgLt;%ebjke-d`}E1usL%er;948XQe!;~OHU1$ZU*SU?l zq&0PkMx8g7cxxZeVib-g-r6Rw>cm^3`0bZ>%eb1O+CT4>`5A_7n1EdfZfpSuq)kS3 zSmZbfrw=cnOx&>-A+Y+2y(i@IY8!n%%ULeDn8f(4JZ_Z&nPT7*is~9WpU2BS` z8zjUi&L+24ecj%9j_kzkV|?<_Jy;$e=E-BW;}j3`28p~0q`^=jnmUUe#!gCv1~T+j7=g~% zbzJAW^sS`acZ05S9JTD0LaA#A65wvx&ET=z%%%U0e|%FmInrZ(?GG>{^-s7FOPvsE znOu7~k1cHQ&79`;`qUK~BT`OL*xy6pve{}5Z!n6h*m4#FZto9(Ejj;drA-znsxaa^ zUT`uBiZEL5T*f=CYqug?ts$uwPJee9$f=Y$wV7YGO}M%vk-K$Baq{UQ#VHa}yrD(Q z#Pp~X|FUbddWngu12DnV+v1Fj&A+moS~YO7IjKZzsfs;0CEnl=RR)LMfXW1&)DES!IaGnRiMB{U znY$*0ivmr)ndc%Evq!=EIJ z@F}MYDRhG6Sh+Lw?JP&|0#G#Wt2pDeGTHA%p75=1 z2|ZbyVJyyCzUV9z2|anLnDz3!-UJt_yem^oFQL>+c{J^9!Mo{ zUjvbr|4_fI$v;aDc|-a}_a~gcr&@sTx*G*gvGAVo!X9I(qSV7@l5Kq|GVzJMgvp%0 z1utDpM98Luy66bQJ$#Po5JEqg{gc?uQWP3gU#4cl)ZGxL_zlj`r*T2F8=Qs<%pE*` zVsC>J_MoF;=CX_8eZ0B?3BHdYb0{&>O$#&*&zZIm zNWefk0p4`uJr~FOI4zy(66u=1>3vt1?ni9_#7TzILt^hp_jrjwmR4xu2@J`fQiDZttuzZ-@R{X3OE)QyIST{DdOiAMcok-i4K0UMDA zk~Z6oWvP0%wC+;aIas^)!SXT`OUk8?Aezz%H@wh~0ff^z{3vaj`B`KiED`8Lis402 zBZnfLlb=)K!4(`4=117dtqQ4^vSTnbAcy2Cwfg%ALvlQN>!Wr)z=OT@Q7?|o&0^2< zCzoI=K||}<(i+Z3zm8QV^aKfxVn1Gg%*u8oT(l3ZFzXPMbx>Gc;iVn_ZSm503rIH1 zTjUSjTY(ExJu`4unUS0C4i2S~r87vFzZfEI()2GDWm=WGY(u|A(Tm`dw8dauvC6^` zEbWfyfVn5OVw`Ps2aZZDaH+s-hbiciW>!APgq2~&B+^Qsp&!0e=PgJ!7bgooI$ib= zy&1f)>}bJcWRsk2h&|<$MkeEBqZ|%j%f5i6U8gpxVfnEh2g(>D= zy*1laD#*n?zP%~wE7tYjn$;IsV8@o*_Rf>MK7#j*dcU#Q$1v-Y&5Zs+npsK8qhoNC zos>|XbtLOq0EPOz=EPB6vuB2Qe!EA7sXSG9>?c3@iP{7m@53O7cCl`tBhy36{N%I{ zfvos&Y&Nx`fbLs1af9y4S>O-uwScD>;7O9SW5u^LfnQX|=lTdX4Fcnfv3~*}QeU^h zsnNAP=`MA9xOdVBcn@93q(P7*!%McS^;Y4hCi0~vKi2Wk%PA(y-#04Cw-$9KqLpa-u^w9{8XFa}&ojj6RsVza)d4~EvJwSqoVJi(|DH{$xm;u`{!zj)Y#;{nY z0MrLjg!t2s&+weaTY@;~cd1(u(Q+F7!4K`zLmx{$#-h9mITiz4u9IRyy=GWWI@ zc8kbcRUKNK>aY|fChnuHp$?~CUib9}R=-+{BZ)jo8j@Sh#d(!y^uWb%X}9iqz^l}> zLdm<;Se(Z>P$_f?-Y1I>m~Rn420(08J`D6Zi&FzXm3?aseLat1nTy=Iu>s53Yv%$= z0JAi+f>f+Qin%+3$?8o`x1dis^zP8teOTGvR3oL2!!y%Bc7l4pzqUUh>_F9PSCWwP zggZ@DH6gYu9}={4#`zKM2-Q0=Ie9+O?VW*ox^)_JubgbD9qPl)yNB$MQdu^yiO5ZU zRx_mCn72b8Is&@f@A(8lMDY!g)K@=#Pjd{od}cQDyqv?I$Id-=Agf|tmwLzOodc(E zSnnK&(m|+@u;fbgWmJ`-Zn`s@iOX6RP#bzpezH-MV&tbv)wcnGESx@$zy)38a4x_z zqQPO*rKvmqBw`t!3F&@Ha?cbmfU23VUmovkIXIL=mulai0f{$IO1F#>g&yt1f$4;ZV}T+HjeCJ51JiD123dbIBL9qiO^Md+m4zw16BJYhj1vgo=9uwz<($Z@n2K zL1MPzM7=Y%B1t=BwVw|{DC`M(SA43#zzbwwB;E9!Bx6xB=fJY7fNCXdKt!Rvfvd0% zlAlIr5JiI>uRi`c`^Q{C0bj=p=9qc}gsYh_*cN!kve07h-E)0>E}J)=msPp72t%s}#3~wQcVO+yR_Kh}P z5O$Av{6sW&s+YKCOfY#Vru#v}))AyzTk;pn2~1?^b0VK`ShZ^no)6(VpZS^?eZ&dJ zU#&b@TGl-aE!1%Bmm~g@N72MVsBB2LUe&gcaNTtCHHq@E-+q$^>2l!PzZvkhy}0ZP z9FqAvpG}FRs*kyc6nCx=d3Gt-4SU#Lcuc4`YhACCaM_E) znowj(3VysOo)YBZ3Q|U)QW-uCf>c8zxtWYoE#&+GlqFK89L?r@ZzRK0-qJ3LQn-MT%7QX4!BE~aFfEfCsW>E8su}ZZSVTZ9M=$*jAZ;hf*ClS{}ze0viOm?CS9eb#H+{o)(ccU^faG>QpR>cD9+z3xWu#K)K2nP%#WE8PULH$);4JiP~-?q z^l{Iy9=$MeD~=^+!i2`jz(k^8QdDLMfFLWNz6USP>J=Ps9U3?vh28eIRH`%KS5K%jHJOWJa|~c_XYN)vxQC# z`J)ZIH%A2f>``4Oc)JV4!|)gz#RS{(?r`dSBzUIY zg3dc()g1apBDCY{dEsknp(CdhH{{>BftsiV@V z{C7-J#*kxsOTxky{gp;FqAwziic@tXy9^ru26TD_?F_~ z7${rMPlfKw^M7M`c|I{Pw%_vr{uwV^iH1O4kn|6srH34W3s?Zq68eg*_<+oIlXU~t zx;*kU?-ix~UW0vmp94h0%zqY1BaQycM|&fD`b{*5G*wzDkU~7d#z2&DGh0W*-KCL2Q!NY64pd~fvhww67xZN z*I)|V0Ba@0M3rkWN?0We3Q|UxLdy`Zo?QH5 zC5d`TY!OVMDZ(7PH5e@6x8ysfhf4LRC3Kuak6hC%-zsaF(oxE9x1upNgqo+j+Sq|( z3<25hO6iqC4(l{~v}JR$gF%h7vK}y)yvI+RG#(K~H{zpGP4ATrT!H_yG%A!`Mrbf= zNeU-9YEBByOQC-~>(TbC_w$DEThy*V+u@JSW(;_a>oF&+k}NFtn(Sju9yq4gq?A9{ zRe;~fJrZnySAPkfxBvo_mIRxz)o2IR0xEhngx96xZnZ|EuOQ)2lIw%M{MKSzA^gJ^ zF2;ASu<=#!zxq~V-~Xr8`1g?TmL5sMD)F}L2MLd})j)#mcrPT(>4St)T=bawX^^m0 zuWxW!e@F;x(h%fHfdp$a0PZgXhVMd3H87Zc)BoQD2C{tujCkmb+owL!{b?lo5ff$i zs?_(S3s}g+XPkjjY!qf2D#A1Y1vFrDK*c<@b`Oq};>ji6dsQljS47ZjCdV3(V*}1L zOi?P(C9D!IN*Wv*$ipmN+CziazNNn6c3BGgzbB60?47&CPA8q?pu-%0BD=;{3W&|_tS*X zW3#JY=M3fx`hRP{BobErL@!X%z%lI7Xu5ALXzI-6m}~WJFLkiKO6|IQ;BwH4GjKy} zi&E_^+CK2TORLoPdC%IO{r$G*QC4d0p5A3pKSwr*bZJbf<3g#l1^QuMeu9I800d~S zJ5np!2ZZBn_2`>i1}_D!A;^!m95}j~53HBoK}zI8csv~JJaH1)_)$Sluy!I@j#0nm zJutz=1W0Os^=|1#y?U8+g6sd2Heh?H+tDe~bmSNIn2@4*w5pndB}$ww@T9QDG*+_7 z^@>fvpJkM~I9xEDN4wZx{#&>0?YC0@;Kgs8Z0Vo_=g=;8szPT`T&r8at?BqM5LwMHs&+>QF>)={QcWcx_99{(G*{ z$0$9!HZhW9zj1co8~=;FcY%+px)%RuGLvM0fip;epi!d47LAW!Pze(?2_}FVOo${z z4QQ(vqg8|%z!pg2Ni>t=RN5=8wt8z@ZSC*&VQYPhO$bc@Q31Uc#cEKhCr;GxFb{~# z@4NOnlLREy+x!3hAD{n4=j1&0-fKVBUVH7e*W*uCj?qs#BO|P@+WMBp7Ii?QHht<~ zgbh;_wupW#wZ@7!3CP5&=Ba=LeeTj9d~ zVyr=DuM$D|C#QnvXZnM_K(erpu(v)FNwlauV8kIjAj+^{49ID2`=;Ib+Xp(I4NI4K z3DqBhAbSn8WSf1NJN?eJp84jMNBFwk*f^jvfo&k`;zJw<>KDgRYokVO<9{I6;8@Wy zLoow=HnZnk>Za7x@ZZMN`?o)da7$!crAV)dBpEvfQnCS2K@^3Bdme!^7VR$cwEG~b zXx59mkwm0yOSly-(|qNJRH)U=A|3rh-_Wu4ry_FLI+7->FEzV=FhsCk<*8i7Ie>Zf zV?e;+X;WZr?Tl|P|4w^wg}%z?3NEc(m6RI)Z<7KiaC55MjNs-pZh{M}Sn2bOVmDmg z8B(SB(WS}eWk9jDej?MTD-5bRi+4nkG;TB_d%K-J%${uT3 zFv7X$0oJlh7~YYtS6$ddDvVIG?Bd!>=FghdPRCtRcqM;F)?Ol&4V)AiXD$bpzAD+l zj;oT}=$z!max~ClUM;m+)EXy6FGNcBSU=C0w7iN&b!KAgF@c z8uHtW?nEEb91ps_rN!beG!<9CtCDT)G#2`7ZC1t1{C06<*^z{l>TZqwND@EEeZC7(%KY zNPZzDSJA^_)CwsPg_`L28gN1|ILEEGe<6LA>%PIbNL8nzH{`b~qqGt%YDlFxQO_{P*hQ^qiPp6G@@T}xEH*g!mfEbU> zYMPtBm2W|he`y**FQ)86RsxyGKd`c4ARbBdcLhd;=MWbP+A<nggu|OFa7vRzNYku>KQ2m?Im z&ul6xVu5A=ti3dY;V~b?$X(exbcsQmTlX%m6aNSG@o%rT9UCk&1*DcOy250 zvclu<)$Y0BDEr#*lAb`Hax+Fjr0ZN~>xj8~hhc(r`Qfk%x? z)4XU~8*Q1bzu|}hBd);=?XH2e4o#N>{GK*mIkftR<-XOr|E((VqqyaxjRZ(ic!fKZ z7_N3}&wu1vKK6jNb_`nd;T4`G+M8Oq+SAjD48jq(QG5PFm!=EHxJ0{s-ofySgGQ9Q zMLxYFgTDo-TyDz&?-H$gGEeRDv{9aB`*?gs9y{gn_SA57#`0&v zE4&?lu#4^uujmcW6)69_Y$`aUYO(8+zYZ;B1)f zwBOLj^4)sZSP<7RJ1&+sJbg?!TT@VrE%dW7QaE6{rb))%s7U(O#)4?W?C88J^^cvw z11ifYWHEM7Rle(=y7kZ8UmSR>pDH^pr>;IO$^54B%jOq@*;wFenC%);H}!mUy{t6W zyQA9D(cu3hzKLYjx09@TCCRF*m)3SjnLW)|E=7auX#TP(`lqS- zXXF?FV;7`%r1mtoOS-@JG;4?MEbVo ze8dGk!HHM93Ig{5fI*Et)y*F#29|^$P2<_2@H;`UUFKP-Ov*(}$Ld6WR|i(EcJ;x@7zV`J^Stc- z(zmB?EjBia5sWJ^qH#jQM3oDX1inWo85#x!n-e@x-od^jN;eJs`ycwt;I{t{{e6Bo z`uoO}{}TOG+0w#$$-Pc4o&0+Fd5eb7wEuU}-x{j6ZXK5g_&v_=MSlN7fB%R6{$EXh zf1Z7-7cadg(q$#i!w}K75stoT*1ZU?Klo4ZuY}#eeB-J#%#<3hP4o6_6h<{Lp>d?X z(Rtp>fn_3&JI{I>{8%^L%T6dW4mW?`alI#he6IH*CoR^S+<`H%962Jp+kZ`qr2U66 zGV|rXM2{R<>*~|@MKfR1H@a*0IGoPfK)Z2SKjlw3FA|v4+~MQa%WYg_^I}5zUDFcI zJAx0;aNZZ{+Rv40!^wNKr!P(O5PM~Hnp+Opvtf8{ZgTQZ_@BGqqw*H#q1|P0KZJY# zU$oY39BLV0*_8|OCE9IGOSGj;4%chi*hIa}r+?Iy{+d<9iYsDEqqQKeV_BBPTzJyz z*{O2LkV}qSWZ|BDom`e$OLmMsaR}S-*T}%$V)?}bFokDHftL|(hxjyYsqiVhTi)5z zjAel%@U8G_t$pCTUH_hDH9}(=5@)lVTTj9LJqi*K&<&4Cl7UQ{XU%~#*zNV`R=zdfGP3*7!Zci>7@exBO~ z5KqQ<8$bg03Bv$L#4g+8m-$o4&;CBofc3u8F zZw!Ff1~8h8qiq0VxF0hN0F7_j@Bpq*0K`*apoo+{I^1VN7|Zim8^Q_PpD+xBaeNy$ zJcN&BhzpYZc}cM*B-sGQlX1KaU;_6Oh5;~lq#b>o0xO>(A?rHKErA&_~8T8^9s%4-Et0Fy9Uj z2LNTif_{Hqf2{C+yYMf_^o3pc5$=x+Q#eY2dC_4DhwK{7i#uE+qzxbV^FD}y`M?IV zm+XSILf37qJuY3huy`1{9{j0M@R2|7qgde|*@c@FE*L9?+ZcP?!YvFQrf{tuzaRKL zium&)F#r)8KqmkMV+DYXvBw2qVeqg3)Dd67Xa2m;VgNp~0dxUCFjfHA7<*g*76uOs zV3nL9798;B9f$!qU;_YQ^8{f9fQ_)n1z;iYumC1106qS^9yJX>>9svJ1Qzi;!B~M{ zW9)GuSQtDkgr^Yp8U=^_d52?7IBWyx2Y_I$0I;$4xBx6H9u~k=0H7p(^T21V?oytQ zW+FPKsXDyx&wD>shxhF|d_Yb?X{m#a(#NfXh2q23VLMdbDEQEy_hAeGlw0vX7NxcT z*l2xR02Z1L3*dGI;A4N@$1wmhfZw4aX%y`D=k1RHfO0DU7NxcT*l2xR02Z1L3*ZU`pxd9$RZu@gU@Z=JWc7qlsGm$D+JmaLAu`DAoihw`zh#sjVj1Xni~Y z^DHzUwh18sEHMg>Eb-?Z(dzExspBcNl<)E9?NP1TL+$t2K;Ne|g2#fpHXa`rsD;n_`iDR7AF);m2O_+?&4DNYHXa`rfQ8q?0(cTNZ=;~YpVtusARLGQusIL~z{ca_ z0{02_~w3&6tbVFB!8gJl%#^XKhTg8-(l6&6Gw z*er;GU?cKzAy|k#EQI?MgwOqXpU0XY9Ebq0IS>WF;y8|ryYqSlw};2wa}{02_~w+X4%(hi$cnmi}lY!tPp zr=@pEP42Mvid|BZJFLB8m#Rtkki8MKam>+V-e``LQY7cD+S6mTrxVh*%Uv<0 z7C6(l2NI~k&d8t1PuT@=k(Z81+s+r2Hu5OPq1w|Pjx)8V9g!cQCviJAa4u2%yPV{|nb)qlK^Fp4Jc)pwGbe_8xC;FcJR-!MB=dIT!`quMY%yUb5qVHy& zr}Nx(eWLGMJbQS4eNm$CKAxRC{~8#}cs_^cM;0dfF5`JD&)a}8D9e#MPH`>ODlD)P z^xh-l9Ng`CEz>*0{LyV3=whrf&#Ru%_36-g^`-oJX9}BsT(@H$fh7W#O)%Y@&W?_A zgg9dN8nZlMOuOSZaZFlTgenkcu4bL=%26-aH6G3oFM}SL==le-}eA7^i2$w#50t`U}|OS z6V1>sT8FBVBXDk|{52oPqolqG4I7M!&X+gFtI9jhfQCr0OO+)08OC-qO#Q%ttW_8o zTELM-Z8m>sy%yl1gzA z%mYXpEKlz!kNtv&a^5ne5>GZb(%eoCa}B96Yi%(%@??FMWBNj`zga9yD_ZpCc)cmU z(KmB!Fu87LptG^aIkVV_rdCs&-W*rAGq^V*p7=LY21P3^hFj5Mp!s7c4^ z#JSA^qTZu3AwF$HM+YmApUbXj`b$Pzdb5Ay3T#}G(eN3^wp=-m!jSVI3Qz@zdW?6) z%_#cts7qX6?qeBLDNYPy&?b5SFQ_;E{G?zadhBV037+j=)3y9kahnU+U}xlk?t&y& zFta-+$r(Hwum9;N9HjU9*YvLZM)$0woZv_xO(l&pGMe~___r|J&r0IJILmmng;cKK z0ZD=ItR)hmAH=7*$5p58y0yBw#cutIP;X?#dW&_Cp2E|oVmyuJWt;kr?$;bd?G&ItJS?~(V(_O65+O}a;A+bOCiC+Mx77{n8Y zKpb-v#CTO2g(V7@mm)t#qat!Y4JBHRJ*p_a<>24}w=Twep*4F$xHPfH^d0djw1#M~ z7-2-61h|j^mS6(L^nW*67~uTQ6{lMxJdL+%{Kl(6afOJzjZz9GmJ&z<2}oY8Jd^^r$B%v$1tr}RRGno_^f<0 zc!_ZYJtnCIx+jHQI8%7XU(v4J<$*4db3EzB8f}piX=gkhOIktU$lsWAiOS$5sEo!f zMHexf$lRG#>RzoGrI_P;3~wBC+m+-r5?mW?tsucRFWQ`$jHTY>DQQg3+%ogTpf#ck zoind?;v9nszfo}LeU`v@HRZ3N7vlctY;0C@-=Z55kXgSDi|9G-Hit~_;l8~%QodCs zRX!kknt%Ep%Zd0w3?iF7R##GKg~l1H(1=UNu8T) zAudxvWKaQ&oRYr4oBrl}c~|;44t&f%!@Ni0O`VMzUJ9xFn5_KdU{Oq|^KP1sKc+Tl zeR;X7)qdS^o2&)-ody9;YG*)2o3IKqnnmZc^0%}voc|8~qEw#BKhu=R_{#0E*W$#z zyu9+Nhelb+e)Tubv%!11ioqIlQ4&Whc-l38hL6*jV~3w-q*<;kzbQ*EbaPCRdB+K$ zdzboBE&+=l;<+3%gFjNfXk{Tl5lUb8`7dzAt6wA~L{$(GtOJyn*y#E4&geD2DJAVH z*AGVn6QOA3RZ;7cIad`)pSUx3NAgOmrsAJ>&3yt^0`3G(D7Dj_8cTOV=I#>v-Dvd= z*O%{RcBAZ{PURK>_yHVEEH+v=xfxO;%*lt=sLNbGmgJ=d-gG5Bp6Zl;uQpt?RGxn; z!4RV84E$1RPh1ch#adS>-Bx7&STf=zh=FBP9Fc#pd<}FSo#y1bK3esKEPOcmdo}?~ zn}fR;eB$NfPhB1OjD#M{DEDY}PN6A9f`Xo`WG%d(G7aJLP{NGIcF?sS0&J{Fs@rmB zs_1~8^m8B8fE{5Z(SVM*C){gnM%6Um)7|U|q!@DuF{0HyC&SaN)%}sbp)nHht~hdG zccK%wL@3K@br0I#f56}9$|Tg_O3ktF36gsCYAAH6ez7A^tODg-V9t9(a4M8QbksS? zS&Nf{Q&<(QW{8L(Kv)FIHq%uSPRr-%BM}y{GQl9|GaYN(MqeZ$e5cp-UCU7Q+*(n6 zpB(m`D(8386`fn2Y~J^}RKLneu$tsDb1m^4BgwIE%hfmQ%T;`dRqz*d0w1HGtfeV|o6Vm}(K#t_SLQlyF^DV) zEln{e&~>tu24@>Q9reg z@*mLd`wa>F`44ILJ;Dv4Hw!zn3Ln+#e#jFJOl6t(aa`flaPa*q&$Pzo9oL(LUNF zO}uLgBWA2g&g`yPL)`n3RjAJY9rx_z_{A_?)E3?C8pr5@p}2xUY)HHyMW&rwKT%UQW&Jy32^5 zHcpLK^Ai19Gmk<*vEa?3)7)Y{_e~DAsNTh@df~z*b2_M7c@WBjrgxFK1QR85j9r0* zfeIM;X>=$dCcGs@<_{TY0R$W~$ih%&o`upYbfCz5pTkRY2PfBxYIM$!jcKhP2sK*W zM3APm%={w~3}Pd#@&pQ4sG3-jj4tybUS=)z1Tt&=%H$!v)~`$;rdaKY4F;5lru9=t z^p07M>zf5fM5(rGv*X0@yZ5^C;blXp(HBZoM>^eHvP z%O#+Tl{u1-K4FKY!q1CnZb82wP+>3Fb5LOqhOxcWVcFf*$o%vtRtF#pIf zmz&)fs~Ux%Idyyil%M<;p_*AsQ-i0~&QvBUC)UpV27`^|wsT60zirvb?%Y(TR{uMC zxf?H)fp28p;nwOT0CrXo8oQnw&{bhlI#|NI?WmQHcX)%RND0KtfFu(ao9$8 zMWa2t%1>-6Kcf6nRb^MskY#?#Qc>3jbNA{uHnCPArs)smZ^tHwKt*9<`IvtIWnn|| zx0!1(#bxt`0f)I<-LmX#GAp^o;>WyBUP0dHBncN!%|k+d(YBZ7TQjG`ta?S}Op0{e)X=a^G|Eu=2o=7Ob)|R3 z%v;_{3RS%0zjU0NRBKOz7W*%q=plRcgj<@Ej7xoPs?u&0?lRmMpR`9t5LxIA|CQcl ztwlt&DltV_8mggOL7ys|pT}lL+VWon2^^*bzW9=V=N7Twsz5}w9Tq8+OFOrjj|(+3 z%TS;)3O9%5_{=NR?I!xfvYiTEu2-`v=hs%pY|^S@HfhzCP1>3InkGju4dcvIi4>KF zC93$x9H*~&QKI^ZLjk-@ZIK}nhu(Q&T(|yayaDgQ-dkSC z6QMaN=2+}E%@=-T&u_MZ4qLKyfwGj#z%FhWOS$o?WX)Vnftg!!LvvDb@fI^FV`rhz zT6ibn&*@9Hd%jAa;8)9c;135r->z6Iuf)vSYo1GC(Hs>j&L2z)RO&~f+V_7YeZ9u# zUkUdFC31iQhF2Ci#)NTl=&QT1PB zYGWB}2W;fu?9nw@f^gH26uf|`#jNv~pHh3K{;``!3N-{UAYUnWIGdCd2kGRwN?i9>O|z~mc@(P}~gxMmY+ z{kfiH@%Rm15nnaB{FO5lxgU}~Wk~uQ-h)sG_l+L9`uGpOrZY5tM%92yQ&CN}H}9IudaE_pdl7Jbgv@ z+9!Pkx1HnFzvp%Yw^gd0<1CNa2Y>OLpd&(Ua}-UDJaNN){1N;~X3c7$Sa(mZ8~k)g z2scL{6L@&y@MLZ_^UK7ee`RuXDRxl4C>D|zgHa53g-Sy+LUGTs3OQPg=z?e<&12$n znD1^1^%!SF??{Q>ksQ5as+nkK!}fMTX<3Q!ab{EIZerqgXGWtt#7?67gKL(O)d*R zJC!F`ulr%WqN7#T&yum92u2o5*b8c>0=KU5bcE;&V{+L2@B`#9GFVh7BoT5ExIJ>S zk@E2UzZ&VQbg(!;&7e5v9Y`(i znaD8`X)g|baiuyz|OhBIxc8j)Rf+ukmX2A}JaoL#3|F4}zX#*FP#% zOw?bE`db6(@TzB6{Fiw)IYfpL5GI4r2X0!;Q-ZPi9xdX&=Rzq>p?+!QrBt*sTQ1jD zjl^uwe3-ljX9?1GLZ}ASa>=r&B6_+6MxhR+l~+hEmA_K5I!yxlF?RF^*~mTMfgt*3 zB*6-Y5`%h`WL5c>O4c|NyYhdM^>IMPvR*4$RsPkI)n#@nj8Rb8SRV)QZ-?Z*LA6va z4U(G}tmKY0S9!Vaycp5?g`M}&*AS-9(h#E`{Vn&-4Ob~S}bnFB_Ptl$^{Y>y1O4J1R z8AVg)8%1gJ%_QJ*qVuKsEmZ5$G~a@vsw0(SfpRplDhi`vYulM#nl@F4m5`}uV5Yu0 z?W|}Z!5>IFYsJ}+DZ~3@2nA=MQ>&kZP))Q5)um73E(p+u+}y}br>n1x?vmFCHJoHRe!>r z>d(XCw0z0E^_$e6$C}ii-@VA6hwiKI;*XK<4%M67gyrTSH*KmuPL?(!r$1D`S0(ZS zoGQraWWBiPQ`tJXiH`3ABk}rxjB_t{VO4Erdpi#hgK@a_(4-%%Za8ZR-2kDQB4>qWK`YKMp177C1=(q31YU@Jcm)=rmSL%ip+Itx+ej%6xpu)GuK$JtOr@ewpC4xj_*`$ z3B*^$vsx2A_N9q#M^h;TBf(lHAeRy~jaHldS!B&B{h|i~1YOeV;#-*togVG?*P>Dn zexF`b?QmRFgVK6Xdn-F_iQ!ILqPJHs(R-`IH>7#A`ZxXx-eRw|mc&c6spD&)6#U)H zuXl;IeEakz+FJDRuZn*}eK@pziT3)|-^gkZxZWDn|sm$n0Ma*M+`6jSuky(d(m7hyd#^0I`C4{CwYqaU@m)x>>hT&dcw3OGE zdXgpJ)(BAxKpGHCY%B0F)KR^4#_ZZ7y%ZPx!(!#5SkU#Be9w${fg$KyYW|qMG1t5* z;!Fi3Iz7Rh^qLK^+;Au8O^CV_6ChTGN4&vZ1nZK#G_0kjKq|BaB%r6UQ1NeFDyL$)U z*{3q&&1RGnY;dnK%jwC;e01;2^w*;6n$6J&&$3EQC%C}jhM7%UOU+Yvinqc2+ZF!Q zH{BUe+Q>M4En>OR(G@ACPa3x*h4T>eZjzQu3|6&i%1ET?-@lGcImY`E@`UE*4#J;j z!_Njju)U=K$Gxr;5&1~mCYX~L8JrySQ;7@YR_(Q7TOJDHjQ%(qoM^CJsXnl&^i&o} z9Y#tW#A||eOlEDMy!eVX5_l)!C6oy8JdPM^aIrbYNHCz0-gP@ns+6JcLwNb)fWc|4jLwV)1$`( z&66*WiF5>#Gu0Q@NEy}y&^uGbe+5xv#XV-Y5T9A?cvMGvgXfVd{+bIB-LsXH_^lGL z9@%4&DXua_6@;y%$W9Lqt~1P%$v7umhqtc1#J>IP5gwm!U z_ab5jKKeFQ9_O7S=9_oEL)GZIxJFM-2wgG+D^DU1B z2)03SIIgiU&7usCBk!!|E8g;60f0=yRH5J}8QUTAMz8+SCAYjc!`7Gcs*d1#s#s|^nKvVG zWSQz%K-9URK)wQv-4GV3p3KN<#;t{nH@>Aq^FDCfsE& z>Nhd^rX(`N+&U_RT?_3s*6b}c-vZlWqtTh9{B)L<;cQhLaZZ4rWyfJYG-jYreuD%z zwmV*vES-iod^#y}XHU?Vm7laCO?EM3O2v7N$GpB(RgW|;3`w){_r~ACd7P-CjhxJPtHS5-4#h}%kNVD#@G0aceOttCKd`P5v+~Z#B*a*t2-AeYvg(Dj0MKk9t5h{ zTEl)Og#YE`ao~7`LECUjNH0Z{y5F|CWdF#)Suq=ZE6V@f_ho z;>LeODZ50fw>$7%0IaGcJy0roBWKJvm+!K1qms|*%2RG~gHxmsdC7Ax7ouL#o4I?I z6Q5EvaZ8|x3U$a@KeQ_+{8e?O>0?9J<~WUNcihgrLtt3tyPCl0>3tEeJb22xMtIWE z@M=>-(!t(?L`fZU<*zVWme7K2w#as4Qr#p7lee-p)vIZ^&#PSxG5(LrvwxU?{eZlmTgD zH_JXp@H0!YT2mU5kVI94%zp>GfS8Xnom8M|!lF=ysR5spC2{rT1L2agg5G5s?ix++ zv#PG-xT?o^;U#6h~wytx3w?|}kbSELyI9y{$eIADN#8MejMQV4@zjoc<#ak?OkIYuxN+Cx$trI89Z|jA76>j{7 zBaYaxAtn*QjMBW5StMfq7=`&KtS3Pwq>xzuCB>DNX?6F?7>jT^HjCHVPmd=Aar@{& zJz}Y6?afA!4=%&l%9f?MFX5J^8HP73yOx^O&Z&;om+^-cY*rRx{!6QzrKR)DJ?H@# zhop9!{YO@xQSJ7>x@-!}L^$6|)FRJ=>6=eFRK`)9w8gxU2?6rKz>g3aCga3r8)ecl z>CF%N7x=0_W~5fT{cS7vNY*Ug?BcO^%XmONzD=HOM zC)>Co$E{U8<@g!vIu&iCBv6#|EabYq$9IjpE;|^tZ z%j0S$0)11?(Xdj@LyuYYpyHyqhr8;xAw;G~*Xr%L*}2T3STYZ~bt8F_Xz$>rdhc6D zC5p_)p+Rh5(X$iV+m?>qL$fAqf-B-zCO|&wQTs)n4vo0tG%` zK%uJ#{9P*vx5*NAa9|0GH?B;M#6Ksim-dHuq2$H^QQPT~hA!az%De9ICL9pY7Nx-~ zt)X4s%S(8x441 zQs$N@DWDF)S|`quw**F0!F@(+I>%1E#2E|r!rm=Qs5-*-p;yMK%v_A@gH>w{%%icL z(#0iViKy)~`**C2Loc(-zhhY*ay-f$v==giE%BR+&cUeeVdV<~#!em;@5GDmIDH1XOkG}MMzNm60 znbSB{vFX#r_*GRbd7-F45sjGecyzdM=!Isu&|8F>4fX@<>wNI&oW5}vHER@y4h9wp z2Bxz74PxM1pZ&Km@b{7(^x;HsUzwmEc&2}J1XOF6#X=$7B)AUl%FCad3}a>B7E?|6 z0#CQYjVZ%CcclYP<;S(P@ODEMWIY+s`O7&-e$QU?j{}o|OJZwR2Q7eiH%{ zA=4*U=D@?0l|&LNYvcxsCRh%x$}*!4rj#6o>0X#5U`KERksyGVq5+&_3&}vGm#a{a z0ig*yPg1J*6fom|pnmoUyojG!Kr?0Xp$zW82vC>!dO5+jxglP8PH;5irZ*iCNlo?2 zO=04M$;l`CRyI%UThS-L#6vheYZuk7MoBhPjMPFkK7GwlUOxZfH!JGcalf-e}eP$U_a2q6MC+9=5sA)ts&o>^@o|A#il5 z;OOdkvE9db^Sr^zU1C)(a<;6-rRK@ZhS*x{F^P))Ut{z4bBYq9p3neRZt#XRpx?ay zkKo!CCF79Vd|IgXrSMrv=A$eVc31teLndP+`!7*sx@80$G6X~YZOh-5=~Xq#TyQHd zEZI~BC4bHRAQ^9vj4`@iW@i43YT+k4P^btl%!wyF565c+2El9WzDS0#Bb z|IsaW^^aQY&Z8w?o7tf)4@fC?Ta>{RQ+S+N!F08F)LTqwLThBXJ_QjFMj>lt`;^Vv zlg(dOYa*MbBy*pT$nE6_H|H2z1%qg-?KHQrKQ}arr+GFZ{!7HC2^Dmo;1HzLCA(lsAlj^4?; zs7-P%1&mXaTyDT+P(-3wita^>1I!I@f?%;ig`UhNzxS`tA_otAGe_?|d)dBl?k9Th z*p(;&Aj}QdUdj?tHKyFZnGn#;sO!UKxc~Yh>1}?a)Y8f!zr_Ztv6{YDAtyVY=QM_vxwYQXTcr}U5j(F-) z=m~ES&0Nm%cm4J@vbKr8CHNL+4PIrTbk(8Y>aCw6_F&y42 zpdJKN&4vbUk&_#$+4|3mpm$#^#&`^7BlDGO%=ioBs0@Jd9J5FM8Y?IGY}JuP4OdK# zM*gIb?CbRYN32P9?;m74!#Xx>@87~u{y)+C&(QiIy1FHEV$=#3wZn`p8!Qq;4yc8GA-&PePLQn4;Uxn> zEK4vpbaiL_ObU>QbdnQizt70ul@jc2TB-TOZfrX8`$dQ2L~%YGzE4t{4#tNi@=0e% zr7kkhht8C%H~|t{*rIp&Nh*5hWU-PUqUnghSQ3hG}W8%tSOR}e2`bK*@tXGza*BnV<2s@+QWpLIOis$ zCedv}xiHFvxlIlc2Q^m$BZqRQE(zskgmPyzKn)ut_FbUy?GCWu1^-M^4p8C0l2E9pS~;Fkz$V#FjeO z9T~4*RJlw}f5-lO={LQ;kn86G`7_HM$t^W6{{^*346pQ*6d7}_2#qr4%)t-%wd^2E z*)Z1f*U*GxsTIn)2!pxN`sTQhdIFS_vq%-IwB}B>UO?0zQ52ZwfSJ*!6=D|snlAg5 z++qPX&`^vnFXRJTJ^bsJ8*#L}~o+ZiCs;EEXAB$b&r{*67lTAE~M6b{Q$ z#?Iw)!LI~sA)@=#+GG@PLTD{s>~HM-yhzlnrHd17G7TY_pR%4>>kBNxg%n$}LDnd> z!U!09g(-_ZB`c%(eQJVqTsF#!GhbO`{^;Bxni+y?B^-3tG|+Ox(U{!m1nb5&Zg1Q; z^Yy@p+(u{Pb~w&`#4iY(5gCzvV_;Nvejt(e^48cfx6zrM5$K!Q5_HaOjLXeykoVo! z*i21vBT-!Q`%`~|>PT*T_SGv-&|YfRevd#O`)5MzW88-%qKRqo^z3g@u zxPu25@tF^+Sb#UiHJ)hH+MVHOh|6n?Ykaxk#5{s3Z3!L#k1X6!ntXl6N;y6mY2G1H zs;PZkS@MSGZ*6zJm?pLJX;9;6Xtw!oifb$f+*AsYA?@e6U z7EP=F#jo(b_NsXTQz??K&zl+zElO)xlo48#8d`K#!=miS48A_Yf)x2CH+7@9IfY>9 zkyCjpqJBg~d)54o+$3`2fZr60W#sM%3w(`^hJtA#^t**;Diyt3vgj|#HBPI)Or=Wh zxP-r_P>*l&%jTEQZyvuAe%JE5k)I`!u=`{d0;nN^row)*G_*uKF&N|uh5KGLPL1aA%@68qQirj&Xt<`>|%hTq-%41V|Xdzc^E zlGAiEHE_0Wx&o)^rYA5_@iL=$4yNdHQ$3LhT-^~LS7&4-*VKrcYaFJyW)=;A!i_W6 zApNp?uJNsC6ysj`%v85NFB<%O%fM%gtZ_`p5^ALkOld5bX5labUF5cAHOG!%a(uKP z8L0D;3DBs-w^lC0DnD*fOSmApNT#usxyXzspQssILtg2q!4<%wY1&IIEGeGWf^3L8 z%g>w46H7{PQHecu#vBV!rl}{VVcs;BaEM-#`9sc3?56%~mozm(S1c0M$bSy(<^f>X z&?Xnf0A4d1dU!01a|U7fkA_im=d?4!#Zv=`^UYcg(OdM~Bsa02M13(%7;1eaUDVQ; zJ1x5)cp{5?yGP&b(CRN>Hn!!aKz(BluBvm3ALOA~gJd!8LnsU{>}Ofz0fy0#mXpwR#RW9Y(INW=3Vun*$ex zWI&ymSH*P*J#NcAi$*#+qyX-j?~abgxERI0#<=XvU~8z2h>kk` zW?v8-&$sD8&H4s)m2Z(-vTq0^W#1g|W#1m~W(VQ0R|VYJ3xg%(XC^r!mvO^h(-Fzd zzBTa8>_Fhe?3IDh+20LL;{$Wa5t+)3><%K6xsh%`CtO-^YY;V!T$J)6aaFE`q1>~+ zsy7!iM~Capn~)aUy%~7(e|ppEO>5f2G8p?ZcULVe*Ip`^Mo75oTeZ4>V;ua=)t3?fbRrRY_2TD86hh9QBXz?!2asouF`)v&t7K)6J_1 z<6tHRN>x7dpj_SyL4l# zm{gB7T6UOx9KowpUM=WtES*+!XjLG-=Fmc9@Z^n0Bg#!UySVdq*BrV&FrwyAZoqAk zC+sv)ZwjQgUOKuzgADe^CsuK|y>MZ}rK7*Vo)a)-#@e*-qU7|oGs0>slit@|km@CF zY*`hmq>JT7p7Z;VPxO*%=&HQf3uYl~H7- zlAXNJ`&Z4s(`~xnvHE1Az&5oUObVpW%oG;wu<) zjx5JtfiWII48a%!vNIH8&J;uujLDNy1Y`P1@&6Z$sbo1B24fb00bhkNXDA&r3uERp z75@pw9D&phVvMy)rpYRK4LsektE5Lbnx0)D;b9axlH;)6Q7comr)y^Y33HIN`g8fi zGKK<090F^WgT5+Hgiw13uje{a`8a{!N&M3IP37ls#yMP|4CC#x7=bdqfVG(||0vM2l?%7B zI5cmD%msV9C5PXcJM+qfFc}3?S@$QxIAveYLdcY_N?`38y%2FsWI`~hao)6=zMBF_ z>udUE2jfGfQ;m)BavTv}nCzPh>Ujk=;MLGyH9Y3Z~N(T*M`n z7`dG4^%}V%4C3IZk{pH-s~MY-*v1*}MOS!)psUtJS4=IE7?K_uDWGPO8Xd}Bv<*uB zlhH3o)i+IrZe0V#KzVwqBZ%^}C%R&~c^UJ+yjfD1!gyraV_0IfQhO$+-)g6{r;4-DqHw_s+SB~9aFRY8DFse%Ey!?2 zCL2nA$hlLT@tR#oV@`jAv#nqTJ?x0}Zy*lUr?u0m(W00XMG-owlzAPSFVSzrx~9V! zSS6RzxpK|Kk$+&KnfTEFf06X6@E0BNvc%A@3>T})<4%Qsy~e`+$kov>%IK~c(N-{3+8!ATX6So*c#oLV^mEE7!o;APv3gHm(=P@uL9gIFXL-R9 zC1qwAJsn9XGv&0F+BBPqz&cT1J44h43#Ql1$Ow2Xp<=5uBU->*QKAA7oiJ5~Ohj}1 z8w#tF%$NT$(09AGDK`F6>GDsI5tWM^H(f3#tHm7eH}2r8Y%?DuPC^;dIc`IVkuf-5 zOAg)vUyDQ1KSE0|e`M>nk&_XdNqy~Q#iSOQmr$$n7CplmOqcoM1%zn-Z>{g6Wbx^x9TRvs%Fh*h!h!rwY zuwasse2T?_3v&e&vva(W2~md;7tQe)amdH=J*Z~JMa7?DO!`KEP}HfEUIJE@PJI<- zcye%%6lGJHk2@mcb%vuCl7toifIL+1v;t#hih-OGu-B~3b_5m~1v4-VhuNBrC3#ce zChZww{l)1wb~%cw5@O2c=6Bi@O<|C}nU&uaI8B%?**W61N2ReiuRRRaEdQbz!RI5B zWrG}~q^3~N&>6!m$MA@mdkl|!~iPDJV%BRK!PYPPn1ooX)mdes!f8&b`_NkghR zbPSU0F+gA|+GkEi%IB!)xJk0xqIDc2zQwv*Y`99X9YvckII3n9=N0qUsX!PL(R)jwXV#nv_1vUvV(_g7rjfOG`#7Hc<&8BDHG= zY;*@M62pCjv3RL{#yw|BK1b|B)P81gEFpckAW3ww#Zw3l2+*;@3zAp49%8+3S5{d+ zAxxe3JM=t%2?Rlhz3^vHq32sFoLxNzL~I>PzE?At3GBq=xHfkt*CiD zW!ZfF&;vqCEt3H;C%rG!4aWtln~$Gnxf~4+q`^+6$ejKUsEeIRdnSL(>5dxw6j+7e ztwl!T!OWe_?UQkeiAbWW8b#S$cZ^CDA~?_Y@HITQx_Qq;;t@G&sz+@GV@`+sI^-@n zglfZ(0yDRaDnx!B^gdYID&~UPqZ>!nei(&UZEhbms*7Q5{xFH$nnNCvLrdLKz<@Gw zX9{^aw^T|XaUop0iT>Mr108)a%JXl18sQkr7cSguwz6iu^{GsLJd18BD=qqa#X)lo zI1k=R7+g~X+AIosuS;~Z;)0{hz3)n4r}4gKO_$^E`3Etf#u?D=swF?x)&LA3Za8DnwFCja!); zV*jS9sLcK5{Z&*Saw4aN!(9kfi&638$N)HwQu|Gjc{W=uaj>+&w@8ft#661`_Gi9g zzC3>5C`Y^%%di-)mYL`G$sE(_I+zE>DI8#iDmoiSg=aY<@kRo&y|NIIfSRj3MGb|A z&1cV5y$R9%00@nRhif-_sC`Y}*~|v*{-y?;7}fNpqeUxO$q_<5Y_3-KEtTkIt*%_% z%+u;FQa870b`B_qB?dZm=HPvP}*5Pn90?ZAu$QSJVXm+9{(=o?3b7VK?o zJ}V=8#7fxlX5Gw)OyT+Z>`C@>S!5i~xdYD^LP{{7*|>7zQ%)S?23!P@G7@IRK%jGx zkDnRb^jUnnnM}E3C4nhPdOVsm&N)gBd|Y2xaNPg zP7{XKX`o6^MuUgzJ~3VmrkKAyThN;&9D0+W)xXF6aHt!m@h7uYN$cT)4T1I5xCEXDC>|YoGy?5mD({9;4@@c1QSMA}VBrK0H zy&Nnz@*gi0^OE9MkLGN>T8(bg_M=C)={HA@ZqpVux>EMhg*_`xiR;;2*BzWhZ-Rs0 zI*Z=IA$I~tQ~8Hge_9{r%7+D}|4`uinrghw#b4<^6#SgW`F1sDz4Sx`&7gNzXX2PU zv#D+ilVy(H?#j{rfET`4V@@UkZkv7SheFArRcs-eI~KtFR(U$m!;4mp=qQjsaUG}; zL`%Z?hf9mhr!D%{arWRVL@AC)L=h&LFk9vReL+{aU+4n2E^SL$Z;<%2~TbHgCc_HuD)M+S4^sZjpH-wv6TFk>6Qmx8)#k z>5WGI-Fg)N%Sr&H%B+ezZe_$UUg}ci8v5C;&09#SK5t3%xoPWIe&_O=!|x`3Yx#xw zJ;d(?erlhLYKB2bIcj#zRM4)#4QJ1BnK5P&x*6bRIMZa}G25(Vui?wK;tZz(C-=5i&j%fYhjQl9Va3Nr)*Dz9gQ#H)7 zf3tSq4a}{~CO%u=U{Um@yZ8_mnGWNI3(z?(JX({S0xL|NyXzemN5 z?dC~pM-b315XH7pkZWvK|7M zv^?nQHQL7QAJvM>lEM_T@>C9O_G@?DPD@vM{Jq-UH%ezz5ZY zq_gm_xs$HjOJ^-G<@0a(EIoDPsGd491;2pw)H}!PslC!u=Fpz{Vz8&`Fn0NRJ@tk3 z)Df$v4yvBYk*W^#)VTf9M+eiSkCt7z66>)Q`1wr1O0uF?`)!YN$EUMqxgOD0YRpHsuSEP7LfJB#T&?r<9ggCnj&vE|*P1_z$1#oA?W{avv^KZL zTiZ+H+9%wh3e!k=7F|KWvcJ4i+P0?G#bH-x<`&l#Bq;1^#ERu_j+%Y2Z3odnPYxHk z@m3w4??%XSWbQm@E`8QLCBM@w@U)VpW>{76B<_*YWUXN!#oR zZP>((Yb)Li!@uPYmzwpD%inJL_hD1+w%{^}zoCcEf?Eqc)y}redndaZjZgDgECxtc@Pt-jMyU~Kgtz)yyP%bxObqh89@dzUYt z5W2TsG8hWdEDK;H1M`MZeW%nwr3}}1abJXIDUw!h18|Y~=N9Q{pOw*2Rb;?!%iPK7 z44%K8e_lUW?zpBr>~CKWnxwcwKP+JX{P5uC7}#n0V*=A*fzuz8N@B%zG~8_9T0nu0 z6TdC+VYhUTbamyixzFSJgKbYEOIXkNjyQY{vBZD1VJU+-s4p`J=e9uzQTvJyuP{5W4wpiehTU z6&WfSLZbS9vW4CCy}!ZFla-}}y7pZ=?hM>s2V58OhVd*1`Xv2awhC-f>KeHbB_XXXJ&5=(Sj9x6HsansY8>Ght zFVqcqF&n%%9NY^=JaZh3P(|m4)St*hnY*nPl-Q#YdRT_a!UYR!%wIH91(lqUX>94Z z366tktoQs@8mET)B|#mlQPNXZiFSc(QLd)|8Pq1uhE6;l0+x1&PaF$Ij@4$|6V$l@ zB%>=I#jPXuk#=KShcOht10p!fHN+ zo|66zE0pH!De<&%BEDtR3ci~*|(Whcr7)w>Q zQ7`o{)+-!vH}s@E@2XRY7-Ltxlmji0OqiH(8>)+D`wwaL$Ua9E?P(Dx|fvGOm1wFA@G znxHUO(+o8y)72ER=BHL)#e!>CbCf}TMIdH}?}ugPT&7BY>|a}rn0d)B_n0etOUcFyEX;2>G@6yIc1QFs(j;`thx&=-4T2rTDnN@TfRIc^ylzV zv{V(Y=y_z;*Xf>**-0ET6p@j5QAn`piBZ3q+6sAev9qcgnYmNZPKBOBXy?OUK|5s) zvuNkEV`*o7Efuh7rz9Jmb{auJVxc_8(9R8tc1CU5DZ?0}oie~j)6PRL4nc=wXy+e= zcJ>`bJHKkIzaH)U3Orjvo&H<2^K`3G1GMu?UGRS!?Nmcy(N49{gf_^s`DNNEi*Jl} z3jMNZr$te1+SxrwJ2{bnc0MDtvrDUgRi0vmFh-_2o|QR`-(HIr8?OrOyiZd0Ef37c z#2DHcwrFR86XwgNol+0Oz0O!K)$B?8ldBB^>8w*J2M8waKophBgK`Rahne{er()A7 zTB|z*42p+v+QnmOY8Bp=89l0`anW1|r{qB<0O3@0TlG%?d%yaVgjD=f!g=xY3U_0) zGe$VIx?f9qiq@ys%N)Z0Cs!m&Lx^V}e}Hgm^$lcDjK-HR4g zosxTt(v$cag)~@&pjeSFgw!J01H?LVgOJwWKw5wI)udIcyMrPI$m{Y+G15Aef$b3#pp4R`CFZi8?8NHSvVS(SEDCqvs zdd1zZe_V3bjrc0={yH+-+`Zg_ssr4;lxK1G0wKoTODaRbgw2)@Hg|7zjl3A>8A)n$ z_isL<`ozj;bN5lW`z^xV;}A*Edaz{B8cxDwLfG8>iw_TejDdx_7nlP}wScy``yp@_ z0oMX5j3C`aNYPuOBVE0@1y+aIo1v#vcPZ{(IKOSIOhfp3;pc^~Z;~Ei1d9LlwW;H~ z6!o>%rq6C8bVJ$g{jm;f8w{-C51JgiyMsXN&GdR|a z@|8xt6f*oMqZ2X6-AH!$(jnZ9WH!5=QrwLTuvVu(;p~XQq6^n9^ugF58DFrtcFA!R z*Dl}C+4>I(vAFiA;@ZE2SS20zQ>FzV2hO+dAs&S`%j>UdYKM=h3`ah6RZ*?6R~5M* z%8?IURfKP`Ru#D$;K=_!vZ{=hf%q@3DsRc4t(Vps$F3@a!>8DBdp9ZFS7e$`3Og<= zvZ4@jYS$zs)yqVRttWD?)jvfB!uAci)1rJkW0ddyf0gpx09*^GjDuP{jIdgovK(vT(w)M1>yK^Xl*O^A z2eAi?h>$mk9Iry*z3To&xmTMfA$u{Fd{ospuCaEd%!XYwT}JY0@58ou<6%p@Ae}&Zp^&p#fa<-xN`W?Tc z4(#mZt)YrVoFS!09j+J^!5?eYU367$3@(t-k%M+@8$8gv~T2tCFO;{5J z0qKNPU!)URyc8Ulk6%?|kxm>|(g`US;;!A5E!l>Ua;eSHq+F7kr&Bu%H0Z;QbpxgN zn`45EjUvcUIiC_PA*|XVFUi0Mw4@y$a78BA-7 z8IK7vEN1*zL59tY?+#hys7Ja$G2;j_<{vA_7+}WL$}P;eR8s^QEs7aGT6%%1tSU6G zz$%>GuyBu-6hp+K$CYAW-M`y8R1Pw3cY!U%*sgFuT5G8One9IuW5x%u!Iol3FWOAf zAF)`cw_(QBm|H_G#Pd&5o|=Z~YO+~VQmelm$`d0jiZ?+hG>7`)LtNw;p?aHPsn;n0 z0oa!&OjzNv4gNg94^oUFRp^in$uZoPw8P@IhBTn-cd7x9%b8%=0AFsW#ko!|v|M%; zGI&4ZFC1Anf)6Re)rL?>ZVXjx#he^M?AR`zMPY?_FXae>k`j9H=s7q@tRnLVnIcI( z$fgge=3J^d9GgB72R!O1>?)WWn>1jhli3|fg=beQ%9nWd<w&-w)YZMspa9MQ_|T>yvX;^dcjBi(DIcgMU3Dv4wYKX1Xti7Hs-WvjUN8xW5`-!U zXxvgg(@8Z7<^^Kr|9#G#NdWC`_rH8TWbQrpyguhS=RD_mT`|J9;ubTvae|Nzx)gJ; ziO>2aM8sCiTWZ0`R!nauB7Ztbhe)RYmcpN{%pgJ6t+=nRZGUob|n&D;!4jQRXDjQKQz~sh7HEx#Z2FZqIsc* z1wo>@e-GAtu|@BGVZBd*P*T#X`dHh+S2dc6Q3kTUdd*7FP6S7bW`x7}YOmiqFFKk{ zW~B4gWAZHG+}3PE-~Zj8ubP?rIo#|E#QjtOia**Vsq4BC<)FW;OW!s#AQO&{Hs3vzp_tC_PMm823U@JZ!qE?@J23u!D?7yLHc) zeJnA;GY@irYmRd7yC!CvC>_(sTLQ5OPOMHG5g=qmulYL{!@{uUPkB}PM^X^)FaxG4 z{KL_&61vD*%T-)}l%P_=?($>1@!oVV_SFc)(Hb214${!zpU$;51zX0UEo(i;-R=K2 zf?Aa+;<=&$_pa3!tPlsW6S)05pX#@5Zu-P#?HjXeUNDM0d%zv&3v^IF3fydq4j}E) zUhQPAaC^a5Tr;DDTqEli^LKCYqEa>59H`c2)ao)L(A0#R=1gkYE^5hn@3ffeG&Nll zp*9iY6RJvd(Vev`guAd9kBaDJ3tjy^-otBR;hRLgh2ySHOX(Nc5PJttSOVWNR@%Zk zKu)PQ{2g29Rf&hAcdCUUw_5ve8taVKym#n}1WDo?Di|t)Ke2yeO$-$&4P~eW6hUU* z+KU5HxFS2|EA+Fz=nEp$uI|9`PcMvwVpWEqAh{P?eI!^qtvZhaq|cPvuA| zUWPbtGc5Qay`%RlJPfH@H-#2Aiu;`7dGAc-X=?+-XfO$jphP|KG+0QiJvQORhv{c~=(^Ax{PrB5u(S8zve}8wy8E3Q z&yy{6uhEqIo_p8YNoe-X4qyEmoh6=xah*FqFtRZCsf`Y}o2x#HCa<(yF9Ng(6N93b zQNG)_`Vr&CM+QVGDbPXOL;r}^(cVbP?Te+YvmOyvixc&BTkH`*`0zHNw-G*VE=XO3|cXGx{;gSua+rVcU4dFRJ<9 zv4tH!3l;4Me`g@PZ$o+E}-4Ld4i(G-C=aiW&W(@>fEh#!%oedeTP(qjn73Fx@cCCU z*3lQiH-$SII4tF)2x=RRbv>)SD^g^CTi`9meNJyiQJ0j)(dd9Grl9-X6_>0|aeD?< zO)}8KYM}$KP_4D9L)5YsAI37H5eq^#-QzibxhgYF_h~|s+rhzey z);B{p3iPu-#x(9haqn z{+Q%jtiTLVLG-Ww%1RgSzvcGXcmTE%=DOGx&fGvyc-?**$OJkqvK6?kE55-0vSOj8Ik+9Pcbkbkvy{*&Z z`iDIpyDc!5zeL30Z?b=64epFlQCu}r+`aJvdA5G_v7yi@y1==*z-79?*cv<^Q((op zt5d}l@~W|BLE#-zaD^nsR!4^_2zE`uB%-)P-Oz4%BZ$9<-GY<4%QOLEifE z0reDTwsw;e_y846OoaNXPhO5?EndZNFP&0-GMD&3RgQ-9=aV~B<)9)ATI4t%bOqKl zv?S~h(7qH+^_GMk0`H=!-jc9G;N8?zNA+$5`Xn=b=}V*28`9?2vnZ<^SW8U6T4Eeu ztUmivF@xji-71(%n-aj$>T@j}>IGb<_E>KZ%KjV;tn~1AI;#7%J;a;ArqlYt`)U2) zUHY+8Q_EMn-(Gn+CxKDk?QU6-5lC?tb*-}b9MN>=?^}I#nB1P@w7G<#XLQKmf6l>8 z$2e0}ru416ucyT>Ue^`+QsCcgR$(d8y7{IxuBWI1ZULr^PEU)4{f}5u<9k|?{b{08 zQ5|(@>(A&2NlNbh(D<;r>S)q3XYFL+w|EZ3ZFwT-1e#u4Yr3AGoZt!ZJ6q#;B7V*N zR|I2%Co#d3H-9^XCkK9ZCY~(Qcp|28T*JUcbt613L6x3RfH--}Nz&Nj+%}ac;68f^ z15*>WigG7g=f}<$%d;wigO@XwHP;^-q`hK5Fx*iV^a2bh-ZN{8;}S?$$pCD$?cKe(^Nb=IQuY|LpG8 zKkXGL#I<>LEZ0Ac6|7I!UhLaEwSUn+)vhew>ee#O@%m|vJTX|`)H3E{ zL@?%Z*8LR{q{98VsX<%eenFtJGTphYHMc2Js=swRgIdA3s88pcuM-2uR~$ldQKw8Z zQ@U2{G>Vi?nQW#UU9kSTO%3sZt-79K{aII4g znJGJ*8}6oCMp2_qeZx$B#kpazPTj6ke{ZHf@7yp;r*74$VwXTG&pJ0;qEol%)S#LA zlyk!vo%#f+D}GGAN1YoiI^_{bSw_l3&JCXlZWnEmlp<0daBeuFQ|cwfO-ikE!<#y# zT2d|niURYM*^w7WAIDnc@ict-%z%Zwan%V}VqkT|RqdXPPCJ1Y(1o z>T^k=bK8~Sg@XO;OZeySHTu8;y6fEVL#D=e?UD*y|HtROgp`-0tMdJ{$)9abm zCMI8^;Q)fJ6+04>f3BHwbj2SMlb>Ox9A5E6V)FaV3E02lCyB}b#7x=k+#t|OAb@Cl zQ9B4A!DbT(AUhMOAi#|})kJ`&%~TNJ+d9=m0AZez7X--Gse%A2sz_n-N9mL&B;{^W zn0&1$SEMH&;K<}lc;xux&nJb+KQKJ`(@0_RwPsvVwbU~?G5O;oTZbp#x#3A(fILRp z|C?zSEA?q^Pv*+0a=+WNB0T_QulN59=kJR$IRHcnm^~XXc&Jz zxlxZ!oDA4ML&A*+_Om-SfIa{JNC=0hmHX0{gglv1ym4MHCYOtaiZ~xCVgetDG?i(m zddx3nt}4Eip=CzTjeio#tRcDH6RRiUg!r3xL_3Y9&BX}lJqH$geK8-`=)+WjW61uJ_tPx&csJ<{Zsl_Mz1>}ux$;)ItGsE)YGAUl zxC_I9<`v`J&4JPGfC@O=RYzAixziMNuCfQ;v_;2LvIGtM!?C~twTwHsl}o@E5Itj< zO#FT-Z8Zsz=ZM?|s-SqzfYH5ID_}my$&>vuokE_JcM~}~(5Dsv4`vSpy;42)>jZ+L zHm}1XycrYs+>^IJrbv{n>Zl#Mt!lP>-M<-p#QcntG$+N|LcF1#*e)d1DYpT96C)NJ)moO)ynQb=BG-)FY zu2_`4d?mfa$3r3pt~?CI!1dn9=IlIcZjK9Pn%OD!IFgei6LScOOAqO)o~IH-(D8pP zSxn0slG7p6gUuG_Gq#-Q=a}_DF_Ru_B2rsoEkdm(28Tx^yBe&()$?F@38>hJt#@{yU#r$sR!B3Aw zKJ4t-G55adW__=|E~GhI;DxwtIFjPUx=?m6!!r{+o3F z2iW=wb=3}|0&NeZRnJ1ZmDI3w7$Ba|B4M`&{2 z48A>ZB+k&DXT#b}630l9hoy+bfw|WaFGKX7p+coYh3sabEM4e!U5JoRQYb6frtk=E z7RsW^Nm8i2?wz$4;mv)g|7=_eS(_|3IeclGZ|yy4xoKjkBr952_s;sccvafDl2Ace z82ggJ+GJ+IMK)QCl8M&6b&cyM1RKvMelwSyq}WY(9e0E^afx?Y!a$W^b{3I9=*99+ zjjBx;VwR}am}TTkJ^nGA^Cha3OuYxnCN%bTlud3;ut5Z6OTpRk!h3vM{eroGcd*VL zTIUF@Gd*_Z#j0`Fd_EcQ`yLqSvykt3@^LHlVM>~}vm#`VzEfK2i{#@<78X0JN=3znbCeU!zJ6vg4Z!#&@zis)@P+%jv*MwAg-Z6B)R2Z=iTuN2}o zS|XjqIW+M_<`f>iA>D0^Fwi8{PDTECfeWRZOC5pHx|<*KLDmBMzgWH2V+#~o>Wbbc zu%aoB#7y;1x~1$>dt0P?Tg6{`TO_VLhPwNZt}$>;aq&=xbuH7rUQ3#;cnAp`bV)TiGRfPRrNYzc#2mwRkeV{);cdUNu1&)zStx| zHU29*#iTM~Lp24tAnQyC-#~~GK381+;j!3D!nRp>AhP4ik&$V_j*x-z644QqvjDSo z4#1x%PLEZ|eY6boE@UyS)sF`o9pZy#`s_^nOo+q%xbyvlRWJLqgheUpQh(%xfDVF* zRj9*&5^}83KSpngen)*)e!0t^l3$)lB#ME}Lubi|npiCI2tC9><^E9lez8mpl^=lZ z94haGQmZdl>S+x^2NU^y28EK$bN9*uC}RcOpp7rHm~QAP_L|Qatj16dagQD5PRIl2 znLt;scuPW6jiIXcQ2Flq@(%SQvrgkc@1Y5YdiPB(-(8~83K{#->MDh+eX3Kv^Lejk zzd~cBsB0+riE!og!N67n=|an{_*_SHrCD)&)`zDY8)H?*@PMF%9(hKR{bWZi;WLpRwmOgE1%7FcPxs{0wAg#a}Y7Fpd6ew39hL+iqy zCMQ=1CKyO$;Ot98cYg{o78crcd@0um0`mOiPwaVBb`G|Y@iiYCTWi5I{KvDAeQduS zB1XOTJD`pS8y8`mM}JprsK+-BHrAV-?Di%1ZmVQfzCIXlH4Seiyt`oA03BlRmSU-DCaGiugh^=zO#?GZ5CCWRG z;=zlP5+ONC)aBR9?%==9*eczlj;pKJ5wtEv{r)DsUC2E#gA8dzyO%22mL+KvN$G5< zq!v;$Pv%ffiQPg%LS{0+T8|)KUaS=En%d8ctgRmZxgsjWFV85>9C7Nk&}WN{t*06Z z#z83N0X0PyCV@i|Tfst!q{lw>>AwuEhLcr-96MWJ<_TIUrbRxBm^M+CQP#aXHPUaks~wl_IqO%X%OzOQOV>CdGkO_T8;nrQz+{`Cb|u`w-t_BX!N6Woe_^ zWw^ZidOZ*5dQ=XJ#Aj0v3mW6=Q|&h&2w^Gc`e7$R@VgQr-{l%V6hG=}x`?B%;V`Ih z{r>xC@AvAe6DtY#1%wflAbt|PQY{cPhSG&KI7i)i9gD$3RA7BO=_bmDthM4&+@c_# zJ6;SCH=vdb9ew8n`_9IakoJRplbp53c!-Dmg6=`;*U1^pjO7;j&UU3MTm z$L0mruAzEx$wxh+2&U`#4G+btU=C9e{k@S2iEmVO8%fqi)BzE@p}eJkt)xBRu-LbM_>h>?Js8R{+oQs07!kpro_o0N5i*# zT%9?B2jHoU9V)>>KbuPjB_>8k3eQ|^F{B}*kNuw^l$k5ERQ{>W_a(YUM0)iMmrop* z!7v~iqR*z|BzD8FKwcq1F18KSF^E{s&mcMqw2?!YAIC?evQ83P}KpoR43`MqUuX_9!htr1!kg!(yG%; zJglxJF}Pz!etCzp)=7i;hsXQ1(ho!40krj(7&w>HpC5in5<*p5>(6)Izl+BNkV;deGpJK|4ul(| zQD60IuW=aXo>-Fmg#-iMj{^YTRkyki80F$P%5xwYu2d|RBK)TcLQj>G;hcI)z0Em0 zY|EG_!(F#KS{bg=F#euVezak}z_`Tu;x)iH6xacnXV*lNSi_;k`@=QVlVokp-D{v~ za`j3SD~to%&B{~5tCH&-_c0@6cvKo}ORk=k6nK)e4n2ZC->fp< z`Qfd4ES}C|PxDssbodW4AmaqD6;D6KS9$9@_B1atr9WYBN88uG0Q!@Y#DZqh{hLU- zT%hSy>t)NlUoK>?SMw(qcLw+9B)KQZ+fv?QFG?k4q}qq(G(~J0Tx71XCe~lSm{|S;;B1BBY8|J)4FR08rD4l zZb3)Y3aMQlmaP(sOK*zhk?TMr^&Is93%l=ZbzJy3Jt>uh|4sH!@{Nm)?b7>&KgE|; z_SPjnOC=2z_^j%lAM3qa9#YfJcMUbei!(AvGfkn%M%a@OMwQr$_K_zLY_ zPZm4OT%JswRCO<(oV8(UfR2*XFL`XZF~?c`QMI#f5mR{ZbLAvcb-yK$e6TY(^X8TG z+gZ1nwD8E=Url$tEM#zGKkq{y*Pi}S{b)y0(k;?IyR!4?p!zU!Uy6U!?C6yTcOLxn zFFx%2#p40{kpo8#98|Zoe9&}DOWw}t*?Bu*ALEvEZjLLkLzmr6H8NtO<3j0d4K7%n zNi*d!keWf|f#(p6GzPo;#_oj>7y=`hs=qk$W4kJ7)mTt=8{$h z{J>{B+gnoP7=;ghTKg6Xj1Ot*97z@f_n2a2M2Xp@?cZTkpm`b3f<8--Qst+Jq~|bLG=vc zJs*z~Gjc_1x{%Ya`rfp{U^|qyB`~VQcc;;`baU?@9!iO8Q*%!m(%enJVsmdlDW?R3 z#I>sCsOuDH=L59V0#aVD;uq`b`#Kd0mpoAc6E}F95iXX8dW|#Jb zR?6B4&r78tq6iiT56m~d;;gC}fgcMy|26Wt@fBRFXFr@;^&v<0kq zR%OA*;R8MFVk?3gEm0-(z#Ll&iu(k%YF%#)&$A41xfUW=D0XgZE-6JE@4Wx}DGamk zN6w93Fze3R5BVGHyUTfhqYPjDgTD$se<02Gy;~M7iN2>DwHN59D`J-_zSs&~!Tt>A z#znkVS7qbJ51&yvQ-P(ID=)WUUozg2z3Pz>0?o|GZT#wD6Knbf8qSRphwGb5TBFF? zUB<%9@CKRNna+zPzoL|HYNGPkk0-`{oV7^DIAqi*lF@gkKzC8J!C8Bh%t3Vrf-(Jo zy~--{!9SgGIqRO`O?L+$&T!e!b8ZZg^3B~zUKp7MY>o1Xh9|q`hmiFfSqBI(a6j!*uOd}2wZ(M)M^Wi=~8tpz5`;6$_3 z_oUQ9U1|zMz^+8DlGAeCCAo5kay^yEHTASyH%l(@drt@mu{`2h6iehxJuN2(gdmcDOzC(6KlErMAd=2K*t_JNgm042XrDQN?!W_vT_#_3)+~#d)kItSG{ml@z zte!#^+^9*e=j*$GoVr(Maztj*tj?De>`z@aP8oFxh^a>q#$$?fE;&vu{yfE_uS*%P zg8-?_;p&|YMcKGBYy2ps!ui@x=eC`~ebJ~Gkyyp%OJzNvkKP~bTkYIf%w(WlqLw>r z#gm}M@?!mWreJ?)s7KC?+)Xjp3yi1;o(P}`mj;{hn~>fT*)!bICR&P|LqP*(PawOb zX3)ePAwIyFA$(aN&@I)HQ}6||b*f;t9uOQ^qKBQWea*RiMUwM!om0>2uTRN&#c4U2 z4ZE@q=Uijv)Ocq*E$8w`|4^3&dzVPbo!s`o-bjQ`0)+zndyaE%yi-uBFM~N;Z#SxM z1ZMCetA(#*0@oY4RC1^_&f5QCkh0Wj|1JJdcMYGE@8@zSAIR(R3O8;Bhqo4yW$=x5 z@|S1(vqg#)=<}*$5NrD5r_za{0c#N&00T&x&WKdn!l)GB@2j04oKb;@@qJ7AT^ea+sCIZOHM+BE~tw%-KhQM|rF@Pn&y36-NL6}GS zHNpt`jsz|xrT#VmZ>0aM^XWyLrU&+)f{VrKpTU7sp`bx_m(HxA@IF-v6ntmo zyE9Urm`Yo)-yJESWnWrQEn4Pob8h^YZ+P2XbFOfg!9g||L3){!LIJaFxHtFeKFe2g zTd@o^G+d@A(oHS_D`1)t+0T;v`Y?6H&!AhS&o*amw(j|V%3f8ho&mQ{9j4x{*6GZ8 zn8)al3{xChoSLsVvMSzkp^1$Hyt31l2GZGcQ+%mqQOg3OVB$=Za`=F+qW-@&eRD6d zaNT>?TIQX;N}E`RGFV@7N#tJIKLa83VgP1*k1d}VTb>nLo~hn46>=hl$$l`2Pm~6MXUtVkbDap=pO8 z%VF%TKyEjNL4ZesMLyY~b~s?{q7LsKwXziX?gAvSqW4|^@yWe3oh&#Mg@-%JXx-df zH4to`3Z==}fI7mqMq`{Wy&{BxM5|Eka~1@Nm0)xS-l9HOiY#T<^d<0rp!+pLP{ZOX7FMR#f3Irof$%eHsWUY&>L*dS{`iPVm7jj0= zsxXqB+eTHObnt0%MJOHS6lN-aiH@)~VioBOPDb>UAfcHQ{D}G|VbQ<<9i`4~*H*yf zbis{prtI`!YI5)rOF#`>1cF^thxv=hEU^GUS_3-}?Kbi9strI;P)9g=I8<~1avSj^ z0TV6QFurt~9GRnxmzKzHs`1jz{03io7Wi>eHnJ$U3w~8tug|Q2ZCznp@2V)^=~JE@ z{C>f&o!{g9+W75Zpn31`06xHrr@x*PM$PS1ihOs`qCiIJ!bNajP*IAeFVfFdQ^CUn zVtw--jRO8~q21jyp>cAP9|j_u@al8b;bs^d$3xSd-Oc7`tz;S z07F8-vv<~p^yedx!_f}~)5VwP8tDohKz-h*md*r5p(nXe{9*2+dBU$HCEh6`2IoqqIW;+!aRbTktpBqSP$lXQ&wUju+iD5lwL@%T zba09*{zG$UlGMM*H!6y(WRDR$J^#C{o=)NUR4L;_=eAwJmgItp{0x6D&*CMw{BW@U zPUprPx@r144EA5_to>Jp73`l);I#fi|B_&T5z%}5?{L=1y`u6SHoH=_a69A)^huyN z{N40Wk&1p#=2)voWy=$Bt+;6X2L*iBM|Q~1_ad+ILw78`A4dMbqhw2$KO-WdKcT-A zMjqj@a*b}|uiN5nq=x6GVnpIw9=VUN;TiL{fG=|AC9oZ4JM>%#sKwfk<-H{PE?y$Q z!+CbC+$as;Xb&a>NAeqalnDGWvXBqb_?cZ6ww!NvL^RrccSO?p(H*-pA`Hu5q|#Zt zUq7TcYv~>-sd0D_I_=_MB*j_x8p)cB9xZ>Jb^p%0uPpMq{M@Vkv0=j&yw{$Ax-^93 z&*FsS&xDX<8qS#E*IkGa7%<0UG%9vY z$%SUY=pCqnIBR7Fg00E*<=xJ0sRmMn$!K2(6xMXDo^Fe5x2%i^%SS-LDPD3TqY zGmO&|U1m(kwcg}8(q6L4pc+$c@EmI4;3{t^HBRJyfiCKGOa}49I3+Q`idX_&%UDgL z%wqfDxcVkV+b{utQ&01+cK93|WyoIE-p5&qx_6Z$_+RJyvX|sG_r5RABitueCL8aC z9akBx?$3#oLeRaG0(VoO2N%(A$9v~G2Fb<=lXk_4=gsD?sk^$ zwD!^R*-n?G!s&0Sa3&ge(fD7!q4DT=F%sM*Uz*(=jBL1LyOzPgi?gtXA>@2Owi8%> z#J0uu4z&F|oH^V5g!&} z@ixxv^QKAN``$i9=>svuH_AJXQbkCrh_jJB_AS|jXHAKY+hW%(m$z)Ok${QZ77J1h z>yq*oVfA(S4Z_EY^#HcQp=r`NDrL{VP$O$R-CHTeVlM71Cp6Ha8?GBzqa!3hFkbm+h<%gj&Ft4>Y5@4R>_4*labkoP`R%e_<+jsG6( zJaSI(=)AN$% zq;)!j?Jl9Z-FvIhR_x9t#>Md-jy-=0=eTA5Ue)6{jwMUC-!5XUYM%D~MWSwSN*o~a zDmv@kB4?q;N3x88j*+YdA*s-U{<%g4Je;q=q zal{f^PZN>`d4G`iV4+PyjGGA@A(B82o0;$vGl7lTZYFFp6SxTJOO%n?)M@MO$eV2s zcDk;dP3$^5VH#0))+zQx%3c*uu_aQ7ZyrxdmZVe)66#eaO>QAY-7d4((bLRnz_;K6 zhpVUA#xwDU3LW;IW_#k<*3;}tJSX=wXZyK}+D9xQTx0@|r$;4v^czlUeW4A^x zkp5bNor7Y7ZHb;0fBh<>CE6`nvInFVE^DlYY#rwX;Z;*$lK%E5&ONjEC&6}G6cSh0 z6%DqdqDu~}uW${UXRrCF6Q7z_%6yDik{yJh=f6xUxIOzLuHy&6I{U#Th{^eSJAaWr z1aH5cPxgb>gG;>8Yo*@V*}={~NhfD#Q|5@2IWkm+??^0W-=4@KwH&b?S>jb2QNWRa zj>O7MLY;4|Xe3H)_AM@dYVe{#d9usXNqMr#Q?EQ>a}>PjGkLQ3xvqa`SYD1D<2dWI z$`yB-5YC!}9?4T+O3f(QFz}<5dSQ%3Hd3~WP->Km^@TBbBO~Rq8U6Hvvkgm=N)C2H zpG(YJ>KGx#$6s)E^lT$_a`Q-0REUl+AAvb{dSJEGpLTGz_uzzR%8}XLBNIgRNYh)4 z5n_kycH^LM1hUliKTHsZ1Us6hUoK#sB(h^J+Leu4i>Ca{H=f|i<+m3E`_5haIpQ%W;753cQX)DV0V}VYTG*?TCki18$2R&i3!G{9$Ll$L`mGu~_F`1=P59 z#`{k&>r&MXwJQfOJ_XsdjI+`6*cINul1zf^!gYW>KOdMjIiLx@G~SfUqFn8ad%1j| zTEt^8mJ-O|hFoSZi1f)O60?Z^fmkHU3;L4`hAj*Ii{QOBq{~93g|E*Ed+&*+hL#Y+ z#DV2pkFnIgT{en*%j)_5>uU1h>^J(qRg*7!g+IF{Uv?S)=$d@lDvXxE_qNwiO?1ij z`{ifh_MrUSuziF4%-Jp%y6B9WeAs8Y64{cZ5@J~BN?zcXO3vL*D@0=6P9sTC$M!n; zN!i}O4`v`vBbs?l1~XDQ}P=p9s2>}nU!W$0hF zdhlB2!5(ywh<&1$=^-2;i)jf9XGkeinM#=}Axxzzf3h}@74dJ9*{qtgp5Cy`v+w-X zR8ozC$|l98r1_Pxv3B%W&|+5nNZU6_+dRa^KEOt|8)en8ub7%HSHDzr3(U5Bd*D)| zaE7(LCg1CUS#|FA4BD#5pPdyrD|oMe)G9~tB}F9!XCq46RgLD-TqvZ0kQbF*ucy1D zR?!`Y=$%|rX={|G2V!GwG^AkfIx;Uq7t9DkV0C^oI@?MGeh3~RzR@B zVKzvL)-rwAOe}Btm7vci^JAR$!>4K*>;n<-l;FpR2;e7SW~iC$H0EvgJKvStto8(1 zs^0n!7)>_vzBZkj@?g!YlfQ%dtwu|RW<%4K^T6x~CC|MykYeCg3AZ4GSRCLgk28|v z3q`$mE3gsk(c_}fJ6?!ii0W(@77o=yv=^UaS!jCnD$$b_c(LZfw)?#ZzPl9%5onc3 zF9~bv87O?xPm3rw^**^q9zKlTAi}_^J}>GG^bGxKQLq-Z_~=FW9WnM8&H2~*?coC3 z?EL8g0;h#WN)56Ne;67ob$Hc(ae*kKjuLf1o{Sb#UrJlY##y$)WGRI!%wB0KrLo;H zXnP3%8|;3Lt0b6R^{h#Ok+nOwPI5lfG@tkAw3rn>RZ2rzed;{zMrF|XTBBD@e1TRd z?KtK0{07e;YvCNsmtkAHFoTQAj1hs~QJlc`gi5!3S5`(tnuyQd04DJaDf1iBqQ@jr zKn#t{QDhHc2#*6UNVQCH_j5fuXUX#m8VFu_o4>cZe^TH|R>FC@CBHNLT}yTTqyVmt zq8TLRy(5uBJ+Zwino&sWw${|!=F!i_z~|Dqe`YmtUITWT&zmvA|1G#97s?Rz0QKNz zamCexn}5paV%GT)l-~$aBo!u6q3QCr2wSCF>9UomTDrG!JO|wN8n8GvYh^yi4CBgs zr#Ikox39butAAJ1$H_P~>u@)%nji|5D3LUe0l~m3b#|uUivu%G^H!-3$?`})@|j;1 zun#hjN%<*rdGco|jzv*+8=;ng;(STfSz7WMTY@tsGwYdWkp2yzs~3YTRrGG~5R+4) zWTzMQu6}nsc_StAVoypzR%VzUm6fRbJ5360dTWO=x*PP`iHsE%0w}#=NqY|#$XiU<6p=gUT-tf1TdJ9-Y>;X$q1B) zF;gJV{q~1O8i2peG#K#VVysyGQV910vMn4!^&bu0Pe%_8-Sic3(jxJHVomE@J2 zjsA0S#x(XtbW7AkS_-z=Wb&yy@NZy!I>xBdJ}5;0%^47jkMKHMbTkBQN&M_zY%ha7 z>Fy0gPcfb2Xg8AFDKe}6G_M*7HYSLw_@~17r!T-%K1F^3>$dWz)9tR81P4@@5|zJ| zR~fWg$7^hwRHvE*wWmpOZO?dST2aV{qOnP4Yu%d*^dz_YJC zFGa|dp)=oMG=Zk5$R(8;Q-u;uVI-Q1Vze9QLCYBHY)$)m<>sNwu?~|afx@qbIrk| zW1V~-{Ex)<9_R3PXKgjrhi%W{vYI33>X*#^VBEDwi1yapwqT=`tB1RH!aKb%V*O{~ zItr>RluuAWP0^B-gQNiaA+2Us97ovyq1HJ)E95ix{WXpGN0z89qkyI^UPe7hA(#G($4+_iGQ6eB z5)283qKQ%kK{b3m33j$=-g?pfh*iJ=U{o7qQMy0FzW;jHar_@XW# zH^18IP3EFRJ?lYRL8V3I?=QJpl&I%GSj-oDgeuDvlQ(wIcksIuXF)Ekyc3Fpk*b@4 z!d8n6tRyz=X4+S`K|#l+E#VOCXNV2+^1du5-P11%;>||FK zqpwu4=?aW3eSInhU-{Qz3HfdHrBL>v>&%U=@)79J$}IliMPH_+MeX3YK)~{FV~hGW zf@VEnv}CKX0rH;}oY{zhAL0Xb-i-o`@|II-24zMZXQ9W>Um>!dnl}5)I*Kvl78outZ->1tC z9&m`~MLBLn3w`)sLLYs`|3)9(8Tpc9|K)#0aXGRNlFfYjoULScu*-2IGe?#G9I`;J z+Z;MAi$p11)U5prhg8#da*z8B->U=XA3QOnKR$zEFQE*YjeN#9}~eVlk&Z$djQ z44lVWI*$qPU!rE+mZ1KN&=p6P1+xUI>=Tp7)n)@Cy~4UYdepo?@De3Jsj;`z=wmMk zoQ>FP3}UhHA}#j1Li}QOMK3nqK0Q61bWej9#&jL z*I>J@K5ah4td`DwF4DP-`gE1A+lcN#G`COJ4942IXQksDhf87b4jWOp)j3=B+Kz8Y z-h-5yk$Sb6m!4IhnmU!@<$HH+NTWGyJL~|2XH1w$axn2MWReYp)MR zEvv5XX|@I;VcX~n!H1-o1N>S2zF`~fP7dtDm+`91@YdMi;9#&BChFwY-&FI@znAUy z)|RN1R=n()NSvY{<5SJKZA7j} z-r!5P(%E3X_jH2EA-y)49LU`erW*x?-Lb!m(~+`6lOXK>Qlo3A#;4D$v9ORC%;G@Q z7DUdPe%ZJDX$w^Wn^J;#p`hsgCR62KrAq1ia%t-6rxKmNHqjK91nIsoETAdM{;oCkR*ENm;Ic>UNa&8fW|Bg#)OXvX}AlOz?y#Pus?mF`WYEW zEsHImq3X=%*z&3BzQp6z>K_x2)771c$0@2T@pzfKDe+jK<|H2Hs_F4Z?F2ww${PlP z!vjkBCIX^XC~Hi6hiQy%C{Yt6LSvvuEb7$p(dwgf-Hl29DX~>Ist5nTK<3?8=GG*F zKXax~3Ao-}gHbbgg5PjHlz~s7c{eU)>5?*DQeeC+$7o9Y4_tt2i)Y}xX%^2IctF$S zi+Ycw5+%klaxdg!WLo+g-9rT@deurPhnsMJMi6zwH85>YM*TVi7bf)(UuiQ^c_&kj z0I!jA$h;;7#&JiAH}oTN6)OveOL^(HmS zZR$g=NslC@yLvyI5Sx4wF^OCTTh!j2Tmp4>N@S#2T*5i;^+3~vJX{m~(NJeU;R~I; zE7938(ph~=4UF~1d(}c7m^geXi_U;3(t!GRT`=HGWO`gOMGxwZmZ%meGCDfR?5Hpo zIJ;WZHPW-c3D${J@wdS`Q#Uva)*r~y(=Gu{1?xC+6|3L!?G&&k>!PQEwVQ2g7_4K> z-ufx^b+DR1t^D~MyGso~cRd-$pnw&2qWTugkv)8bSAp`h8HFqxLY0wTHA3$ABc+H* zp+c}BwZPDuD`rwjsoxcw_9zB>Ka=sc0uSYj^WE*f(nZ zU4D$!%W|9i*UCY0Nl>L|-9%^I!|XG7fPLsSNER_k#@Sxtb(Z;QlYIJ^ddyGyHAjEy zWYAK$UUGqIWW=Lh)A#sSwZ;A-=9GOtM@vvM3MS4Tura-_Wb zNU9eHUqeiL&8Q@+)E|KWO*9hSeh^`d>qwTVd!Z&cYaigN3~6>yjrHeA+ZST5VA4iB%$13fyrUmoyVcxF%O{{Pfd=5L|;BLRWik}e>3 zbS}N-2s(4v|HF8xB}4sG*D^`k^zjqTLngFTV z#NA7rxxpko#hIIyev3!9nd(Y16ynOQFL|{C51BtR^GEL(a^_adPCx9-&4KX$j~@uJ zGch_#ZU1*_U))FD;12tdkF-m-f6D4<$qtN>Vpw&G8UxnnT;v)yt6}kx) znDCc$r)39bDLZ_fdG9Rg?ZM`6#nsN=2XM#|7&kAPsqUf~_L6M&&m)|kJdQ2#;kcll z8&GWQCX>Z}FgjBGV4=X8>kg8Xgf3A~4ztTS%w#JzOFX1Y1hPuhbP5>Uj7>LK&v~gm zl$t1+x3fI5mb&1iY!WhH!K0@#Y2JT1K?=mFi;q7g;mN|~@B%HBkKcg){n#xu#11c4 zNB!aN+bex+)b`V;VpE5qbXlj^y(n@)@D``$i9ejulFWzHMi?y}{NJh4;mk(IZ@ z)lxY_60ep&&tiVS@$o|9%Uns+pXJGytlf<1GS%{Bjr@@(roJXo<`GHUB!6C!+A`EX zB)&W)iI2)3dGd`?MTsx3NaFMIN1l96m6!OUB(YQe$dhl3Iw$eP(MqCC{>YPWtU{)0 zjz=dBNSWQzgG}}3#Fr_OJzM_B6K2hC#=n>=M3|CQ_QRT}bb^&$6JvsXrGaU_w93o=pBOr9I4;XVWCRzG z=AviC>PJIqBTMjS7Ow$Dbq}@Rk7@wQccTTNHs(vM8!ePgMSu${`ja_*iAjrO5?)L~;)fim}zusmvM;9Pl5$%1| z3kf1B%KmdjbbP8fszgoh;@d_mjhv&AmY`Lg=fmFHwg^-@MH?$Dj@soN-~MU(KElXV?YD%=d1uuyE#Ycdrrcg zB+Q^@j(6PyF)NY!5%7t-xSD2HXsyj6{_9?SVwnXttDXHtIl;Sq^js}1^9cP_ZT+hPN^4Nu2g**_s zS4rh^DX!~SF2z&Sga32!EyKn2KB4PaE5%dQ&8HN{Ka5P%Fl^|6JxMz7>`)Er0l=Z* zd4bp%k$c#9=?uVr^GsdJ;mS-s!t$Z|iE*%~?^3NyP`5cjpynB%9Boc?lud`?`%S10 zO^V*j^nQ2yJ&bFlTC1o1zlG}a!-I;7K^B&Av@U4!KlDMiQTp(xIfSgl5E`jOLxx#A z9gfjV>AZ<`Pf^ON>e;+BbmP;i_tgV3xAihFXQ@{-n9cq(FDO|iDlnb9MXAlK@KF;K z$QCq)sNzI7&H&&TkxetXY71@C{U^-sClFIjOO*Rt3x&NRzIN1}f0GTKKp;cQLb(#f z|4-{!$O8J-VU8)jj!V>A*lYa_&}ub>2>mHL6`lpMU(Jv|uRIJq$E$mE_e^-60T?Zj z)VJmmbDz|OcT2emO1lk@Z*UXa@@I?u zc~$;&$)C6Q6B*#oOF}1Xm$M=79d|oE+k^xWyRr|0O_Qz>#U_boW=W@W*gtx5Buk0#_{W0+SAJkHcop-1bbM+p)NE^>Gsg2H$QF4Rw=1w0|P z%BJ>W=vTJ=b++5?3(%H8|0k4+x{xWx)ORadpWxw2?5{2{oNC~? z#K^;08o^~f1KX3bCA8?;WCMX{@M+{;UhdgtI7K1_MmT#AT!aBJs*L&P2Kxv7vl?zb zAN@p&|Jx`m1~L}Lh)ZLtj$q@qC)hcwsXz7Zj_DM#W`@1YF5;H!vl`}}Z>zt43aRt8 zR>FXLF!0+r?;JV@=kmjayQf>P)+K}MvWSky-$8$B^-WW%qxTwZt@EbTh_am+C~318 z-|=Xw@5^YiuV)FPewMxiOU2;7-gtex@OnkBv?rM`kFris=-4v*M| zNkZGaEC3tRQ%U}G!?wMxz$HoZgE6bKu9PQXFhFQ`2vT)!`U;CywdVKCN#3FQ@=wr( zDpoU|Vj*%Faw;E1)dULthlP&`JV22HxAkYDK|}c`R27h_z=V>#9^-z29^Dw_RnI@k zUh{AAj>K3nT%?XGj%Xx+3rqKz?8Lxf( zQ0?mCTpDbLScxwuA)!lE3z#iyR|iqO=~ps((GwieQ~d~IMG=kYH-U*g1-G-{xmP?y zb{zk9D?`eaxm*41rE0xAgJOOb7PI?ef-hF8_RHYG{ZBORzc<}*X!LEJJ9f}ayLV#9moGZJis8Pr^8frW^0c3Tpd?6?6e+ z53EnYjpy}N7&uo2X3Jr1qDUxJ-OKC$c3tVq^&IKM*VffYHD##6D3+}M=k?SNor+gL6ZG(vI;k;3zJ+yL&pDerag&L!qLrhD{@XDDb>7 zH#G}+o|Rw|n?iv{(Od*N66U17I9&9K%A5~~iW7&P z1hw11z!ntLJbx5VYURWrJYW$_w$;h{4S70h`o;fW+#+i6^TEa|tj)%oA8aDOP3y6S85I#=_UI~7h!MyuP4t7Kb83Kwyi1*fAAU^9( z8jRbsHSD-eQK*jiR($n!urEDs#u<<-He-L{1&q0*59Y;g}n zXE|R?a=unCotqsh>TvII{&Wi?rv?nA`)#4eMEDpE%iqvrYxqmyP}S~&g=Pi2sbo98 z(m@?)J$5~3?MqVJ(@|*ci);`G6g}T?v*mKJJ~*#ouH}mA|2kRk=@L+5FxKHquIHo3 zT%vO%?N92L&(Ow;MSrTupIBIRS$IBbUAx_$N1Z_lE+tA5+X2R%7ifA|x2L_;R_%^v z;Yw0>X8tK3FQX7%rBm3y=6kV6B?EKrMJ23WO)Hj4vg1KXlO<=k=m`Rd;(0C>*c2PP zU9T`_tuTg-z_Yo5ha|3KFYYk&Jx@3{bdX$K^~dzU)xMESiZOTDAND+ftpM)6PcQ#C z8G}_%SezR~k0<7Nb{Qf+g`sJkwlm zn-|?0-#k1|O)qbU6!E+gkB`Fc6b?KkjF`T>x1N6bX?8@_g|CCpGYX$T_>Q5}Wg>r1v?I;naqJx+DO{Sx#$fQ{SxvFjyL%uoUX>+Uy>{x9q^cR} zg+H^>3vLW>U`ik-3z zA>C{;7H0-On$^^odiT!hqQV$oc$`Hijk)$Ltc9$5Lv?+q!m!bV9zM>)Gtanptz2om zDv9A22KdW+7J7~|(gSI+Iri4nk@L_S4SP4A~KIre1V$Ym9w>#$Q6?-H#n+!KuNy*M27D090Rr-a27Fk!g%%>$K> zrw&vaW}q9taiHH_F+9*L8R!q{zhR(oixYEL5}!dqFk{f1!^}{fG-BPwmKipu@EPNT zd#^LN1DrBmkfd;(mpih1aODL!3IKb9{po=bzLB?x9eks9BG8Cuhdy`HibKMeu3U_U zQaCI)urM5!qPb0b`@BYzmv3^isQ-79Y%<6UvO{%>Y@qqVyhHq*286<0q~x}+H|cq| zws>PNNEe3?;v(x~lEu(P-3L~@X|&~HI55xVepPzw+%S*KLlDDU4A!cN8t494JA}Yx zr_d$$AtshyKu~9?iTO-Rc9Oc7U-PJrp!EZp>8yW{Uz4tO1~&>&K4>~QMDru|GHj0x zll?!ypCGhv8JyTq)lq#@FhApVRbLDsOk1WW+E7pPNV5_PRrntzY9S49?xAy6HKg!~ zq?WMX(M#y8QFRmrTWO$0{lF}%{KM7NoUf^iGw(o}dqW^oSv;Z{hcokTy`7bc;g1|* z5X=}B#w(nxD?FQ4)l{>>$j`|mcM51Vq15`O6Km7R)Ylyp4;yZ~_L6EW3y4dKk&w~U z3z_NP+B5gsDcOFfFIkYHM7>OfoSTHytvdQl$urL=aS2t1O3tj>L;ec~-=r)=s&nHj zv@5OwJO}W!Tmx%Gz|kG~rI}0?`GSmH0?1Qe^iL8*m(T|$eN?^H#op*~zSbfkdb!YE zDi>Puv=X={UMpokplK8_%vN~c21hUYhvD}>(QNeB#*MD5a21Yw2iV|zNfLSCFsEI2 zF_&|5bHcZ(xrO8Xmjk!zDCb7JJ01m0Zxde>js8o0DNEh0xN6w>?V*`}hR4v<$SuBXeq_au%EPOuUh%~Idf z1@r{|n03O3#W!y-h z>mw7$uOCHKMN0if6cEI{tX<{N7z_=&QE20)1DAJI7F?AQb@vwx%&SUAY2z!IN%DB@ z5};e;uE7%!QF3}obz4#c%cQPrqzvSa{~CF_#C#j{3;J^|p2ItC-Z>D}DE+B(R++xz z>Z5U)wFxo98YsMmf+;y0W^53*7j{&X%`xy?vnER}`GJefai`X{h*yy~6zsJvNM%sO zDacB4Y3Rf-jRFb&fWX9XRak%X=X}dj^(Xq2d0>9W*3zs|z7=y-1 zUw)ar%8Er?2^#shbl1iRyI5)B3W~mTx!+tr%K5-9I^jO%+|VqYG2yqR5hlAl+BfHR z8?6&|8G9qW^0`f}@X!%^ri+qw{GL(N4T*dSZPs(`vE-smwZNeRN^R)<|bdB>}RX&LzacvFVhG{MIMqS601L%)t@g22n4?^jJukPKPAa1KfV?S4itMAs&nYHJZk$+Uvep{>jYTO zR3m{8+~{8H3e4A_?4mm3CY!a1LP4M|HX9BrYU1-8V;1*q%G-%O_Uzgw(*tvZr|a4# zOqr6=*H1399*oohF$Qm*Z<}dgax+bU`smZA8O;$nU-PT_)_?0iWnr!*x={D(#7s%m zsZ@;~zKLVl^wl;oGw)&jD=Ar<4eik!J6w}H)HByI#pXY|p{NT0Ufa$d+OK=E#Cl-N zdx8~#7Zu*`_AENBGS;6;U2&_jtMFgV zRRcWmS$g_}2u2fYCTX)T8E;$vPBaOw&~<&xzs&l>U4jV5?(U!7G?Z2A!2@K z4*#=@)e5m$FcW3v)g71Y%}~DlLNoE#eX}#$S@#jJbI*0=IP2cyN$AUNzTx;w(4x=Y!s^unxTI7v~t= zV5=qgPSR}m3%YE(dmkRLb$_uXY1(Yn10M6R3^baecgbZ-A>@R&JCWzoiBxB`~O^HV^-J$%@ zp=_s+acpYrXQ_en)mv92&VE`QI#t44++({Xg# z-Hnocz)`Gf%s0Hnsrj2|5yFC#-k}z7l$Q|+-ocHKbwm#(qk}g2O1xS^$@{u4i2iZzZwiwnb{*aaN8H z#-z9h8F7QhUT=Xz6TJ&60;ARwgLvp_Hg*Zy8&OH)bgOwL#OZ;a0*FyUq?DE}QkjSX z%}of__3uyZIdPEA7OsZfyGZR9HwHT#g=QSAQ`yU~;?2pjGAZ1rHRlw9T8J2CMEp(I z-Gw&)O~P*Ws>go9AiK*%LvlvmA$aa{in$6w6QfjM-pMZ%-Be!N%~#A```n&x4kOqL zSm7jJb*P~wntTTU~#&BqU?knT+tnjy#x}yR1@f&w3vW--x1^Y*Cb6-hWf zmDr2?KagMt{_ktrJuWzzKBdrqF(#?;y18fC>PJOK!!}6pb8eh|DGtdHs$5lF72_J} zJ{Cx6O-+wZLIO>6VA+)ya$llS_BF}k9}%_kCY%Qos?H7EX^?Ul4&7+O-25q93IcXV zay?H`Y*ok4%RP1~M@BAA0Jwb!!0==Rz>q^GhQUD9SG1ecvO2lUy!Y4wV^P<3|y%DjTa~E~5 zBn0{hJg74JdIy z!zBTg*olFJhymMbN~5+EW&o9t#K~wT+iB@J_0%3~)v7)9oL=ljMXZ_-ObB@7BGp7L z28(vZK@5TrO3cWD zh1ldDt#mEzfFMcY?msqkCA>fw9+6R~N@`e=czNVUW%I`ler890-pczlkqMiU;o zGOwWD>tyPNoBR^yCv=6LKny}0YBPkjIf0S9o)LNu&FVnNG|;uQ$N9jU5ZR&3$iaWX zL=LOESQBv&GZhID*fSV-TF0s$Q5X=fdTb>~7#sK2(w2_F1Te)oKp^%)*AniI)=>U=0Q@ z{f!BQkq$R3aAy0?+649XNBN-%g``f){w$Q%`<}6_%KGzLm}rN(4)tR81GG-|NhqCC zi9M(}F;C5=zfg1O*!YYx@3L<72{H;TRf7uacOAyGeW2Y)(>&VRBXNxj#!b)qB54P1 zLK_y3n?6Y8!VneBIvficy}`7F_^?|>XaOtw#-16zz7+38!SXoQduvDONwx8XNCHXA zs=!0IgXOfc?P9)yE8@UIJJ+=0F-JCC1e+uHHp#o%#UrQ2EzjuThQWm&5n`51d<169!)K#Z~FlyF~QN5R%VB<7c zxy6Mxma2IVat3}izXurbd)}s4MEvuD3E_Xo@A)^Wphevqsl9#>+)q+ykQmEf;Gjcj z63~`#ZOeS;gugXAQg~skaCZ$iBUBd}R`PU>7rC+1SHio|V(j7sW#rGpa@eT^s^MaG zH7=PowSF%Vnj~*gY8?zdMkif$PBBO4D9=b>gK<&?+o}&dbb4Ey)BhVa4d>c`1w zyzG%(TMZW|QYgX*@2-!P^=z-QFWcMA4a&7+O+1Fl;6arWFIds&QTyN4Mg{-P13bVL z7v;-KREDlaw1(6`mUKz(``v=IMcWC5Q1uTz0)6bP$m$F%aAwM-Yl$-puZ}pcG%t0; zcPDD^(u1cL*rqOGPMr0xOUo*_0oyL;_v|Fo=erCQ(s22*upw?9kZ#}z!@Bnv?Tx@{ zrAQKGJT-hKV3kSrLPy<3 z!KuB9&&M=9ut!rp-icBCbI)YKKfAH8b?p<1v28_!MCQOt#m#N#>#YS{`aIK+VsOkm zj^|c#7Vdk9sT5Mk*;x#a{p=&v>1I4%vqSyT3jrAM5||GnR>iVkd!E&bQp(mLT&1>9F0us5a#ry zvFen=Y(WSu%m{zFOjS^wtalhe9mabAiYi0E^GCuPx`Os=m(3kz>af(=qMA|amA=2p zGlB*?9VERKW{+Ix$G~J-nL&5qM||5yb-THiw0TD=BL)DirguX)l20?EsdBK1CbLOQ zd!5mBG===-7`jSvfer4TV8>BiESo zK9$H^$3B_t^ip--A>rqaq1mEi?W{K#7VcKLNi>Bs&eh{hd|hn6Lnwz&kVI0dUKbPa zaQt>OJc2hT8`cPC^_DFUfG&H6S+#eI>H1Qy?iYZfmoafSbW5UkHa#jx;PDlXz|D37 z*RDwC5_1va5F;^=&{pUWRsafE@(6t>v0bD0S8d-tT`qqy#kgVIXHXA$h-0OE3;d3# zGF-aWhl^c-L`3Nu=vt3g2h%`f`$iU~Hqhw*FN*Stfkw>SVzYUx5d)1K6J-quP8~GR zFgvcrp07(Q%hb;pTKZUMSJ%G9AaAmZYDsxHJ`wZFVYr4yzHEW>%v-P!Z~f$38Q7GL z=PF;N!?JSFegk7D#?|6YsOUbzQ6L(svQlJT!Thp}BlF6Aj=-IoMVF@bgZ3e1pv@9< zPj{PAYYC~G$nk<3<#Ecc`=EKaBNM{m*Jx}_XqA4rTGx$IM<+-h_4gC;V2vVNNElB% zLyZtwql4a4r9?hdf2BowBZa1i*QdH~aTl+$(s^_l5PO`2?$FLo@MQc*3|z<-Ts?4M zAkm?OE&V7F3Je@kf03Mt6{(_|ID%IR_BRHKO4ejDzjavnZczjfy8wEx4synUm+Ll| z(H|$Rx{bjzxx+hZfn_SHI>m3DrTb|azlhv<42&1XC&Bq*q8N;yF4T0a=(v;O#?su} z3!Zs~_Y`w!-Sl3zA3lM z1KqLcy?W>xd2V3n2KOCHH;2|cCa*em9fCB*(i1mn7Ou6nQkBqJaKLQ7;o%6uSh_Av zb!4!TwLSVrHV742O%UP1B2Ybt95-1wR*NvB6=K{wO{?Sext%W+q`7rq>MJ>6Yb-jeSPFYX*oD-g>T9$@b;dCmtJyf3 zgCT<+IbdXO2KBh7MOjDSCnF(Zjf?o-@sxxz_ScDlv^P=RxgN<<%wkKBnPe818=fy` z&in4r%*@6Xvl&=Y2y8w$c^v_&|$&0X=nrbLKYxB3s%5~SUG+G+s zD6PxFP+ITE8}58?JD;j@jJ+?Thh|yEy&I3Yfudum0J#m@?SbIL1i&0HpZeR=C_HrNe_g^P|kf4kF;(g{aDmv*1Bf765oP~5fO`&(MYbHmcF zhWp{IUl4Sr&#`W1RSpsKmJ4I7QiKYH-uQ;}MWIibCRf2h&*<7Sc_KVITHAbWh)9MF zj*x92Ulg52moY@{QnhQ3-UXslg&60c={pZH>QrMv_>VK1y5j9_hS5gX)M_e)p#wAf zRNWDo^z5RZOHK#fknsmMB-Pmc?Q86R&JHCJEM~gz9ZT=wwTI151zEbBv`28{&fZ;oQS@);pa1lWXD$c(En}zT_Qb zem;`fo3KzZL!&<6 zt3EXy7FRY5FYfbC@FHadHy7u&n;)AapKQAkS*hkaL0F>k9p9R05o&fSCD1i8?ZE`Q zl_>^Uuv&}?>v{_2+zUuTiZ(40$ zj@MablgN$5>V-DFiX*3LK~F?^jzjQs(00^Y+@)U(M7+h}HYc}9WS?kKoML{_on!Dp zi9=?&t9IxtkKpNU}4Ym-rA_C=}F*6LQOW^iH?ETOR&jhPcmby(+_Q<^?> zN~2U>hC0q!gn}DJ=W=1W(auFX-Qr1ey(N(~eAnu!YOZXv&&sjz%XpvJNt_;BX*K5A z{Y^Dv5RJ?2QSB5`s;SkM!$juWI*?e1A3Oc&4}4++%M1@Y8OXX2 z4{XN|YY%;EUW5`5t0*|*BF-Q2otc{5%-|H4v5bDQX>eF=mJkzlYLTz6e`B_*t@<)J zx7A7TAjNTELm}*1_EHaofed+x`l&v;(<6IK(#<_)etjBFtKMT#YOA;r5!uo-7@`=j zaQqy01=I_!M0IvvATfQ5a%R$Dk|cNsJM zPhyaz#RkG5mDXi@`(2-1(lp=JVrvVV--YacN$(MclwE=o+31S(oQaOeSpu}bw_>GX%^36 zc9msa2k6f?AhCo73Oplx1BISptp)vfbX({pXbP$i1zEl>Ji%$Y(wkSJZs;{HR#)V< z=iOwlN#1DB8@@K7wV=-$vNaST$3n85$~fcOK2i%hLZ{$2oxLEJaNl>1K+Bd zN`#@~b8&`r+#Z@3_D*A(D4rRkDDa=>qQ1~l-|;*7?77-^oQvUCJGJRQtup zKfuLbQQ!;BYROuzcV&uLrLo=Gt$8VTK#8-jwHKmfcp(RG6T2H6?H460QC^Dj8UCp& zAaPJ+Vxvz5NRKd7eg+U04JXO8`x(9{yp8`i@F;Y>6w+2n0_?^Zu=nqa0DDcmr@Ss6 zV$j~H8(7URPa0m=hQqp8e2-9GB7v}nj{J|Ur?$NU)jS{B2NIZ5X*BXgf523qa zEVN5#vxRutQN}`43y&EKF+4`brHM9-jI_CP7mDUET<>IIn&=ppoZQ!OpR{_hkwD-7 z%yDQG;=B@-68=ciDa@sen^6)?3t$)Ttp9_o=0eQgILNQxy5Tb1)>Im^;7V7zuJulk z@N8o$jSa}m?u+v}!6&|Lb`re@;J?`~flysZxx_8P5qO9o0#Xz8`A~a* zR+yz&jl+`#9&i}ai-I>&)Bk6KOLH(%*-Gd+6;gAucxBJhWJmaWM{3C;~VX*oHsz!UXI6P z!cuV=(EhT8Yf^Ou3jNLA=?Fh7^U^(2s+{iNLpl^1cGi_xm+I~3^mj`$0}oB0NND@2 z1{zX|g_i0A1DkBX*T_&c?N;LLIA6L*$5iY`gDczDm+$obif``Hs{AsQHV9GVuvJ$q zt8{gEZ$gnNbc2s@^<&AucAf9sO3x3afH^#&2|hHOZuj-2u3cWqWjwyp^`5tw@2O@} z-RjlnqYDF(LVwjX`qT-7i1U;D&U%q<8MqE@jmwWT9jB^ubkk`vThCu0M{UGssW{^m z6f>WY@G*zLf)gf!XxU=vSoOgwxPs_5C!h7*o@{ZezB?F(*jZV3Ov0!Pu{9{j5XrjW zx`00e41p&4<7qsZqckY|`qk`1G;-z#{F$VBr&Z<^#(6JYRnI7EqGQ2N^^%c>E)g^m z6d(a>_tpGRKM`!#XP+P+H^`?rf_$1mKKs0f zK|b-?GoN6v@3XrMzf@+t^}j5dOHuV0Y<6Y`O_A4IR~)j0pDw;`VSb7 zOCQ}OZcn1R|JN+Ycr_X!fgtWCjE;4e&Ajea(v=dmj=hMYzD)A==AvRD>!4=*bX*vtweHRb+Z>PVBR zdXAE1rQO1&jI>56iit9jv;J`kily^7*{*y8y*Z;~|K z>Hj+eLWWV|??M zj}Oq}_7=78c^X^Lr#^p;Uf%m17MngzeA+)EOiA>NaCeAzKdjw&*QS64UE1^CQSAg+ znLZB10FViK0xN&6GehrB@T*t-I)Njcc)Sz;!RL>foWxF0<~Y7OVa+EXsGPWtxrIY()g^Ic`zo_6_%-lVW>^9% zrUnXOl5l}5QNPq>z7m}8tHIqZ$)NYbtUzH#pip2Lh54aBM3>j6$D+%t?wH8*haM7| z8cvmSJMii(x<^YVaq6U&y35qdU`J3__hxxE5z5W5w{?r6a&A+be>RzcWeI4kX>5~UbOuF1w=55dv6yvd#k=vURQ!r8iZ*|Kqzz@I;aqj=e@1s+hB1674iK#F)##SM zf+NGal&>YZ?wriwrWQljPN-VFyh_x+qhDv}u|T;HYh{!;&HDZSLU(=IQ?Fl8MI$LCxNHaCzmWi8V|=yZnF&dMW7%^kRAnP;LLNxIX9qx z5w2K2gEQ7j=+8Z1X5v9fc+asq;_0iDK&!$3DJ_CWB#)q92GL!$H0WO>FS=ck>Pl57 z=!a!12!5NCX%CiV8YcpeMCYuIL?g+}4*6f{$}@++n_KB4O6FzJQ@Aql$ULAMx*&uT z_W_P%->Z^n@xB2&q&bwRPi9Oynmp5@4JcE0OAWf1+12>@x$U78DPT@@C~>}_=e*Fj zE!Aw8Zy?_JqZMp1uqi?y)YAcu7?UGX2jDVytqeyUVT=PeEvyXun zW|7}WyUy5IY2^5xUBE93K7kFL?wuJO$JI~(Kg7E4g?W5646a7RxgY8!TaRe;ypGuOJnP&pPNWPA`pw~z=9)99U z@&$sK^5dJ1Krll}>ne)FF9@iBKcByDHLEeQLY;ndcfTs_V8Y~czot(X z$|aGh8qG@7r4M{26Q+{`^}0^t?K-W4G~s2LX`+xRI$`)pisgGsr}cC{9E0&WZ)SeKP7@f(5g49Kv;6!> zdGGhk-w#B}c!@G5`6oxddkXj-$~7DJi%2F z9jN6)g-R!v=yXxik1fpKv+pA_&E)zvIO06^tB8rFWn0{q^AQ@ zV?u5ir~mg$=%P1?D&|%_7e~;rr(8TdtvQl=V6br}+XBzzu_n53n0gE+o^@@~%&Mhj z>dy~SqaKlonz=1}s}GM-Wta}Fn*vw{Vf`x6op7t|-<5GtFj-70f?(0!fnJTyZffB950it}UgNaJif>QA@LD;mfl6cw3vw zE&8cD;9JuCMU%IMzJYs>KHzYr5JLemhw0<5>egHYk)sYrL#5yO(p!_81tUa#LSf}N zh|Rcc28+7XLl#gh%JgT$8%JZy%_P(yyQhMb@OorOS+E zn8KaWvkH!h*sLoiq703r-KQoOB-d6S(^@cHQNgrWmZ>l&JOtWZ|1R@4pTFfpLy82K zWZ6|lF1k+%zo1Vtvba4avM^qcOHXfKaNn>)o#>1GjxNHNt{&lhsqHzLS?_&FFc^Yf zm^Z}vuydZTI^6l1$VlGr;ubBTg{|{X7mP^tPPDZX!p*<$-UK8fyxI2MEa@I4@B&L6 zTRvp~D<}7H{dlRZGEhBYxo234rIxfn!3Y{tWig`~qYA|^B!?!GaHyjg|I6A=%lT3- zsm;gjD7GLQtvfE-87mPr1ahJtj|qEG#4^y(rZ|C&-|b*P@--i^58uJC58!?}g461% z(c|l>VR3mS`qmhhryi*-Maj1h| z1PJa7$%kkY9-~oaMQ!mS?5SO?@0jr(-q}r-w)hRa^_+l_5x zBBffMl5Y`7j}CA&M*RVzG@>;4*Fysc5ZUKXNkIw05*ZS$XNNt3Z!quXSY84D6?w}B z^WG85D~%YM7rz0oZKnNY!A0TtY+ioeJ5Y6p(Ss%C%HHtGYoOiN+VgI-S107>B|ot7?4m#+9$T`LA24ABZcYxbhs⁢8?Fp@r) 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

9NFIKMKe2Je>Gen5MSRk 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

+
+ )}
{inventory.map((product => { diff --git a/tgui-next/packages/tgui/public/tgui.bundle.js b/tgui-next/packages/tgui/public/tgui.bundle.js index 97dfccc6f3..d008ef32ee 100644 --- a/tgui-next/packages/tgui/public/tgui.bundle.js +++ b/tgui-next/packages/tgui/public/tgui.bundle.js @@ -1,3 +1,3 @@ !function(e){var t={};function n(o){if(t[o])return t[o].exports;var r=t[o]={i:o,l:!1,exports:{}};return e[o].call(r.exports,r,r.exports,n),r.l=!0,r.exports}n.m=e,n.c=t,n.d=function(e,t,o){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:o})},n.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.t=function(e,t){if(1&t&&(e=n(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var o=Object.create(null);if(n.r(o),Object.defineProperty(o,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var r in e)n.d(o,r,function(t){return e[t]}.bind(null,r));return o},n.n=function(e){var t=e&&e.__esModule?function(){return e["default"]}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="",n(n.s=165)}([function(e,t,n){"use strict";var o=n(5),r=n(20).f,a=n(26),i=n(22),c=n(89),l=n(122),u=n(61);e.exports=function(e,t){var n,d,s,p,m,f=e.target,h=e.global,C=e.stat;if(n=h?o:C?o[f]||c(f,{}):(o[f]||{}).prototype)for(d in t){if(p=t[d],s=e.noTargetGet?(m=r(n,d))&&m.value:n[d],!u(h?d:f+(C?".":"#")+d,e.forced)&&s!==undefined){if(typeof p==typeof s)continue;l(p,s)}(e.sham||s&&s.sham)&&a(p,"sham",!0),i(n,d,p,e)}}},function(e,t,n){"use strict";t.__esModule=!0;var o=n(387);Object.keys(o).forEach((function(e){"default"!==e&&"__esModule"!==e&&(t[e]=o[e])}))},function(e,t,n){"use strict";t.__esModule=!0,t.Chart=t.Tooltip=t.Toast=t.TitleBar=t.Tabs=t.Table=t.Section=t.ProgressBar=t.NumberInput=t.NoticeBox=t.LabeledList=t.Input=t.Icon=t.Grid=t.Flex=t.Dropdown=t.Dimmer=t.Collapsible=t.ColorBox=t.Button=t.Box=t.BlockQuote=t.AnimatedNumber=void 0;var o=n(158);t.AnimatedNumber=o.AnimatedNumber;var r=n(392);t.BlockQuote=r.BlockQuote;var a=n(19);t.Box=a.Box;var i=n(114);t.Button=i.Button;var c=n(394);t.ColorBox=c.ColorBox;var l=n(395);t.Collapsible=l.Collapsible;var u=n(396);t.Dimmer=u.Dimmer;var d=n(397);t.Dropdown=d.Dropdown;var s=n(398);t.Flex=s.Flex;var p=n(161);t.Grid=p.Grid;var m=n(87);t.Icon=m.Icon;var f=n(160);t.Input=f.Input;var h=n(163);t.LabeledList=h.LabeledList;var C=n(399);t.NoticeBox=C.NoticeBox;var g=n(400);t.NumberInput=g.NumberInput;var b=n(401);t.ProgressBar=b.ProgressBar;var v=n(402);t.Section=v.Section;var N=n(162);t.Table=N.Table;var V=n(403);t.Tabs=V.Tabs;var y=n(404);t.TitleBar=y.TitleBar;var _=n(117);t.Toast=_.Toast;var x=n(159);t.Tooltip=x.Tooltip;var k=n(405);t.Chart=k.Chart},function(e,t,n){"use strict";t.__esModule=!0,t.useBackend=t.backendReducer=t.backendUpdate=void 0;var o=n(37),r=n(16);t.backendUpdate=function(e){return{type:"backendUpdate",payload:e}};t.backendReducer=function(e,t){var n=t.type,r=t.payload;if("backendUpdate"===n){var a=Object.assign({},e.config,{},r.config),i=Object.assign({},e.data,{},r.static_data,{},r.data),c=a.status!==o.UI_DISABLED,l=a.status===o.UI_INTERACTIVE;return Object.assign({},e,{config:a,data:i,visible:c,interactive:l})}return e};t.useBackend=function(e){var t=e.state,n=(e.dispatch,t.config.ref);return Object.assign({},t,{act:function(e,t){return void 0===t&&(t={}),(0,r.act)(n,e,t)}})}},function(e,t,n){"use strict";e.exports=function(e){try{return!!e()}catch(t){return!0}}},function(e,t,n){"use strict";(function(t){var n=function(e){return e&&e.Math==Math&&e};e.exports=n("object"==typeof globalThis&&globalThis)||n("object"==typeof window&&window)||n("object"==typeof self&&self)||n("object"==typeof t&&t)||Function("return this")()}).call(this,n(118))},function(e,t,n){"use strict";e.exports=function(e){return"object"==typeof e?null!==e:"function"==typeof e}},function(e,t,n){"use strict";var o,r=n(9),a=n(5),i=n(6),c=n(15),l=n(74),u=n(26),d=n(22),s=n(13).f,p=n(36),m=n(53),f=n(11),h=n(58),C=a.DataView,g=C&&C.prototype,b=a.Int8Array,v=b&&b.prototype,N=a.Uint8ClampedArray,V=N&&N.prototype,y=b&&p(b),_=v&&p(v),x=Object.prototype,k=x.isPrototypeOf,L=f("toStringTag"),w=h("TYPED_ARRAY_TAG"),B=!(!a.ArrayBuffer||!C),S=B&&!!m&&"Opera"!==l(a.opera),I=!1,T={Int8Array:1,Uint8Array:1,Uint8ClampedArray:1,Int16Array:2,Uint16Array:2,Int32Array:4,Uint32Array:4,Float32Array:4,Float64Array:8},A=function(e){var t=l(e);return"DataView"===t||c(T,t)},P=function(e){return i(e)&&c(T,l(e))};for(o in T)a[o]||(S=!1);if((!S||"function"!=typeof y||y===Function.prototype)&&(y=function(){throw TypeError("Incorrect invocation")},S))for(o in T)a[o]&&m(a[o],y);if((!S||!_||_===x)&&(_=y.prototype,S))for(o in T)a[o]&&m(a[o].prototype,_);if(S&&p(V)!==_&&m(V,_),r&&!c(_,L))for(o in I=!0,s(_,L,{get:function(){return i(this)?this[w]:undefined}}),T)a[o]&&u(a[o],w,o);B&&m&&p(g)!==x&&m(g,x),e.exports={NATIVE_ARRAY_BUFFER:B,NATIVE_ARRAY_BUFFER_VIEWS:S,TYPED_ARRAY_TAG:I&&w,aTypedArray:function(e){if(P(e))return e;throw TypeError("Target is not a typed array")},aTypedArrayConstructor:function(e){if(m){if(k.call(y,e))return e}else for(var t in T)if(c(T,o)){var n=a[t];if(n&&(e===n||k.call(n,e)))return e}throw TypeError("Target is not a typed array constructor")},exportTypedArrayMethod:function(e,t,n){if(r){if(n)for(var o in T){var i=a[o];i&&c(i.prototype,e)&&delete i.prototype[e]}_[e]&&!n||d(_,e,n?t:S&&v[e]||t)}},exportTypedArrayStaticMethod:function(e,t,n){var o,i;if(r){if(m){if(n)for(o in T)(i=a[o])&&c(i,e)&&delete i[e];if(y[e]&&!n)return;try{return d(y,e,n?t:S&&b[e]||t)}catch(l){}}for(o in T)!(i=a[o])||i[e]&&!n||d(i,e,t)}},isView:A,isTypedArray:P,TypedArray:y,TypedArrayPrototype:_}},function(e,t,n){"use strict";var o=n(6);e.exports=function(e){if(!o(e))throw TypeError(String(e)+" is not an object");return e}},function(e,t,n){"use strict";var o=n(4);e.exports=!o((function(){return 7!=Object.defineProperty({},"a",{get:function(){return 7}}).a}))},function(e,t,n){"use strict";var o=n(30),r=Math.min;e.exports=function(e){return e>0?r(o(e),9007199254740991):0}},function(e,t,n){"use strict";var o=n(5),r=n(91),a=n(15),i=n(58),c=n(95),l=n(125),u=r("wks"),d=o.Symbol,s=l?d:i;e.exports=function(e){return a(u,e)||(c&&a(d,e)?u[e]=d[e]:u[e]=s("Symbol."+e)),u[e]}},function(e,t,n){"use strict";t.__esModule=!0,t.isFalsy=t.pureComponentHooks=t.shallowDiffers=t.normalizeChildren=t.classes=void 0;t.classes=function(e){for(var t="",n=0;n_;_++)if((p||_ in N)&&(b=V(g=N[_],_,v),e))if(t)k[_]=b;else if(b)switch(e){case 3:return!0;case 5:return g;case 6:return _;case 2:l.call(k,g)}else if(d)return!1;return s?-1:u||d?d:k}};e.exports={forEach:u(0),map:u(1),filter:u(2),some:u(3),every:u(4),find:u(5),findIndex:u(6)}},function(e,t,n){"use strict";t.__esModule=!0,t.toFixed=t.round=t.clamp=void 0;t.clamp=function(e,t,n){return void 0===t&&(t=0),void 0===n&&(n=1),Math.max(t,Math.min(e,n))};t.round=function(e){return Math.round(e)};t.toFixed=function(e,t){return void 0===t&&(t=0),Number(e).toFixed(t)}},function(e,t,n){"use strict";t.__esModule=!0,t.Box=t.computeBoxProps=t.unit=void 0;var o=n(1),r=n(12),a=n(393),i=n(37);function c(e,t){if(null==e)return{};var n,o,r={},a=Object.keys(e);for(o=0;o=0||(r[n]=e[n]);return r}var l=function(e){return"string"==typeof e?e:"number"==typeof e?6*e+"px":void 0};t.unit=l;var u=function(e){return"string"==typeof e&&i.CSS_COLORS.includes(e)},d=function(e){return function(t,n){(0,r.isFalsy)(n)||(t[e]=n)}},s=function(e){return function(t,n){(0,r.isFalsy)(n)||(t[e]=l(n))}},p=function(e,t){return function(n,o){(0,r.isFalsy)(o)||(n[e]=t)}},m=function(e,t){return function(n,o){if(!(0,r.isFalsy)(o))for(var a=0;a0&&(t.style=l),t};t.computeBoxProps=C;var g=function(e){var t=e.as,n=void 0===t?"div":t,i=e.className,l=e.content,d=e.children,s=c(e,["as","className","content","children"]),p=e.textColor||e.color,m=e.backgroundColor;if("function"==typeof d)return d(C(e));var f=C(s);return(0,o.createVNode)(a.VNodeFlags.HtmlElement,n,(0,r.classes)([i,u(p)&&"color-"+p,u(m)&&"color-bg-"+m]),l||d,a.ChildFlags.UnknownChildren,f)};t.Box=g,g.defaultHooks=r.pureComponentHooks;var b=function(e){var t=e.children,n=c(e,["children"]);return(0,o.normalizeProps)((0,o.createComponentVNode)(2,g,Object.assign({position:"relative"},n,{children:(0,o.createComponentVNode)(2,g,{fillPositionedParent:!0,children:t})})))};b.defaultHooks=r.pureComponentHooks,g.Forced=b},function(e,t,n){"use strict";var o=n(9),r=n(71),a=n(46),i=n(25),c=n(33),l=n(15),u=n(119),d=Object.getOwnPropertyDescriptor;t.f=o?d:function(e,t){if(e=i(e),t=c(t,!0),u)try{return d(e,t)}catch(n){}if(l(e,t))return a(!r.f.call(e,t),e[t])}},function(e,t,n){"use strict";e.exports=function(e){if(e==undefined)throw TypeError("Can't call method on "+e);return e}},function(e,t,n){"use strict";var o=n(5),r=n(26),a=n(15),i=n(89),c=n(90),l=n(34),u=l.get,d=l.enforce,s=String(String).split("String");(e.exports=function(e,t,n,c){var l=!!c&&!!c.unsafe,u=!!c&&!!c.enumerable,p=!!c&&!!c.noTargetGet;"function"==typeof n&&("string"!=typeof t||a(n,"name")||r(n,"name",t),d(n).source=s.join("string"==typeof t?t:"")),e!==o?(l?!p&&e[t]&&(u=!0):delete e[t],u?e[t]=n:r(e,t,n)):u?e[t]=n:i(t,n)})(Function.prototype,"toString",(function(){return"function"==typeof this&&u(this).source||c(this)}))},function(e,t,n){"use strict";t.__esModule=!0,t.buildQueryString=t.decodeHtmlEntities=t.toTitleCase=t.capitalize=t.testGlobPattern=t.multiline=void 0;t.multiline=function o(e){if(Array.isArray(e))return o(e.join(""));var t,n=e.split("\n"),r=n,a=Array.isArray(r),i=0;for(r=a?r:r[Symbol.iterator]();;){var c;if(a){if(i>=r.length)break;c=r[i++]}else{if((i=r.next()).done)break;c=i.value}for(var l=c,u=0;u",apos:"'"};return e.replace(/
/gi,"\n").replace(/<\/?[a-z0-9-_]+[^>]*>/gi,"").replace(/&(nbsp|amp|quot|lt|gt|apos);/g,(function(e,n){return t[n]})).replace(/&#?([0-9]+);/gi,(function(e,t){var n=parseInt(t,10);return String.fromCharCode(n)})).replace(/&#x?([0-9a-f]+);/gi,(function(e,t){var n=parseInt(t,16);return String.fromCharCode(n)}))};t.buildQueryString=function(e){return Object.keys(e).map((function(t){return encodeURIComponent(t)+"="+encodeURIComponent(e[t])})).join("&")}},function(e,t,n){"use strict";t.__esModule=!0,t.zipWith=t.zip=t.reduce=t.sortBy=t.map=t.toArray=void 0;t.toArray=function(e){if(Array.isArray(e))return e;if("object"==typeof e){var t=Object.prototype.hasOwnProperty,n=[];for(var o in e)t.call(e,o)&&n.push(e[o]);return n}return[]};var o=function(e){return function(t){if(null===t&&t===undefined)return t;if(Array.isArray(t)){for(var n=[],o=0;oc)return 1}return 0};t.sortBy=function(){for(var e=arguments.length,t=new Array(e),n=0;n"+i+""}},function(e,t,n){"use strict";var o=n(4);e.exports=function(e){return o((function(){var t=""[e]('"');return t!==t.toLowerCase()||t.split('"').length>3}))}},function(e,t,n){"use strict";var o=Math.ceil,r=Math.floor;e.exports=function(e){return isNaN(e=+e)?0:(e>0?r:o)(e)}},function(e,t,n){"use strict";e.exports=function(e){if("function"!=typeof e)throw TypeError(String(e)+" is not a function");return e}},function(e,t,n){"use strict";var o={}.toString;e.exports=function(e){return o.call(e).slice(8,-1)}},function(e,t,n){"use strict";var o=n(6);e.exports=function(e,t){if(!o(e))return e;var n,r;if(t&&"function"==typeof(n=e.toString)&&!o(r=n.call(e)))return r;if("function"==typeof(n=e.valueOf)&&!o(r=n.call(e)))return r;if(!t&&"function"==typeof(n=e.toString)&&!o(r=n.call(e)))return r;throw TypeError("Can't convert object to primitive value")}},function(e,t,n){"use strict";var o,r,a,i=n(121),c=n(5),l=n(6),u=n(26),d=n(15),s=n(72),p=n(59),m=c.WeakMap;if(i){var f=new m,h=f.get,C=f.has,g=f.set;o=function(e,t){return g.call(f,e,t),t},r=function(e){return h.call(f,e)||{}},a=function(e){return C.call(f,e)}}else{var b=s("state");p[b]=!0,o=function(e,t){return u(e,b,t),t},r=function(e){return d(e,b)?e[b]:{}},a=function(e){return d(e,b)}}e.exports={set:o,get:r,has:a,enforce:function(e){return a(e)?r(e):o(e,{})},getterFor:function(e){return function(t){var n;if(!l(t)||(n=r(t)).type!==e)throw TypeError("Incompatible receiver, "+e+" required");return n}}}},function(e,t,n){"use strict";var o=n(123),r=n(5),a=function(e){return"function"==typeof e?e:undefined};e.exports=function(e,t){return arguments.length<2?a(o[e])||a(r[e]):o[e]&&o[e][t]||r[e]&&r[e][t]}},function(e,t,n){"use strict";var o=n(15),r=n(14),a=n(72),i=n(102),c=a("IE_PROTO"),l=Object.prototype;e.exports=i?Object.getPrototypeOf:function(e){return e=r(e),o(e,c)?e[c]:"function"==typeof e.constructor&&e instanceof e.constructor?e.constructor.prototype:e instanceof Object?l:null}},function(e,t,n){"use strict";t.__esModule=!0,t.getGasColor=t.getGasLabel=t.RADIO_CHANNELS=t.CSS_COLORS=t.COLORS=t.UI_CLOSE=t.UI_DISABLED=t.UI_UPDATE=t.UI_INTERACTIVE=void 0;t.UI_INTERACTIVE=2;t.UI_UPDATE=1;t.UI_DISABLED=0;t.UI_CLOSE=-1;t.COLORS={department:{captain:"#c06616",security:"#e74c3c",medbay:"#3498db",science:"#9b59b6",engineering:"#f1c40f",cargo:"#f39c12",centcom:"#00c100",other:"#c38312"},damageType:{oxy:"#3498db",toxin:"#2ecc71",burn:"#e67e22",brute:"#e74c3c"}};t.CSS_COLORS=["black","white","red","orange","yellow","olive","green","teal","blue","violet","purple","pink","brown","grey","good","average","bad","label"];t.RADIO_CHANNELS=[{name:"Syndicate",freq:1213,color:"#a52a2a"},{name:"Red Team",freq:1215,color:"#ff4444"},{name:"Blue Team",freq:1217,color:"#3434fd"},{name:"CentCom",freq:1337,color:"#2681a5"},{name:"Supply",freq:1347,color:"#b88646"},{name:"Service",freq:1349,color:"#6ca729"},{name:"Science",freq:1351,color:"#c68cfa"},{name:"Command",freq:1353,color:"#5177ff"},{name:"Medical",freq:1355,color:"#57b8f0"},{name:"Engineering",freq:1357,color:"#f37746"},{name:"Security",freq:1359,color:"#dd3535"},{name:"AI Private",freq:1447,color:"#d65d95"},{name:"Common",freq:1459,color:"#1ecc43"}];var o=[{id:"o2",name:"Oxygen",label:"O\u2082",color:"blue"},{id:"n2",name:"Nitrogen",label:"N\u2082",color:"red"},{id:"co2",name:"Carbon Dioxide",label:"CO\u2082",color:"grey"},{id:"plasma",name:"Plasma",label:"Plasma",color:"pink"},{id:"water_vapor",name:"Water Vapor",label:"H\u2082O",color:"grey"},{id:"nob",name:"Hyper-noblium",label:"Hyper-nob",color:"teal"},{id:"n2o",name:"Nitrous Oxide",label:"N\u2082O",color:"red"},{id:"no2",name:"Nitryl",label:"NO\u2082",color:"brown"},{id:"tritium",name:"Tritium",label:"Tritium",color:"green"},{id:"bz",name:"BZ",label:"BZ",color:"purple"},{id:"stim",name:"Stimulum",label:"Stimulum",color:"purple"},{id:"pluox",name:"Pluoxium",label:"Pluoxium",color:"blue"},{id:"miasma",name:"Miasma",label:"Miasma",color:"olive"}];t.getGasLabel=function(e,t){var n=String(e).toLowerCase(),r=o.find((function(e){return e.id===n||e.name.toLowerCase()===n}));return r&&r.label||t||e};t.getGasColor=function(e){var t=String(e).toLowerCase(),n=o.find((function(e){return e.id===t||e.name.toLowerCase()===t}));return n&&n.color}},function(e,t,n){"use strict";e.exports=!1},function(e,t,n){"use strict";var o=n(4);e.exports=function(e,t){var n=[][e];return!n||!o((function(){n.call(null,t||function(){throw 1},1)}))}},function(e,t,n){"use strict";var o=n(0),r=n(5),a=n(9),i=n(113),c=n(7),l=n(77),u=n(55),d=n(46),s=n(26),p=n(10),m=n(137),f=n(151),h=n(33),C=n(15),g=n(74),b=n(6),v=n(42),N=n(53),V=n(47).f,y=n(152),_=n(17).forEach,x=n(54),k=n(13),L=n(20),w=n(34),B=n(79),S=w.get,I=w.set,T=k.f,A=L.f,P=Math.round,E=r.RangeError,M=l.ArrayBuffer,O=l.DataView,R=c.NATIVE_ARRAY_BUFFER_VIEWS,F=c.TYPED_ARRAY_TAG,D=c.TypedArray,j=c.TypedArrayPrototype,z=c.aTypedArrayConstructor,H=c.isTypedArray,G=function(e,t){for(var n=0,o=t.length,r=new(z(e))(o);o>n;)r[n]=t[n++];return r},U=function(e,t){T(e,t,{get:function(){return S(this)[t]}})},K=function(e){var t;return e instanceof M||"ArrayBuffer"==(t=g(e))||"SharedArrayBuffer"==t},Y=function(e,t){return H(e)&&"symbol"!=typeof t&&t in e&&String(+t)==String(t)},q=function(e,t){return Y(e,t=h(t,!0))?d(2,e[t]):A(e,t)},W=function(e,t,n){return!(Y(e,t=h(t,!0))&&b(n)&&C(n,"value"))||C(n,"get")||C(n,"set")||n.configurable||C(n,"writable")&&!n.writable||C(n,"enumerable")&&!n.enumerable?T(e,t,n):(e[t]=n.value,e)};a?(R||(L.f=q,k.f=W,U(j,"buffer"),U(j,"byteOffset"),U(j,"byteLength"),U(j,"length")),o({target:"Object",stat:!0,forced:!R},{getOwnPropertyDescriptor:q,defineProperty:W}),e.exports=function(e,t,n){var a=e.match(/\d+$/)[0]/8,c=e+(n?"Clamped":"")+"Array",l="get"+e,d="set"+e,h=r[c],C=h,g=C&&C.prototype,k={},L=function(e,t){var n=S(e);return n.view[l](t*a+n.byteOffset,!0)},w=function(e,t,o){var r=S(e);n&&(o=(o=P(o))<0?0:o>255?255:255&o),r.view[d](t*a+r.byteOffset,o,!0)},A=function(e,t){T(e,t,{get:function(){return L(this,t)},set:function(e){return w(this,t,e)},enumerable:!0})};R?i&&(C=t((function(e,t,n,o){return u(e,C,c),B(b(t)?K(t)?o!==undefined?new h(t,f(n,a),o):n!==undefined?new h(t,f(n,a)):new h(t):H(t)?G(C,t):y.call(C,t):new h(m(t)),e,C)})),N&&N(C,D),_(V(h),(function(e){e in C||s(C,e,h[e])})),C.prototype=g):(C=t((function(e,t,n,o){u(e,C,c);var r,i,l,d=0,s=0;if(b(t)){if(!K(t))return H(t)?G(C,t):y.call(C,t);r=t,s=f(n,a);var h=t.byteLength;if(o===undefined){if(h%a)throw E("Wrong length");if((i=h-s)<0)throw E("Wrong length")}else if((i=p(o)*a)+s>h)throw E("Wrong length");l=i/a}else l=m(t),r=new M(i=l*a);for(I(e,{buffer:r,byteOffset:s,byteLength:i,length:l,view:new O(r)});ddocument.F=Object<\/script>"),e.close(),p=e.F;n--;)delete p[d][a[n]];return p()};e.exports=Object.create||function(e,t){var n;return null!==e?(s[d]=o(e),n=new s,s[d]=null,n[u]=e):n=p(),t===undefined?n:r(n,t)},i[u]=!0},function(e,t,n){"use strict";var o=n(13).f,r=n(15),a=n(11)("toStringTag");e.exports=function(e,t,n){e&&!r(e=n?e:e.prototype,a)&&o(e,a,{configurable:!0,value:t})}},function(e,t,n){"use strict";var o=n(11),r=n(42),a=n(26),i=o("unscopables"),c=Array.prototype;c[i]==undefined&&a(c,i,r(null)),e.exports=function(e){c[i][e]=!0}},function(e,t,n){"use strict";var o=n(8),r=n(31),a=n(11)("species");e.exports=function(e,t){var n,i=o(e).constructor;return i===undefined||(n=o(i)[a])==undefined?t:r(n)}},function(e,t,n){"use strict";e.exports=function(e,t){return{enumerable:!(1&e),configurable:!(2&e),writable:!(4&e),value:t}}},function(e,t,n){"use strict";var o=n(124),r=n(93).concat("length","prototype");t.f=Object.getOwnPropertyNames||function(e){return o(e,r)}},function(e,t,n){"use strict";var o=n(31);e.exports=function(e,t,n){if(o(e),t===undefined)return e;switch(n){case 0:return function(){return e.call(t)};case 1:return function(n){return e.call(t,n)};case 2:return function(n,o){return e.call(t,n,o)};case 3:return function(n,o,r){return e.call(t,n,o,r)}}return function(){return e.apply(t,arguments)}}},function(e,t,n){"use strict";var o=n(33),r=n(13),a=n(46);e.exports=function(e,t,n){var i=o(t);i in e?r.f(e,i,a(0,n)):e[i]=n}},function(e,t,n){"use strict";var o=n(59),r=n(6),a=n(15),i=n(13).f,c=n(58),l=n(67),u=c("meta"),d=0,s=Object.isExtensible||function(){return!0},p=function(e){i(e,u,{value:{objectID:"O"+ ++d,weakData:{}}})},m=e.exports={REQUIRED:!1,fastKey:function(e,t){if(!r(e))return"symbol"==typeof e?e:("string"==typeof e?"S":"P")+e;if(!a(e,u)){if(!s(e))return"F";if(!t)return"E";p(e)}return e[u].objectID},getWeakData:function(e,t){if(!a(e,u)){if(!s(e))return!0;if(!t)return!1;p(e)}return e[u].weakData},onFreeze:function(e){return l&&m.REQUIRED&&s(e)&&!a(e,u)&&p(e),e}};o[u]=!0},function(e,t,n){"use strict";t.__esModule=!0,t.createLogger=void 0;n(154);var o=n(16),r=0,a=1,i=2,c=3,l=4,u=function(e,t){for(var n=arguments.length,r=new Array(n>2?n-2:0),a=2;a=i){var c=[t].concat(r).map((function(e){return"string"==typeof e?e:e instanceof Error?e.stack||String(e):JSON.stringify(e)})).filter((function(e){return e})).join(" ")+"\nUser Agent: "+navigator.userAgent;(0,o.act)(window.__ref__,"tgui:log",{log:c})}};t.createLogger=function(e){return{debug:function(){for(var t=arguments.length,n=new Array(t),o=0;od;)if((c=l[d++])!=c)return!0}else for(;u>d;d++)if((e||d in l)&&l[d]===n)return e||d||0;return!e&&-1}};e.exports={includes:i(!0),indexOf:i(!1)}},function(e,t,n){"use strict";var o=n(4),r=/#|\.prototype\./,a=function(e,t){var n=c[i(e)];return n==u||n!=l&&("function"==typeof t?o(t):!!t)},i=a.normalize=function(e){return String(e).replace(r,".").toLowerCase()},c=a.data={},l=a.NATIVE="N",u=a.POLYFILL="P";e.exports=a},function(e,t,n){"use strict";var o=n(124),r=n(93);e.exports=Object.keys||function(e){return o(e,r)}},function(e,t,n){"use strict";var o=n(6),r=n(52),a=n(11)("species");e.exports=function(e,t){var n;return r(e)&&("function"!=typeof(n=e.constructor)||n!==Array&&!r(n.prototype)?o(n)&&null===(n=n[a])&&(n=undefined):n=undefined),new(n===undefined?Array:n)(0===t?0:t)}},function(e,t,n){"use strict";var o=n(4),r=n(11),a=n(96),i=r("species");e.exports=function(e){return a>=51||!o((function(){var t=[];return(t.constructor={})[i]=function(){return{foo:1}},1!==t[e](Boolean).foo}))}},function(e,t,n){"use strict";e.exports={}},function(e,t,n){"use strict";var o=n(22);e.exports=function(e,t,n){for(var r in t)o(e,r,t[r],n);return e}},function(e,t,n){"use strict";var o=n(4);e.exports=!o((function(){return Object.isExtensible(Object.preventExtensions({}))}))},function(e,t,n){"use strict";var o=n(8),r=n(98),a=n(10),i=n(48),c=n(99),l=n(132),u=function(e,t){this.stopped=e,this.result=t};(e.exports=function(e,t,n,d,s){var p,m,f,h,C,g,b,v=i(t,n,d?2:1);if(s)p=e;else{if("function"!=typeof(m=c(e)))throw TypeError("Target is not iterable");if(r(m)){for(f=0,h=a(e.length);h>f;f++)if((C=d?v(o(b=e[f])[0],b[1]):v(e[f]))&&C instanceof u)return C;return new u(!1)}p=m.call(e)}for(g=p.next;!(b=g.call(p)).done;)if("object"==typeof(C=l(p,v,b.value,d))&&C&&C instanceof u)return C;return new u(!1)}).stop=function(e){return new u(!0,e)}},function(e,t,n){"use strict";t.__esModule=!0,t.InterfaceLockNoticeBox=void 0;var o=n(1),r=n(2);t.InterfaceLockNoticeBox=function(e){var t=e.siliconUser,n=e.locked,a=e.onLockStatusChange,i=e.accessText;return t?(0,o.createComponentVNode)(2,r.NoticeBox,{children:(0,o.createComponentVNode)(2,r.Flex,{align:"center",children:[(0,o.createComponentVNode)(2,r.Flex.Item,{children:"Interface lock status:"}),(0,o.createComponentVNode)(2,r.Flex.Item,{grow:1}),(0,o.createComponentVNode)(2,r.Flex.Item,{children:(0,o.createComponentVNode)(2,r.Button,{m:0,color:"gray",icon:n?"lock":"unlock",content:n?"Locked":"Unlocked",onClick:function(){a&&a(!n)}})})]})}):(0,o.createComponentVNode)(2,r.NoticeBox,{children:["Swipe ",i||"an ID card"," ","to ",n?"unlock":"lock"," this interface."]})}},function(e,t,n){"use strict";t.__esModule=!0,t.compose=t.flow=void 0;t.flow=function o(){for(var e=arguments.length,t=new Array(e),n=0;n1?r-1:0),i=1;i=c.length)break;d=c[u++]}else{if((u=c.next()).done)break;d=u.value}var s=d;Array.isArray(s)?n=o.apply(void 0,s).apply(void 0,[n].concat(a)):s&&(n=s.apply(void 0,[n].concat(a)))}return n}};t.compose=function(){for(var e=arguments.length,t=new Array(e),n=0;n1?o-1:0),a=1;a=0:s>p;p+=m)p in d&&(l=n(l,d[p],p,u));return l}};e.exports={left:c(!1),right:c(!0)}},function(e,t,n){"use strict";var o=n(5),r=n(9),a=n(7).NATIVE_ARRAY_BUFFER,i=n(26),c=n(66),l=n(4),u=n(55),d=n(30),s=n(10),p=n(137),m=n(218),f=n(47).f,h=n(13).f,C=n(97),g=n(43),b=n(34),v=b.get,N=b.set,V="ArrayBuffer",y="DataView",_="Wrong length",x=o[V],k=x,L=o[y],w=o.RangeError,B=m.pack,S=m.unpack,I=function(e){return[255&e]},T=function(e){return[255&e,e>>8&255]},A=function(e){return[255&e,e>>8&255,e>>16&255,e>>24&255]},P=function(e){return e[3]<<24|e[2]<<16|e[1]<<8|e[0]},E=function(e){return B(e,23,4)},M=function(e){return B(e,52,8)},O=function(e,t){h(e.prototype,t,{get:function(){return v(this)[t]}})},R=function(e,t,n,o){var r=p(n),a=v(e);if(r+t>a.byteLength)throw w("Wrong index");var i=v(a.buffer).bytes,c=r+a.byteOffset,l=i.slice(c,c+t);return o?l:l.reverse()},F=function(e,t,n,o,r,a){var i=p(n),c=v(e);if(i+t>c.byteLength)throw w("Wrong index");for(var l=v(c.buffer).bytes,u=i+c.byteOffset,d=o(+r),s=0;sH;)(D=z[H++])in k||i(k,D,x[D]);j.constructor=k}var G=new L(new k(2)),U=L.prototype.setInt8;G.setInt8(0,2147483648),G.setInt8(1,2147483649),!G.getInt8(0)&&G.getInt8(1)||c(L.prototype,{setInt8:function(e,t){U.call(this,e,t<<24>>24)},setUint8:function(e,t){U.call(this,e,t<<24>>24)}},{unsafe:!0})}else k=function(e){u(this,k,V);var t=p(e);N(this,{bytes:C.call(new Array(t),0),byteLength:t}),r||(this.byteLength=t)},L=function(e,t,n){u(this,L,y),u(e,k,y);var o=v(e).byteLength,a=d(t);if(a<0||a>o)throw w("Wrong offset");if(a+(n=n===undefined?o-a:s(n))>o)throw w(_);N(this,{buffer:e,byteLength:n,byteOffset:a}),r||(this.buffer=e,this.byteLength=n,this.byteOffset=a)},r&&(O(k,"byteLength"),O(L,"buffer"),O(L,"byteLength"),O(L,"byteOffset")),c(L.prototype,{getInt8:function(e){return R(this,1,e)[0]<<24>>24},getUint8:function(e){return R(this,1,e)[0]},getInt16:function(e){var t=R(this,2,e,arguments.length>1?arguments[1]:undefined);return(t[1]<<8|t[0])<<16>>16},getUint16:function(e){var t=R(this,2,e,arguments.length>1?arguments[1]:undefined);return t[1]<<8|t[0]},getInt32:function(e){return P(R(this,4,e,arguments.length>1?arguments[1]:undefined))},getUint32:function(e){return P(R(this,4,e,arguments.length>1?arguments[1]:undefined))>>>0},getFloat32:function(e){return S(R(this,4,e,arguments.length>1?arguments[1]:undefined),23)},getFloat64:function(e){return S(R(this,8,e,arguments.length>1?arguments[1]:undefined),52)},setInt8:function(e,t){F(this,1,e,I,t)},setUint8:function(e,t){F(this,1,e,I,t)},setInt16:function(e,t){F(this,2,e,T,t,arguments.length>2?arguments[2]:undefined)},setUint16:function(e,t){F(this,2,e,T,t,arguments.length>2?arguments[2]:undefined)},setInt32:function(e,t){F(this,4,e,A,t,arguments.length>2?arguments[2]:undefined)},setUint32:function(e,t){F(this,4,e,A,t,arguments.length>2?arguments[2]:undefined)},setFloat32:function(e,t){F(this,4,e,E,t,arguments.length>2?arguments[2]:undefined)},setFloat64:function(e,t){F(this,8,e,M,t,arguments.length>2?arguments[2]:undefined)}});g(k,V),g(L,y),e.exports={ArrayBuffer:k,DataView:L}},function(e,t,n){"use strict";var o=n(0),r=n(5),a=n(61),i=n(22),c=n(50),l=n(68),u=n(55),d=n(6),s=n(4),p=n(75),m=n(43),f=n(79);e.exports=function(e,t,n){var h=-1!==e.indexOf("Map"),C=-1!==e.indexOf("Weak"),g=h?"set":"add",b=r[e],v=b&&b.prototype,N=b,V={},y=function(e){var t=v[e];i(v,e,"add"==e?function(e){return t.call(this,0===e?0:e),this}:"delete"==e?function(e){return!(C&&!d(e))&&t.call(this,0===e?0:e)}:"get"==e?function(e){return C&&!d(e)?undefined:t.call(this,0===e?0:e)}:"has"==e?function(e){return!(C&&!d(e))&&t.call(this,0===e?0:e)}:function(e,n){return t.call(this,0===e?0:e,n),this})};if(a(e,"function"!=typeof b||!(C||v.forEach&&!s((function(){(new b).entries().next()})))))N=n.getConstructor(t,e,h,g),c.REQUIRED=!0;else if(a(e,!0)){var _=new N,x=_[g](C?{}:-0,1)!=_,k=s((function(){_.has(1)})),L=p((function(e){new b(e)})),w=!C&&s((function(){for(var e=new b,t=5;t--;)e[g](t,t);return!e.has(-0)}));L||((N=t((function(t,n){u(t,N,e);var o=f(new b,t,N);return n!=undefined&&l(n,o[g],o,h),o}))).prototype=v,v.constructor=N),(k||w)&&(y("delete"),y("has"),h&&y("get")),(w||x)&&y(g),C&&v.clear&&delete v.clear}return V[e]=N,o({global:!0,forced:N!=b},V),m(N,e),C||n.setStrong(N,e,h),N}},function(e,t,n){"use strict";var o=n(6),r=n(53);e.exports=function(e,t,n){var a,i;return r&&"function"==typeof(a=t.constructor)&&a!==n&&o(i=a.prototype)&&i!==n.prototype&&r(e,i),e}},function(e,t,n){"use strict";var o=Math.expm1,r=Math.exp;e.exports=!o||o(10)>22025.465794806718||o(10)<22025.465794806718||-2e-17!=o(-2e-17)?function(e){return 0==(e=+e)?e:e>-1e-6&&e<1e-6?e+e*e/2:r(e)-1}:o},function(e,t,n){"use strict";e.exports="\t\n\x0B\f\r \xa0\u1680\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u202f\u205f\u3000\u2028\u2029\ufeff"},function(e,t,n){"use strict";var o=n(38),r=n(5),a=n(4);e.exports=o||!a((function(){var e=Math.random();__defineSetter__.call(null,e,(function(){})),delete r[e]}))},function(e,t,n){"use strict";var o=n(8);e.exports=function(){var e=o(this),t="";return e.global&&(t+="g"),e.ignoreCase&&(t+="i"),e.multiline&&(t+="m"),e.dotAll&&(t+="s"),e.unicode&&(t+="u"),e.sticky&&(t+="y"),t}},function(e,t,n){"use strict";var o,r,a=n(83),i=RegExp.prototype.exec,c=String.prototype.replace,l=i,u=(o=/a/,r=/b*/g,i.call(o,"a"),i.call(r,"a"),0!==o.lastIndex||0!==r.lastIndex),d=/()??/.exec("")[1]!==undefined;(u||d)&&(l=function(e){var t,n,o,r,l=this;return d&&(n=new RegExp("^"+l.source+"$(?!\\s)",a.call(l))),u&&(t=l.lastIndex),o=i.call(l,e),u&&o&&(l.lastIndex=l.global?o.index+o[0].length:t),d&&o&&o.length>1&&c.call(o[0],n,(function(){for(r=1;r")})),d=!a((function(){var e=/(?:)/,t=e.exec;e.exec=function(){return t.apply(this,arguments)};var n="ab".split(e);return 2!==n.length||"a"!==n[0]||"b"!==n[1]}));e.exports=function(e,t,n,s){var p=i(e),m=!a((function(){var t={};return t[p]=function(){return 7},7!=""[e](t)})),f=m&&!a((function(){var t=!1,n=/a/;return"split"===e&&((n={}).constructor={},n.constructor[l]=function(){return n},n.flags="",n[p]=/./[p]),n.exec=function(){return t=!0,null},n[p](""),!t}));if(!m||!f||"replace"===e&&!u||"split"===e&&!d){var h=/./[p],C=n(p,""[e],(function(e,t,n,o,r){return t.exec===c?m&&!r?{done:!0,value:h.call(t,n,o)}:{done:!0,value:e.call(n,t,o)}:{done:!1}})),g=C[0],b=C[1];r(String.prototype,e,g),r(RegExp.prototype,p,2==t?function(e,t){return b.call(e,this,t)}:function(e){return b.call(e,this)}),s&&o(RegExp.prototype[p],"sham",!0)}}},function(e,t,n){"use strict";var o=n(32),r=n(84);e.exports=function(e,t){var n=e.exec;if("function"==typeof n){var a=n.call(e,t);if("object"!=typeof a)throw TypeError("RegExp exec method returned something other than an Object or null");return a}if("RegExp"!==o(e))throw TypeError("RegExp#exec called on incompatible receiver");return r.call(e,t)}},function(e,t,n){"use strict";t.__esModule=!0,t.Icon=void 0;var o=n(1),r=n(12),a=n(19);var i=/-o$/,c=function(e){var t=e.name,n=e.size,c=e.spin,l=e.className,u=e.style,d=void 0===u?{}:u,s=e.rotation,p=function(e,t){if(null==e)return{};var n,o,r={},a=Object.keys(e);for(o=0;o=0||(r[n]=e[n]);return r}(e,["name","size","spin","className","style","rotation"]);n&&(d["font-size"]=100*n+"%"),"number"==typeof s&&(d.transform="rotate("+s+"deg)");var m=i.test(t),f=t.replace(i,"");return(0,o.normalizeProps)((0,o.createComponentVNode)(2,a.Box,Object.assign({as:"i",className:(0,r.classes)([l,m?"far":"fas","fa-"+f,c&&"fa-spin"]),style:d},p)))};t.Icon=c,c.defaultHooks=r.pureComponentHooks},function(e,t,n){"use strict";var o=n(5),r=n(6),a=o.document,i=r(a)&&r(a.createElement);e.exports=function(e){return i?a.createElement(e):{}}},function(e,t,n){"use strict";var o=n(5),r=n(26);e.exports=function(e,t){try{r(o,e,t)}catch(n){o[e]=t}return t}},function(e,t,n){"use strict";var o=n(120),r=Function.toString;"function"!=typeof o.inspectSource&&(o.inspectSource=function(e){return r.call(e)}),e.exports=o.inspectSource},function(e,t,n){"use strict";var o=n(38),r=n(120);(e.exports=function(e,t){return r[e]||(r[e]=t!==undefined?t:{})})("versions",[]).push({version:"3.4.8",mode:o?"pure":"global",copyright:"\xa9 2019 Denis Pushkarev (zloirock.ru)"})},function(e,t,n){"use strict";var o=n(35),r=n(47),a=n(94),i=n(8);e.exports=o("Reflect","ownKeys")||function(e){var t=r.f(i(e)),n=a.f;return n?t.concat(n(e)):t}},function(e,t,n){"use strict";e.exports=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"]},function(e,t,n){"use strict";t.f=Object.getOwnPropertySymbols},function(e,t,n){"use strict";var o=n(4);e.exports=!!Object.getOwnPropertySymbols&&!o((function(){return!String(Symbol())}))},function(e,t,n){"use strict";var o,r,a=n(5),i=n(73),c=a.process,l=c&&c.versions,u=l&&l.v8;u?r=(o=u.split("."))[0]+o[1]:i&&(!(o=i.match(/Edge\/(\d+)/))||o[1]>=74)&&(o=i.match(/Chrome\/(\d+)/))&&(r=o[1]),e.exports=r&&+r},function(e,t,n){"use strict";var o=n(14),r=n(41),a=n(10);e.exports=function(e){for(var t=o(this),n=a(t.length),i=arguments.length,c=r(i>1?arguments[1]:undefined,n),l=i>2?arguments[2]:undefined,u=l===undefined?n:r(l,n);u>c;)t[c++]=e;return t}},function(e,t,n){"use strict";var o=n(11),r=n(65),a=o("iterator"),i=Array.prototype;e.exports=function(e){return e!==undefined&&(r.Array===e||i[a]===e)}},function(e,t,n){"use strict";var o=n(74),r=n(65),a=n(11)("iterator");e.exports=function(e){if(e!=undefined)return e[a]||e["@@iterator"]||r[o(e)]}},function(e,t,n){"use strict";var o={};o[n(11)("toStringTag")]="z",e.exports="[object z]"===String(o)},function(e,t,n){"use strict";var o=n(0),r=n(203),a=n(36),i=n(53),c=n(43),l=n(26),u=n(22),d=n(11),s=n(38),p=n(65),m=n(134),f=m.IteratorPrototype,h=m.BUGGY_SAFARI_ITERATORS,C=d("iterator"),g=function(){return this};e.exports=function(e,t,n,d,m,b,v){r(n,t,d);var N,V,y,_=function(e){if(e===m&&B)return B;if(!h&&e in L)return L[e];switch(e){case"keys":case"values":case"entries":return function(){return new n(this,e)}}return function(){return new n(this)}},x=t+" Iterator",k=!1,L=e.prototype,w=L[C]||L["@@iterator"]||m&&L[m],B=!h&&w||_(m),S="Array"==t&&L.entries||w;if(S&&(N=a(S.call(new e)),f!==Object.prototype&&N.next&&(s||a(N)===f||(i?i(N,f):"function"!=typeof N[C]&&l(N,C,g)),c(N,x,!0,!0),s&&(p[x]=g))),"values"==m&&w&&"values"!==w.name&&(k=!0,B=function(){return w.call(this)}),s&&!v||L[C]===B||l(L,C,B),p[t]=B,m)if(V={values:_("values"),keys:b?B:_("keys"),entries:_("entries")},v)for(y in V)!h&&!k&&y in L||u(L,y,V[y]);else o({target:t,proto:!0,forced:h||k},V);return V}},function(e,t,n){"use strict";var o=n(4);e.exports=!o((function(){function e(){}return e.prototype.constructor=null,Object.getPrototypeOf(new e)!==e.prototype}))},function(e,t,n){"use strict";var o=n(10),r=n(104),a=n(21),i=Math.ceil,c=function(e){return function(t,n,c){var l,u,d=String(a(t)),s=d.length,p=c===undefined?" ":String(c),m=o(n);return m<=s||""==p?d:(l=m-s,(u=r.call(p,i(l/p.length))).length>l&&(u=u.slice(0,l)),e?d+u:u+d)}};e.exports={start:c(!1),end:c(!0)}},function(e,t,n){"use strict";var o=n(30),r=n(21);e.exports="".repeat||function(e){var t=String(r(this)),n="",a=o(e);if(a<0||a==Infinity)throw RangeError("Wrong number of repetitions");for(;a>0;(a>>>=1)&&(t+=t))1&a&&(n+=t);return n}},function(e,t,n){"use strict";e.exports=Math.sign||function(e){return 0==(e=+e)||e!=e?e:e<0?-1:1}},function(e,t,n){"use strict";var o,r,a,i=n(5),c=n(4),l=n(32),u=n(48),d=n(127),s=n(88),p=n(146),m=i.location,f=i.setImmediate,h=i.clearImmediate,C=i.process,g=i.MessageChannel,b=i.Dispatch,v=0,N={},V=function(e){if(N.hasOwnProperty(e)){var t=N[e];delete N[e],t()}},y=function(e){return function(){V(e)}},_=function(e){V(e.data)},x=function(e){i.postMessage(e+"",m.protocol+"//"+m.host)};f&&h||(f=function(e){for(var t=[],n=1;arguments.length>n;)t.push(arguments[n++]);return N[++v]=function(){("function"==typeof e?e:Function(e)).apply(undefined,t)},o(v),v},h=function(e){delete N[e]},"process"==l(C)?o=function(e){C.nextTick(y(e))}:b&&b.now?o=function(e){b.now(y(e))}:g&&!p?(a=(r=new g).port2,r.port1.onmessage=_,o=u(a.postMessage,a,1)):!i.addEventListener||"function"!=typeof postMessage||i.importScripts||c(x)?o="onreadystatechange"in s("script")?function(e){d.appendChild(s("script")).onreadystatechange=function(){d.removeChild(this),V(e)}}:function(e){setTimeout(y(e),0)}:(o=x,i.addEventListener("message",_,!1))),e.exports={set:f,clear:h}},function(e,t,n){"use strict";var o=n(6),r=n(32),a=n(11)("match");e.exports=function(e){var t;return o(e)&&((t=e[a])!==undefined?!!t:"RegExp"==r(e))}},function(e,t,n){"use strict";var o=n(30),r=n(21),a=function(e){return function(t,n){var a,i,c=String(r(t)),l=o(n),u=c.length;return l<0||l>=u?e?"":undefined:(a=c.charCodeAt(l))<55296||a>56319||l+1===u||(i=c.charCodeAt(l+1))<56320||i>57343?e?c.charAt(l):a:e?c.slice(l,l+2):i-56320+(a-55296<<10)+65536}};e.exports={codeAt:a(!1),charAt:a(!0)}},function(e,t,n){"use strict";var o=n(107);e.exports=function(e){if(o(e))throw TypeError("The method doesn't accept regular expressions");return e}},function(e,t,n){"use strict";var o=n(11)("match");e.exports=function(e){var t=/./;try{"/./"[e](t)}catch(n){try{return t[o]=!1,"/./"[e](t)}catch(r){}}return!1}},function(e,t,n){"use strict";var o=n(108).charAt;e.exports=function(e,t,n){return t+(n?o(e,t).length:1)}},function(e,t,n){"use strict";var o=n(4),r=n(81);e.exports=function(e){return o((function(){return!!r[e]()||"\u200b\x85\u180e"!="\u200b\x85\u180e"[e]()||r[e].name!==e}))}},function(e,t,n){"use strict";var o=n(5),r=n(4),a=n(75),i=n(7).NATIVE_ARRAY_BUFFER_VIEWS,c=o.ArrayBuffer,l=o.Int8Array;e.exports=!i||!r((function(){l(1)}))||!r((function(){new l(-1)}))||!a((function(e){new l,new l(null),new l(1.5),new l(e)}),!0)||r((function(){return 1!==new l(new c(2),1,undefined).length}))},function(e,t,n){"use strict";t.__esModule=!0,t.ButtonInput=t.ButtonConfirm=t.ButtonCheckbox=t.Button=void 0;var o=n(1),r=n(12),a=n(16),i=n(115),c=n(51),l=n(116),u=n(19),d=n(87),s=n(159);n(160),n(161);function p(e,t){e.prototype=Object.create(t.prototype),e.prototype.constructor=e,e.__proto__=t}function m(e,t){if(null==e)return{};var n,o,r={},a=Object.keys(e);for(o=0;o=0||(r[n]=e[n]);return r}var f=(0,c.createLogger)("Button"),h=function(e){var t=e.className,n=e.fluid,c=e.icon,p=e.color,h=e.disabled,C=e.selected,g=e.tooltip,b=e.tooltipPosition,v=e.ellipsis,N=e.content,V=e.iconRotation,y=e.iconSpin,_=e.children,x=e.onclick,k=e.onClick,L=m(e,["className","fluid","icon","color","disabled","selected","tooltip","tooltipPosition","ellipsis","content","iconRotation","iconSpin","children","onclick","onClick"]),w=!(!N&&!_);return x&&f.warn("Lowercase 'onclick' is not supported on Button and lowercase prop names are discouraged in general. Please use a camelCase'onClick' instead and read: https://infernojs.org/docs/guides/event-handling"),(0,o.normalizeProps)((0,o.createComponentVNode)(2,u.Box,Object.assign({as:"span",className:(0,r.classes)(["Button",n&&"Button--fluid",h&&"Button--disabled",C&&"Button--selected",w&&"Button--hasContent",v&&"Button--ellipsis",p&&"string"==typeof p?"Button--color--"+p:"Button--color--default",t]),tabIndex:!h&&"0",unselectable:a.tridentVersion<=4,onclick:function(e){(0,l.refocusLayout)(),!h&&k&&k(e)},onKeyDown:function(e){var t=window.event?e.which:e.keyCode;return t===i.KEY_SPACE||t===i.KEY_ENTER?(e.preventDefault(),void(!h&&k&&k(e))):t===i.KEY_ESCAPE?(e.preventDefault(),void(0,l.refocusLayout)()):void 0}},L,{children:[c&&(0,o.createComponentVNode)(2,d.Icon,{name:c,rotation:V,spin:y}),N,_,g&&(0,o.createComponentVNode)(2,s.Tooltip,{content:g,position:b})]})))};t.Button=h,h.defaultHooks=r.pureComponentHooks;var C=function(e){var t=e.checked,n=m(e,["checked"]);return(0,o.normalizeProps)((0,o.createComponentVNode)(2,h,Object.assign({color:"transparent",icon:t?"check-square-o":"square-o",selected:t},n)))};t.ButtonCheckbox=C,h.Checkbox=C;var g=function(e){function t(){var t;return(t=e.call(this)||this).state={clickedOnce:!1},t.handleClick=function(){t.state.clickedOnce&&t.setClickedOnce(!1)},t}p(t,e);var n=t.prototype;return n.setClickedOnce=function(e){var t=this;this.setState({clickedOnce:e}),e?setTimeout((function(){return window.addEventListener("click",t.handleClick)})):window.removeEventListener("click",this.handleClick)},n.render=function(){var e=this,t=this.props,n=t.confirmMessage,r=void 0===n?"Confirm?":n,a=t.confirmColor,i=void 0===a?"bad":a,c=t.color,l=t.content,u=t.onClick,d=m(t,["confirmMessage","confirmColor","color","content","onClick"]);return(0,o.normalizeProps)((0,o.createComponentVNode)(2,h,Object.assign({content:this.state.clickedOnce?r:l,color:this.state.clickedOnce?i:c,onClick:function(){return e.state.clickedOnce?u():e.setClickedOnce(!0)}},d)))},t}(o.Component);t.ButtonConfirm=g,h.Confirm=g;var b=function(e){function t(){var t;return(t=e.call(this)||this).inputRef=(0,o.createRef)(),t.state={inInput:!1},t}p(t,e);var n=t.prototype;return n.setInInput=function(e){if(this.setState({inInput:e}),this.inputRef){var t=this.inputRef.current;if(e){t.value=this.props.currentValue||"";try{t.focus(),t.select()}catch(n){}}}},n.commitResult=function(e){if(this.inputRef){var t=this.inputRef.current;if(""!==t.value)return void this.props.onCommit(e,t.value);if(!this.props.defaultValue)return;this.props.onCommit(e,this.props.defaultValue)}},n.render=function(){var e=this,t=this.props,n=t.fluid,a=t.content,c=t.color,l=void 0===c?"default":c,d=(t.placeholder,t.maxLength,m(t,["fluid","content","color","placeholder","maxLength"]));return(0,o.normalizeProps)((0,o.createComponentVNode)(2,u.Box,Object.assign({className:(0,r.classes)(["Button",n&&"Button--fluid","Button--color--"+l])},d,{onClick:function(){return e.setInInput(!0)},children:[(0,o.createVNode)(1,"div",null,a,0),(0,o.createVNode)(64,"input","NumberInput__input",null,1,{style:{display:this.state.inInput?undefined:"none","text-align":"left"},onBlur:function(t){e.state.inInput&&(e.setInInput(!1),e.commitResult(t))},onKeyDown:function(t){if(t.keyCode===i.KEY_ENTER)return e.setInInput(!1),void e.commitResult(t);t.keyCode===i.KEY_ESCAPE&&e.setInInput(!1)}},null,this.inputRef)]})))},t}(o.Component);t.ButtonInput=b,h.Input=b},function(e,t,n){"use strict";t.__esModule=!0,t.hotKeyReducer=t.hotKeyMiddleware=t.releaseHeldKeys=t.KEY_MINUS=t.KEY_EQUAL=t.KEY_Z=t.KEY_Y=t.KEY_X=t.KEY_W=t.KEY_V=t.KEY_U=t.KEY_T=t.KEY_S=t.KEY_R=t.KEY_Q=t.KEY_P=t.KEY_O=t.KEY_N=t.KEY_M=t.KEY_L=t.KEY_K=t.KEY_J=t.KEY_I=t.KEY_H=t.KEY_G=t.KEY_F=t.KEY_E=t.KEY_D=t.KEY_C=t.KEY_B=t.KEY_A=t.KEY_9=t.KEY_8=t.KEY_7=t.KEY_6=t.KEY_5=t.KEY_4=t.KEY_3=t.KEY_2=t.KEY_1=t.KEY_0=t.KEY_SPACE=t.KEY_ESCAPE=t.KEY_ALT=t.KEY_CTRL=t.KEY_SHIFT=t.KEY_ENTER=t.KEY_TAB=t.KEY_BACKSPACE=void 0;var o=n(51),r=n(16),a=(0,o.createLogger)("hotkeys");t.KEY_BACKSPACE=8;t.KEY_TAB=9;t.KEY_ENTER=13;t.KEY_SHIFT=16;t.KEY_CTRL=17;t.KEY_ALT=18;t.KEY_ESCAPE=27;t.KEY_SPACE=32;t.KEY_0=48;t.KEY_1=49;t.KEY_2=50;t.KEY_3=51;t.KEY_4=52;t.KEY_5=53;t.KEY_6=54;t.KEY_7=55;t.KEY_8=56;t.KEY_9=57;t.KEY_A=65;t.KEY_B=66;t.KEY_C=67;t.KEY_D=68;t.KEY_E=69;t.KEY_F=70;t.KEY_G=71;t.KEY_H=72;t.KEY_I=73;t.KEY_J=74;t.KEY_K=75;t.KEY_L=76;t.KEY_M=77;t.KEY_N=78;t.KEY_O=79;t.KEY_P=80;t.KEY_Q=81;t.KEY_R=82;t.KEY_S=83;t.KEY_T=84;t.KEY_U=85;t.KEY_V=86;t.KEY_W=87;t.KEY_X=88;t.KEY_Y=89;t.KEY_Z=90;t.KEY_EQUAL=187;t.KEY_MINUS=189;var i=[17,18,16],c=[27,13,32,9,17,16],l={},u=function(e,t,n,o){var r="";return e&&(r+="Ctrl+"),t&&(r+="Alt+"),n&&(r+="Shift+"),r+=o>=48&&o<=90?String.fromCharCode(o):"["+o+"]"},d=function(e){var t=window.event?e.which:e.keyCode,n=e.ctrlKey,o=e.altKey,r=e.shiftKey;return{keyCode:t,ctrlKey:n,altKey:o,shiftKey:r,hasModifierKeys:n||o||r,keyString:u(n,o,r,t)}},s=function(){for(var e=0,t=Object.keys(l);e4&&function(e,t){if(!e.defaultPrevented){var n=e.target&&e.target.localName;if("input"!==n&&"textarea"!==n){var o=d(e),i=o.keyCode,u=o.ctrlKey,s=o.shiftKey;u||s||c.includes(i)||("keydown"!==t||l[i]?"keyup"===t&&l[i]&&(a.debug("passthrough",t,o),(0,r.callByond)("",{__keyup:i})):(a.debug("passthrough",t,o),(0,r.callByond)("",{__keydown:i})))}}}(e,t),function(e,t,n){if("keyup"===t){var o=d(e),r=o.ctrlKey,c=o.altKey,l=o.keyCode,u=o.hasModifierKeys,s=o.keyString;u&&!i.includes(l)&&(a.log(s),r&&c&&8===l&&setTimeout((function(){throw new Error("OOPSIE WOOPSIE!! UwU We made a fucky wucky!! A wittle fucko boingo! The code monkeys at our headquarters are working VEWY HAWD to fix this!")})),n({type:"hotKey",payload:o}))}}(e,t,n)},document.addEventListener("keydown",(function(e){var n=window.event?e.which:e.keyCode;t(e,"keydown"),l[n]=!0})),document.addEventListener("keyup",(function(e){var n=window.event?e.which:e.keyCode;t(e,"keyup"),l[n]=!1})),r.tridentVersion>4&&function(e){var t;document.addEventListener("focusout",(function(){t=setTimeout(e)})),document.addEventListener("focusin",(function(){clearTimeout(t)})),window.addEventListener("beforeunload",e)}((function(){s()})),function(e){return function(t){return e(t)}}};t.hotKeyReducer=function(e,t){var n=t.type,o=t.payload;if("hotKey"===n){var r=o.ctrlKey,a=o.altKey,i=o.keyCode;return r&&a&&187===i?Object.assign({},e,{showKitchenSink:!e.showKitchenSink}):e}return e}},function(e,t,n){"use strict";t.__esModule=!0,t.refocusLayout=void 0;var o=n(16);t.refocusLayout=function(){if(!(o.tridentVersion<=4)){var e=document.getElementById("Layout__content");e&&e.focus()}}},function(e,t,n){"use strict";t.__esModule=!0,t.toastReducer=t.showToast=t.Toast=void 0;var o,r=n(1),a=n(12),i=function(e){var t=e.content,n=e.children;return(0,r.createVNode)(1,"div","Layout__toast",[t,n],0)};t.Toast=i,i.defaultHooks=a.pureComponentHooks;t.showToast=function(e,t){o&&clearTimeout(o),o=setTimeout((function(){o=undefined,e({type:"hideToast"})}),5e3),e({type:"showToast",payload:{text:t}})};t.toastReducer=function(e,t){var n=t.type,o=t.payload;if("showToast"===n){var r=o.text;return Object.assign({},e,{toastText:r})}return"hideToast"===n?Object.assign({},e,{toastText:null}):e}},function(e,t,n){"use strict";var o;o=function(){return this}();try{o=o||new Function("return this")()}catch(r){"object"==typeof window&&(o=window)}e.exports=o},function(e,t,n){"use strict";var o=n(9),r=n(4),a=n(88);e.exports=!o&&!r((function(){return 7!=Object.defineProperty(a("div"),"a",{get:function(){return 7}}).a}))},function(e,t,n){"use strict";var o=n(5),r=n(89),a=o["__core-js_shared__"]||r("__core-js_shared__",{});e.exports=a},function(e,t,n){"use strict";var o=n(5),r=n(90),a=o.WeakMap;e.exports="function"==typeof a&&/native code/.test(r(a))},function(e,t,n){"use strict";var o=n(15),r=n(92),a=n(20),i=n(13);e.exports=function(e,t){for(var n=r(t),c=i.f,l=a.f,u=0;ul;)o(c,n=t[l++])&&(~a(u,n)||u.push(n));return u}},function(e,t,n){"use strict";var o=n(95);e.exports=o&&!Symbol.sham&&"symbol"==typeof Symbol()},function(e,t,n){"use strict";var o=n(9),r=n(13),a=n(8),i=n(62);e.exports=o?Object.defineProperties:function(e,t){a(e);for(var n,o=i(t),c=o.length,l=0;c>l;)r.f(e,n=o[l++],t[n]);return e}},function(e,t,n){"use strict";var o=n(35);e.exports=o("document","documentElement")},function(e,t,n){"use strict";var o=n(25),r=n(47).f,a={}.toString,i="object"==typeof window&&window&&Object.getOwnPropertyNames?Object.getOwnPropertyNames(window):[],c=function(e){try{return r(e)}catch(t){return i.slice()}};e.exports.f=function(e){return i&&"[object Window]"==a.call(e)?c(e):r(o(e))}},function(e,t,n){"use strict";var o=n(11);t.f=o},function(e,t,n){"use strict";var o=n(14),r=n(41),a=n(10),i=Math.min;e.exports=[].copyWithin||function(e,t){var n=o(this),c=a(n.length),l=r(e,c),u=r(t,c),d=arguments.length>2?arguments[2]:undefined,s=i((d===undefined?c:r(d,c))-u,c-l),p=1;for(u0;)u in n?n[l]=n[u]:delete n[l],l+=p,u+=p;return n}},function(e,t,n){"use strict";var o=n(52),r=n(10),a=n(48);e.exports=function i(e,t,n,c,l,u,d,s){for(var p,m=l,f=0,h=!!d&&a(d,s,3);f0&&o(p))m=i(e,t,p,r(p.length),m,u-1)-1;else{if(m>=9007199254740991)throw TypeError("Exceed the acceptable array length");e[m]=p}m++}f++}return m}},function(e,t,n){"use strict";var o=n(8);e.exports=function(e,t,n,r){try{return r?t(o(n)[0],n[1]):t(n)}catch(i){var a=e["return"];throw a!==undefined&&o(a.call(e)),i}}},function(e,t,n){"use strict";var o=n(25),r=n(44),a=n(65),i=n(34),c=n(101),l=i.set,u=i.getterFor("Array Iterator");e.exports=c(Array,"Array",(function(e,t){l(this,{type:"Array Iterator",target:o(e),index:0,kind:t})}),(function(){var e=u(this),t=e.target,n=e.kind,o=e.index++;return!t||o>=t.length?(e.target=undefined,{value:undefined,done:!0}):"keys"==n?{value:o,done:!1}:"values"==n?{value:t[o],done:!1}:{value:[o,t[o]],done:!1}}),"values"),a.Arguments=a.Array,r("keys"),r("values"),r("entries")},function(e,t,n){"use strict";var o,r,a,i=n(36),c=n(26),l=n(15),u=n(11),d=n(38),s=u("iterator"),p=!1;[].keys&&("next"in(a=[].keys())?(r=i(i(a)))!==Object.prototype&&(o=r):p=!0),o==undefined&&(o={}),d||l(o,s)||c(o,s,(function(){return this})),e.exports={IteratorPrototype:o,BUGGY_SAFARI_ITERATORS:p}},function(e,t,n){"use strict";var o=n(6);e.exports=function(e){if(!o(e)&&null!==e)throw TypeError("Can't set "+String(e)+" as a prototype");return e}},function(e,t,n){"use strict";var o=n(25),r=n(30),a=n(10),i=n(39),c=Math.min,l=[].lastIndexOf,u=!!l&&1/[1].lastIndexOf(1,-0)<0,d=i("lastIndexOf");e.exports=u||d?function(e){if(u)return l.apply(this,arguments)||0;var t=o(this),n=a(t.length),i=n-1;for(arguments.length>1&&(i=c(i,r(arguments[1]))),i<0&&(i=n+i);i>=0;i--)if(i in t&&t[i]===e)return i||0;return-1}:l},function(e,t,n){"use strict";var o=n(30),r=n(10);e.exports=function(e){if(e===undefined)return 0;var t=o(e),n=r(t);if(t!==n)throw RangeError("Wrong length or index");return n}},function(e,t,n){"use strict";var o=n(31),r=n(6),a=[].slice,i={},c=function(e,t,n){if(!(t in i)){for(var o=[],r=0;r1?arguments[1]:undefined,3);t=t?t.next:n.first;)for(o(t.value,t.key,this);t&&t.removed;)t=t.previous},has:function(e){return!!g(this,e)}}),a(d.prototype,n?{get:function(e){var t=g(this,e);return t&&t.value},set:function(e,t){return C(this,0===e?0:e,t)}}:{add:function(e){return C(this,e=0===e?0:e,e)}}),s&&o(d.prototype,"size",{get:function(){return m(this).size}}),d},setStrong:function(e,t,n){var o=t+" Iterator",r=h(t),a=h(o);u(e,t,(function(e,t){f(this,{type:o,target:e,state:r(e),kind:t,last:undefined})}),(function(){for(var e=a(this),t=e.kind,n=e.last;n&&n.removed;)n=n.previous;return e.target&&(e.last=n=n?n.next:e.state.first)?"keys"==t?{value:n.key,done:!1}:"values"==t?{value:n.value,done:!1}:{value:[n.key,n.value],done:!1}:(e.target=undefined,{value:undefined,done:!0})}),n?"entries":"values",!n,!0),d(t)}}},function(e,t,n){"use strict";var o=Math.log;e.exports=Math.log1p||function(e){return(e=+e)>-1e-8&&e<1e-8?e-e*e/2:o(1+e)}},function(e,t,n){"use strict";var o=n(6),r=Math.floor;e.exports=function(e){return!o(e)&&isFinite(e)&&r(e)===e}},function(e,t,n){"use strict";var o=n(5),r=n(56).trim,a=n(81),i=o.parseInt,c=/^[+-]?0[Xx]/,l=8!==i(a+"08")||22!==i(a+"0x16");e.exports=l?function(e,t){var n=r(String(e));return i(n,t>>>0||(c.test(n)?16:10))}:i},function(e,t,n){"use strict";var o=n(9),r=n(62),a=n(25),i=n(71).f,c=function(e){return function(t){for(var n,c=a(t),l=r(c),u=l.length,d=0,s=[];u>d;)n=l[d++],o&&!i.call(c,n)||s.push(e?[n,c[n]]:c[n]);return s}};e.exports={entries:c(!0),values:c(!1)}},function(e,t,n){"use strict";e.exports=Object.is||function(e,t){return e===t?0!==e||1/e==1/t:e!=e&&t!=t}},function(e,t,n){"use strict";var o=n(5);e.exports=o.Promise},function(e,t,n){"use strict";var o=n(73);e.exports=/(iphone|ipod|ipad).*applewebkit/i.test(o)},function(e,t,n){"use strict";var o,r,a,i,c,l,u,d,s=n(5),p=n(20).f,m=n(32),f=n(106).set,h=n(146),C=s.MutationObserver||s.WebKitMutationObserver,g=s.process,b=s.Promise,v="process"==m(g),N=p(s,"queueMicrotask"),V=N&&N.value;V||(o=function(){var e,t;for(v&&(e=g.domain)&&e.exit();r;){t=r.fn,r=r.next;try{t()}catch(n){throw r?i():a=undefined,n}}a=undefined,e&&e.enter()},v?i=function(){g.nextTick(o)}:C&&!h?(c=!0,l=document.createTextNode(""),new C(o).observe(l,{characterData:!0}),i=function(){l.data=c=!c}):b&&b.resolve?(u=b.resolve(undefined),d=u.then,i=function(){d.call(u,o)}):i=function(){f.call(s,o)}),e.exports=V||function(e){var t={fn:e,next:undefined};a&&(a.next=t),r||(r=t,i()),a=t}},function(e,t,n){"use strict";var o=n(8),r=n(6),a=n(149);e.exports=function(e,t){if(o(e),r(t)&&t.constructor===e)return t;var n=a.f(e);return(0,n.resolve)(t),n.promise}},function(e,t,n){"use strict";var o=n(31),r=function(e){var t,n;this.promise=new e((function(e,o){if(t!==undefined||n!==undefined)throw TypeError("Bad Promise constructor");t=e,n=o})),this.resolve=o(t),this.reject=o(n)};e.exports.f=function(e){return new r(e)}},function(e,t,n){"use strict";var o=n(73);e.exports=/Version\/10\.\d+(\.\d+)?( Mobile\/\w+)? Safari\//.test(o)},function(e,t,n){"use strict";var o=n(348);e.exports=function(e,t){var n=o(e);if(n%t)throw RangeError("Wrong offset");return n}},function(e,t,n){"use strict";var o=n(14),r=n(10),a=n(99),i=n(98),c=n(48),l=n(7).aTypedArrayConstructor;e.exports=function(e){var t,n,u,d,s,p,m=o(e),f=arguments.length,h=f>1?arguments[1]:undefined,C=h!==undefined,g=a(m);if(g!=undefined&&!i(g))for(p=(s=g.call(m)).next,m=[];!(d=p.call(s)).done;)m.push(d.value);for(C&&f>2&&(h=c(h,arguments[2],2)),n=r(m.length),u=new(l(this))(n),t=0;n>t;t++)u[t]=C?h(m[t],t):m[t];return u}},function(e,t,n){"use strict";var o=n(66),r=n(50).getWeakData,a=n(8),i=n(6),c=n(55),l=n(68),u=n(17),d=n(15),s=n(34),p=s.set,m=s.getterFor,f=u.find,h=u.findIndex,C=0,g=function(e){return e.frozen||(e.frozen=new b)},b=function(){this.entries=[]},v=function(e,t){return f(e.entries,(function(e){return e[0]===t}))};b.prototype={get:function(e){var t=v(this,e);if(t)return t[1]},has:function(e){return!!v(this,e)},set:function(e,t){var n=v(this,e);n?n[1]=t:this.entries.push([e,t])},"delete":function(e){var t=h(this.entries,(function(t){return t[0]===e}));return~t&&this.entries.splice(t,1),!!~t}},e.exports={getConstructor:function(e,t,n,u){var s=e((function(e,o){c(e,s,t),p(e,{type:t,id:C++,frozen:undefined}),o!=undefined&&l(o,e[u],e,n)})),f=m(t),h=function(e,t,n){var o=f(e),i=r(a(t),!0);return!0===i?g(o).set(t,n):i[o.id]=n,e};return o(s.prototype,{"delete":function(e){var t=f(this);if(!i(e))return!1;var n=r(e);return!0===n?g(t)["delete"](e):n&&d(n,t.id)&&delete n[t.id]},has:function(e){var t=f(this);if(!i(e))return!1;var n=r(e);return!0===n?g(t).has(e):n&&d(n,t.id)}}),o(s.prototype,n?{get:function(e){var t=f(this);if(i(e)){var n=r(e);return!0===n?g(t).get(e):n?n[t.id]:undefined}},set:function(e,t){return h(this,e,t)}}:{add:function(e){return h(this,e,!0)}}),s}}},function(e,t,n){"use strict";t.__esModule=!0,t.setupHotReloading=t.sendLogEntry=void 0;t.sendLogEntry=function(e,t){};t.setupHotReloading=function(){0}},function(e,t,n){"use strict";t.__esModule=!0,t.resizeStartHandler=t.dragStartHandler=t.setupDrag=void 0;var o,r,a,i,c,l=n(156),u=n(16),d=(0,n(51).createLogger)("drag"),s=!1,p=!1,m=[0,0],f=function(e){return(0,u.winget)(e,"pos").then((function(e){return[e.x,e.y]}))},h=function(e,t){return(0,u.winset)(e,"pos",t[0]+","+t[1])},C=function(e){var t,n,r,a;return regeneratorRuntime.async((function(i){for(;;)switch(i.prev=i.next){case 0:return d.log("setting up"),o=e.config.window,i.next=4,regeneratorRuntime.awrap(f(o));case 4:t=i.sent,m=[t[0]-window.screenLeft,t[1]-window.screenTop],n=g(t),r=n[0],a=n[1],r&&h(o,a),d.debug("current state",{ref:o,screenOffset:m});case 9:case"end":return i.stop()}}))};t.setupDrag=C;var g=function(e){var t=e[0],n=e[1],o=!1;return t<0?(t=0,o=!0):t+window.innerWidth>window.screen.availWidth&&(t=window.screen.availWidth-window.innerWidth,o=!0),n<0?(n=0,o=!0):n+window.innerHeight>window.screen.availHeight&&(n=window.screen.availHeight-window.innerHeight,o=!0),[o,[t,n]]};t.dragStartHandler=function(e){d.log("drag start"),s=!0,r=[window.screenLeft-e.screenX,window.screenTop-e.screenY],document.addEventListener("mousemove",v),document.addEventListener("mouseup",b),v(e)};var b=function y(e){d.log("drag end"),v(e),document.removeEventListener("mousemove",v),document.removeEventListener("mouseup",y),s=!1},v=function(e){s&&(e.preventDefault(),h(o,(0,l.vecAdd)([e.screenX,e.screenY],m,r)))};t.resizeStartHandler=function(e,t){return function(n){a=[e,t],d.log("resize start",a),p=!0,r=[window.screenLeft-n.screenX,window.screenTop-n.screenY],i=[window.innerWidth,window.innerHeight],document.addEventListener("mousemove",V),document.addEventListener("mouseup",N),V(n)}};var N=function _(e){d.log("resize end",c),V(e),document.removeEventListener("mousemove",V),document.removeEventListener("mouseup",_),p=!1},V=function(e){p&&(e.preventDefault(),(c=(0,l.vecAdd)(i,(0,l.vecMultiply)(a,(0,l.vecAdd)([e.screenX,e.screenY],(0,l.vecInverse)([window.screenLeft,window.screenTop]),r,[1,1]))))[0]=Math.max(c[0],250),c[1]=Math.max(c[1],120),function(e,t){(0,u.winset)(e,"size",t[0]+","+t[1])}(o,c))}},function(e,t,n){"use strict";t.__esModule=!0,t.vecNormalize=t.vecLength=t.vecInverse=t.vecScale=t.vecDivide=t.vecMultiply=t.vecSubtract=t.vecAdd=t.vecCreate=void 0;var o=n(24);t.vecCreate=function(){for(var e=arguments.length,t=new Array(e),n=0;n35;return(0,o.createVNode)(1,"div",(0,r.classes)(["Tooltip",i&&"Tooltip--long",a&&"Tooltip--"+a]),null,1,{"data-tooltip":t})}},function(e,t,n){"use strict";t.__esModule=!0,t.Input=void 0;var o=n(1),r=n(12),a=n(19);function i(e,t){if(null==e)return{};var n,o,r={},a=Object.keys(e);for(o=0;o=0||(r[n]=e[n]);return r}var c=function(e){return(0,r.isFalsy)(e)?"":e},l=function(e){var t,n;function l(){var t;return(t=e.call(this)||this).inputRef=(0,o.createRef)(),t.state={editing:!1},t.handleInput=function(e){var n=t.state.editing,o=t.props.onInput;n||t.setEditing(!0),o&&o(e,e.target.value)},t.handleFocus=function(e){t.state.editing||t.setEditing(!0)},t.handleBlur=function(e){var n=t.state.editing,o=t.props.onChange;n&&(t.setEditing(!1),o&&o(e,e.target.value))},t.handleKeyDown=function(e){var n=t.props,o=n.onInput,r=n.onChange,a=n.onEnter;return 13===e.keyCode?(t.setEditing(!1),r&&r(e,e.target.value),o&&o(e,e.target.value),a&&a(e,e.target.value),void(t.props.selfClear?e.target.value="":e.target.blur())):27===e.keyCode?(t.setEditing(!1),e.target.value=c(t.props.value),void e.target.blur()):void 0},t}n=e,(t=l).prototype=Object.create(n.prototype),t.prototype.constructor=t,t.__proto__=n;var u=l.prototype;return u.componentDidMount=function(){var e=this.props.value,t=this.inputRef.current;t&&(t.value=c(e))},u.componentDidUpdate=function(e,t){var n=this.state.editing,o=e.value,r=this.props.value,a=this.inputRef.current;a&&!n&&o!==r&&(a.value=c(r))},u.setEditing=function(e){this.setState({editing:e})},u.render=function(){var e=this.props,t=(e.selfClear,e.onInput,e.onChange,e.onEnter,e.value,e.maxLength),n=e.placeholder,c=i(e,["selfClear","onInput","onChange","onEnter","value","maxLength","placeholder"]),l=c.className,u=c.fluid,d=i(c,["className","fluid"]);return(0,o.normalizeProps)((0,o.createComponentVNode)(2,a.Box,Object.assign({className:(0,r.classes)(["Input",u&&"Input--fluid",l])},d,{children:[(0,o.createVNode)(1,"div","Input__baseline",".",16),(0,o.createVNode)(64,"input","Input__input",null,1,{placeholder:n,onInput:this.handleInput,onFocus:this.handleFocus,onBlur:this.handleBlur,onKeyDown:this.handleKeyDown,maxLength:t},null,this.inputRef)]})))},l}(o.Component);t.Input=l},function(e,t,n){"use strict";t.__esModule=!0,t.GridColumn=t.Grid=void 0;var o=n(1),r=n(162),a=n(12);function i(e,t){if(null==e)return{};var n,o,r={},a=Object.keys(e);for(o=0;o=0||(r[n]=e[n]);return r}var c=function(e){var t=e.children,n=i(e,["children"]);return(0,o.normalizeProps)((0,o.createComponentVNode)(2,r.Table,Object.assign({},n,{children:(0,o.createComponentVNode)(2,r.Table.Row,{children:t})})))};t.Grid=c,c.defaultHooks=a.pureComponentHooks;var l=function(e){var t=e.size,n=void 0===t?1:t,a=e.style,c=i(e,["size","style"]);return(0,o.normalizeProps)((0,o.createComponentVNode)(2,r.Table.Cell,Object.assign({style:Object.assign({width:n+"%"},a)},c)))};t.GridColumn=l,c.defaultHooks=a.pureComponentHooks,c.Column=l},function(e,t,n){"use strict";t.__esModule=!0,t.TableCell=t.TableRow=t.Table=void 0;var o=n(1),r=n(12),a=n(19);function i(e,t){if(null==e)return{};var n,o,r={},a=Object.keys(e);for(o=0;o=0||(r[n]=e[n]);return r}var c=function(e){var t=e.collapsing,n=e.className,c=e.content,l=e.children,u=i(e,["collapsing","className","content","children"]);return(0,o.normalizeProps)((0,o.createComponentVNode)(2,a.Box,Object.assign({as:"table",className:(0,r.classes)(["Table",t&&"Table--collapsing",n])},u,{children:(0,o.createVNode)(1,"tbody",null,[c,l],0)})))};t.Table=c,c.defaultHooks=r.pureComponentHooks;var l=function(e){var t=e.className,n=e.header,c=i(e,["className","header"]);return(0,o.normalizeProps)((0,o.createComponentVNode)(2,a.Box,Object.assign({as:"tr",className:(0,r.classes)(["Table__row",n&&"Table__row--header",t])},c)))};t.TableRow=l,l.defaultHooks=r.pureComponentHooks;var u=function(e){var t=e.className,n=e.collapsing,c=e.header,l=i(e,["className","collapsing","header"]);return(0,o.normalizeProps)((0,o.createComponentVNode)(2,a.Box,Object.assign({as:"td",className:(0,r.classes)(["Table__cell",n&&"Table__cell--collapsing",c&&"Table__cell--header",t])},l)))};t.TableCell=u,u.defaultHooks=r.pureComponentHooks,c.Row=l,c.Cell=u},function(e,t,n){"use strict";t.__esModule=!0,t.LabeledListDivider=t.LabeledListItem=t.LabeledList=void 0;var o=n(1),r=n(12),a=n(19),i=function(e){var t=e.children;return(0,o.createVNode)(1,"table","LabeledList",t,0)};t.LabeledList=i,i.defaultHooks=r.pureComponentHooks;var c=function(e){var t=e.className,n=e.label,i=e.labelColor,c=void 0===i?"label":i,l=e.color,u=e.buttons,d=e.content,s=e.children;return(0,o.createVNode)(1,"tr",(0,r.classes)(["LabeledList__row",t]),[(0,o.createComponentVNode)(2,a.Box,{as:"td",color:c,className:(0,r.classes)(["LabeledList__cell","LabeledList__label"]),content:n+":"}),(0,o.createComponentVNode)(2,a.Box,{as:"td",color:l,className:(0,r.classes)(["LabeledList__cell","LabeledList__content"]),colSpan:u?undefined:2,children:[d,s]}),u&&(0,o.createVNode)(1,"td","LabeledList__cell LabeledList__buttons",u,0)],0)};t.LabeledListItem=c,c.defaultHooks=r.pureComponentHooks;var l=function(e){var t=e.size,n=void 0===t?1:t;return(0,o.createVNode)(1,"tr","LabeledList__row",(0,o.createVNode)(1,"td",null,null,1,{style:{"padding-bottom":(0,a.unit)(n)}}),2)};t.LabeledListDivider=l,l.defaultHooks=r.pureComponentHooks,i.Item=c,i.Divider=l},function(e,t,n){"use strict";t.__esModule=!0,t.BeakerContents=void 0;var o=n(1),r=n(2);t.BeakerContents=function(e){var t=e.beakerLoaded,n=e.beakerContents;return(0,o.createComponentVNode)(2,r.Box,{children:[!t&&(0,o.createComponentVNode)(2,r.Box,{color:"label",children:"No beaker loaded."})||0===n.length&&(0,o.createComponentVNode)(2,r.Box,{color:"label",children:"Beaker is empty."}),n.map((function(e){return(0,o.createComponentVNode)(2,r.Box,{color:"label",children:[e.volume," units of ",e.name,", Purity: ",e.purity]},e.name)}))]})}},function(e,t,n){n(166),n(167),n(168),n(169),n(170),n(171),e.exports=n(172)},function(e,t,n){},function(e,t,n){},function(e,t,n){},function(e,t,n){},function(e,t,n){},function(e,t,n){},function(e,t,n){"use strict";n(173),n(174),n(175),n(176),n(177),n(178),n(179),n(180),n(181),n(182),n(183),n(184),n(185),n(186),n(187),n(188),n(189),n(190),n(191),n(192),n(193),n(194),n(195),n(196),n(198),n(200),n(201),n(202),n(133),n(204),n(205),n(206),n(207),n(208),n(209),n(210),n(211),n(212),n(213),n(214),n(215),n(216),n(217),n(219),n(220),n(221),n(222),n(223),n(225),n(226),n(228),n(229),n(230),n(231),n(232),n(233),n(234),n(235),n(236),n(237),n(238),n(239),n(240),n(241),n(243),n(244),n(245),n(246),n(247),n(248),n(249),n(250),n(251),n(252),n(253),n(254),n(255),n(257),n(258),n(259),n(260),n(261),n(262),n(264),n(265),n(267),n(269),n(270),n(271),n(272),n(273),n(274),n(275),n(276),n(277),n(278),n(279),n(280),n(281),n(282),n(283),n(284),n(285),n(286),n(287),n(288),n(289),n(290),n(291),n(293),n(294),n(295),n(298),n(299),n(300),n(301),n(302),n(303),n(304),n(305),n(306),n(307),n(308),n(309),n(310),n(311),n(312),n(313),n(314),n(315),n(316),n(317),n(318),n(319),n(320),n(321),n(322),n(323),n(324),n(325),n(326),n(327),n(328),n(329),n(330),n(331),n(332),n(333),n(334),n(335),n(336),n(337),n(338),n(339),n(340),n(341),n(342),n(343),n(344),n(345),n(346),n(347),n(349),n(350),n(351),n(352),n(353),n(354),n(355),n(356),n(357),n(358),n(359),n(360),n(361),n(362),n(363),n(364),n(365),n(366),n(367),n(368),n(369),n(370),n(371),n(372),n(373),n(374),n(375),n(376),n(377),n(378),n(379),n(380),n(381),n(382),n(383),n(384),n(385),n(386);var o=n(1);n(388),n(389);var r=n(390),a=(n(154),n(3)),i=n(16),c=n(155),l=n(51),u=n(157),d=n(507),s=(0,l.createLogger)(),p=(0,d.createStore)(),m=document.getElementById("react-root"),f=!0,h=!1,C=function(){for(p.subscribe((function(){!function(){if(!h){0;try{var e=p.getState();if(f){if(s.log("initial render",e),!(0,u.getRoute)(e)){if(s.info("loading old tgui"),h=!0,window.update=window.initialize=function(){},i.tridentVersion<=4)return void setTimeout((function(){location.href="tgui-fallback.html?ref="+window.__ref__}),10);document.getElementById("data").textContent=JSON.stringify(e),(0,r.loadCSS)("v4shim.css"),(0,r.loadCSS)("tgui.css");var t=document.getElementsByTagName("head")[0],a=document.createElement("script");return a.type="text/javascript",a.src="tgui.js",void t.appendChild(a)}(0,c.setupDrag)(e)}var l=n(509).Layout,d=(0,o.createComponentVNode)(2,l,{state:e,dispatch:p.dispatch});(0,o.render)(d,m)}catch(C){s.error("rendering error",C)}f&&(f=!1)}}()})),window.update=window.initialize=function(e){var t=function(e){var t=function(e,t){return"object"==typeof t&&null!==t&&t.__number__?parseFloat(t.__number__):t};i.tridentVersion<=4&&(t=undefined);try{return JSON.parse(e,t)}catch(o){s.log(o),s.log("What we got:",e);var n=o&&o.message;throw new Error("JSON parsing error: "+n)}}(e);p.dispatch((0,a.backendUpdate)(t))};;){var e=window.__updateQueue__.shift();if(!e)break;window.update(e)}(0,r.loadCSS)("font-awesome.css")};i.tridentVersion<=4&&"loading"===document.readyState?document.addEventListener("DOMContentLoaded",C):C()},function(e,t,n){"use strict";var o=n(0),r=n(5),a=n(35),i=n(38),c=n(9),l=n(95),u=n(125),d=n(4),s=n(15),p=n(52),m=n(6),f=n(8),h=n(14),C=n(25),g=n(33),b=n(46),v=n(42),N=n(62),V=n(47),y=n(128),_=n(94),x=n(20),k=n(13),L=n(71),w=n(26),B=n(22),S=n(91),I=n(72),T=n(59),A=n(58),P=n(11),E=n(129),M=n(27),O=n(43),R=n(34),F=n(17).forEach,D=I("hidden"),j=P("toPrimitive"),z=R.set,H=R.getterFor("Symbol"),G=Object.prototype,U=r.Symbol,K=a("JSON","stringify"),Y=x.f,q=k.f,W=y.f,$=L.f,Q=S("symbols"),X=S("op-symbols"),J=S("string-to-symbol-registry"),Z=S("symbol-to-string-registry"),ee=S("wks"),te=r.QObject,ne=!te||!te.prototype||!te.prototype.findChild,oe=c&&d((function(){return 7!=v(q({},"a",{get:function(){return q(this,"a",{value:7}).a}})).a}))?function(e,t,n){var o=Y(G,t);o&&delete G[t],q(e,t,n),o&&e!==G&&q(G,t,o)}:q,re=function(e,t){var n=Q[e]=v(U.prototype);return z(n,{type:"Symbol",tag:e,description:t}),c||(n.description=t),n},ae=l&&"symbol"==typeof U.iterator?function(e){return"symbol"==typeof e}:function(e){return Object(e)instanceof U},ie=function(e,t,n){e===G&&ie(X,t,n),f(e);var o=g(t,!0);return f(n),s(Q,o)?(n.enumerable?(s(e,D)&&e[D][o]&&(e[D][o]=!1),n=v(n,{enumerable:b(0,!1)})):(s(e,D)||q(e,D,b(1,{})),e[D][o]=!0),oe(e,o,n)):q(e,o,n)},ce=function(e,t){f(e);var n=C(t),o=N(n).concat(pe(n));return F(o,(function(t){c&&!ue.call(n,t)||ie(e,t,n[t])})),e},le=function(e,t){return t===undefined?v(e):ce(v(e),t)},ue=function(e){var t=g(e,!0),n=$.call(this,t);return!(this===G&&s(Q,t)&&!s(X,t))&&(!(n||!s(this,t)||!s(Q,t)||s(this,D)&&this[D][t])||n)},de=function(e,t){var n=C(e),o=g(t,!0);if(n!==G||!s(Q,o)||s(X,o)){var r=Y(n,o);return!r||!s(Q,o)||s(n,D)&&n[D][o]||(r.enumerable=!0),r}},se=function(e){var t=W(C(e)),n=[];return F(t,(function(e){s(Q,e)||s(T,e)||n.push(e)})),n},pe=function(e){var t=e===G,n=W(t?X:C(e)),o=[];return F(n,(function(e){!s(Q,e)||t&&!s(G,e)||o.push(Q[e])})),o};(l||(B((U=function(){if(this instanceof U)throw TypeError("Symbol is not a constructor");var e=arguments.length&&arguments[0]!==undefined?String(arguments[0]):undefined,t=A(e),n=function o(e){this===G&&o.call(X,e),s(this,D)&&s(this[D],t)&&(this[D][t]=!1),oe(this,t,b(1,e))};return c&&ne&&oe(G,t,{configurable:!0,set:n}),re(t,e)}).prototype,"toString",(function(){return H(this).tag})),L.f=ue,k.f=ie,x.f=de,V.f=y.f=se,_.f=pe,c&&(q(U.prototype,"description",{configurable:!0,get:function(){return H(this).description}}),i||B(G,"propertyIsEnumerable",ue,{unsafe:!0}))),u||(E.f=function(e){return re(P(e),e)}),o({global:!0,wrap:!0,forced:!l,sham:!l},{Symbol:U}),F(N(ee),(function(e){M(e)})),o({target:"Symbol",stat:!0,forced:!l},{"for":function(e){var t=String(e);if(s(J,t))return J[t];var n=U(t);return J[t]=n,Z[n]=t,n},keyFor:function(e){if(!ae(e))throw TypeError(e+" is not a symbol");if(s(Z,e))return Z[e]},useSetter:function(){ne=!0},useSimple:function(){ne=!1}}),o({target:"Object",stat:!0,forced:!l,sham:!c},{create:le,defineProperty:ie,defineProperties:ce,getOwnPropertyDescriptor:de}),o({target:"Object",stat:!0,forced:!l},{getOwnPropertyNames:se,getOwnPropertySymbols:pe}),o({target:"Object",stat:!0,forced:d((function(){_.f(1)}))},{getOwnPropertySymbols:function(e){return _.f(h(e))}}),K)&&o({target:"JSON",stat:!0,forced:!l||d((function(){var e=U();return"[null]"!=K([e])||"{}"!=K({a:e})||"{}"!=K(Object(e))}))},{stringify:function(e,t,n){for(var o,r=[e],a=1;arguments.length>a;)r.push(arguments[a++]);if(o=t,(m(t)||e!==undefined)&&!ae(e))return p(t)||(t=function(e,t){if("function"==typeof o&&(t=o.call(this,e,t)),!ae(t))return t}),r[1]=t,K.apply(null,r)}});U.prototype[j]||w(U.prototype,j,U.prototype.valueOf),O(U,"Symbol"),T[D]=!0},function(e,t,n){"use strict";var o=n(0),r=n(9),a=n(5),i=n(15),c=n(6),l=n(13).f,u=n(122),d=a.Symbol;if(r&&"function"==typeof d&&(!("description"in d.prototype)||d().description!==undefined)){var s={},p=function(){var e=arguments.length<1||arguments[0]===undefined?undefined:String(arguments[0]),t=this instanceof p?new d(e):e===undefined?d():d(e);return""===e&&(s[t]=!0),t};u(p,d);var m=p.prototype=d.prototype;m.constructor=p;var f=m.toString,h="Symbol(test)"==String(d("test")),C=/^Symbol\((.*)\)[^)]+$/;l(m,"description",{configurable:!0,get:function(){var e=c(this)?this.valueOf():this,t=f.call(e);if(i(s,e))return"";var n=h?t.slice(7,-1):t.replace(C,"$1");return""===n?undefined:n}}),o({global:!0,forced:!0},{Symbol:p})}},function(e,t,n){"use strict";n(27)("asyncIterator")},function(e,t,n){"use strict";n(27)("hasInstance")},function(e,t,n){"use strict";n(27)("isConcatSpreadable")},function(e,t,n){"use strict";n(27)("iterator")},function(e,t,n){"use strict";n(27)("match")},function(e,t,n){"use strict";n(27)("replace")},function(e,t,n){"use strict";n(27)("search")},function(e,t,n){"use strict";n(27)("species")},function(e,t,n){"use strict";n(27)("split")},function(e,t,n){"use strict";n(27)("toPrimitive")},function(e,t,n){"use strict";n(27)("toStringTag")},function(e,t,n){"use strict";n(27)("unscopables")},function(e,t,n){"use strict";var o=n(0),r=n(4),a=n(52),i=n(6),c=n(14),l=n(10),u=n(49),d=n(63),s=n(64),p=n(11),m=n(96),f=p("isConcatSpreadable"),h=9007199254740991,C="Maximum allowed index exceeded",g=m>=51||!r((function(){var e=[];return e[f]=!1,e.concat()[0]!==e})),b=s("concat"),v=function(e){if(!i(e))return!1;var t=e[f];return t!==undefined?!!t:a(e)};o({target:"Array",proto:!0,forced:!g||!b},{concat:function(e){var t,n,o,r,a,i=c(this),s=d(i,0),p=0;for(t=-1,o=arguments.length;th)throw TypeError(C);for(n=0;n=h)throw TypeError(C);u(s,p++,a)}return s.length=p,s}})},function(e,t,n){"use strict";var o=n(0),r=n(130),a=n(44);o({target:"Array",proto:!0},{copyWithin:r}),a("copyWithin")},function(e,t,n){"use strict";var o=n(0),r=n(17).every;o({target:"Array",proto:!0,forced:n(39)("every")},{every:function(e){return r(this,e,arguments.length>1?arguments[1]:undefined)}})},function(e,t,n){"use strict";var o=n(0),r=n(97),a=n(44);o({target:"Array",proto:!0},{fill:r}),a("fill")},function(e,t,n){"use strict";var o=n(0),r=n(17).filter,a=n(4),i=n(64)("filter"),c=i&&!a((function(){[].filter.call({length:-1,0:1},(function(e){throw e}))}));o({target:"Array",proto:!0,forced:!i||!c},{filter:function(e){return r(this,e,arguments.length>1?arguments[1]:undefined)}})},function(e,t,n){"use strict";var o=n(0),r=n(17).find,a=n(44),i=!0;"find"in[]&&Array(1).find((function(){i=!1})),o({target:"Array",proto:!0,forced:i},{find:function(e){return r(this,e,arguments.length>1?arguments[1]:undefined)}}),a("find")},function(e,t,n){"use strict";var o=n(0),r=n(17).findIndex,a=n(44),i=!0;"findIndex"in[]&&Array(1).findIndex((function(){i=!1})),o({target:"Array",proto:!0,forced:i},{findIndex:function(e){return r(this,e,arguments.length>1?arguments[1]:undefined)}}),a("findIndex")},function(e,t,n){"use strict";var o=n(0),r=n(131),a=n(14),i=n(10),c=n(30),l=n(63);o({target:"Array",proto:!0},{flat:function(){var e=arguments.length?arguments[0]:undefined,t=a(this),n=i(t.length),o=l(t,0);return o.length=r(o,t,t,n,0,e===undefined?1:c(e)),o}})},function(e,t,n){"use strict";var o=n(0),r=n(131),a=n(14),i=n(10),c=n(31),l=n(63);o({target:"Array",proto:!0},{flatMap:function(e){var t,n=a(this),o=i(n.length);return c(e),(t=l(n,0)).length=r(t,n,n,o,0,1,e,arguments.length>1?arguments[1]:undefined),t}})},function(e,t,n){"use strict";var o=n(0),r=n(197);o({target:"Array",proto:!0,forced:[].forEach!=r},{forEach:r})},function(e,t,n){"use strict";var o=n(17).forEach,r=n(39);e.exports=r("forEach")?function(e){return o(this,e,arguments.length>1?arguments[1]:undefined)}:[].forEach},function(e,t,n){"use strict";var o=n(0),r=n(199);o({target:"Array",stat:!0,forced:!n(75)((function(e){Array.from(e)}))},{from:r})},function(e,t,n){"use strict";var o=n(48),r=n(14),a=n(132),i=n(98),c=n(10),l=n(49),u=n(99);e.exports=function(e){var t,n,d,s,p,m=r(e),f="function"==typeof this?this:Array,h=arguments.length,C=h>1?arguments[1]:undefined,g=C!==undefined,b=0,v=u(m);if(g&&(C=o(C,h>2?arguments[2]:undefined,2)),v==undefined||f==Array&&i(v))for(n=new f(t=c(m.length));t>b;b++)l(n,b,g?C(m[b],b):m[b]);else for(p=(s=v.call(m)).next,n=new f;!(d=p.call(s)).done;b++)l(n,b,g?a(s,C,[d.value,b],!0):d.value);return n.length=b,n}},function(e,t,n){"use strict";var o=n(0),r=n(60).includes,a=n(44);o({target:"Array",proto:!0},{includes:function(e){return r(this,e,arguments.length>1?arguments[1]:undefined)}}),a("includes")},function(e,t,n){"use strict";var o=n(0),r=n(60).indexOf,a=n(39),i=[].indexOf,c=!!i&&1/[1].indexOf(1,-0)<0,l=a("indexOf");o({target:"Array",proto:!0,forced:c||l},{indexOf:function(e){return c?i.apply(this,arguments)||0:r(this,e,arguments.length>1?arguments[1]:undefined)}})},function(e,t,n){"use strict";n(0)({target:"Array",stat:!0},{isArray:n(52)})},function(e,t,n){"use strict";var o=n(134).IteratorPrototype,r=n(42),a=n(46),i=n(43),c=n(65),l=function(){return this};e.exports=function(e,t,n){var u=t+" Iterator";return e.prototype=r(o,{next:a(1,n)}),i(e,u,!1,!0),c[u]=l,e}},function(e,t,n){"use strict";var o=n(0),r=n(57),a=n(25),i=n(39),c=[].join,l=r!=Object,u=i("join",",");o({target:"Array",proto:!0,forced:l||u},{join:function(e){return c.call(a(this),e===undefined?",":e)}})},function(e,t,n){"use strict";var o=n(0),r=n(136);o({target:"Array",proto:!0,forced:r!==[].lastIndexOf},{lastIndexOf:r})},function(e,t,n){"use strict";var o=n(0),r=n(17).map,a=n(4),i=n(64)("map"),c=i&&!a((function(){[].map.call({length:-1,0:1},(function(e){throw e}))}));o({target:"Array",proto:!0,forced:!i||!c},{map:function(e){return r(this,e,arguments.length>1?arguments[1]:undefined)}})},function(e,t,n){"use strict";var o=n(0),r=n(4),a=n(49);o({target:"Array",stat:!0,forced:r((function(){function e(){}return!(Array.of.call(e)instanceof e)}))},{of:function(){for(var e=0,t=arguments.length,n=new("function"==typeof this?this:Array)(t);t>e;)a(n,e,arguments[e++]);return n.length=t,n}})},function(e,t,n){"use strict";var o=n(0),r=n(76).left;o({target:"Array",proto:!0,forced:n(39)("reduce")},{reduce:function(e){return r(this,e,arguments.length,arguments.length>1?arguments[1]:undefined)}})},function(e,t,n){"use strict";var o=n(0),r=n(76).right;o({target:"Array",proto:!0,forced:n(39)("reduceRight")},{reduceRight:function(e){return r(this,e,arguments.length,arguments.length>1?arguments[1]:undefined)}})},function(e,t,n){"use strict";var o=n(0),r=n(6),a=n(52),i=n(41),c=n(10),l=n(25),u=n(49),d=n(64),s=n(11)("species"),p=[].slice,m=Math.max;o({target:"Array",proto:!0,forced:!d("slice")},{slice:function(e,t){var n,o,d,f=l(this),h=c(f.length),C=i(e,h),g=i(t===undefined?h:t,h);if(a(f)&&("function"!=typeof(n=f.constructor)||n!==Array&&!a(n.prototype)?r(n)&&null===(n=n[s])&&(n=undefined):n=undefined,n===Array||n===undefined))return p.call(f,C,g);for(o=new(n===undefined?Array:n)(m(g-C,0)),d=0;C1?arguments[1]:undefined)}})},function(e,t,n){"use strict";var o=n(0),r=n(31),a=n(14),i=n(4),c=n(39),l=[],u=l.sort,d=i((function(){l.sort(undefined)})),s=i((function(){l.sort(null)})),p=c("sort");o({target:"Array",proto:!0,forced:d||!s||p},{sort:function(e){return e===undefined?u.call(a(this)):u.call(a(this),r(e))}})},function(e,t,n){"use strict";n(54)("Array")},function(e,t,n){"use strict";var o=n(0),r=n(41),a=n(30),i=n(10),c=n(14),l=n(63),u=n(49),d=n(64),s=Math.max,p=Math.min,m=9007199254740991,f="Maximum allowed length exceeded";o({target:"Array",proto:!0,forced:!d("splice")},{splice:function(e,t){var n,o,d,h,C,g,b=c(this),v=i(b.length),N=r(e,v),V=arguments.length;if(0===V?n=o=0:1===V?(n=0,o=v-N):(n=V-2,o=p(s(a(t),0),v-N)),v+n-o>m)throw TypeError(f);for(d=l(b,o),h=0;hv-o+n;h--)delete b[h-1]}else if(n>o)for(h=v-o;h>N;h--)g=h+n-1,(C=h+o-1)in b?b[g]=b[C]:delete b[g];for(h=0;h>1,h=23===t?r(2,-24)-r(2,-77):0,C=e<0||0===e&&1/e<0?1:0,g=0;for((e=o(e))!=e||e===1/0?(u=e!=e?1:0,l=m):(l=a(i(e)/c),e*(d=r(2,-l))<1&&(l--,d*=2),(e+=l+f>=1?h/d:h*r(2,1-f))*d>=2&&(l++,d/=2),l+f>=m?(u=0,l=m):l+f>=1?(u=(e*d-1)*r(2,t),l+=f):(u=e*r(2,f-1)*r(2,t),l=0));t>=8;s[g++]=255&u,u/=256,t-=8);for(l=l<0;s[g++]=255&l,l/=256,p-=8);return s[--g]|=128*C,s},unpack:function(e,t){var n,o=e.length,a=8*o-t-1,i=(1<>1,l=a-7,u=o-1,d=e[u--],s=127&d;for(d>>=7;l>0;s=256*s+e[u],u--,l-=8);for(n=s&(1<<-l)-1,s>>=-l,l+=t;l>0;n=256*n+e[u],u--,l-=8);if(0===s)s=1-c;else{if(s===i)return n?NaN:d?-1/0:1/0;n+=r(2,t),s-=c}return(d?-1:1)*n*r(2,s-t)}}},function(e,t,n){"use strict";var o=n(0),r=n(7);o({target:"ArrayBuffer",stat:!0,forced:!r.NATIVE_ARRAY_BUFFER_VIEWS},{isView:r.isView})},function(e,t,n){"use strict";var o=n(0),r=n(4),a=n(77),i=n(8),c=n(41),l=n(10),u=n(45),d=a.ArrayBuffer,s=a.DataView,p=d.prototype.slice;o({target:"ArrayBuffer",proto:!0,unsafe:!0,forced:r((function(){return!new d(2).slice(1,undefined).byteLength}))},{slice:function(e,t){if(p!==undefined&&t===undefined)return p.call(i(this),e);for(var n=i(this).byteLength,o=c(e,n),r=c(t===undefined?n:t,n),a=new(u(this,d))(l(r-o)),m=new s(this),f=new s(a),h=0;o9999?"+":"";return n+r(a(e),n?6:4,0)+"-"+r(this.getUTCMonth()+1,2,0)+"-"+r(this.getUTCDate(),2,0)+"T"+r(this.getUTCHours(),2,0)+":"+r(this.getUTCMinutes(),2,0)+":"+r(this.getUTCSeconds(),2,0)+"."+r(t,3,0)+"Z"}:l},function(e,t,n){"use strict";var o=n(0),r=n(4),a=n(14),i=n(33);o({target:"Date",proto:!0,forced:r((function(){return null!==new Date(NaN).toJSON()||1!==Date.prototype.toJSON.call({toISOString:function(){return 1}})}))},{toJSON:function(e){var t=a(this),n=i(t);return"number"!=typeof n||isFinite(n)?t.toISOString():null}})},function(e,t,n){"use strict";var o=n(26),r=n(227),a=n(11)("toPrimitive"),i=Date.prototype;a in i||o(i,a,r)},function(e,t,n){"use strict";var o=n(8),r=n(33);e.exports=function(e){if("string"!==e&&"number"!==e&&"default"!==e)throw TypeError("Incorrect hint");return r(o(this),"number"!==e)}},function(e,t,n){"use strict";var o=n(22),r=Date.prototype,a="Invalid Date",i=r.toString,c=r.getTime;new Date(NaN)+""!=a&&o(r,"toString",(function(){var e=c.call(this);return e==e?i.call(this):a}))},function(e,t,n){"use strict";n(0)({target:"Function",proto:!0},{bind:n(138)})},function(e,t,n){"use strict";var o=n(6),r=n(13),a=n(36),i=n(11)("hasInstance"),c=Function.prototype;i in c||r.f(c,i,{value:function(e){if("function"!=typeof this||!o(e))return!1;if(!o(this.prototype))return e instanceof this;for(;e=a(e);)if(this.prototype===e)return!0;return!1}})},function(e,t,n){"use strict";var o=n(9),r=n(13).f,a=Function.prototype,i=a.toString,c=/^\s*function ([^ (]*)/;!o||"name"in a||r(a,"name",{configurable:!0,get:function(){try{return i.call(this).match(c)[1]}catch(e){return""}}})},function(e,t,n){"use strict";var o=n(5);n(43)(o.JSON,"JSON",!0)},function(e,t,n){"use strict";var o=n(78),r=n(139);e.exports=o("Map",(function(e){return function(){return e(this,arguments.length?arguments[0]:undefined)}}),r)},function(e,t,n){"use strict";var o=n(0),r=n(140),a=Math.acosh,i=Math.log,c=Math.sqrt,l=Math.LN2;o({target:"Math",stat:!0,forced:!a||710!=Math.floor(a(Number.MAX_VALUE))||a(Infinity)!=Infinity},{acosh:function(e){return(e=+e)<1?NaN:e>94906265.62425156?i(e)+l:r(e-1+c(e-1)*c(e+1))}})},function(e,t,n){"use strict";var o=n(0),r=Math.asinh,a=Math.log,i=Math.sqrt;o({target:"Math",stat:!0,forced:!(r&&1/r(0)>0)},{asinh:function c(e){return isFinite(e=+e)&&0!=e?e<0?-c(-e):a(e+i(e*e+1)):e}})},function(e,t,n){"use strict";var o=n(0),r=Math.atanh,a=Math.log;o({target:"Math",stat:!0,forced:!(r&&1/r(-0)<0)},{atanh:function(e){return 0==(e=+e)?e:a((1+e)/(1-e))/2}})},function(e,t,n){"use strict";var o=n(0),r=n(105),a=Math.abs,i=Math.pow;o({target:"Math",stat:!0},{cbrt:function(e){return r(e=+e)*i(a(e),1/3)}})},function(e,t,n){"use strict";var o=n(0),r=Math.floor,a=Math.log,i=Math.LOG2E;o({target:"Math",stat:!0},{clz32:function(e){return(e>>>=0)?31-r(a(e+.5)*i):32}})},function(e,t,n){"use strict";var o=n(0),r=n(80),a=Math.cosh,i=Math.abs,c=Math.E;o({target:"Math",stat:!0,forced:!a||a(710)===Infinity},{cosh:function(e){var t=r(i(e)-1)+1;return(t+1/(t*c*c))*(c/2)}})},function(e,t,n){"use strict";var o=n(0),r=n(80);o({target:"Math",stat:!0,forced:r!=Math.expm1},{expm1:r})},function(e,t,n){"use strict";n(0)({target:"Math",stat:!0},{fround:n(242)})},function(e,t,n){"use strict";var o=n(105),r=Math.abs,a=Math.pow,i=a(2,-52),c=a(2,-23),l=a(2,127)*(2-c),u=a(2,-126),d=function(e){return e+1/i-1/i};e.exports=Math.fround||function(e){var t,n,a=r(e),s=o(e);return al||n!=n?s*Infinity:s*n}},function(e,t,n){"use strict";var o=n(0),r=Math.hypot,a=Math.abs,i=Math.sqrt;o({target:"Math",stat:!0,forced:!!r&&r(Infinity,NaN)!==Infinity},{hypot:function(e,t){for(var n,o,r=0,c=0,l=arguments.length,u=0;c0?(o=n/u)*o:n;return u===Infinity?Infinity:u*i(r)}})},function(e,t,n){"use strict";var o=n(0),r=n(4),a=Math.imul;o({target:"Math",stat:!0,forced:r((function(){return-5!=a(4294967295,5)||2!=a.length}))},{imul:function(e,t){var n=+e,o=+t,r=65535&n,a=65535&o;return 0|r*a+((65535&n>>>16)*a+r*(65535&o>>>16)<<16>>>0)}})},function(e,t,n){"use strict";var o=n(0),r=Math.log,a=Math.LOG10E;o({target:"Math",stat:!0},{log10:function(e){return r(e)*a}})},function(e,t,n){"use strict";n(0)({target:"Math",stat:!0},{log1p:n(140)})},function(e,t,n){"use strict";var o=n(0),r=Math.log,a=Math.LN2;o({target:"Math",stat:!0},{log2:function(e){return r(e)/a}})},function(e,t,n){"use strict";n(0)({target:"Math",stat:!0},{sign:n(105)})},function(e,t,n){"use strict";var o=n(0),r=n(4),a=n(80),i=Math.abs,c=Math.exp,l=Math.E;o({target:"Math",stat:!0,forced:r((function(){return-2e-17!=Math.sinh(-2e-17)}))},{sinh:function(e){return i(e=+e)<1?(a(e)-a(-e))/2:(c(e-1)-c(-e-1))*(l/2)}})},function(e,t,n){"use strict";var o=n(0),r=n(80),a=Math.exp;o({target:"Math",stat:!0},{tanh:function(e){var t=r(e=+e),n=r(-e);return t==Infinity?1:n==Infinity?-1:(t-n)/(a(e)+a(-e))}})},function(e,t,n){"use strict";n(43)(Math,"Math",!0)},function(e,t,n){"use strict";var o=n(0),r=Math.ceil,a=Math.floor;o({target:"Math",stat:!0},{trunc:function(e){return(e>0?a:r)(e)}})},function(e,t,n){"use strict";var o=n(9),r=n(5),a=n(61),i=n(22),c=n(15),l=n(32),u=n(79),d=n(33),s=n(4),p=n(42),m=n(47).f,f=n(20).f,h=n(13).f,C=n(56).trim,g="Number",b=r[g],v=b.prototype,N=l(p(v))==g,V=function(e){var t,n,o,r,a,i,c,l,u=d(e,!1);if("string"==typeof u&&u.length>2)if(43===(t=(u=C(u)).charCodeAt(0))||45===t){if(88===(n=u.charCodeAt(2))||120===n)return NaN}else if(48===t){switch(u.charCodeAt(1)){case 66:case 98:o=2,r=49;break;case 79:case 111:o=8,r=55;break;default:return+u}for(i=(a=u.slice(2)).length,c=0;cr)return NaN;return parseInt(a,o)}return+u};if(a(g,!b(" 0o1")||!b("0b1")||b("+0x1"))){for(var y,_=function(e){var t=arguments.length<1?0:e,n=this;return n instanceof _&&(N?s((function(){v.valueOf.call(n)})):l(n)!=g)?u(new b(V(t)),n,_):V(t)},x=o?m(b):"MAX_VALUE,MIN_VALUE,NaN,NEGATIVE_INFINITY,POSITIVE_INFINITY,EPSILON,isFinite,isInteger,isNaN,isSafeInteger,MAX_SAFE_INTEGER,MIN_SAFE_INTEGER,parseFloat,parseInt,isInteger".split(","),k=0;x.length>k;k++)c(b,y=x[k])&&!c(_,y)&&h(_,y,f(b,y));_.prototype=v,v.constructor=_,i(r,g,_)}},function(e,t,n){"use strict";n(0)({target:"Number",stat:!0},{EPSILON:Math.pow(2,-52)})},function(e,t,n){"use strict";n(0)({target:"Number",stat:!0},{isFinite:n(256)})},function(e,t,n){"use strict";var o=n(5).isFinite;e.exports=Number.isFinite||function(e){return"number"==typeof e&&o(e)}},function(e,t,n){"use strict";n(0)({target:"Number",stat:!0},{isInteger:n(141)})},function(e,t,n){"use strict";n(0)({target:"Number",stat:!0},{isNaN:function(e){return e!=e}})},function(e,t,n){"use strict";var o=n(0),r=n(141),a=Math.abs;o({target:"Number",stat:!0},{isSafeInteger:function(e){return r(e)&&a(e)<=9007199254740991}})},function(e,t,n){"use strict";n(0)({target:"Number",stat:!0},{MAX_SAFE_INTEGER:9007199254740991})},function(e,t,n){"use strict";n(0)({target:"Number",stat:!0},{MIN_SAFE_INTEGER:-9007199254740991})},function(e,t,n){"use strict";var o=n(0),r=n(263);o({target:"Number",stat:!0,forced:Number.parseFloat!=r},{parseFloat:r})},function(e,t,n){"use strict";var o=n(5),r=n(56).trim,a=n(81),i=o.parseFloat,c=1/i(a+"-0")!=-Infinity;e.exports=c?function(e){var t=r(String(e)),n=i(t);return 0===n&&"-"==t.charAt(0)?-0:n}:i},function(e,t,n){"use strict";var o=n(0),r=n(142);o({target:"Number",stat:!0,forced:Number.parseInt!=r},{parseInt:r})},function(e,t,n){"use strict";var o=n(0),r=n(30),a=n(266),i=n(104),c=n(4),l=1..toFixed,u=Math.floor,d=function p(e,t,n){return 0===t?n:t%2==1?p(e,t-1,n*e):p(e*e,t/2,n)},s=function(e){for(var t=0,n=e;n>=4096;)t+=12,n/=4096;for(;n>=2;)t+=1,n/=2;return t};o({target:"Number",proto:!0,forced:l&&("0.000"!==8e-5.toFixed(3)||"1"!==.9.toFixed(0)||"1.25"!==1.255.toFixed(2)||"1000000000000000128"!==(0xde0b6b3a7640080).toFixed(0))||!c((function(){l.call({})}))},{toFixed:function(e){var t,n,o,c,l=a(this),p=r(e),m=[0,0,0,0,0,0],f="",h="0",C=function(e,t){for(var n=-1,o=t;++n<6;)o+=e*m[n],m[n]=o%1e7,o=u(o/1e7)},g=function(e){for(var t=6,n=0;--t>=0;)n+=m[t],m[t]=u(n/e),n=n%e*1e7},b=function(){for(var e=6,t="";--e>=0;)if(""!==t||0===e||0!==m[e]){var n=String(m[e]);t=""===t?n:t+i.call("0",7-n.length)+n}return t};if(p<0||p>20)throw RangeError("Incorrect fraction digits");if(l!=l)return"NaN";if(l<=-1e21||l>=1e21)return String(l);if(l<0&&(f="-",l=-l),l>1e-21)if(n=(t=s(l*d(2,69,1))-69)<0?l*d(2,-t,1):l/d(2,t,1),n*=4503599627370496,(t=52-t)>0){for(C(0,n),o=p;o>=7;)C(1e7,0),o-=7;for(C(d(10,o,1),0),o=t-1;o>=23;)g(1<<23),o-=23;g(1<0?f+((c=h.length)<=p?"0."+i.call("0",p-c)+h:h.slice(0,c-p)+"."+h.slice(c-p)):f+h}})},function(e,t,n){"use strict";var o=n(32);e.exports=function(e){if("number"!=typeof e&&"Number"!=o(e))throw TypeError("Incorrect invocation");return+e}},function(e,t,n){"use strict";var o=n(0),r=n(268);o({target:"Object",stat:!0,forced:Object.assign!==r},{assign:r})},function(e,t,n){"use strict";var o=n(9),r=n(4),a=n(62),i=n(94),c=n(71),l=n(14),u=n(57),d=Object.assign,s=Object.defineProperty;e.exports=!d||r((function(){if(o&&1!==d({b:1},d(s({},"a",{enumerable:!0,get:function(){s(this,"b",{value:3,enumerable:!1})}}),{b:2})).b)return!0;var e={},t={},n=Symbol();return e[n]=7,"abcdefghijklmnopqrst".split("").forEach((function(e){t[e]=e})),7!=d({},e)[n]||"abcdefghijklmnopqrst"!=a(d({},t)).join("")}))?function(e,t){for(var n=l(e),r=arguments.length,d=1,s=i.f,p=c.f;r>d;)for(var m,f=u(arguments[d++]),h=s?a(f).concat(s(f)):a(f),C=h.length,g=0;C>g;)m=h[g++],o&&!p.call(f,m)||(n[m]=f[m]);return n}:d},function(e,t,n){"use strict";n(0)({target:"Object",stat:!0,sham:!n(9)},{create:n(42)})},function(e,t,n){"use strict";var o=n(0),r=n(9),a=n(82),i=n(14),c=n(31),l=n(13);r&&o({target:"Object",proto:!0,forced:a},{__defineGetter__:function(e,t){l.f(i(this),e,{get:c(t),enumerable:!0,configurable:!0})}})},function(e,t,n){"use strict";var o=n(0),r=n(9);o({target:"Object",stat:!0,forced:!r,sham:!r},{defineProperties:n(126)})},function(e,t,n){"use strict";var o=n(0),r=n(9);o({target:"Object",stat:!0,forced:!r,sham:!r},{defineProperty:n(13).f})},function(e,t,n){"use strict";var o=n(0),r=n(9),a=n(82),i=n(14),c=n(31),l=n(13);r&&o({target:"Object",proto:!0,forced:a},{__defineSetter__:function(e,t){l.f(i(this),e,{set:c(t),enumerable:!0,configurable:!0})}})},function(e,t,n){"use strict";var o=n(0),r=n(143).entries;o({target:"Object",stat:!0},{entries:function(e){return r(e)}})},function(e,t,n){"use strict";var o=n(0),r=n(67),a=n(4),i=n(6),c=n(50).onFreeze,l=Object.freeze;o({target:"Object",stat:!0,forced:a((function(){l(1)})),sham:!r},{freeze:function(e){return l&&i(e)?l(c(e)):e}})},function(e,t,n){"use strict";var o=n(0),r=n(68),a=n(49);o({target:"Object",stat:!0},{fromEntries:function(e){var t={};return r(e,(function(e,n){a(t,e,n)}),undefined,!0),t}})},function(e,t,n){"use strict";var o=n(0),r=n(4),a=n(25),i=n(20).f,c=n(9),l=r((function(){i(1)}));o({target:"Object",stat:!0,forced:!c||l,sham:!c},{getOwnPropertyDescriptor:function(e,t){return i(a(e),t)}})},function(e,t,n){"use strict";var o=n(0),r=n(9),a=n(92),i=n(25),c=n(20),l=n(49);o({target:"Object",stat:!0,sham:!r},{getOwnPropertyDescriptors:function(e){for(var t,n,o=i(e),r=c.f,u=a(o),d={},s=0;u.length>s;)(n=r(o,t=u[s++]))!==undefined&&l(d,t,n);return d}})},function(e,t,n){"use strict";var o=n(0),r=n(4),a=n(128).f;o({target:"Object",stat:!0,forced:r((function(){return!Object.getOwnPropertyNames(1)}))},{getOwnPropertyNames:a})},function(e,t,n){"use strict";var o=n(0),r=n(4),a=n(14),i=n(36),c=n(102);o({target:"Object",stat:!0,forced:r((function(){i(1)})),sham:!c},{getPrototypeOf:function(e){return i(a(e))}})},function(e,t,n){"use strict";n(0)({target:"Object",stat:!0},{is:n(144)})},function(e,t,n){"use strict";var o=n(0),r=n(4),a=n(6),i=Object.isExtensible;o({target:"Object",stat:!0,forced:r((function(){i(1)}))},{isExtensible:function(e){return!!a(e)&&(!i||i(e))}})},function(e,t,n){"use strict";var o=n(0),r=n(4),a=n(6),i=Object.isFrozen;o({target:"Object",stat:!0,forced:r((function(){i(1)}))},{isFrozen:function(e){return!a(e)||!!i&&i(e)}})},function(e,t,n){"use strict";var o=n(0),r=n(4),a=n(6),i=Object.isSealed;o({target:"Object",stat:!0,forced:r((function(){i(1)}))},{isSealed:function(e){return!a(e)||!!i&&i(e)}})},function(e,t,n){"use strict";var o=n(0),r=n(14),a=n(62);o({target:"Object",stat:!0,forced:n(4)((function(){a(1)}))},{keys:function(e){return a(r(e))}})},function(e,t,n){"use strict";var o=n(0),r=n(9),a=n(82),i=n(14),c=n(33),l=n(36),u=n(20).f;r&&o({target:"Object",proto:!0,forced:a},{__lookupGetter__:function(e){var t,n=i(this),o=c(e,!0);do{if(t=u(n,o))return t.get}while(n=l(n))}})},function(e,t,n){"use strict";var o=n(0),r=n(9),a=n(82),i=n(14),c=n(33),l=n(36),u=n(20).f;r&&o({target:"Object",proto:!0,forced:a},{__lookupSetter__:function(e){var t,n=i(this),o=c(e,!0);do{if(t=u(n,o))return t.set}while(n=l(n))}})},function(e,t,n){"use strict";var o=n(0),r=n(6),a=n(50).onFreeze,i=n(67),c=n(4),l=Object.preventExtensions;o({target:"Object",stat:!0,forced:c((function(){l(1)})),sham:!i},{preventExtensions:function(e){return l&&r(e)?l(a(e)):e}})},function(e,t,n){"use strict";var o=n(0),r=n(6),a=n(50).onFreeze,i=n(67),c=n(4),l=Object.seal;o({target:"Object",stat:!0,forced:c((function(){l(1)})),sham:!i},{seal:function(e){return l&&r(e)?l(a(e)):e}})},function(e,t,n){"use strict";n(0)({target:"Object",stat:!0},{setPrototypeOf:n(53)})},function(e,t,n){"use strict";var o=n(100),r=n(22),a=n(292);o||r(Object.prototype,"toString",a,{unsafe:!0})},function(e,t,n){"use strict";var o=n(100),r=n(74);e.exports=o?{}.toString:function(){return"[object "+r(this)+"]"}},function(e,t,n){"use strict";var o=n(0),r=n(143).values;o({target:"Object",stat:!0},{values:function(e){return r(e)}})},function(e,t,n){"use strict";var o=n(0),r=n(142);o({global:!0,forced:parseInt!=r},{parseInt:r})},function(e,t,n){"use strict";var o,r,a,i,c=n(0),l=n(38),u=n(5),d=n(35),s=n(145),p=n(22),m=n(66),f=n(43),h=n(54),C=n(6),g=n(31),b=n(55),v=n(32),N=n(90),V=n(68),y=n(75),_=n(45),x=n(106).set,k=n(147),L=n(148),w=n(296),B=n(149),S=n(297),I=n(34),T=n(61),A=n(11),P=n(96),E=A("species"),M="Promise",O=I.get,R=I.set,F=I.getterFor(M),D=s,j=u.TypeError,z=u.document,H=u.process,G=d("fetch"),U=B.f,K=U,Y="process"==v(H),q=!!(z&&z.createEvent&&u.dispatchEvent),W=0,$=T(M,(function(){if(!(N(D)!==String(D))){if(66===P)return!0;if(!Y&&"function"!=typeof PromiseRejectionEvent)return!0}if(l&&!D.prototype["finally"])return!0;if(P>=51&&/native code/.test(D))return!1;var e=D.resolve(1),t=function(e){e((function(){}),(function(){}))};return(e.constructor={})[E]=t,!(e.then((function(){}))instanceof t)})),Q=$||!y((function(e){D.all(e)["catch"]((function(){}))})),X=function(e){var t;return!(!C(e)||"function"!=typeof(t=e.then))&&t},J=function(e,t,n){if(!t.notified){t.notified=!0;var o=t.reactions;k((function(){for(var r=t.value,a=1==t.state,i=0;o.length>i;){var c,l,u,d=o[i++],s=a?d.ok:d.fail,p=d.resolve,m=d.reject,f=d.domain;try{s?(a||(2===t.rejection&&ne(e,t),t.rejection=1),!0===s?c=r:(f&&f.enter(),c=s(r),f&&(f.exit(),u=!0)),c===d.promise?m(j("Promise-chain cycle")):(l=X(c))?l.call(c,p,m):p(c)):m(r)}catch(h){f&&!u&&f.exit(),m(h)}}t.reactions=[],t.notified=!1,n&&!t.rejection&&ee(e,t)}))}},Z=function(e,t,n){var o,r;q?((o=z.createEvent("Event")).promise=t,o.reason=n,o.initEvent(e,!1,!0),u.dispatchEvent(o)):o={promise:t,reason:n},(r=u["on"+e])?r(o):"unhandledrejection"===e&&w("Unhandled promise rejection",n)},ee=function(e,t){x.call(u,(function(){var n,o=t.value;if(te(t)&&(n=S((function(){Y?H.emit("unhandledRejection",o,e):Z("unhandledrejection",e,o)})),t.rejection=Y||te(t)?2:1,n.error))throw n.value}))},te=function(e){return 1!==e.rejection&&!e.parent},ne=function(e,t){x.call(u,(function(){Y?H.emit("rejectionHandled",e):Z("rejectionhandled",e,t.value)}))},oe=function(e,t,n,o){return function(r){e(t,n,r,o)}},re=function(e,t,n,o){t.done||(t.done=!0,o&&(t=o),t.value=n,t.state=2,J(e,t,!0))},ae=function ie(e,t,n,o){if(!t.done){t.done=!0,o&&(t=o);try{if(e===n)throw j("Promise can't be resolved itself");var r=X(n);r?k((function(){var o={done:!1};try{r.call(n,oe(ie,e,o,t),oe(re,e,o,t))}catch(a){re(e,o,a,t)}})):(t.value=n,t.state=1,J(e,t,!1))}catch(a){re(e,{done:!1},a,t)}}};$&&(D=function(e){b(this,D,M),g(e),o.call(this);var t=O(this);try{e(oe(ae,this,t),oe(re,this,t))}catch(n){re(this,t,n)}},(o=function(e){R(this,{type:M,done:!1,notified:!1,parent:!1,reactions:[],rejection:!1,state:W,value:undefined})}).prototype=m(D.prototype,{then:function(e,t){var n=F(this),o=U(_(this,D));return o.ok="function"!=typeof e||e,o.fail="function"==typeof t&&t,o.domain=Y?H.domain:undefined,n.parent=!0,n.reactions.push(o),n.state!=W&&J(this,n,!1),o.promise},"catch":function(e){return this.then(undefined,e)}}),r=function(){var e=new o,t=O(e);this.promise=e,this.resolve=oe(ae,e,t),this.reject=oe(re,e,t)},B.f=U=function(e){return e===D||e===a?new r(e):K(e)},l||"function"!=typeof s||(i=s.prototype.then,p(s.prototype,"then",(function(e,t){var n=this;return new D((function(e,t){i.call(n,e,t)})).then(e,t)}),{unsafe:!0}),"function"==typeof G&&c({global:!0,enumerable:!0,forced:!0},{fetch:function(e){return L(D,G.apply(u,arguments))}}))),c({global:!0,wrap:!0,forced:$},{Promise:D}),f(D,M,!1,!0),h(M),a=d(M),c({target:M,stat:!0,forced:$},{reject:function(e){var t=U(this);return t.reject.call(undefined,e),t.promise}}),c({target:M,stat:!0,forced:l||$},{resolve:function(e){return L(l&&this===a?D:this,e)}}),c({target:M,stat:!0,forced:Q},{all:function(e){var t=this,n=U(t),o=n.resolve,r=n.reject,a=S((function(){var n=g(t.resolve),a=[],i=0,c=1;V(e,(function(e){var l=i++,u=!1;a.push(undefined),c++,n.call(t,e).then((function(e){u||(u=!0,a[l]=e,--c||o(a))}),r)})),--c||o(a)}));return a.error&&r(a.value),n.promise},race:function(e){var t=this,n=U(t),o=n.reject,r=S((function(){var r=g(t.resolve);V(e,(function(e){r.call(t,e).then(n.resolve,o)}))}));return r.error&&o(r.value),n.promise}})},function(e,t,n){"use strict";var o=n(5);e.exports=function(e,t){var n=o.console;n&&n.error&&(1===arguments.length?n.error(e):n.error(e,t))}},function(e,t,n){"use strict";e.exports=function(e){try{return{error:!1,value:e()}}catch(t){return{error:!0,value:t}}}},function(e,t,n){"use strict";var o=n(0),r=n(38),a=n(145),i=n(4),c=n(35),l=n(45),u=n(148),d=n(22);o({target:"Promise",proto:!0,real:!0,forced:!!a&&i((function(){a.prototype["finally"].call({then:function(){}},(function(){}))}))},{"finally":function(e){var t=l(this,c("Promise")),n="function"==typeof e;return this.then(n?function(n){return u(t,e()).then((function(){return n}))}:e,n?function(n){return u(t,e()).then((function(){throw n}))}:e)}}),r||"function"!=typeof a||a.prototype["finally"]||d(a.prototype,"finally",c("Promise").prototype["finally"])},function(e,t,n){"use strict";var o=n(0),r=n(35),a=n(31),i=n(8),c=n(4),l=r("Reflect","apply"),u=Function.apply;o({target:"Reflect",stat:!0,forced:!c((function(){l((function(){}))}))},{apply:function(e,t,n){return a(e),i(n),l?l(e,t,n):u.call(e,t,n)}})},function(e,t,n){"use strict";var o=n(0),r=n(35),a=n(31),i=n(8),c=n(6),l=n(42),u=n(138),d=n(4),s=r("Reflect","construct"),p=d((function(){function e(){}return!(s((function(){}),[],e)instanceof e)})),m=!d((function(){s((function(){}))})),f=p||m;o({target:"Reflect",stat:!0,forced:f,sham:f},{construct:function(e,t){a(e),i(t);var n=arguments.length<3?e:a(arguments[2]);if(m&&!p)return s(e,t,n);if(e==n){switch(t.length){case 0:return new e;case 1:return new e(t[0]);case 2:return new e(t[0],t[1]);case 3:return new e(t[0],t[1],t[2]);case 4:return new e(t[0],t[1],t[2],t[3])}var o=[null];return o.push.apply(o,t),new(u.apply(e,o))}var r=n.prototype,d=l(c(r)?r:Object.prototype),f=Function.apply.call(e,d,t);return c(f)?f:d}})},function(e,t,n){"use strict";var o=n(0),r=n(9),a=n(8),i=n(33),c=n(13);o({target:"Reflect",stat:!0,forced:n(4)((function(){Reflect.defineProperty(c.f({},1,{value:1}),1,{value:2})})),sham:!r},{defineProperty:function(e,t,n){a(e);var o=i(t,!0);a(n);try{return c.f(e,o,n),!0}catch(r){return!1}}})},function(e,t,n){"use strict";var o=n(0),r=n(8),a=n(20).f;o({target:"Reflect",stat:!0},{deleteProperty:function(e,t){var n=a(r(e),t);return!(n&&!n.configurable)&&delete e[t]}})},function(e,t,n){"use strict";var o=n(0),r=n(6),a=n(8),i=n(15),c=n(20),l=n(36);o({target:"Reflect",stat:!0},{get:function u(e,t){var n,o,d=arguments.length<3?e:arguments[2];return a(e)===d?e[t]:(n=c.f(e,t))?i(n,"value")?n.value:n.get===undefined?undefined:n.get.call(d):r(o=l(e))?u(o,t,d):void 0}})},function(e,t,n){"use strict";var o=n(0),r=n(9),a=n(8),i=n(20);o({target:"Reflect",stat:!0,sham:!r},{getOwnPropertyDescriptor:function(e,t){return i.f(a(e),t)}})},function(e,t,n){"use strict";var o=n(0),r=n(8),a=n(36);o({target:"Reflect",stat:!0,sham:!n(102)},{getPrototypeOf:function(e){return a(r(e))}})},function(e,t,n){"use strict";n(0)({target:"Reflect",stat:!0},{has:function(e,t){return t in e}})},function(e,t,n){"use strict";var o=n(0),r=n(8),a=Object.isExtensible;o({target:"Reflect",stat:!0},{isExtensible:function(e){return r(e),!a||a(e)}})},function(e,t,n){"use strict";n(0)({target:"Reflect",stat:!0},{ownKeys:n(92)})},function(e,t,n){"use strict";var o=n(0),r=n(35),a=n(8);o({target:"Reflect",stat:!0,sham:!n(67)},{preventExtensions:function(e){a(e);try{var t=r("Object","preventExtensions");return t&&t(e),!0}catch(n){return!1}}})},function(e,t,n){"use strict";var o=n(0),r=n(8),a=n(6),i=n(15),c=n(4),l=n(13),u=n(20),d=n(36),s=n(46);o({target:"Reflect",stat:!0,forced:c((function(){var e=l.f({},"a",{configurable:!0});return!1!==Reflect.set(d(e),"a",1,e)}))},{set:function p(e,t,n){var o,c,m=arguments.length<4?e:arguments[3],f=u.f(r(e),t);if(!f){if(a(c=d(e)))return p(c,t,n,m);f=s(0)}if(i(f,"value")){if(!1===f.writable||!a(m))return!1;if(o=u.f(m,t)){if(o.get||o.set||!1===o.writable)return!1;o.value=n,l.f(m,t,o)}else l.f(m,t,s(0,n));return!0}return f.set!==undefined&&(f.set.call(m,n),!0)}})},function(e,t,n){"use strict";var o=n(0),r=n(8),a=n(135),i=n(53);i&&o({target:"Reflect",stat:!0},{setPrototypeOf:function(e,t){r(e),a(t);try{return i(e,t),!0}catch(n){return!1}}})},function(e,t,n){"use strict";var o=n(9),r=n(5),a=n(61),i=n(79),c=n(13).f,l=n(47).f,u=n(107),d=n(83),s=n(22),p=n(4),m=n(54),f=n(11)("match"),h=r.RegExp,C=h.prototype,g=/a/g,b=/a/g,v=new h(g)!==g;if(o&&a("RegExp",!v||p((function(){return b[f]=!1,h(g)!=g||h(b)==b||"/a/i"!=h(g,"i")})))){for(var N=function(e,t){var n=this instanceof N,o=u(e),r=t===undefined;return!n&&o&&e.constructor===N&&r?e:i(v?new h(o&&!r?e.source:e,t):h((o=e instanceof N)?e.source:e,o&&r?d.call(e):t),n?this:C,N)},V=function(e){e in N||c(N,e,{configurable:!0,get:function(){return h[e]},set:function(t){h[e]=t}})},y=l(h),_=0;y.length>_;)V(y[_++]);C.constructor=N,N.prototype=C,s(r,"RegExp",N)}m("RegExp")},function(e,t,n){"use strict";var o=n(0),r=n(84);o({target:"RegExp",proto:!0,forced:/./.exec!==r},{exec:r})},function(e,t,n){"use strict";var o=n(9),r=n(13),a=n(83);o&&"g"!=/./g.flags&&r.f(RegExp.prototype,"flags",{configurable:!0,get:a})},function(e,t,n){"use strict";var o=n(22),r=n(8),a=n(4),i=n(83),c=RegExp.prototype,l=c.toString,u=a((function(){return"/a/b"!=l.call({source:"a",flags:"b"})})),d="toString"!=l.name;(u||d)&&o(RegExp.prototype,"toString",(function(){var e=r(this),t=String(e.source),n=e.flags;return"/"+t+"/"+String(n===undefined&&e instanceof RegExp&&!("flags"in c)?i.call(e):n)}),{unsafe:!0})},function(e,t,n){"use strict";var o=n(78),r=n(139);e.exports=o("Set",(function(e){return function(){return e(this,arguments.length?arguments[0]:undefined)}}),r)},function(e,t,n){"use strict";var o=n(0),r=n(108).codeAt;o({target:"String",proto:!0},{codePointAt:function(e){return r(this,e)}})},function(e,t,n){"use strict";var o,r=n(0),a=n(20).f,i=n(10),c=n(109),l=n(21),u=n(110),d=n(38),s="".endsWith,p=Math.min,m=u("endsWith");r({target:"String",proto:!0,forced:!!(d||m||(o=a(String.prototype,"endsWith"),!o||o.writable))&&!m},{endsWith:function(e){var t=String(l(this));c(e);var n=arguments.length>1?arguments[1]:undefined,o=i(t.length),r=n===undefined?o:p(i(n),o),a=String(e);return s?s.call(t,a,r):t.slice(r-a.length,r)===a}})},function(e,t,n){"use strict";var o=n(0),r=n(41),a=String.fromCharCode,i=String.fromCodePoint;o({target:"String",stat:!0,forced:!!i&&1!=i.length},{fromCodePoint:function(e){for(var t,n=[],o=arguments.length,i=0;o>i;){if(t=+arguments[i++],r(t,1114111)!==t)throw RangeError(t+" is not a valid code point");n.push(t<65536?a(t):a(55296+((t-=65536)>>10),t%1024+56320))}return n.join("")}})},function(e,t,n){"use strict";var o=n(0),r=n(109),a=n(21);o({target:"String",proto:!0,forced:!n(110)("includes")},{includes:function(e){return!!~String(a(this)).indexOf(r(e),arguments.length>1?arguments[1]:undefined)}})},function(e,t,n){"use strict";var o=n(108).charAt,r=n(34),a=n(101),i=r.set,c=r.getterFor("String Iterator");a(String,"String",(function(e){i(this,{type:"String Iterator",string:String(e),index:0})}),(function(){var e,t=c(this),n=t.string,r=t.index;return r>=n.length?{value:undefined,done:!0}:(e=o(n,r),t.index+=e.length,{value:e,done:!1})}))},function(e,t,n){"use strict";var o=n(85),r=n(8),a=n(10),i=n(21),c=n(111),l=n(86);o("match",1,(function(e,t,n){return[function(t){var n=i(this),o=t==undefined?undefined:t[e];return o!==undefined?o.call(t,n):new RegExp(t)[e](String(n))},function(e){var o=n(t,e,this);if(o.done)return o.value;var i=r(e),u=String(this);if(!i.global)return l(i,u);var d=i.unicode;i.lastIndex=0;for(var s,p=[],m=0;null!==(s=l(i,u));){var f=String(s[0]);p[m]=f,""===f&&(i.lastIndex=c(u,a(i.lastIndex),d)),m++}return 0===m?null:p}]}))},function(e,t,n){"use strict";var o=n(0),r=n(103).end;o({target:"String",proto:!0,forced:n(150)},{padEnd:function(e){return r(this,e,arguments.length>1?arguments[1]:undefined)}})},function(e,t,n){"use strict";var o=n(0),r=n(103).start;o({target:"String",proto:!0,forced:n(150)},{padStart:function(e){return r(this,e,arguments.length>1?arguments[1]:undefined)}})},function(e,t,n){"use strict";var o=n(0),r=n(25),a=n(10);o({target:"String",stat:!0},{raw:function(e){for(var t=r(e.raw),n=a(t.length),o=arguments.length,i=[],c=0;n>c;)i.push(String(t[c++])),c]*>)/g,h=/\$([$&'`]|\d\d?)/g;o("replace",2,(function(e,t,n){return[function(n,o){var r=l(this),a=n==undefined?undefined:n[e];return a!==undefined?a.call(n,r,o):t.call(String(r),n,o)},function(e,a){var l=n(t,e,this,a);if(l.done)return l.value;var m=r(e),f=String(this),h="function"==typeof a;h||(a=String(a));var C=m.global;if(C){var g=m.unicode;m.lastIndex=0}for(var b=[];;){var v=d(m,f);if(null===v)break;if(b.push(v),!C)break;""===String(v[0])&&(m.lastIndex=u(f,i(m.lastIndex),g))}for(var N,V="",y=0,_=0;_=y&&(V+=f.slice(y,k)+I,y=k+x.length)}return V+f.slice(y)}];function o(e,n,o,r,i,c){var l=o+e.length,u=r.length,d=h;return i!==undefined&&(i=a(i),d=f),t.call(c,d,(function(t,a){var c;switch(a.charAt(0)){case"$":return"$";case"&":return e;case"`":return n.slice(0,o);case"'":return n.slice(l);case"<":c=i[a.slice(1,-1)];break;default:var d=+a;if(0===d)return t;if(d>u){var s=m(d/10);return 0===s?t:s<=u?r[s-1]===undefined?a.charAt(1):r[s-1]+a.charAt(1):t}c=r[d-1]}return c===undefined?"":c}))}}))},function(e,t,n){"use strict";var o=n(85),r=n(8),a=n(21),i=n(144),c=n(86);o("search",1,(function(e,t,n){return[function(t){var n=a(this),o=t==undefined?undefined:t[e];return o!==undefined?o.call(t,n):new RegExp(t)[e](String(n))},function(e){var o=n(t,e,this);if(o.done)return o.value;var a=r(e),l=String(this),u=a.lastIndex;i(u,0)||(a.lastIndex=0);var d=c(a,l);return i(a.lastIndex,u)||(a.lastIndex=u),null===d?-1:d.index}]}))},function(e,t,n){"use strict";var o=n(85),r=n(107),a=n(8),i=n(21),c=n(45),l=n(111),u=n(10),d=n(86),s=n(84),p=n(4),m=[].push,f=Math.min,h=!p((function(){return!RegExp(4294967295,"y")}));o("split",2,(function(e,t,n){var o;return o="c"=="abbc".split(/(b)*/)[1]||4!="test".split(/(?:)/,-1).length||2!="ab".split(/(?:ab)*/).length||4!=".".split(/(.?)(.?)/).length||".".split(/()()/).length>1||"".split(/.?/).length?function(e,n){var o=String(i(this)),a=n===undefined?4294967295:n>>>0;if(0===a)return[];if(e===undefined)return[o];if(!r(e))return t.call(o,e,a);for(var c,l,u,d=[],p=(e.ignoreCase?"i":"")+(e.multiline?"m":"")+(e.unicode?"u":"")+(e.sticky?"y":""),f=0,h=new RegExp(e.source,p+"g");(c=s.call(h,o))&&!((l=h.lastIndex)>f&&(d.push(o.slice(f,c.index)),c.length>1&&c.index=a));)h.lastIndex===c.index&&h.lastIndex++;return f===o.length?!u&&h.test("")||d.push(""):d.push(o.slice(f)),d.length>a?d.slice(0,a):d}:"0".split(undefined,0).length?function(e,n){return e===undefined&&0===n?[]:t.call(this,e,n)}:t,[function(t,n){var r=i(this),a=t==undefined?undefined:t[e];return a!==undefined?a.call(t,r,n):o.call(String(r),t,n)},function(e,r){var i=n(o,e,this,r,o!==t);if(i.done)return i.value;var s=a(e),p=String(this),m=c(s,RegExp),C=s.unicode,g=(s.ignoreCase?"i":"")+(s.multiline?"m":"")+(s.unicode?"u":"")+(h?"y":"g"),b=new m(h?s:"^(?:"+s.source+")",g),v=r===undefined?4294967295:r>>>0;if(0===v)return[];if(0===p.length)return null===d(b,p)?[p]:[];for(var N=0,V=0,y=[];V1?arguments[1]:undefined,t.length)),o=String(e);return s?s.call(t,o,n):t.slice(n,n+o.length)===o}})},function(e,t,n){"use strict";var o=n(0),r=n(56).trim;o({target:"String",proto:!0,forced:n(112)("trim")},{trim:function(){return r(this)}})},function(e,t,n){"use strict";var o=n(0),r=n(56).end,a=n(112)("trimEnd"),i=a?function(){return r(this)}:"".trimEnd;o({target:"String",proto:!0,forced:a},{trimEnd:i,trimRight:i})},function(e,t,n){"use strict";var o=n(0),r=n(56).start,a=n(112)("trimStart"),i=a?function(){return r(this)}:"".trimStart;o({target:"String",proto:!0,forced:a},{trimStart:i,trimLeft:i})},function(e,t,n){"use strict";var o=n(0),r=n(28);o({target:"String",proto:!0,forced:n(29)("anchor")},{anchor:function(e){return r(this,"a","name",e)}})},function(e,t,n){"use strict";var o=n(0),r=n(28);o({target:"String",proto:!0,forced:n(29)("big")},{big:function(){return r(this,"big","","")}})},function(e,t,n){"use strict";var o=n(0),r=n(28);o({target:"String",proto:!0,forced:n(29)("blink")},{blink:function(){return r(this,"blink","","")}})},function(e,t,n){"use strict";var o=n(0),r=n(28);o({target:"String",proto:!0,forced:n(29)("bold")},{bold:function(){return r(this,"b","","")}})},function(e,t,n){"use strict";var o=n(0),r=n(28);o({target:"String",proto:!0,forced:n(29)("fixed")},{fixed:function(){return r(this,"tt","","")}})},function(e,t,n){"use strict";var o=n(0),r=n(28);o({target:"String",proto:!0,forced:n(29)("fontcolor")},{fontcolor:function(e){return r(this,"font","color",e)}})},function(e,t,n){"use strict";var o=n(0),r=n(28);o({target:"String",proto:!0,forced:n(29)("fontsize")},{fontsize:function(e){return r(this,"font","size",e)}})},function(e,t,n){"use strict";var o=n(0),r=n(28);o({target:"String",proto:!0,forced:n(29)("italics")},{italics:function(){return r(this,"i","","")}})},function(e,t,n){"use strict";var o=n(0),r=n(28);o({target:"String",proto:!0,forced:n(29)("link")},{link:function(e){return r(this,"a","href",e)}})},function(e,t,n){"use strict";var o=n(0),r=n(28);o({target:"String",proto:!0,forced:n(29)("small")},{small:function(){return r(this,"small","","")}})},function(e,t,n){"use strict";var o=n(0),r=n(28);o({target:"String",proto:!0,forced:n(29)("strike")},{strike:function(){return r(this,"strike","","")}})},function(e,t,n){"use strict";var o=n(0),r=n(28);o({target:"String",proto:!0,forced:n(29)("sub")},{sub:function(){return r(this,"sub","","")}})},function(e,t,n){"use strict";var o=n(0),r=n(28);o({target:"String",proto:!0,forced:n(29)("sup")},{sup:function(){return r(this,"sup","","")}})},function(e,t,n){"use strict";n(40)("Float32",(function(e){return function(t,n,o){return e(this,t,n,o)}}))},function(e,t,n){"use strict";var o=n(30);e.exports=function(e){var t=o(e);if(t<0)throw RangeError("The argument can't be less than 0");return t}},function(e,t,n){"use strict";n(40)("Float64",(function(e){return function(t,n,o){return e(this,t,n,o)}}))},function(e,t,n){"use strict";n(40)("Int8",(function(e){return function(t,n,o){return e(this,t,n,o)}}))},function(e,t,n){"use strict";n(40)("Int16",(function(e){return function(t,n,o){return e(this,t,n,o)}}))},function(e,t,n){"use strict";n(40)("Int32",(function(e){return function(t,n,o){return e(this,t,n,o)}}))},function(e,t,n){"use strict";n(40)("Uint8",(function(e){return function(t,n,o){return e(this,t,n,o)}}))},function(e,t,n){"use strict";n(40)("Uint8",(function(e){return function(t,n,o){return e(this,t,n,o)}}),!0)},function(e,t,n){"use strict";n(40)("Uint16",(function(e){return function(t,n,o){return e(this,t,n,o)}}))},function(e,t,n){"use strict";n(40)("Uint32",(function(e){return function(t,n,o){return e(this,t,n,o)}}))},function(e,t,n){"use strict";var o=n(7),r=n(130),a=o.aTypedArray;(0,o.exportTypedArrayMethod)("copyWithin",(function(e,t){return r.call(a(this),e,t,arguments.length>2?arguments[2]:undefined)}))},function(e,t,n){"use strict";var o=n(7),r=n(17).every,a=o.aTypedArray;(0,o.exportTypedArrayMethod)("every",(function(e){return r(a(this),e,arguments.length>1?arguments[1]:undefined)}))},function(e,t,n){"use strict";var o=n(7),r=n(97),a=o.aTypedArray;(0,o.exportTypedArrayMethod)("fill",(function(e){return r.apply(a(this),arguments)}))},function(e,t,n){"use strict";var o=n(7),r=n(17).filter,a=n(45),i=o.aTypedArray,c=o.aTypedArrayConstructor;(0,o.exportTypedArrayMethod)("filter",(function(e){for(var t=r(i(this),e,arguments.length>1?arguments[1]:undefined),n=a(this,this.constructor),o=0,l=t.length,u=new(c(n))(l);l>o;)u[o]=t[o++];return u}))},function(e,t,n){"use strict";var o=n(7),r=n(17).find,a=o.aTypedArray;(0,o.exportTypedArrayMethod)("find",(function(e){return r(a(this),e,arguments.length>1?arguments[1]:undefined)}))},function(e,t,n){"use strict";var o=n(7),r=n(17).findIndex,a=o.aTypedArray;(0,o.exportTypedArrayMethod)("findIndex",(function(e){return r(a(this),e,arguments.length>1?arguments[1]:undefined)}))},function(e,t,n){"use strict";var o=n(7),r=n(17).forEach,a=o.aTypedArray;(0,o.exportTypedArrayMethod)("forEach",(function(e){r(a(this),e,arguments.length>1?arguments[1]:undefined)}))},function(e,t,n){"use strict";var o=n(113);(0,n(7).exportTypedArrayStaticMethod)("from",n(152),o)},function(e,t,n){"use strict";var o=n(7),r=n(60).includes,a=o.aTypedArray;(0,o.exportTypedArrayMethod)("includes",(function(e){return r(a(this),e,arguments.length>1?arguments[1]:undefined)}))},function(e,t,n){"use strict";var o=n(7),r=n(60).indexOf,a=o.aTypedArray;(0,o.exportTypedArrayMethod)("indexOf",(function(e){return r(a(this),e,arguments.length>1?arguments[1]:undefined)}))},function(e,t,n){"use strict";var o=n(5),r=n(7),a=n(133),i=n(11)("iterator"),c=o.Uint8Array,l=a.values,u=a.keys,d=a.entries,s=r.aTypedArray,p=r.exportTypedArrayMethod,m=c&&c.prototype[i],f=!!m&&("values"==m.name||m.name==undefined),h=function(){return l.call(s(this))};p("entries",(function(){return d.call(s(this))})),p("keys",(function(){return u.call(s(this))})),p("values",h,!f),p(i,h,!f)},function(e,t,n){"use strict";var o=n(7),r=o.aTypedArray,a=o.exportTypedArrayMethod,i=[].join;a("join",(function(e){return i.apply(r(this),arguments)}))},function(e,t,n){"use strict";var o=n(7),r=n(136),a=o.aTypedArray;(0,o.exportTypedArrayMethod)("lastIndexOf",(function(e){return r.apply(a(this),arguments)}))},function(e,t,n){"use strict";var o=n(7),r=n(17).map,a=n(45),i=o.aTypedArray,c=o.aTypedArrayConstructor;(0,o.exportTypedArrayMethod)("map",(function(e){return r(i(this),e,arguments.length>1?arguments[1]:undefined,(function(e,t){return new(c(a(e,e.constructor)))(t)}))}))},function(e,t,n){"use strict";var o=n(7),r=n(113),a=o.aTypedArrayConstructor;(0,o.exportTypedArrayStaticMethod)("of",(function(){for(var e=0,t=arguments.length,n=new(a(this))(t);t>e;)n[e]=arguments[e++];return n}),r)},function(e,t,n){"use strict";var o=n(7),r=n(76).left,a=o.aTypedArray;(0,o.exportTypedArrayMethod)("reduce",(function(e){return r(a(this),e,arguments.length,arguments.length>1?arguments[1]:undefined)}))},function(e,t,n){"use strict";var o=n(7),r=n(76).right,a=o.aTypedArray;(0,o.exportTypedArrayMethod)("reduceRight",(function(e){return r(a(this),e,arguments.length,arguments.length>1?arguments[1]:undefined)}))},function(e,t,n){"use strict";var o=n(7),r=o.aTypedArray,a=o.exportTypedArrayMethod,i=Math.floor;a("reverse",(function(){for(var e,t=r(this).length,n=i(t/2),o=0;o1?arguments[1]:undefined,1),n=this.length,o=i(e),c=r(o.length),u=0;if(c+t>n)throw RangeError("Wrong length");for(;ua;)d[a]=n[a++];return d}),a((function(){new Int8Array(1).slice()})))},function(e,t,n){"use strict";var o=n(7),r=n(17).some,a=o.aTypedArray;(0,o.exportTypedArrayMethod)("some",(function(e){return r(a(this),e,arguments.length>1?arguments[1]:undefined)}))},function(e,t,n){"use strict";var o=n(7),r=o.aTypedArray,a=o.exportTypedArrayMethod,i=[].sort;a("sort",(function(e){return i.call(r(this),e)}))},function(e,t,n){"use strict";var o=n(7),r=n(10),a=n(41),i=n(45),c=o.aTypedArray;(0,o.exportTypedArrayMethod)("subarray",(function(e,t){var n=c(this),o=n.length,l=a(e,o);return new(i(n,n.constructor))(n.buffer,n.byteOffset+l*n.BYTES_PER_ELEMENT,r((t===undefined?o:a(t,o))-l))}))},function(e,t,n){"use strict";var o=n(5),r=n(7),a=n(4),i=o.Int8Array,c=r.aTypedArray,l=r.exportTypedArrayMethod,u=[].toLocaleString,d=[].slice,s=!!i&&a((function(){u.call(new i(1))}));l("toLocaleString",(function(){return u.apply(s?d.call(c(this)):c(this),arguments)}),a((function(){return[1,2].toLocaleString()!=new i([1,2]).toLocaleString()}))||!a((function(){i.prototype.toLocaleString.call([1,2])})))},function(e,t,n){"use strict";var o=n(7).exportTypedArrayMethod,r=n(4),a=n(5).Uint8Array,i=a&&a.prototype||{},c=[].toString,l=[].join;r((function(){c.call({})}))&&(c=function(){return l.call(this)});var u=i.toString!=c;o("toString",c,u)},function(e,t,n){"use strict";var o,r=n(5),a=n(66),i=n(50),c=n(78),l=n(153),u=n(6),d=n(34).enforce,s=n(121),p=!r.ActiveXObject&&"ActiveXObject"in r,m=Object.isExtensible,f=function(e){return function(){return e(this,arguments.length?arguments[0]:undefined)}},h=e.exports=c("WeakMap",f,l);if(s&&p){o=l.getConstructor(f,"WeakMap",!0),i.REQUIRED=!0;var C=h.prototype,g=C["delete"],b=C.has,v=C.get,N=C.set;a(C,{"delete":function(e){if(u(e)&&!m(e)){var t=d(this);return t.frozen||(t.frozen=new o),g.call(this,e)||t.frozen["delete"](e)}return g.call(this,e)},has:function(e){if(u(e)&&!m(e)){var t=d(this);return t.frozen||(t.frozen=new o),b.call(this,e)||t.frozen.has(e)}return b.call(this,e)},get:function(e){if(u(e)&&!m(e)){var t=d(this);return t.frozen||(t.frozen=new o),b.call(this,e)?v.call(this,e):t.frozen.get(e)}return v.call(this,e)},set:function(e,t){if(u(e)&&!m(e)){var n=d(this);n.frozen||(n.frozen=new o),b.call(this,e)?N.call(this,e,t):n.frozen.set(e,t)}else N.call(this,e,t);return this}})}},function(e,t,n){"use strict";n(78)("WeakSet",(function(e){return function(){return e(this,arguments.length?arguments[0]:undefined)}}),n(153))},function(e,t,n){"use strict";var o=n(0),r=n(5),a=n(106);o({global:!0,bind:!0,enumerable:!0,forced:!r.setImmediate||!r.clearImmediate},{setImmediate:a.set,clearImmediate:a.clear})},function(e,t,n){"use strict";var o=n(0),r=n(5),a=n(147),i=n(32),c=r.process,l="process"==i(c);o({global:!0,enumerable:!0,noTargetGet:!0},{queueMicrotask:function(e){var t=l&&c.domain;a(t?t.bind(e):e)}})},function(e,t,n){"use strict";var o=n(0),r=n(5),a=n(73),i=[].slice,c=function(e){return function(t,n){var o=arguments.length>2,r=o?i.call(arguments,2):undefined;return e(o?function(){("function"==typeof t?t:Function(t)).apply(this,r)}:t,n)}};o({global:!0,bind:!0,forced:/MSIE .\./.test(a)},{setTimeout:c(r.setTimeout),setInterval:c(r.setInterval)})},function(e,t,n){"use strict";t.__esModule=!0,t._CI=Ie,t._HI=D,t._M=Te,t._MCCC=Me,t._ME=Pe,t._MFCC=Oe,t._MP=Be,t._MR=Ne,t.__render=ze,t.createComponentVNode=function(e,t,n,o,r){var i=new T(1,null,null,e=function(e,t){if(12&e)return e;if(t.prototype&&t.prototype.render)return 4;if(t.render)return 32776;return 8}(e,t),o,function(e,t,n){var o=(32768&e?t.render:t).defaultProps;if(a(o))return n;if(a(n))return d(o,null);return B(n,o)}(e,t,n),function(e,t,n){if(4&e)return n;var o=(32768&e?t.render:t).defaultHooks;if(a(o))return n;if(a(n))return o;return B(n,o)}(e,t,r),t);k.createVNode&&k.createVNode(i);return i},t.createFragment=E,t.createPortal=function(e,t){var n=D(e);return A(1024,1024,null,n,0,null,n.key,t)},t.createRef=function(){return{current:null}},t.createRenderer=function(e){return function(t,n,o,r){e||(e=t),He(n,e,o,r)}},t.createTextVNode=P,t.createVNode=A,t.directClone=M,t.findDOMfromVNode=N,t.forwardRef=function(e){return{render:e}},t.getFlagsForElementVnode=function(e){switch(e){case"svg":return 32;case"input":return 64;case"select":return 256;case"textarea":return 128;case m:return 8192;default:return 1}},t.linkEvent=function(e,t){if(c(t))return{data:e,event:t};return null},t.normalizeProps=function(e){var t=e.props;if(t){var n=e.flags;481&n&&(void 0!==t.children&&a(e.children)&&F(e,t.children),void 0!==t.className&&(e.className=t.className||null,t.className=undefined)),void 0!==t.key&&(e.key=t.key,t.key=undefined),void 0!==t.ref&&(e.ref=8&n?d(e.ref,t.ref):t.ref,t.ref=undefined)}return e},t.render=He,t.rerender=We,t.version=t.options=t.Fragment=t.EMPTY_OBJ=t.Component=void 0;var o=Array.isArray;function r(e){var t=typeof e;return"string"===t||"number"===t}function a(e){return null==e}function i(e){return null===e||!1===e||!0===e||void 0===e}function c(e){return"function"==typeof e}function l(e){return"string"==typeof e}function u(e){return null===e}function d(e,t){var n={};if(e)for(var o in e)n[o]=e[o];if(t)for(var r in t)n[r]=t[r];return n}function s(e){return!u(e)&&"object"==typeof e}var p={};t.EMPTY_OBJ=p;var m="$F";function f(e){return e.substr(2).toLowerCase()}function h(e,t){e.appendChild(t)}function C(e,t,n){u(n)?h(e,t):e.insertBefore(t,n)}function g(e,t){e.removeChild(t)}function b(e){for(var t;(t=e.shift())!==undefined;)t()}function v(e,t,n){var o=e.children;return 4&n?o.$LI:8192&n?2===e.childFlags?o:o[t?0:o.length-1]:o}function N(e,t){for(var n;e;){if(2033&(n=e.flags))return e.dom;e=v(e,t,n)}return null}function V(e,t){do{var n=e.flags;if(2033&n)return void g(t,e.dom);var o=e.children;if(4&n&&(e=o.$LI),8&n&&(e=o),8192&n){if(2!==e.childFlags){for(var r=0,a=o.length;r0,f=u(p),h=l(p)&&p[0]===I;m||f||h?(n=n||t.slice(0,d),(m||h)&&(s=M(s)),(f||h)&&(s.key=I+d),n.push(s)):n&&n.push(s),s.flags|=65536}}a=0===(n=n||t).length?1:8}else(n=t).flags|=65536,81920&t.flags&&(n=M(t)),a=2;return e.children=n,e.childFlags=a,e}function D(e){return i(e)||r(e)?P(e,null):o(e)?E(e,0,null):16384&e.flags?M(e):e}var j="http://www.w3.org/1999/xlink",z="http://www.w3.org/XML/1998/namespace",H={"xlink:actuate":j,"xlink:arcrole":j,"xlink:href":j,"xlink:role":j,"xlink:show":j,"xlink:title":j,"xlink:type":j,"xml:base":z,"xml:lang":z,"xml:space":z};function G(e){return{onClick:e,onDblClick:e,onFocusIn:e,onFocusOut:e,onKeyDown:e,onKeyPress:e,onKeyUp:e,onMouseDown:e,onMouseMove:e,onMouseUp:e,onTouchEnd:e,onTouchMove:e,onTouchStart:e}}var U=G(0),K=G(null),Y=G(!0);function q(e,t){var n=t.$EV;return n||(n=t.$EV=G(null)),n[e]||1==++U[e]&&(K[e]=function(e){var t="onClick"===e||"onDblClick"===e?function(e){return function(t){0===t.button?$(t,!0,e,Z(t)):t.stopPropagation()}}(e):function(e){return function(t){$(t,!1,e,Z(t))}}(e);return document.addEventListener(f(e),t),t}(e)),n}function W(e,t){var n=t.$EV;n&&n[e]&&(0==--U[e]&&(document.removeEventListener(f(e),K[e]),K[e]=null),n[e]=null)}function $(e,t,n,o){var r=function(e){return c(e.composedPath)?e.composedPath()[0]:e.target}(e);do{if(t&&r.disabled)return;var a=r.$EV;if(a){var i=a[n];if(i&&(o.dom=r,i.event?i.event(i.data,e):i(e),e.cancelBubble))return}r=r.parentNode}while(!u(r))}function Q(){this.cancelBubble=!0,this.immediatePropagationStopped||this.stopImmediatePropagation()}function X(){return this.defaultPrevented}function J(){return this.cancelBubble}function Z(e){var t={dom:document};return e.isDefaultPrevented=X,e.isPropagationStopped=J,e.stopPropagation=Q,Object.defineProperty(e,"currentTarget",{configurable:!0,get:function(){return t.dom}}),t}function ee(e,t,n){if(e[t]){var o=e[t];o.event?o.event(o.data,n):o(n)}else{var r=t.toLowerCase();e[r]&&e[r](n)}}function te(e,t){var n=function(n){var o=this.$V;if(o){var r=o.props||p,a=o.dom;if(l(e))ee(r,e,n);else for(var i=0;i-1&&t.options[i]&&(c=t.options[i].value),n&&a(c)&&(c=e.defaultValue),le(o,c)}}var se,pe,me=te("onInput",he),fe=te("onChange");function he(e,t,n){var o=e.value,r=t.value;if(a(o)){if(n){var i=e.defaultValue;a(i)||i===r||(t.defaultValue=i,t.value=i)}}else r!==o&&(t.defaultValue=o,t.value=o)}function Ce(e,t,n,o,r,a){64&e?ce(o,n):256&e?de(o,n,r,t):128&e&&he(o,n,r),a&&(n.$V=t)}function ge(e,t,n){64&e?function(e,t){oe(t.type)?(ne(e,"change",ae),ne(e,"click",ie)):ne(e,"input",re)}(t,n):256&e?function(e){ne(e,"change",ue)}(t):128&e&&function(e,t){ne(e,"input",me),t.onChange&&ne(e,"change",fe)}(t,n)}function be(e){return e.type&&oe(e.type)?!a(e.checked):!a(e.value)}function ve(e){e&&!S(e,null)&&e.current&&(e.current=null)}function Ne(e,t,n){e&&(c(e)||void 0!==e.current)&&n.push((function(){S(e,t)||void 0===e.current||(e.current=t)}))}function Ve(e,t){ye(e),V(e,t)}function ye(e){var t,n=e.flags,o=e.children;if(481&n){t=e.ref;var r=e.props;ve(t);var i=e.childFlags;if(!u(r))for(var l=Object.keys(r),d=0,s=l.length;d0;for(var c in i&&(a=be(n))&&ge(t,o,n),n)we(c,null,n[c],o,r,a,null);i&&Ce(t,e,o,n,!0,a)}function Se(e,t,n){var o=D(e.render(t,e.state,n)),r=n;return c(e.getChildContext)&&(r=d(n,e.getChildContext())),e.$CX=r,o}function Ie(e,t,n,o,r,a){var i=new t(n,o),l=i.$N=Boolean(t.getDerivedStateFromProps||i.getSnapshotBeforeUpdate);if(i.$SVG=r,i.$L=a,e.children=i,i.$BS=!1,i.context=o,i.props===p&&(i.props=n),l)i.state=_(i,n,i.state);else if(c(i.componentWillMount)){i.$BR=!0,i.componentWillMount();var d=i.$PS;if(!u(d)){var s=i.state;if(u(s))i.state=d;else for(var m in d)s[m]=d[m];i.$PS=null}i.$BR=!1}return i.$LI=Se(i,n,o),i}function Te(e,t,n,o,r,a){var i=e.flags|=16384;481&i?Pe(e,t,n,o,r,a):4&i?function(e,t,n,o,r,a){var i=Ie(e,e.type,e.props||p,n,o,a);Te(i.$LI,t,i.$CX,o,r,a),Me(e.ref,i,a)}(e,t,n,o,r,a):8&i?(!function(e,t,n,o,r,a){Te(e.children=D(function(e,t){return 32768&e.flags?e.type.render(e.props||p,e.ref,t):e.type(e.props||p,t)}(e,n)),t,n,o,r,a)}(e,t,n,o,r,a),Oe(e,a)):512&i||16&i?Ae(e,t,r):8192&i?function(e,t,n,o,r,a){var i=e.children,c=e.childFlags;12&c&&0===i.length&&(c=e.childFlags=2,i=e.children=O());2===c?Te(i,n,r,o,r,a):Ee(i,n,t,o,r,a)}(e,n,t,o,r,a):1024&i&&function(e,t,n,o,r){Te(e.children,e.ref,t,!1,null,r);var a=O();Ae(a,n,o),e.dom=a.dom}(e,n,t,r,a)}function Ae(e,t,n){var o=e.dom=document.createTextNode(e.children);u(t)||C(t,o,n)}function Pe(e,t,n,o,r,i){var c=e.flags,l=e.props,d=e.className,s=e.children,p=e.childFlags,m=e.dom=function(e,t){return t?document.createElementNS("http://www.w3.org/2000/svg",e):document.createElement(e)}(e.type,o=o||(32&c)>0);if(a(d)||""===d||(o?m.setAttribute("class",d):m.className=d),16===p)L(m,s);else if(1!==p){var f=o&&"foreignObject"!==e.type;2===p?(16384&s.flags&&(e.children=s=M(s)),Te(s,m,n,f,null,i)):8!==p&&4!==p||Ee(s,m,n,f,null,i)}u(t)||C(t,m,r),u(l)||Be(e,c,l,m,o),Ne(e.ref,m,i)}function Ee(e,t,n,o,r,a){for(var i=0;i0,u!==d){var f=u||p;if((c=d||p)!==p)for(var h in(s=(448&r)>0)&&(m=be(c)),c){var C=f[h],g=c[h];C!==g&&we(h,C,g,l,o,m,e)}if(f!==p)for(var b in f)a(c[b])&&!a(f[b])&&we(b,f[b],null,l,o,m,e)}var v=t.children,N=t.className;e.className!==N&&(a(N)?l.removeAttribute("class"):o?l.setAttribute("class",N):l.className=N);4096&r?function(e,t){e.textContent!==t&&(e.textContent=t)}(l,v):Fe(e.childFlags,t.childFlags,e.children,v,l,n,o&&"foreignObject"!==t.type,null,e,i);s&&Ce(r,t,l,c,!1,m);var V=t.ref,y=e.ref;y!==V&&(ve(y),Ne(V,l,i))}(e,t,o,r,m,s):4&m?function(e,t,n,o,r,a,i){var l=t.children=e.children;if(u(l))return;l.$L=i;var s=t.props||p,m=t.ref,f=e.ref,h=l.state;if(!l.$N){if(c(l.componentWillReceiveProps)){if(l.$BR=!0,l.componentWillReceiveProps(s,o),l.$UN)return;l.$BR=!1}u(l.$PS)||(h=d(h,l.$PS),l.$PS=null)}De(l,h,s,n,o,r,!1,a,i),f!==m&&(ve(f),Ne(m,l,i))}(e,t,n,o,r,l,s):8&m?function(e,t,n,o,r,i,l){var u=!0,d=t.props||p,s=t.ref,m=e.props,f=!a(s),h=e.children;f&&c(s.onComponentShouldUpdate)&&(u=s.onComponentShouldUpdate(m,d));if(!1!==u){f&&c(s.onComponentWillUpdate)&&s.onComponentWillUpdate(m,d);var C=t.type,g=D(32768&t.flags?C.render(d,s,o):C(d,o));Re(h,g,n,o,r,i,l),t.children=g,f&&c(s.onComponentDidUpdate)&&s.onComponentDidUpdate(m,d)}else t.children=h}(e,t,n,o,r,l,s):16&m?function(e,t){var n=t.children,o=t.dom=e.dom;n!==e.children&&(o.nodeValue=n)}(e,t):512&m?t.dom=e.dom:8192&m?function(e,t,n,o,r,a){var i=e.children,c=t.children,l=e.childFlags,u=t.childFlags,d=null;12&u&&0===c.length&&(u=t.childFlags=2,c=t.children=O());var s=0!=(2&u);if(12&l){var p=i.length;(8&l&&8&u||s||!s&&c.length>p)&&(d=N(i[p-1],!1).nextSibling)}Fe(l,u,i,c,n,o,r,d,e,a)}(e,t,n,o,r,s):function(e,t,n,o){var r=e.ref,a=t.ref,c=t.children;if(Fe(e.childFlags,t.childFlags,e.children,c,r,n,!1,null,e,o),t.dom=e.dom,r!==a&&!i(c)){var l=c.dom;g(r,l),h(a,l)}}(e,t,o,s)}function Fe(e,t,n,o,r,a,i,c,l,u){switch(e){case 2:switch(t){case 2:Re(n,o,r,a,i,c,u);break;case 1:Ve(n,r);break;case 16:ye(n),L(r,o);break;default:!function(e,t,n,o,r,a){ye(e),Ee(t,n,o,r,N(e,!0),a),V(e,n)}(n,o,r,a,i,u)}break;case 1:switch(t){case 2:Te(o,r,a,i,c,u);break;case 1:break;case 16:L(r,o);break;default:Ee(o,r,a,i,c,u)}break;case 16:switch(t){case 16:!function(e,t,n){e!==t&&(""!==e?n.firstChild.nodeValue=t:L(n,t))}(n,o,r);break;case 2:xe(r),Te(o,r,a,i,c,u);break;case 1:xe(r);break;default:xe(r),Ee(o,r,a,i,c,u)}break;default:switch(t){case 16:_e(n),L(r,o);break;case 2:ke(r,l,n),Te(o,r,a,i,c,u);break;case 1:ke(r,l,n);break;default:var d=0|n.length,s=0|o.length;0===d?s>0&&Ee(o,r,a,i,c,u):0===s?ke(r,l,n):8===t&&8===e?function(e,t,n,o,r,a,i,c,l,u){var d,s,p=a-1,m=i-1,f=0,h=e[f],C=t[f];e:{for(;h.key===C.key;){if(16384&C.flags&&(t[f]=C=M(C)),Re(h,C,n,o,r,c,u),e[f]=C,++f>p||f>m)break e;h=e[f],C=t[f]}for(h=e[p],C=t[m];h.key===C.key;){if(16384&C.flags&&(t[m]=C=M(C)),Re(h,C,n,o,r,c,u),e[p]=C,p--,m--,f>p||f>m)break e;h=e[p],C=t[m]}}if(f>p){if(f<=m)for(s=(d=m+1)m)for(;f<=p;)Ve(e[f++],n);else!function(e,t,n,o,r,a,i,c,l,u,d,s,p){var m,f,h,C=0,g=c,b=c,v=a-c+1,V=i-c+1,_=new Int32Array(V+1),x=v===o,k=!1,L=0,w=0;if(r<4||(v|V)<32)for(C=g;C<=a;++C)if(m=e[C],wc?k=!0:L=c,16384&f.flags&&(t[c]=f=M(f)),Re(m,f,l,n,u,d,p),++w;break}!x&&c>i&&Ve(m,l)}else x||Ve(m,l);else{var B={};for(C=b;C<=i;++C)B[t[C].key]=C;for(C=g;C<=a;++C)if(m=e[C],wg;)Ve(e[g++],l);_[c-b]=C+1,L>c?k=!0:L=c,16384&(f=t[c]).flags&&(t[c]=f=M(f)),Re(m,f,l,n,u,d,p),++w}else x||Ve(m,l);else x||Ve(m,l)}if(x)ke(l,s,e),Ee(t,l,n,u,d,p);else if(k){var S=function(e){var t=0,n=0,o=0,r=0,a=0,i=0,c=0,l=e.length;l>je&&(je=l,se=new Int32Array(l),pe=new Int32Array(l));for(;n>1]]0&&(pe[n]=se[a-1]),se[a]=n)}a=r+1;var u=new Int32Array(a);i=se[a-1];for(;a-- >0;)u[a]=i,i=pe[i],se[a]=0;return u}(_);for(c=S.length-1,C=V-1;C>=0;C--)0===_[C]?(16384&(f=t[L=C+b]).flags&&(t[L]=f=M(f)),Te(f,l,n,u,(h=L+1)=0;C--)0===_[C]&&(16384&(f=t[L=C+b]).flags&&(t[L]=f=M(f)),Te(f,l,n,u,(h=L+1)i?i:a,p=0;pi)for(p=s;p0&&b(r),x.v=!1,c(n)&&n(),c(k.renderComplete)&&k.renderComplete(i,t)}function He(e,t,n,o){void 0===n&&(n=null),void 0===o&&(o=p),ze(e,t,n,o)}"undefined"!=typeof document&&window.Node&&(Node.prototype.$EV=null,Node.prototype.$V=null);var Ge=[],Ue="undefined"!=typeof Promise?Promise.resolve().then.bind(Promise.resolve()):function(e){window.setTimeout(e,0)},Ke=!1;function Ye(e,t,n,o){var r=e.$PS;if(c(t)&&(t=t(r?d(e.state,r):e.state,e.props,e.context)),a(r))e.$PS=t;else for(var i in t)r[i]=t[i];if(e.$BR)c(n)&&e.$L.push(n.bind(e));else{if(!x.v&&0===Ge.length)return void $e(e,o,n);if(-1===Ge.indexOf(e)&&Ge.push(e),Ke||(Ke=!0,Ue(We)),c(n)){var l=e.$QU;l||(l=e.$QU=[]),l.push(n)}}}function qe(e){for(var t=e.$QU,n=0,o=t.length;n0&&b(r),x.v=!1}else e.state=e.$PS,e.$PS=null;c(n)&&n.call(e)}}var Qe=function(e,t){this.state=null,this.$BR=!1,this.$BS=!0,this.$PS=null,this.$LI=null,this.$UN=!1,this.$CX=null,this.$QU=null,this.$N=!1,this.$L=null,this.$SVG=!1,this.props=e||p,this.context=t||p};t.Component=Qe,Qe.prototype.forceUpdate=function(e){this.$UN||Ye(this,{},e,!0)},Qe.prototype.setState=function(e,t){this.$UN||this.$BS||Ye(this,e,t,!1)},Qe.prototype.render=function(e,t,n){return null};t.version="7.3.3"},function(e,t,n){"use strict";var o=function(e){var t,n=Object.prototype,o=n.hasOwnProperty,r="function"==typeof Symbol?Symbol:{},a=r.iterator||"@@iterator",i=r.asyncIterator||"@@asyncIterator",c=r.toStringTag||"@@toStringTag";function l(e,t,n,o){var r=t&&t.prototype instanceof h?t:h,a=Object.create(r.prototype),i=new w(o||[]);return a._invoke=function(e,t,n){var o=d;return function(r,a){if(o===p)throw new Error("Generator is already running");if(o===m){if("throw"===r)throw a;return S()}for(n.method=r,n.arg=a;;){var i=n.delegate;if(i){var c=x(i,n);if(c){if(c===f)continue;return c}}if("next"===n.method)n.sent=n._sent=n.arg;else if("throw"===n.method){if(o===d)throw o=m,n.arg;n.dispatchException(n.arg)}else"return"===n.method&&n.abrupt("return",n.arg);o=p;var l=u(e,t,n);if("normal"===l.type){if(o=n.done?m:s,l.arg===f)continue;return{value:l.arg,done:n.done}}"throw"===l.type&&(o=m,n.method="throw",n.arg=l.arg)}}}(e,n,i),a}function u(e,t,n){try{return{type:"normal",arg:e.call(t,n)}}catch(o){return{type:"throw",arg:o}}}e.wrap=l;var d="suspendedStart",s="suspendedYield",p="executing",m="completed",f={};function h(){}function C(){}function g(){}var b={};b[a]=function(){return this};var v=Object.getPrototypeOf,N=v&&v(v(B([])));N&&N!==n&&o.call(N,a)&&(b=N);var V=g.prototype=h.prototype=Object.create(b);function y(e){["next","throw","return"].forEach((function(t){e[t]=function(e){return this._invoke(t,e)}}))}function _(e){var t;this._invoke=function(n,r){function a(){return new Promise((function(t,a){!function i(t,n,r,a){var c=u(e[t],e,n);if("throw"!==c.type){var l=c.arg,d=l.value;return d&&"object"==typeof d&&o.call(d,"__await")?Promise.resolve(d.__await).then((function(e){i("next",e,r,a)}),(function(e){i("throw",e,r,a)})):Promise.resolve(d).then((function(e){l.value=e,r(l)}),(function(e){return i("throw",e,r,a)}))}a(c.arg)}(n,r,t,a)}))}return t=t?t.then(a,a):a()}}function x(e,n){var o=e.iterator[n.method];if(o===t){if(n.delegate=null,"throw"===n.method){if(e.iterator["return"]&&(n.method="return",n.arg=t,x(e,n),"throw"===n.method))return f;n.method="throw",n.arg=new TypeError("The iterator does not provide a 'throw' method")}return f}var r=u(o,e.iterator,n.arg);if("throw"===r.type)return n.method="throw",n.arg=r.arg,n.delegate=null,f;var a=r.arg;return a?a.done?(n[e.resultName]=a.value,n.next=e.nextLoc,"return"!==n.method&&(n.method="next",n.arg=t),n.delegate=null,f):a:(n.method="throw",n.arg=new TypeError("iterator result is not an object"),n.delegate=null,f)}function k(e){var t={tryLoc:e[0]};1 in e&&(t.catchLoc=e[1]),2 in e&&(t.finallyLoc=e[2],t.afterLoc=e[3]),this.tryEntries.push(t)}function L(e){var t=e.completion||{};t.type="normal",delete t.arg,e.completion=t}function w(e){this.tryEntries=[{tryLoc:"root"}],e.forEach(k,this),this.reset(!0)}function B(e){if(e){var n=e[a];if(n)return n.call(e);if("function"==typeof e.next)return e;if(!isNaN(e.length)){var r=-1,i=function n(){for(;++r=0;--a){var i=this.tryEntries[a],c=i.completion;if("root"===i.tryLoc)return r("end");if(i.tryLoc<=this.prev){var l=o.call(i,"catchLoc"),u=o.call(i,"finallyLoc");if(l&&u){if(this.prev=0;--n){var r=this.tryEntries[n];if(r.tryLoc<=this.prev&&o.call(r,"finallyLoc")&&this.prev=0;--t){var n=this.tryEntries[t];if(n.finallyLoc===e)return this.complete(n.completion,n.afterLoc),L(n),f}},"catch":function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var n=this.tryEntries[t];if(n.tryLoc===e){var o=n.completion;if("throw"===o.type){var r=o.arg;L(n)}return r}}throw new Error("illegal catch attempt")},delegateYield:function(e,n,o){return this.delegate={iterator:B(e),resultName:n,nextLoc:o},"next"===this.method&&(this.arg=t),f}},e}(e.exports);try{regeneratorRuntime=o}catch(r){Function("r","regeneratorRuntime = r")(o)}},function(e,t,n){"use strict";window.Int32Array||(window.Int32Array=Array)},function(e,t,n){"use strict";(function(e){ /*! loadCSS. [c]2017 Filament Group, Inc. MIT License */ -var n;n=void 0!==e?e:void 0,t.loadCSS=function(e,t,o,r){var a,i=n.document,c=i.createElement("link");if(t)a=t;else{var l=(i.body||i.getElementsByTagName("head")[0]).childNodes;a=l[l.length-1]}var u=i.styleSheets;if(r)for(var d in r)r.hasOwnProperty(d)&&c.setAttribute(d,r[d]);c.rel="stylesheet",c.href=e,c.media="only x",function m(e){if(i.body)return e();setTimeout((function(){m(e)}))}((function(){a.parentNode.insertBefore(c,t?a:a.nextSibling)}));var s=function f(e){for(var t=c.href,n=u.length;n--;)if(u[n].href===t)return e();setTimeout((function(){f(e)}))};function p(){c.addEventListener&&c.removeEventListener("load",p),c.media=o||"all"}return c.addEventListener&&c.addEventListener("load",p),c.onloadcssdefined=s,s(p),c}}).call(this,n(118))},function(e,t,n){"use strict";t.__esModule=!0,t.Achievements=t.Score=t.Achievement=void 0;var o=n(1),r=n(3),a=n(2),i=function(e){var t=e.name,n=e.desc,r=e.icon_class,i=e.value;return(0,o.createVNode)(1,"tr",null,[(0,o.createVNode)(1,"td",null,(0,o.createComponentVNode)(2,a.Box,{className:r}),2,{style:{padding:"6px"}}),(0,o.createVNode)(1,"td",null,[(0,o.createVNode)(1,"h1",null,t,0),n,(0,o.createComponentVNode)(2,a.Box,{color:i?"good":"bad",content:i?"Unlocked":"Locked"})],0,{style:{"vertical-align":"top"}})],4,null,t)};t.Achievement=i;var c=function(e){var t=e.name,n=e.desc,r=e.icon_class,i=e.value;return(0,o.createVNode)(1,"tr",null,[(0,o.createVNode)(1,"td",null,(0,o.createComponentVNode)(2,a.Box,{className:r}),2,{style:{padding:"6px"}}),(0,o.createVNode)(1,"td",null,[(0,o.createVNode)(1,"h1",null,t,0),n,(0,o.createComponentVNode)(2,a.Box,{color:i>0?"good":"bad",content:i>0?"Earned "+i+" times":"Locked"})],0,{style:{"vertical-align":"top"}})],4,null,t)};t.Score=c;t.Achievements=function(e){var t=(0,r.useBackend)(e).data;return(0,o.createComponentVNode)(2,a.Tabs,{children:[t.categories.map((function(e){return(0,o.createComponentVNode)(2,a.Tabs.Tab,{label:e,children:(0,o.createComponentVNode)(2,a.Box,{as:"Table",children:t.achievements.filter((function(t){return t.category===e})).map((function(e){return e.score?(0,o.createComponentVNode)(2,c,{name:e.name,desc:e.desc,icon_class:e.icon_class,value:e.value},e.name):(0,o.createComponentVNode)(2,i,{name:e.name,desc:e.desc,icon_class:e.icon_class,value:e.value},e.name)}))})},e)})),(0,o.createComponentVNode)(2,a.Tabs.Tab,{label:"High Scores",children:(0,o.createComponentVNode)(2,a.Tabs,{vertical:!0,children:t.highscore.map((function(e){return(0,o.createComponentVNode)(2,a.Tabs.Tab,{label:e.name,children:(0,o.createComponentVNode)(2,a.Table,{children:[(0,o.createComponentVNode)(2,a.Table.Row,{className:"candystripe",children:[(0,o.createComponentVNode)(2,a.Table.Cell,{color:"label",textAlign:"center",children:"#"}),(0,o.createComponentVNode)(2,a.Table.Cell,{color:"label",textAlign:"center",children:"Key"}),(0,o.createComponentVNode)(2,a.Table.Cell,{color:"label",textAlign:"center",children:"Score"})]}),Object.keys(e.scores).map((function(n,r){return(0,o.createComponentVNode)(2,a.Table.Row,{className:"candystripe",m:2,children:[(0,o.createComponentVNode)(2,a.Table.Cell,{color:"label",textAlign:"center",children:r+1}),(0,o.createComponentVNode)(2,a.Table.Cell,{color:n===t.user_ckey&&"green",textAlign:"center",children:[0===r&&(0,o.createComponentVNode)(2,a.Icon,{name:"crown",color:"gold",mr:2}),n,0===r&&(0,o.createComponentVNode)(2,a.Icon,{name:"crown",color:"gold",ml:2})]}),(0,o.createComponentVNode)(2,a.Table.Cell,{textAlign:"center",children:e.scores[n]})]},n)}))]})},e.name)}))})})]})}},function(e,t,n){"use strict";t.__esModule=!0,t.BlockQuote=void 0;var o=n(1),r=n(12),a=n(19);t.BlockQuote=function(e){var t=e.className,n=function(e,t){if(null==e)return{};var n,o,r={},a=Object.keys(e);for(o=0;o=0||(r[n]=e[n]);return r}(e,["className"]);return(0,o.normalizeProps)((0,o.createComponentVNode)(2,a.Box,Object.assign({className:(0,r.classes)(["BlockQuote",t])},n)))}},function(e,t,n){"use strict";var o,r;t.__esModule=!0,t.VNodeFlags=t.ChildFlags=void 0,t.VNodeFlags=o,function(e){e[e.HtmlElement=1]="HtmlElement",e[e.ComponentUnknown=2]="ComponentUnknown",e[e.ComponentClass=4]="ComponentClass",e[e.ComponentFunction=8]="ComponentFunction",e[e.Text=16]="Text",e[e.SvgElement=32]="SvgElement",e[e.InputElement=64]="InputElement",e[e.TextareaElement=128]="TextareaElement",e[e.SelectElement=256]="SelectElement",e[e.Void=512]="Void",e[e.Portal=1024]="Portal",e[e.ReCreate=2048]="ReCreate",e[e.ContentEditable=4096]="ContentEditable",e[e.Fragment=8192]="Fragment",e[e.InUse=16384]="InUse",e[e.ForwardRef=32768]="ForwardRef",e[e.Normalized=65536]="Normalized",e[e.ForwardRefComponent=32776]="ForwardRefComponent",e[e.FormElement=448]="FormElement",e[e.Element=481]="Element",e[e.Component=14]="Component",e[e.DOMRef=2033]="DOMRef",e[e.InUseOrNormalized=81920]="InUseOrNormalized",e[e.ClearInUse=-16385]="ClearInUse",e[e.ComponentKnown=12]="ComponentKnown"}(o||(t.VNodeFlags=o={})),t.ChildFlags=r,function(e){e[e.UnknownChildren=0]="UnknownChildren",e[e.HasInvalidChildren=1]="HasInvalidChildren",e[e.HasVNodeChildren=2]="HasVNodeChildren",e[e.HasNonKeyedChildren=4]="HasNonKeyedChildren",e[e.HasKeyedChildren=8]="HasKeyedChildren",e[e.HasTextChildren=16]="HasTextChildren",e[e.MultipleChildren=12]="MultipleChildren"}(r||(t.ChildFlags=r={}))},function(e,t,n){"use strict";t.__esModule=!0,t.ColorBox=void 0;var o=n(1),r=n(12),a=n(19);var i=function(e){var t=e.color,n=e.content,i=e.className,c=function(e,t){if(null==e)return{};var n,o,r={},a=Object.keys(e);for(o=0;o=0||(r[n]=e[n]);return r}(e,["color","content","className"]);return(0,o.normalizeProps)((0,o.createComponentVNode)(2,a.Box,Object.assign({className:(0,r.classes)(["ColorBox",i]),color:n?null:"transparent",backgroundColor:t,content:n||"."},c)))};t.ColorBox=i,i.defaultHooks=r.pureComponentHooks},function(e,t,n){"use strict";t.__esModule=!0,t.Collapsible=void 0;var o=n(1),r=n(19),a=n(114);var i=function(e){var t,n;function i(t){var n;n=e.call(this,t)||this;var o=t.open;return n.state={open:o||!1},n}return n=e,(t=i).prototype=Object.create(n.prototype),t.prototype.constructor=t,t.__proto__=n,i.prototype.render=function(){var e=this,t=this.props,n=this.state.open,i=t.children,c=t.color,l=void 0===c?"default":c,u=t.title,d=t.buttons,s=function(e,t){if(null==e)return{};var n,o,r={},a=Object.keys(e);for(o=0;o=0||(r[n]=e[n]);return r}(t,["children","color","title","buttons"]);return(0,o.createComponentVNode)(2,r.Box,{mb:1,children:[(0,o.createVNode)(1,"div","Table",[(0,o.createVNode)(1,"div","Table__cell",(0,o.normalizeProps)((0,o.createComponentVNode)(2,a.Button,Object.assign({fluid:!0,color:l,icon:n?"chevron-down":"chevron-right",onClick:function(){return e.setState({open:!n})}},s,{children:u}))),2),d&&(0,o.createVNode)(1,"div","Table__cell Table__cell--collapsing",d,0)],0),n&&(0,o.createComponentVNode)(2,r.Box,{mt:1,children:i})]})},i}(o.Component);t.Collapsible=i},function(e,t,n){"use strict";t.__esModule=!0,t.Dimmer=void 0;var o=n(1),r=n(19);t.Dimmer=function(e){var t=e.style,n=function(e,t){if(null==e)return{};var n,o,r={},a=Object.keys(e);for(o=0;o=0||(r[n]=e[n]);return r}(e,["style"]);return(0,o.normalizeProps)((0,o.createComponentVNode)(2,r.Box,Object.assign({style:Object.assign({position:"absolute",top:0,bottom:0,left:0,right:0,"background-color":"rgba(0, 0, 0, 0.75)","z-index":1},t)},n)))}},function(e,t,n){"use strict";t.__esModule=!0,t.Dropdown=void 0;var o=n(1),r=n(12),a=n(19),i=n(87);function c(e,t){if(null==e)return{};var n,o,r={},a=Object.keys(e);for(o=0;o=0||(r[n]=e[n]);return r}var l=function(e){var t,n;function l(t){var n;return(n=e.call(this,t)||this).state={selected:t.selected,open:!1},n.handleClick=function(){n.state.open&&n.setOpen(!1)},n}n=e,(t=l).prototype=Object.create(n.prototype),t.prototype.constructor=t,t.__proto__=n;var u=l.prototype;return u.componentWillUnmount=function(){window.removeEventListener("click",this.handleClick)},u.setOpen=function(e){var t=this;this.setState({open:e}),e?(setTimeout((function(){return window.addEventListener("click",t.handleClick)})),this.menuRef.focus()):window.removeEventListener("click",this.handleClick)},u.setSelected=function(e){this.setState({selected:e}),this.setOpen(!1),this.props.onSelected(e)},u.buildMenu=function(){var e=this,t=this.props.options,n=(void 0===t?[]:t).map((function(t){return(0,o.createVNode)(1,"div","Dropdown__menuentry",t,0,{onClick:function(n){e.setSelected(t)}},t)}));return n.length?n:"No Options Found"},u.render=function(){var e=this,t=this.props,n=t.color,l=void 0===n?"default":n,u=t.over,d=t.width,s=(t.onClick,t.selected,c(t,["color","over","width","onClick","selected"])),p=s.className,m=c(s,["className"]),f=u?!this.state.open:this.state.open,h=this.state.open?(0,o.createVNode)(1,"div",(0,r.classes)(["Dropdown__menu",u&&"Dropdown__over"]),this.buildMenu(),0,{tabIndex:"-1",style:{width:d}},null,(function(t){e.menuRef=t})):null;return(0,o.createVNode)(1,"div","Dropdown",[(0,o.normalizeProps)((0,o.createComponentVNode)(2,a.Box,Object.assign({width:d,className:(0,r.classes)(["Dropdown__control","Button","Button--color--"+l,p])},m,{onClick:function(t){e.setOpen(!e.state.open)},children:[(0,o.createVNode)(1,"span","Dropdown__selected-text",this.state.selected,0),(0,o.createVNode)(1,"span","Dropdown__arrow-button",(0,o.createComponentVNode)(2,i.Icon,{name:f?"chevron-up":"chevron-down"}),2)]}))),h],0)},l}(o.Component);t.Dropdown=l},function(e,t,n){"use strict";t.__esModule=!0,t.FlexItem=t.computeFlexItemProps=t.Flex=t.computeFlexProps=void 0;var o=n(1),r=n(12),a=n(19);function i(e,t){if(null==e)return{};var n,o,r={},a=Object.keys(e);for(o=0;o=0||(r[n]=e[n]);return r}var c=function(e){var t=e.className,n=e.direction,o=e.wrap,a=e.align,c=e.justify,l=e.spacing,u=void 0===l?0:l,d=i(e,["className","direction","wrap","align","justify","spacing"]);return Object.assign({className:(0,r.classes)(["Flex",u>0&&"Flex--spacing--"+u,t]),style:Object.assign({},d.style,{"flex-direction":n,"flex-wrap":o,"align-items":a,"justify-content":c})},d)};t.computeFlexProps=c;var l=function(e){return(0,o.normalizeProps)((0,o.createComponentVNode)(2,a.Box,Object.assign({},c(e))))};t.Flex=l,l.defaultHooks=r.pureComponentHooks;var u=function(e){var t=e.className,n=e.grow,o=e.order,a=e.align,c=i(e,["className","grow","order","align"]);return Object.assign({className:(0,r.classes)(["Flex__item",t]),style:Object.assign({},c.style,{"flex-grow":n,order:o,"align-self":a})},c)};t.computeFlexItemProps=u;var d=function(e){return(0,o.normalizeProps)((0,o.createComponentVNode)(2,a.Box,Object.assign({},u(e))))};t.FlexItem=d,d.defaultHooks=r.pureComponentHooks,l.Item=d},function(e,t,n){"use strict";t.__esModule=!0,t.NoticeBox=void 0;var o=n(1),r=n(12),a=n(19);var i=function(e){var t=e.className,n=function(e,t){if(null==e)return{};var n,o,r={},a=Object.keys(e);for(o=0;o=0||(r[n]=e[n]);return r}(e,["className"]);return(0,o.normalizeProps)((0,o.createComponentVNode)(2,a.Box,Object.assign({className:(0,r.classes)(["NoticeBox",t])},n)))};t.NoticeBox=i,i.defaultHooks=r.pureComponentHooks},function(e,t,n){"use strict";t.__esModule=!0,t.NumberInput=void 0;var o=n(1),r=n(18),a=n(12),i=n(16),c=n(158),l=n(19);var u=function(e){var t,n;function u(t){var n;n=e.call(this,t)||this;var a=t.value;return n.inputRef=(0,o.createRef)(),n.state={value:a,dragging:!1,editing:!1,internalValue:null,origin:null,suppressingFlicker:!1},n.flickerTimer=null,n.suppressFlicker=function(){var e=n.props.suppressFlicker;e>0&&(n.setState({suppressingFlicker:!0}),clearTimeout(n.flickerTimer),n.flickerTimer=setTimeout((function(){return n.setState({suppressingFlicker:!1})}),e))},n.handleDragStart=function(e){var t=n.props.value;n.state.editing||(document.body.style["pointer-events"]="none",n.ref=e.target,n.setState({dragging:!1,origin:e.screenY,value:t,internalValue:t}),n.timer=setTimeout((function(){n.setState({dragging:!0})}),250),n.dragInterval=setInterval((function(){var t=n.state,o=t.dragging,r=t.value,a=n.props.onDrag;o&&a&&a(e,r)}),500),document.addEventListener("mousemove",n.handleDragMove),document.addEventListener("mouseup",n.handleDragEnd))},n.handleDragMove=function(e){var t=n.props,o=t.minValue,a=t.maxValue,i=t.step,c=t.stepPixelSize;n.setState((function(t){var n=Object.assign({},t),l=n.origin-e.screenY;if(t.dragging){var u=Number.isFinite(o)?o%i:0;n.internalValue=(0,r.clamp)(n.internalValue+l*i/c,o-i,a+i),n.value=(0,r.clamp)(n.internalValue-n.internalValue%i+u,o,a),n.origin=e.screenY}else Math.abs(l)>4&&(n.dragging=!0);return n}))},n.handleDragEnd=function(e){var t=n.props,o=t.onChange,r=t.onDrag,a=n.state,i=a.dragging,c=a.value,l=a.internalValue;if(document.body.style["pointer-events"]="auto",clearTimeout(n.timer),clearInterval(n.dragInterval),n.setState({dragging:!1,editing:!i,origin:null}),document.removeEventListener("mousemove",n.handleDragMove),document.removeEventListener("mouseup",n.handleDragEnd),i)n.suppressFlicker(),o&&o(e,c),r&&r(e,c);else if(n.inputRef){var u=n.inputRef.current;u.value=l;try{u.focus(),u.select()}catch(d){}}},n}return n=e,(t=u).prototype=Object.create(n.prototype),t.prototype.constructor=t,t.__proto__=n,u.prototype.render=function(){var e=this,t=this.state,n=t.dragging,u=t.editing,d=t.value,s=t.suppressingFlicker,p=this.props,m=p.className,f=p.fluid,h=p.animated,C=p.value,g=p.unit,b=p.minValue,v=p.maxValue,N=p.height,V=p.width,y=p.lineHeight,_=p.fontSize,x=p.format,k=p.onChange,L=p.onDrag,w=C;(n||s)&&(w=d);var B=function(e){return(0,o.createVNode)(1,"div","NumberInput__content",e+(g?" "+g:""),0,{unselectable:i.tridentVersion<=4})},S=h&&!n&&!s&&(0,o.createComponentVNode)(2,c.AnimatedNumber,{value:w,format:x,children:B})||B(x?x(w):w);return(0,o.createComponentVNode)(2,l.Box,{className:(0,a.classes)(["NumberInput",f&&"NumberInput--fluid",m]),minWidth:V,minHeight:N,lineHeight:y,fontSize:_,onMouseDown:this.handleDragStart,children:[(0,o.createVNode)(1,"div","NumberInput__barContainer",(0,o.createVNode)(1,"div","NumberInput__bar",null,1,{style:{height:(0,r.clamp)((w-b)/(v-b)*100,0,100)+"%"}}),2),S,(0,o.createVNode)(64,"input","NumberInput__input",null,1,{style:{display:u?undefined:"none",height:N,"line-height":y,"font-size":_},onBlur:function(t){if(u){var n=(0,r.clamp)(t.target.value,b,v);e.setState({editing:!1,value:n}),e.suppressFlicker(),k&&k(t,n),L&&L(t,n)}},onKeyDown:function(t){if(13===t.keyCode){var n=(0,r.clamp)(t.target.value,b,v);return e.setState({editing:!1,value:n}),e.suppressFlicker(),k&&k(t,n),void(L&&L(t,n))}27!==t.keyCode||e.setState({editing:!1})}},null,this.inputRef)]})},u}(o.Component);t.NumberInput=u,u.defaultHooks=a.pureComponentHooks,u.defaultProps={minValue:-Infinity,maxValue:+Infinity,step:1,stepPixelSize:1,suppressFlicker:50}},function(e,t,n){"use strict";t.__esModule=!0,t.ProgressBar=void 0;var o=n(1),r=n(12),a=n(18),i=function(e){var t=e.value,n=e.minValue,i=void 0===n?0:n,c=e.maxValue,l=void 0===c?1:c,u=e.ranges,d=void 0===u?{}:u,s=e.content,p=e.children,m=(t-i)/(l-i),f=s!==undefined||p!==undefined,h=e.color;if(!h)for(var C=0,g=Object.keys(d);C=v[0]&&t<=v[1]){h=b;break}}return h||(h="default"),(0,o.createVNode)(1,"div",(0,r.classes)(["ProgressBar","ProgressBar--color--"+h]),[(0,o.createVNode)(1,"div","ProgressBar__fill",null,1,{style:{width:100*(0,a.clamp)(m,0,1)+"%"}}),(0,o.createVNode)(1,"div","ProgressBar__content",[f&&s,f&&p,!f&&(0,a.toFixed)(100*m)+"%"],0)],4)};t.ProgressBar=i,i.defaultHooks=r.pureComponentHooks},function(e,t,n){"use strict";t.__esModule=!0,t.Section=void 0;var o=n(1),r=n(12),a=n(19);var i=function(e){var t=e.className,n=e.title,i=e.level,c=void 0===i?1:i,l=e.buttons,u=e.content,d=e.children,s=function(e,t){if(null==e)return{};var n,o,r={},a=Object.keys(e);for(o=0;o=0||(r[n]=e[n]);return r}(e,["className","title","level","buttons","content","children"]),p=!(0,r.isFalsy)(n)||!(0,r.isFalsy)(l),m=!(0,r.isFalsy)(u)||!(0,r.isFalsy)(d);return(0,o.normalizeProps)((0,o.createComponentVNode)(2,a.Box,Object.assign({className:(0,r.classes)(["Section","Section--level--"+c,t])},s,{children:[p&&(0,o.createVNode)(1,"div","Section__title",[(0,o.createVNode)(1,"span","Section__titleText",n,0),(0,o.createVNode)(1,"div","Section__buttons",l,0)],4),m&&(0,o.createVNode)(1,"div","Section__content",[u,d],0)]})))};t.Section=i,i.defaultHooks=r.pureComponentHooks},function(e,t,n){"use strict";t.__esModule=!0,t.Tab=t.Tabs=void 0;var o=n(1),r=n(12),a=n(19),i=n(114);function c(e,t){if(null==e)return{};var n,o,r={},a=Object.keys(e);for(o=0;o=0||(r[n]=e[n]);return r}var l=function(e){var t=e,n=Array.isArray(t),o=0;for(t=n?t:t[Symbol.iterator]();;){var r;if(n){if(o>=t.length)break;r=t[o++]}else{if((o=t.next()).done)break;r=o.value}var a=r;if(!a.props||"Tab"!==a.props.__type__){var i=JSON.stringify(a,null,2);throw new Error(" only accepts children of type .This is what we received: "+i)}}},u=function(e){var t,n;function u(t){var n;return(n=e.call(this,t)||this).state={activeTabKey:null},n}n=e,(t=u).prototype=Object.create(n.prototype),t.prototype.constructor=t,t.__proto__=n;var d=u.prototype;return d.getActiveTab=function(){var e=this.state,t=this.props,n=(0,r.normalizeChildren)(t.children);l(n);var o=t.activeTab||e.activeTabKey,a=n.find((function(e){return(e.key||e.props.label)===o}));return a||(a=n[0],o=a&&(a.key||a.props.label)),{tabs:n,activeTab:a,activeTabKey:o}},d.render=function(){var e=this,t=this.props,n=t.className,l=t.vertical,u=(t.children,c(t,["className","vertical","children"])),d=this.getActiveTab(),s=d.tabs,p=d.activeTab,m=d.activeTabKey,f=null;return p&&(f=p.props.content||p.props.children),"function"==typeof f&&(f=f(m)),(0,o.normalizeProps)((0,o.createComponentVNode)(2,a.Box,Object.assign({className:(0,r.classes)(["Tabs",l&&"Tabs--vertical",n])},u,{children:[(0,o.createVNode)(1,"div","Tabs__tabBox",s.map((function(t){var n=t.props,a=n.className,l=n.label,u=(n.content,n.children,n.onClick),d=n.highlight,s=c(n,["className","label","content","children","onClick","highlight"]),p=t.key||t.props.label,f=t.active||p===m;return(0,o.normalizeProps)((0,o.createComponentVNode)(2,i.Button,Object.assign({className:(0,r.classes)(["Tabs__tab",f&&"Tabs__tab--active",d&&!f&&"color-yellow",a]),selected:f,color:"transparent",onClick:function(n){e.setState({activeTabKey:p}),u&&u(n,t)}},s,{children:l}),p))})),0),(0,o.createVNode)(1,"div","Tabs__content",f||null,0)]})))},u}(o.Component);t.Tabs=u;var d=function(e){return null};t.Tab=d,d.defaultProps={__type__:"Tab"},u.Tab=d},function(e,t,n){"use strict";t.__esModule=!0,t.TitleBar=void 0;var o=n(1),r=n(12),a=n(23),i=n(16),c=n(37),l=n(87),u=function(e){switch(e){case c.UI_INTERACTIVE:return"good";case c.UI_UPDATE:return"average";case c.UI_DISABLED:default:return"bad"}},d=function(e){var t=e.className,n=e.title,c=e.status,d=e.fancy,s=e.onDragStart,p=e.onClose;return(0,o.createVNode)(1,"div",(0,r.classes)(["TitleBar",t]),[(0,o.createComponentVNode)(2,l.Icon,{className:"TitleBar__statusIcon",color:u(c),name:"eye"}),(0,o.createVNode)(1,"div","TitleBar__title",n===n.toLowerCase()?(0,a.toTitleCase)(n):n,0),(0,o.createVNode)(1,"div","TitleBar__dragZone",null,1,{onMousedown:function(e){return d&&s(e)}}),!!d&&(0,o.createVNode)(1,"div","TitleBar__close TitleBar__clickable",i.tridentVersion<=4?"x":"\xd7",0,{onclick:p})],0)};t.TitleBar=d,d.defaultHooks=r.pureComponentHooks},function(e,t,n){"use strict";t.__esModule=!0,t.Chart=void 0;var o=n(1),r=n(24),a=n(19),i=n(12),c=n(16);var l=function(e,t,n,o){if(0===e.length)return[];var a=(0,r.zipWith)(Math.min).apply(void 0,e),i=(0,r.zipWith)(Math.max).apply(void 0,e);return n!==undefined&&(a[0]=n[0],i[0]=n[1]),o!==undefined&&(a[1]=o[0],i[1]=o[1]),(0,r.map)((function(e){return(0,r.zipWith)((function(e,t,n,o){return(e-t)/(n-t)*o}))(e,a,i,t)}))(e)},u=function(e){for(var t="",n=0;n=0||(r[n]=e[n]);return r}(t,["data","rangeX","rangeY","fillColor","strokeColor","strokeWidth"]),g=this.state.viewBox,b=l(r,g,i,c);if(b.length>0){var v=b[0],N=b[b.length-1];b.push([g[0]+h,N[1]]),b.push([g[0]+h,-h]),b.push([-h,-h]),b.push([-h,v[1]])}var V=u(b);return(0,o.normalizeProps)((0,o.createComponentVNode)(2,a.Box,Object.assign({position:"relative"},C,{children:function(t){return(0,o.normalizeProps)((0,o.createVNode)(1,"div",null,(0,o.createVNode)(32,"svg",null,(0,o.createVNode)(32,"polyline",null,null,1,{transform:"scale(1, -1) translate(0, -"+g[1]+")",fill:s,stroke:m,"stroke-width":h,points:V}),2,{viewBox:"0 0 "+g[0]+" "+g[1],preserveAspectRatio:"none",style:{position:"absolute",top:0,left:0,right:0,bottom:0,overflow:"hidden"}}),2,Object.assign({},t),null,e.ref))}})))},r}(o.Component);d.defaultHooks=i.pureComponentHooks;var s={Line:c.tridentVersion<=4?function(e){return null}:d};t.Chart=s},function(e,t,n){"use strict";t.__esModule=!0,t.AiAirlock=void 0;var o=n(1),r=n(3),a=n(2);t.AiAirlock=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data,c={2:{color:"good",localStatusText:"Offline"},1:{color:"average",localStatusText:"Caution"},0:{color:"bad",localStatusText:"Optimal"}},l=c[i.power.main]||c[0],u=c[i.power.backup]||c[0],d=c[i.shock]||c[0];return(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Section,{title:"Power Status",children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Main",color:l.color,buttons:(0,o.createComponentVNode)(2,a.Button,{icon:"lightbulb-o",disabled:!i.power.main,content:"Disrupt",onClick:function(){return n("disrupt-main")}}),children:[i.power.main?"Online":"Offline"," ",i.wires.main_1&&i.wires.main_2?i.power.main_timeleft>0&&"["+i.power.main_timeleft+"s]":"[Wires have been cut!]"]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Backup",color:u.color,buttons:(0,o.createComponentVNode)(2,a.Button,{icon:"lightbulb-o",disabled:!i.power.backup,content:"Disrupt",onClick:function(){return n("disrupt-backup")}}),children:[i.power.backup?"Online":"Offline"," ",i.wires.backup_1&&i.wires.backup_2?i.power.backup_timeleft>0&&"["+i.power.backup_timeleft+"s]":"[Wires have been cut!]"]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Electrify",color:d.color,buttons:(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Button,{icon:"wrench",disabled:!(i.wires.shock&&0===i.shock),content:"Restore",onClick:function(){return n("shock-restore")}}),(0,o.createComponentVNode)(2,a.Button,{icon:"bolt",disabled:!i.wires.shock,content:"Temporary",onClick:function(){return n("shock-temp")}}),(0,o.createComponentVNode)(2,a.Button,{icon:"bolt",disabled:!i.wires.shock,content:"Permanent",onClick:function(){return n("shock-perm")}})],4),children:[2===i.shock?"Safe":"Electrified"," ",(i.wires.shock?i.shock_timeleft>0&&"["+i.shock_timeleft+"s]":"[Wires have been cut!]")||-1===i.shock_timeleft&&"[Permanent]"]})]})}),(0,o.createComponentVNode)(2,a.Section,{title:"Access and Door Control",children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"ID Scan",color:"bad",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:i.id_scanner?"power-off":"times",content:i.id_scanner?"Enabled":"Disabled",selected:i.id_scanner,disabled:!i.wires.id_scanner,onClick:function(){return n("idscan-toggle")}}),children:!i.wires.id_scanner&&"[Wires have been cut!]"}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Emergency Access",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:i.emergency?"power-off":"times",content:i.emergency?"Enabled":"Disabled",selected:i.emergency,onClick:function(){return n("emergency-toggle")}})}),(0,o.createComponentVNode)(2,a.LabeledList.Divider),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Door Bolts",color:"bad",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:i.locked?"lock":"unlock",content:i.locked?"Lowered":"Raised",selected:i.locked,disabled:!i.wires.bolts,onClick:function(){return n("bolt-toggle")}}),children:!i.wires.bolts&&"[Wires have been cut!]"}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Door Bolt Lights",color:"bad",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:i.lights?"power-off":"times",content:i.lights?"Enabled":"Disabled",selected:i.lights,disabled:!i.wires.lights,onClick:function(){return n("light-toggle")}}),children:!i.wires.lights&&"[Wires have been cut!]"}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Door Force Sensors",color:"bad",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:i.safe?"power-off":"times",content:i.safe?"Enabled":"Disabled",selected:i.safe,disabled:!i.wires.safe,onClick:function(){return n("safe-toggle")}}),children:!i.wires.safe&&"[Wires have been cut!]"}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Door Timing Safety",color:"bad",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:i.speed?"power-off":"times",content:i.speed?"Enabled":"Disabled",selected:i.speed,disabled:!i.wires.timing,onClick:function(){return n("speed-toggle")}}),children:!i.wires.timing&&"[Wires have been cut!]"}),(0,o.createComponentVNode)(2,a.LabeledList.Divider),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Door Control",color:"bad",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:i.opened?"sign-out-alt":"sign-in-alt",content:i.opened?"Open":"Closed",selected:i.opened,disabled:i.locked||i.welded,onClick:function(){return n("open-close")}}),children:!(!i.locked&&!i.welded)&&(0,o.createVNode)(1,"span",null,[(0,o.createTextVNode)("[Door is "),i.locked?"bolted":"",i.locked&&i.welded?" and ":"",i.welded?"welded":"",(0,o.createTextVNode)("!]")],0)})]})})],4)}},function(e,t,n){"use strict";t.__esModule=!0,t.AirAlarm=void 0;var o=n(1),r=n(18),a=n(23),i=n(3),c=n(2),l=n(37),u=n(69);t.AirAlarm=function(e){var t=e.state,n=(0,i.useBackend)(e),r=n.act,a=n.data,c=a.locked&&!a.siliconUser;return(0,o.createFragment)([(0,o.createComponentVNode)(2,u.InterfaceLockNoticeBox,{siliconUser:a.siliconUser,locked:a.locked,onLockStatusChange:function(){return r("lock")}}),(0,o.createComponentVNode)(2,d,{state:t}),!c&&(0,o.createComponentVNode)(2,p,{state:t})],0)};var d=function(e){var t=(0,i.useBackend)(e).data,n=(t.environment_data||[]).filter((function(e){return e.value>=.01})),a={0:{color:"good",localStatusText:"Optimal"},1:{color:"average",localStatusText:"Caution"},2:{color:"bad",localStatusText:"Danger (Internals Required)"}},l=a[t.danger_level]||a[0];return(0,o.createComponentVNode)(2,c.Section,{title:"Air Status",children:(0,o.createComponentVNode)(2,c.LabeledList,{children:[n.length>0&&(0,o.createFragment)([n.map((function(e){var t=a[e.danger_level]||a[0];return(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:e.name,color:t.color,children:[(0,r.toFixed)(e.value,2),e.unit]},e.name)})),(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:"Local status",color:l.color,children:l.localStatusText}),(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:"Area status",color:t.atmos_alarm||t.fire_alarm?"bad":"good",children:(t.atmos_alarm?"Atmosphere Alarm":t.fire_alarm&&"Fire Alarm")||"Nominal"})],0)||(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:"Warning",color:"bad",children:"Cannot obtain air sample for analysis."}),!!t.emagged&&(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:"Warning",color:"bad",children:"Safety measures offline. Device may exhibit abnormal behavior."})]})})},s={home:{title:"Air Controls",component:function(){return m}},vents:{title:"Vent Controls",component:function(){return f}},scrubbers:{title:"Scrubber Controls",component:function(){return C}},modes:{title:"Operating Mode",component:function(){return b}},thresholds:{title:"Alarm Thresholds",component:function(){return v}}},p=function(e){var t=e.state,n=(0,i.useBackend)(e),r=n.act,a=n.config,l=s[a.screen]||s.home,u=l.component();return(0,o.createComponentVNode)(2,c.Section,{title:l.title,buttons:"home"!==a.screen&&(0,o.createComponentVNode)(2,c.Button,{icon:"arrow-left",content:"Back",onClick:function(){return r("tgui:view",{screen:"home"})}}),children:(0,o.createComponentVNode)(2,u,{state:t})})},m=function(e){var t=(0,i.useBackend)(e),n=t.act,r=t.data,a=r.mode,l=r.atmos_alarm;return(0,o.createFragment)([(0,o.createComponentVNode)(2,c.Button,{icon:l?"exclamation-triangle":"exclamation",color:l&&"caution",content:"Area Atmosphere Alarm",onClick:function(){return n(l?"reset":"alarm")}}),(0,o.createComponentVNode)(2,c.Box,{mt:1}),(0,o.createComponentVNode)(2,c.Button,{icon:3===a?"exclamation-triangle":"exclamation",color:3===a&&"danger",content:"Panic Siphon",onClick:function(){return n("mode",{mode:3===a?1:3})}}),(0,o.createComponentVNode)(2,c.Box,{mt:2}),(0,o.createComponentVNode)(2,c.Button,{icon:"sign-out-alt",content:"Vent Controls",onClick:function(){return n("tgui:view",{screen:"vents"})}}),(0,o.createComponentVNode)(2,c.Box,{mt:1}),(0,o.createComponentVNode)(2,c.Button,{icon:"filter",content:"Scrubber Controls",onClick:function(){return n("tgui:view",{screen:"scrubbers"})}}),(0,o.createComponentVNode)(2,c.Box,{mt:1}),(0,o.createComponentVNode)(2,c.Button,{icon:"cog",content:"Operating Mode",onClick:function(){return n("tgui:view",{screen:"modes"})}}),(0,o.createComponentVNode)(2,c.Box,{mt:1}),(0,o.createComponentVNode)(2,c.Button,{icon:"chart-bar",content:"Alarm Thresholds",onClick:function(){return n("tgui:view",{screen:"thresholds"})}})],4)},f=function(e){var t=e.state,n=(0,i.useBackend)(e).data.vents;return n&&0!==n.length?n.map((function(e){return(0,o.normalizeProps)((0,o.createComponentVNode)(2,h,Object.assign({state:t},e),e.id_tag))})):"Nothing to show"},h=function(e){var t=e.id_tag,n=e.long_name,r=e.power,l=e.checks,u=e.excheck,d=e.incheck,s=e.direction,p=e.external,m=e.internal,f=e.extdefault,h=e.intdefault,C=(0,i.useBackend)(e).act;return(0,o.createComponentVNode)(2,c.Section,{level:2,title:(0,a.decodeHtmlEntities)(n),buttons:(0,o.createComponentVNode)(2,c.Button,{icon:r?"power-off":"times",selected:r,content:r?"On":"Off",onClick:function(){return C("power",{id_tag:t,val:Number(!r)})}}),children:(0,o.createComponentVNode)(2,c.LabeledList,{children:[(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:"Mode",children:"release"===s?"Pressurizing":"Releasing"}),(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:"Pressure Regulator",children:[(0,o.createComponentVNode)(2,c.Button,{icon:"sign-in-alt",content:"Internal",selected:d,onClick:function(){return C("incheck",{id_tag:t,val:l})}}),(0,o.createComponentVNode)(2,c.Button,{icon:"sign-out-alt",content:"External",selected:u,onClick:function(){return C("excheck",{id_tag:t,val:l})}})]}),!!d&&(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:"Internal Target",children:[(0,o.createComponentVNode)(2,c.NumberInput,{value:Math.round(m),unit:"kPa",width:"75px",minValue:0,step:10,maxValue:5066,onChange:function(e,n){return C("set_internal_pressure",{id_tag:t,value:n})}}),(0,o.createComponentVNode)(2,c.Button,{icon:"undo",disabled:h,content:"Reset",onClick:function(){return C("reset_internal_pressure",{id_tag:t})}})]}),!!u&&(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:"External Target",children:[(0,o.createComponentVNode)(2,c.NumberInput,{value:Math.round(p),unit:"kPa",width:"75px",minValue:0,step:10,maxValue:5066,onChange:function(e,n){return C("set_external_pressure",{id_tag:t,value:n})}}),(0,o.createComponentVNode)(2,c.Button,{icon:"undo",disabled:f,content:"Reset",onClick:function(){return C("reset_external_pressure",{id_tag:t})}})]})]})})},C=function(e){var t=e.state,n=(0,i.useBackend)(e).data.scrubbers;return n&&0!==n.length?n.map((function(e){return(0,o.normalizeProps)((0,o.createComponentVNode)(2,g,Object.assign({state:t},e),e.id_tag))})):"Nothing to show"},g=function(e){var t=e.long_name,n=e.power,r=e.scrubbing,u=e.id_tag,d=e.widenet,s=e.filter_types,p=(0,i.useBackend)(e).act;return(0,o.createComponentVNode)(2,c.Section,{level:2,title:(0,a.decodeHtmlEntities)(t),buttons:(0,o.createComponentVNode)(2,c.Button,{icon:n?"power-off":"times",content:n?"On":"Off",selected:n,onClick:function(){return p("power",{id_tag:u,val:Number(!n)})}}),children:(0,o.createComponentVNode)(2,c.LabeledList,{children:[(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:"Mode",children:[(0,o.createComponentVNode)(2,c.Button,{icon:r?"filter":"sign-in-alt",color:r||"danger",content:r?"Scrubbing":"Siphoning",onClick:function(){return p("scrubbing",{id_tag:u,val:Number(!r)})}}),(0,o.createComponentVNode)(2,c.Button,{icon:d?"expand":"compress",selected:d,content:d?"Expanded range":"Normal range",onClick:function(){return p("widenet",{id_tag:u,val:Number(!d)})}})]}),(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:"Filters",children:r&&s.map((function(e){return(0,o.createComponentVNode)(2,c.Button,{icon:e.enabled?"check-square-o":"square-o",content:(0,l.getGasLabel)(e.gas_id,e.gas_name),title:e.gas_name,selected:e.enabled,onClick:function(){return p("toggle_filter",{id_tag:u,val:e.gas_id})}},e.gas_id)}))||"N/A"})]})})},b=function(e){var t=(0,i.useBackend)(e),n=t.act,r=t.data.modes;return r&&0!==r.length?r.map((function(e){return(0,o.createFragment)([(0,o.createComponentVNode)(2,c.Button,{icon:e.selected?"check-square-o":"square-o",selected:e.selected,color:e.selected&&e.danger&&"danger",content:e.name,onClick:function(){return n("mode",{mode:e.mode})}}),(0,o.createComponentVNode)(2,c.Box,{mt:1})],4,e.mode)})):"Nothing to show"},v=function(e){var t=(0,i.useBackend)(e),n=t.act,a=t.data.thresholds;return(0,o.createVNode)(1,"table","LabeledList",[(0,o.createVNode)(1,"thead",null,(0,o.createVNode)(1,"tr",null,[(0,o.createVNode)(1,"td"),(0,o.createVNode)(1,"td","color-bad","min2",16),(0,o.createVNode)(1,"td","color-average","min1",16),(0,o.createVNode)(1,"td","color-average","max1",16),(0,o.createVNode)(1,"td","color-bad","max2",16)],4),2),(0,o.createVNode)(1,"tbody",null,a.map((function(e){return(0,o.createVNode)(1,"tr",null,[(0,o.createVNode)(1,"td","LabeledList__label",e.name,0),e.settings.map((function(e){return(0,o.createVNode)(1,"td",null,(0,o.createComponentVNode)(2,c.Button,{content:(0,r.toFixed)(e.selected,2),onClick:function(){return n("threshold",{env:e.env,"var":e.val})}}),2,null,e.val)}))],0,null,e.name)})),0)],4,{style:{width:"100%"}})}},function(e,t,n){"use strict";t.__esModule=!0,t.AirlockElectronics=void 0;var o=n(1),r=n(3),a=n(2);t.AirlockElectronics=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data,c=i.regions||[],l={0:{icon:"times-circle"},1:{icon:"stop-circle"},2:{icon:"check-circle"}};return(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Section,{title:"Main",children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Access Required",children:(0,o.createComponentVNode)(2,a.Button,{icon:i.oneAccess?"unlock":"lock",content:i.oneAccess?"One":"All",onClick:function(){return n("one_access")}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Mass Modify",children:[(0,o.createComponentVNode)(2,a.Button,{icon:"check-double",content:"Grant All",onClick:function(){return n("grant_all")}}),(0,o.createComponentVNode)(2,a.Button,{icon:"undo",content:"Clear All",onClick:function(){return n("clear_all")}})]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Unrestricted Access",children:[(0,o.createComponentVNode)(2,a.Button,{icon:1&i.unres_direction?"check-square-o":"square-o",content:"North",selected:1&i.unres_direction,onClick:function(){return n("direc_set",{unres_direction:"1"})}}),(0,o.createComponentVNode)(2,a.Button,{icon:2&i.unres_direction?"check-square-o":"square-o",content:"East",selected:2&i.unres_direction,onClick:function(){return n("direc_set",{unres_direction:"2"})}}),(0,o.createComponentVNode)(2,a.Button,{icon:4&i.unres_direction?"check-square-o":"square-o",content:"South",selected:4&i.unres_direction,onClick:function(){return n("direc_set",{unres_direction:"4"})}}),(0,o.createComponentVNode)(2,a.Button,{icon:8&i.unres_direction?"check-square-o":"square-o",content:"West",selected:8&i.unres_direction,onClick:function(){return n("direc_set",{unres_direction:"8"})}})]})]})}),(0,o.createComponentVNode)(2,a.Section,{title:"Access",children:(0,o.createComponentVNode)(2,a.Box,{height:"261px",children:(0,o.createComponentVNode)(2,a.Tabs,{vertical:!0,children:c.map((function(e){var t=e.name,r=e.accesses||[],i=l[function(e){var t=!1,n=!1;return e.forEach((function(e){e.req?t=!0:n=!0})),!t&&n?0:t&&n?1:2}(r)].icon;return(0,o.createComponentVNode)(2,a.Tabs.Tab,{icon:i,label:t,children:function(){return r.map((function(e){return(0,o.createComponentVNode)(2,a.Box,{children:(0,o.createComponentVNode)(2,a.Button,{icon:e.req?"check-square-o":"square-o",content:e.name,selected:e.req,onClick:function(){return n("set",{access:e.id})}})},e.id)}))}},t)}))})})})],4)}},function(e,t,n){"use strict";t.__esModule=!0,t.Apc=void 0;var o=n(1),r=n(3),a=n(2),i=n(69);t.Apc=function(e){var t=(0,r.useBackend)(e),n=t.act,c=t.data,l=c.locked&&!c.siliconUser,u={2:{color:"good",externalPowerText:"External Power",chargingText:"Fully Charged"},1:{color:"average",externalPowerText:"Low External Power",chargingText:"Charging"},0:{color:"bad",externalPowerText:"No External Power",chargingText:"Not Charging"}},d={1:{icon:"terminal",content:"Override Programming",action:"hack"},2:{icon:"caret-square-down",content:"Shunt Core Process",action:"occupy"},3:{icon:"caret-square-left",content:"Return to Main Core",action:"deoccupy"},4:{icon:"caret-square-down",content:"Shunt Core Process",action:"occupy"}},s=u[c.externalPower]||u[0],p=u[c.chargingStatus]||u[0],m=c.powerChannels||[],f=d[c.malfStatus]||d[0],h=c.powerCellStatus/100;return c.failTime>0?(0,o.createComponentVNode)(2,a.NoticeBox,{children:[(0,o.createVNode)(1,"b",null,(0,o.createVNode)(1,"h3",null,"SYSTEM FAILURE",16),2),(0,o.createVNode)(1,"i",null,"I/O regulators malfunction detected! Waiting for system reboot...",16),(0,o.createVNode)(1,"br"),"Automatic reboot in ",c.failTime," seconds...",(0,o.createComponentVNode)(2,a.Button,{icon:"sync",content:"Reboot Now",onClick:function(){return n("reboot")}})]}):(0,o.createFragment)([(0,o.createComponentVNode)(2,i.InterfaceLockNoticeBox,{siliconUser:c.siliconUser,locked:c.locked,onLockStatusChange:function(){return n("lock")}}),(0,o.createComponentVNode)(2,a.Section,{title:"Power Status",children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Main Breaker",color:s.color,buttons:(0,o.createComponentVNode)(2,a.Button,{icon:c.isOperating?"power-off":"times",content:c.isOperating?"On":"Off",selected:c.isOperating&&!l,disabled:l,onClick:function(){return n("breaker")}}),children:["[ ",s.externalPowerText," ]"]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Power Cell",children:(0,o.createComponentVNode)(2,a.ProgressBar,{color:"good",value:h})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Charge Mode",color:p.color,buttons:(0,o.createComponentVNode)(2,a.Button,{icon:c.chargeMode?"sync":"close",content:c.chargeMode?"Auto":"Off",disabled:l,onClick:function(){return n("charge")}}),children:["[ ",p.chargingText," ]"]})]})}),(0,o.createComponentVNode)(2,a.Section,{title:"Power Channels",children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[m.map((function(e){var t=e.topicParams;return(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:e.title,buttons:(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Box,{inline:!0,mx:2,color:e.status>=2?"good":"bad",children:e.status>=2?"On":"Off"}),(0,o.createComponentVNode)(2,a.Button,{icon:"sync",content:"Auto",selected:!l&&(1===e.status||3===e.status),disabled:l,onClick:function(){return n("channel",t.auto)}}),(0,o.createComponentVNode)(2,a.Button,{icon:"power-off",content:"On",selected:!l&&2===e.status,disabled:l,onClick:function(){return n("channel",t.on)}}),(0,o.createComponentVNode)(2,a.Button,{icon:"times",content:"Off",selected:!l&&0===e.status,disabled:l,onClick:function(){return n("channel",t.off)}})],4),children:e.powerLoad},e.title)})),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Total Load",children:(0,o.createVNode)(1,"b",null,c.totalLoad,0)})]})}),(0,o.createComponentVNode)(2,a.Section,{title:"Misc",buttons:!!c.siliconUser&&(0,o.createFragment)([!!c.malfStatus&&(0,o.createComponentVNode)(2,a.Button,{icon:f.icon,content:f.content,color:"bad",onClick:function(){return n(f.action)}}),(0,o.createComponentVNode)(2,a.Button,{icon:"lightbulb-o",content:"Overload",onClick:function(){return n("overload")}})],0),children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Cover Lock",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:c.coverLocked?"lock":"unlock",content:c.coverLocked?"Engaged":"Disengaged",disabled:l,onClick:function(){return n("cover")}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Emergency Lighting",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:"lightbulb-o",content:c.emergencyLights?"Enabled":"Disabled",disabled:l,onClick:function(){return n("emergency_lighting")}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Night Shift Lighting",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:"lightbulb-o",content:c.nightshiftLights?"Enabled":"Disabled",disabled:l,onClick:function(){return n("toggle_nightshift")}})})]}),c.hijackable&&(0,o.createComponentVNode)(2,a.Section,{title:"Hijacking",buttons:(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Button,{icon:"unlock",content:"Hijack",disabled:c.hijacker,onClick:function(){return n("hijack")}}),(0,o.createComponentVNode)(2,a.Button,{icon:"lock",content:"Lockdown",disabled:!c.lockdownavail,onClick:function(){return n("lockdown")}}),(0,o.createComponentVNode)(2,a.Button,{icon:"lightbulb-o",content:"Drain",disabled:!c.drainavail,onClick:function(){return n("drain")}})],4)})],0)}},function(e,t,n){"use strict";t.__esModule=!0,t.AtmosAlertConsole=void 0;var o=n(1),r=n(3),a=n(2);t.AtmosAlertConsole=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data,c=i.priority||[],l=i.minor||[];return(0,o.createComponentVNode)(2,a.Section,{title:"Alarms",children:(0,o.createVNode)(1,"ul",null,[c.length>0?c.map((function(e){return(0,o.createVNode)(1,"li",null,(0,o.createComponentVNode)(2,a.Button,{icon:"times",content:e,color:"bad",onClick:function(){return n("clear",{zone:e})}}),2,null,e)})):(0,o.createVNode)(1,"li","color-good","No Priority Alerts",16),l.length>0?l.map((function(e){return(0,o.createVNode)(1,"li",null,(0,o.createComponentVNode)(2,a.Button,{icon:"times",content:e,color:"average",onClick:function(){return n("clear",{zone:e})}}),2,null,e)})):(0,o.createVNode)(1,"li","color-good","No Minor Alerts",16)],0)})}},function(e,t,n){"use strict";t.__esModule=!0,t.AtmosControlConsole=void 0;var o=n(1),r=n(24),a=n(18),i=n(3),c=n(2);t.AtmosControlConsole=function(e){var t=(0,i.useBackend)(e),n=t.act,l=t.data,u=l.sensors||[];return(0,o.createFragment)([(0,o.createComponentVNode)(2,c.Section,{title:!!l.tank&&u[0].long_name,children:u.map((function(e){var t=e.gases||{};return(0,o.createComponentVNode)(2,c.Section,{title:!l.tank&&e.long_name,level:2,children:(0,o.createComponentVNode)(2,c.LabeledList,{children:[(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:"Pressure",children:(0,a.toFixed)(e.pressure,2)+" kPa"}),!!e.temperature&&(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:"Temperature",children:(0,a.toFixed)(e.temperature,2)+" K"}),(0,r.map)((function(e,t){return(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:t,children:(0,a.toFixed)(e,2)+"%"})}))(t)]})},e.id_tag)}))}),l.tank&&(0,o.createComponentVNode)(2,c.Section,{title:"Controls",buttons:(0,o.createComponentVNode)(2,c.Button,{icon:"undo",content:"Reconnect",onClick:function(){return n("reconnect")}}),children:(0,o.createComponentVNode)(2,c.LabeledList,{children:[(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:"Input Injector",children:(0,o.createComponentVNode)(2,c.Button,{icon:l.inputting?"power-off":"times",content:l.inputting?"Injecting":"Off",selected:l.inputting,onClick:function(){return n("input")}})}),(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:"Input Rate",children:(0,o.createComponentVNode)(2,c.NumberInput,{value:l.inputRate,unit:"L/s",width:"63px",minValue:0,maxValue:200,suppressFlicker:2e3,onChange:function(e,t){return n("rate",{rate:t})}})}),(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:"Output Regulator",children:(0,o.createComponentVNode)(2,c.Button,{icon:l.outputting?"power-off":"times",content:l.outputting?"Open":"Closed",selected:l.outputting,onClick:function(){return n("output")}})}),(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:"Output Pressure",children:(0,o.createComponentVNode)(2,c.NumberInput,{value:parseFloat(l.outputPressure),unit:"kPa",width:"75px",minValue:0,maxValue:4500,step:10,suppressFlicker:2e3,onChange:function(e,t){return n("pressure",{pressure:t})}})})]})})],0)}},function(e,t,n){"use strict";t.__esModule=!0,t.AtmosFilter=void 0;var o=n(1),r=n(3),a=n(2),i=n(37);t.AtmosFilter=function(e){var t=(0,r.useBackend)(e),n=t.act,c=t.data,l=c.filter_types||[];return(0,o.createComponentVNode)(2,a.Section,{children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Power",children:(0,o.createComponentVNode)(2,a.Button,{icon:c.on?"power-off":"times",content:c.on?"On":"Off",selected:c.on,onClick:function(){return n("power")}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Transfer Rate",children:[(0,o.createComponentVNode)(2,a.NumberInput,{animated:!0,value:parseFloat(c.rate),width:"63px",unit:"L/s",minValue:0,maxValue:200,onDrag:function(e,t){return n("rate",{rate:t})}}),(0,o.createComponentVNode)(2,a.Button,{ml:1,icon:"plus",content:"Max",disabled:c.rate===c.max_rate,onClick:function(){return n("rate",{rate:"max"})}})]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Filter",children:l.map((function(e){return(0,o.createComponentVNode)(2,a.Button,{selected:e.selected,content:(0,i.getGasLabel)(e.id,e.name),onClick:function(){return n("filter",{mode:e.id})}},e.id)}))})]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.AtmosMixer=void 0;var o=n(1),r=n(3),a=n(2);t.AtmosMixer=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data;return(0,o.createComponentVNode)(2,a.Section,{children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Power",children:(0,o.createComponentVNode)(2,a.Button,{icon:i.on?"power-off":"times",content:i.on?"On":"Off",selected:i.on,onClick:function(){return n("power")}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Output Pressure",children:[(0,o.createComponentVNode)(2,a.NumberInput,{animated:!0,value:parseFloat(i.set_pressure),unit:"kPa",width:"75px",minValue:0,maxValue:4500,step:10,onChange:function(e,t){return n("pressure",{pressure:t})}}),(0,o.createComponentVNode)(2,a.Button,{ml:1,icon:"plus",content:"Max",disabled:i.set_pressure===i.max_pressure,onClick:function(){return n("pressure",{pressure:"max"})}})]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Node 1",children:(0,o.createComponentVNode)(2,a.NumberInput,{animated:!0,value:i.node1_concentration,unit:"%",width:"60px",minValue:0,maxValue:100,stepPixelSize:2,onDrag:function(e,t){return n("node1",{concentration:t})}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Node 2",children:(0,o.createComponentVNode)(2,a.NumberInput,{animated:!0,value:i.node2_concentration,unit:"%",width:"60px",minValue:0,maxValue:100,stepPixelSize:2,onDrag:function(e,t){return n("node2",{concentration:t})}})})]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.AtmosPump=void 0;var o=n(1),r=n(3),a=n(2);t.AtmosPump=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data;return(0,o.createComponentVNode)(2,a.Section,{children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Power",children:(0,o.createComponentVNode)(2,a.Button,{icon:i.on?"power-off":"times",content:i.on?"On":"Off",selected:i.on,onClick:function(){return n("power")}})}),i.max_rate?(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Transfer Rate",children:[(0,o.createComponentVNode)(2,a.NumberInput,{animated:!0,value:parseFloat(i.rate),width:"63px",unit:"L/s",minValue:0,maxValue:200,onChange:function(e,t){return n("rate",{rate:t})}}),(0,o.createComponentVNode)(2,a.Button,{ml:1,icon:"plus",content:"Max",disabled:i.rate===i.max_rate,onClick:function(){return n("rate",{rate:"max"})}})]}):(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Output Pressure",children:[(0,o.createComponentVNode)(2,a.NumberInput,{animated:!0,value:parseFloat(i.pressure),unit:"kPa",width:"75px",minValue:0,maxValue:4500,step:10,onChange:function(e,t){return n("pressure",{pressure:t})}}),(0,o.createComponentVNode)(2,a.Button,{ml:1,icon:"plus",content:"Max",disabled:i.pressure===i.max_pressure,onClick:function(){return n("pressure",{pressure:"max"})}})]})]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.BankMachine=void 0;var o=n(1),r=n(3),a=n(2);t.BankMachine=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data,c=i.current_balance,l=i.siphoning,u=i.station_name;return(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Section,{title:u+" Vault",children:(0,o.createComponentVNode)(2,a.LabeledList,{children:(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Current Balance",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:l?"times":"sync",content:l?"Stop Siphoning":"Siphon Credits",selected:l,onClick:function(){return n(l?"halt":"siphon")}}),children:c+" cr"})})}),(0,o.createComponentVNode)(2,a.NoticeBox,{textAlign:"center",children:"Authorized personnel only"})],4)}},function(e,t,n){"use strict";t.__esModule=!0,t.BluespaceArtillery=void 0;var o=n(1),r=n(3),a=n(2);t.BluespaceArtillery=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data,c=i.notice,l=i.connected,u=i.unlocked,d=i.target;return(0,o.createFragment)([!!c&&(0,o.createComponentVNode)(2,a.NoticeBox,{children:c}),l?(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Section,{title:"Target",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:"crosshairs",disabled:!u,onClick:function(){return n("recalibrate")}}),children:(0,o.createComponentVNode)(2,a.Box,{color:d?"average":"bad",fontSize:"25px",children:d||"No Target Set"})}),(0,o.createComponentVNode)(2,a.Section,{children:u?(0,o.createComponentVNode)(2,a.Box,{style:{margin:"auto"},children:(0,o.createComponentVNode)(2,a.Button,{fluid:!0,content:"FIRE",color:"bad",disabled:!d,fontSize:"30px",textAlign:"center",lineHeight:"46px",onClick:function(){return n("fire")}})}):(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Box,{color:"bad",fontSize:"18px",children:"Bluespace artillery is currently locked."}),(0,o.createComponentVNode)(2,a.Box,{mt:1,children:"Awaiting authorization via keycard reader from at minimum two station heads."})],4)})],4):(0,o.createComponentVNode)(2,a.Section,{children:(0,o.createComponentVNode)(2,a.LabeledList,{children:(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Maintenance",children:(0,o.createComponentVNode)(2,a.Button,{icon:"wrench",content:"Complete Deployment",onClick:function(){return n("build")}})})})})],0)}},function(e,t,n){"use strict";t.__esModule=!0,t.Bepis=void 0;var o=n(1),r=(n(23),n(16)),a=n(2);t.Bepis=function(e){var t=e.state,n=t.config,i=t.data,c=n.ref,l=i.amount;return(0,o.createComponentVNode)(2,a.Section,{title:"Business Exploration Protocol Incubation Sink",children:[(0,o.createComponentVNode)(2,a.Section,{title:"Information",backgroundColor:"#450F44",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:"power-off",content:i.manual_power?"Off":"On",selected:!i.manual_power,onClick:function(){return(0,r.act)(c,"toggle_power")}}),children:"All you need to know about the B.E.P.I.S. and you! The B.E.P.I.S. performs hundreds of tests a second using electrical and financial resources to invent new products, or discover new technologies otherwise overlooked for being too risky or too niche to produce!"}),(0,o.createComponentVNode)(2,a.Section,{title:"Payer's Account",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:"redo-alt",content:"Reset Account",onClick:function(){return(0,r.act)(c,"account_reset")}}),children:["Console is currently being operated by ",i.account_owner?i.account_owner:"no one","."]}),(0,o.createComponentVNode)(2,a.Grid,{children:[(0,o.createComponentVNode)(2,a.Grid.Column,{size:1.5,children:[(0,o.createComponentVNode)(2,a.Section,{title:"Stored Data and Statistics",children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Deposited Credits",children:i.stored_cash}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Investment Variability",children:[i.accuracy_percentage,"%"]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Innovation Bonus",children:i.positive_cash_offset}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Risk Offset",color:"bad",children:i.negative_cash_offset}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Deposit Amount",children:(0,o.createComponentVNode)(2,a.NumberInput,{value:l,unit:"Credits",minValue:100,maxValue:3e4,step:100,stepPixelSize:2,onChange:function(e,t){return(0,r.act)(c,"amount",{amount:t})}})})]})}),(0,o.createComponentVNode)(2,a.Box,{children:[(0,o.createComponentVNode)(2,a.Button,{icon:"donate",content:"Deposit Credits",disabled:1===i.manual_power||1===i.silicon_check,onClick:function(){return(0,r.act)(c,"deposit_cash")}}),(0,o.createComponentVNode)(2,a.Button,{icon:"eject",content:"Withdraw Credits",disabled:1===i.manual_power,onClick:function(){return(0,r.act)(c,"withdraw_cash")}})]})]}),(0,o.createComponentVNode)(2,a.Grid.Column,{children:(0,o.createComponentVNode)(2,a.Section,{title:"Market Data and Analysis",children:[(0,o.createComponentVNode)(2,a.Box,{children:["Average technology cost: ",i.mean_value]}),i.error_name&&(0,o.createComponentVNode)(2,a.Box,{color:"bad",children:"Previous Failure Reason: Deposited cash value too low. Please insert more money for future success."}),(0,o.createComponentVNode)(2,a.Box,{m:1}),(0,o.createComponentVNode)(2,a.Button,{icon:"microscope",disabled:1===i.manual_power,onClick:function(){return(0,r.act)(c,"begin_experiment")},content:"Begin Testing"})]})})]})]})}},function(e,t,n){"use strict";t.__esModule=!0,t.BorgPanel=void 0;var o=n(1),r=n(3),a=n(2);t.BorgPanel=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data,c=i.borg||{},l=i.cell||{},u=l.charge/l.maxcharge,d=i.channels||[],s=i.modules||[],p=i.upgrades||[],m=i.ais||[],f=i.laws||[];return(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Section,{title:c.name,buttons:(0,o.createComponentVNode)(2,a.Button,{icon:"pencil-alt",content:"Rename",onClick:function(){return n("rename")}}),children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Status",children:[(0,o.createComponentVNode)(2,a.Button,{icon:c.emagged?"check-square-o":"square-o",content:"Emagged",selected:c.emagged,onClick:function(){return n("toggle_emagged")}}),(0,o.createComponentVNode)(2,a.Button,{icon:c.lockdown?"check-square-o":"square-o",content:"Locked Down",selected:c.lockdown,onClick:function(){return n("toggle_lockdown")}}),(0,o.createComponentVNode)(2,a.Button,{icon:c.scrambledcodes?"check-square-o":"square-o",content:"Scrambled Codes",selected:c.scrambledcodes,onClick:function(){return n("toggle_scrambledcodes")}})]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Charge",children:[l.missing?(0,o.createVNode)(1,"span","color-bad","No cell installed",16):(0,o.createComponentVNode)(2,a.ProgressBar,{value:u,content:l.charge+" / "+l.maxcharge}),(0,o.createVNode)(1,"br"),(0,o.createComponentVNode)(2,a.Button,{icon:"pencil-alt",content:"Set",onClick:function(){return n("set_charge")}}),(0,o.createComponentVNode)(2,a.Button,{icon:"eject",content:"Change",onClick:function(){return n("change_cell")}}),(0,o.createComponentVNode)(2,a.Button,{icon:"trash",content:"Remove",color:"bad",onClick:function(){return n("remove_cell")}})]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Radio Channels",children:d.map((function(e){return(0,o.createComponentVNode)(2,a.Button,{icon:e.installed?"check-square-o":"square-o",content:e.name,selected:e.installed,onClick:function(){return n("toggle_radio",{channel:e.name})}},e.name)}))}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Module",children:s.map((function(e){return(0,o.createComponentVNode)(2,a.Button,{icon:c.active_module===e.type?"check-square-o":"square-o",content:e.name,selected:c.active_module===e.type,onClick:function(){return n("setmodule",{module:e.type})}},e.type)}))}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Upgrades",children:p.map((function(e){return(0,o.createComponentVNode)(2,a.Button,{icon:e.installed?"check-square-o":"square-o",content:e.name,selected:e.installed,onClick:function(){return n("toggle_upgrade",{upgrade:e.type})}},e.type)}))}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Master AI",children:m.map((function(e){return(0,o.createComponentVNode)(2,a.Button,{icon:e.connected?"check-square-o":"square-o",content:e.name,selected:e.connected,onClick:function(){return n("slavetoai",{slavetoai:e.ref})}},e.ref)}))})]})}),(0,o.createComponentVNode)(2,a.Section,{title:"Laws",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:c.lawupdate?"check-square-o":"square-o",content:"Lawsync",selected:c.lawupdate,onClick:function(){return n("toggle_lawupdate")}}),children:f.map((function(e){return(0,o.createComponentVNode)(2,a.Box,{children:e},e)}))})],4)}},function(e,t,n){"use strict";t.__esModule=!0,t.BrigTimer=void 0;var o=n(1),r=n(3),a=n(2);t.BrigTimer=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data;return(0,o.createComponentVNode)(2,a.Section,{title:"Cell Timer",buttons:(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Button,{icon:"clock-o",content:i.timing?"Stop":"Start",selected:i.timing,onClick:function(){return n(i.timing?"stop":"start")}}),(0,o.createComponentVNode)(2,a.Button,{icon:"lightbulb-o",content:i.flash_charging?"Recharging":"Flash",disabled:i.flash_charging,onClick:function(){return n("flash")}})],4),children:[(0,o.createComponentVNode)(2,a.Button,{icon:"fast-backward",onClick:function(){return n("time",{adjust:-600})}}),(0,o.createComponentVNode)(2,a.Button,{icon:"backward",onClick:function(){return n("time",{adjust:-100})}})," ",String(i.minutes).padStart(2,"0"),":",String(i.seconds).padStart(2,"0")," ",(0,o.createComponentVNode)(2,a.Button,{icon:"forward",onClick:function(){return n("time",{adjust:100})}}),(0,o.createComponentVNode)(2,a.Button,{icon:"fast-forward",onClick:function(){return n("time",{adjust:600})}}),(0,o.createVNode)(1,"br"),(0,o.createComponentVNode)(2,a.Button,{icon:"hourglass-start",content:"Short",onClick:function(){return n("preset",{preset:"short"})}}),(0,o.createComponentVNode)(2,a.Button,{icon:"hourglass-start",content:"Medium",onClick:function(){return n("preset",{preset:"medium"})}}),(0,o.createComponentVNode)(2,a.Button,{icon:"hourglass-start",content:"Long",onClick:function(){return n("preset",{preset:"long"})}})]})}},function(e,t,n){"use strict";t.__esModule=!0,t.Canister=void 0;var o=n(1),r=n(3),a=n(2);t.Canister=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data;return(0,o.createFragment)([(0,o.createComponentVNode)(2,a.NoticeBox,{children:["The regulator ",i.hasHoldingTank?"is":"is not"," connected to a tank."]}),(0,o.createComponentVNode)(2,a.Section,{title:"Canister",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:"pencil-alt",content:"Relabel",onClick:function(){return n("relabel")}}),children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Pressure",children:[(0,o.createComponentVNode)(2,a.AnimatedNumber,{value:i.tankPressure})," kPa"]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Port",color:i.portConnected?"good":"average",content:i.portConnected?"Connected":"Not Connected"}),!!i.isPrototype&&(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Access",children:(0,o.createComponentVNode)(2,a.Button,{icon:i.restricted?"lock":"unlock",color:"caution",content:i.restricted?"Restricted to Engineering":"Public",onClick:function(){return n("restricted")}})})]})}),(0,o.createComponentVNode)(2,a.Section,{title:"Valve",children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Release Pressure",children:(0,o.createComponentVNode)(2,a.ProgressBar,{value:i.releasePressure/(i.maxReleasePressure-i.minReleasePressure),children:[(0,o.createComponentVNode)(2,a.AnimatedNumber,{value:i.releasePressure})," kPa"]})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Pressure Regulator",children:[(0,o.createComponentVNode)(2,a.Button,{icon:"undo",disabled:i.releasePressure===i.defaultReleasePressure,content:"Reset",onClick:function(){return n("pressure",{pressure:"reset"})}}),(0,o.createComponentVNode)(2,a.Button,{icon:"minus",disabled:i.releasePressure<=i.minReleasePressure,content:"Min",onClick:function(){return n("pressure",{pressure:"min"})}}),(0,o.createComponentVNode)(2,a.Button,{icon:"pencil-alt",content:"Set",onClick:function(){return n("pressure",{pressure:"input"})}}),(0,o.createComponentVNode)(2,a.Button,{icon:"plus",disabled:i.releasePressure>=i.maxReleasePressure,content:"Max",onClick:function(){return n("pressure",{pressure:"max"})}})]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Valve",children:(0,o.createComponentVNode)(2,a.Button,{icon:i.valveOpen?"unlock":"lock",color:i.valveOpen?i.hasHoldingTank?"caution":"danger":null,content:i.valveOpen?"Open":"Closed",onClick:function(){return n("valve")}})})]})}),(0,o.createComponentVNode)(2,a.Section,{title:"Holding Tank",buttons:!!i.hasHoldingTank&&(0,o.createComponentVNode)(2,a.Button,{icon:"eject",color:i.valveOpen&&"danger",content:"Eject",onClick:function(){return n("eject")}}),children:[!!i.hasHoldingTank&&(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Label",children:i.holdingTank.name}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Pressure",children:[(0,o.createComponentVNode)(2,a.AnimatedNumber,{value:i.holdingTank.tankPressure})," kPa"]})]}),!i.hasHoldingTank&&(0,o.createComponentVNode)(2,a.Box,{color:"average",children:"No Holding Tank"})]})],4)}},function(e,t,n){"use strict";t.__esModule=!0,t.CargoExpress=t.Cargo=void 0;var o=n(1),r=n(24),a=n(16),i=n(2),c=n(69);t.Cargo=function(e){var t=e.state,n=t.config,r=t.data,c=n.ref,s=r.supplies||{},p=r.requests||[],m=r.cart||[],f=m.reduce((function(e,t){return e+t.cost}),0),h=!r.requestonly&&(0,o.createFragment)([(0,o.createComponentVNode)(2,i.Box,{inline:!0,mx:1,children:[0===m.length&&"Cart is empty",1===m.length&&"1 item",m.length>=2&&m.length+" items"," ",f>0&&"("+f+" cr)"]}),(0,o.createComponentVNode)(2,i.Button,{icon:"times",color:"transparent",content:"Clear",onClick:function(){return(0,a.act)(c,"clear")}})],4);return(0,o.createFragment)([(0,o.createComponentVNode)(2,i.Section,{title:"Cargo",buttons:(0,o.createComponentVNode)(2,i.Box,{inline:!0,bold:!0,children:[(0,o.createComponentVNode)(2,i.AnimatedNumber,{value:Math.round(r.points)})," credits"]}),children:(0,o.createComponentVNode)(2,i.LabeledList,{children:[(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Shuttle",children:r.docked&&!r.requestonly&&(0,o.createComponentVNode)(2,i.Button,{content:r.location,onClick:function(){return(0,a.act)(c,"send")}})||r.location}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"CentCom Message",children:r.message}),r.loan&&!r.requestonly?(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Loan",children:r.loan_dispatched?(0,o.createComponentVNode)(2,i.Box,{color:"bad",children:"Loaned to Centcom"}):(0,o.createComponentVNode)(2,i.Button,{content:"Loan Shuttle",disabled:!(r.away&&r.docked),onClick:function(){return(0,a.act)(c,"loan")}})}):""]})}),(0,o.createComponentVNode)(2,i.Tabs,{mt:2,children:[(0,o.createComponentVNode)(2,i.Tabs.Tab,{label:"Catalog",icon:"list",lineHeight:"23px",children:function(){return(0,o.createComponentVNode)(2,i.Section,{title:"Catalog",buttons:h,children:(0,o.createComponentVNode)(2,l,{state:t,supplies:s})})}},"catalog"),(0,o.createComponentVNode)(2,i.Tabs.Tab,{label:"Requests ("+p.length+")",icon:"envelope",highlight:p.length>0,lineHeight:"23px",children:function(){return(0,o.createComponentVNode)(2,i.Section,{title:"Active Requests",buttons:!r.requestonly&&(0,o.createComponentVNode)(2,i.Button,{icon:"times",content:"Clear",color:"transparent",onClick:function(){return(0,a.act)(c,"denyall")}}),children:(0,o.createComponentVNode)(2,u,{state:t,requests:p})})}},"requests"),!r.requestonly&&(0,o.createComponentVNode)(2,i.Tabs.Tab,{label:"Checkout ("+m.length+")",icon:"shopping-cart",highlight:m.length>0,lineHeight:"23px",children:function(){return(0,o.createComponentVNode)(2,i.Section,{title:"Current Cart",buttons:h,children:(0,o.createComponentVNode)(2,d,{state:t,cart:m})})}},"cart")]})],4)};var l=function(e){var t=e.state,n=e.supplies,c=t.config,l=t.data,u=c.ref,d=function(e){var t=n[e].packs;return(0,o.createVNode)(1,"table","LabeledList",t.map((function(e){return(0,o.createVNode)(1,"tr","LabeledList__row candystripe",[(0,o.createVNode)(1,"td","LabeledList__cell LabeledList__label",[e.name,(0,o.createTextVNode)(":")],0),(0,o.createVNode)(1,"td","LabeledList__cell",!!e.small_item&&(0,o.createFragment)([(0,o.createTextVNode)("Small Item")],4),0),(0,o.createVNode)(1,"td","LabeledList__cell",!!e.access&&(0,o.createFragment)([(0,o.createTextVNode)("Restrictions Apply")],4),0),(0,o.createVNode)(1,"td","LabeledList__cell LabeledList__buttons",(0,o.createComponentVNode)(2,i.Button,{fluid:!0,content:(l.self_paid?Math.round(1.1*e.cost):e.cost)+" credits",tooltip:e.desc,tooltipPosition:"left",onClick:function(){return(0,a.act)(u,"add",{id:e.id})}}),2)],4,null,e.name)})),0)};return(0,o.createComponentVNode)(2,i.Tabs,{vertical:!0,children:(0,r.map)((function(e){var t=e.name;return(0,o.createComponentVNode)(2,i.Tabs.Tab,{label:t,children:d},t)}))(n)})},u=function(e){var t=e.state,n=e.requests,r=t.config,c=t.data,l=r.ref;return 0===n.length?(0,o.createComponentVNode)(2,i.Box,{color:"good",children:"No Requests"}):(0,o.createVNode)(1,"table","LabeledList",n.map((function(e){return(0,o.createFragment)([(0,o.createVNode)(1,"tr","LabeledList__row candystripe",[(0,o.createVNode)(1,"td","LabeledList__cell LabeledList__label",[(0,o.createTextVNode)("#"),e.id,(0,o.createTextVNode)(":")],0),(0,o.createVNode)(1,"td","LabeledList__cell LabeledList__content",e.object,0),(0,o.createVNode)(1,"td","LabeledList__cell",[(0,o.createTextVNode)("By "),(0,o.createVNode)(1,"b",null,e.orderer,0)],4),(0,o.createVNode)(1,"td","LabeledList__cell",(0,o.createVNode)(1,"i",null,e.reason,0),2),(0,o.createVNode)(1,"td","LabeledList__cell LabeledList__buttons",[e.cost,(0,o.createTextVNode)(" credits"),(0,o.createTextVNode)(" "),!c.requestonly&&(0,o.createFragment)([(0,o.createComponentVNode)(2,i.Button,{icon:"check",color:"good",onClick:function(){return(0,a.act)(l,"approve",{id:e.id})}}),(0,o.createComponentVNode)(2,i.Button,{icon:"times",color:"bad",onClick:function(){return(0,a.act)(l,"deny",{id:e.id})}})],4)],0)],4)],4,e.id)})),0)},d=function(e){var t=e.state,n=e.cart,r=t.config,c=t.data,l=r.ref;return(0,o.createFragment)([0===n.length&&"Nothing in cart",n.length>0&&(0,o.createComponentVNode)(2,i.LabeledList,{children:n.map((function(e){return(0,o.createComponentVNode)(2,i.LabeledList.Item,{className:"candystripe",label:"#"+e.id,buttons:(0,o.createFragment)([(0,o.createComponentVNode)(2,i.Box,{inline:!0,mx:2,children:[!!e.paid&&(0,o.createVNode)(1,"b",null,"[Paid Privately]",16)," ",e.cost," credits"]}),(0,o.createComponentVNode)(2,i.Button,{icon:"minus",onClick:function(){return(0,a.act)(l,"remove",{id:e.id})}})],4),children:e.object},e.id)}))}),n.length>0&&!c.requestonly&&(0,o.createComponentVNode)(2,i.Box,{mt:2,children:1===c.away&&1===c.docked&&(0,o.createComponentVNode)(2,i.Button,{color:"green",style:{"line-height":"28px",padding:"0 12px"},content:"Confirm the order",onClick:function(){return(0,a.act)(l,"send")}})||(0,o.createComponentVNode)(2,i.Box,{opacity:.5,children:["Shuttle in ",c.location,"."]})})],0)};t.CargoExpress=function(e){var t=e.state,n=t.config,r=t.data,u=n.ref,d=r.supplies||{};return(0,o.createFragment)([(0,o.createComponentVNode)(2,c.InterfaceLockNoticeBox,{siliconUser:r.siliconUser,locked:r.locked,onLockStatusChange:function(){return(0,a.act)(u,"lock")},accessText:"a QM-level ID card"}),!r.locked&&(0,o.createFragment)([(0,o.createComponentVNode)(2,i.Section,{title:"Cargo Express",buttons:(0,o.createComponentVNode)(2,i.Box,{inline:!0,bold:!0,children:[(0,o.createComponentVNode)(2,i.AnimatedNumber,{value:Math.round(r.points)})," credits"]}),children:(0,o.createComponentVNode)(2,i.LabeledList,{children:[(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Landing Location",children:[(0,o.createComponentVNode)(2,i.Button,{content:"Cargo Bay",selected:!r.usingBeacon,onClick:function(){return(0,a.act)(u,"LZCargo")}}),(0,o.createComponentVNode)(2,i.Button,{selected:r.usingBeacon,disabled:!r.hasBeacon,onClick:function(){return(0,a.act)(u,"LZBeacon")},children:[r.beaconzone," (",r.beaconName,")"]}),(0,o.createComponentVNode)(2,i.Button,{content:r.printMsg,disabled:!r.canBuyBeacon,onClick:function(){return(0,a.act)(u,"printBeacon")}})]}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Notice",children:r.message})]})}),(0,o.createComponentVNode)(2,l,{state:t,supplies:d})],4)],0)}},function(e,t,n){"use strict";t.__esModule=!0,t.CellularEmporium=void 0;var o=n(1),r=n(3),a=n(2);t.CellularEmporium=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data,c=i.abilities;return(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Section,{children:(0,o.createComponentVNode)(2,a.LabeledList,{children:(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Genetic Points",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:"undo",content:"Readapt",disabled:!i.can_readapt,onClick:function(){return n("readapt")}}),children:i.genetic_points_remaining})})}),(0,o.createComponentVNode)(2,a.Section,{children:(0,o.createComponentVNode)(2,a.LabeledList,{children:c.map((function(e){return(0,o.createComponentVNode)(2,a.LabeledList.Item,{className:"candystripe",label:e.name,buttons:(0,o.createFragment)([e.dna_cost," ",(0,o.createComponentVNode)(2,a.Button,{content:e.owned?"Evolved":"Evolve",selected:e.owned,onClick:function(){return n("evolve",{name:e.name})}})],0),children:[e.desc,(0,o.createComponentVNode)(2,a.Box,{color:"good",children:e.helptext})]},e.name)}))})})],4)}},function(e,t,n){"use strict";t.__esModule=!0,t.CentcomPodLauncher=void 0;var o=n(1),r=(n(23),n(3)),a=n(2);t.CentcomPodLauncher=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data;return(0,o.createFragment)([(0,o.createComponentVNode)(2,a.NoticeBox,{children:"To use this, simply spawn the atoms you want in one of the five Centcom Supplypod Bays. Items in the bay will then be launched inside your supplypod, one turf-full at a time! You can optionally use the following buttons to configure how the supplypod acts."}),(0,o.createComponentVNode)(2,a.Section,{title:"Centcom Pod Customization (To be used against Helen Weinstein)",children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Supply Bay",children:[(0,o.createComponentVNode)(2,a.Button,{content:"Bay #1",selected:1===i.bayNumber,onClick:function(){return n("bay1")}}),(0,o.createComponentVNode)(2,a.Button,{content:"Bay #2",selected:2===i.bayNumber,onClick:function(){return n("bay2")}}),(0,o.createComponentVNode)(2,a.Button,{content:"Bay #3",selected:3===i.bayNumber,onClick:function(){return n("bay3")}}),(0,o.createComponentVNode)(2,a.Button,{content:"Bay #4",selected:4===i.bayNumber,onClick:function(){return n("bay4")}}),(0,o.createComponentVNode)(2,a.Button,{content:"ERT Bay",selected:5===i.bayNumber,tooltip:"This bay is located on the western edge of CentCom. Its the\nglass room directly west of where ERT spawn, and south of the\nCentCom ferry. Useful for launching ERT/Deathsquads/etc. onto\nthe station via drop pods.",onClick:function(){return n("bay5")}})]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Teleport to",children:[(0,o.createComponentVNode)(2,a.Button,{content:i.bay,onClick:function(){return n("teleportCentcom")}}),(0,o.createComponentVNode)(2,a.Button,{content:i.oldArea?i.oldArea:"Where you were",disabled:!i.oldArea,onClick:function(){return n("teleportBack")}})]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Clone Mode",children:(0,o.createComponentVNode)(2,a.Button,{content:"Launch Clones",selected:i.launchClone,tooltip:"Choosing this will create a duplicate of the item to be\nlaunched in Centcom, allowing you to send one type of item\nmultiple times. Either way, the atoms are forceMoved into\nthe supplypod after it lands (but before it opens).",onClick:function(){return n("launchClone")}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Launch style",children:[(0,o.createComponentVNode)(2,a.Button,{content:"Ordered",selected:1===i.launchChoice,tooltip:'Instead of launching everything in the bay at once, this\nwill "scan" things (one turf-full at a time) in order, left\nto right and top to bottom. undoing will reset the "scanner"\nto the top-leftmost position.',onClick:function(){return n("launchOrdered")}}),(0,o.createComponentVNode)(2,a.Button,{content:"Random",selected:2===i.launchChoice,tooltip:"Instead of launching everything in the bay at once, this\nwill launch one random turf of items at a time.",onClick:function(){return n("launchRandom")}})]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Explosion",children:[(0,o.createComponentVNode)(2,a.Button,{content:"Custom Size",selected:1===i.explosionChoice,tooltip:"This will cause an explosion of whatever size you like\n(including flame range) to occur as soon as the supplypod\nlands. Dont worry, supply-pods are explosion-proof!",onClick:function(){return n("explosionCustom")}}),(0,o.createComponentVNode)(2,a.Button,{content:"Adminbus",selected:2===i.explosionChoice,tooltip:"This will cause a maxcap explosion (dependent on server\nconfig) to occur as soon as the supplypod lands. Dont worry,\nsupply-pods are explosion-proof!",onClick:function(){return n("explosionBus")}})]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Damage",children:[(0,o.createComponentVNode)(2,a.Button,{content:"Custom Damage",selected:1===i.damageChoice,tooltip:"Anyone caught under the pod when it lands will be dealt\nthis amount of brute damage. Sucks to be them!",onClick:function(){return n("damageCustom")}}),(0,o.createComponentVNode)(2,a.Button,{content:"Gib",selected:2===i.damageChoice,tooltip:"This will attempt to gib any mob caught under the pod when\nit lands, as well as dealing a nice 5000 brute damage. Ya\nknow, just to be sure!",onClick:function(){return n("damageGib")}})]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Effects",children:[(0,o.createComponentVNode)(2,a.Button,{content:"Stun",selected:i.effectStun,tooltip:"Anyone who is on the turf when the supplypod is launched\nwill be stunned until the supplypod lands. They cant get\naway that easy!",onClick:function(){return n("effectStun")}}),(0,o.createComponentVNode)(2,a.Button,{content:"Delimb",selected:i.effectLimb,tooltip:"This will cause anyone caught under the pod to lose a limb,\nexcluding their head.",onClick:function(){return n("effectLimb")}}),(0,o.createComponentVNode)(2,a.Button,{content:"Yeet Organs",selected:i.effectOrgans,tooltip:"This will cause anyone caught under the pod to lose all\ntheir limbs and organs in a spectacular fashion.",onClick:function(){return n("effectOrgans")}})]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Movement",children:[(0,o.createComponentVNode)(2,a.Button,{content:"Bluespace",selected:i.effectBluespace,tooltip:"Gives the supplypod an advanced Bluespace Recyling Device.\nAfter opening, the supplypod will be warped directly to the\nsurface of a nearby NT-designated trash planet (/r/ss13).",onClick:function(){return n("effectBluespace")}}),(0,o.createComponentVNode)(2,a.Button,{content:"Stealth",selected:i.effectStealth,tooltip:'This hides the red target icon from appearing when you\nlaunch the supplypod. Combos well with the "Invisible"\nstyle. Sneak attack, go!',onClick:function(){return n("effectStealth")}}),(0,o.createComponentVNode)(2,a.Button,{content:"Quiet",selected:i.effectQuiet,tooltip:"This will keep the supplypod from making any sounds, except\nfor those specifically set by admins in the Sound section.",onClick:function(){return n("effectQuiet")}}),(0,o.createComponentVNode)(2,a.Button,{content:"Reverse Mode",selected:i.effectReverse,tooltip:"This pod will not send any items. Instead, after landing,\nthe supplypod will close (similar to a normal closet closing),\nand then launch back to the right centcom bay to drop off any\nnew contents.",onClick:function(){return n("effectReverse")}}),(0,o.createComponentVNode)(2,a.Button,{content:"Missile Mode",selected:i.effectMissile,tooltip:"This pod will not send any items. Instead, it will immediately\ndelete after landing (Similar visually to setting openDelay\n& departDelay to 0, but this looks nicer). Useful if you just\nwanna fuck some shit up. Combos well with the Missile style.",onClick:function(){return n("effectMissile")}}),(0,o.createComponentVNode)(2,a.Button,{content:"Any Descent Angle",selected:i.effectCircle,tooltip:"This will make the supplypod come in from any angle. Im not\nsure why this feature exists, but here it is.",onClick:function(){return n("effectCircle")}}),(0,o.createComponentVNode)(2,a.Button,{content:"Machine Gun Mode",selected:i.effectBurst,tooltip:"This will make each click launch 5 supplypods inaccuratly\naround the target turf (a 3x3 area). Combos well with the\nMissile Mode if you dont want shit lying everywhere after.",onClick:function(){return n("effectBurst")}}),(0,o.createComponentVNode)(2,a.Button,{content:"Specific Target",selected:i.effectTarget,tooltip:"This will make the supplypod target a specific atom, instead\nof the mouses position. Smiting does this automatically!",onClick:function(){return n("effectTarget")}})]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Name/Desc",children:[(0,o.createComponentVNode)(2,a.Button,{content:"Custom Name/Desc",selected:i.effectName,tooltip:"Allows you to add a custom name and description.",onClick:function(){return n("effectName")}}),(0,o.createComponentVNode)(2,a.Button,{content:"Alert Ghosts",selected:i.effectAnnounce,tooltip:"Alerts ghosts when a pod is launched. Useful if some dumb\nshit is aboutta come outta the pod.",onClick:function(){return n("effectAnnounce")}})]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Sound",children:[(0,o.createComponentVNode)(2,a.Button,{content:"Custom Falling Sound",selected:i.fallingSound,tooltip:"Choose a sound to play as the pod falls. Note that for this\nto work right you should know the exact length of the sound,\nin seconds.",onClick:function(){return n("fallSound")}}),(0,o.createComponentVNode)(2,a.Button,{content:"Custom Landing Sound",selected:i.landingSound,tooltip:"Choose a sound to play when the pod lands.",onClick:function(){return n("landingSound")}}),(0,o.createComponentVNode)(2,a.Button,{content:"Custom Opening Sound",selected:i.openingSound,tooltip:"Choose a sound to play when the pod opens.",onClick:function(){return n("openingSound")}}),(0,o.createComponentVNode)(2,a.Button,{content:"Custom Leaving Sound",selected:i.leavingSound,tooltip:"Choose a sound to play when the pod departs (whether that be\ndelection in the case of a bluespace pod, or leaving for\ncentcom for a reversing pod).",onClick:function(){return n("leavingSound")}}),(0,o.createComponentVNode)(2,a.Button,{content:"Admin Sound Volume",selected:i.soundVolume,tooltip:"Choose the volume for the sound to play at. Default values\nare between 1 and 100, but hey, do whatever. Im a tooltip,\nnot a cop.",onClick:function(){return n("soundVolume")}})]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Timers",children:[(0,o.createComponentVNode)(2,a.Button,{content:"Custom Falling Duration",selected:4!==i.fallDuration,tooltip:"Set how long the animation for the pod falling lasts. Create\ndramatic, slow falling pods!",onClick:function(){return n("fallDuration")}}),(0,o.createComponentVNode)(2,a.Button,{content:"Custom Landing Time",selected:20!==i.landingDelay,tooltip:"Choose the amount of time it takes for the supplypod to hit\nthe station. By default this value is 0.5 seconds.",onClick:function(){return n("landingDelay")}}),(0,o.createComponentVNode)(2,a.Button,{content:"Custom Opening Time",selected:30!==i.openingDelay,tooltip:"Choose the amount of time it takes for the supplypod to open\nafter landing. Useful for giving whatevers inside the pod a\nnice dramatic entrance! By default this value is 3 seconds.",onClick:function(){return n("openingDelay")}}),(0,o.createComponentVNode)(2,a.Button,{content:"Custom Leaving Time",selected:30!==i.departureDelay,tooltip:"Choose the amount of time it takes for the supplypod to leave\nafter landing. By default this value is 3 seconds.",onClick:function(){return n("departureDelay")}})]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Style",children:[(0,o.createComponentVNode)(2,a.Button,{content:"Standard",selected:1===i.styleChoice,tooltip:"Same color scheme as the normal station-used supplypods",onClick:function(){return n("styleStandard")}}),(0,o.createComponentVNode)(2,a.Button,{content:"Advanced",selected:2===i.styleChoice,tooltip:"The same as the stations upgraded blue-and-white\nBluespace Supplypods",onClick:function(){return n("styleBluespace")}}),(0,o.createComponentVNode)(2,a.Button,{content:"Syndicate",selected:4===i.styleChoice,tooltip:"A menacing black and blood-red. Great for sending meme-ops\nin style!",onClick:function(){return n("styleSyndie")}}),(0,o.createComponentVNode)(2,a.Button,{content:"Deathsquad",selected:5===i.styleChoice,tooltip:"A menacing black and dark blue. Great for sending deathsquads\nin style!",onClick:function(){return n("styleBlue")}}),(0,o.createComponentVNode)(2,a.Button,{content:"Cult Pod",selected:6===i.styleChoice,tooltip:"A blood and rune covered cult pod!",onClick:function(){return n("styleCult")}}),(0,o.createComponentVNode)(2,a.Button,{content:"Missile",selected:7===i.styleChoice,tooltip:"A large missile. Combos well with a missile mode, so the\nmissile doesnt stick around after landing.",onClick:function(){return n("styleMissile")}}),(0,o.createComponentVNode)(2,a.Button,{content:"Syndicate Missile",selected:8===i.styleChoice,tooltip:"A large blood-red missile. Combos well with missile mode,\nso the missile doesnt stick around after landing.",onClick:function(){return n("styleSMissile")}}),(0,o.createComponentVNode)(2,a.Button,{content:"Supply Crate",selected:9===i.styleChoice,tooltip:"A large, dark-green military supply crate.",onClick:function(){return n("styleBox")}}),(0,o.createComponentVNode)(2,a.Button,{content:"HONK",selected:10===i.styleChoice,tooltip:"A colorful, clown inspired look.",onClick:function(){return n("styleHONK")}}),(0,o.createComponentVNode)(2,a.Button,{content:"~Fruit",selected:11===i.styleChoice,tooltip:"For when an orange is angry",onClick:function(){return n("styleFruit")}}),(0,o.createComponentVNode)(2,a.Button,{content:"Invisible",selected:12===i.styleChoice,tooltip:'Makes the supplypod invisible! Useful for when you want to\nuse this feature with a gateway or something. Combos well\nwith the "Stealth" and "Quiet Landing" effects.',onClick:function(){return n("styleInvisible")}}),(0,o.createComponentVNode)(2,a.Button,{content:"Gondola",selected:13===i.styleChoice,tooltip:"This gondola can control when he wants to deliver his supplies\nif he has a smart enough mind, so offer up his body to ghosts\nfor maximum enjoyment. (Make sure to turn off bluespace and\nset a arbitrarily high open-time if you do!",onClick:function(){return n("styleGondola")}}),(0,o.createComponentVNode)(2,a.Button,{content:"Show Contents (See Through Pod)",selected:14===i.styleChoice,tooltip:"By selecting this, the pod will instead look like whatevers\ninside it (as if it were the contents falling by themselves,\nwithout a pod). Useful for launching mechs at the station\nand standing tall as they soar in from the heavens.",onClick:function(){return n("styleSeeThrough")}})]})]})}),(0,o.createComponentVNode)(2,a.Section,{children:(0,o.createComponentVNode)(2,a.LabeledList,{children:(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:i.numObjects+" turfs in "+i.bay,buttons:(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Button,{content:"undo Pody Bay",tooltip:"Manually undoes the possible things to launch in the\npod bay.",onClick:function(){return n("undo")}}),(0,o.createComponentVNode)(2,a.Button,{content:"Enter Launch Mode",selected:i.giveLauncher,tooltip:"THE CODEX ASTARTES CALLS THIS MANEUVER: STEEL RAIN",onClick:function(){return n("giveLauncher")}}),(0,o.createComponentVNode)(2,a.Button,{content:"Clear Selected Bay",color:"bad",tooltip:"This will delete all objs and mobs from the selected bay.",tooltipPosition:"left",onClick:function(){return n("clearBay")}})],4)})})})],4)}},function(e,t,n){"use strict";t.__esModule=!0,t.ChemAcclimator=void 0;var o=n(1),r=n(3),a=n(2);t.ChemAcclimator=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data;return(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Section,{title:"Acclimator",children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Current Temperature",children:[i.chem_temp," K"]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Target Temperature",children:(0,o.createComponentVNode)(2,a.NumberInput,{value:i.target_temperature,unit:"K",width:"59px",minValue:0,maxValue:1e3,step:5,stepPixelSize:2,onChange:function(e,t){return n("set_target_temperature",{temperature:t})}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Acceptable Temp. Difference",children:(0,o.createComponentVNode)(2,a.NumberInput,{value:i.allowed_temperature_difference,unit:"K",width:"59px",minValue:1,maxValue:i.target_temperature,stepPixelSize:2,onChange:function(e,t){n("set_allowed_temperature_difference",{temperature:t})}})})]})}),(0,o.createComponentVNode)(2,a.Section,{title:"Status",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:"power-off",content:i.enabled?"On":"Off",selected:i.enabled,onClick:function(){return n("toggle_power")}}),children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Volume",children:(0,o.createComponentVNode)(2,a.NumberInput,{value:i.max_volume,unit:"u",width:"50px",minValue:i.reagent_volume,maxValue:200,step:2,stepPixelSize:2,onChange:function(e,t){return n("change_volume",{volume:t})}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Current Operation",children:i.acclimate_state}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Current State",children:i.emptying?"Emptying":"Filling"})]})})],4)}},function(e,t,n){"use strict";t.__esModule=!0,t.ChemDebugSynthesizer=void 0;var o=n(1),r=n(3),a=n(2);t.ChemDebugSynthesizer=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data,c=i.amount,l=i.beakerCurrentVolume,u=i.beakerMaxVolume,d=i.isBeakerLoaded,s=i.beakerContents,p=void 0===s?[]:s;return(0,o.createComponentVNode)(2,a.Section,{title:"Recipient",buttons:d?(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Button,{icon:"eject",content:"Eject",onClick:function(){return n("ejectBeaker")}}),(0,o.createComponentVNode)(2,a.NumberInput,{value:c,unit:"u",minValue:1,maxValue:u,step:1,stepPixelSize:2,onChange:function(e,t){return n("amount",{amount:t})}}),(0,o.createComponentVNode)(2,a.Button,{icon:"plus",content:"Input",onClick:function(){return n("input")}})],4):(0,o.createComponentVNode)(2,a.Button,{icon:"plus",content:"Create Beaker",onClick:function(){return n("makecup")}}),children:d?(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Box,{children:[(0,o.createComponentVNode)(2,a.AnimatedNumber,{value:l})," / "+u+" u"]}),p.length>0?(0,o.createComponentVNode)(2,a.LabeledList,{children:p.map((function(e){return(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:e.name,children:[e.volume," u"]},e.name)}))}):(0,o.createComponentVNode)(2,a.Box,{color:"bad",children:"Recipient Empty"})],0):(0,o.createComponentVNode)(2,a.Box,{color:"average",children:"No Recipient"})})}},function(e,t,n){"use strict";t.__esModule=!0,t.ChemDispenser=void 0;var o=n(1),r=n(18),a=n(23),i=n(3),c=n(2);t.ChemDispenser=function(e){var t=(0,i.useBackend)(e),n=t.act,l=t.data,u=!!l.recordingRecipe,d=Object.keys(l.recipes).map((function(e){return{name:e,contents:l.recipes[e]}})),s=l.beakerTransferAmounts||[],p=u&&Object.keys(l.recordingRecipe).map((function(e){return{id:e,name:(0,a.toTitleCase)(e.replace(/_/," ")),volume:l.recordingRecipe[e]}}))||l.beakerContents||[];return(0,o.createFragment)([(0,o.createComponentVNode)(2,c.Section,{title:"Status",buttons:u&&(0,o.createComponentVNode)(2,c.Box,{inline:!0,mx:1,color:"red",children:[(0,o.createComponentVNode)(2,c.Icon,{name:"circle",mr:1}),"Recording"]}),children:(0,o.createComponentVNode)(2,c.LabeledList,{children:(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:"Energy",children:(0,o.createComponentVNode)(2,c.ProgressBar,{value:l.energy/l.maxEnergy,content:(0,r.toFixed)(l.energy)+" units"})})})}),(0,o.createComponentVNode)(2,c.Section,{title:"Recipes",buttons:(0,o.createFragment)([!u&&(0,o.createComponentVNode)(2,c.Box,{inline:!0,mx:1,children:(0,o.createComponentVNode)(2,c.Button,{color:"transparent",content:"Clear recipes",onClick:function(){return n("clear_recipes")}})}),!u&&(0,o.createComponentVNode)(2,c.Button,{icon:"circle",disabled:!l.isBeakerLoaded,content:"Record",onClick:function(){return n("record_recipe")}}),u&&(0,o.createComponentVNode)(2,c.Button,{icon:"ban",color:"transparent",content:"Discard",onClick:function(){return n("cancel_recording")}}),u&&(0,o.createComponentVNode)(2,c.Button,{icon:"save",color:"green",content:"Save",onClick:function(){return n("save_recording")}})],0),children:(0,o.createComponentVNode)(2,c.Box,{mr:-1,children:[d.map((function(e){return(0,o.createComponentVNode)(2,c.Button,{icon:"tint",width:"129.5px",lineHeight:"21px",content:e.name,onClick:function(){return n("dispense_recipe",{recipe:e.name})}},e.name)})),0===d.length&&(0,o.createComponentVNode)(2,c.Box,{color:"light-gray",children:"No recipes."})]})}),(0,o.createComponentVNode)(2,c.Section,{title:"Dispense",buttons:s.map((function(e){return(0,o.createComponentVNode)(2,c.Button,{icon:"plus",selected:e===l.amount,content:e,onClick:function(){return n("amount",{target:e})}},e)})),children:(0,o.createComponentVNode)(2,c.Box,{mr:-1,children:l.chemicals.map((function(e){return(0,o.createComponentVNode)(2,c.Button,{icon:"tint",width:"129.5px",lineHeight:"21px",content:e.title,onClick:function(){return n("dispense",{reagent:e.id})}},e.id)}))})}),(0,o.createComponentVNode)(2,c.Section,{title:"Beaker",buttons:s.map((function(e){return(0,o.createComponentVNode)(2,c.Button,{icon:"minus",disabled:u,content:e,onClick:function(){return n("remove",{amount:e})}},e)})),children:(0,o.createComponentVNode)(2,c.LabeledList,{children:[(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:"Beaker",buttons:!!l.isBeakerLoaded&&(0,o.createComponentVNode)(2,c.Button,{icon:"eject",content:"Eject",disabled:!l.isBeakerLoaded,onClick:function(){return n("eject")}}),children:(u?"Virtual beaker":l.isBeakerLoaded&&(0,o.createFragment)([(0,o.createComponentVNode)(2,c.AnimatedNumber,{initial:0,value:l.beakerCurrentVolume}),(0,o.createTextVNode)("/"),l.beakerMaxVolume,(0,o.createTextVNode)(" units, "),l.beakerCurrentpH,(0,o.createTextVNode)(" pH")],0))||"No beaker"}),(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:"Contents",children:[(0,o.createComponentVNode)(2,c.Box,{color:"label",children:l.isBeakerLoaded||u?0===p.length&&"Nothing":"N/A"}),p.map((function(e){return(0,o.createComponentVNode)(2,c.Box,{color:"label",children:[(0,o.createComponentVNode)(2,c.AnimatedNumber,{initial:0,value:e.volume})," ","units of ",e.name]},e.name)}))]})]})})],4)}},function(e,t,n){"use strict";t.__esModule=!0,t.ChemFilter=t.ChemFilterPane=void 0;var o=n(1),r=n(3),a=n(2);var i=function(e){var t=(0,r.useBackend)(e).act,n=e.title,i=e.list,c=e.reagentName,l=e.onReagentInput,u=n.toLowerCase();return(0,o.createComponentVNode)(2,a.Section,{title:n,minHeight:40,ml:.5,mr:.5,buttons:(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Input,{placeholder:"Reagent",width:"140px",onInput:function(e,t){return l(t)}}),(0,o.createComponentVNode)(2,a.Button,{icon:"plus",onClick:function(){return t("add",{which:u,name:c})}})],4),children:i.map((function(e){return(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Button,{fluid:!0,icon:"minus",content:e,onClick:function(){return t("remove",{which:u,reagent:e})}})],4,e)}))})};t.ChemFilterPane=i;var c=function(e){var t,n;function r(){var t;return(t=e.call(this)||this).state={leftReagentName:"",rightReagentName:""},t}n=e,(t=r).prototype=Object.create(n.prototype),t.prototype.constructor=t,t.__proto__=n;var c=r.prototype;return c.setLeftReagentName=function(e){this.setState({leftReagentName:e})},c.setRightReagentName=function(e){this.setState({rightReagentName:e})},c.render=function(){var e=this,t=this.props.state,n=t.data,r=n.left,c=void 0===r?[]:r,l=n.right,u=void 0===l?[]:l;return(0,o.createComponentVNode)(2,a.Grid,{children:[(0,o.createComponentVNode)(2,a.Grid.Column,{children:(0,o.createComponentVNode)(2,i,{title:"Left",list:c,reagentName:this.state.leftReagentName,onReagentInput:function(t){return e.setLeftReagentName(t)},state:t})}),(0,o.createComponentVNode)(2,a.Grid.Column,{children:(0,o.createComponentVNode)(2,i,{title:"Right",list:u,reagentName:this.state.rightReagentName,onReagentInput:function(t){return e.setRightReagentName(t)},state:t})})]})},r}(o.Component);t.ChemFilter=c},function(e,t,n){"use strict";t.__esModule=!0,t.ChemHeater=void 0;var o=n(1),r=n(18),a=n(3),i=n(2),c=n(164);t.ChemHeater=function(e){var t=(0,a.useBackend)(e),n=t.act,l=t.data,u=l.targetTemp,d=l.isActive,s=l.isBeakerLoaded,p=l.currentTemp,m=l.currentpH,f=l.beakerCurrentVolume,h=l.beakerMaxVolume,C=l.beakerContents,g=void 0===C?[]:C;return(0,o.createFragment)([(0,o.createComponentVNode)(2,i.Section,{title:"Thermostat",buttons:(0,o.createComponentVNode)(2,i.Button,{icon:d?"power-off":"times",selected:d,content:d?"On":"Off",onClick:function(){return n("power")}}),children:(0,o.createComponentVNode)(2,i.LabeledList,{children:[(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Target",children:(0,o.createComponentVNode)(2,i.NumberInput,{width:"65px",unit:"K",step:2,stepPixelSize:1,value:(0,r.round)(u),minValue:0,maxValue:1e3,onDrag:function(e,t){return n("temperature",{target:t})}})}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Temperature",children:(0,o.createComponentVNode)(2,i.Box,{width:"60px",textAlign:"right",children:s&&(0,o.createComponentVNode)(2,i.AnimatedNumber,{value:p,format:function(e){return(0,r.toFixed)(e)+" K"}})||"\u2014"})}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"pH",children:(0,o.createComponentVNode)(2,i.Box,{width:"60px",textAlign:"right",children:s&&(0,o.createComponentVNode)(2,i.AnimatedNumber,{value:m,format:function(e){return(0,r.toFixed)(e)+" pH"}})||"-"})})]})}),(0,o.createComponentVNode)(2,i.Section,{title:"Beaker",buttons:!!s&&(0,o.createFragment)([(0,o.createComponentVNode)(2,i.Box,{inline:!0,color:"label",mr:2,children:[f," / ",h," units"]}),(0,o.createComponentVNode)(2,i.Button,{icon:"eject",content:"Eject",onClick:function(){return n("eject")}})],4),children:(0,o.createComponentVNode)(2,c.BeakerContents,{beakerLoaded:s,beakerContents:g})})],4)}},function(e,t,n){"use strict";t.__esModule=!0,t.ChemMaster=void 0;var o=n(1),r=n(16),a=n(2);t.ChemMaster=function(e){var t=e.state,n=t.config,l=t.data,d=n.ref,s=(l.screen,l.beakerContents),p=void 0===s?[]:s,m=l.bufferContents,f=void 0===m?[]:m,h=l.beakerCurrentVolume,C=l.beakerMaxVolume,g=l.isBeakerLoaded,b=l.isPillBottleLoaded,v=l.pillBottleCurrentAmount,N=l.pillBottleMaxAmount;return(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Section,{title:"Beaker",buttons:!!l.isBeakerLoaded&&(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Box,{inline:!0,color:"label",mr:2,children:[(0,o.createComponentVNode)(2,a.AnimatedNumber,{value:h,initial:0})," / "+C+" units"]}),(0,o.createComponentVNode)(2,a.Button,{icon:"eject",content:"Eject",onClick:function(){return(0,r.act)(d,"eject")}})],4),children:[!g&&(0,o.createComponentVNode)(2,a.Box,{color:"label",mt:"3px",mb:"5px",children:"No beaker loaded."}),!!g&&0===p.length&&(0,o.createComponentVNode)(2,a.Box,{color:"label",mt:"3px",mb:"5px",children:"Beaker is empty."}),(0,o.createComponentVNode)(2,i,{children:p.map((function(e){return(0,o.createComponentVNode)(2,c,{state:t,chemical:e,transferTo:"buffer"},e.id)}))})]}),(0,o.createComponentVNode)(2,a.Section,{title:"Buffer",buttons:(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Box,{inline:!0,color:"label",mr:1,children:"Mode:"}),(0,o.createComponentVNode)(2,a.Button,{color:l.mode?"good":"bad",icon:l.mode?"exchange-alt":"times",content:l.mode?"Transfer":"Destroy",onClick:function(){return(0,r.act)(d,"toggleMode")}})],4),children:[0===f.length&&(0,o.createComponentVNode)(2,a.Box,{color:"label",mt:"3px",mb:"5px",children:"Buffer is empty."}),(0,o.createComponentVNode)(2,i,{children:f.map((function(e){return(0,o.createComponentVNode)(2,c,{state:t,chemical:e,transferTo:"beaker"},e.id)}))})]}),(0,o.createComponentVNode)(2,a.Section,{title:"Packaging",children:(0,o.createComponentVNode)(2,u,{state:t})}),!!b&&(0,o.createComponentVNode)(2,a.Section,{title:"Pill Bottle",buttons:(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Box,{inline:!0,color:"label",mr:2,children:[v," / ",N," pills"]}),(0,o.createComponentVNode)(2,a.Button,{icon:"eject",content:"Eject",onClick:function(){return(0,r.act)(d,"ejectPillBottle")}})],4)})],0)};var i=a.Table,c=function(e){var t=e.state,n=e.chemical,i=e.transferTo,c=t.config.ref;return(0,o.createComponentVNode)(2,a.Table.Row,{children:[(0,o.createComponentVNode)(2,a.Table.Cell,{color:"label",children:[(0,o.createComponentVNode)(2,a.AnimatedNumber,{value:n.volume,initial:0})," units of "+n.name]}),(0,o.createComponentVNode)(2,a.Table.Cell,{collapsing:!0,children:[(0,o.createComponentVNode)(2,a.Button,{content:"1",onClick:function(){return(0,r.act)(c,"transfer",{id:n.id,amount:1,to:i})}}),(0,o.createComponentVNode)(2,a.Button,{content:"5",onClick:function(){return(0,r.act)(c,"transfer",{id:n.id,amount:5,to:i})}}),(0,o.createComponentVNode)(2,a.Button,{content:"10",onClick:function(){return(0,r.act)(c,"transfer",{id:n.id,amount:10,to:i})}}),(0,o.createComponentVNode)(2,a.Button,{content:"All",onClick:function(){return(0,r.act)(c,"transfer",{id:n.id,amount:1e3,to:i})}}),(0,o.createComponentVNode)(2,a.Button,{icon:"ellipsis-h",title:"Custom amount",onClick:function(){return(0,r.act)(c,"transfer",{id:n.id,amount:-1,to:i})}}),(0,o.createComponentVNode)(2,a.Button,{icon:"question",title:"Analyze",onClick:function(){return(0,r.act)(c,"analyze",{id:n.id})}})]})]},n.id)},l=function(e){var t=e.label,n=e.amountUnit,r=e.amount,i=e.onChangeAmount,c=e.onCreate,l=e.sideNote;return(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:t,children:[(0,o.createComponentVNode)(2,a.NumberInput,{width:14,unit:n,step:1,stepPixelSize:15,value:r,minValue:1,maxValue:10,onChange:i}),(0,o.createComponentVNode)(2,a.Button,{ml:1,content:"Create",onClick:c}),(0,o.createComponentVNode)(2,a.Box,{inline:!0,ml:1,color:"label",content:l})]})},u=function(e){var t,n;function i(){var t;return(t=e.call(this)||this).state={pillAmount:1,patchAmount:1,bottleAmount:1,packAmount:1,vialAmount:1,dartAmount:1},t}return n=e,(t=i).prototype=Object.create(n.prototype),t.prototype.constructor=t,t.__proto__=n,i.prototype.render=function(){var e=this,t=(this.state,this.props),n=t.state.config.ref,i=this.state,c=i.pillAmount,u=i.patchAmount,d=i.bottleAmount,s=i.packAmount,p=i.vialAmount,m=i.dartAmount,f=t.state.data,h=f.condi,C=f.chosenPillStyle,g=f.pillStyles,b=void 0===g?[]:g;return(0,o.createComponentVNode)(2,a.LabeledList,{children:[!h&&(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Pill type",children:b.map((function(e){return(0,o.createComponentVNode)(2,a.Button,{width:5,selected:e.id===C,textAlign:"center",color:"transparent",onClick:function(){return(0,r.act)(n,"pillStyle",{id:e.id})},children:(0,o.createComponentVNode)(2,a.Box,{mx:-1,className:e.className})},e.id)}))}),!h&&(0,o.createComponentVNode)(2,l,{label:"Pills",amount:c,amountUnit:"pills",sideNote:"max 50u",onChangeAmount:function(t,n){return e.setState({pillAmount:n})},onCreate:function(){return(0,r.act)(n,"create",{type:"pill",amount:c,volume:"auto"})}}),!h&&(0,o.createComponentVNode)(2,l,{label:"Patches",amount:u,amountUnit:"patches",sideNote:"max 40u",onChangeAmount:function(t,n){return e.setState({patchAmount:n})},onCreate:function(){return(0,r.act)(n,"create",{type:"patch",amount:u,volume:"auto"})}}),!h&&(0,o.createComponentVNode)(2,l,{label:"Bottles",amount:d,amountUnit:"bottles",sideNote:"max 30u",onChangeAmount:function(t,n){return e.setState({bottleAmount:n})},onCreate:function(){return(0,r.act)(n,"create",{type:"bottle",amount:d,volume:"auto"})}}),!h&&(0,o.createComponentVNode)(2,l,{label:"Hypovials",amount:p,amountUnit:"vials",sideNote:"max 60u",onChangeAmount:function(t,n){return e.setState({vialAmount:n})},onCreate:function(){return(0,r.act)(n,"create",{type:"hypoVial",amount:p,volume:"auto"})}}),!h&&(0,o.createComponentVNode)(2,l,{label:"Smartdarts",amount:m,amountUnit:"darts",sideNote:"max 20u",onChangeAmount:function(t,n){return e.setState({dartAmount:n})},onCreate:function(){return(0,r.act)(n,"create",{type:"smartDart",amount:m,volume:"auto"})}}),!!h&&(0,o.createComponentVNode)(2,l,{label:"Packs",amount:s,amountUnit:"packs",sideNote:"max 10u",onChangeAmount:function(t,n){return e.setState({packAmount:n})},onCreate:function(){return(0,r.act)(n,"create",{type:"condimentPack",amount:s,volume:"auto"})}}),!!h&&(0,o.createComponentVNode)(2,l,{label:"Bottles",amount:d,amountUnit:"bottles",sideNote:"max 50u",onChangeAmount:function(t,n){return e.setState({bottleAmount:n})},onCreate:function(){return(0,r.act)(n,"create",{type:"condimentBottle",amount:d,volume:"auto"})}})]})},i}(o.Component)},function(e,t,n){"use strict";t.__esModule=!0,t.ChemPress=void 0;var o=n(1),r=n(3),a=n(2);t.ChemPress=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data,c=i.pill_size,l=i.pill_name,u=i.pill_style,d=i.pill_styles,s=void 0===d?[]:d;return(0,o.createComponentVNode)(2,a.Section,{children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Pill Volume",children:(0,o.createComponentVNode)(2,a.NumberInput,{value:c,unit:"u",width:"43px",minValue:5,maxValue:50,step:1,stepPixelSize:2,onChange:function(e,t){return n("change_pill_size",{volume:t})}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Pill Name",children:(0,o.createComponentVNode)(2,a.Input,{value:l,onChange:function(e,t){return n("change_pill_name",{name:t})}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Pill Style",children:s.map((function(e){return(0,o.createComponentVNode)(2,a.Button,{width:5,selected:e.id===u,textAlign:"center",color:"transparent",onClick:function(){return n("change_pill_style",{id:e.id})},children:(0,o.createComponentVNode)(2,a.Box,{mx:-1,className:e.class_name})},e.id)}))})]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.ChemReactionChamber=void 0;var o=n(1),r=n(16),a=n(2),i=n(24),c=n(12);var l=function(e){var t,n;function l(){var t;return(t=e.call(this)||this).state={reagentName:"",reagentQuantity:1},t}n=e,(t=l).prototype=Object.create(n.prototype),t.prototype.constructor=t,t.__proto__=n;var u=l.prototype;return u.setReagentName=function(e){this.setState({reagentName:e})},u.setReagentQuantity=function(e){this.setState({reagentQuantity:e})},u.render=function(){var e=this,t=this.props.state,n=t.config,l=t.data,u=n.ref,d=l.emptying,s=l.reagents||[];return(0,o.createComponentVNode)(2,a.Section,{title:"Reagents",buttons:(0,o.createComponentVNode)(2,a.Box,{inline:!0,bold:!0,color:d?"bad":"good",children:d?"Emptying":"Filling"}),children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createVNode)(1,"tr","LabledList__row",[(0,o.createVNode)(1,"td","LabeledList__cell",(0,o.createComponentVNode)(2,a.Input,{fluid:!0,value:"",placeholder:"Reagent Name",onInput:function(t,n){return e.setReagentName(n)}}),2,{colSpan:"2"}),(0,o.createVNode)(1,"td",(0,c.classes)(["LabeledList__buttons","LabeledList__cell"]),[(0,o.createComponentVNode)(2,a.NumberInput,{value:this.state.reagentQuantity,minValue:1,maxValue:100,step:1,stepPixelSize:3,width:"39px",onDrag:function(t,n){return e.setReagentQuantity(n)}}),(0,o.createComponentVNode)(2,a.Box,{inline:!0,mr:1}),(0,o.createComponentVNode)(2,a.Button,{icon:"plus",onClick:function(){return(0,r.act)(u,"add",{chem:e.state.reagentName,amount:e.state.reagentQuantity})}})],4)],4),(0,i.map)((function(e,t){return(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:t,buttons:(0,o.createComponentVNode)(2,a.Button,{icon:"minus",color:"bad",onClick:function(){return(0,r.act)(u,"remove",{chem:t})}}),children:e},t)}))(s)]})})},l}(o.Component);t.ChemReactionChamber=l},function(e,t,n){"use strict";t.__esModule=!0,t.ChemSplitter=void 0;var o=n(1),r=n(18),a=n(3),i=n(2);t.ChemSplitter=function(e){var t=(0,a.useBackend)(e),n=t.act,c=t.data,l=c.straight,u=c.side,d=c.max_transfer;return(0,o.createComponentVNode)(2,i.Section,{children:(0,o.createComponentVNode)(2,i.LabeledList,{children:[(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Straight",children:(0,o.createComponentVNode)(2,i.NumberInput,{value:l,unit:"u",width:"55px",minValue:1,maxValue:d,format:function(e){return(0,r.toFixed)(e,2)},step:.05,stepPixelSize:4,onChange:function(e,t){return n("set_amount",{target:"straight",amount:t})}})}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Side",children:(0,o.createComponentVNode)(2,i.NumberInput,{value:u,unit:"u",width:"55px",minValue:1,maxValue:d,format:function(e){return(0,r.toFixed)(e,2)},step:.05,stepPixelSize:4,onChange:function(e,t){return n("set_amount",{target:"side",amount:t})}})})]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.ChemSynthesizer=void 0;var o=n(1),r=n(18),a=n(3),i=n(2);t.ChemSynthesizer=function(e){var t=(0,a.useBackend)(e),n=t.act,c=t.data,l=c.amount,u=c.current_reagent,d=c.chemicals,s=void 0===d?[]:d,p=c.possible_amounts,m=void 0===p?[]:p;return(0,o.createComponentVNode)(2,i.Section,{children:[(0,o.createComponentVNode)(2,i.Box,{children:m.map((function(e){return(0,o.createComponentVNode)(2,i.Button,{icon:"plus",content:(0,r.toFixed)(e,0),selected:e===l,onClick:function(){return n("amount",{target:e})}},(0,r.toFixed)(e,0))}))}),(0,o.createComponentVNode)(2,i.Box,{mt:1,children:s.map((function(e){return(0,o.createComponentVNode)(2,i.Button,{icon:"tint",content:e.title,width:"129px",selected:e.id===u,onClick:function(){return n("select",{reagent:e.id})}},e.id)}))})]})}},function(e,t,n){"use strict";t.__esModule=!0,t.CodexGigas=void 0;var o=n(1),r=n(3),a=n(2);t.CodexGigas=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data;return(0,o.createComponentVNode)(2,a.Section,{children:[i.name,(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Prefix",children:["Dark","Hellish","Fallen","Fiery","Sinful","Blood","Fluffy"].map((function(e){return(0,o.createComponentVNode)(2,a.Button,{content:e,disabled:1!==i.currentSection,onClick:function(){return n(e+" ")}},e.toLowerCase())}))}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Title",children:["Lord","Prelate","Count","Viscount","Vizier","Elder","Adept"].map((function(e){return(0,o.createComponentVNode)(2,a.Button,{content:e,disabled:i.currentSection>2,onClick:function(){return n(e+" ")}},e.toLowerCase())}))}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Name",children:["hal","ve","odr","neit","ci","quon","mya","folth","wren","geyr","hil","niet","twou","phi","coa"].map((function(e){return(0,o.createComponentVNode)(2,a.Button,{content:e,disabled:i.currentSection>4,onClick:function(){return n(e)}},e.toLowerCase())}))}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Suffix",children:["the Red","the Soulless","the Master","the Lord of all things","Jr."].map((function(e){return(0,o.createComponentVNode)(2,a.Button,{content:e,disabled:4!==i.currentSection,onClick:function(){return n(" "+e)}},e.toLowerCase())}))}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Submit",children:(0,o.createComponentVNode)(2,a.Button,{content:"Search",disabled:i.currentSection<4,onClick:function(){return n("search")}})})]})]})}},function(e,t,n){"use strict";t.__esModule=!0,t.ComputerFabricator=void 0;var o=n(1),r=(n(23),n(3)),a=n(2);t.ComputerFabricator=function(e){var t=e.state,n=(0,r.useBackend)(e),c=n.act,l=n.data;return(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Section,{italic:!0,fontSize:"20px",children:"Your perfect device, only three steps away..."}),0!==l.state&&(0,o.createComponentVNode)(2,a.Button,{fluid:!0,mb:1,icon:"circle",content:"Clear Order",onClick:function(){return c("clean_order")}}),(0,o.createComponentVNode)(2,i,{state:t})],0)};var i=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data;return 0===i.state?(0,o.createComponentVNode)(2,a.Section,{title:"Step 1",minHeight:51,children:[(0,o.createComponentVNode)(2,a.Box,{mt:5,bold:!0,textAlign:"center",fontSize:"40px",children:"Choose your Device"}),(0,o.createComponentVNode)(2,a.Box,{mt:3,children:(0,o.createComponentVNode)(2,a.Grid,{width:"100%",children:[(0,o.createComponentVNode)(2,a.Grid.Column,{children:(0,o.createComponentVNode)(2,a.Button,{fluid:!0,icon:"laptop",content:"Laptop",textAlign:"center",fontSize:"30px",lineHeight:"50px",onClick:function(){return n("pick_device",{pick:"1"})}})}),(0,o.createComponentVNode)(2,a.Grid.Column,{children:(0,o.createComponentVNode)(2,a.Button,{fluid:!0,icon:"tablet-alt",content:"Tablet",textAlign:"center",fontSize:"30px",lineHeight:"50px",onClick:function(){return n("pick_device",{pick:"2"})}})})]})})]}):1===i.state?(0,o.createComponentVNode)(2,a.Section,{title:"Step 2: Customize your device",minHeight:47,buttons:(0,o.createComponentVNode)(2,a.Box,{bold:!0,color:"good",children:[i.totalprice," cr"]}),children:[(0,o.createComponentVNode)(2,a.Table,{children:[(0,o.createComponentVNode)(2,a.Table.Row,{children:[(0,o.createComponentVNode)(2,a.Table.Cell,{bold:!0,position:"relative",children:["Battery:",(0,o.createComponentVNode)(2,a.Tooltip,{content:"Allows your device to operate without external utility power\nsource. Advanced batteries increase battery life.",position:"right"})]}),(0,o.createComponentVNode)(2,a.Table.Cell,{children:(0,o.createComponentVNode)(2,a.Button,{content:"Standard",selected:1===i.hw_battery,onClick:function(){return n("hw_battery",{battery:"1"})}})}),(0,o.createComponentVNode)(2,a.Table.Cell,{children:(0,o.createComponentVNode)(2,a.Button,{content:"Upgraded",selected:2===i.hw_battery,onClick:function(){return n("hw_battery",{battery:"2"})}})}),(0,o.createComponentVNode)(2,a.Table.Cell,{children:(0,o.createComponentVNode)(2,a.Button,{content:"Advanced",selected:3===i.hw_battery,onClick:function(){return n("hw_battery",{battery:"3"})}})})]}),(0,o.createComponentVNode)(2,a.Table.Row,{children:[(0,o.createComponentVNode)(2,a.Table.Cell,{bold:!0,position:"relative",children:["Hard Drive:",(0,o.createComponentVNode)(2,a.Tooltip,{content:"Stores file on your device. Advanced drives can store more\nfiles, but use more power, shortening battery life.",position:"right"})]}),(0,o.createComponentVNode)(2,a.Table.Cell,{children:(0,o.createComponentVNode)(2,a.Button,{content:"Standard",selected:1===i.hw_disk,onClick:function(){return n("hw_disk",{disk:"1"})}})}),(0,o.createComponentVNode)(2,a.Table.Cell,{children:(0,o.createComponentVNode)(2,a.Button,{content:"Upgraded",selected:2===i.hw_disk,onClick:function(){return n("hw_disk",{disk:"2"})}})}),(0,o.createComponentVNode)(2,a.Table.Cell,{children:(0,o.createComponentVNode)(2,a.Button,{content:"Advanced",selected:3===i.hw_disk,onClick:function(){return n("hw_disk",{disk:"3"})}})})]}),(0,o.createComponentVNode)(2,a.Table.Row,{children:[(0,o.createComponentVNode)(2,a.Table.Cell,{bold:!0,position:"relative",children:["Network Card:",(0,o.createComponentVNode)(2,a.Tooltip,{content:"Allows your device to wirelessly connect to stationwide NTNet\nnetwork. Basic cards are limited to on-station use, while\nadvanced cards can operate anywhere near the station, which\nincludes asteroid outposts",position:"right"})]}),(0,o.createComponentVNode)(2,a.Table.Cell,{children:(0,o.createComponentVNode)(2,a.Button,{content:"None",selected:0===i.hw_netcard,onClick:function(){return n("hw_netcard",{netcard:"0"})}})}),(0,o.createComponentVNode)(2,a.Table.Cell,{children:(0,o.createComponentVNode)(2,a.Button,{content:"Standard",selected:1===i.hw_netcard,onClick:function(){return n("hw_netcard",{netcard:"1"})}})}),(0,o.createComponentVNode)(2,a.Table.Cell,{children:(0,o.createComponentVNode)(2,a.Button,{content:"Advanced",selected:2===i.hw_netcard,onClick:function(){return n("hw_netcard",{netcard:"2"})}})})]}),(0,o.createComponentVNode)(2,a.Table.Row,{children:[(0,o.createComponentVNode)(2,a.Table.Cell,{bold:!0,position:"relative",children:["Nano Printer:",(0,o.createComponentVNode)(2,a.Tooltip,{content:"A device that allows for various paperwork manipulations,\nsuch as, scanning of documents or printing new ones.\nThis device was certified EcoFriendlyPlus and is capable of\nrecycling existing paper for printing purposes.",position:"right"})]}),(0,o.createComponentVNode)(2,a.Table.Cell,{children:(0,o.createComponentVNode)(2,a.Button,{content:"None",selected:0===i.hw_nanoprint,onClick:function(){return n("hw_nanoprint",{print:"0"})}})}),(0,o.createComponentVNode)(2,a.Table.Cell,{children:(0,o.createComponentVNode)(2,a.Button,{content:"Standard",selected:1===i.hw_nanoprint,onClick:function(){return n("hw_nanoprint",{print:"1"})}})})]}),(0,o.createComponentVNode)(2,a.Table.Row,{children:[(0,o.createComponentVNode)(2,a.Table.Cell,{bold:!0,position:"relative",children:["Card Reader:",(0,o.createComponentVNode)(2,a.Tooltip,{content:"Adds a slot that allows you to manipulate RFID cards.\nPlease note that this is not necessary to allow the device\nto read your identification, it is just necessary to\nmanipulate other cards.",position:"right"})]}),(0,o.createComponentVNode)(2,a.Table.Cell,{children:(0,o.createComponentVNode)(2,a.Button,{content:"None",selected:0===i.hw_card,onClick:function(){return n("hw_card",{card:"0"})}})}),(0,o.createComponentVNode)(2,a.Table.Cell,{children:(0,o.createComponentVNode)(2,a.Button,{content:"Standard",selected:1===i.hw_card,onClick:function(){return n("hw_card",{card:"1"})}})})]}),2!==i.devtype&&(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Table.Row,{children:[(0,o.createComponentVNode)(2,a.Table.Cell,{bold:!0,position:"relative",children:["Processor Unit:",(0,o.createComponentVNode)(2,a.Tooltip,{content:"A component critical for your device's functionality.\nIt allows you to run programs from your hard drive.\nAdvanced CPUs use more power, but allow you to run\nmore programs on background at once.",position:"right"})]}),(0,o.createComponentVNode)(2,a.Table.Cell,{children:(0,o.createComponentVNode)(2,a.Button,{content:"Standard",selected:1===i.hw_cpu,onClick:function(){return n("hw_cpu",{cpu:"1"})}})}),(0,o.createComponentVNode)(2,a.Table.Cell,{children:(0,o.createComponentVNode)(2,a.Button,{content:"Advanced",selected:2===i.hw_cpu,onClick:function(){return n("hw_cpu",{cpu:"2"})}})})]}),(0,o.createComponentVNode)(2,a.Table.Row,{children:[(0,o.createComponentVNode)(2,a.Table.Cell,{bold:!0,position:"relative",children:["Tesla Relay:",(0,o.createComponentVNode)(2,a.Tooltip,{content:"An advanced wireless power relay that allows your device\nto connect to nearby area power controller to provide\nalternative power source. This component is currently\nunavailable on tablet computers due to size restrictions.",position:"right"})]}),(0,o.createComponentVNode)(2,a.Table.Cell,{children:(0,o.createComponentVNode)(2,a.Button,{content:"None",selected:0===i.hw_tesla,onClick:function(){return n("hw_tesla",{tesla:"0"})}})}),(0,o.createComponentVNode)(2,a.Table.Cell,{children:(0,o.createComponentVNode)(2,a.Button,{content:"Standard",selected:1===i.hw_tesla,onClick:function(){return n("hw_tesla",{tesla:"1"})}})})]})],4)]}),(0,o.createComponentVNode)(2,a.Button,{fluid:!0,mt:3,content:"Confirm Order",color:"good",textAlign:"center",fontSize:"18px",lineHeight:"26px",onClick:function(){return n("confirm_order")}})]}):2===i.state?(0,o.createComponentVNode)(2,a.Section,{title:"Step 3: Payment",minHeight:47,children:[(0,o.createComponentVNode)(2,a.Box,{italic:!0,textAlign:"center",fontSize:"20px",children:"Your device is ready for fabrication..."}),(0,o.createComponentVNode)(2,a.Box,{bold:!0,mt:2,textAlign:"center",fontSize:"16px",children:[(0,o.createComponentVNode)(2,a.Box,{inline:!0,children:"Please insert the required"})," ",(0,o.createComponentVNode)(2,a.Box,{inline:!0,color:"good",children:[i.totalprice," cr"]})]}),(0,o.createComponentVNode)(2,a.Box,{bold:!0,mt:1,textAlign:"center",fontSize:"18px",children:"Current:"}),(0,o.createComponentVNode)(2,a.Box,{bold:!0,mt:.5,textAlign:"center",fontSize:"18px",color:i.credits>=i.totalprice?"good":"bad",children:[i.credits," cr"]}),(0,o.createComponentVNode)(2,a.Button,{fluid:!0,content:"Purchase",disabled:i.credits=10&&e<20?i.COLORS.department.security:e>=20&&e<30?i.COLORS.department.medbay:e>=30&&e<40?i.COLORS.department.science:e>=40&&e<50?i.COLORS.department.engineering:e>=50&&e<60?i.COLORS.department.cargo:e>=200&&e<230?i.COLORS.department.centcom:i.COLORS.department.other},u=function(e){var t=e.type,n=e.value;return(0,o.createComponentVNode)(2,a.Box,{inline:!0,width:4,color:i.COLORS.damageType[t],textAlign:"center",children:n})};t.CrewConsole=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data,d=i.sensors||[];return(0,o.createComponentVNode)(2,a.Section,{minHeight:90,children:(0,o.createComponentVNode)(2,a.Table,{children:[(0,o.createComponentVNode)(2,a.Table.Row,{children:[(0,o.createComponentVNode)(2,a.Table.Cell,{bold:!0,children:"Name"}),(0,o.createComponentVNode)(2,a.Table.Cell,{bold:!0,collapsing:!0}),(0,o.createComponentVNode)(2,a.Table.Cell,{bold:!0,collapsing:!0,textAlign:"center",children:"Vitals"}),(0,o.createComponentVNode)(2,a.Table.Cell,{bold:!0,children:"Position"}),!!i.link_allowed&&(0,o.createComponentVNode)(2,a.Table.Cell,{bold:!0,collapsing:!0,children:"Tracking"})]}),d.map((function(e){return(0,o.createComponentVNode)(2,a.Table.Row,{children:[(0,o.createComponentVNode)(2,a.Table.Cell,{bold:(f=e.ijob,f%10==0),color:l(e.ijob),children:[e.name," (",e.assignment,")"]}),(0,o.createComponentVNode)(2,a.Table.Cell,{collapsing:!0,textAlign:"center",children:(0,o.createComponentVNode)(2,a.ColorBox,{color:(t=e.oxydam,r=e.toxdam,d=e.burndam,s=e.brutedam,p=t+r+d+s,m=Math.min(Math.max(Math.ceil(p/25),0),5),c[m])})}),(0,o.createComponentVNode)(2,a.Table.Cell,{collapsing:!0,textAlign:"center",children:null!==e.oxydam?(0,o.createComponentVNode)(2,a.Box,{inline:!0,children:[(0,o.createComponentVNode)(2,u,{type:"oxy",value:e.oxydam}),"/",(0,o.createComponentVNode)(2,u,{type:"toxin",value:e.toxdam}),"/",(0,o.createComponentVNode)(2,u,{type:"burn",value:e.burndam}),"/",(0,o.createComponentVNode)(2,u,{type:"brute",value:e.brutedam})]}):e.life_status?"Alive":"Dead"}),(0,o.createComponentVNode)(2,a.Table.Cell,{children:null!==e.pos_x?e.area:"N/A"}),!!i.link_allowed&&(0,o.createComponentVNode)(2,a.Table.Cell,{collapsing:!0,children:(0,o.createComponentVNode)(2,a.Button,{content:"Track",disabled:!e.can_track,onClick:function(){return n("select_person",{name:e.name})}})})]},e.name);var t,r,d,s,p,m,f}))]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.Cryo=void 0;var o=n(1),r=n(3),a=n(2),i=n(164);t.Cryo=function(e){var t=(0,r.useBackend)(e),n=t.act,c=t.data;return(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Section,{title:"Occupant",children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Occupant",content:c.occupant.name?c.occupant.name:"No Occupant"}),!!c.hasOccupant&&(0,o.createFragment)([(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"State",content:c.occupant.stat,color:c.occupant.statstate}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Temperature",color:c.occupant.temperaturestatus,children:[(0,o.createComponentVNode)(2,a.AnimatedNumber,{value:c.occupant.bodyTemperature})," K"]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Health",children:(0,o.createComponentVNode)(2,a.ProgressBar,{value:c.occupant.health/c.occupant.maxHealth,color:c.occupant.health>0?"good":"average",children:(0,o.createComponentVNode)(2,a.AnimatedNumber,{value:c.occupant.health})})}),[{label:"Brute",type:"bruteLoss"},{label:"Respiratory",type:"oxyLoss"},{label:"Toxin",type:"toxLoss"},{label:"Burn",type:"fireLoss"}].map((function(e){return(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:e.label,children:(0,o.createComponentVNode)(2,a.ProgressBar,{value:c.occupant[e.type]/100,children:(0,o.createComponentVNode)(2,a.AnimatedNumber,{value:c.occupant[e.type]})})},e.id)}))],0)]})}),(0,o.createComponentVNode)(2,a.Section,{title:"Cell",children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Power",content:(0,o.createComponentVNode)(2,a.Button,{icon:c.isOperating?"power-off":"times",disabled:c.isOpen,onClick:function(){return n("power")},color:c.isOperating&&"green",children:c.isOperating?"On":"Off"})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Temperature",children:[(0,o.createComponentVNode)(2,a.AnimatedNumber,{value:c.cellTemperature})," K"]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Door",children:[(0,o.createComponentVNode)(2,a.Button,{icon:c.isOpen?"unlock":"lock",onClick:function(){return n("door")},content:c.isOpen?"Open":"Closed"}),(0,o.createComponentVNode)(2,a.Button,{icon:c.autoEject?"sign-out-alt":"sign-in-alt",onClick:function(){return n("autoeject")},content:c.autoEject?"Auto":"Manual"})]})]})}),(0,o.createComponentVNode)(2,a.Section,{title:"Beaker",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:"eject",disabled:!c.isBeakerLoaded,onClick:function(){return n("ejectbeaker")},content:"Eject"}),children:(0,o.createComponentVNode)(2,i.BeakerContents,{beakerLoaded:c.isBeakerLoaded,beakerContents:c.beakerContents})})],4)}},function(e,t,n){"use strict";t.__esModule=!0,t.PersonalCrafting=void 0;var o=n(1),r=n(24),a=n(3),i=n(2),c=function(e){var t=e.craftables,n=void 0===t?[]:t,r=(0,a.useBackend)(e),c=r.act,l=r.data,u=l.craftability,d=void 0===u?{}:u,s=l.display_compact,p=l.display_craftable_only;return n.map((function(e){return p&&!d[e.ref]?null:s?(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:e.name,className:"candystripe",buttons:(0,o.createComponentVNode)(2,i.Button,{icon:"cog",content:"Craft",disabled:!d[e.ref],tooltip:e.tool_text&&"Tools needed: "+e.tool_text,tooltipPosition:"left",onClick:function(){return c("make",{recipe:e.ref})}}),children:e.req_text},e.name):(0,o.createComponentVNode)(2,i.Section,{title:e.name,level:2,buttons:(0,o.createComponentVNode)(2,i.Button,{icon:"cog",content:"Craft",disabled:!d[e.ref],onClick:function(){return c("make",{recipe:e.ref})}}),children:(0,o.createComponentVNode)(2,i.LabeledList,{children:[!!e.req_text&&(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Required",children:e.req_text}),!!e.catalyst_text&&(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Catalyst",children:e.catalyst_text}),!!e.tool_text&&(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Tools",children:e.tool_text})]})},e.name)}))};t.PersonalCrafting=function(e){var t=e.state,n=(0,a.useBackend)(e),l=n.act,u=n.data,d=u.busy,s=u.display_craftable_only,p=u.display_compact,m=(0,r.map)((function(e,t){return{category:t,subcategory:e,hasSubcats:"has_subcats"in e,firstSubcatName:Object.keys(e).find((function(e){return"has_subcats"!==e}))}}))(u.crafting_recipes||{}),f=!!d&&(0,o.createComponentVNode)(2,i.Dimmer,{fontSize:"40px",textAlign:"center",children:(0,o.createComponentVNode)(2,i.Box,{mt:30,children:[(0,o.createComponentVNode)(2,i.Icon,{name:"cog",spin:1})," Crafting..."]})});return(0,o.createFragment)([f,(0,o.createComponentVNode)(2,i.Section,{title:"Personal Crafting",buttons:(0,o.createFragment)([(0,o.createComponentVNode)(2,i.Button,{icon:p?"check-square-o":"square-o",content:"Compact",selected:p,onClick:function(){return l("toggle_compact")}}),(0,o.createComponentVNode)(2,i.Button,{icon:s?"check-square-o":"square-o",content:"Craftable Only",selected:s,onClick:function(){return l("toggle_recipes")}})],4),children:(0,o.createComponentVNode)(2,i.Tabs,{children:m.map((function(e){return(0,o.createComponentVNode)(2,i.Tabs.Tab,{label:e.category,onClick:function(){return l("set_category",{category:e.category,subcategory:e.firstSubcatName})},children:function(){return!e.hasSubcats&&(0,o.createComponentVNode)(2,c,{craftables:e.subcategory,state:t})||(0,o.createComponentVNode)(2,i.Tabs,{vertical:!0,children:(0,r.map)((function(e,n){if("has_subcats"!==n)return(0,o.createComponentVNode)(2,i.Tabs.Tab,{label:n,onClick:function(){return l("set_category",{subcategory:n})},children:function(){return(0,o.createComponentVNode)(2,c,{craftables:e,state:t})}})}))(e.subcategory)})}},e.category)}))})})],0)}},function(e,t,n){"use strict";t.__esModule=!0,t.DecalPainter=void 0;var o=n(1),r=n(3),a=n(2);t.DecalPainter=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data,c=i.decal_list||[],l=i.color_list||[],u=i.dir_list||[];return(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Section,{title:"Decal Type",children:c.map((function(e){return(0,o.createComponentVNode)(2,a.Button,{content:e.name,selected:e.decal===i.decal_style,onClick:function(){return n("select decal",{decals:e.decal})}},e.decal)}))}),(0,o.createComponentVNode)(2,a.Section,{title:"Decal Color",children:l.map((function(e){return(0,o.createComponentVNode)(2,a.Button,{content:"red"===e.colors?"Red":"white"===e.colors?"White":"Yellow",selected:e.colors===i.decal_color,onClick:function(){return n("select color",{colors:e.colors})}},e.colors)}))}),(0,o.createComponentVNode)(2,a.Section,{title:"Decal Direction",children:u.map((function(e){return(0,o.createComponentVNode)(2,a.Button,{content:1===e.dirs?"North":2===e.dirs?"South":4===e.dirs?"East":"West",selected:e.dirs===i.decal_direction,onClick:function(){return n("selected direction",{dirs:e.dirs})}},e.dirs)}))})],4)}},function(e,t,n){"use strict";t.__esModule=!0,t.DisposalUnit=void 0;var o=n(1),r=n(3),a=n(2);t.DisposalUnit=function(e){var t,n,i=(0,r.useBackend)(e),c=i.act,l=i.data;return l.full_pressure?(t="good",n="Ready"):l.panel_open?(t="bad",n="Power Disabled"):l.pressure_charging?(t="average",n="Pressurizing"):(t="bad",n="Off"),(0,o.createComponentVNode)(2,a.Section,{children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"State",color:t,children:n}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Pressure",children:(0,o.createComponentVNode)(2,a.ProgressBar,{value:l.per,color:"good"})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Handle",children:(0,o.createComponentVNode)(2,a.Button,{icon:l.flush?"toggle-on":"toggle-off",disabled:l.isai||l.panel_open,content:l.flush?"Disengage":"Engage",onClick:function(){return c(l.flush?"handle-0":"handle-1")}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Eject",children:(0,o.createComponentVNode)(2,a.Button,{icon:"sign-out-alt",disabled:l.isai,content:"Eject Contents",onClick:function(){return c("eject")}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Power",children:(0,o.createComponentVNode)(2,a.Button,{icon:"power-off",disabled:l.panel_open,selected:l.pressure_charging,onClick:function(){return c(l.pressure_charging?"pump-0":"pump-1")}})})]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.DnaVault=void 0;var o=n(1),r=n(3),a=n(2);t.DnaVault=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data,c=i.completed,l=i.used,u=i.choiceA,d=i.choiceB,s=i.dna,p=i.dna_max,m=i.plants,f=i.plants_max,h=i.animals,C=i.animals_max;return(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Section,{title:"DNA Vault Database",children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Human DNA",children:(0,o.createComponentVNode)(2,a.ProgressBar,{value:s/p,content:s+" / "+p+" Samples"})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Plant DNA",children:(0,o.createComponentVNode)(2,a.ProgressBar,{value:m/f,content:m+" / "+f+" Samples"})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Animal DNA",children:(0,o.createComponentVNode)(2,a.ProgressBar,{value:h/h,content:h+" / "+C+" Samples"})})]})}),!(!c||l)&&(0,o.createComponentVNode)(2,a.Section,{title:"Personal Gene Therapy",children:[(0,o.createComponentVNode)(2,a.Box,{bold:!0,textAlign:"center",mb:1,children:"Applicable Gene Therapy Treatments"}),(0,o.createComponentVNode)(2,a.Grid,{children:[(0,o.createComponentVNode)(2,a.Grid.Column,{children:(0,o.createComponentVNode)(2,a.Button,{fluid:!0,bold:!0,content:u,textAlign:"center",onClick:function(){return n("gene",{choice:u})}})}),(0,o.createComponentVNode)(2,a.Grid.Column,{children:(0,o.createComponentVNode)(2,a.Button,{fluid:!0,bold:!0,content:d,textAlign:"center",onClick:function(){return n("gene",{choice:d})}})})]})]})],0)}},function(e,t,n){"use strict";t.__esModule=!0,t.EightBallVote=void 0;var o=n(1),r=n(3),a=n(2),i=n(23);t.EightBallVote=function(e){var t=(0,r.useBackend)(e),n=t.act,c=t.data,l=c.question,u=c.shaking,d=c.answers,s=void 0===d?[]:d;return u?(0,o.createComponentVNode)(2,a.Section,{children:[(0,o.createComponentVNode)(2,a.Box,{bold:!0,textAlign:"center",fontSize:"16px",m:1,children:['"',l,'"']}),(0,o.createComponentVNode)(2,a.Grid,{children:s.map((function(e){return(0,o.createComponentVNode)(2,a.Grid.Column,{children:[(0,o.createComponentVNode)(2,a.Button,{fluid:!0,bold:!0,content:(0,i.toTitleCase)(e.answer),selected:e.selected,fontSize:"16px",lineHeight:"24px",textAlign:"center",mb:1,onClick:function(){return n("vote",{answer:e.answer})}}),(0,o.createComponentVNode)(2,a.Box,{bold:!0,textAlign:"center",fontSize:"30px",children:e.amount})]},e.answer)}))})]}):(0,o.createComponentVNode)(2,a.NoticeBox,{children:"No question is currently being asked."})}},function(e,t,n){"use strict";t.__esModule=!0,t.EmergencyShuttleConsole=void 0;var o=n(1),r=n(2),a=n(3);t.EmergencyShuttleConsole=function(e){var t=(0,a.useBackend)(e),n=t.act,i=t.data,c=i.timer_str,l=i.enabled,u=i.emagged,d=i.engines_started,s=i.authorizations_remaining,p=i.authorizations,m=void 0===p?[]:p;return(0,o.createComponentVNode)(2,r.Section,{children:[(0,o.createComponentVNode)(2,r.Box,{bold:!0,fontSize:"40px",textAlign:"center",fontFamily:"monospace",children:c}),(0,o.createComponentVNode)(2,r.Box,{textAlign:"center",fontSize:"16px",mb:1,children:[(0,o.createComponentVNode)(2,r.Box,{inline:!0,bold:!0,children:"ENGINES:"}),(0,o.createComponentVNode)(2,r.Box,{inline:!0,color:d?"good":"average",ml:1,children:d?"Online":"Idle"})]}),(0,o.createComponentVNode)(2,r.Section,{title:"Early Launch Authorization",level:2,buttons:(0,o.createComponentVNode)(2,r.Button,{icon:"times",content:"Repeal All",color:"bad",disabled:!l,onClick:function(){return n("abort")}}),children:[(0,o.createComponentVNode)(2,r.Grid,{children:[(0,o.createComponentVNode)(2,r.Grid.Column,{children:(0,o.createComponentVNode)(2,r.Button,{fluid:!0,icon:"exclamation-triangle",color:"good",content:"AUTHORIZE",disabled:!l,onClick:function(){return n("authorize")}})}),(0,o.createComponentVNode)(2,r.Grid.Column,{children:(0,o.createComponentVNode)(2,r.Button,{fluid:!0,icon:"minus",content:"REPEAL",disabled:!l,onClick:function(){return n("repeal")}})})]}),(0,o.createComponentVNode)(2,r.Section,{title:"Authorizations",level:3,minHeight:"150px",buttons:(0,o.createComponentVNode)(2,r.Box,{inline:!0,bold:!0,color:u?"bad":"good",children:u?"ERROR":"Remaining: "+s}),children:[m.length>0?m.map((function(e){return(0,o.createComponentVNode)(2,r.Box,{bold:!0,fontSize:"16px",className:"candystripe",children:[e.name," (",e.job,")"]},e.name)})):(0,o.createComponentVNode)(2,r.Box,{bold:!0,textAlign:"center",fontSize:"16px",color:"average",children:"No Active Authorizations"}),m.map((function(e){return(0,o.createComponentVNode)(2,r.Box,{bold:!0,fontSize:"16px",className:"candystripe",children:[e.name," (",e.job,")"]},e.name)}))]})]})]})}},function(e,t,n){"use strict";t.__esModule=!0,t.EngravedMessage=void 0;var o=n(1),r=n(23),a=n(3),i=n(2);t.EngravedMessage=function(e){var t=(0,a.useBackend)(e),n=t.act,c=t.data,l=c.admin_mode,u=c.creator_key,d=c.creator_name,s=c.has_liked,p=c.has_disliked,m=c.hidden_message,f=c.is_creator,h=c.num_likes,C=c.num_dislikes,g=c.realdate;return(0,o.createFragment)([(0,o.createComponentVNode)(2,i.Section,{children:[(0,o.createComponentVNode)(2,i.Box,{bold:!0,textAlign:"center",fontSize:"20px",mb:2,children:(0,r.decodeHtmlEntities)(m)}),(0,o.createComponentVNode)(2,i.Grid,{children:[(0,o.createComponentVNode)(2,i.Grid.Column,{children:(0,o.createComponentVNode)(2,i.Button,{fluid:!0,icon:"arrow-up",content:" "+h,disabled:f,selected:s,textAlign:"center",fontSize:"16px",lineHeight:"24px",onClick:function(){return n("like")}})}),(0,o.createComponentVNode)(2,i.Grid.Column,{children:(0,o.createComponentVNode)(2,i.Button,{fluid:!0,icon:"circle",disabled:f,selected:!p&&!s,textAlign:"center",fontSize:"16px",lineHeight:"24px",onClick:function(){return n("neutral")}})}),(0,o.createComponentVNode)(2,i.Grid.Column,{children:(0,o.createComponentVNode)(2,i.Button,{fluid:!0,icon:"arrow-down",content:" "+C,disabled:f,selected:p,textAlign:"center",fontSize:"16px",lineHeight:"24px",onClick:function(){return n("dislike")}})})]})]}),(0,o.createComponentVNode)(2,i.Section,{children:(0,o.createComponentVNode)(2,i.LabeledList,{children:(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Created On",children:g})})}),(0,o.createComponentVNode)(2,i.Section),!!l&&(0,o.createComponentVNode)(2,i.Section,{title:"Admin Panel",buttons:(0,o.createComponentVNode)(2,i.Button,{icon:"times",content:"Delete",color:"bad",onClick:function(){return n("delete")}}),children:(0,o.createComponentVNode)(2,i.LabeledList,{children:[(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Creator Ckey",children:u}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Creator Character Name",children:d})]})})],0)}},function(e,t,n){"use strict";t.__esModule=!0,t.Gps=void 0;var o=n(1),r=n(24),a=n(70),i=n(18),c=n(156),l=n(3),u=n(2),d=function(e){return(0,r.map)(parseFloat)(e.split(", "))};t.Gps=function(e){var t=(0,l.useBackend)(e),n=t.act,s=t.data,p=s.currentArea,m=s.currentCoords,f=s.globalmode,h=s.power,C=s.tag,g=s.updating,b=(0,a.flow)([(0,r.map)((function(e,t){var n=e.dist&&Math.round((0,c.vecLength)((0,c.vecSubtract)(d(m),d(e.coords))));return Object.assign({},e,{dist:n,index:t})})),(0,r.sortBy)((function(e){return e.dist===undefined}),(function(e){return e.entrytag}))])(s.signals||[]);return(0,o.createFragment)([(0,o.createComponentVNode)(2,u.Section,{title:"Control",buttons:(0,o.createComponentVNode)(2,u.Button,{icon:"power-off",content:h?"On":"Off",selected:h,onClick:function(){return n("power")}}),children:(0,o.createComponentVNode)(2,u.LabeledList,{children:[(0,o.createComponentVNode)(2,u.LabeledList.Item,{label:"Tag",children:(0,o.createComponentVNode)(2,u.Button,{icon:"pencil-alt",content:C,onClick:function(){return n("rename")}})}),(0,o.createComponentVNode)(2,u.LabeledList.Item,{label:"Scan Mode",children:(0,o.createComponentVNode)(2,u.Button,{icon:g?"unlock":"lock",content:g?"AUTO":"MANUAL",color:!g&&"bad",onClick:function(){return n("updating")}})}),(0,o.createComponentVNode)(2,u.LabeledList.Item,{label:"Range",children:(0,o.createComponentVNode)(2,u.Button,{icon:"sync",content:f?"MAXIMUM":"LOCAL",selected:!f,onClick:function(){return n("globalmode")}})})]})}),!!h&&(0,o.createFragment)([(0,o.createComponentVNode)(2,u.Section,{title:"Current Location",children:(0,o.createComponentVNode)(2,u.Box,{fontSize:"18px",children:[p," (",m,")"]})}),(0,o.createComponentVNode)(2,u.Section,{title:"Detected Signals",children:(0,o.createComponentVNode)(2,u.Table,{children:[(0,o.createComponentVNode)(2,u.Table.Row,{bold:!0,children:[(0,o.createComponentVNode)(2,u.Table.Cell,{content:"Name"}),(0,o.createComponentVNode)(2,u.Table.Cell,{collapsing:!0,content:"Direction"}),(0,o.createComponentVNode)(2,u.Table.Cell,{collapsing:!0,content:"Coordinates"})]}),b.map((function(e){return(0,o.createComponentVNode)(2,u.Table.Row,{className:"candystripe",children:[(0,o.createComponentVNode)(2,u.Table.Cell,{bold:!0,color:"label",children:e.entrytag}),(0,o.createComponentVNode)(2,u.Table.Cell,{collapsing:!0,opacity:e.dist!==undefined&&(0,i.clamp)(1.2/Math.log(Math.E+e.dist/20),.4,1),children:[e.degrees!==undefined&&(0,o.createComponentVNode)(2,u.Icon,{mr:1,size:1.2,name:"arrow-up",rotation:e.degrees}),e.dist!==undefined&&e.dist+"m"]}),(0,o.createComponentVNode)(2,u.Table.Cell,{collapsing:!0,children:e.coords})]},e.entrytag+e.coords+e.index)}))]})})],4)],0)}},function(e,t,n){"use strict";t.__esModule=!0,t.GravityGenerator=void 0;var o=n(1),r=n(3),a=n(2);t.GravityGenerator=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data,c=i.breaker,l=i.charge_count,u=i.charging_state,d=i.on,s=i.operational;return(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Section,{children:!s&&(0,o.createComponentVNode)(2,a.NoticeBox,{textAlign:"center",children:"No data available"})||(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Breaker",children:(0,o.createComponentVNode)(2,a.Button,{icon:c?"power-off":"times",content:c?"On":"Off",selected:c,disabled:!s,onClick:function(){return n("gentoggle")}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Gravity Charge",children:(0,o.createComponentVNode)(2,a.ProgressBar,{value:l/100,ranges:{good:[.7,Infinity],average:[.3,.7],bad:[-Infinity,.3]}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Charge Mode",children:[0===u&&(d&&(0,o.createComponentVNode)(2,a.Box,{color:"good",children:"Fully Charged"})||(0,o.createComponentVNode)(2,a.Box,{color:"bad",children:"Not Charging"})),1===u&&(0,o.createComponentVNode)(2,a.Box,{color:"average",children:"Charging"}),2===u&&(0,o.createComponentVNode)(2,a.Box,{color:"average",children:"Discharging"})]})]})}),s&&0!==u&&(0,o.createComponentVNode)(2,a.NoticeBox,{textAlign:"center",children:"WARNING - Radiation detected"}),s&&0===u&&(0,o.createComponentVNode)(2,a.NoticeBox,{textAlign:"center",children:"No radiation detected"})],0)}},function(e,t,n){"use strict";t.__esModule=!0,t.GulagTeleporterConsole=void 0;var o=n(1),r=n(3),a=n(2);t.GulagTeleporterConsole=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data,c=i.teleporter,l=i.teleporter_lock,u=i.teleporter_state_open,d=i.teleporter_location,s=i.beacon,p=i.beacon_location,m=i.id,f=i.id_name,h=i.can_teleport,C=i.goal,g=void 0===C?0:C,b=i.prisoner,v=void 0===b?{}:b;return(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Section,{title:"Teleporter Console",buttons:(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Button,{content:u?"Open":"Closed",disabled:l,selected:u,onClick:function(){return n("toggle_open")}}),(0,o.createComponentVNode)(2,a.Button,{icon:l?"lock":"unlock",content:l?"Locked":"Unlocked",selected:l,disabled:u,onClick:function(){return n("teleporter_lock")}})],4),children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Teleporter Unit",color:c?"good":"bad",buttons:!c&&(0,o.createComponentVNode)(2,a.Button,{content:"Reconnect",onClick:function(){return n("scan_teleporter")}}),children:c?d:"Not Connected"}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Receiver Beacon",color:s?"good":"bad",buttons:!s&&(0,o.createComponentVNode)(2,a.Button,{content:"Reconnect",onClick:function(){return n("scan_beacon")}}),children:s?p:"Not Connected"})]})}),(0,o.createComponentVNode)(2,a.Section,{title:"Prisoner Details",children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Prisoner ID",children:(0,o.createComponentVNode)(2,a.Button,{fluid:!0,content:m?f:"No ID",onClick:function(){return n("handle_id")}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Point Goal",children:(0,o.createComponentVNode)(2,a.NumberInput,{value:g,width:"48px",minValue:1,maxValue:1e3,onChange:function(e,t){return n("set_goal",{value:t})}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Occupant",children:v.name?v.name:"No Occupant"}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Criminal Status",children:v.crimstat?v.crimstat:"No Status"})]})}),(0,o.createComponentVNode)(2,a.Button,{fluid:!0,content:"Process Prisoner",disabled:!h,textAlign:"center",color:"bad",onClick:function(){return n("teleport")}})],4)}},function(e,t,n){"use strict";t.__esModule=!0,t.GulagItemReclaimer=void 0;var o=n(1),r=n(3),a=n(2);t.GulagItemReclaimer=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data,c=i.mobs||[];return(0,o.createComponentVNode)(2,a.Section,{title:"Stored Items",children:(0,o.createComponentVNode)(2,a.Table,{children:c.map((function(e){return(0,o.createComponentVNode)(2,a.Table.Row,{children:[(0,o.createComponentVNode)(2,a.Table.Cell,{children:e.name}),(0,o.createComponentVNode)(2,a.Table.Cell,{textAlign:"right",children:(0,o.createComponentVNode)(2,a.Button,{content:"Retrieve Items",disabled:!i.can_reclaim,onClick:function(){return n("release_items",{mobref:e.mob})}})})]},e.mob)}))})})}},function(e,t,n){"use strict";t.__esModule=!0,t.Holodeck=void 0;var o=n(1),r=n(3),a=n(2);t.Holodeck=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data,c=i.can_toggle_safety,l=i.default_programs,u=void 0===l?[]:l,d=i.emag_programs,s=void 0===d?[]:d,p=i.emagged,m=i.program;return(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Section,{title:"Default Programs",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:p?"unlock":"lock",content:"Safeties",color:"bad",disabled:!c,selected:!p,onClick:function(){return n("safety")}}),children:u.map((function(e){return(0,o.createComponentVNode)(2,a.Button,{fluid:!0,content:e.name.substring(11),textAlign:"center",selected:e.type===m,onClick:function(){return n("load_program",{type:e.type})}},e.type)}))}),!!p&&(0,o.createComponentVNode)(2,a.Section,{title:"Dangerous Programs",children:s.map((function(e){return(0,o.createComponentVNode)(2,a.Button,{fluid:!0,content:e.name.substring(11),color:"bad",textAlign:"center",selected:e.type===m,onClick:function(){return n("load_program",{type:e.type})}},e.type)}))})],0)}},function(e,t,n){"use strict";t.__esModule=!0,t.ImplantChair=void 0;var o=n(1),r=n(3),a=n(2);t.ImplantChair=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data;return(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Section,{title:"Occupant Information",textAlign:"center",children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Name",children:i.occupant.name?i.occupant.name:"No Occupant"}),!!i.occupied&&(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Status",color:0===i.occupant.stat?"good":1===i.occupant.stat?"average":"bad",children:0===i.occupant.stat?"Conscious":1===i.occupant.stat?"Unconcious":"Dead"})]})}),(0,o.createComponentVNode)(2,a.Section,{title:"Operations",textAlign:"center",children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Door",children:(0,o.createComponentVNode)(2,a.Button,{icon:i.open?"unlock":"lock",color:i.open?"default":"red",content:i.open?"Open":"Closed",onClick:function(){return n("door")}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Implant Occupant",children:[(0,o.createComponentVNode)(2,a.Button,{icon:"code-branch",content:i.ready?i.special_name||"Implant":"Recharging",onClick:function(){return n("implant")}}),0===i.ready&&(0,o.createComponentVNode)(2,a.Icon,{name:"cog",color:"orange",spin:!0})]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Implants Remaining",children:[i.ready_implants,1===i.replenishing&&(0,o.createComponentVNode)(2,a.Icon,{name:"sync",color:"red",spin:!0})]})]})})],4)}},function(e,t,n){"use strict";t.__esModule=!0,t.Intellicard=void 0;var o=n(1),r=n(3),a=n(2);t.Intellicard=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data,c=u||d,l=i.name,u=i.isDead,d=i.isBraindead,s=i.health,p=i.wireless,m=i.radio,f=i.wiping,h=i.laws,C=void 0===h?[]:h;return(0,o.createComponentVNode)(2,a.Section,{title:l||"Empty Card",buttons:!!l&&(0,o.createComponentVNode)(2,a.Button,{icon:"trash",content:f?"Stop Wiping":"Wipe",disabled:u,onClick:function(){return n("wipe")}}),children:!!l&&(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Status",color:c?"bad":"good",children:c?"Offline":"Operation"}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Software Integrity",children:(0,o.createComponentVNode)(2,a.ProgressBar,{value:s,minValue:0,maxValue:100,ranges:{good:[70,Infinity],average:[50,70],bad:[-Infinity,50]}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Settings",children:[(0,o.createComponentVNode)(2,a.Button,{icon:"signal",content:"Wireless Activity",selected:p,onClick:function(){return n("wireless")}}),(0,o.createComponentVNode)(2,a.Button,{icon:"microphone",content:"Subspace Radio",selected:m,onClick:function(){return n("radio")}})]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Laws",children:C.map((function(e){return(0,o.createComponentVNode)(2,a.BlockQuote,{children:e},e)}))})]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.KeycardAuth=void 0;var o=n(1),r=n(3),a=n(2);t.KeycardAuth=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data;return(0,o.createComponentVNode)(2,a.Section,{children:[(0,o.createComponentVNode)(2,a.Box,{children:1===i.waiting&&(0,o.createVNode)(1,"span",null,"Waiting for another device to confirm your request...",16)}),(0,o.createComponentVNode)(2,a.Box,{children:0===i.waiting&&(0,o.createFragment)([!!i.auth_required&&(0,o.createComponentVNode)(2,a.Button,{icon:"check-square",color:"red",textAlign:"center",lineHeight:"60px",fluid:!0,onClick:function(){return n("auth_swipe")},content:"Authorize"}),0===i.auth_required&&(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Button,{icon:"exclamation-triangle",fluid:!0,onClick:function(){return n("red_alert")},content:"Red Alert"}),(0,o.createComponentVNode)(2,a.Button,{icon:"wrench",fluid:!0,onClick:function(){return n("emergency_maint")},content:"Emergency Maintenance Access"}),(0,o.createComponentVNode)(2,a.Button,{icon:"meteor",fluid:!0,onClick:function(){return n("bsa_unlock")},content:"Bluespace Artillery Unlock"})],4)],0)})]})}},function(e,t,n){"use strict";t.__esModule=!0,t.LaborClaimConsole=void 0;var o=n(1),r=n(23),a=n(3),i=n(2);t.LaborClaimConsole=function(e){var t=(0,a.useBackend)(e),n=t.act,c=t.data,l=c.can_go_home,u=c.id_points,d=c.ores,s=c.status_info,p=c.unclaimed_points;return(0,o.createFragment)([(0,o.createComponentVNode)(2,i.Section,{children:(0,o.createComponentVNode)(2,i.LabeledList,{children:[(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Status",children:s}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Shuttle controls",children:(0,o.createComponentVNode)(2,i.Button,{content:"Move shuttle",disabled:!l,onClick:function(){return n("move_shuttle")}})}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Points",children:u}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Unclaimed points",buttons:(0,o.createComponentVNode)(2,i.Button,{content:"Claim points",disabled:!p,onClick:function(){return n("claim_points")}}),children:p})]})}),(0,o.createComponentVNode)(2,i.Section,{title:"Material values",children:(0,o.createComponentVNode)(2,i.Table,{children:[(0,o.createComponentVNode)(2,i.Table.Row,{header:!0,children:[(0,o.createComponentVNode)(2,i.Table.Cell,{children:"Material"}),(0,o.createComponentVNode)(2,i.Table.Cell,{collapsing:!0,textAlign:"right",children:"Value"})]}),d.map((function(e){return(0,o.createComponentVNode)(2,i.Table.Row,{children:[(0,o.createComponentVNode)(2,i.Table.Cell,{children:(0,r.toTitleCase)(e.ore)}),(0,o.createComponentVNode)(2,i.Table.Cell,{collapsing:!0,textAlign:"right",children:(0,o.createComponentVNode)(2,i.Box,{color:"label",inline:!0,children:e.value})})]},e.ore)}))]})})],4)}},function(e,t,n){"use strict";t.__esModule=!0,t.LanguageMenu=void 0;var o=n(1),r=n(3),a=n(2);t.LanguageMenu=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data,c=i.admin_mode,l=i.is_living,u=i.omnitongue,d=i.languages,s=void 0===d?[]:d,p=i.unknown_languages,m=void 0===p?[]:p;return(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Section,{title:"Known Languages",children:(0,o.createComponentVNode)(2,a.LabeledList,{children:s.map((function(e){return(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:e.name,buttons:(0,o.createFragment)([!!l&&(0,o.createComponentVNode)(2,a.Button,{content:e.is_default?"Default Language":"Select as Default",disabled:!e.can_speak,selected:e.is_default,onClick:function(){return n("select_default",{language_name:e.name})}}),!!c&&(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Button,{content:"Grant",onClick:function(){return n("grant_language",{language_name:e.name})}}),(0,o.createComponentVNode)(2,a.Button,{content:"Remove",onClick:function(){return n("remove_language",{language_name:e.name})}})],4)],0),children:[e.desc," ","Key: ,",e.key," ",e.can_understand?"Can understand.":"Cannot understand."," ",e.can_speak?"Can speak.":"Cannot speak."]},e.name)}))})}),!!c&&(0,o.createComponentVNode)(2,a.Section,{title:"Unknown Languages",buttons:(0,o.createComponentVNode)(2,a.Button,{content:"Omnitongue "+(u?"Enabled":"Disabled"),selected:u,onClick:function(){return n("toggle_omnitongue")}}),children:(0,o.createComponentVNode)(2,a.LabeledList,{children:m.map((function(e){return(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:e.name,buttons:(0,o.createComponentVNode)(2,a.Button,{content:"Grant",onClick:function(){return n("grant_language",{language_name:e.name})}}),children:[e.desc," ","Key: ,",e.key," ",!!e.shadow&&"(gained from mob)"," ",e.can_speak?"Can speak.":"Cannot speak."]},e.name)}))})})],0)}},function(e,t,n){"use strict";t.__esModule=!0,t.LaunchpadConsole=t.LaunchpadRemote=t.LaunchpadControl=t.LaunchpadButtonPad=void 0;var o=n(1),r=n(3),a=n(2),i=function(e){var t=(0,r.useBackend)(e).act;return(0,o.createComponentVNode)(2,a.Grid,{width:"1px",children:[(0,o.createComponentVNode)(2,a.Grid.Column,{children:[(0,o.createComponentVNode)(2,a.Button,{fluid:!0,icon:"arrow-left",iconRotation:45,mb:1,onClick:function(){return t("move_pos",{x:-1,y:1})}}),(0,o.createComponentVNode)(2,a.Button,{fluid:!0,icon:"arrow-left",mb:1,onClick:function(){return t("move_pos",{x:-1})}}),(0,o.createComponentVNode)(2,a.Button,{fluid:!0,icon:"arrow-down",iconRotation:45,mb:1,onClick:function(){return t("move_pos",{x:-1,y:-1})}})]}),(0,o.createComponentVNode)(2,a.Grid.Column,{children:[(0,o.createComponentVNode)(2,a.Button,{fluid:!0,icon:"arrow-up",mb:1,onClick:function(){return t("move_pos",{y:1})}}),(0,o.createComponentVNode)(2,a.Button,{fluid:!0,content:"R",mb:1,onClick:function(){return t("set_pos",{x:0,y:0})}}),(0,o.createComponentVNode)(2,a.Button,{fluid:!0,icon:"arrow-down",mb:1,onClick:function(){return t("move_pos",{y:-1})}})]}),(0,o.createComponentVNode)(2,a.Grid.Column,{children:[(0,o.createComponentVNode)(2,a.Button,{fluid:!0,icon:"arrow-up",iconRotation:45,mb:1,onClick:function(){return t("move_pos",{x:1,y:1})}}),(0,o.createComponentVNode)(2,a.Button,{fluid:!0,icon:"arrow-right",mb:1,onClick:function(){return t("move_pos",{x:1})}}),(0,o.createComponentVNode)(2,a.Button,{fluid:!0,icon:"arrow-right",iconRotation:45,mb:1,onClick:function(){return t("move_pos",{x:1,y:-1})}})]})]})};t.LaunchpadButtonPad=i;var c=function(e){var t=e.topLevel,n=(0,r.useBackend)(e),c=n.act,l=n.data,u=l.x,d=l.y,s=l.pad_name,p=l.range;return(0,o.createComponentVNode)(2,a.Section,{title:(0,o.createComponentVNode)(2,a.Input,{value:s,width:"170px",onChange:function(e,t){return c("rename",{name:t})}}),level:t?1:2,buttons:(0,o.createComponentVNode)(2,a.Button,{icon:"times",content:"Remove",color:"bad",onClick:function(){return c("remove")}}),children:[(0,o.createComponentVNode)(2,a.Grid,{children:[(0,o.createComponentVNode)(2,a.Grid.Column,{children:(0,o.createComponentVNode)(2,a.Section,{title:"Controls",level:2,children:(0,o.createComponentVNode)(2,i,{state:e.state})})}),(0,o.createComponentVNode)(2,a.Grid.Column,{children:(0,o.createComponentVNode)(2,a.Section,{title:"Target",level:2,children:(0,o.createComponentVNode)(2,a.Box,{fontSize:"26px",children:[(0,o.createComponentVNode)(2,a.Box,{mb:1,children:[(0,o.createComponentVNode)(2,a.Box,{inline:!0,bold:!0,mr:1,children:"X:"}),(0,o.createComponentVNode)(2,a.NumberInput,{value:u,minValue:-p,maxValue:p,lineHeight:"30px",fontSize:"26px",width:"90px",height:"30px",stepPixelSize:10,onChange:function(e,t){return c("set_pos",{x:t})}})]}),(0,o.createComponentVNode)(2,a.Box,{children:[(0,o.createComponentVNode)(2,a.Box,{inline:!0,bold:!0,mr:1,children:"Y:"}),(0,o.createComponentVNode)(2,a.NumberInput,{value:d,minValue:-p,maxValue:p,stepPixelSize:10,lineHeight:"30px",fontSize:"26px",width:"90px",height:"30px",onChange:function(e,t){return c("set_pos",{y:t})}})]})]})})})]}),(0,o.createComponentVNode)(2,a.Grid,{children:[(0,o.createComponentVNode)(2,a.Grid.Column,{children:(0,o.createComponentVNode)(2,a.Button,{fluid:!0,icon:"upload",content:"Launch",textAlign:"center",onClick:function(){return c("launch")}})}),(0,o.createComponentVNode)(2,a.Grid.Column,{children:(0,o.createComponentVNode)(2,a.Button,{fluid:!0,icon:"download",content:"Pull",textAlign:"center",onClick:function(){return c("pull")}})})]})]})};t.LaunchpadControl=c;t.LaunchpadRemote=function(e){var t=(0,r.useBackend)(e).data,n=t.has_pad,i=t.pad_closed;return n?i?(0,o.createComponentVNode)(2,a.NoticeBox,{children:"Launchpad Closed"}):(0,o.createComponentVNode)(2,c,{topLevel:!0,state:e.state}):(0,o.createComponentVNode)(2,a.NoticeBox,{children:"No Launchpad Connected"})};t.LaunchpadConsole=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data,l=i.launchpads,u=void 0===l?[]:l,d=i.selected_id;return u.length<=0?(0,o.createComponentVNode)(2,a.NoticeBox,{children:"No Pads Connected"}):(0,o.createComponentVNode)(2,a.Section,{children:(0,o.createComponentVNode)(2,a.Grid,{children:[(0,o.createComponentVNode)(2,a.Grid.Column,{size:.6,children:(0,o.createComponentVNode)(2,a.Box,{style:{"border-right":"2px solid rgba(255, 255, 255, 0.1)"},minHeight:"190px",mr:1,children:u.map((function(e){return(0,o.createComponentVNode)(2,a.Button,{fluid:!0,content:e.name,selected:d===e.id,color:"transparent",onClick:function(){return n("select_pad",{id:e.id})}},e.name)}))})}),(0,o.createComponentVNode)(2,a.Grid.Column,{children:d?(0,o.createComponentVNode)(2,c,{state:e.state}):(0,o.createComponentVNode)(2,a.Box,{children:"Please select a pad"})})]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.MechBayPowerConsole=void 0;var o=n(1),r=n(3),a=n(2);t.MechBayPowerConsole=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data.recharge_port,c=i&&i.mech,l=c&&c.cell;return(0,o.createComponentVNode)(2,a.Section,{title:"Mech status",textAlign:"center",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:"sync",content:"Sync",onClick:function(){return n("reconnect")}}),children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Integrity",children:!i&&(0,o.createComponentVNode)(2,a.NoticeBox,{children:"No power port detected. Please re-sync."})||!c&&(0,o.createComponentVNode)(2,a.NoticeBox,{children:"No mech detected."})||(0,o.createComponentVNode)(2,a.ProgressBar,{value:c.health/c.maxhealth,ranges:{good:[.7,Infinity],average:[.3,.7],bad:[-Infinity,.3]}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Power",children:!i&&(0,o.createComponentVNode)(2,a.NoticeBox,{children:"No power port detected. Please re-sync."})||!c&&(0,o.createComponentVNode)(2,a.NoticeBox,{children:"No mech detected."})||!l&&(0,o.createComponentVNode)(2,a.NoticeBox,{children:"No cell is installed."})||(0,o.createComponentVNode)(2,a.ProgressBar,{value:l.charge/l.maxcharge,ranges:{good:[.7,Infinity],average:[.3,.7],bad:[-Infinity,.3]},children:[(0,o.createComponentVNode)(2,a.AnimatedNumber,{value:l.charge})," / "+l.maxcharge]})})]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.NaniteChamberControl=void 0;var o=n(1),r=n(3),a=n(2);t.NaniteChamberControl=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data,c=i.status_msg,l=i.locked,u=i.occupant_name,d=i.has_nanites,s=i.nanite_volume,p=i.regen_rate,m=i.safety_threshold,f=i.cloud_id,h=i.scan_level;if(c)return(0,o.createComponentVNode)(2,a.NoticeBox,{textAlign:"center",children:c});var C=i.mob_programs||[];return(0,o.createComponentVNode)(2,a.Section,{title:"Chamber: "+u,buttons:(0,o.createComponentVNode)(2,a.Button,{icon:l?"lock":"lock-open",content:l?"Locked":"Unlocked",color:l?"bad":"default",onClick:function(){return n("toggle_lock")}}),children:d?(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Section,{title:"Status",level:2,buttons:(0,o.createComponentVNode)(2,a.Button,{icon:"exclamation-triangle",content:"Destroy Nanites",color:"bad",onClick:function(){return n("remove_nanites")}}),children:(0,o.createComponentVNode)(2,a.Grid,{children:[(0,o.createComponentVNode)(2,a.Grid.Column,{children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Nanite Volume",children:s}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Growth Rate",children:p})]})}),(0,o.createComponentVNode)(2,a.Grid.Column,{children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Safety Threshold",children:(0,o.createComponentVNode)(2,a.NumberInput,{value:m,minValue:0,maxValue:500,width:"39px",onChange:function(e,t){return n("set_safety",{value:t})}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Cloud ID",children:(0,o.createComponentVNode)(2,a.NumberInput,{value:f,minValue:0,maxValue:100,step:1,stepPixelSize:3,width:"39px",onChange:function(e,t){return n("set_cloud",{value:t})}})})]})})]})}),(0,o.createComponentVNode)(2,a.Section,{title:"Programs",level:2,children:C.map((function(e){var t=e.extra_settings||[],n=e.rules||[];return(0,o.createComponentVNode)(2,a.Collapsible,{title:e.name,children:(0,o.createComponentVNode)(2,a.Section,{children:[(0,o.createComponentVNode)(2,a.Grid,{children:[(0,o.createComponentVNode)(2,a.Grid.Column,{children:e.desc}),h>=2&&(0,o.createComponentVNode)(2,a.Grid.Column,{size:.6,children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Activation Status",children:(0,o.createComponentVNode)(2,a.Box,{color:e.activated?"good":"bad",children:e.activated?"Active":"Inactive"})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Nanites Consumed",children:[e.use_rate,"/s"]})]})})]}),h>=2&&(0,o.createComponentVNode)(2,a.Grid,{children:[!!e.can_trigger&&(0,o.createComponentVNode)(2,a.Grid.Column,{children:(0,o.createComponentVNode)(2,a.Section,{title:"Triggers",level:2,children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Trigger Cost",children:e.trigger_cost}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Trigger Cooldown",children:e.trigger_cooldown}),!!e.timer_trigger_delay&&(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Trigger Delay",children:[e.timer_trigger_delay," s"]}),!!e.timer_trigger&&(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Trigger Repeat Timer",children:[e.timer_trigger," s"]})]})})}),!(!e.timer_restart&&!e.timer_shutdown)&&(0,o.createComponentVNode)(2,a.Grid.Column,{children:(0,o.createComponentVNode)(2,a.Section,{children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[e.timer_restart&&(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Restart Timer",children:[e.timer_restart," s"]}),e.timer_shutdown&&(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Shutdown Timer",children:[e.timer_shutdown," s"]})]})})})]}),h>=3&&!!e.has_extra_settings&&(0,o.createComponentVNode)(2,a.Section,{title:"Extra Settings",level:2,children:(0,o.createComponentVNode)(2,a.LabeledList,{children:t.map((function(e){return(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:e.name,children:e.value},e.name)}))})}),h>=4&&(0,o.createComponentVNode)(2,a.Grid,{children:[(0,o.createComponentVNode)(2,a.Grid.Column,{children:(0,o.createComponentVNode)(2,a.Section,{title:"Codes",level:2,children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[!!e.activation_code&&(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Activation",children:e.activation_code}),!!e.deactivation_code&&(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Deactivation",children:e.deactivation_code}),!!e.kill_code&&(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Kill",children:e.kill_code}),!!e.can_trigger&&!!e.trigger_code&&(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Trigger",children:e.trigger_code})]})})}),e.has_rules&&(0,o.createComponentVNode)(2,a.Grid.Column,{children:(0,o.createComponentVNode)(2,a.Section,{title:"Rules",level:2,children:n.map((function(e){return(0,o.createFragment)([e.display,(0,o.createVNode)(1,"br")],0,e.display)}))})})]})]})},e.name)}))})],4):(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Box,{bold:!0,color:"bad",textAlign:"center",fontSize:"30px",mb:1,children:"No Nanites Detected"}),(0,o.createComponentVNode)(2,a.Button,{fluid:!0,bold:!0,icon:"syringe",content:" Implant Nanites",color:"green",textAlign:"center",fontSize:"30px",lineHeight:"50px",onClick:function(){return n("nanite_injection")}})],4)})}},function(e,t,n){"use strict";t.__esModule=!0,t.NaniteCloudControl=t.NaniteCloudBackupDetails=t.NaniteCloudBackupList=t.NaniteInfoBox=t.NaniteDiskBox=void 0;var o=n(1),r=n(3),a=n(2),i=function(e){var t=e.state.data,n=t.has_disk,r=t.has_program,i=t.disk;return n?r?(0,o.createComponentVNode)(2,c,{program:i}):(0,o.createComponentVNode)(2,a.NoticeBox,{children:"Inserted disk has no program"}):(0,o.createComponentVNode)(2,a.NoticeBox,{children:"No disk inserted"})};t.NaniteDiskBox=i;var c=function(e){var t=e.program,n=t.name,r=t.desc,i=t.activated,c=t.use_rate,l=t.can_trigger,u=t.trigger_cost,d=t.trigger_cooldown,s=t.activation_code,p=t.deactivation_code,m=t.kill_code,f=t.trigger_code,h=t.timer_restart,C=t.timer_shutdown,g=t.timer_trigger,b=t.timer_trigger_delay,v=t.extra_settings||[];return(0,o.createComponentVNode)(2,a.Section,{title:n,level:2,buttons:(0,o.createComponentVNode)(2,a.Box,{inline:!0,bold:!0,color:i?"good":"bad",children:i?"Activated":"Deactivated"}),children:[(0,o.createComponentVNode)(2,a.Grid,{children:[(0,o.createComponentVNode)(2,a.Grid.Column,{mr:1,children:r}),(0,o.createComponentVNode)(2,a.Grid.Column,{size:.5,children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Use Rate",children:c}),!!l&&(0,o.createFragment)([(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Trigger Cost",children:u}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Trigger Cooldown",children:d})],4)]})})]}),(0,o.createComponentVNode)(2,a.Grid,{children:[(0,o.createComponentVNode)(2,a.Grid.Column,{children:(0,o.createComponentVNode)(2,a.Section,{title:"Codes",level:3,mr:1,children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Activation",children:s}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Deactivation",children:p}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Kill",children:m}),!!l&&(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Trigger",children:f})]})})}),(0,o.createComponentVNode)(2,a.Grid.Column,{children:(0,o.createComponentVNode)(2,a.Section,{title:"Delays",level:3,mr:1,children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Restart",children:[h," s"]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Shutdown",children:[C," s"]}),!!l&&(0,o.createFragment)([(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Trigger",children:[g," s"]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Trigger Delay",children:[b," s"]})],4)]})})})]}),(0,o.createComponentVNode)(2,a.Section,{title:"Extra Settings",level:3,children:(0,o.createComponentVNode)(2,a.LabeledList,{children:v.map((function(e){var t={number:(0,o.createFragment)([e.value,e.unit],0),text:e.value,type:e.value,boolean:e.value?e.true_text:e.false_text};return(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:e.name,children:t[e.type]},e.name)}))})})]})};t.NaniteInfoBox=c;var l=function(e){var t=(0,r.useBackend)(e),n=t.act;return(t.data.cloud_backups||[]).map((function(e){return(0,o.createComponentVNode)(2,a.Button,{fluid:!0,content:"Backup #"+e.cloud_id,textAlign:"center",onClick:function(){return n("set_view",{view:e.cloud_id})}},e.cloud_id)}))};t.NaniteCloudBackupList=l;var u=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data,l=i.current_view,u=i.disk,d=i.has_program,s=i.cloud_backup,p=u&&u.can_rule||!1;if(!s)return(0,o.createComponentVNode)(2,a.NoticeBox,{children:"ERROR: Backup not found"});var m=i.cloud_programs||[];return(0,o.createComponentVNode)(2,a.Section,{title:"Backup #"+l,level:2,buttons:!!d&&(0,o.createComponentVNode)(2,a.Button,{icon:"upload",content:"Upload From Disk",color:"good",onClick:function(){return n("upload_program")}}),children:m.map((function(e){var t=e.rules||[];return(0,o.createComponentVNode)(2,a.Collapsible,{title:e.name,buttons:(0,o.createComponentVNode)(2,a.Button,{icon:"minus-circle",color:"bad",onClick:function(){return n("remove_program",{program_id:e.id})}}),children:(0,o.createComponentVNode)(2,a.Section,{children:[(0,o.createComponentVNode)(2,c,{program:e}),!!p&&(0,o.createComponentVNode)(2,a.Section,{mt:-2,title:"Rules",level:2,buttons:(0,o.createComponentVNode)(2,a.Button,{icon:"plus",content:"Add Rule from Disk",color:"good",onClick:function(){return n("add_rule",{program_id:e.id})}}),children:e.has_rules?t.map((function(t){return(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Button,{icon:"minus-circle",color:"bad",onClick:function(){return n("remove_rule",{program_id:e.id,rule_id:t.id})}}),t.display],0,t.display)})):(0,o.createComponentVNode)(2,a.Box,{color:"bad",children:"No Active Rules"})})]})},e.name)}))})};t.NaniteCloudBackupDetails=u;t.NaniteCloudControl=function(e){var t=e.state,n=(0,r.useBackend)(e),c=n.act,d=n.data,s=d.has_disk,p=d.current_view,m=d.new_backup_id;return(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Section,{title:"Program Disk",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:"eject",content:"Eject",disabled:!s,onClick:function(){return c("eject")}}),children:(0,o.createComponentVNode)(2,i,{state:t})}),(0,o.createComponentVNode)(2,a.Section,{title:"Cloud Storage",buttons:p?(0,o.createComponentVNode)(2,a.Button,{icon:"arrow-left",content:"Return",onClick:function(){return c("set_view",{view:0})}}):(0,o.createFragment)(["New Backup: ",(0,o.createComponentVNode)(2,a.NumberInput,{value:m,minValue:1,maxValue:100,stepPixelSize:4,width:"39px",onChange:function(e,t){return c("update_new_backup_value",{value:t})}}),(0,o.createComponentVNode)(2,a.Button,{icon:"plus",onClick:function(){return c("create_backup")}})],0),children:d.current_view?(0,o.createComponentVNode)(2,u,{state:t}):(0,o.createComponentVNode)(2,l,{state:t})})],4)}},function(e,t,n){"use strict";t.__esModule=!0,t.NaniteProgramHub=void 0;var o=n(1),r=n(24),a=n(3),i=n(2);t.NaniteProgramHub=function(e){var t=(0,a.useBackend)(e),n=t.act,c=t.data,l=c.detail_view,u=c.disk,d=c.has_disk,s=c.has_program,p=c.programs,m=void 0===p?{}:p;return(0,o.createFragment)([(0,o.createComponentVNode)(2,i.Section,{title:"Program Disk",buttons:(0,o.createFragment)([(0,o.createComponentVNode)(2,i.Button,{icon:"eject",content:"Eject",onClick:function(){return n("eject")}}),(0,o.createComponentVNode)(2,i.Button,{icon:"minus-circle",content:"Delete Program",onClick:function(){return n("clear")}})],4),children:d?s?(0,o.createComponentVNode)(2,i.LabeledList,{children:[(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Program Name",children:u.name}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Description",children:u.desc})]}):(0,o.createComponentVNode)(2,i.NoticeBox,{children:"No Program Installed"}):(0,o.createComponentVNode)(2,i.NoticeBox,{children:"Insert Disk"})}),(0,o.createComponentVNode)(2,i.Section,{title:"Programs",buttons:(0,o.createFragment)([(0,o.createComponentVNode)(2,i.Button,{icon:l?"info":"list",content:l?"Detailed":"Compact",onClick:function(){return n("toggle_details")}}),(0,o.createComponentVNode)(2,i.Button,{icon:"sync",content:"Sync Research",onClick:function(){return n("refresh")}})],4),children:null!==m?(0,o.createComponentVNode)(2,i.Tabs,{vertical:!0,children:(0,r.map)((function(e,t){var r=e||[],a=t.substring(0,t.length-8);return(0,o.createComponentVNode)(2,i.Tabs.Tab,{label:a,children:l?r.map((function(e){return(0,o.createComponentVNode)(2,i.Section,{title:e.name,level:2,buttons:(0,o.createComponentVNode)(2,i.Button,{icon:"download",content:"Download",disabled:!d,onClick:function(){return n("download",{program_id:e.id})}}),children:e.desc},e.id)})):(0,o.createComponentVNode)(2,i.LabeledList,{children:r.map((function(e){return(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:e.name,buttons:(0,o.createComponentVNode)(2,i.Button,{icon:"download",content:"Download",disabled:!d,onClick:function(){return n("download",{program_id:e.id})}})},e.id)}))})},t)}))(m)}):(0,o.createComponentVNode)(2,i.NoticeBox,{children:"No nanite programs are currently researched."})})],4)}},function(e,t,n){"use strict";t.__esModule=!0,t.NaniteProgrammer=t.NaniteExtraBoolean=t.NaniteExtraType=t.NaniteExtraText=t.NaniteExtraNumber=t.NaniteExtraEntry=t.NaniteDelays=t.NaniteCodes=void 0;var o=n(1),r=n(3),a=n(2),i=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data;return(0,o.createComponentVNode)(2,a.Section,{title:"Codes",level:3,mr:1,children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Activation",children:(0,o.createComponentVNode)(2,a.NumberInput,{value:i.activation_code,width:"47px",minValue:0,maxValue:9999,onChange:function(e,t){return n("set_code",{target_code:"activation",code:t})}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Deactivation",children:(0,o.createComponentVNode)(2,a.NumberInput,{value:i.deactivation_code,width:"47px",minValue:0,maxValue:9999,onChange:function(e,t){return n("set_code",{target_code:"deactivation",code:t})}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Kill",children:(0,o.createComponentVNode)(2,a.NumberInput,{value:i.kill_code,width:"47px",minValue:0,maxValue:9999,onChange:function(e,t){return n("set_code",{target_code:"kill",code:t})}})}),!!i.can_trigger&&(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Trigger",children:(0,o.createComponentVNode)(2,a.NumberInput,{value:i.trigger_code,width:"47px",minValue:0,maxValue:9999,onChange:function(e,t){return n("set_code",{target_code:"trigger",code:t})}})})]})})};t.NaniteCodes=i;var c=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data;return(0,o.createComponentVNode)(2,a.Section,{title:"Delays",level:3,ml:1,children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Restart Timer",children:(0,o.createComponentVNode)(2,a.NumberInput,{value:i.timer_restart,unit:"s",width:"57px",minValue:0,maxValue:3600,onChange:function(e,t){return n("set_restart_timer",{delay:t})}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Shutdown Timer",children:(0,o.createComponentVNode)(2,a.NumberInput,{value:i.timer_shutdown,unit:"s",width:"57px",minValue:0,maxValue:3600,onChange:function(e,t){return n("set_shutdown_timer",{delay:t})}})}),!!i.can_trigger&&(0,o.createFragment)([(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Trigger Repeat Timer",children:(0,o.createComponentVNode)(2,a.NumberInput,{value:i.timer_trigger,unit:"s",width:"57px",minValue:0,maxValue:3600,onChange:function(e,t){return n("set_trigger_timer",{delay:t})}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Trigger Delay",children:(0,o.createComponentVNode)(2,a.NumberInput,{value:i.timer_trigger_delay,unit:"s",width:"57px",minValue:0,maxValue:3600,onChange:function(e,t){return n("set_timer_trigger_delay",{delay:t})}})})],4)]})})};t.NaniteDelays=c;var l=function(e){var t=e.act,n=e.extra_setting,r=n.name,i=n.type,c={number:(0,o.createComponentVNode)(2,u,{act:t,extra_setting:n}),text:(0,o.createComponentVNode)(2,d,{act:t,extra_setting:n}),type:(0,o.createComponentVNode)(2,s,{act:t,extra_setting:n}),boolean:(0,o.createComponentVNode)(2,p,{act:t,extra_setting:n})};return(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:r,children:c[i]})};t.NaniteExtraEntry=l;var u=function(e){var t=e.act,n=e.extra_setting,r=n.name,i=n.value,c=n.min,l=n.max,u=n.unit;return(0,o.createComponentVNode)(2,a.NumberInput,{value:i,width:"64px",minValue:c,maxValue:l,unit:u,onChange:function(e,n){return t("set_extra_setting",{target_setting:r,value:n})}})};t.NaniteExtraNumber=u;var d=function(e){var t=e.act,n=e.extra_setting,r=n.name,i=n.value;return(0,o.createComponentVNode)(2,a.Input,{value:i,width:"200px",onInput:function(e,n){return t("set_extra_setting",{target_setting:r,value:n})}})};t.NaniteExtraText=d;var s=function(e){var t=e.act,n=e.extra_setting,r=n.name,i=n.value,c=n.types;return(0,o.createComponentVNode)(2,a.Dropdown,{over:!0,selected:i,width:"150px",options:c,onSelected:function(e){return t("set_extra_setting",{target_setting:r,value:e})}})};t.NaniteExtraType=s;var p=function(e){var t=e.act,n=e.extra_setting,r=n.name,i=n.value,c=n.true_text,l=n.false_text;return(0,o.createComponentVNode)(2,a.Button.Checkbox,{content:i?c:l,checked:i,onClick:function(){return t("set_extra_setting",{target_setting:r})}})};t.NaniteExtraBoolean=p;t.NaniteProgrammer=function(e){var t=(0,r.useBackend)(e),n=t.act,u=t.data,d=u.has_disk,s=u.has_program,p=u.name,m=u.desc,f=u.use_rate,h=u.can_trigger,C=u.trigger_cost,g=u.trigger_cooldown,b=u.activated,v=u.has_extra_settings,N=u.extra_settings,V=void 0===N?{}:N;return d?s?(0,o.createComponentVNode)(2,a.Section,{title:p,buttons:(0,o.createComponentVNode)(2,a.Button,{icon:"eject",content:"Eject",onClick:function(){return n("eject")}}),children:[(0,o.createComponentVNode)(2,a.Section,{title:"Info",level:2,children:(0,o.createComponentVNode)(2,a.Grid,{children:[(0,o.createComponentVNode)(2,a.Grid.Column,{children:m}),(0,o.createComponentVNode)(2,a.Grid.Column,{size:.7,children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Use Rate",children:f}),!!h&&(0,o.createFragment)([(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Trigger Cost",children:C}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Trigger Cooldown",children:g})],4)]})})]})}),(0,o.createComponentVNode)(2,a.Section,{title:"Settings",level:2,buttons:(0,o.createComponentVNode)(2,a.Button,{icon:b?"power-off":"times",content:b?"Active":"Inactive",selected:b,color:"bad",bold:!0,onClick:function(){return n("toggle_active")}}),children:[(0,o.createComponentVNode)(2,a.Grid,{children:[(0,o.createComponentVNode)(2,a.Grid.Column,{children:(0,o.createComponentVNode)(2,i,{state:e.state})}),(0,o.createComponentVNode)(2,a.Grid.Column,{children:(0,o.createComponentVNode)(2,c,{state:e.state})})]}),!!v&&(0,o.createComponentVNode)(2,a.Section,{title:"Special",level:3,children:(0,o.createComponentVNode)(2,a.LabeledList,{children:V.map((function(e){return(0,o.createComponentVNode)(2,l,{act:n,extra_setting:e},e.name)}))})})]})]}):(0,o.createComponentVNode)(2,a.Section,{title:"Blank Disk",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:"eject",content:"Eject",onClick:function(){return n("eject")}})}):(0,o.createComponentVNode)(2,a.NoticeBox,{textAlign:"center",children:"Insert a nanite program disk"})}},function(e,t,n){"use strict";t.__esModule=!0,t.NaniteRemote=void 0;var o=n(1),r=n(3),a=n(2);t.NaniteRemote=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data,c=i.code,l=i.locked,u=i.mode,d=i.program_name,s=i.relay_code,p=i.comms,m=i.message,f=i.saved_settings,h=void 0===f?[]:f;return l?(0,o.createComponentVNode)(2,a.NoticeBox,{children:"This interface is locked."}):(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Section,{title:"Nanite Control",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:"lock",content:"Lock Interface",onClick:function(){return n("lock")}}),children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Name",children:[(0,o.createComponentVNode)(2,a.Input,{value:d,maxLength:14,width:"130px",onChange:function(e,t){return n("update_name",{name:t})}}),(0,o.createComponentVNode)(2,a.Button,{icon:"save",content:"Save",onClick:function(){return n("save")}})]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:p?"Comm Code":"Signal Code",children:(0,o.createComponentVNode)(2,a.NumberInput,{value:c,minValue:0,maxValue:9999,width:"47px",step:1,stepPixelSize:2,onChange:function(e,t){return n("set_code",{code:t})}})}),!!p&&(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Message",children:(0,o.createComponentVNode)(2,a.Input,{value:m,width:"270px",onChange:function(e,t){return n("set_message",{value:t})}})}),"Relay"===u&&(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Relay Code",children:(0,o.createComponentVNode)(2,a.NumberInput,{value:s,minValue:0,maxValue:9999,width:"47px",step:1,stepPixelSize:2,onChange:function(e,t){return n("set_relay_code",{code:t})}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Signal Mode",children:["Off","Local","Targeted","Area","Relay"].map((function(e){return(0,o.createComponentVNode)(2,a.Button,{content:e,selected:u===e,onClick:function(){return n("select_mode",{mode:e})}},e)}))})]})}),(0,o.createComponentVNode)(2,a.Section,{title:"Saved Settings",children:h.length>0?(0,o.createComponentVNode)(2,a.Table,{children:[(0,o.createComponentVNode)(2,a.Table.Row,{header:!0,children:[(0,o.createComponentVNode)(2,a.Table.Cell,{width:"35%",children:"Name"}),(0,o.createComponentVNode)(2,a.Table.Cell,{width:"20%",children:"Mode"}),(0,o.createComponentVNode)(2,a.Table.Cell,{collapsing:!0,children:"Code"}),(0,o.createComponentVNode)(2,a.Table.Cell,{collapsing:!0,children:"Relay"})]}),h.map((function(e){return(0,o.createComponentVNode)(2,a.Table.Row,{className:"candystripe",children:[(0,o.createComponentVNode)(2,a.Table.Cell,{bold:!0,color:"label",children:[e.name,":"]}),(0,o.createComponentVNode)(2,a.Table.Cell,{children:e.mode}),(0,o.createComponentVNode)(2,a.Table.Cell,{children:e.code}),(0,o.createComponentVNode)(2,a.Table.Cell,{children:"Relay"===e.mode&&e.relay_code}),(0,o.createComponentVNode)(2,a.Table.Cell,{textAlign:"right",children:[(0,o.createComponentVNode)(2,a.Button,{icon:"upload",color:"good",onClick:function(){return n("load",{save_id:e.id})}}),(0,o.createComponentVNode)(2,a.Button,{icon:"minus",color:"bad",onClick:function(){return n("remove_save",{save_id:e.id})}})]})]},e.id)}))]}):(0,o.createComponentVNode)(2,a.NoticeBox,{children:"No settings currently saved"})})],4)}},function(e,t,n){"use strict";t.__esModule=!0,t.Mule=void 0;var o=n(1),r=n(3),a=n(2),i=n(69);t.Mule=function(e){var t=(0,r.useBackend)(e),n=t.act,c=t.data,l=c.locked&&!c.siliconUser,u=c.siliconUser,d=c.on,s=c.cell,p=c.cellPercent,m=c.load,f=c.mode,h=c.modeStatus,C=c.haspai,g=c.autoReturn,b=c.autoPickup,v=c.reportDelivery,N=c.destination,V=c.home,y=c.id,_=c.destinations,x=void 0===_?[]:_;return(0,o.createFragment)([(0,o.createComponentVNode)(2,i.InterfaceLockNoticeBox,{siliconUser:u,locked:l}),(0,o.createComponentVNode)(2,a.Section,{title:"Status",minHeight:"110px",buttons:!l&&(0,o.createComponentVNode)(2,a.Button,{icon:d?"power-off":"times",content:d?"On":"Off",selected:d,onClick:function(){return n("power")}}),children:[(0,o.createComponentVNode)(2,a.ProgressBar,{value:s?p/100:0,color:s?"good":"bad"}),(0,o.createComponentVNode)(2,a.Grid,{mt:1,children:[(0,o.createComponentVNode)(2,a.Grid.Column,{children:(0,o.createComponentVNode)(2,a.LabeledList,{children:(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Mode",color:h,children:f})})}),(0,o.createComponentVNode)(2,a.Grid.Column,{children:(0,o.createComponentVNode)(2,a.LabeledList,{children:(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Load",color:m?"good":"average",children:m||"None"})})})]})]}),!l&&(0,o.createComponentVNode)(2,a.Section,{title:"Controls",buttons:(0,o.createFragment)([!!m&&(0,o.createComponentVNode)(2,a.Button,{icon:"eject",content:"Unload",onClick:function(){return n("unload")}}),!!C&&(0,o.createComponentVNode)(2,a.Button,{icon:"eject",content:"Eject PAI",onClick:function(){return n("ejectpai")}})],0),children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"ID",children:(0,o.createComponentVNode)(2,a.Input,{value:y,onChange:function(e,t){return n("setid",{value:t})}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Destination",children:[(0,o.createComponentVNode)(2,a.Dropdown,{over:!0,selected:N||"None",options:x,width:"150px",onSelected:function(e){return n("destination",{value:e})}}),(0,o.createComponentVNode)(2,a.Button,{icon:"stop",content:"Stop",onClick:function(){return n("stop")}}),(0,o.createComponentVNode)(2,a.Button,{icon:"play",content:"Go",onClick:function(){return n("go")}})]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Home",children:[(0,o.createComponentVNode)(2,a.Dropdown,{over:!0,selected:V,options:x,width:"150px",onSelected:function(e){return n("destination",{value:e})}}),(0,o.createComponentVNode)(2,a.Button,{icon:"home",content:"Go Home",onClick:function(){return n("home")}})]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Settings",children:[(0,o.createComponentVNode)(2,a.Button.Checkbox,{checked:g,content:"Auto-Return",onClick:function(){return n("autored")}}),(0,o.createVNode)(1,"br"),(0,o.createComponentVNode)(2,a.Button.Checkbox,{checked:b,content:"Auto-Pickup",onClick:function(){return n("autopick")}}),(0,o.createVNode)(1,"br"),(0,o.createComponentVNode)(2,a.Button.Checkbox,{checked:v,content:"Report Delivery",onClick:function(){return n("report")}})]})]})})],0)}},function(e,t,n){"use strict";t.__esModule=!0,t.NotificationPreferences=void 0;var o=n(1),r=n(3),a=n(2);t.NotificationPreferences=function(e){var t=(0,r.useBackend)(e),n=t.act,i=(t.data.ignore||[]).sort((function(e,t){var n=e.desc.toLowerCase(),o=t.desc.toLowerCase();return no?1:0}));return(0,o.createComponentVNode)(2,a.Section,{title:"Ghost Role Notifications",children:i.map((function(e){return(0,o.createComponentVNode)(2,a.Button,{fluid:!0,icon:e.enabled?"times":"check",content:e.desc,color:e.enabled?"bad":"good",onClick:function(){return n("toggle_ignore",{key:e.key})}},e.key)}))})}},function(e,t,n){"use strict";t.__esModule=!0,t.NtnetRelay=void 0;var o=n(1),r=n(3),a=n(2);t.NtnetRelay=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data,c=i.enabled,l=i.dos_capacity,u=i.dos_overload,d=i.dos_crashed;return(0,o.createComponentVNode)(2,a.Section,{title:"Network Buffer",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:"power-off",selected:c,content:c?"ENABLED":"DISABLED",onClick:function(){return n("toggle")}}),children:d?(0,o.createComponentVNode)(2,a.Box,{fontFamily:"monospace",children:[(0,o.createComponentVNode)(2,a.Box,{fontSize:"20px",children:"NETWORK BUFFER OVERFLOW"}),(0,o.createComponentVNode)(2,a.Box,{fontSize:"16px",children:"OVERLOAD RECOVERY MODE"}),(0,o.createComponentVNode)(2,a.Box,{children:"This system is suffering temporary outage due to overflow of traffic buffers. Until buffered traffic is processed, all further requests will be dropped. Frequent occurences of this error may indicate insufficient hardware capacity of your network. Please contact your network planning department for instructions on how to resolve this issue."}),(0,o.createComponentVNode)(2,a.Box,{fontSize:"20px",color:"bad",children:"ADMINISTRATOR OVERRIDE"}),(0,o.createComponentVNode)(2,a.Box,{fontSize:"16px",color:"bad",children:"CAUTION - DATA LOSS MAY OCCUR"}),(0,o.createComponentVNode)(2,a.Button,{icon:"signal",content:"PURGE BUFFER",mt:1,color:"bad",onClick:function(){return n("restart")}})]}):(0,o.createComponentVNode)(2,a.ProgressBar,{value:u,minValue:0,maxValue:l,children:[(0,o.createComponentVNode)(2,a.AnimatedNumber,{value:u})," GQ"," / ",l," GQ"]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.NtosArcade=void 0;var o=n(1),r=n(3),a=n(2);t.NtosArcade=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data;return(0,o.createComponentVNode)(2,a.Section,{title:"Outbomb Cuban Pete Ultra",textAlign:"center",children:[(0,o.createComponentVNode)(2,a.Box,{children:[(0,o.createComponentVNode)(2,a.Grid,{children:[(0,o.createComponentVNode)(2,a.Grid.Column,{size:2,children:[(0,o.createComponentVNode)(2,a.Box,{m:1}),(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Player Health",children:(0,o.createComponentVNode)(2,a.ProgressBar,{value:i.PlayerHitpoints,minValue:0,maxValue:30,ranges:{olive:[31,Infinity],good:[20,31],average:[10,20],bad:[-Infinity,10]},children:[i.PlayerHitpoints,"HP"]})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Player Magic",children:(0,o.createComponentVNode)(2,a.ProgressBar,{value:i.PlayerMP,minValue:0,maxValue:10,ranges:{purple:[11,Infinity],violet:[3,11],bad:[-Infinity,3]},children:[i.PlayerMP,"MP"]})})]}),(0,o.createComponentVNode)(2,a.Box,{my:1,mx:4}),(0,o.createComponentVNode)(2,a.Section,{backgroundColor:1===i.PauseState?"#1b3622":"#471915",children:i.Status})]}),(0,o.createComponentVNode)(2,a.Grid.Column,{children:[(0,o.createComponentVNode)(2,a.ProgressBar,{value:i.Hitpoints/45,minValue:0,maxValue:45,ranges:{good:[30,Infinity],average:[5,30],bad:[-Infinity,5]},children:[(0,o.createComponentVNode)(2,a.AnimatedNumber,{value:i.Hitpoints}),"HP"]}),(0,o.createComponentVNode)(2,a.Box,{m:1}),(0,o.createComponentVNode)(2,a.Section,{inline:!0,width:26,textAlign:"center",children:(0,o.createVNode)(1,"img",null,null,1,{src:i.BossID})})]})]}),(0,o.createComponentVNode)(2,a.Box,{my:1,mx:4}),(0,o.createComponentVNode)(2,a.Button,{icon:"fist-raised",tooltip:"Go in for the kill!",tooltipPosition:"top",disabled:0===i.GameActive||1===i.PauseState,onClick:function(){return n("Attack")},content:"Attack!"}),(0,o.createComponentVNode)(2,a.Button,{icon:"band-aid",tooltip:"Heal yourself!",tooltipPosition:"top",disabled:0===i.GameActive||1===i.PauseState,onClick:function(){return n("Heal")},content:"Heal!"}),(0,o.createComponentVNode)(2,a.Button,{icon:"magic",tooltip:"Recharge your magic!",tooltipPosition:"top",disabled:0===i.GameActive||1===i.PauseState,onClick:function(){return n("Recharge_Power")},content:"Recharge!"})]}),(0,o.createComponentVNode)(2,a.Box,{children:[(0,o.createComponentVNode)(2,a.Button,{icon:"sync-alt",tooltip:"One more game couldn't hurt.",tooltipPosition:"top",disabled:1===i.GameActive,onClick:function(){return n("Start_Game")},content:"Begin Game"}),(0,o.createComponentVNode)(2,a.Button,{icon:"ticket-alt",tooltip:"Claim at your local Arcade Computer for Prizes!",tooltipPosition:"top",disabled:1===i.GameActive,onClick:function(){return n("Dispense_Tickets")},content:"Claim Tickets"})]}),(0,o.createComponentVNode)(2,a.Box,{color:i.TicketCount>=1?"good":"normal",children:["Earned Tickets: ",i.TicketCount]})]})}},function(e,t,n){"use strict";t.__esModule=!0,t.NtosConfiguration=void 0;var o=n(1),r=n(3),a=n(2);t.NtosConfiguration=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data,c=i.power_usage,l=i.battery_exists,u=i.battery,d=void 0===u?{}:u,s=i.disk_size,p=i.disk_used,m=i.hardware,f=void 0===m?[]:m;return(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Section,{title:"Power Supply",buttons:(0,o.createComponentVNode)(2,a.Box,{inline:!0,bold:!0,mr:1,children:["Power Draw: ",c,"W"]}),children:(0,o.createComponentVNode)(2,a.LabeledList,{children:(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Battery Status",color:!l&&"average",children:l?(0,o.createComponentVNode)(2,a.ProgressBar,{value:d.charge,minValue:0,maxValue:d.max,ranges:{good:[d.max/2,Infinity],average:[d.max/4,d.max/2],bad:[-Infinity,d.max/4]},children:[d.charge," / ",d.max]}):"Not Available"})})}),(0,o.createComponentVNode)(2,a.Section,{title:"File System",children:(0,o.createComponentVNode)(2,a.ProgressBar,{value:p,minValue:0,maxValue:s,color:"good",children:[p," GQ / ",s," GQ"]})}),(0,o.createComponentVNode)(2,a.Section,{title:"Hardware Components",children:f.map((function(e){return(0,o.createComponentVNode)(2,a.Section,{title:e.name,level:2,buttons:(0,o.createFragment)([!e.critical&&(0,o.createComponentVNode)(2,a.Button.Checkbox,{content:"Enabled",checked:e.enabled,mr:1,onClick:function(){return n("PC_toggle_component",{name:e.name})}}),(0,o.createComponentVNode)(2,a.Box,{inline:!0,bold:!0,mr:1,children:["Power Usage: ",e.powerusage,"W"]})],0),children:e.desc},e.name)}))})],4)}},function(e,t,n){"use strict";t.__esModule=!0,t.NtosMain=void 0;var o=n(1),r=n(3),a=n(2),i={compconfig:"cog",ntndownloader:"download",filemanager:"folder",smmonitor:"radiation",alarmmonitor:"bell",cardmod:"id-card",arcade:"gamepad",ntnrc_client:"comment-alt",nttransfer:"exchange-alt",powermonitor:"plug"};t.NtosMain=function(e){var t=(0,r.useBackend)(e),n=t.act,c=t.data,l=c.programs,u=void 0===l?[]:l,d=c.has_light,s=c.light_on,p=c.comp_light_color;return(0,o.createFragment)([!!d&&(0,o.createComponentVNode)(2,a.Section,{children:[(0,o.createComponentVNode)(2,a.Button,{width:"144px",icon:"lightbulb",selected:s,onClick:function(){return n("PC_toggle_light")},children:["Flashlight: ",s?"ON":"OFF"]}),(0,o.createComponentVNode)(2,a.Button,{ml:1,onClick:function(){return n("PC_light_color")},children:["Color:",(0,o.createComponentVNode)(2,a.ColorBox,{ml:1,color:p})]})]}),(0,o.createComponentVNode)(2,a.Section,{title:"Programs",children:(0,o.createComponentVNode)(2,a.Table,{children:u.map((function(e){return(0,o.createComponentVNode)(2,a.Table.Row,{children:[(0,o.createComponentVNode)(2,a.Table.Cell,{children:(0,o.createComponentVNode)(2,a.Button,{fluid:!0,lineHeight:"24px",color:"transparent",icon:i[e.name]||"window-maximize-o",content:e.desc,onClick:function(){return n("PC_runprogram",{name:e.name})}})}),(0,o.createComponentVNode)(2,a.Table.Cell,{collapsing:!0,width:3,children:!!e.running&&(0,o.createComponentVNode)(2,a.Button,{lineHeight:"24px",color:"transparent",icon:"times",tooltip:"Close program",tooltipPosition:"left",onClick:function(){return n("PC_killprogram",{name:e.name})}})})]},e.name)}))})})],0)}},function(e,t,n){"use strict";t.__esModule=!0,t.NtosNetChat=void 0;var o=n(1),r=n(3),a=n(2);(0,n(51).createLogger)("ntos chat");t.NtosNetChat=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data,c=i.can_admin,l=i.adminmode,u=i.authed,d=i.username,s=i.active_channel,p=i.is_operator,m=i.all_channels,f=void 0===m?[]:m,h=i.clients,C=void 0===h?[]:h,g=i.messages,b=void 0===g?[]:g,v=null!==s,N=u||l;return(0,o.createComponentVNode)(2,a.Section,{height:"600px",children:(0,o.createComponentVNode)(2,a.Table,{height:"580px",children:(0,o.createComponentVNode)(2,a.Table.Row,{children:[(0,o.createComponentVNode)(2,a.Table.Cell,{verticalAlign:"top",style:{width:"200px"},children:[(0,o.createComponentVNode)(2,a.Box,{height:"537px",overflowY:"scroll",children:[(0,o.createComponentVNode)(2,a.Button.Input,{fluid:!0,content:"New Channel...",onCommit:function(e,t){return n("PRG_newchannel",{new_channel_name:t})}}),f.map((function(e){return(0,o.createComponentVNode)(2,a.Button,{fluid:!0,content:e.chan,selected:e.id===s,color:"transparent",onClick:function(){return n("PRG_joinchannel",{id:e.id})}},e.chan)}))]}),(0,o.createComponentVNode)(2,a.Button.Input,{fluid:!0,mt:1,content:d+"...",currentValue:d,onCommit:function(e,t){return n("PRG_changename",{new_name:t})}}),!!c&&(0,o.createComponentVNode)(2,a.Button,{fluid:!0,bold:!0,content:"ADMIN MODE: "+(l?"ON":"OFF"),color:l?"bad":"good",onClick:function(){return n("PRG_toggleadmin")}})]}),(0,o.createComponentVNode)(2,a.Table.Cell,{children:[(0,o.createComponentVNode)(2,a.Box,{height:"560px",overflowY:"scroll",children:v&&(N?b.map((function(e){return(0,o.createComponentVNode)(2,a.Box,{children:e.msg},e.msg)})):(0,o.createComponentVNode)(2,a.Box,{textAlign:"center",children:[(0,o.createComponentVNode)(2,a.Icon,{name:"exclamation-triangle",mt:4,fontSize:"40px"}),(0,o.createComponentVNode)(2,a.Box,{mt:1,bold:!0,fontSize:"18px",children:"THIS CHANNEL IS PASSWORD PROTECTED"}),(0,o.createComponentVNode)(2,a.Box,{mt:1,children:"INPUT PASSWORD TO ACCESS"})]}))}),(0,o.createComponentVNode)(2,a.Input,{fluid:!0,selfClear:!0,mt:1,onEnter:function(e,t){return n("PRG_speak",{message:t})}})]}),(0,o.createComponentVNode)(2,a.Table.Cell,{verticalAlign:"top",style:{width:"150px"},children:[(0,o.createComponentVNode)(2,a.Box,{height:"477px",overflowY:"scroll",children:C.map((function(e){return(0,o.createComponentVNode)(2,a.Box,{children:e.name},e.name)}))}),v&&N&&(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Button.Input,{fluid:!0,content:"Save log...",defaultValue:"new_log",onCommit:function(e,t){return n("PRG_savelog",{log_name:t})}}),(0,o.createComponentVNode)(2,a.Button.Confirm,{fluid:!0,content:"Leave Channel",onClick:function(){return n("PRG_leavechannel")}})],4),!!p&&u&&(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Button.Confirm,{fluid:!0,content:"Delete Channel",onClick:function(){return n("PRG_deletechannel")}}),(0,o.createComponentVNode)(2,a.Button.Input,{fluid:!0,content:"Rename Channel...",onCommit:function(e,t){return n("PRG_renamechannel",{new_name:t})}}),(0,o.createComponentVNode)(2,a.Button.Input,{fluid:!0,content:"Set Password...",onCommit:function(e,t){return n("PRG_setpassword",{new_password:t})}})],4)]})]})})})}},function(e,t,n){"use strict";t.__esModule=!0,t.NtosNetDownloader=void 0;var o=n(1),r=n(3),a=n(2);t.NtosNetDownloader=function(e){var t=e.state,n=(0,r.useBackend)(e),c=n.act,l=n.data,u=l.disk_size,d=l.disk_used,s=l.downloadable_programs,p=void 0===s?[]:s,m=l.error,f=l.hacked_programs,h=void 0===f?[]:f,C=l.hackedavailable;return(0,o.createFragment)([!!m&&(0,o.createComponentVNode)(2,a.NoticeBox,{children:[(0,o.createComponentVNode)(2,a.Box,{mb:1,children:m}),(0,o.createComponentVNode)(2,a.Button,{content:"Reset",onClick:function(){return c("PRG_reseterror")}})]}),(0,o.createComponentVNode)(2,a.Section,{children:(0,o.createComponentVNode)(2,a.LabeledList,{children:(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Disk usage",children:(0,o.createComponentVNode)(2,a.ProgressBar,{value:d,minValue:0,maxValue:u,children:d+" GQ / "+u+" GQ"})})})}),(0,o.createComponentVNode)(2,a.Section,{children:p.map((function(e){return(0,o.createComponentVNode)(2,i,{state:t,program:e},e.filename)}))}),!!C&&(0,o.createComponentVNode)(2,a.Section,{title:"UNKNOWN Software Repository",children:[(0,o.createComponentVNode)(2,a.NoticeBox,{mb:1,children:"Please note that Nanotrasen does not recommend download of software from non-official servers."}),h.map((function(e){return(0,o.createComponentVNode)(2,i,{state:t,program:e},e.filename)}))]})],0)};var i=function(e){var t=e.program,n=(0,r.useBackend)(e),i=n.act,c=n.data,l=c.disk_size,u=c.disk_used,d=c.downloadcompletion,s=c.downloading,p=c.downloadname,m=c.downloadsize,f=l-u;return(0,o.createComponentVNode)(2,a.Box,{mb:3,children:[(0,o.createComponentVNode)(2,a.Flex,{align:"baseline",children:[(0,o.createComponentVNode)(2,a.Flex.Item,{bold:!0,grow:1,children:t.filedesc}),(0,o.createComponentVNode)(2,a.Flex.Item,{color:"label",nowrap:!0,children:[t.size," GQ"]}),(0,o.createComponentVNode)(2,a.Flex.Item,{ml:2,width:"94px",textAlign:"center",children:t.filename===p&&(0,o.createComponentVNode)(2,a.ProgressBar,{color:"green",minValue:0,maxValue:m,value:d})||(0,o.createComponentVNode)(2,a.Button,{fluid:!0,icon:"download",content:"Download",disabled:s||t.size>f,onClick:function(){return i("PRG_downloadfile",{filename:t.filename})}})})]}),"Compatible"!==t.compatibility&&(0,o.createComponentVNode)(2,a.Box,{mt:1,italic:!0,fontSize:"12px",position:"relative",children:[(0,o.createComponentVNode)(2,a.Icon,{mx:1,color:"red",name:"times"}),"Incompatible!"]}),t.size>f&&(0,o.createComponentVNode)(2,a.Box,{mt:1,italic:!0,fontSize:"12px",position:"relative",children:[(0,o.createComponentVNode)(2,a.Icon,{mx:1,color:"red",name:"times"}),"Not enough disk space!"]}),(0,o.createComponentVNode)(2,a.Box,{mt:1,italic:!0,color:"label",fontSize:"12px",children:t.fileinfo})]})}},function(e,t,n){"use strict";t.__esModule=!0,t.NtosSupermatterMonitor=void 0;var o=n(1),r=n(24),a=n(70),i=n(18),c=n(3),l=n(2),u=n(37),d=function(e){return Math.log2(16+Math.max(0,e))-4};t.NtosSupermatterMonitor=function(e){var t=e.state,n=(0,c.useBackend)(e),p=n.act,m=n.data,f=m.active,h=m.SM_integrity,C=m.SM_power,g=m.SM_ambienttemp,b=m.SM_ambientpressure;if(!f)return(0,o.createComponentVNode)(2,s,{state:t});var v=(0,a.flow)([function(e){return e.filter((function(e){return e.amount>=.01}))},(0,r.sortBy)((function(e){return-e.amount}))])(m.gases||[]),N=Math.max.apply(Math,[1].concat(v.map((function(e){return e.amount}))));return(0,o.createComponentVNode)(2,l.Flex,{spacing:1,children:[(0,o.createComponentVNode)(2,l.Flex.Item,{width:"270px",children:(0,o.createComponentVNode)(2,l.Section,{title:"Metrics",children:(0,o.createComponentVNode)(2,l.LabeledList,{children:[(0,o.createComponentVNode)(2,l.LabeledList.Item,{label:"Integrity",children:(0,o.createComponentVNode)(2,l.ProgressBar,{value:h/100,ranges:{good:[.9,Infinity],average:[.5,.9],bad:[-Infinity,.5]}})}),(0,o.createComponentVNode)(2,l.LabeledList.Item,{label:"Relative EER",children:(0,o.createComponentVNode)(2,l.ProgressBar,{value:C,minValue:0,maxValue:5e3,ranges:{good:[-Infinity,5e3],average:[5e3,7e3],bad:[7e3,Infinity]},children:(0,i.toFixed)(C)+" MeV/cm3"})}),(0,o.createComponentVNode)(2,l.LabeledList.Item,{label:"Temperature",children:(0,o.createComponentVNode)(2,l.ProgressBar,{value:d(g),minValue:0,maxValue:d(1e4),ranges:{teal:[-Infinity,d(80)],good:[d(80),d(373)],average:[d(373),d(1e3)],bad:[d(1e3),Infinity]},children:(0,i.toFixed)(g)+" K"})}),(0,o.createComponentVNode)(2,l.LabeledList.Item,{label:"Pressure",children:(0,o.createComponentVNode)(2,l.ProgressBar,{value:d(b),minValue:0,maxValue:d(5e4),ranges:{good:[d(1),d(300)],average:[-Infinity,d(1e3)],bad:[d(1e3),+Infinity]},children:(0,i.toFixed)(b)+" kPa"})})]})})}),(0,o.createComponentVNode)(2,l.Flex.Item,{grow:1,children:(0,o.createComponentVNode)(2,l.Section,{title:"Gases",buttons:(0,o.createComponentVNode)(2,l.Button,{icon:"arrow-left",content:"Back",onClick:function(){return p("PRG_clear")}}),children:(0,o.createComponentVNode)(2,l.Box.Forced,{height:24*v.length+"px",children:(0,o.createComponentVNode)(2,l.LabeledList,{children:v.map((function(e){return(0,o.createComponentVNode)(2,l.LabeledList.Item,{label:(0,u.getGasLabel)(e.name),children:(0,o.createComponentVNode)(2,l.ProgressBar,{color:(0,u.getGasColor)(e.name),value:e.amount,minValue:0,maxValue:N,children:(0,i.toFixed)(e.amount,2)+"%"})},e.name)}))})})})})]})};var s=function(e){var t=(0,c.useBackend)(e),n=t.act,r=t.data.supermatters,a=void 0===r?[]:r;return(0,o.createComponentVNode)(2,l.Section,{title:"Detected Supermatters",buttons:(0,o.createComponentVNode)(2,l.Button,{icon:"sync",content:"Refresh",onClick:function(){return n("PRG_refresh")}}),children:(0,o.createComponentVNode)(2,l.Table,{children:a.map((function(e){return(0,o.createComponentVNode)(2,l.Table.Row,{children:[(0,o.createComponentVNode)(2,l.Table.Cell,{children:e.uid+". "+e.area_name}),(0,o.createComponentVNode)(2,l.Table.Cell,{collapsing:!0,color:"label",children:"Integrity:"}),(0,o.createComponentVNode)(2,l.Table.Cell,{collapsing:!0,width:"120px",children:(0,o.createComponentVNode)(2,l.ProgressBar,{value:e.integrity/100,ranges:{good:[.9,Infinity],average:[.5,.9],bad:[-Infinity,.5]}})}),(0,o.createComponentVNode)(2,l.Table.Cell,{collapsing:!0,children:(0,o.createComponentVNode)(2,l.Button,{content:"Details",onClick:function(){return n("PRG_set",{target:e.uid})}})})]},e.uid)}))})})}},function(e,t,n){"use strict";t.__esModule=!0,t.NtosWrapper=void 0;var o=n(1),r=n(3),a=n(2),i=n(116);t.NtosWrapper=function(e){var t=e.children,n=(0,r.useBackend)(e),c=n.act,l=n.data,u=l.PC_batteryicon,d=l.PC_showbatteryicon,s=l.PC_batterypercent,p=l.PC_ntneticon,m=l.PC_apclinkicon,f=l.PC_stationtime,h=l.PC_programheaders,C=void 0===h?[]:h,g=l.PC_showexitprogram;return(0,o.createVNode)(1,"div","NtosWrapper",[(0,o.createVNode)(1,"div","NtosWrapper__header NtosHeader",[(0,o.createVNode)(1,"div","NtosHeader__left",[(0,o.createComponentVNode)(2,a.Box,{inline:!0,bold:!0,mr:2,children:f}),(0,o.createComponentVNode)(2,a.Box,{inline:!0,italic:!0,mr:2,opacity:.33,children:"NtOS"})],4),(0,o.createVNode)(1,"div","NtosHeader__right",[C.map((function(e){return(0,o.createComponentVNode)(2,a.Box,{inline:!0,mr:1,children:(0,o.createVNode)(1,"img","NtosHeader__icon",null,1,{src:e.icon})},e.icon)})),(0,o.createComponentVNode)(2,a.Box,{inline:!0,children:p&&(0,o.createVNode)(1,"img","NtosHeader__icon",null,1,{src:p})}),!!d&&u&&(0,o.createComponentVNode)(2,a.Box,{inline:!0,mr:1,children:[u&&(0,o.createVNode)(1,"img","NtosHeader__icon",null,1,{src:u}),s&&s]}),m&&(0,o.createComponentVNode)(2,a.Box,{inline:!0,mr:1,children:(0,o.createVNode)(1,"img","NtosHeader__icon",null,1,{src:m})}),!!g&&(0,o.createComponentVNode)(2,a.Button,{width:"26px",lineHeight:"22px",textAlign:"center",color:"transparent",icon:"window-minimize-o",tooltip:"Minimize",tooltipPosition:"bottom",onClick:function(){return c("PC_minimize")}}),!!g&&(0,o.createComponentVNode)(2,a.Button,{mr:"-3px",width:"26px",lineHeight:"22px",textAlign:"center",color:"transparent",icon:"window-close-o",tooltip:"Close",tooltipPosition:"bottom-left",onClick:function(){return c("PC_exit")}}),!g&&(0,o.createComponentVNode)(2,a.Button,{mr:"-3px",width:"26px",lineHeight:"22px",textAlign:"center",color:"transparent",icon:"power-off",tooltip:"Power off",tooltipPosition:"bottom-left",onClick:function(){return c("PC_shutdown")}})],0)],4,{onMouseDown:function(){(0,i.refocusLayout)()}}),(0,o.createVNode)(1,"div","NtosWrapper__content",t,0)],4)}},function(e,t,n){"use strict";t.__esModule=!0,t.NuclearBomb=void 0;var o=n(1),r=n(12),a=n(3),i=n(2),c=function(e){var t=(0,a.useBackend)(e).act;return(0,o.createComponentVNode)(2,i.Box,{width:"185px",children:(0,o.createComponentVNode)(2,i.Grid,{width:"1px",children:[["1","4","7","C"],["2","5","8","0"],["3","6","9","E"]].map((function(e){return(0,o.createComponentVNode)(2,i.Grid.Column,{children:e.map((function(e){return(0,o.createComponentVNode)(2,i.Button,{fluid:!0,bold:!0,mb:1,content:e,textAlign:"center",fontSize:"40px",lineHeight:"50px",width:"55px",className:(0,r.classes)(["NuclearBomb__Button","NuclearBomb__Button--keypad","NuclearBomb__Button--"+e]),onClick:function(){return t("keypad",{digit:e})}},e)}))},e[0])}))})})};t.NuclearBomb=function(e){var t=e.state,n=(0,a.useBackend)(e),r=n.act,l=n.data,u=(l.anchored,l.disk_present,l.status1),d=l.status2;return(0,o.createComponentVNode)(2,i.Box,{m:1,children:[(0,o.createComponentVNode)(2,i.Box,{mb:1,className:"NuclearBomb__displayBox",children:u}),(0,o.createComponentVNode)(2,i.Flex,{mb:1.5,children:[(0,o.createComponentVNode)(2,i.Flex.Item,{grow:1,children:(0,o.createComponentVNode)(2,i.Box,{className:"NuclearBomb__displayBox",children:d})}),(0,o.createComponentVNode)(2,i.Flex.Item,{children:(0,o.createComponentVNode)(2,i.Button,{icon:"eject",fontSize:"24px",lineHeight:"23px",textAlign:"center",width:"43px",ml:1,mr:"3px",mt:"3px",className:"NuclearBomb__Button NuclearBomb__Button--keypad",onClick:function(){return r("eject_disk")}})})]}),(0,o.createComponentVNode)(2,i.Flex,{ml:"3px",children:[(0,o.createComponentVNode)(2,i.Flex.Item,{children:(0,o.createComponentVNode)(2,c,{state:t})}),(0,o.createComponentVNode)(2,i.Flex.Item,{ml:1,width:"129px",children:(0,o.createComponentVNode)(2,i.Box,{children:[(0,o.createComponentVNode)(2,i.Button,{fluid:!0,bold:!0,content:"ARM",textAlign:"center",fontSize:"28px",lineHeight:"32px",mb:1,className:"NuclearBomb__Button NuclearBomb__Button--C",onClick:function(){return r("arm")}}),(0,o.createComponentVNode)(2,i.Button,{fluid:!0,bold:!0,content:"ANCHOR",textAlign:"center",fontSize:"28px",lineHeight:"32px",className:"NuclearBomb__Button NuclearBomb__Button--E",onClick:function(){return r("anchor")}}),(0,o.createComponentVNode)(2,i.Box,{textAlign:"center",color:"#9C9987",fontSize:"80px",children:(0,o.createComponentVNode)(2,i.Icon,{name:"radiation"})}),(0,o.createComponentVNode)(2,i.Box,{height:"80px",className:"NuclearBomb__NTIcon"})]})})]})]})}},function(e,t,n){"use strict";t.__esModule=!0,t.OperatingComputer=void 0;var o=n(1),r=n(3),a=n(2);t.OperatingComputer=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data,c=i.table,l=i.surgeries,u=void 0===l?[]:l,d=i.procedures,s=void 0===d?[]:d,p=i.patient,m=void 0===p?{}:p;return(0,o.createComponentVNode)(2,a.Tabs,{children:[(0,o.createComponentVNode)(2,a.Tabs.Tab,{label:"Patient State",children:[!c&&(0,o.createComponentVNode)(2,a.NoticeBox,{children:"No Table Detected"}),(0,o.createComponentVNode)(2,a.Section,{children:[(0,o.createComponentVNode)(2,a.Section,{title:"Patient State",level:2,children:m?(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"State",color:m.statstate,children:m.stat}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Blood Type",children:m.blood_type}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Health",children:(0,o.createComponentVNode)(2,a.ProgressBar,{value:m.health,minValue:m.minHealth,maxValue:m.maxHealth,color:m.health>=0?"good":"average",content:(0,o.createComponentVNode)(2,a.AnimatedNumber,{value:m.health})})}),[{label:"Brute",type:"bruteLoss"},{label:"Burn",type:"fireLoss"},{label:"Toxin",type:"toxLoss"},{label:"Respiratory",type:"oxyLoss"}].map((function(e){return(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:e.label,children:(0,o.createComponentVNode)(2,a.ProgressBar,{value:m[e.type]/m.maxHealth,color:"bad",content:(0,o.createComponentVNode)(2,a.AnimatedNumber,{value:m[e.type]})})},e.type)}))]}):"No Patient Detected"}),(0,o.createComponentVNode)(2,a.Section,{title:"Initiated Procedures",level:2,children:s.length?s.map((function(e){return(0,o.createComponentVNode)(2,a.Section,{title:e.name,level:3,children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Next Step",children:[e.next_step,e.chems_needed&&(0,o.createFragment)([(0,o.createVNode)(1,"b",null,"Required Chemicals:",16),(0,o.createVNode)(1,"br"),e.chems_needed],0)]}),!!i.alternative_step&&(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Alternative Step",children:[e.alternative_step,e.alt_chems_needed&&(0,o.createFragment)([(0,o.createVNode)(1,"b",null,"Required Chemicals:",16),(0,o.createVNode)(1,"br"),e.alt_chems_needed],0)]})]})},e.name)})):"No Active Procedures"})]})]},"state"),(0,o.createComponentVNode)(2,a.Tabs.Tab,{label:"Surgery Procedures",children:(0,o.createComponentVNode)(2,a.Section,{title:"Advanced Surgery Procedures",children:[(0,o.createComponentVNode)(2,a.Button,{icon:"download",content:"Sync Research Database",onClick:function(){return n("sync")}}),u.map((function(e){return(0,o.createComponentVNode)(2,a.Section,{title:e.name,level:2,children:e.desc},e.name)}))]})},"procedures")]})}},function(e,t,n){"use strict";t.__esModule=!0,t.OreBox=void 0;var o=n(1),r=n(23),a=n(16),i=n(2);t.OreBox=function(e){var t=e.state,n=t.config,c=t.data,l=n.ref,u=c.materials;return(0,o.createFragment)([(0,o.createComponentVNode)(2,i.Section,{title:"Ores",buttons:(0,o.createComponentVNode)(2,i.Button,{content:"Empty",onClick:function(){return(0,a.act)(l,"removeall")}}),children:(0,o.createComponentVNode)(2,i.Table,{children:[(0,o.createComponentVNode)(2,i.Table.Row,{header:!0,children:[(0,o.createComponentVNode)(2,i.Table.Cell,{children:"Ore"}),(0,o.createComponentVNode)(2,i.Table.Cell,{collapsing:!0,textAlign:"right",children:"Amount"})]}),u.map((function(e){return(0,o.createComponentVNode)(2,i.Table.Row,{children:[(0,o.createComponentVNode)(2,i.Table.Cell,{children:(0,r.toTitleCase)(e.name)}),(0,o.createComponentVNode)(2,i.Table.Cell,{collapsing:!0,textAlign:"right",children:(0,o.createComponentVNode)(2,i.Box,{color:"label",inline:!0,children:e.amount})})]},e.type)}))]})}),(0,o.createComponentVNode)(2,i.Section,{children:(0,o.createComponentVNode)(2,i.Box,{children:["All ores will be placed in here when you are wearing a mining stachel on your belt or in a pocket while dragging the ore box.",(0,o.createVNode)(1,"br"),"Gibtonite is not accepted."]})})],4)}},function(e,t,n){"use strict";t.__esModule=!0,t.OreRedemptionMachine=void 0;var o=n(1),r=n(23),a=n(3),i=n(2);t.OreRedemptionMachine=function(e){var t=(0,a.useBackend)(e),n=t.act,r=t.data,l=r.unclaimedPoints,u=r.materials,d=r.alloys,s=r.diskDesigns,p=r.hasDisk;return(0,o.createFragment)([(0,o.createComponentVNode)(2,i.Section,{children:[(0,o.createComponentVNode)(2,i.BlockQuote,{mb:1,children:["This machine only accepts ore.",(0,o.createVNode)(1,"br"),"Gibtonite and Slag are not accepted."]}),(0,o.createComponentVNode)(2,i.Box,{children:[(0,o.createComponentVNode)(2,i.Box,{inline:!0,color:"label",mr:1,children:"Unclaimed points:"}),l,(0,o.createComponentVNode)(2,i.Button,{ml:2,content:"Claim",disabled:0===l,onClick:function(){return n("Claim")}})]})]}),(0,o.createComponentVNode)(2,i.Section,{children:p&&(0,o.createFragment)([(0,o.createComponentVNode)(2,i.Box,{mb:1,children:(0,o.createComponentVNode)(2,i.Button,{icon:"eject",content:"Eject design disk",onClick:function(){return n("diskEject")}})}),(0,o.createComponentVNode)(2,i.Table,{children:s.map((function(e){return(0,o.createComponentVNode)(2,i.Table.Row,{children:[(0,o.createComponentVNode)(2,i.Table.Cell,{children:["File ",e.index,": ",e.name]}),(0,o.createComponentVNode)(2,i.Table.Cell,{collapsing:!0,children:(0,o.createComponentVNode)(2,i.Button,{disabled:!e.canupload,content:"Upload",onClick:function(){return n("diskUpload",{design:e.index})}})})]},e.index)}))})],4)||(0,o.createComponentVNode)(2,i.Button,{icon:"save",content:"Insert design disk",onClick:function(){return n("diskInsert")}})}),(0,o.createComponentVNode)(2,i.Section,{title:"Materials",children:(0,o.createComponentVNode)(2,i.Table,{children:u.map((function(e){return(0,o.createComponentVNode)(2,c,{material:e,onRelease:function(t){return n("Release",{id:e.id,sheets:t})}},e.id)}))})}),(0,o.createComponentVNode)(2,i.Section,{title:"Alloys",children:(0,o.createComponentVNode)(2,i.Table,{children:d.map((function(e){return(0,o.createComponentVNode)(2,c,{material:e,onRelease:function(t){return n("Smelt",{id:e.id,sheets:t})}},e.id)}))})})],4)};var c=function(e){var t,n;function a(){var t;return(t=e.call(this)||this).state={amount:1},t}return n=e,(t=a).prototype=Object.create(n.prototype),t.prototype.constructor=t,t.__proto__=n,a.prototype.render=function(){var e=this,t=this.state.amount,n=this.props,a=n.material,c=n.onRelease,l=Math.floor(a.amount);return(0,o.createComponentVNode)(2,i.Table.Row,{children:[(0,o.createComponentVNode)(2,i.Table.Cell,{children:(0,r.toTitleCase)(a.name).replace("Alloy","")}),(0,o.createComponentVNode)(2,i.Table.Cell,{collapsing:!0,textAlign:"right",children:(0,o.createComponentVNode)(2,i.Box,{mr:2,color:"label",inline:!0,children:a.value&&a.value+" cr"})}),(0,o.createComponentVNode)(2,i.Table.Cell,{collapsing:!0,textAlign:"right",children:(0,o.createComponentVNode)(2,i.Box,{mr:2,color:"label",inline:!0,children:[l," sheets"]})}),(0,o.createComponentVNode)(2,i.Table.Cell,{collapsing:!0,children:[(0,o.createComponentVNode)(2,i.NumberInput,{width:"32px",step:1,stepPixelSize:5,minValue:1,maxValue:50,value:t,onChange:function(t,n){return e.setState({amount:n})}}),(0,o.createComponentVNode)(2,i.Button,{disabled:l<1,content:"Release",onClick:function(){return c(t)}})]})]})},a}(o.Component)},function(e,t,n){"use strict";t.__esModule=!0,t.Pandemic=t.PandemicAntibodyDisplay=t.PandemicSymptomDisplay=t.PandemicDiseaseDisplay=t.PandemicBeakerDisplay=void 0;var o=n(1),r=n(24),a=n(3),i=n(2),c=function(e){var t=(0,a.useBackend)(e),n=t.act,r=t.data,c=r.has_beaker,l=r.beaker_empty,u=r.has_blood,d=r.blood,s=!c||l;return(0,o.createComponentVNode)(2,i.Section,{title:"Beaker",buttons:(0,o.createFragment)([(0,o.createComponentVNode)(2,i.Button,{icon:"times",content:"Empty and Eject",color:"bad",disabled:s,onClick:function(){return n("empty_eject_beaker")}}),(0,o.createComponentVNode)(2,i.Button,{icon:"trash",content:"Empty",disabled:s,onClick:function(){return n("empty_beaker")}}),(0,o.createComponentVNode)(2,i.Button,{icon:"eject",content:"Eject",disabled:!c,onClick:function(){return n("eject_beaker")}})],4),children:c?l?(0,o.createComponentVNode)(2,i.Box,{color:"bad",children:"Beaker is empty"}):u?(0,o.createComponentVNode)(2,i.LabeledList,{children:[(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Blood DNA",children:d&&d.dna||"Unknown"}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Blood Type",children:d&&d.type||"Unknown"})]}):(0,o.createComponentVNode)(2,i.Box,{color:"bad",children:"No blood detected"}):(0,o.createComponentVNode)(2,i.NoticeBox,{children:"No beaker loaded"})})};t.PandemicBeakerDisplay=c;var l=function(e){var t=(0,a.useBackend)(e),n=t.act,r=t.data,c=r.is_ready;return(r.viruses||[]).map((function(e){var t=e.symptoms||[];return(0,o.createComponentVNode)(2,i.Section,{title:e.can_rename?(0,o.createComponentVNode)(2,i.Input,{value:e.name,onChange:function(t,o){return n("rename_disease",{index:e.index,name:o})}}):e.name,buttons:(0,o.createComponentVNode)(2,i.Button,{icon:"flask",content:"Create culture bottle",disabled:!c,onClick:function(){return n("create_culture_bottle",{index:e.index})}}),children:[(0,o.createComponentVNode)(2,i.Grid,{children:[(0,o.createComponentVNode)(2,i.Grid.Column,{children:e.description}),(0,o.createComponentVNode)(2,i.Grid.Column,{children:(0,o.createComponentVNode)(2,i.LabeledList,{children:[(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Agent",children:e.agent}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Spread",children:e.spread}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Possible Cure",children:e.cure})]})})]}),!!e.is_adv&&(0,o.createFragment)([(0,o.createComponentVNode)(2,i.Section,{title:"Statistics",level:2,children:(0,o.createComponentVNode)(2,i.Grid,{children:[(0,o.createComponentVNode)(2,i.Grid.Column,{children:(0,o.createComponentVNode)(2,i.LabeledList,{children:[(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Resistance",children:e.resistance}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Stealth",children:e.stealth})]})}),(0,o.createComponentVNode)(2,i.Grid.Column,{children:(0,o.createComponentVNode)(2,i.LabeledList,{children:[(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Stage speed",children:e.stage_speed}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Transmissibility",children:e.transmission})]})})]})}),(0,o.createComponentVNode)(2,i.Section,{title:"Symptoms",level:2,children:t.map((function(e){return(0,o.createComponentVNode)(2,i.Collapsible,{title:e.name,children:(0,o.createComponentVNode)(2,i.Section,{children:(0,o.createComponentVNode)(2,u,{symptom:e})})},e.name)}))})],4)]},e.name)}))};t.PandemicDiseaseDisplay=l;var u=function(e){var t=e.symptom,n=t.name,a=t.desc,c=t.stealth,l=t.resistance,u=t.stage_speed,d=t.transmission,s=t.level,p=t.neutered,m=(0,r.map)((function(e,t){return{desc:e,label:t}}))(t.threshold_desc||{});return(0,o.createComponentVNode)(2,i.Section,{title:n,level:2,buttons:!!p&&(0,o.createComponentVNode)(2,i.Box,{bold:!0,color:"bad",children:"Neutered"}),children:[(0,o.createComponentVNode)(2,i.Grid,{children:[(0,o.createComponentVNode)(2,i.Grid.Column,{size:2,children:a}),(0,o.createComponentVNode)(2,i.Grid.Column,{children:(0,o.createComponentVNode)(2,i.LabeledList,{children:[(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Level",children:s}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Resistance",children:l}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Stealth",children:c}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Stage Speed",children:u}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Transmission",children:d})]})})]}),m.length>0&&(0,o.createComponentVNode)(2,i.Section,{title:"Thresholds",level:3,children:(0,o.createComponentVNode)(2,i.LabeledList,{children:m.map((function(e){return(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:e.label,children:e.desc},e.label)}))})})]})};t.PandemicSymptomDisplay=u;var d=function(e){var t=(0,a.useBackend)(e),n=t.act,r=t.data,c=r.resistances||[];return(0,o.createComponentVNode)(2,i.Section,{title:"Antibodies",children:c.length>0?(0,o.createComponentVNode)(2,i.LabeledList,{children:c.map((function(e){return(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:e.name,children:(0,o.createComponentVNode)(2,i.Button,{icon:"eye-dropper",content:"Create vaccine bottle",disabled:!r.is_ready,onClick:function(){return n("create_vaccine_bottle",{index:e.id})}})},e.name)}))}):(0,o.createComponentVNode)(2,i.Box,{bold:!0,color:"bad",mt:1,children:"No antibodies detected."})})};t.PandemicAntibodyDisplay=d;t.Pandemic=function(e){var t=(0,a.useBackend)(e).data;return(0,o.createFragment)([(0,o.createComponentVNode)(2,c,{state:e.state}),!!t.has_blood&&(0,o.createFragment)([(0,o.createComponentVNode)(2,l,{state:e.state}),(0,o.createComponentVNode)(2,d,{state:e.state})],4)],0)}},function(e,t,n){"use strict";t.__esModule=!0,t.PortableGenerator=void 0;var o=n(1),r=n(3),a=n(2);t.PortableGenerator=function(e){var t,n=(0,r.useBackend)(e),i=n.act,c=n.data;return t=c.stack_percent>50?"good":c.stack_percent>15?"average":"bad",(0,o.createFragment)([!c.anchored&&(0,o.createComponentVNode)(2,a.NoticeBox,{children:"Generator not anchored."}),(0,o.createComponentVNode)(2,a.Section,{title:"Status",children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Power switch",children:(0,o.createComponentVNode)(2,a.Button,{icon:c.active?"power-off":"times",onClick:function(){return i("toggle_power")},disabled:!c.ready_to_boot,children:c.active?"On":"Off"})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:c.sheet_name+" sheets",children:[(0,o.createComponentVNode)(2,a.Box,{inline:!0,color:t,children:c.sheets}),c.sheets>=1&&(0,o.createComponentVNode)(2,a.Button,{ml:1,icon:"eject",disabled:c.active,onClick:function(){return i("eject")},children:"Eject"})]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Current sheet level",children:(0,o.createComponentVNode)(2,a.ProgressBar,{value:c.stack_percent/100,ranges:{good:[.1,Infinity],average:[.01,.1],bad:[-Infinity,.01]}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Heat level",children:c.current_heat<100?(0,o.createComponentVNode)(2,a.Box,{inline:!0,color:"good",children:"Nominal"}):c.current_heat<200?(0,o.createComponentVNode)(2,a.Box,{inline:!0,color:"average",children:"Caution"}):(0,o.createComponentVNode)(2,a.Box,{inline:!0,color:"bad",children:"DANGER"})})]})}),(0,o.createComponentVNode)(2,a.Section,{title:"Output",children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Current output",children:c.power_output}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Adjust output",children:[(0,o.createComponentVNode)(2,a.Button,{icon:"minus",onClick:function(){return i("lower_power")},children:c.power_generated}),(0,o.createComponentVNode)(2,a.Button,{icon:"plus",onClick:function(){return i("higher_power")},children:c.power_generated})]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Power available",children:(0,o.createComponentVNode)(2,a.Box,{inline:!0,color:!c.connected&&"bad",children:c.connected?c.power_available:"Unconnected"})})]})})],0)}},function(e,t,n){"use strict";t.__esModule=!0,t.PortableScrubber=t.PortablePump=t.PortableBasicInfo=void 0;var o=n(1),r=n(3),a=n(2),i=n(37),c=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data,c=i.connected,l=i.holding,u=i.on,d=i.pressure;return(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Section,{title:"Status",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:u?"power-off":"times",content:u?"On":"Off",selected:u,onClick:function(){return n("power")}}),children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Pressure",children:[(0,o.createComponentVNode)(2,a.AnimatedNumber,{value:d})," kPa"]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Port",color:c?"good":"average",children:c?"Connected":"Not Connected"})]})}),(0,o.createComponentVNode)(2,a.Section,{title:"Holding Tank",minHeight:"82px",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:"eject",content:"Eject",disabled:!l,onClick:function(){return n("eject")}}),children:l?(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Label",children:l.name}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Pressure",children:[(0,o.createComponentVNode)(2,a.AnimatedNumber,{value:l.pressure})," kPa"]})]}):(0,o.createComponentVNode)(2,a.Box,{color:"average",children:"No holding tank"})})],4)};t.PortableBasicInfo=c;t.PortablePump=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data,l=i.direction,u=(i.holding,i.target_pressure),d=i.default_pressure,s=i.min_pressure,p=i.max_pressure;return(0,o.createFragment)([(0,o.createComponentVNode)(2,c,{state:e.state}),(0,o.createComponentVNode)(2,a.Section,{title:"Pump",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:l?"sign-in-alt":"sign-out-alt",content:l?"In":"Out",selected:l,onClick:function(){return n("direction")}}),children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Output",children:(0,o.createComponentVNode)(2,a.NumberInput,{value:u,unit:"kPa",width:"75px",minValue:s,maxValue:p,step:10,onChange:function(e,t){return n("pressure",{pressure:t})}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Presets",children:[(0,o.createComponentVNode)(2,a.Button,{icon:"minus",disabled:u===s,onClick:function(){return n("pressure",{pressure:"min"})}}),(0,o.createComponentVNode)(2,a.Button,{icon:"sync",disabled:u===d,onClick:function(){return n("pressure",{pressure:"reset"})}}),(0,o.createComponentVNode)(2,a.Button,{icon:"plus",disabled:u===p,onClick:function(){return n("pressure",{pressure:"max"})}})]})]})})],4)};t.PortableScrubber=function(e){var t=(0,r.useBackend)(e),n=t.act,l=t.data.filter_types||[];return(0,o.createFragment)([(0,o.createComponentVNode)(2,c,{state:e.state}),(0,o.createComponentVNode)(2,a.Section,{title:"Filters",children:l.map((function(e){return(0,o.createComponentVNode)(2,a.Button,{icon:e.enabled?"check-square-o":"square-o",content:(0,i.getGasLabel)(e.gas_id,e.gas_name),selected:e.enabled,onClick:function(){return n("toggle_filter",{val:e.gas_id})}},e.id)}))})],4)}},function(e,t,n){"use strict";t.__esModule=!0,t.PowerMonitor=void 0;var o=n(1),r=n(24),a=n(70),i=n(18),c=n(12),l=n(2);var u=5e5,d=function(e){var t=String(e.split(" ")[1]).toLowerCase();return["w","kw","mw","gw"].indexOf(t)},s=function(e){var t,n;function c(){var t;return(t=e.call(this)||this).state={sortByField:null},t}return n=e,(t=c).prototype=Object.create(n.prototype),t.prototype.constructor=t,t.__proto__=n,c.prototype.render=function(){var e=this,t=this.props.state.data,n=t.history,c=this.state.sortByField,s=n.supply[n.supply.length-1]||0,f=n.demand[n.demand.length-1]||0,h=n.supply.map((function(e,t){return[t,e]})),C=n.demand.map((function(e,t){return[t,e]})),g=Math.max.apply(Math,[u].concat(n.supply,n.demand)),b=(0,a.flow)([(0,r.map)((function(e,t){return Object.assign({},e,{id:e.name+t})})),"name"===c&&(0,r.sortBy)((function(e){return e.name})),"charge"===c&&(0,r.sortBy)((function(e){return-e.charge})),"draw"===c&&(0,r.sortBy)((function(e){return-d(e.load)}),(function(e){return-parseFloat(e.load)}))])(t.areas);return(0,o.createFragment)([(0,o.createComponentVNode)(2,l.Flex,{spacing:1,children:[(0,o.createComponentVNode)(2,l.Flex.Item,{width:"200px",children:(0,o.createComponentVNode)(2,l.Section,{children:(0,o.createComponentVNode)(2,l.LabeledList,{children:[(0,o.createComponentVNode)(2,l.LabeledList.Item,{label:"Supply",children:(0,o.createComponentVNode)(2,l.ProgressBar,{value:s,minValue:0,maxValue:g,color:"teal",content:(0,i.toFixed)(s/1e3)+" kW"})}),(0,o.createComponentVNode)(2,l.LabeledList.Item,{label:"Draw",children:(0,o.createComponentVNode)(2,l.ProgressBar,{value:f,minValue:0,maxValue:g,color:"pink",content:(0,i.toFixed)(f/1e3)+" kW"})})]})})}),(0,o.createComponentVNode)(2,l.Flex.Item,{grow:1,children:(0,o.createComponentVNode)(2,l.Section,{position:"relative",height:"100%",children:[(0,o.createComponentVNode)(2,l.Chart.Line,{fillPositionedParent:!0,data:h,rangeX:[0,h.length-1],rangeY:[0,g],strokeColor:"rgba(0, 181, 173, 1)",fillColor:"rgba(0, 181, 173, 0.25)"}),(0,o.createComponentVNode)(2,l.Chart.Line,{fillPositionedParent:!0,data:C,rangeX:[0,C.length-1],rangeY:[0,g],strokeColor:"rgba(224, 57, 151, 1)",fillColor:"rgba(224, 57, 151, 0.25)"})]})})]}),(0,o.createComponentVNode)(2,l.Section,{children:[(0,o.createComponentVNode)(2,l.Box,{mb:1,children:[(0,o.createComponentVNode)(2,l.Box,{inline:!0,mr:2,color:"label",children:"Sort by:"}),(0,o.createComponentVNode)(2,l.Button.Checkbox,{checked:"name"===c,content:"Name",onClick:function(){return e.setState({sortByField:"name"!==c&&"name"})}}),(0,o.createComponentVNode)(2,l.Button.Checkbox,{checked:"charge"===c,content:"Charge",onClick:function(){return e.setState({sortByField:"charge"!==c&&"charge"})}}),(0,o.createComponentVNode)(2,l.Button.Checkbox,{checked:"draw"===c,content:"Draw",onClick:function(){return e.setState({sortByField:"draw"!==c&&"draw"})}})]}),(0,o.createComponentVNode)(2,l.Table,{children:[(0,o.createComponentVNode)(2,l.Table.Row,{header:!0,children:[(0,o.createComponentVNode)(2,l.Table.Cell,{children:"Area"}),(0,o.createComponentVNode)(2,l.Table.Cell,{collapsing:!0,children:"Charge"}),(0,o.createComponentVNode)(2,l.Table.Cell,{textAlign:"right",children:"Draw"}),(0,o.createComponentVNode)(2,l.Table.Cell,{collapsing:!0,title:"Equipment",children:"Eqp"}),(0,o.createComponentVNode)(2,l.Table.Cell,{collapsing:!0,title:"Lighting",children:"Lgt"}),(0,o.createComponentVNode)(2,l.Table.Cell,{collapsing:!0,title:"Environment",children:"Env"})]}),b.map((function(e,t){return(0,o.createVNode)(1,"tr","Table__row candystripe",[(0,o.createVNode)(1,"td",null,e.name,0),(0,o.createVNode)(1,"td","Table__cell text-right text-nowrap",(0,o.createComponentVNode)(2,p,{charging:e.charging,charge:e.charge}),2),(0,o.createVNode)(1,"td","Table__cell text-right text-nowrap",e.load,0),(0,o.createVNode)(1,"td","Table__cell text-center text-nowrap",(0,o.createComponentVNode)(2,m,{status:e.eqp}),2),(0,o.createVNode)(1,"td","Table__cell text-center text-nowrap",(0,o.createComponentVNode)(2,m,{status:e.lgt}),2),(0,o.createVNode)(1,"td","Table__cell text-center text-nowrap",(0,o.createComponentVNode)(2,m,{status:e.env}),2)],4,null,e.id)}))]})]})],4)},c}(o.Component);t.PowerMonitor=s;var p=function(e){var t=e.charging,n=e.charge;return(0,o.createFragment)([(0,o.createComponentVNode)(2,l.Icon,{width:"18px",textAlign:"center",name:0===t&&(n>50?"battery-half":"battery-quarter")||1===t&&"bolt"||2===t&&"battery-full",color:0===t&&(n>50?"yellow":"red")||1===t&&"yellow"||2===t&&"green"}),(0,o.createComponentVNode)(2,l.Box,{inline:!0,width:"36px",textAlign:"right",children:(0,i.toFixed)(n)+"%"})],4)};p.defaultHooks=c.pureComponentHooks;var m=function(e){var t=e.status,n=Boolean(2&t),r=Boolean(1&t),a=(n?"On":"Off")+" ["+(r?"auto":"manual")+"]";return(0,o.createComponentVNode)(2,l.ColorBox,{color:n?"good":"bad",content:r?undefined:"M",title:a})};m.defaultHooks=c.pureComponentHooks},function(e,t,n){"use strict";t.__esModule=!0,t.Radio=void 0;var o=n(1),r=n(24),a=n(18),i=n(3),c=n(2),l=n(37);t.Radio=function(e){var t=(0,i.useBackend)(e),n=t.act,u=t.data,d=u.freqlock,s=u.frequency,p=u.minFrequency,m=u.maxFrequency,f=u.listening,h=u.broadcasting,C=u.command,g=u.useCommand,b=u.subspace,v=u.subspaceSwitchable,N=l.RADIO_CHANNELS.find((function(e){return e.freq===s})),V=(0,r.map)((function(e,t){return{name:t,status:!!e}}))(u.channels);return(0,o.createComponentVNode)(2,c.Section,{children:(0,o.createComponentVNode)(2,c.LabeledList,{children:[(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:"Frequency",children:[d&&(0,o.createComponentVNode)(2,c.Box,{inline:!0,color:"light-gray",children:(0,a.toFixed)(s/10,1)+" kHz"})||(0,o.createComponentVNode)(2,c.NumberInput,{animate:!0,unit:"kHz",step:.2,stepPixelSize:10,minValue:p/10,maxValue:m/10,value:s/10,format:function(e){return(0,a.toFixed)(e,1)},onDrag:function(e,t){return n("frequency",{adjust:t-s/10})}}),N&&(0,o.createComponentVNode)(2,c.Box,{inline:!0,color:N.color,ml:2,children:["[",N.name,"]"]})]}),(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:"Audio",children:[(0,o.createComponentVNode)(2,c.Button,{textAlign:"center",width:"37px",icon:f?"volume-up":"volume-mute",selected:f,onClick:function(){return n("listen")}}),(0,o.createComponentVNode)(2,c.Button,{textAlign:"center",width:"37px",icon:h?"microphone":"microphone-slash",selected:h,onClick:function(){return n("broadcast")}}),!!C&&(0,o.createComponentVNode)(2,c.Button,{ml:1,icon:"bullhorn",selected:g,content:"High volume "+(g?"ON":"OFF"),onClick:function(){return n("command")}}),!!v&&(0,o.createComponentVNode)(2,c.Button,{ml:1,icon:"bullhorn",selected:b,content:"Subspace Tx "+(b?"ON":"OFF"),onClick:function(){return n("subspace")}})]}),!!b&&(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:"Channels",children:[0===V.length&&(0,o.createComponentVNode)(2,c.Box,{inline:!0,color:"bad",children:"No encryption keys installed."}),V.map((function(e){return(0,o.createComponentVNode)(2,c.Box,{children:(0,o.createComponentVNode)(2,c.Button,{icon:e.status?"check-square-o":"square-o",selected:e.status,content:e.name,onClick:function(){return n("channel",{channel:e.name})}})},e.name)}))]})]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.RapidPipeDispenser=void 0;var o=n(1),r=n(12),a=n(3),i=n(2),c=["Atmospherics","Disposals","Transit Tubes"],l={Atmospherics:"wrench",Disposals:"trash-alt","Transit Tubes":"bus",Pipes:"grip-lines","Disposal Pipes":"grip-lines",Devices:"microchip","Heat Exchange":"thermometer-half","Station Equipment":"microchip"},u={grey:"#bbbbbb",amethyst:"#a365ff",blue:"#4466ff",brown:"#b26438",cyan:"#48eae8",dark:"#808080",green:"#1edd00",orange:"#ffa030",purple:"#b535ea",red:"#ff3333",violet:"#6e00f6",yellow:"#ffce26"},d=[{name:"Dispense",bitmask:1},{name:"Connect",bitmask:2},{name:"Destroy",bitmask:4},{name:"Paint",bitmask:8}];t.RapidPipeDispenser=function(e){var t=(0,a.useBackend)(e),n=t.act,s=t.data,p=s.category,m=s.categories,f=void 0===m?[]:m,h=s.selected_color,C=s.piping_layer,g=s.mode,b=s.preview_rows.flatMap((function(e){return e.previews}));return(0,o.createFragment)([(0,o.createComponentVNode)(2,i.Section,{children:(0,o.createComponentVNode)(2,i.LabeledList,{children:[(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Category",children:c.map((function(e,t){return(0,o.createComponentVNode)(2,i.Button,{selected:p===t,icon:l[e],color:"transparent",content:e,onClick:function(){return n("category",{category:t})}},e)}))}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Modes",children:d.map((function(e){return(0,o.createComponentVNode)(2,i.Button.Checkbox,{checked:g&e.bitmask,content:e.name,onClick:function(){return n("mode",{mode:e.bitmask})}},e.bitmask)}))}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Color",children:[(0,o.createComponentVNode)(2,i.Box,{inline:!0,width:"64px",color:u[h],content:h}),Object.keys(u).map((function(e){return(0,o.createComponentVNode)(2,i.ColorBox,{ml:1,color:u[e],onClick:function(){return n("color",{paint_color:e})}},e)}))]})]})}),(0,o.createComponentVNode)(2,i.Flex,{m:-.5,children:[(0,o.createComponentVNode)(2,i.Flex.Item,{m:.5,children:(0,o.createComponentVNode)(2,i.Section,{children:[0===p&&(0,o.createComponentVNode)(2,i.Box,{mb:1,children:[1,2,3].map((function(e){return(0,o.createComponentVNode)(2,i.Button.Checkbox,{fluid:!0,checked:e===C,content:"Layer "+e,onClick:function(){return n("piping_layer",{piping_layer:e})}},e)}))}),(0,o.createComponentVNode)(2,i.Box,{width:"108px",children:b.map((function(e){return(0,o.createComponentVNode)(2,i.Button,{title:e.dir_name,selected:e.selected,style:{width:"48px",height:"48px",padding:0},onClick:function(){return n("setdir",{dir:e.dir,flipped:e.flipped})},children:(0,o.createComponentVNode)(2,i.Box,{className:(0,r.classes)(["pipes32x32",e.dir+"-"+e.icon_state]),style:{transform:"scale(1.5) translate(17%, 17%)"}})},e.dir)}))})]})}),(0,o.createComponentVNode)(2,i.Flex.Item,{m:.5,grow:1,children:(0,o.createComponentVNode)(2,i.Section,{children:(0,o.createComponentVNode)(2,i.Tabs,{children:f.map((function(e){return(0,o.createComponentVNode)(2,i.Tabs.Tab,{fluid:!0,icon:l[e.cat_name],label:e.cat_name,children:function(){return e.recipes.map((function(t){return(0,o.createComponentVNode)(2,i.Button.Checkbox,{fluid:!0,ellipsis:!0,checked:t.selected,content:t.pipe_name,title:t.pipe_name,onClick:function(){return n("pipe_type",{pipe_type:t.pipe_index,category:e.cat_name})}},t.pipe_index)}))}},e.cat_name)}))})})})]})],4)}},function(e,t,n){"use strict";t.__esModule=!0,t.SatelliteControl=void 0;var o=n(1),r=n(3),a=n(2),i=n(163);t.SatelliteControl=function(e){var t=(0,r.useBackend)(e),n=t.act,c=t.data,l=c.satellites||[];return(0,o.createFragment)([c.meteor_shield&&(0,o.createComponentVNode)(2,a.Section,{children:(0,o.createComponentVNode)(2,a.LabeledList,{children:(0,o.createComponentVNode)(2,i.LabeledListItem,{label:"Coverage",children:(0,o.createComponentVNode)(2,a.ProgressBar,{value:c.meteor_shield_coverage/c.meteor_shield_coverage_max,content:100*c.meteor_shield_coverage/c.meteor_shield_coverage_max+"%",ranges:{good:[1,Infinity],average:[.3,1],bad:[-Infinity,.3]}})})})}),(0,o.createComponentVNode)(2,a.Section,{title:"Satellite Controls",children:(0,o.createComponentVNode)(2,a.Box,{mr:-1,children:l.map((function(e){return(0,o.createComponentVNode)(2,a.Button.Checkbox,{checked:e.active,content:"#"+e.id+" "+e.mode,onClick:function(){return n("toggle",{id:e.id})}},e.id)}))})})],0)}},function(e,t,n){"use strict";t.__esModule=!0,t.ScannerGate=void 0;var o=n(1),r=n(3),a=n(2),i=n(69),c=["Positive","Harmless","Minor","Medium","Harmful","Dangerous","BIOHAZARD"],l=[{name:"Human",value:"human"},{name:"Lizardperson",value:"lizard"},{name:"Flyperson",value:"fly"},{name:"Felinid",value:"felinid"},{name:"Plasmaman",value:"plasma"},{name:"Mothperson",value:"moth"},{name:"Jellyperson",value:"jelly"},{name:"Podperson",value:"pod"},{name:"Golem",value:"golem"},{name:"Zombie",value:"zombie"}],u=[{name:"Starving",value:150},{name:"Obese",value:600}];t.ScannerGate=function(e){var t=e.state,n=(0,r.useBackend)(e),a=n.act,c=n.data;return(0,o.createFragment)([(0,o.createComponentVNode)(2,i.InterfaceLockNoticeBox,{locked:c.locked,onLockedStatusChange:function(){return a("toggle_lock")}}),!c.locked&&(0,o.createComponentVNode)(2,s,{state:t})],0)};var d={Off:{title:"Scanner Mode: Off",component:function(){return p}},Wanted:{title:"Scanner Mode: Wanted",component:function(){return m}},Guns:{title:"Scanner Mode: Guns",component:function(){return f}},Mindshield:{title:"Scanner Mode: Mindshield",component:function(){return h}},Disease:{title:"Scanner Mode: Disease",component:function(){return C}},Species:{title:"Scanner Mode: Species",component:function(){return g}},Nutrition:{title:"Scanner Mode: Nutrition",component:function(){return b}},Nanites:{title:"Scanner Mode: Nanites",component:function(){return v}}},s=function(e){var t=e.state,n=(0,r.useBackend)(e),i=n.act,c=n.data.scan_mode,l=d[c]||d.off,u=l.component();return(0,o.createComponentVNode)(2,a.Section,{title:l.title,buttons:"Off"!==c&&(0,o.createComponentVNode)(2,a.Button,{icon:"arrow-left",content:"back",onClick:function(){return i("set_mode",{new_mode:"Off"})}}),children:(0,o.createComponentVNode)(2,u,{state:t})})},p=function(e){var t=(0,r.useBackend)(e).act;return(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Box,{mb:2,children:"Select a scanning mode below."}),(0,o.createComponentVNode)(2,a.Box,{children:[(0,o.createComponentVNode)(2,a.Button,{content:"Wanted",onClick:function(){return t("set_mode",{new_mode:"Wanted"})}}),(0,o.createComponentVNode)(2,a.Button,{content:"Guns",onClick:function(){return t("set_mode",{new_mode:"Guns"})}}),(0,o.createComponentVNode)(2,a.Button,{content:"Mindshield",onClick:function(){return t("set_mode",{new_mode:"Mindshield"})}}),(0,o.createComponentVNode)(2,a.Button,{content:"Disease",onClick:function(){return t("set_mode",{new_mode:"Disease"})}}),(0,o.createComponentVNode)(2,a.Button,{content:"Species",onClick:function(){return t("set_mode",{new_mode:"Species"})}}),(0,o.createComponentVNode)(2,a.Button,{content:"Nutrition",onClick:function(){return t("set_mode",{new_mode:"Nutrition"})}}),(0,o.createComponentVNode)(2,a.Button,{content:"Nanites",onClick:function(){return t("set_mode",{new_mode:"Nanites"})}})]})],4)},m=function(e){var t=e.state,n=(0,r.useBackend)(e).data.reverse;return(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Box,{mb:2,children:["Trigger if the person scanned ",n?"does not have":"has"," ","any warrants for their arrest."]}),(0,o.createComponentVNode)(2,N,{state:t})],4)},f=function(e){var t=e.state,n=(0,r.useBackend)(e).data.reverse;return(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Box,{mb:2,children:["Trigger if the person scanned ",n?"does not have":"has"," ","any guns."]}),(0,o.createComponentVNode)(2,N,{state:t})],4)},h=function(e){var t=e.state,n=(0,r.useBackend)(e).data.reverse;return(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Box,{mb:2,children:["Trigger if the person scanned ",n?"does not have":"has"," ","a mindshield."]}),(0,o.createComponentVNode)(2,N,{state:t})],4)},C=function(e){var t=e.state,n=(0,r.useBackend)(e),i=n.act,l=n.data,u=l.reverse,d=l.disease_threshold;return(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Box,{mb:2,children:["Trigger if the person scanned ",u?"does not have":"has"," ","a disease equal or worse than ",d,"."]}),(0,o.createComponentVNode)(2,a.Box,{mb:2,children:c.map((function(e){return(0,o.createComponentVNode)(2,a.Button.Checkbox,{checked:e===d,content:e,onClick:function(){return i("set_disease_threshold",{new_threshold:e})}},e)}))}),(0,o.createComponentVNode)(2,N,{state:t})],4)},g=function(e){var t=e.state,n=(0,r.useBackend)(e),i=n.act,c=n.data,u=c.reverse,d=c.target_species,s=l.find((function(e){return e.value===d}));return(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Box,{mb:2,children:["Trigger if the person scanned is ",u?"not":""," ","of the ",s.name," species.","zombie"===d&&" All zombie types will be detected, including dormant zombies."]}),(0,o.createComponentVNode)(2,a.Box,{mb:2,children:l.map((function(e){return(0,o.createComponentVNode)(2,a.Button.Checkbox,{checked:e.value===d,content:e.name,onClick:function(){return i("set_target_species",{new_species:e.value})}},e.value)}))}),(0,o.createComponentVNode)(2,N,{state:t})],4)},b=function(e){var t=e.state,n=(0,r.useBackend)(e),i=n.act,c=n.data,l=c.reverse,d=c.target_nutrition,s=u.find((function(e){return e.value===d}));return(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Box,{mb:2,children:["Trigger if the person scanned ",l?"does not have":"has"," ","the ",s.name," nutrition level."]}),(0,o.createComponentVNode)(2,a.Box,{mb:2,children:u.map((function(e){return(0,o.createComponentVNode)(2,a.Button.Checkbox,{checked:e.value===d,content:e.name,onClick:function(){return i("set_target_nutrition",{new_nutrition:e.name})}},e.name)}))}),(0,o.createComponentVNode)(2,N,{state:t})],4)},v=function(e){var t=e.state,n=(0,r.useBackend)(e),i=n.act,c=n.data,l=c.reverse,u=c.nanite_cloud;return(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Box,{mb:2,children:["Trigger if the person scanned ",l?"does not have":"has"," ","nanite cloud ",u,"."]}),(0,o.createComponentVNode)(2,a.Box,{mb:2,children:(0,o.createComponentVNode)(2,a.LabeledList,{children:(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Cloud ID",children:(0,o.createComponentVNode)(2,a.NumberInput,{value:u,width:"65px",minValue:1,maxValue:100,stepPixelSize:2,onChange:function(e,t){return i("set_nanite_cloud",{new_cloud:t})}})})})}),(0,o.createComponentVNode)(2,N,{state:t})],4)},N=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data.reverse;return(0,o.createComponentVNode)(2,a.LabeledList,{children:(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Scanning Mode",children:(0,o.createComponentVNode)(2,a.Button,{content:i?"Inverted":"Default",icon:i?"random":"long-arrow-alt-right",onClick:function(){return n("toggle_reverse")},color:i?"bad":"good"})})})}},function(e,t,n){"use strict";t.__esModule=!0,t.ShuttleManipulator=void 0;var o=n(1),r=n(24),a=n(3),i=n(2);t.ShuttleManipulator=function(e){var t=(0,a.useBackend)(e),n=t.act,c=t.data,l=c.shuttles||[],u=c.templates||{},d=c.selected||{},s=c.existing_shuttle||{};return(0,o.createComponentVNode)(2,i.Tabs,{children:[(0,o.createComponentVNode)(2,i.Tabs.Tab,{label:"Status",children:function(){return(0,o.createComponentVNode)(2,i.Section,{children:(0,o.createComponentVNode)(2,i.Table,{children:l.map((function(e){return(0,o.createComponentVNode)(2,i.Table.Row,{children:[(0,o.createComponentVNode)(2,i.Table.Cell,{children:(0,o.createComponentVNode)(2,i.Button,{content:"JMP",onClick:function(){return n("jump_to",{type:"mobile",id:e.id})}},e.id)}),(0,o.createComponentVNode)(2,i.Table.Cell,{children:(0,o.createComponentVNode)(2,i.Button,{content:"Fly",disabled:!e.can_fly,onClick:function(){return n("fly",{id:e.id})}},e.id)}),(0,o.createComponentVNode)(2,i.Table.Cell,{children:e.name}),(0,o.createComponentVNode)(2,i.Table.Cell,{children:e.id}),(0,o.createComponentVNode)(2,i.Table.Cell,{children:e.status}),(0,o.createComponentVNode)(2,i.Table.Cell,{children:[e.mode,!!e.timer&&(0,o.createFragment)([(0,o.createTextVNode)("("),e.timeleft,(0,o.createTextVNode)(")"),(0,o.createComponentVNode)(2,i.Button,{content:"Fast Travel",disabled:!e.can_fast_travel,onClick:function(){return n("fast_travel",{id:e.id})}},e.id)],0)]})]},e.id)}))})})}},"status"),(0,o.createComponentVNode)(2,i.Tabs.Tab,{label:"Templates",children:function(){return(0,o.createComponentVNode)(2,i.Section,{children:(0,o.createComponentVNode)(2,i.Tabs,{children:(0,r.map)((function(e,t){var r=e.templates||[];return(0,o.createComponentVNode)(2,i.Tabs.Tab,{label:e.port_id,children:r.map((function(e){var t=e.shuttle_id===d.shuttle_id;return(0,o.createComponentVNode)(2,i.Section,{title:e.name,level:2,buttons:(0,o.createComponentVNode)(2,i.Button,{content:t?"Selected":"Select",selected:t,onClick:function(){return n("select_template",{shuttle_id:e.shuttle_id})}}),children:(!!e.description||!!e.admin_notes)&&(0,o.createComponentVNode)(2,i.LabeledList,{children:[!!e.description&&(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Description",children:e.description}),!!e.admin_notes&&(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Admin Notes",children:e.admin_notes})]})},e.shuttle_id)}))},t)}))(u)})})}},"templates"),(0,o.createComponentVNode)(2,i.Tabs.Tab,{label:"Modification",children:(0,o.createComponentVNode)(2,i.Section,{children:d?(0,o.createFragment)([(0,o.createComponentVNode)(2,i.Section,{level:2,title:d.name,children:(!!d.description||!!d.admin_notes)&&(0,o.createComponentVNode)(2,i.LabeledList,{children:[!!d.description&&(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Description",children:d.description}),!!d.admin_notes&&(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Admin Notes",children:d.admin_notes})]})}),s?(0,o.createComponentVNode)(2,i.Section,{level:2,title:"Existing Shuttle: "+s.name,children:(0,o.createComponentVNode)(2,i.LabeledList,{children:(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Status",buttons:(0,o.createComponentVNode)(2,i.Button,{content:"Jump To",onClick:function(){return n("jump_to",{type:"mobile",id:s.id})}}),children:[s.status,!!s.timer&&(0,o.createFragment)([(0,o.createTextVNode)("("),s.timeleft,(0,o.createTextVNode)(")")],0)]})})}):(0,o.createComponentVNode)(2,i.Section,{level:2,title:"Existing Shuttle: None"}),(0,o.createComponentVNode)(2,i.Section,{level:2,title:"Status",children:[(0,o.createComponentVNode)(2,i.Button,{content:"Preview",onClick:function(){return n("preview",{shuttle_id:d.shuttle_id})}}),(0,o.createComponentVNode)(2,i.Button,{content:"Load",color:"bad",onClick:function(){return n("load",{shuttle_id:d.shuttle_id})}})]})],0):"No shuttle selected"})},"modification")]})}},function(e,t,n){"use strict";t.__esModule=!0,t.Sleeper=void 0;var o=n(1),r=n(3),a=n(2);t.Sleeper=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data,c=i.occupied,l=i.open,u=i.occupant,d=void 0===u?[]:u,s=(i.chems||[]).sort((function(e,t){var n=e.name.toLowerCase(),o=t.name.toLowerCase();return no?1:0})),p=(i.synthchems||[]).sort((function(e,t){var n=e.name.toLowerCase(),o=t.name.toLowerCase();return no?1:0}));return(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Section,{title:d.name?d.name:"No Occupant",minHeight:"210px",buttons:!!d.stat&&(0,o.createComponentVNode)(2,a.Box,{inline:!0,bold:!0,color:d.statstate,children:d.stat}),children:!!c&&(0,o.createFragment)([(0,o.createComponentVNode)(2,a.ProgressBar,{value:d.health,minValue:d.minHealth,maxValue:d.maxHealth,ranges:{good:[50,Infinity],average:[0,50],bad:[-Infinity,0]}}),(0,o.createComponentVNode)(2,a.Box,{mt:1}),(0,o.createComponentVNode)(2,a.LabeledList,{children:[[{label:"Brute",type:"bruteLoss"},{label:"Burn",type:"fireLoss"},{label:"Toxin",type:"toxLoss"},{label:"Oxygen",type:"oxyLoss"}].map((function(e){return(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:e.label,children:(0,o.createComponentVNode)(2,a.ProgressBar,{value:d[e.type],minValue:0,maxValue:d.maxHealth,color:"bad"})},e.type)})),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Blood",children:[(0,o.createComponentVNode)(2,a.ProgressBar,{value:i.blood_levels/100,color:"bad",children:(0,o.createComponentVNode)(2,a.AnimatedNumber,{value:i.blood_levels})}),i.blood_status]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Cells",color:d.cloneLoss?"bad":"good",children:d.cloneLoss?"Damaged":"Healthy"}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Brain",color:d.brainLoss?"bad":"good",children:d.brainLoss?"Abnormal":"Healthy"})]})],4)}),(0,o.createComponentVNode)(2,a.Section,{title:"Chemical Analysis",children:(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Chemical Contents",children:i.chemical_list.map((function(e){return(0,o.createComponentVNode)(2,a.Box,{color:"good",children:[e.volume," units of ",e.name]},e.id)}))})}),(0,o.createComponentVNode)(2,a.Section,{title:"Inject Chemicals",minHeight:"105px",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:l?"door-open":"door-closed",content:l?"Open":"Closed",onClick:function(){return n("door")}}),children:s.map((function(e){return(0,o.createComponentVNode)(2,a.Button,{icon:"flask",content:e.name,disabled:!(c&&e.allowed),width:"140px",onClick:function(){return n("inject",{chem:e.id})}},e.name)}))}),(0,o.createComponentVNode)(2,a.Section,{title:"Synthesize Chemicals",children:p.map((function(e){return(0,o.createComponentVNode)(2,a.Button,{content:e.name,width:"140px",onClick:function(){return n("synth",{chem:e.id})}},e.name)}))}),(0,o.createComponentVNode)(2,a.Section,{title:"Purge Chemicals",children:s.map((function(e){return(0,o.createComponentVNode)(2,a.Button,{content:e.name,disabled:!e.allowed,width:"140px",onClick:function(){return n("purge",{chem:e.id})}},e.name)}))})],4)}},function(e,t,n){"use strict";t.__esModule=!0,t.SlimeBodySwapper=t.BodyEntry=void 0;var o=n(1),r=n(3),a=n(2),i=function(e){var t=e.body,n=e.swapFunc;return(0,o.createComponentVNode)(2,a.Section,{title:(0,o.createComponentVNode)(2,a.Box,{inline:!0,color:t.htmlcolor,children:t.name}),level:2,buttons:(0,o.createComponentVNode)(2,a.Button,{content:{owner:"You Are Here",stranger:"Occupied",available:"Swap"}[t.occupied],selected:"owner"===t.occupied,color:"stranger"===t.occupied&&"bad",onClick:function(){return n()}}),children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Status",bold:!0,color:{Dead:"bad",Unconscious:"average",Conscious:"good"}[t.status],children:t.status}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Jelly",children:t.exoticblood}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Location",children:t.area})]})})};t.BodyEntry=i;t.SlimeBodySwapper=function(e){var t=(0,r.useBackend)(e),n=t.act,c=t.data.bodies,l=void 0===c?[]:c;return(0,o.createComponentVNode)(2,a.Section,{children:l.map((function(e){return(0,o.createComponentVNode)(2,i,{body:e,swapFunc:function(){return n("swap",{ref:e.ref})}},e.name)}))})}},function(e,t,n){"use strict";t.__esModule=!0,t.Signaler=void 0;var o=n(1),r=n(2),a=n(3),i=n(18);t.Signaler=function(e){var t=(0,a.useBackend)(e),n=t.act,c=t.data,l=c.code,u=c.frequency,d=c.minFrequency,s=c.maxFrequency;return(0,o.createComponentVNode)(2,r.Section,{children:[(0,o.createComponentVNode)(2,r.Grid,{children:[(0,o.createComponentVNode)(2,r.Grid.Column,{size:1.4,color:"label",children:"Frequency:"}),(0,o.createComponentVNode)(2,r.Grid.Column,{children:(0,o.createComponentVNode)(2,r.NumberInput,{animate:!0,unit:"kHz",step:.2,stepPixelSize:6,minValue:d/10,maxValue:s/10,value:u/10,format:function(e){return(0,i.toFixed)(e,1)},width:13,onDrag:function(e,t){return n("freq",{freq:t})}})}),(0,o.createComponentVNode)(2,r.Grid.Column,{children:(0,o.createComponentVNode)(2,r.Button,{ml:1.3,icon:"sync",content:"Reset",onClick:function(){return n("reset",{reset:"freq"})}})})]}),(0,o.createComponentVNode)(2,r.Grid,{mt:.6,children:[(0,o.createComponentVNode)(2,r.Grid.Column,{size:1.4,color:"label",children:"Code:"}),(0,o.createComponentVNode)(2,r.Grid.Column,{children:(0,o.createComponentVNode)(2,r.NumberInput,{animate:!0,step:1,stepPixelSize:6,minValue:1,maxValue:100,value:l,width:13,onDrag:function(e,t){return n("code",{code:t})}})}),(0,o.createComponentVNode)(2,r.Grid.Column,{children:(0,o.createComponentVNode)(2,r.Button,{ml:1.3,icon:"sync",content:"Reset",onClick:function(){return n("reset",{reset:"code"})}})})]}),(0,o.createComponentVNode)(2,r.Grid,{mt:.8,children:(0,o.createComponentVNode)(2,r.Grid.Column,{children:(0,o.createComponentVNode)(2,r.Button,{mb:-.1,fluid:!0,icon:"arrow-up",content:"Send Signal",textAlign:"center",onClick:function(){return n("signal")}})})})]})}},function(e,t,n){"use strict";t.__esModule=!0,t.SmartVend=void 0;var o=n(1),r=n(24),a=n(3),i=n(2);t.SmartVend=function(e){var t=(0,a.useBackend)(e),n=t.act,c=t.data;return(0,o.createComponentVNode)(2,i.Section,{title:"Storage",buttons:!!c.isdryer&&(0,o.createComponentVNode)(2,i.Button,{icon:c.drying?"stop":"tint",onClick:function(){return n("Dry")},children:c.drying?"Stop drying":"Dry"}),children:0===c.contents.length&&(0,o.createComponentVNode)(2,i.NoticeBox,{children:["Unfortunately, this ",c.name," is empty."]})||(0,o.createComponentVNode)(2,i.Table,{children:[(0,o.createComponentVNode)(2,i.Table.Row,{header:!0,children:[(0,o.createComponentVNode)(2,i.Table.Cell,{children:"Item"}),(0,o.createComponentVNode)(2,i.Table.Cell,{collapsing:!0}),(0,o.createComponentVNode)(2,i.Table.Cell,{collapsing:!0,textAlign:"center",children:c.verb?c.verb:"Dispense"})]}),(0,r.map)((function(e,t){return(0,o.createComponentVNode)(2,i.Table.Row,{children:[(0,o.createComponentVNode)(2,i.Table.Cell,{children:e.name}),(0,o.createComponentVNode)(2,i.Table.Cell,{collapsing:!0,textAlign:"right",children:e.amount}),(0,o.createComponentVNode)(2,i.Table.Cell,{collapsing:!0,children:[(0,o.createComponentVNode)(2,i.Button,{content:"One",disabled:e.amount<1,onClick:function(){return n("Release",{name:e.name,amount:1})}}),(0,o.createComponentVNode)(2,i.Button,{content:"Many",disabled:e.amount<=1,onClick:function(){return n("Release",{name:e.name})}})]})]},t)}))(c.contents)]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.Smes=void 0;var o=n(1),r=n(3),a=n(2);t.Smes=function(e){var t,n,i=(0,r.useBackend)(e),c=i.act,l=i.data;return t=l.capacityPercent>=100?"good":l.inputting?"average":"bad",n=l.outputting?"good":l.charge>0?"average":"bad",(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Section,{title:"Stored Energy",children:(0,o.createComponentVNode)(2,a.ProgressBar,{value:.01*l.capacityPercent,ranges:{good:[.5,Infinity],average:[.15,.5],bad:[-Infinity,.15]}})}),(0,o.createComponentVNode)(2,a.Section,{title:"Input",children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Charge Mode",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:l.inputAttempt?"sync-alt":"times",selected:l.inputAttempt,onClick:function(){return c("tryinput")},children:l.inputAttempt?"Auto":"Off"}),children:(0,o.createComponentVNode)(2,a.Box,{color:t,children:l.capacityPercent>=100?"Fully Charged":l.inputting?"Charging":"Not Charging"})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Target Input",children:(0,o.createComponentVNode)(2,a.ProgressBar,{value:l.inputLevel/l.inputLevelMax,content:l.inputLevel_text})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Adjust Input",children:[(0,o.createComponentVNode)(2,a.Button,{icon:"fast-backward",disabled:0===l.inputLevel,onClick:function(){return c("input",{target:"min"})}}),(0,o.createComponentVNode)(2,a.Button,{icon:"backward",disabled:0===l.inputLevel,onClick:function(){return c("input",{adjust:-1e4})}}),(0,o.createComponentVNode)(2,a.NumberInput,{value:Math.round(l.inputLevel/1e3),unit:"kW",width:"65px",minValue:0,maxValue:l.inputLevelMax/1e3,onChange:function(e,t){return c("input",{target:1e3*t})}}),(0,o.createComponentVNode)(2,a.Button,{icon:"forward",disabled:l.inputLevel===l.inputLevelMax,onClick:function(){return c("input",{adjust:1e4})}}),(0,o.createComponentVNode)(2,a.Button,{icon:"fast-forward",disabled:l.inputLevel===l.inputLevelMax,onClick:function(){return c("input",{target:"max"})}})]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Available",children:l.inputAvailable})]})}),(0,o.createComponentVNode)(2,a.Section,{title:"Output",children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Output Mode",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:l.outputAttempt?"power-off":"times",selected:l.outputAttempt,onClick:function(){return c("tryoutput")},children:l.outputAttempt?"On":"Off"}),children:(0,o.createComponentVNode)(2,a.Box,{color:n,children:l.outputting?"Sending":l.charge>0?"Not Sending":"No Charge"})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Target Output",children:(0,o.createComponentVNode)(2,a.ProgressBar,{value:l.outputLevel/l.outputLevelMax,content:l.outputLevel_text})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Adjust Output",children:[(0,o.createComponentVNode)(2,a.Button,{icon:"fast-backward",disabled:0===l.outputLevel,onClick:function(){return c("output",{target:"min"})}}),(0,o.createComponentVNode)(2,a.Button,{icon:"backward",disabled:0===l.outputLevel,onClick:function(){return c("output",{adjust:-1e4})}}),(0,o.createComponentVNode)(2,a.NumberInput,{value:Math.round(l.outputLevel/1e3),unit:"kW",width:"65px",minValue:0,maxValue:l.outputLevelMax/1e3,onChange:function(e,t){return c("output",{target:1e3*t})}}),(0,o.createComponentVNode)(2,a.Button,{icon:"forward",disabled:l.outputLevel===l.outputLevelMax,onClick:function(){return c("output",{adjust:1e4})}}),(0,o.createComponentVNode)(2,a.Button,{icon:"fast-forward",disabled:l.outputLevel===l.outputLevelMax,onClick:function(){return c("output",{target:"max"})}})]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Outputting",children:l.outputUsed})]})})],4)}},function(e,t,n){"use strict";t.__esModule=!0,t.SmokeMachine=void 0;var o=n(1),r=n(3),a=n(2);t.SmokeMachine=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data,c=i.TankContents,l=(i.isTankLoaded,i.TankCurrentVolume),u=i.TankMaxVolume,d=i.active,s=i.setting,p=(i.screen,i.maxSetting),m=void 0===p?[]:p;return(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Section,{title:"Dispersal Tank",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:d?"power-off":"times",selected:d,content:d?"On":"Off",onClick:function(){return n("power")}}),children:[(0,o.createComponentVNode)(2,a.ProgressBar,{value:l/u,ranges:{bad:[-Infinity,.3]},children:[(0,o.createComponentVNode)(2,a.AnimatedNumber,{initial:0,value:l||0})," / "+u]}),(0,o.createComponentVNode)(2,a.Box,{mt:1,children:(0,o.createComponentVNode)(2,a.LabeledList,{children:(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Range",children:[1,2,3,4,5].map((function(e){return(0,o.createComponentVNode)(2,a.Button,{selected:s===e,icon:"plus",content:3*e,disabled:m0?"good":"bad",children:m})]})}),(0,o.createComponentVNode)(2,a.Grid.Column,{size:1.5,children:(0,o.createComponentVNode)(2,a.LabeledList,{children:(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Power output",children:(0,o.createComponentVNode)(2,a.ProgressBar,{ranges:{good:[.66,Infinity],average:[.33,.66],bad:[-Infinity,.33]},minValue:0,maxValue:1,value:l,content:c+" W"})})})})]})}),(0,o.createComponentVNode)(2,a.Section,{title:"Controls",children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Tracking",children:[(0,o.createComponentVNode)(2,a.Button,{icon:"times",content:"Off",selected:0===p,onClick:function(){return n("tracking",{mode:0})}}),(0,o.createComponentVNode)(2,a.Button,{icon:"clock-o",content:"Timed",selected:1===p,onClick:function(){return n("tracking",{mode:1})}}),(0,o.createComponentVNode)(2,a.Button,{icon:"sync",content:"Auto",selected:2===p,disabled:!f,onClick:function(){return n("tracking",{mode:2})}})]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Azimuth",children:[(0===p||1===p)&&(0,o.createComponentVNode)(2,a.NumberInput,{width:"52px",unit:"\xb0",step:1,stepPixelSize:2,minValue:-360,maxValue:720,value:u,onDrag:function(e,t){return n("azimuth",{value:t})}}),1===p&&(0,o.createComponentVNode)(2,a.NumberInput,{width:"80px",unit:"\xb0/m",step:.01,stepPixelSize:1,minValue:-s-.01,maxValue:s+.01,value:d,format:function(e){return(Math.sign(e)>0?"+":"-")+Math.abs(e)},onDrag:function(e,t){return n("azimuth_rate",{value:t})}}),2===p&&(0,o.createComponentVNode)(2,a.Box,{inline:!0,color:"label",mt:"3px",children:[u+" \xb0"," (auto)"]})]})]})})],4)}},function(e,t,n){"use strict";t.__esModule=!0,t.SpaceHeater=void 0;var o=n(1),r=n(3),a=n(2);t.SpaceHeater=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data;return(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Section,{title:"Power",buttons:(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Button,{icon:"eject",content:"Eject Cell",disabled:!i.hasPowercell||!i.open,onClick:function(){return n("eject")}}),(0,o.createComponentVNode)(2,a.Button,{icon:i.on?"power-off":"times",content:i.on?"On":"Off",selected:i.on,disabled:!i.hasPowercell,onClick:function(){return n("power")}})],4),children:(0,o.createComponentVNode)(2,a.LabeledList,{children:(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Cell",color:!i.hasPowercell&&"bad",children:i.hasPowercell&&(0,o.createComponentVNode)(2,a.ProgressBar,{value:i.powerLevel/100,content:i.powerLevel+"%",ranges:{good:[.6,Infinity],average:[.3,.6],bad:[-Infinity,.3]}})||"None"})})}),(0,o.createComponentVNode)(2,a.Section,{title:"Thermostat",children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Current Temperature",children:(0,o.createComponentVNode)(2,a.Box,{fontSize:"18px",color:Math.abs(i.targetTemp-i.currentTemp)>50?"bad":Math.abs(i.targetTemp-i.currentTemp)>20?"average":"good",children:[i.currentTemp,"\xb0C"]})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Target Temperature",children:i.open&&(0,o.createComponentVNode)(2,a.NumberInput,{animated:!0,value:parseFloat(i.targetTemp),width:"65px",unit:"\xb0C",minValue:i.minTemp,maxValue:i.maxTemp,onChange:function(e,t){return n("target",{target:t})}})||i.targetTemp+"\xb0C"}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Mode",children:i.open?(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Button,{icon:"thermometer-half",content:"Auto",selected:"auto"===i.mode,onClick:function(){return n("mode",{mode:"auto"})}}),(0,o.createComponentVNode)(2,a.Button,{icon:"fire-alt",content:"Heat",selected:"heat"===i.mode,onClick:function(){return n("mode",{mode:"heat"})}}),(0,o.createComponentVNode)(2,a.Button,{icon:"fan",content:"Cool",selected:"cool"===i.mode,onClick:function(){return n("mode",{mode:"cool"})}})],4):"Auto"}),(0,o.createComponentVNode)(2,a.LabeledList.Divider)]})})],4)}},function(e,t,n){"use strict";t.__esModule=!0,t.SpawnersMenu=void 0;var o=n(1),r=n(3),a=n(2);t.SpawnersMenu=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data.spawners||[];return(0,o.createComponentVNode)(2,a.Section,{children:i.map((function(e){return(0,o.createComponentVNode)(2,a.Section,{title:e.name+" ("+e.amount_left+" left)",level:2,buttons:(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Button,{content:"Jump",onClick:function(){return n("jump",{name:e.name})}}),(0,o.createComponentVNode)(2,a.Button,{content:"Spawn",onClick:function(){return n("spawn",{name:e.name})}})],4),children:[(0,o.createComponentVNode)(2,a.Box,{bold:!0,mb:1,fontSize:"20px",children:e.short_desc}),(0,o.createComponentVNode)(2,a.Box,{children:e.flavor_text}),!!e.important_info&&(0,o.createComponentVNode)(2,a.Box,{mt:1,bold:!0,color:"bad",fontSize:"26px",children:e.important_info})]},e.name)}))})}},function(e,t,n){"use strict";t.__esModule=!0,t.StationAlertConsole=void 0;var o=n(1),r=n(3),a=n(2);t.StationAlertConsole=function(e){var t=(0,r.useBackend)(e).data.alarms||[],n=t.Fire||[],i=t.Atmosphere||[],c=t.Power||[];return(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Section,{title:"Fire Alarms",children:(0,o.createVNode)(1,"ul",null,[0===n.length&&(0,o.createVNode)(1,"li","color-good","Systems Nominal",16),n.map((function(e){return(0,o.createVNode)(1,"li","color-average",e,0,null,e)}))],0)}),(0,o.createComponentVNode)(2,a.Section,{title:"Atmospherics Alarms",children:(0,o.createVNode)(1,"ul",null,[0===i.length&&(0,o.createVNode)(1,"li","color-good","Systems Nominal",16),i.map((function(e){return(0,o.createVNode)(1,"li","color-average",e,0,null,e)}))],0)}),(0,o.createComponentVNode)(2,a.Section,{title:"Power Alarms",children:(0,o.createVNode)(1,"ul",null,[0===c.length&&(0,o.createVNode)(1,"li","color-good","Systems Nominal",16),c.map((function(e){return(0,o.createVNode)(1,"li","color-average",e,0,null,e)}))],0)})],4)}},function(e,t,n){"use strict";t.__esModule=!0,t.SuitStorageUnit=void 0;var o=n(1),r=n(3),a=n(2);t.SuitStorageUnit=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data,c=i.locked,l=i.open,u=i.safeties,d=i.uv_active,s=i.occupied,p=i.suit,m=i.helmet,f=i.mask,h=i.storage;return(0,o.createFragment)([!(!s||!u)&&(0,o.createComponentVNode)(2,a.NoticeBox,{children:"Biological entity detected in suit chamber. Please remove before continuing with operation."}),d&&(0,o.createComponentVNode)(2,a.NoticeBox,{children:"Contents are currently being decontaminated. Please wait."})||(0,o.createComponentVNode)(2,a.Section,{title:"Storage",minHeight:"260px",buttons:(0,o.createFragment)([!l&&(0,o.createComponentVNode)(2,a.Button,{icon:c?"unlock":"lock",content:c?"Unlock":"Lock",onClick:function(){return n("lock")}}),!c&&(0,o.createComponentVNode)(2,a.Button,{icon:l?"sign-out-alt":"sign-in-alt",content:l?"Close":"Open",onClick:function(){return n("door")}})],0),children:c&&(0,o.createComponentVNode)(2,a.Box,{mt:6,bold:!0,textAlign:"center",fontSize:"40px",children:[(0,o.createComponentVNode)(2,a.Box,{children:"Unit Locked"}),(0,o.createComponentVNode)(2,a.Icon,{name:"lock"})]})||l&&(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Helmet",children:(0,o.createComponentVNode)(2,a.Button,{icon:m?"square":"square-o",content:m||"Empty",disabled:!m,onClick:function(){return n("dispense",{item:"helmet"})}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Suit",children:(0,o.createComponentVNode)(2,a.Button,{icon:p?"square":"square-o",content:p||"Empty",disabled:!p,onClick:function(){return n("dispense",{item:"suit"})}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Mask",children:(0,o.createComponentVNode)(2,a.Button,{icon:f?"square":"square-o",content:f||"Empty",disabled:!f,onClick:function(){return n("dispense",{item:"mask"})}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Storage",children:(0,o.createComponentVNode)(2,a.Button,{icon:h?"square":"square-o",content:h||"Empty",disabled:!h,onClick:function(){return n("dispense",{item:"storage"})}})})]})||(0,o.createComponentVNode)(2,a.Button,{fluid:!0,icon:"recycle",content:"Decontaminate",disabled:s&&u,textAlign:"center",onClick:function(){return n("uv")}})})],0)}},function(e,t,n){"use strict";t.__esModule=!0,t.Tank=void 0;var o=n(1),r=n(3),a=n(2);t.Tank=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data;return(0,o.createComponentVNode)(2,a.Section,{children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Pressure",children:(0,o.createComponentVNode)(2,a.ProgressBar,{value:i.tankPressure/1013,content:i.tankPressure+" kPa",ranges:{good:[.35,Infinity],average:[.15,.35],bad:[-Infinity,.15]}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Pressure Regulator",children:[(0,o.createComponentVNode)(2,a.Button,{icon:"fast-backward",disabled:i.ReleasePressure===i.minReleasePressure,onClick:function(){return n("pressure",{pressure:"min"})}}),(0,o.createComponentVNode)(2,a.NumberInput,{animated:!0,value:parseFloat(i.releasePressure),width:"65px",unit:"kPa",minValue:i.minReleasePressure,maxValue:i.maxReleasePressure,onChange:function(e,t){return n("pressure",{pressure:t})}}),(0,o.createComponentVNode)(2,a.Button,{icon:"fast-forward",disabled:i.ReleasePressure===i.maxReleasePressure,onClick:function(){return n("pressure",{pressure:"max"})}}),(0,o.createComponentVNode)(2,a.Button,{icon:"undo",content:"",disabled:i.ReleasePressure===i.defaultReleasePressure,onClick:function(){return n("pressure",{pressure:"reset"})}})]})]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.TankDispenser=void 0;var o=n(1),r=n(3),a=n(2);t.TankDispenser=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data;return(0,o.createComponentVNode)(2,a.Section,{children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Plasma",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:i.plasma?"square":"square-o",content:"Dispense",disabled:!i.plasma,onClick:function(){return n("plasma")}}),children:i.plasma}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Oxygen",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:i.oxygen?"square":"square-o",content:"Dispense",disabled:!i.oxygen,onClick:function(){return n("oxygen")}}),children:i.oxygen})]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.Teleporter=void 0;var o=n(1),r=n(3),a=n(2);t.Teleporter=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data,c=i.calibrated,l=i.calibrating,u=i.power_station,d=i.regime_set,s=i.teleporter_hub,p=i.target;return(0,o.createComponentVNode)(2,a.Section,{children:!u&&(0,o.createComponentVNode)(2,a.Box,{color:"bad",textAlign:"center",children:"No power station linked."})||!s&&(0,o.createComponentVNode)(2,a.Box,{color:"bad",textAlign:"center",children:"No hub linked."})||(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Current Regime",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:"tools",content:"Change Regime",onClick:function(){return n("regimeset")}}),children:d}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Current Target",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:"tools",content:"Set Target",onClick:function(){return n("settarget")}}),children:p}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Calibration",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:"tools",content:"Calibrate Hub",onClick:function(){return n("calibrate")}}),children:l&&(0,o.createComponentVNode)(2,a.Box,{color:"average",children:"In Progress"})||c&&(0,o.createComponentVNode)(2,a.Box,{color:"good",children:"Optimal"})||(0,o.createComponentVNode)(2,a.Box,{color:"bad",children:"Sub-Optimal"})})]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.ThermoMachine=void 0;var o=n(1),r=n(18),a=n(3),i=n(2);t.ThermoMachine=function(e){var t=(0,a.useBackend)(e),n=t.act,c=t.data;return(0,o.createFragment)([(0,o.createComponentVNode)(2,i.Section,{title:"Status",children:(0,o.createComponentVNode)(2,i.LabeledList,{children:[(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Temperature",children:[(0,o.createComponentVNode)(2,i.AnimatedNumber,{value:c.temperature,format:function(e){return(0,r.toFixed)(e,2)}})," K"]}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Pressure",children:[(0,o.createComponentVNode)(2,i.AnimatedNumber,{value:c.pressure,format:function(e){return(0,r.toFixed)(e,2)}})," kPa"]})]})}),(0,o.createComponentVNode)(2,i.Section,{title:"Controls",buttons:(0,o.createComponentVNode)(2,i.Button,{icon:c.on?"power-off":"times",content:c.on?"On":"Off",selected:c.on,onClick:function(){return n("power")}}),children:(0,o.createComponentVNode)(2,i.LabeledList,{children:[(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Target Temperature",children:(0,o.createComponentVNode)(2,i.NumberInput,{animated:!0,value:Math.round(c.target),unit:"K",width:"62px",minValue:Math.round(c.min),maxValue:Math.round(c.max),step:5,stepPixelSize:3,onDrag:function(e,t){return n("target",{target:t})}})}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Presets",children:[(0,o.createComponentVNode)(2,i.Button,{icon:"fast-backward",disabled:c.target===c.min,title:"Minimum temperature",onClick:function(){return n("target",{target:c.min})}}),(0,o.createComponentVNode)(2,i.Button,{icon:"sync",disabled:c.target===c.initial,title:"Room Temperature",onClick:function(){return n("target",{target:c.initial})}}),(0,o.createComponentVNode)(2,i.Button,{icon:"fast-forward",disabled:c.target===c.max,title:"Maximum Temperature",onClick:function(){return n("target",{target:c.max})}})]})]})})],4)}},function(e,t,n){"use strict";t.__esModule=!0,t.TurbineComputer=void 0;var o=n(1),r=n(3),a=n(2);t.TurbineComputer=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data,c=Boolean(i.compressor&&!i.compressor_broke&&i.turbine&&!i.turbine_broke);return(0,o.createComponentVNode)(2,a.Section,{title:"Status",buttons:(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Button,{icon:i.online?"power-off":"times",content:i.online?"Online":"Offline",selected:i.online,disabled:!c,onClick:function(){return n("toggle_power")}}),(0,o.createComponentVNode)(2,a.Button,{icon:"sync",content:"Reconnect",onClick:function(){return n("reconnect")}})],4),children:!c&&(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Compressor Status",color:!i.compressor||i.compressor_broke?"bad":"good",children:i.compressor_broke?i.compressor?"Offline":"Missing":"Online"}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Turbine Status",color:!i.turbine||i.turbine_broke?"bad":"good",children:i.turbine_broke?i.turbine?"Offline":"Missing":"Online"})]})||(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Turbine Speed",children:[i.rpm," RPM"]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Internal Temp",children:[i.temp," K"]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Generated Power",children:i.power})]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.Uplink=void 0;var o=n(1),r=n(23),a=n(16),i=n(2);var c=function(e){var t,n;function r(){var t;return(t=e.call(this)||this).state={hoveredItem:{},currentSearch:""},t}n=e,(t=r).prototype=Object.create(n.prototype),t.prototype.constructor=t,t.__proto__=n;var c=r.prototype;return c.setHoveredItem=function(e){this.setState({hoveredItem:e})},c.setSearchText=function(e){this.setState({currentSearch:e})},c.render=function(){var e=this,t=this.props.state,n=t.config,r=t.data,c=n.ref,u=r.compact_mode,d=r.lockable,s=r.telecrystals,p=r.categories,m=void 0===p?[]:p,f=this.state,h=f.hoveredItem,C=f.currentSearch;return(0,o.createComponentVNode)(2,i.Section,{title:(0,o.createComponentVNode)(2,i.Box,{inline:!0,color:s>0?"good":"bad",children:[s," TC"]}),buttons:(0,o.createFragment)([(0,o.createTextVNode)("Search"),(0,o.createComponentVNode)(2,i.Input,{value:C,onInput:function(t,n){return e.setSearchText(n)},ml:1,mr:1}),(0,o.createComponentVNode)(2,i.Button,{icon:u?"list":"info",content:u?"Compact":"Detailed",onClick:function(){return(0,a.act)(c,"compact_toggle")}}),!!d&&(0,o.createComponentVNode)(2,i.Button,{icon:"lock",content:"Lock",onClick:function(){return(0,a.act)(c,"lock")}})],0),children:C.length>0?(0,o.createVNode)(1,"table","Table",(0,o.createComponentVNode)(2,l,{compact:!0,items:m.flatMap((function(e){return e.items||[]})).filter((function(e){var t=C.toLowerCase();return String(e.name+e.desc).toLowerCase().includes(t)})),hoveredItem:h,onBuyMouseOver:function(t){return e.setHoveredItem(t)},onBuyMouseOut:function(t){return e.setHoveredItem({})},onBuy:function(e){return(0,a.act)(c,"buy",{item:e.name})}}),2):(0,o.createComponentVNode)(2,i.Tabs,{vertical:!0,children:m.map((function(t){var n=t.name,r=t.items;if(null!==r)return(0,o.createComponentVNode)(2,i.Tabs.Tab,{label:n+" ("+r.length+")",children:function(){return(0,o.createComponentVNode)(2,l,{compact:u,items:r,hoveredItem:h,telecrystals:s,onBuyMouseOver:function(t){return e.setHoveredItem(t)},onBuyMouseOut:function(t){return e.setHoveredItem({})},onBuy:function(e){return(0,a.act)(c,"buy",{item:e.name})}})}},n)}))})})},r}(o.Component);t.Uplink=c;var l=function(e){var t=e.items,n=e.hoveredItem,a=e.telecrystals,c=e.compact,l=e.onBuy,u=e.onBuyMouseOver,d=e.onBuyMouseOut,s=n&&n.cost||0;return c?(0,o.createComponentVNode)(2,i.Table,{children:t.map((function(e){var t=n&&n.name!==e.name,c=a-s1?r-1:0),i=1;i1?t-1:0),o=1;o0?"good":"bad",content:i>0?"Earned "+i+" times":"Locked"})],0,{style:{"vertical-align":"top"}})],4,null,t)};t.Score=c;t.Achievements=function(e){var t=(0,r.useBackend)(e).data;return(0,o.createComponentVNode)(2,a.Tabs,{children:[t.categories.map((function(e){return(0,o.createComponentVNode)(2,a.Tabs.Tab,{label:e,children:(0,o.createComponentVNode)(2,a.Box,{as:"Table",children:t.achievements.filter((function(t){return t.category===e})).map((function(e){return e.score?(0,o.createComponentVNode)(2,c,{name:e.name,desc:e.desc,icon_class:e.icon_class,value:e.value},e.name):(0,o.createComponentVNode)(2,i,{name:e.name,desc:e.desc,icon_class:e.icon_class,value:e.value},e.name)}))})},e)})),(0,o.createComponentVNode)(2,a.Tabs.Tab,{label:"High Scores",children:(0,o.createComponentVNode)(2,a.Tabs,{vertical:!0,children:t.highscore.map((function(e){return(0,o.createComponentVNode)(2,a.Tabs.Tab,{label:e.name,children:(0,o.createComponentVNode)(2,a.Table,{children:[(0,o.createComponentVNode)(2,a.Table.Row,{className:"candystripe",children:[(0,o.createComponentVNode)(2,a.Table.Cell,{color:"label",textAlign:"center",children:"#"}),(0,o.createComponentVNode)(2,a.Table.Cell,{color:"label",textAlign:"center",children:"Key"}),(0,o.createComponentVNode)(2,a.Table.Cell,{color:"label",textAlign:"center",children:"Score"})]}),Object.keys(e.scores).map((function(n,r){return(0,o.createComponentVNode)(2,a.Table.Row,{className:"candystripe",m:2,children:[(0,o.createComponentVNode)(2,a.Table.Cell,{color:"label",textAlign:"center",children:r+1}),(0,o.createComponentVNode)(2,a.Table.Cell,{color:n===t.user_ckey&&"green",textAlign:"center",children:[0===r&&(0,o.createComponentVNode)(2,a.Icon,{name:"crown",color:"gold",mr:2}),n,0===r&&(0,o.createComponentVNode)(2,a.Icon,{name:"crown",color:"gold",ml:2})]}),(0,o.createComponentVNode)(2,a.Table.Cell,{textAlign:"center",children:e.scores[n]})]},n)}))]})},e.name)}))})})]})}},function(e,t,n){"use strict";t.__esModule=!0,t.BlockQuote=void 0;var o=n(1),r=n(12),a=n(19);t.BlockQuote=function(e){var t=e.className,n=function(e,t){if(null==e)return{};var n,o,r={},a=Object.keys(e);for(o=0;o=0||(r[n]=e[n]);return r}(e,["className"]);return(0,o.normalizeProps)((0,o.createComponentVNode)(2,a.Box,Object.assign({className:(0,r.classes)(["BlockQuote",t])},n)))}},function(e,t,n){"use strict";var o,r;t.__esModule=!0,t.VNodeFlags=t.ChildFlags=void 0,t.VNodeFlags=o,function(e){e[e.HtmlElement=1]="HtmlElement",e[e.ComponentUnknown=2]="ComponentUnknown",e[e.ComponentClass=4]="ComponentClass",e[e.ComponentFunction=8]="ComponentFunction",e[e.Text=16]="Text",e[e.SvgElement=32]="SvgElement",e[e.InputElement=64]="InputElement",e[e.TextareaElement=128]="TextareaElement",e[e.SelectElement=256]="SelectElement",e[e.Void=512]="Void",e[e.Portal=1024]="Portal",e[e.ReCreate=2048]="ReCreate",e[e.ContentEditable=4096]="ContentEditable",e[e.Fragment=8192]="Fragment",e[e.InUse=16384]="InUse",e[e.ForwardRef=32768]="ForwardRef",e[e.Normalized=65536]="Normalized",e[e.ForwardRefComponent=32776]="ForwardRefComponent",e[e.FormElement=448]="FormElement",e[e.Element=481]="Element",e[e.Component=14]="Component",e[e.DOMRef=2033]="DOMRef",e[e.InUseOrNormalized=81920]="InUseOrNormalized",e[e.ClearInUse=-16385]="ClearInUse",e[e.ComponentKnown=12]="ComponentKnown"}(o||(t.VNodeFlags=o={})),t.ChildFlags=r,function(e){e[e.UnknownChildren=0]="UnknownChildren",e[e.HasInvalidChildren=1]="HasInvalidChildren",e[e.HasVNodeChildren=2]="HasVNodeChildren",e[e.HasNonKeyedChildren=4]="HasNonKeyedChildren",e[e.HasKeyedChildren=8]="HasKeyedChildren",e[e.HasTextChildren=16]="HasTextChildren",e[e.MultipleChildren=12]="MultipleChildren"}(r||(t.ChildFlags=r={}))},function(e,t,n){"use strict";t.__esModule=!0,t.ColorBox=void 0;var o=n(1),r=n(12),a=n(19);var i=function(e){var t=e.color,n=e.content,i=e.className,c=function(e,t){if(null==e)return{};var n,o,r={},a=Object.keys(e);for(o=0;o=0||(r[n]=e[n]);return r}(e,["color","content","className"]);return(0,o.normalizeProps)((0,o.createComponentVNode)(2,a.Box,Object.assign({className:(0,r.classes)(["ColorBox",i]),color:n?null:"transparent",backgroundColor:t,content:n||"."},c)))};t.ColorBox=i,i.defaultHooks=r.pureComponentHooks},function(e,t,n){"use strict";t.__esModule=!0,t.Collapsible=void 0;var o=n(1),r=n(19),a=n(114);var i=function(e){var t,n;function i(t){var n;n=e.call(this,t)||this;var o=t.open;return n.state={open:o||!1},n}return n=e,(t=i).prototype=Object.create(n.prototype),t.prototype.constructor=t,t.__proto__=n,i.prototype.render=function(){var e=this,t=this.props,n=this.state.open,i=t.children,c=t.color,l=void 0===c?"default":c,u=t.title,d=t.buttons,s=function(e,t){if(null==e)return{};var n,o,r={},a=Object.keys(e);for(o=0;o=0||(r[n]=e[n]);return r}(t,["children","color","title","buttons"]);return(0,o.createComponentVNode)(2,r.Box,{mb:1,children:[(0,o.createVNode)(1,"div","Table",[(0,o.createVNode)(1,"div","Table__cell",(0,o.normalizeProps)((0,o.createComponentVNode)(2,a.Button,Object.assign({fluid:!0,color:l,icon:n?"chevron-down":"chevron-right",onClick:function(){return e.setState({open:!n})}},s,{children:u}))),2),d&&(0,o.createVNode)(1,"div","Table__cell Table__cell--collapsing",d,0)],0),n&&(0,o.createComponentVNode)(2,r.Box,{mt:1,children:i})]})},i}(o.Component);t.Collapsible=i},function(e,t,n){"use strict";t.__esModule=!0,t.Dimmer=void 0;var o=n(1),r=n(19);t.Dimmer=function(e){var t=e.style,n=function(e,t){if(null==e)return{};var n,o,r={},a=Object.keys(e);for(o=0;o=0||(r[n]=e[n]);return r}(e,["style"]);return(0,o.normalizeProps)((0,o.createComponentVNode)(2,r.Box,Object.assign({style:Object.assign({position:"absolute",top:0,bottom:0,left:0,right:0,"background-color":"rgba(0, 0, 0, 0.75)","z-index":1},t)},n)))}},function(e,t,n){"use strict";t.__esModule=!0,t.Dropdown=void 0;var o=n(1),r=n(12),a=n(19),i=n(87);function c(e,t){if(null==e)return{};var n,o,r={},a=Object.keys(e);for(o=0;o=0||(r[n]=e[n]);return r}var l=function(e){var t,n;function l(t){var n;return(n=e.call(this,t)||this).state={selected:t.selected,open:!1},n.handleClick=function(){n.state.open&&n.setOpen(!1)},n}n=e,(t=l).prototype=Object.create(n.prototype),t.prototype.constructor=t,t.__proto__=n;var u=l.prototype;return u.componentWillUnmount=function(){window.removeEventListener("click",this.handleClick)},u.setOpen=function(e){var t=this;this.setState({open:e}),e?(setTimeout((function(){return window.addEventListener("click",t.handleClick)})),this.menuRef.focus()):window.removeEventListener("click",this.handleClick)},u.setSelected=function(e){this.setState({selected:e}),this.setOpen(!1),this.props.onSelected(e)},u.buildMenu=function(){var e=this,t=this.props.options,n=(void 0===t?[]:t).map((function(t){return(0,o.createVNode)(1,"div","Dropdown__menuentry",t,0,{onClick:function(n){e.setSelected(t)}},t)}));return n.length?n:"No Options Found"},u.render=function(){var e=this,t=this.props,n=t.color,l=void 0===n?"default":n,u=t.over,d=t.width,s=(t.onClick,t.selected,c(t,["color","over","width","onClick","selected"])),p=s.className,m=c(s,["className"]),f=u?!this.state.open:this.state.open,h=this.state.open?(0,o.createVNode)(1,"div",(0,r.classes)(["Dropdown__menu",u&&"Dropdown__over"]),this.buildMenu(),0,{tabIndex:"-1",style:{width:d}},null,(function(t){e.menuRef=t})):null;return(0,o.createVNode)(1,"div","Dropdown",[(0,o.normalizeProps)((0,o.createComponentVNode)(2,a.Box,Object.assign({width:d,className:(0,r.classes)(["Dropdown__control","Button","Button--color--"+l,p])},m,{onClick:function(t){e.setOpen(!e.state.open)},children:[(0,o.createVNode)(1,"span","Dropdown__selected-text",this.state.selected,0),(0,o.createVNode)(1,"span","Dropdown__arrow-button",(0,o.createComponentVNode)(2,i.Icon,{name:f?"chevron-up":"chevron-down"}),2)]}))),h],0)},l}(o.Component);t.Dropdown=l},function(e,t,n){"use strict";t.__esModule=!0,t.FlexItem=t.computeFlexItemProps=t.Flex=t.computeFlexProps=void 0;var o=n(1),r=n(12),a=n(19);function i(e,t){if(null==e)return{};var n,o,r={},a=Object.keys(e);for(o=0;o=0||(r[n]=e[n]);return r}var c=function(e){var t=e.className,n=e.direction,o=e.wrap,a=e.align,c=e.justify,l=e.spacing,u=void 0===l?0:l,d=i(e,["className","direction","wrap","align","justify","spacing"]);return Object.assign({className:(0,r.classes)(["Flex",u>0&&"Flex--spacing--"+u,t]),style:Object.assign({},d.style,{"flex-direction":n,"flex-wrap":o,"align-items":a,"justify-content":c})},d)};t.computeFlexProps=c;var l=function(e){return(0,o.normalizeProps)((0,o.createComponentVNode)(2,a.Box,Object.assign({},c(e))))};t.Flex=l,l.defaultHooks=r.pureComponentHooks;var u=function(e){var t=e.className,n=e.grow,o=e.order,a=e.align,c=i(e,["className","grow","order","align"]);return Object.assign({className:(0,r.classes)(["Flex__item",t]),style:Object.assign({},c.style,{"flex-grow":n,order:o,"align-self":a})},c)};t.computeFlexItemProps=u;var d=function(e){return(0,o.normalizeProps)((0,o.createComponentVNode)(2,a.Box,Object.assign({},u(e))))};t.FlexItem=d,d.defaultHooks=r.pureComponentHooks,l.Item=d},function(e,t,n){"use strict";t.__esModule=!0,t.NoticeBox=void 0;var o=n(1),r=n(12),a=n(19);var i=function(e){var t=e.className,n=function(e,t){if(null==e)return{};var n,o,r={},a=Object.keys(e);for(o=0;o=0||(r[n]=e[n]);return r}(e,["className"]);return(0,o.normalizeProps)((0,o.createComponentVNode)(2,a.Box,Object.assign({className:(0,r.classes)(["NoticeBox",t])},n)))};t.NoticeBox=i,i.defaultHooks=r.pureComponentHooks},function(e,t,n){"use strict";t.__esModule=!0,t.NumberInput=void 0;var o=n(1),r=n(18),a=n(12),i=n(16),c=n(158),l=n(19);var u=function(e){var t,n;function u(t){var n;n=e.call(this,t)||this;var a=t.value;return n.inputRef=(0,o.createRef)(),n.state={value:a,dragging:!1,editing:!1,internalValue:null,origin:null,suppressingFlicker:!1},n.flickerTimer=null,n.suppressFlicker=function(){var e=n.props.suppressFlicker;e>0&&(n.setState({suppressingFlicker:!0}),clearTimeout(n.flickerTimer),n.flickerTimer=setTimeout((function(){return n.setState({suppressingFlicker:!1})}),e))},n.handleDragStart=function(e){var t=n.props.value;n.state.editing||(document.body.style["pointer-events"]="none",n.ref=e.target,n.setState({dragging:!1,origin:e.screenY,value:t,internalValue:t}),n.timer=setTimeout((function(){n.setState({dragging:!0})}),250),n.dragInterval=setInterval((function(){var t=n.state,o=t.dragging,r=t.value,a=n.props.onDrag;o&&a&&a(e,r)}),500),document.addEventListener("mousemove",n.handleDragMove),document.addEventListener("mouseup",n.handleDragEnd))},n.handleDragMove=function(e){var t=n.props,o=t.minValue,a=t.maxValue,i=t.step,c=t.stepPixelSize;n.setState((function(t){var n=Object.assign({},t),l=n.origin-e.screenY;if(t.dragging){var u=Number.isFinite(o)?o%i:0;n.internalValue=(0,r.clamp)(n.internalValue+l*i/c,o-i,a+i),n.value=(0,r.clamp)(n.internalValue-n.internalValue%i+u,o,a),n.origin=e.screenY}else Math.abs(l)>4&&(n.dragging=!0);return n}))},n.handleDragEnd=function(e){var t=n.props,o=t.onChange,r=t.onDrag,a=n.state,i=a.dragging,c=a.value,l=a.internalValue;if(document.body.style["pointer-events"]="auto",clearTimeout(n.timer),clearInterval(n.dragInterval),n.setState({dragging:!1,editing:!i,origin:null}),document.removeEventListener("mousemove",n.handleDragMove),document.removeEventListener("mouseup",n.handleDragEnd),i)n.suppressFlicker(),o&&o(e,c),r&&r(e,c);else if(n.inputRef){var u=n.inputRef.current;u.value=l;try{u.focus(),u.select()}catch(d){}}},n}return n=e,(t=u).prototype=Object.create(n.prototype),t.prototype.constructor=t,t.__proto__=n,u.prototype.render=function(){var e=this,t=this.state,n=t.dragging,u=t.editing,d=t.value,s=t.suppressingFlicker,p=this.props,m=p.className,f=p.fluid,h=p.animated,C=p.value,g=p.unit,b=p.minValue,v=p.maxValue,N=p.height,V=p.width,y=p.lineHeight,_=p.fontSize,x=p.format,k=p.onChange,L=p.onDrag,w=C;(n||s)&&(w=d);var B=function(e){return(0,o.createVNode)(1,"div","NumberInput__content",e+(g?" "+g:""),0,{unselectable:i.tridentVersion<=4})},S=h&&!n&&!s&&(0,o.createComponentVNode)(2,c.AnimatedNumber,{value:w,format:x,children:B})||B(x?x(w):w);return(0,o.createComponentVNode)(2,l.Box,{className:(0,a.classes)(["NumberInput",f&&"NumberInput--fluid",m]),minWidth:V,minHeight:N,lineHeight:y,fontSize:_,onMouseDown:this.handleDragStart,children:[(0,o.createVNode)(1,"div","NumberInput__barContainer",(0,o.createVNode)(1,"div","NumberInput__bar",null,1,{style:{height:(0,r.clamp)((w-b)/(v-b)*100,0,100)+"%"}}),2),S,(0,o.createVNode)(64,"input","NumberInput__input",null,1,{style:{display:u?undefined:"none",height:N,"line-height":y,"font-size":_},onBlur:function(t){if(u){var n=(0,r.clamp)(t.target.value,b,v);e.setState({editing:!1,value:n}),e.suppressFlicker(),k&&k(t,n),L&&L(t,n)}},onKeyDown:function(t){if(13===t.keyCode){var n=(0,r.clamp)(t.target.value,b,v);return e.setState({editing:!1,value:n}),e.suppressFlicker(),k&&k(t,n),void(L&&L(t,n))}27!==t.keyCode||e.setState({editing:!1})}},null,this.inputRef)]})},u}(o.Component);t.NumberInput=u,u.defaultHooks=a.pureComponentHooks,u.defaultProps={minValue:-Infinity,maxValue:+Infinity,step:1,stepPixelSize:1,suppressFlicker:50}},function(e,t,n){"use strict";t.__esModule=!0,t.ProgressBar=void 0;var o=n(1),r=n(12),a=n(18),i=function(e){var t=e.value,n=e.minValue,i=void 0===n?0:n,c=e.maxValue,l=void 0===c?1:c,u=e.ranges,d=void 0===u?{}:u,s=e.content,p=e.children,m=(t-i)/(l-i),f=s!==undefined||p!==undefined,h=e.color;if(!h)for(var C=0,g=Object.keys(d);C=v[0]&&t<=v[1]){h=b;break}}return h||(h="default"),(0,o.createVNode)(1,"div",(0,r.classes)(["ProgressBar","ProgressBar--color--"+h]),[(0,o.createVNode)(1,"div","ProgressBar__fill",null,1,{style:{width:100*(0,a.clamp)(m,0,1)+"%"}}),(0,o.createVNode)(1,"div","ProgressBar__content",[f&&s,f&&p,!f&&(0,a.toFixed)(100*m)+"%"],0)],4)};t.ProgressBar=i,i.defaultHooks=r.pureComponentHooks},function(e,t,n){"use strict";t.__esModule=!0,t.Section=void 0;var o=n(1),r=n(12),a=n(19);var i=function(e){var t=e.className,n=e.title,i=e.level,c=void 0===i?1:i,l=e.buttons,u=e.content,d=e.children,s=function(e,t){if(null==e)return{};var n,o,r={},a=Object.keys(e);for(o=0;o=0||(r[n]=e[n]);return r}(e,["className","title","level","buttons","content","children"]),p=!(0,r.isFalsy)(n)||!(0,r.isFalsy)(l),m=!(0,r.isFalsy)(u)||!(0,r.isFalsy)(d);return(0,o.normalizeProps)((0,o.createComponentVNode)(2,a.Box,Object.assign({className:(0,r.classes)(["Section","Section--level--"+c,t])},s,{children:[p&&(0,o.createVNode)(1,"div","Section__title",[(0,o.createVNode)(1,"span","Section__titleText",n,0),(0,o.createVNode)(1,"div","Section__buttons",l,0)],4),m&&(0,o.createVNode)(1,"div","Section__content",[u,d],0)]})))};t.Section=i,i.defaultHooks=r.pureComponentHooks},function(e,t,n){"use strict";t.__esModule=!0,t.Tab=t.Tabs=void 0;var o=n(1),r=n(12),a=n(19),i=n(114);function c(e,t){if(null==e)return{};var n,o,r={},a=Object.keys(e);for(o=0;o=0||(r[n]=e[n]);return r}var l=function(e){var t=e,n=Array.isArray(t),o=0;for(t=n?t:t[Symbol.iterator]();;){var r;if(n){if(o>=t.length)break;r=t[o++]}else{if((o=t.next()).done)break;r=o.value}var a=r;if(!a.props||"Tab"!==a.props.__type__){var i=JSON.stringify(a,null,2);throw new Error(" only accepts children of type .This is what we received: "+i)}}},u=function(e){var t,n;function u(t){var n;return(n=e.call(this,t)||this).state={activeTabKey:null},n}n=e,(t=u).prototype=Object.create(n.prototype),t.prototype.constructor=t,t.__proto__=n;var d=u.prototype;return d.getActiveTab=function(){var e=this.state,t=this.props,n=(0,r.normalizeChildren)(t.children);l(n);var o=t.activeTab||e.activeTabKey,a=n.find((function(e){return(e.key||e.props.label)===o}));return a||(a=n[0],o=a&&(a.key||a.props.label)),{tabs:n,activeTab:a,activeTabKey:o}},d.render=function(){var e=this,t=this.props,n=t.className,l=t.vertical,u=(t.children,c(t,["className","vertical","children"])),d=this.getActiveTab(),s=d.tabs,p=d.activeTab,m=d.activeTabKey,f=null;return p&&(f=p.props.content||p.props.children),"function"==typeof f&&(f=f(m)),(0,o.normalizeProps)((0,o.createComponentVNode)(2,a.Box,Object.assign({className:(0,r.classes)(["Tabs",l&&"Tabs--vertical",n])},u,{children:[(0,o.createVNode)(1,"div","Tabs__tabBox",s.map((function(t){var n=t.props,a=n.className,l=n.label,u=(n.content,n.children,n.onClick),d=n.highlight,s=c(n,["className","label","content","children","onClick","highlight"]),p=t.key||t.props.label,f=t.active||p===m;return(0,o.normalizeProps)((0,o.createComponentVNode)(2,i.Button,Object.assign({className:(0,r.classes)(["Tabs__tab",f&&"Tabs__tab--active",d&&!f&&"color-yellow",a]),selected:f,color:"transparent",onClick:function(n){e.setState({activeTabKey:p}),u&&u(n,t)}},s,{children:l}),p))})),0),(0,o.createVNode)(1,"div","Tabs__content",f||null,0)]})))},u}(o.Component);t.Tabs=u;var d=function(e){return null};t.Tab=d,d.defaultProps={__type__:"Tab"},u.Tab=d},function(e,t,n){"use strict";t.__esModule=!0,t.TitleBar=void 0;var o=n(1),r=n(12),a=n(23),i=n(16),c=n(37),l=n(87),u=function(e){switch(e){case c.UI_INTERACTIVE:return"good";case c.UI_UPDATE:return"average";case c.UI_DISABLED:default:return"bad"}},d=function(e){var t=e.className,n=e.title,c=e.status,d=e.fancy,s=e.onDragStart,p=e.onClose;return(0,o.createVNode)(1,"div",(0,r.classes)(["TitleBar",t]),[(0,o.createComponentVNode)(2,l.Icon,{className:"TitleBar__statusIcon",color:u(c),name:"eye"}),(0,o.createVNode)(1,"div","TitleBar__title",n===n.toLowerCase()?(0,a.toTitleCase)(n):n,0),(0,o.createVNode)(1,"div","TitleBar__dragZone",null,1,{onMousedown:function(e){return d&&s(e)}}),!!d&&(0,o.createVNode)(1,"div","TitleBar__close TitleBar__clickable",i.tridentVersion<=4?"x":"\xd7",0,{onclick:p})],0)};t.TitleBar=d,d.defaultHooks=r.pureComponentHooks},function(e,t,n){"use strict";t.__esModule=!0,t.Chart=void 0;var o=n(1),r=n(24),a=n(19),i=n(12),c=n(16);var l=function(e,t,n,o){if(0===e.length)return[];var a=(0,r.zipWith)(Math.min).apply(void 0,e),i=(0,r.zipWith)(Math.max).apply(void 0,e);return n!==undefined&&(a[0]=n[0],i[0]=n[1]),o!==undefined&&(a[1]=o[0],i[1]=o[1]),(0,r.map)((function(e){return(0,r.zipWith)((function(e,t,n,o){return(e-t)/(n-t)*o}))(e,a,i,t)}))(e)},u=function(e){for(var t="",n=0;n=0||(r[n]=e[n]);return r}(t,["data","rangeX","rangeY","fillColor","strokeColor","strokeWidth"]),g=this.state.viewBox,b=l(r,g,i,c);if(b.length>0){var v=b[0],N=b[b.length-1];b.push([g[0]+h,N[1]]),b.push([g[0]+h,-h]),b.push([-h,-h]),b.push([-h,v[1]])}var V=u(b);return(0,o.normalizeProps)((0,o.createComponentVNode)(2,a.Box,Object.assign({position:"relative"},C,{children:function(t){return(0,o.normalizeProps)((0,o.createVNode)(1,"div",null,(0,o.createVNode)(32,"svg",null,(0,o.createVNode)(32,"polyline",null,null,1,{transform:"scale(1, -1) translate(0, -"+g[1]+")",fill:s,stroke:m,"stroke-width":h,points:V}),2,{viewBox:"0 0 "+g[0]+" "+g[1],preserveAspectRatio:"none",style:{position:"absolute",top:0,left:0,right:0,bottom:0,overflow:"hidden"}}),2,Object.assign({},t),null,e.ref))}})))},r}(o.Component);d.defaultHooks=i.pureComponentHooks;var s={Line:c.tridentVersion<=4?function(e){return null}:d};t.Chart=s},function(e,t,n){"use strict";t.__esModule=!0,t.AiAirlock=void 0;var o=n(1),r=n(3),a=n(2);t.AiAirlock=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data,c={2:{color:"good",localStatusText:"Offline"},1:{color:"average",localStatusText:"Caution"},0:{color:"bad",localStatusText:"Optimal"}},l=c[i.power.main]||c[0],u=c[i.power.backup]||c[0],d=c[i.shock]||c[0];return(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Section,{title:"Power Status",children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Main",color:l.color,buttons:(0,o.createComponentVNode)(2,a.Button,{icon:"lightbulb-o",disabled:!i.power.main,content:"Disrupt",onClick:function(){return n("disrupt-main")}}),children:[i.power.main?"Online":"Offline"," ",i.wires.main_1&&i.wires.main_2?i.power.main_timeleft>0&&"["+i.power.main_timeleft+"s]":"[Wires have been cut!]"]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Backup",color:u.color,buttons:(0,o.createComponentVNode)(2,a.Button,{icon:"lightbulb-o",disabled:!i.power.backup,content:"Disrupt",onClick:function(){return n("disrupt-backup")}}),children:[i.power.backup?"Online":"Offline"," ",i.wires.backup_1&&i.wires.backup_2?i.power.backup_timeleft>0&&"["+i.power.backup_timeleft+"s]":"[Wires have been cut!]"]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Electrify",color:d.color,buttons:(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Button,{icon:"wrench",disabled:!(i.wires.shock&&0===i.shock),content:"Restore",onClick:function(){return n("shock-restore")}}),(0,o.createComponentVNode)(2,a.Button,{icon:"bolt",disabled:!i.wires.shock,content:"Temporary",onClick:function(){return n("shock-temp")}}),(0,o.createComponentVNode)(2,a.Button,{icon:"bolt",disabled:!i.wires.shock,content:"Permanent",onClick:function(){return n("shock-perm")}})],4),children:[2===i.shock?"Safe":"Electrified"," ",(i.wires.shock?i.shock_timeleft>0&&"["+i.shock_timeleft+"s]":"[Wires have been cut!]")||-1===i.shock_timeleft&&"[Permanent]"]})]})}),(0,o.createComponentVNode)(2,a.Section,{title:"Access and Door Control",children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"ID Scan",color:"bad",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:i.id_scanner?"power-off":"times",content:i.id_scanner?"Enabled":"Disabled",selected:i.id_scanner,disabled:!i.wires.id_scanner,onClick:function(){return n("idscan-toggle")}}),children:!i.wires.id_scanner&&"[Wires have been cut!]"}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Emergency Access",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:i.emergency?"power-off":"times",content:i.emergency?"Enabled":"Disabled",selected:i.emergency,onClick:function(){return n("emergency-toggle")}})}),(0,o.createComponentVNode)(2,a.LabeledList.Divider),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Door Bolts",color:"bad",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:i.locked?"lock":"unlock",content:i.locked?"Lowered":"Raised",selected:i.locked,disabled:!i.wires.bolts,onClick:function(){return n("bolt-toggle")}}),children:!i.wires.bolts&&"[Wires have been cut!]"}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Door Bolt Lights",color:"bad",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:i.lights?"power-off":"times",content:i.lights?"Enabled":"Disabled",selected:i.lights,disabled:!i.wires.lights,onClick:function(){return n("light-toggle")}}),children:!i.wires.lights&&"[Wires have been cut!]"}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Door Force Sensors",color:"bad",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:i.safe?"power-off":"times",content:i.safe?"Enabled":"Disabled",selected:i.safe,disabled:!i.wires.safe,onClick:function(){return n("safe-toggle")}}),children:!i.wires.safe&&"[Wires have been cut!]"}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Door Timing Safety",color:"bad",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:i.speed?"power-off":"times",content:i.speed?"Enabled":"Disabled",selected:i.speed,disabled:!i.wires.timing,onClick:function(){return n("speed-toggle")}}),children:!i.wires.timing&&"[Wires have been cut!]"}),(0,o.createComponentVNode)(2,a.LabeledList.Divider),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Door Control",color:"bad",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:i.opened?"sign-out-alt":"sign-in-alt",content:i.opened?"Open":"Closed",selected:i.opened,disabled:i.locked||i.welded,onClick:function(){return n("open-close")}}),children:!(!i.locked&&!i.welded)&&(0,o.createVNode)(1,"span",null,[(0,o.createTextVNode)("[Door is "),i.locked?"bolted":"",i.locked&&i.welded?" and ":"",i.welded?"welded":"",(0,o.createTextVNode)("!]")],0)})]})})],4)}},function(e,t,n){"use strict";t.__esModule=!0,t.AirAlarm=void 0;var o=n(1),r=n(18),a=n(23),i=n(3),c=n(2),l=n(37),u=n(69);t.AirAlarm=function(e){var t=e.state,n=(0,i.useBackend)(e),r=n.act,a=n.data,c=a.locked&&!a.siliconUser;return(0,o.createFragment)([(0,o.createComponentVNode)(2,u.InterfaceLockNoticeBox,{siliconUser:a.siliconUser,locked:a.locked,onLockStatusChange:function(){return r("lock")}}),(0,o.createComponentVNode)(2,d,{state:t}),!c&&(0,o.createComponentVNode)(2,p,{state:t})],0)};var d=function(e){var t=(0,i.useBackend)(e).data,n=(t.environment_data||[]).filter((function(e){return e.value>=.01})),a={0:{color:"good",localStatusText:"Optimal"},1:{color:"average",localStatusText:"Caution"},2:{color:"bad",localStatusText:"Danger (Internals Required)"}},l=a[t.danger_level]||a[0];return(0,o.createComponentVNode)(2,c.Section,{title:"Air Status",children:(0,o.createComponentVNode)(2,c.LabeledList,{children:[n.length>0&&(0,o.createFragment)([n.map((function(e){var t=a[e.danger_level]||a[0];return(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:e.name,color:t.color,children:[(0,r.toFixed)(e.value,2),e.unit]},e.name)})),(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:"Local status",color:l.color,children:l.localStatusText}),(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:"Area status",color:t.atmos_alarm||t.fire_alarm?"bad":"good",children:(t.atmos_alarm?"Atmosphere Alarm":t.fire_alarm&&"Fire Alarm")||"Nominal"})],0)||(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:"Warning",color:"bad",children:"Cannot obtain air sample for analysis."}),!!t.emagged&&(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:"Warning",color:"bad",children:"Safety measures offline. Device may exhibit abnormal behavior."})]})})},s={home:{title:"Air Controls",component:function(){return m}},vents:{title:"Vent Controls",component:function(){return f}},scrubbers:{title:"Scrubber Controls",component:function(){return C}},modes:{title:"Operating Mode",component:function(){return b}},thresholds:{title:"Alarm Thresholds",component:function(){return v}}},p=function(e){var t=e.state,n=(0,i.useBackend)(e),r=n.act,a=n.config,l=s[a.screen]||s.home,u=l.component();return(0,o.createComponentVNode)(2,c.Section,{title:l.title,buttons:"home"!==a.screen&&(0,o.createComponentVNode)(2,c.Button,{icon:"arrow-left",content:"Back",onClick:function(){return r("tgui:view",{screen:"home"})}}),children:(0,o.createComponentVNode)(2,u,{state:t})})},m=function(e){var t=(0,i.useBackend)(e),n=t.act,r=t.data,a=r.mode,l=r.atmos_alarm;return(0,o.createFragment)([(0,o.createComponentVNode)(2,c.Button,{icon:l?"exclamation-triangle":"exclamation",color:l&&"caution",content:"Area Atmosphere Alarm",onClick:function(){return n(l?"reset":"alarm")}}),(0,o.createComponentVNode)(2,c.Box,{mt:1}),(0,o.createComponentVNode)(2,c.Button,{icon:3===a?"exclamation-triangle":"exclamation",color:3===a&&"danger",content:"Panic Siphon",onClick:function(){return n("mode",{mode:3===a?1:3})}}),(0,o.createComponentVNode)(2,c.Box,{mt:2}),(0,o.createComponentVNode)(2,c.Button,{icon:"sign-out-alt",content:"Vent Controls",onClick:function(){return n("tgui:view",{screen:"vents"})}}),(0,o.createComponentVNode)(2,c.Box,{mt:1}),(0,o.createComponentVNode)(2,c.Button,{icon:"filter",content:"Scrubber Controls",onClick:function(){return n("tgui:view",{screen:"scrubbers"})}}),(0,o.createComponentVNode)(2,c.Box,{mt:1}),(0,o.createComponentVNode)(2,c.Button,{icon:"cog",content:"Operating Mode",onClick:function(){return n("tgui:view",{screen:"modes"})}}),(0,o.createComponentVNode)(2,c.Box,{mt:1}),(0,o.createComponentVNode)(2,c.Button,{icon:"chart-bar",content:"Alarm Thresholds",onClick:function(){return n("tgui:view",{screen:"thresholds"})}})],4)},f=function(e){var t=e.state,n=(0,i.useBackend)(e).data.vents;return n&&0!==n.length?n.map((function(e){return(0,o.normalizeProps)((0,o.createComponentVNode)(2,h,Object.assign({state:t},e),e.id_tag))})):"Nothing to show"},h=function(e){var t=e.id_tag,n=e.long_name,r=e.power,l=e.checks,u=e.excheck,d=e.incheck,s=e.direction,p=e.external,m=e.internal,f=e.extdefault,h=e.intdefault,C=(0,i.useBackend)(e).act;return(0,o.createComponentVNode)(2,c.Section,{level:2,title:(0,a.decodeHtmlEntities)(n),buttons:(0,o.createComponentVNode)(2,c.Button,{icon:r?"power-off":"times",selected:r,content:r?"On":"Off",onClick:function(){return C("power",{id_tag:t,val:Number(!r)})}}),children:(0,o.createComponentVNode)(2,c.LabeledList,{children:[(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:"Mode",children:"release"===s?"Pressurizing":"Releasing"}),(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:"Pressure Regulator",children:[(0,o.createComponentVNode)(2,c.Button,{icon:"sign-in-alt",content:"Internal",selected:d,onClick:function(){return C("incheck",{id_tag:t,val:l})}}),(0,o.createComponentVNode)(2,c.Button,{icon:"sign-out-alt",content:"External",selected:u,onClick:function(){return C("excheck",{id_tag:t,val:l})}})]}),!!d&&(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:"Internal Target",children:[(0,o.createComponentVNode)(2,c.NumberInput,{value:Math.round(m),unit:"kPa",width:"75px",minValue:0,step:10,maxValue:5066,onChange:function(e,n){return C("set_internal_pressure",{id_tag:t,value:n})}}),(0,o.createComponentVNode)(2,c.Button,{icon:"undo",disabled:h,content:"Reset",onClick:function(){return C("reset_internal_pressure",{id_tag:t})}})]}),!!u&&(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:"External Target",children:[(0,o.createComponentVNode)(2,c.NumberInput,{value:Math.round(p),unit:"kPa",width:"75px",minValue:0,step:10,maxValue:5066,onChange:function(e,n){return C("set_external_pressure",{id_tag:t,value:n})}}),(0,o.createComponentVNode)(2,c.Button,{icon:"undo",disabled:f,content:"Reset",onClick:function(){return C("reset_external_pressure",{id_tag:t})}})]})]})})},C=function(e){var t=e.state,n=(0,i.useBackend)(e).data.scrubbers;return n&&0!==n.length?n.map((function(e){return(0,o.normalizeProps)((0,o.createComponentVNode)(2,g,Object.assign({state:t},e),e.id_tag))})):"Nothing to show"},g=function(e){var t=e.long_name,n=e.power,r=e.scrubbing,u=e.id_tag,d=e.widenet,s=e.filter_types,p=(0,i.useBackend)(e).act;return(0,o.createComponentVNode)(2,c.Section,{level:2,title:(0,a.decodeHtmlEntities)(t),buttons:(0,o.createComponentVNode)(2,c.Button,{icon:n?"power-off":"times",content:n?"On":"Off",selected:n,onClick:function(){return p("power",{id_tag:u,val:Number(!n)})}}),children:(0,o.createComponentVNode)(2,c.LabeledList,{children:[(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:"Mode",children:[(0,o.createComponentVNode)(2,c.Button,{icon:r?"filter":"sign-in-alt",color:r||"danger",content:r?"Scrubbing":"Siphoning",onClick:function(){return p("scrubbing",{id_tag:u,val:Number(!r)})}}),(0,o.createComponentVNode)(2,c.Button,{icon:d?"expand":"compress",selected:d,content:d?"Expanded range":"Normal range",onClick:function(){return p("widenet",{id_tag:u,val:Number(!d)})}})]}),(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:"Filters",children:r&&s.map((function(e){return(0,o.createComponentVNode)(2,c.Button,{icon:e.enabled?"check-square-o":"square-o",content:(0,l.getGasLabel)(e.gas_id,e.gas_name),title:e.gas_name,selected:e.enabled,onClick:function(){return p("toggle_filter",{id_tag:u,val:e.gas_id})}},e.gas_id)}))||"N/A"})]})})},b=function(e){var t=(0,i.useBackend)(e),n=t.act,r=t.data.modes;return r&&0!==r.length?r.map((function(e){return(0,o.createFragment)([(0,o.createComponentVNode)(2,c.Button,{icon:e.selected?"check-square-o":"square-o",selected:e.selected,color:e.selected&&e.danger&&"danger",content:e.name,onClick:function(){return n("mode",{mode:e.mode})}}),(0,o.createComponentVNode)(2,c.Box,{mt:1})],4,e.mode)})):"Nothing to show"},v=function(e){var t=(0,i.useBackend)(e),n=t.act,a=t.data.thresholds;return(0,o.createVNode)(1,"table","LabeledList",[(0,o.createVNode)(1,"thead",null,(0,o.createVNode)(1,"tr",null,[(0,o.createVNode)(1,"td"),(0,o.createVNode)(1,"td","color-bad","min2",16),(0,o.createVNode)(1,"td","color-average","min1",16),(0,o.createVNode)(1,"td","color-average","max1",16),(0,o.createVNode)(1,"td","color-bad","max2",16)],4),2),(0,o.createVNode)(1,"tbody",null,a.map((function(e){return(0,o.createVNode)(1,"tr",null,[(0,o.createVNode)(1,"td","LabeledList__label",e.name,0),e.settings.map((function(e){return(0,o.createVNode)(1,"td",null,(0,o.createComponentVNode)(2,c.Button,{content:(0,r.toFixed)(e.selected,2),onClick:function(){return n("threshold",{env:e.env,"var":e.val})}}),2,null,e.val)}))],0,null,e.name)})),0)],4,{style:{width:"100%"}})}},function(e,t,n){"use strict";t.__esModule=!0,t.AirlockElectronics=void 0;var o=n(1),r=n(3),a=n(2);t.AirlockElectronics=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data,c=i.regions||[],l={0:{icon:"times-circle"},1:{icon:"stop-circle"},2:{icon:"check-circle"}};return(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Section,{title:"Main",children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Access Required",children:(0,o.createComponentVNode)(2,a.Button,{icon:i.oneAccess?"unlock":"lock",content:i.oneAccess?"One":"All",onClick:function(){return n("one_access")}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Mass Modify",children:[(0,o.createComponentVNode)(2,a.Button,{icon:"check-double",content:"Grant All",onClick:function(){return n("grant_all")}}),(0,o.createComponentVNode)(2,a.Button,{icon:"undo",content:"Clear All",onClick:function(){return n("clear_all")}})]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Unrestricted Access",children:[(0,o.createComponentVNode)(2,a.Button,{icon:1&i.unres_direction?"check-square-o":"square-o",content:"North",selected:1&i.unres_direction,onClick:function(){return n("direc_set",{unres_direction:"1"})}}),(0,o.createComponentVNode)(2,a.Button,{icon:2&i.unres_direction?"check-square-o":"square-o",content:"East",selected:2&i.unres_direction,onClick:function(){return n("direc_set",{unres_direction:"2"})}}),(0,o.createComponentVNode)(2,a.Button,{icon:4&i.unres_direction?"check-square-o":"square-o",content:"South",selected:4&i.unres_direction,onClick:function(){return n("direc_set",{unres_direction:"4"})}}),(0,o.createComponentVNode)(2,a.Button,{icon:8&i.unres_direction?"check-square-o":"square-o",content:"West",selected:8&i.unres_direction,onClick:function(){return n("direc_set",{unres_direction:"8"})}})]})]})}),(0,o.createComponentVNode)(2,a.Section,{title:"Access",children:(0,o.createComponentVNode)(2,a.Box,{height:"261px",children:(0,o.createComponentVNode)(2,a.Tabs,{vertical:!0,children:c.map((function(e){var t=e.name,r=e.accesses||[],i=l[function(e){var t=!1,n=!1;return e.forEach((function(e){e.req?t=!0:n=!0})),!t&&n?0:t&&n?1:2}(r)].icon;return(0,o.createComponentVNode)(2,a.Tabs.Tab,{icon:i,label:t,children:function(){return r.map((function(e){return(0,o.createComponentVNode)(2,a.Box,{children:(0,o.createComponentVNode)(2,a.Button,{icon:e.req?"check-square-o":"square-o",content:e.name,selected:e.req,onClick:function(){return n("set",{access:e.id})}})},e.id)}))}},t)}))})})})],4)}},function(e,t,n){"use strict";t.__esModule=!0,t.Apc=void 0;var o=n(1),r=n(3),a=n(2),i=n(69);t.Apc=function(e){var t=(0,r.useBackend)(e),n=t.act,c=t.data,l=c.locked&&!c.siliconUser,u={2:{color:"good",externalPowerText:"External Power",chargingText:"Fully Charged"},1:{color:"average",externalPowerText:"Low External Power",chargingText:"Charging"},0:{color:"bad",externalPowerText:"No External Power",chargingText:"Not Charging"}},d={1:{icon:"terminal",content:"Override Programming",action:"hack"},2:{icon:"caret-square-down",content:"Shunt Core Process",action:"occupy"},3:{icon:"caret-square-left",content:"Return to Main Core",action:"deoccupy"},4:{icon:"caret-square-down",content:"Shunt Core Process",action:"occupy"}},s=u[c.externalPower]||u[0],p=u[c.chargingStatus]||u[0],m=c.powerChannels||[],f=d[c.malfStatus]||d[0],h=c.powerCellStatus/100;return c.failTime>0?(0,o.createComponentVNode)(2,a.NoticeBox,{children:[(0,o.createVNode)(1,"b",null,(0,o.createVNode)(1,"h3",null,"SYSTEM FAILURE",16),2),(0,o.createVNode)(1,"i",null,"I/O regulators malfunction detected! Waiting for system reboot...",16),(0,o.createVNode)(1,"br"),"Automatic reboot in ",c.failTime," seconds...",(0,o.createComponentVNode)(2,a.Button,{icon:"sync",content:"Reboot Now",onClick:function(){return n("reboot")}})]}):(0,o.createFragment)([(0,o.createComponentVNode)(2,i.InterfaceLockNoticeBox,{siliconUser:c.siliconUser,locked:c.locked,onLockStatusChange:function(){return n("lock")}}),(0,o.createComponentVNode)(2,a.Section,{title:"Power Status",children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Main Breaker",color:s.color,buttons:(0,o.createComponentVNode)(2,a.Button,{icon:c.isOperating?"power-off":"times",content:c.isOperating?"On":"Off",selected:c.isOperating&&!l,disabled:l,onClick:function(){return n("breaker")}}),children:["[ ",s.externalPowerText," ]"]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Power Cell",children:(0,o.createComponentVNode)(2,a.ProgressBar,{color:"good",value:h})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Charge Mode",color:p.color,buttons:(0,o.createComponentVNode)(2,a.Button,{icon:c.chargeMode?"sync":"close",content:c.chargeMode?"Auto":"Off",disabled:l,onClick:function(){return n("charge")}}),children:["[ ",p.chargingText," ]"]})]})}),(0,o.createComponentVNode)(2,a.Section,{title:"Power Channels",children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[m.map((function(e){var t=e.topicParams;return(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:e.title,buttons:(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Box,{inline:!0,mx:2,color:e.status>=2?"good":"bad",children:e.status>=2?"On":"Off"}),(0,o.createComponentVNode)(2,a.Button,{icon:"sync",content:"Auto",selected:!l&&(1===e.status||3===e.status),disabled:l,onClick:function(){return n("channel",t.auto)}}),(0,o.createComponentVNode)(2,a.Button,{icon:"power-off",content:"On",selected:!l&&2===e.status,disabled:l,onClick:function(){return n("channel",t.on)}}),(0,o.createComponentVNode)(2,a.Button,{icon:"times",content:"Off",selected:!l&&0===e.status,disabled:l,onClick:function(){return n("channel",t.off)}})],4),children:e.powerLoad},e.title)})),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Total Load",children:(0,o.createVNode)(1,"b",null,c.totalLoad,0)})]})}),(0,o.createComponentVNode)(2,a.Section,{title:"Misc",buttons:!!c.siliconUser&&(0,o.createFragment)([!!c.malfStatus&&(0,o.createComponentVNode)(2,a.Button,{icon:f.icon,content:f.content,color:"bad",onClick:function(){return n(f.action)}}),(0,o.createComponentVNode)(2,a.Button,{icon:"lightbulb-o",content:"Overload",onClick:function(){return n("overload")}})],0),children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Cover Lock",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:c.coverLocked?"lock":"unlock",content:c.coverLocked?"Engaged":"Disengaged",disabled:l,onClick:function(){return n("cover")}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Emergency Lighting",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:"lightbulb-o",content:c.emergencyLights?"Enabled":"Disabled",disabled:l,onClick:function(){return n("emergency_lighting")}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Night Shift Lighting",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:"lightbulb-o",content:c.nightshiftLights?"Enabled":"Disabled",disabled:l,onClick:function(){return n("toggle_nightshift")}})})]}),c.hijackable&&(0,o.createComponentVNode)(2,a.Section,{title:"Hijacking",buttons:(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Button,{icon:"unlock",content:"Hijack",disabled:c.hijacker,onClick:function(){return n("hijack")}}),(0,o.createComponentVNode)(2,a.Button,{icon:"lock",content:"Lockdown",disabled:!c.lockdownavail,onClick:function(){return n("lockdown")}}),(0,o.createComponentVNode)(2,a.Button,{icon:"lightbulb-o",content:"Drain",disabled:!c.drainavail,onClick:function(){return n("drain")}})],4)})],0)}},function(e,t,n){"use strict";t.__esModule=!0,t.AtmosAlertConsole=void 0;var o=n(1),r=n(3),a=n(2);t.AtmosAlertConsole=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data,c=i.priority||[],l=i.minor||[];return(0,o.createComponentVNode)(2,a.Section,{title:"Alarms",children:(0,o.createVNode)(1,"ul",null,[c.length>0?c.map((function(e){return(0,o.createVNode)(1,"li",null,(0,o.createComponentVNode)(2,a.Button,{icon:"times",content:e,color:"bad",onClick:function(){return n("clear",{zone:e})}}),2,null,e)})):(0,o.createVNode)(1,"li","color-good","No Priority Alerts",16),l.length>0?l.map((function(e){return(0,o.createVNode)(1,"li",null,(0,o.createComponentVNode)(2,a.Button,{icon:"times",content:e,color:"average",onClick:function(){return n("clear",{zone:e})}}),2,null,e)})):(0,o.createVNode)(1,"li","color-good","No Minor Alerts",16)],0)})}},function(e,t,n){"use strict";t.__esModule=!0,t.AtmosControlConsole=void 0;var o=n(1),r=n(24),a=n(18),i=n(3),c=n(2);t.AtmosControlConsole=function(e){var t=(0,i.useBackend)(e),n=t.act,l=t.data,u=l.sensors||[];return(0,o.createFragment)([(0,o.createComponentVNode)(2,c.Section,{title:!!l.tank&&u[0].long_name,children:u.map((function(e){var t=e.gases||{};return(0,o.createComponentVNode)(2,c.Section,{title:!l.tank&&e.long_name,level:2,children:(0,o.createComponentVNode)(2,c.LabeledList,{children:[(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:"Pressure",children:(0,a.toFixed)(e.pressure,2)+" kPa"}),!!e.temperature&&(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:"Temperature",children:(0,a.toFixed)(e.temperature,2)+" K"}),(0,r.map)((function(e,t){return(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:t,children:(0,a.toFixed)(e,2)+"%"})}))(t)]})},e.id_tag)}))}),l.tank&&(0,o.createComponentVNode)(2,c.Section,{title:"Controls",buttons:(0,o.createComponentVNode)(2,c.Button,{icon:"undo",content:"Reconnect",onClick:function(){return n("reconnect")}}),children:(0,o.createComponentVNode)(2,c.LabeledList,{children:[(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:"Input Injector",children:(0,o.createComponentVNode)(2,c.Button,{icon:l.inputting?"power-off":"times",content:l.inputting?"Injecting":"Off",selected:l.inputting,onClick:function(){return n("input")}})}),(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:"Input Rate",children:(0,o.createComponentVNode)(2,c.NumberInput,{value:l.inputRate,unit:"L/s",width:"63px",minValue:0,maxValue:200,suppressFlicker:2e3,onChange:function(e,t){return n("rate",{rate:t})}})}),(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:"Output Regulator",children:(0,o.createComponentVNode)(2,c.Button,{icon:l.outputting?"power-off":"times",content:l.outputting?"Open":"Closed",selected:l.outputting,onClick:function(){return n("output")}})}),(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:"Output Pressure",children:(0,o.createComponentVNode)(2,c.NumberInput,{value:parseFloat(l.outputPressure),unit:"kPa",width:"75px",minValue:0,maxValue:4500,step:10,suppressFlicker:2e3,onChange:function(e,t){return n("pressure",{pressure:t})}})})]})})],0)}},function(e,t,n){"use strict";t.__esModule=!0,t.AtmosFilter=void 0;var o=n(1),r=n(3),a=n(2),i=n(37);t.AtmosFilter=function(e){var t=(0,r.useBackend)(e),n=t.act,c=t.data,l=c.filter_types||[];return(0,o.createComponentVNode)(2,a.Section,{children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Power",children:(0,o.createComponentVNode)(2,a.Button,{icon:c.on?"power-off":"times",content:c.on?"On":"Off",selected:c.on,onClick:function(){return n("power")}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Transfer Rate",children:[(0,o.createComponentVNode)(2,a.NumberInput,{animated:!0,value:parseFloat(c.rate),width:"63px",unit:"L/s",minValue:0,maxValue:200,onDrag:function(e,t){return n("rate",{rate:t})}}),(0,o.createComponentVNode)(2,a.Button,{ml:1,icon:"plus",content:"Max",disabled:c.rate===c.max_rate,onClick:function(){return n("rate",{rate:"max"})}})]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Filter",children:l.map((function(e){return(0,o.createComponentVNode)(2,a.Button,{selected:e.selected,content:(0,i.getGasLabel)(e.id,e.name),onClick:function(){return n("filter",{mode:e.id})}},e.id)}))})]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.AtmosMixer=void 0;var o=n(1),r=n(3),a=n(2);t.AtmosMixer=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data;return(0,o.createComponentVNode)(2,a.Section,{children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Power",children:(0,o.createComponentVNode)(2,a.Button,{icon:i.on?"power-off":"times",content:i.on?"On":"Off",selected:i.on,onClick:function(){return n("power")}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Output Pressure",children:[(0,o.createComponentVNode)(2,a.NumberInput,{animated:!0,value:parseFloat(i.set_pressure),unit:"kPa",width:"75px",minValue:0,maxValue:4500,step:10,onChange:function(e,t){return n("pressure",{pressure:t})}}),(0,o.createComponentVNode)(2,a.Button,{ml:1,icon:"plus",content:"Max",disabled:i.set_pressure===i.max_pressure,onClick:function(){return n("pressure",{pressure:"max"})}})]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Node 1",children:(0,o.createComponentVNode)(2,a.NumberInput,{animated:!0,value:i.node1_concentration,unit:"%",width:"60px",minValue:0,maxValue:100,stepPixelSize:2,onDrag:function(e,t){return n("node1",{concentration:t})}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Node 2",children:(0,o.createComponentVNode)(2,a.NumberInput,{animated:!0,value:i.node2_concentration,unit:"%",width:"60px",minValue:0,maxValue:100,stepPixelSize:2,onDrag:function(e,t){return n("node2",{concentration:t})}})})]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.AtmosPump=void 0;var o=n(1),r=n(3),a=n(2);t.AtmosPump=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data;return(0,o.createComponentVNode)(2,a.Section,{children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Power",children:(0,o.createComponentVNode)(2,a.Button,{icon:i.on?"power-off":"times",content:i.on?"On":"Off",selected:i.on,onClick:function(){return n("power")}})}),i.max_rate?(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Transfer Rate",children:[(0,o.createComponentVNode)(2,a.NumberInput,{animated:!0,value:parseFloat(i.rate),width:"63px",unit:"L/s",minValue:0,maxValue:200,onChange:function(e,t){return n("rate",{rate:t})}}),(0,o.createComponentVNode)(2,a.Button,{ml:1,icon:"plus",content:"Max",disabled:i.rate===i.max_rate,onClick:function(){return n("rate",{rate:"max"})}})]}):(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Output Pressure",children:[(0,o.createComponentVNode)(2,a.NumberInput,{animated:!0,value:parseFloat(i.pressure),unit:"kPa",width:"75px",minValue:0,maxValue:4500,step:10,onChange:function(e,t){return n("pressure",{pressure:t})}}),(0,o.createComponentVNode)(2,a.Button,{ml:1,icon:"plus",content:"Max",disabled:i.pressure===i.max_pressure,onClick:function(){return n("pressure",{pressure:"max"})}})]})]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.BankMachine=void 0;var o=n(1),r=n(3),a=n(2);t.BankMachine=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data,c=i.current_balance,l=i.siphoning,u=i.station_name;return(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Section,{title:u+" Vault",children:(0,o.createComponentVNode)(2,a.LabeledList,{children:(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Current Balance",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:l?"times":"sync",content:l?"Stop Siphoning":"Siphon Credits",selected:l,onClick:function(){return n(l?"halt":"siphon")}}),children:c+" cr"})})}),(0,o.createComponentVNode)(2,a.NoticeBox,{textAlign:"center",children:"Authorized personnel only"})],4)}},function(e,t,n){"use strict";t.__esModule=!0,t.BluespaceArtillery=void 0;var o=n(1),r=n(3),a=n(2);t.BluespaceArtillery=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data,c=i.notice,l=i.connected,u=i.unlocked,d=i.target;return(0,o.createFragment)([!!c&&(0,o.createComponentVNode)(2,a.NoticeBox,{children:c}),l?(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Section,{title:"Target",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:"crosshairs",disabled:!u,onClick:function(){return n("recalibrate")}}),children:(0,o.createComponentVNode)(2,a.Box,{color:d?"average":"bad",fontSize:"25px",children:d||"No Target Set"})}),(0,o.createComponentVNode)(2,a.Section,{children:u?(0,o.createComponentVNode)(2,a.Box,{style:{margin:"auto"},children:(0,o.createComponentVNode)(2,a.Button,{fluid:!0,content:"FIRE",color:"bad",disabled:!d,fontSize:"30px",textAlign:"center",lineHeight:"46px",onClick:function(){return n("fire")}})}):(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Box,{color:"bad",fontSize:"18px",children:"Bluespace artillery is currently locked."}),(0,o.createComponentVNode)(2,a.Box,{mt:1,children:"Awaiting authorization via keycard reader from at minimum two station heads."})],4)})],4):(0,o.createComponentVNode)(2,a.Section,{children:(0,o.createComponentVNode)(2,a.LabeledList,{children:(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Maintenance",children:(0,o.createComponentVNode)(2,a.Button,{icon:"wrench",content:"Complete Deployment",onClick:function(){return n("build")}})})})})],0)}},function(e,t,n){"use strict";t.__esModule=!0,t.Bepis=void 0;var o=n(1),r=(n(23),n(16)),a=n(2);t.Bepis=function(e){var t=e.state,n=t.config,i=t.data,c=n.ref,l=i.amount;return(0,o.createComponentVNode)(2,a.Section,{title:"Business Exploration Protocol Incubation Sink",children:[(0,o.createComponentVNode)(2,a.Section,{title:"Information",backgroundColor:"#450F44",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:"power-off",content:i.manual_power?"Off":"On",selected:!i.manual_power,onClick:function(){return(0,r.act)(c,"toggle_power")}}),children:"All you need to know about the B.E.P.I.S. and you! The B.E.P.I.S. performs hundreds of tests a second using electrical and financial resources to invent new products, or discover new technologies otherwise overlooked for being too risky or too niche to produce!"}),(0,o.createComponentVNode)(2,a.Section,{title:"Payer's Account",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:"redo-alt",content:"Reset Account",onClick:function(){return(0,r.act)(c,"account_reset")}}),children:["Console is currently being operated by ",i.account_owner?i.account_owner:"no one","."]}),(0,o.createComponentVNode)(2,a.Grid,{children:[(0,o.createComponentVNode)(2,a.Grid.Column,{size:1.5,children:[(0,o.createComponentVNode)(2,a.Section,{title:"Stored Data and Statistics",children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Deposited Credits",children:i.stored_cash}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Investment Variability",children:[i.accuracy_percentage,"%"]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Innovation Bonus",children:i.positive_cash_offset}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Risk Offset",color:"bad",children:i.negative_cash_offset}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Deposit Amount",children:(0,o.createComponentVNode)(2,a.NumberInput,{value:l,unit:"Credits",minValue:100,maxValue:3e4,step:100,stepPixelSize:2,onChange:function(e,t){return(0,r.act)(c,"amount",{amount:t})}})})]})}),(0,o.createComponentVNode)(2,a.Box,{children:[(0,o.createComponentVNode)(2,a.Button,{icon:"donate",content:"Deposit Credits",disabled:1===i.manual_power||1===i.silicon_check,onClick:function(){return(0,r.act)(c,"deposit_cash")}}),(0,o.createComponentVNode)(2,a.Button,{icon:"eject",content:"Withdraw Credits",disabled:1===i.manual_power,onClick:function(){return(0,r.act)(c,"withdraw_cash")}})]})]}),(0,o.createComponentVNode)(2,a.Grid.Column,{children:(0,o.createComponentVNode)(2,a.Section,{title:"Market Data and Analysis",children:[(0,o.createComponentVNode)(2,a.Box,{children:["Average technology cost: ",i.mean_value]}),i.error_name&&(0,o.createComponentVNode)(2,a.Box,{color:"bad",children:"Previous Failure Reason: Deposited cash value too low. Please insert more money for future success."}),(0,o.createComponentVNode)(2,a.Box,{m:1}),(0,o.createComponentVNode)(2,a.Button,{icon:"microscope",disabled:1===i.manual_power,onClick:function(){return(0,r.act)(c,"begin_experiment")},content:"Begin Testing"})]})})]})]})}},function(e,t,n){"use strict";t.__esModule=!0,t.BorgPanel=void 0;var o=n(1),r=n(3),a=n(2);t.BorgPanel=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data,c=i.borg||{},l=i.cell||{},u=l.charge/l.maxcharge,d=i.channels||[],s=i.modules||[],p=i.upgrades||[],m=i.ais||[],f=i.laws||[];return(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Section,{title:c.name,buttons:(0,o.createComponentVNode)(2,a.Button,{icon:"pencil-alt",content:"Rename",onClick:function(){return n("rename")}}),children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Status",children:[(0,o.createComponentVNode)(2,a.Button,{icon:c.emagged?"check-square-o":"square-o",content:"Emagged",selected:c.emagged,onClick:function(){return n("toggle_emagged")}}),(0,o.createComponentVNode)(2,a.Button,{icon:c.lockdown?"check-square-o":"square-o",content:"Locked Down",selected:c.lockdown,onClick:function(){return n("toggle_lockdown")}}),(0,o.createComponentVNode)(2,a.Button,{icon:c.scrambledcodes?"check-square-o":"square-o",content:"Scrambled Codes",selected:c.scrambledcodes,onClick:function(){return n("toggle_scrambledcodes")}})]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Charge",children:[l.missing?(0,o.createVNode)(1,"span","color-bad","No cell installed",16):(0,o.createComponentVNode)(2,a.ProgressBar,{value:u,content:l.charge+" / "+l.maxcharge}),(0,o.createVNode)(1,"br"),(0,o.createComponentVNode)(2,a.Button,{icon:"pencil-alt",content:"Set",onClick:function(){return n("set_charge")}}),(0,o.createComponentVNode)(2,a.Button,{icon:"eject",content:"Change",onClick:function(){return n("change_cell")}}),(0,o.createComponentVNode)(2,a.Button,{icon:"trash",content:"Remove",color:"bad",onClick:function(){return n("remove_cell")}})]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Radio Channels",children:d.map((function(e){return(0,o.createComponentVNode)(2,a.Button,{icon:e.installed?"check-square-o":"square-o",content:e.name,selected:e.installed,onClick:function(){return n("toggle_radio",{channel:e.name})}},e.name)}))}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Module",children:s.map((function(e){return(0,o.createComponentVNode)(2,a.Button,{icon:c.active_module===e.type?"check-square-o":"square-o",content:e.name,selected:c.active_module===e.type,onClick:function(){return n("setmodule",{module:e.type})}},e.type)}))}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Upgrades",children:p.map((function(e){return(0,o.createComponentVNode)(2,a.Button,{icon:e.installed?"check-square-o":"square-o",content:e.name,selected:e.installed,onClick:function(){return n("toggle_upgrade",{upgrade:e.type})}},e.type)}))}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Master AI",children:m.map((function(e){return(0,o.createComponentVNode)(2,a.Button,{icon:e.connected?"check-square-o":"square-o",content:e.name,selected:e.connected,onClick:function(){return n("slavetoai",{slavetoai:e.ref})}},e.ref)}))})]})}),(0,o.createComponentVNode)(2,a.Section,{title:"Laws",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:c.lawupdate?"check-square-o":"square-o",content:"Lawsync",selected:c.lawupdate,onClick:function(){return n("toggle_lawupdate")}}),children:f.map((function(e){return(0,o.createComponentVNode)(2,a.Box,{children:e},e)}))})],4)}},function(e,t,n){"use strict";t.__esModule=!0,t.BrigTimer=void 0;var o=n(1),r=n(3),a=n(2);t.BrigTimer=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data;return(0,o.createComponentVNode)(2,a.Section,{title:"Cell Timer",buttons:(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Button,{icon:"clock-o",content:i.timing?"Stop":"Start",selected:i.timing,onClick:function(){return n(i.timing?"stop":"start")}}),(0,o.createComponentVNode)(2,a.Button,{icon:"lightbulb-o",content:i.flash_charging?"Recharging":"Flash",disabled:i.flash_charging,onClick:function(){return n("flash")}})],4),children:[(0,o.createComponentVNode)(2,a.Button,{icon:"fast-backward",onClick:function(){return n("time",{adjust:-600})}}),(0,o.createComponentVNode)(2,a.Button,{icon:"backward",onClick:function(){return n("time",{adjust:-100})}})," ",String(i.minutes).padStart(2,"0"),":",String(i.seconds).padStart(2,"0")," ",(0,o.createComponentVNode)(2,a.Button,{icon:"forward",onClick:function(){return n("time",{adjust:100})}}),(0,o.createComponentVNode)(2,a.Button,{icon:"fast-forward",onClick:function(){return n("time",{adjust:600})}}),(0,o.createVNode)(1,"br"),(0,o.createComponentVNode)(2,a.Button,{icon:"hourglass-start",content:"Short",onClick:function(){return n("preset",{preset:"short"})}}),(0,o.createComponentVNode)(2,a.Button,{icon:"hourglass-start",content:"Medium",onClick:function(){return n("preset",{preset:"medium"})}}),(0,o.createComponentVNode)(2,a.Button,{icon:"hourglass-start",content:"Long",onClick:function(){return n("preset",{preset:"long"})}})]})}},function(e,t,n){"use strict";t.__esModule=!0,t.Canister=void 0;var o=n(1),r=n(3),a=n(2);t.Canister=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data;return(0,o.createFragment)([(0,o.createComponentVNode)(2,a.NoticeBox,{children:["The regulator ",i.hasHoldingTank?"is":"is not"," connected to a tank."]}),(0,o.createComponentVNode)(2,a.Section,{title:"Canister",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:"pencil-alt",content:"Relabel",onClick:function(){return n("relabel")}}),children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Pressure",children:[(0,o.createComponentVNode)(2,a.AnimatedNumber,{value:i.tankPressure})," kPa"]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Port",color:i.portConnected?"good":"average",content:i.portConnected?"Connected":"Not Connected"}),!!i.isPrototype&&(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Access",children:(0,o.createComponentVNode)(2,a.Button,{icon:i.restricted?"lock":"unlock",color:"caution",content:i.restricted?"Restricted to Engineering":"Public",onClick:function(){return n("restricted")}})})]})}),(0,o.createComponentVNode)(2,a.Section,{title:"Valve",children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Release Pressure",children:(0,o.createComponentVNode)(2,a.ProgressBar,{value:i.releasePressure/(i.maxReleasePressure-i.minReleasePressure),children:[(0,o.createComponentVNode)(2,a.AnimatedNumber,{value:i.releasePressure})," kPa"]})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Pressure Regulator",children:[(0,o.createComponentVNode)(2,a.Button,{icon:"undo",disabled:i.releasePressure===i.defaultReleasePressure,content:"Reset",onClick:function(){return n("pressure",{pressure:"reset"})}}),(0,o.createComponentVNode)(2,a.Button,{icon:"minus",disabled:i.releasePressure<=i.minReleasePressure,content:"Min",onClick:function(){return n("pressure",{pressure:"min"})}}),(0,o.createComponentVNode)(2,a.Button,{icon:"pencil-alt",content:"Set",onClick:function(){return n("pressure",{pressure:"input"})}}),(0,o.createComponentVNode)(2,a.Button,{icon:"plus",disabled:i.releasePressure>=i.maxReleasePressure,content:"Max",onClick:function(){return n("pressure",{pressure:"max"})}})]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Valve",children:(0,o.createComponentVNode)(2,a.Button,{icon:i.valveOpen?"unlock":"lock",color:i.valveOpen?i.hasHoldingTank?"caution":"danger":null,content:i.valveOpen?"Open":"Closed",onClick:function(){return n("valve")}})})]})}),(0,o.createComponentVNode)(2,a.Section,{title:"Holding Tank",buttons:!!i.hasHoldingTank&&(0,o.createComponentVNode)(2,a.Button,{icon:"eject",color:i.valveOpen&&"danger",content:"Eject",onClick:function(){return n("eject")}}),children:[!!i.hasHoldingTank&&(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Label",children:i.holdingTank.name}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Pressure",children:[(0,o.createComponentVNode)(2,a.AnimatedNumber,{value:i.holdingTank.tankPressure})," kPa"]})]}),!i.hasHoldingTank&&(0,o.createComponentVNode)(2,a.Box,{color:"average",children:"No Holding Tank"})]})],4)}},function(e,t,n){"use strict";t.__esModule=!0,t.CargoExpress=t.Cargo=void 0;var o=n(1),r=n(24),a=n(16),i=n(2),c=n(69);t.Cargo=function(e){var t=e.state,n=t.config,r=t.data,c=n.ref,s=r.supplies||{},p=r.requests||[],m=r.cart||[],f=m.reduce((function(e,t){return e+t.cost}),0),h=!r.requestonly&&(0,o.createFragment)([(0,o.createComponentVNode)(2,i.Box,{inline:!0,mx:1,children:[0===m.length&&"Cart is empty",1===m.length&&"1 item",m.length>=2&&m.length+" items"," ",f>0&&"("+f+" cr)"]}),(0,o.createComponentVNode)(2,i.Button,{icon:"times",color:"transparent",content:"Clear",onClick:function(){return(0,a.act)(c,"clear")}})],4);return(0,o.createFragment)([(0,o.createComponentVNode)(2,i.Section,{title:"Cargo",buttons:(0,o.createComponentVNode)(2,i.Box,{inline:!0,bold:!0,children:[(0,o.createComponentVNode)(2,i.AnimatedNumber,{value:Math.round(r.points)})," credits"]}),children:(0,o.createComponentVNode)(2,i.LabeledList,{children:[(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Shuttle",children:r.docked&&!r.requestonly&&(0,o.createComponentVNode)(2,i.Button,{content:r.location,onClick:function(){return(0,a.act)(c,"send")}})||r.location}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"CentCom Message",children:r.message}),r.loan&&!r.requestonly?(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Loan",children:r.loan_dispatched?(0,o.createComponentVNode)(2,i.Box,{color:"bad",children:"Loaned to Centcom"}):(0,o.createComponentVNode)(2,i.Button,{content:"Loan Shuttle",disabled:!(r.away&&r.docked),onClick:function(){return(0,a.act)(c,"loan")}})}):""]})}),(0,o.createComponentVNode)(2,i.Tabs,{mt:2,children:[(0,o.createComponentVNode)(2,i.Tabs.Tab,{label:"Catalog",icon:"list",lineHeight:"23px",children:function(){return(0,o.createComponentVNode)(2,i.Section,{title:"Catalog",buttons:h,children:(0,o.createComponentVNode)(2,l,{state:t,supplies:s})})}},"catalog"),(0,o.createComponentVNode)(2,i.Tabs.Tab,{label:"Requests ("+p.length+")",icon:"envelope",highlight:p.length>0,lineHeight:"23px",children:function(){return(0,o.createComponentVNode)(2,i.Section,{title:"Active Requests",buttons:!r.requestonly&&(0,o.createComponentVNode)(2,i.Button,{icon:"times",content:"Clear",color:"transparent",onClick:function(){return(0,a.act)(c,"denyall")}}),children:(0,o.createComponentVNode)(2,u,{state:t,requests:p})})}},"requests"),!r.requestonly&&(0,o.createComponentVNode)(2,i.Tabs.Tab,{label:"Checkout ("+m.length+")",icon:"shopping-cart",highlight:m.length>0,lineHeight:"23px",children:function(){return(0,o.createComponentVNode)(2,i.Section,{title:"Current Cart",buttons:h,children:(0,o.createComponentVNode)(2,d,{state:t,cart:m})})}},"cart")]})],4)};var l=function(e){var t=e.state,n=e.supplies,c=t.config,l=t.data,u=c.ref,d=function(e){var t=n[e].packs;return(0,o.createVNode)(1,"table","LabeledList",t.map((function(e){return(0,o.createVNode)(1,"tr","LabeledList__row candystripe",[(0,o.createVNode)(1,"td","LabeledList__cell LabeledList__label",[e.name,(0,o.createTextVNode)(":")],0),(0,o.createVNode)(1,"td","LabeledList__cell",!!e.small_item&&(0,o.createFragment)([(0,o.createTextVNode)("Small Item")],4),0),(0,o.createVNode)(1,"td","LabeledList__cell",!!e.access&&(0,o.createFragment)([(0,o.createTextVNode)("Restrictions Apply")],4),0),(0,o.createVNode)(1,"td","LabeledList__cell LabeledList__buttons",(0,o.createComponentVNode)(2,i.Button,{fluid:!0,content:(l.self_paid?Math.round(1.1*e.cost):e.cost)+" credits",tooltip:e.desc,tooltipPosition:"left",onClick:function(){return(0,a.act)(u,"add",{id:e.id})}}),2)],4,null,e.name)})),0)};return(0,o.createComponentVNode)(2,i.Tabs,{vertical:!0,children:(0,r.map)((function(e){var t=e.name;return(0,o.createComponentVNode)(2,i.Tabs.Tab,{label:t,children:d},t)}))(n)})},u=function(e){var t=e.state,n=e.requests,r=t.config,c=t.data,l=r.ref;return 0===n.length?(0,o.createComponentVNode)(2,i.Box,{color:"good",children:"No Requests"}):(0,o.createVNode)(1,"table","LabeledList",n.map((function(e){return(0,o.createFragment)([(0,o.createVNode)(1,"tr","LabeledList__row candystripe",[(0,o.createVNode)(1,"td","LabeledList__cell LabeledList__label",[(0,o.createTextVNode)("#"),e.id,(0,o.createTextVNode)(":")],0),(0,o.createVNode)(1,"td","LabeledList__cell LabeledList__content",e.object,0),(0,o.createVNode)(1,"td","LabeledList__cell",[(0,o.createTextVNode)("By "),(0,o.createVNode)(1,"b",null,e.orderer,0)],4),(0,o.createVNode)(1,"td","LabeledList__cell",(0,o.createVNode)(1,"i",null,e.reason,0),2),(0,o.createVNode)(1,"td","LabeledList__cell LabeledList__buttons",[e.cost,(0,o.createTextVNode)(" credits"),(0,o.createTextVNode)(" "),!c.requestonly&&(0,o.createFragment)([(0,o.createComponentVNode)(2,i.Button,{icon:"check",color:"good",onClick:function(){return(0,a.act)(l,"approve",{id:e.id})}}),(0,o.createComponentVNode)(2,i.Button,{icon:"times",color:"bad",onClick:function(){return(0,a.act)(l,"deny",{id:e.id})}})],4)],0)],4)],4,e.id)})),0)},d=function(e){var t=e.state,n=e.cart,r=t.config,c=t.data,l=r.ref;return(0,o.createFragment)([0===n.length&&"Nothing in cart",n.length>0&&(0,o.createComponentVNode)(2,i.LabeledList,{children:n.map((function(e){return(0,o.createComponentVNode)(2,i.LabeledList.Item,{className:"candystripe",label:"#"+e.id,buttons:(0,o.createFragment)([(0,o.createComponentVNode)(2,i.Box,{inline:!0,mx:2,children:[!!e.paid&&(0,o.createVNode)(1,"b",null,"[Paid Privately]",16)," ",e.cost," credits"]}),(0,o.createComponentVNode)(2,i.Button,{icon:"minus",onClick:function(){return(0,a.act)(l,"remove",{id:e.id})}})],4),children:e.object},e.id)}))}),n.length>0&&!c.requestonly&&(0,o.createComponentVNode)(2,i.Box,{mt:2,children:1===c.away&&1===c.docked&&(0,o.createComponentVNode)(2,i.Button,{color:"green",style:{"line-height":"28px",padding:"0 12px"},content:"Confirm the order",onClick:function(){return(0,a.act)(l,"send")}})||(0,o.createComponentVNode)(2,i.Box,{opacity:.5,children:["Shuttle in ",c.location,"."]})})],0)};t.CargoExpress=function(e){var t=e.state,n=t.config,r=t.data,u=n.ref,d=r.supplies||{};return(0,o.createFragment)([(0,o.createComponentVNode)(2,c.InterfaceLockNoticeBox,{siliconUser:r.siliconUser,locked:r.locked,onLockStatusChange:function(){return(0,a.act)(u,"lock")},accessText:"a QM-level ID card"}),!r.locked&&(0,o.createFragment)([(0,o.createComponentVNode)(2,i.Section,{title:"Cargo Express",buttons:(0,o.createComponentVNode)(2,i.Box,{inline:!0,bold:!0,children:[(0,o.createComponentVNode)(2,i.AnimatedNumber,{value:Math.round(r.points)})," credits"]}),children:(0,o.createComponentVNode)(2,i.LabeledList,{children:[(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Landing Location",children:[(0,o.createComponentVNode)(2,i.Button,{content:"Cargo Bay",selected:!r.usingBeacon,onClick:function(){return(0,a.act)(u,"LZCargo")}}),(0,o.createComponentVNode)(2,i.Button,{selected:r.usingBeacon,disabled:!r.hasBeacon,onClick:function(){return(0,a.act)(u,"LZBeacon")},children:[r.beaconzone," (",r.beaconName,")"]}),(0,o.createComponentVNode)(2,i.Button,{content:r.printMsg,disabled:!r.canBuyBeacon,onClick:function(){return(0,a.act)(u,"printBeacon")}})]}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Notice",children:r.message})]})}),(0,o.createComponentVNode)(2,l,{state:t,supplies:d})],4)],0)}},function(e,t,n){"use strict";t.__esModule=!0,t.CellularEmporium=void 0;var o=n(1),r=n(3),a=n(2);t.CellularEmporium=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data,c=i.abilities;return(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Section,{children:(0,o.createComponentVNode)(2,a.LabeledList,{children:(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Genetic Points",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:"undo",content:"Readapt",disabled:!i.can_readapt,onClick:function(){return n("readapt")}}),children:i.genetic_points_remaining})})}),(0,o.createComponentVNode)(2,a.Section,{children:(0,o.createComponentVNode)(2,a.LabeledList,{children:c.map((function(e){return(0,o.createComponentVNode)(2,a.LabeledList.Item,{className:"candystripe",label:e.name,buttons:(0,o.createFragment)([e.dna_cost," ",(0,o.createComponentVNode)(2,a.Button,{content:e.owned?"Evolved":"Evolve",selected:e.owned,onClick:function(){return n("evolve",{name:e.name})}})],0),children:[e.desc,(0,o.createComponentVNode)(2,a.Box,{color:"good",children:e.helptext})]},e.name)}))})})],4)}},function(e,t,n){"use strict";t.__esModule=!0,t.CentcomPodLauncher=void 0;var o=n(1),r=(n(23),n(3)),a=n(2);t.CentcomPodLauncher=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data;return(0,o.createFragment)([(0,o.createComponentVNode)(2,a.NoticeBox,{children:"To use this, simply spawn the atoms you want in one of the five Centcom Supplypod Bays. Items in the bay will then be launched inside your supplypod, one turf-full at a time! You can optionally use the following buttons to configure how the supplypod acts."}),(0,o.createComponentVNode)(2,a.Section,{title:"Centcom Pod Customization (To be used against Helen Weinstein)",children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Supply Bay",children:[(0,o.createComponentVNode)(2,a.Button,{content:"Bay #1",selected:1===i.bayNumber,onClick:function(){return n("bay1")}}),(0,o.createComponentVNode)(2,a.Button,{content:"Bay #2",selected:2===i.bayNumber,onClick:function(){return n("bay2")}}),(0,o.createComponentVNode)(2,a.Button,{content:"Bay #3",selected:3===i.bayNumber,onClick:function(){return n("bay3")}}),(0,o.createComponentVNode)(2,a.Button,{content:"Bay #4",selected:4===i.bayNumber,onClick:function(){return n("bay4")}}),(0,o.createComponentVNode)(2,a.Button,{content:"ERT Bay",selected:5===i.bayNumber,tooltip:"This bay is located on the western edge of CentCom. Its the\nglass room directly west of where ERT spawn, and south of the\nCentCom ferry. Useful for launching ERT/Deathsquads/etc. onto\nthe station via drop pods.",onClick:function(){return n("bay5")}})]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Teleport to",children:[(0,o.createComponentVNode)(2,a.Button,{content:i.bay,onClick:function(){return n("teleportCentcom")}}),(0,o.createComponentVNode)(2,a.Button,{content:i.oldArea?i.oldArea:"Where you were",disabled:!i.oldArea,onClick:function(){return n("teleportBack")}})]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Clone Mode",children:(0,o.createComponentVNode)(2,a.Button,{content:"Launch Clones",selected:i.launchClone,tooltip:"Choosing this will create a duplicate of the item to be\nlaunched in Centcom, allowing you to send one type of item\nmultiple times. Either way, the atoms are forceMoved into\nthe supplypod after it lands (but before it opens).",onClick:function(){return n("launchClone")}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Launch style",children:[(0,o.createComponentVNode)(2,a.Button,{content:"Ordered",selected:1===i.launchChoice,tooltip:'Instead of launching everything in the bay at once, this\nwill "scan" things (one turf-full at a time) in order, left\nto right and top to bottom. undoing will reset the "scanner"\nto the top-leftmost position.',onClick:function(){return n("launchOrdered")}}),(0,o.createComponentVNode)(2,a.Button,{content:"Random",selected:2===i.launchChoice,tooltip:"Instead of launching everything in the bay at once, this\nwill launch one random turf of items at a time.",onClick:function(){return n("launchRandom")}})]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Explosion",children:[(0,o.createComponentVNode)(2,a.Button,{content:"Custom Size",selected:1===i.explosionChoice,tooltip:"This will cause an explosion of whatever size you like\n(including flame range) to occur as soon as the supplypod\nlands. Dont worry, supply-pods are explosion-proof!",onClick:function(){return n("explosionCustom")}}),(0,o.createComponentVNode)(2,a.Button,{content:"Adminbus",selected:2===i.explosionChoice,tooltip:"This will cause a maxcap explosion (dependent on server\nconfig) to occur as soon as the supplypod lands. Dont worry,\nsupply-pods are explosion-proof!",onClick:function(){return n("explosionBus")}})]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Damage",children:[(0,o.createComponentVNode)(2,a.Button,{content:"Custom Damage",selected:1===i.damageChoice,tooltip:"Anyone caught under the pod when it lands will be dealt\nthis amount of brute damage. Sucks to be them!",onClick:function(){return n("damageCustom")}}),(0,o.createComponentVNode)(2,a.Button,{content:"Gib",selected:2===i.damageChoice,tooltip:"This will attempt to gib any mob caught under the pod when\nit lands, as well as dealing a nice 5000 brute damage. Ya\nknow, just to be sure!",onClick:function(){return n("damageGib")}})]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Effects",children:[(0,o.createComponentVNode)(2,a.Button,{content:"Stun",selected:i.effectStun,tooltip:"Anyone who is on the turf when the supplypod is launched\nwill be stunned until the supplypod lands. They cant get\naway that easy!",onClick:function(){return n("effectStun")}}),(0,o.createComponentVNode)(2,a.Button,{content:"Delimb",selected:i.effectLimb,tooltip:"This will cause anyone caught under the pod to lose a limb,\nexcluding their head.",onClick:function(){return n("effectLimb")}}),(0,o.createComponentVNode)(2,a.Button,{content:"Yeet Organs",selected:i.effectOrgans,tooltip:"This will cause anyone caught under the pod to lose all\ntheir limbs and organs in a spectacular fashion.",onClick:function(){return n("effectOrgans")}})]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Movement",children:[(0,o.createComponentVNode)(2,a.Button,{content:"Bluespace",selected:i.effectBluespace,tooltip:"Gives the supplypod an advanced Bluespace Recyling Device.\nAfter opening, the supplypod will be warped directly to the\nsurface of a nearby NT-designated trash planet (/r/ss13).",onClick:function(){return n("effectBluespace")}}),(0,o.createComponentVNode)(2,a.Button,{content:"Stealth",selected:i.effectStealth,tooltip:'This hides the red target icon from appearing when you\nlaunch the supplypod. Combos well with the "Invisible"\nstyle. Sneak attack, go!',onClick:function(){return n("effectStealth")}}),(0,o.createComponentVNode)(2,a.Button,{content:"Quiet",selected:i.effectQuiet,tooltip:"This will keep the supplypod from making any sounds, except\nfor those specifically set by admins in the Sound section.",onClick:function(){return n("effectQuiet")}}),(0,o.createComponentVNode)(2,a.Button,{content:"Reverse Mode",selected:i.effectReverse,tooltip:"This pod will not send any items. Instead, after landing,\nthe supplypod will close (similar to a normal closet closing),\nand then launch back to the right centcom bay to drop off any\nnew contents.",onClick:function(){return n("effectReverse")}}),(0,o.createComponentVNode)(2,a.Button,{content:"Missile Mode",selected:i.effectMissile,tooltip:"This pod will not send any items. Instead, it will immediately\ndelete after landing (Similar visually to setting openDelay\n& departDelay to 0, but this looks nicer). Useful if you just\nwanna fuck some shit up. Combos well with the Missile style.",onClick:function(){return n("effectMissile")}}),(0,o.createComponentVNode)(2,a.Button,{content:"Any Descent Angle",selected:i.effectCircle,tooltip:"This will make the supplypod come in from any angle. Im not\nsure why this feature exists, but here it is.",onClick:function(){return n("effectCircle")}}),(0,o.createComponentVNode)(2,a.Button,{content:"Machine Gun Mode",selected:i.effectBurst,tooltip:"This will make each click launch 5 supplypods inaccuratly\naround the target turf (a 3x3 area). Combos well with the\nMissile Mode if you dont want shit lying everywhere after.",onClick:function(){return n("effectBurst")}}),(0,o.createComponentVNode)(2,a.Button,{content:"Specific Target",selected:i.effectTarget,tooltip:"This will make the supplypod target a specific atom, instead\nof the mouses position. Smiting does this automatically!",onClick:function(){return n("effectTarget")}})]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Name/Desc",children:[(0,o.createComponentVNode)(2,a.Button,{content:"Custom Name/Desc",selected:i.effectName,tooltip:"Allows you to add a custom name and description.",onClick:function(){return n("effectName")}}),(0,o.createComponentVNode)(2,a.Button,{content:"Alert Ghosts",selected:i.effectAnnounce,tooltip:"Alerts ghosts when a pod is launched. Useful if some dumb\nshit is aboutta come outta the pod.",onClick:function(){return n("effectAnnounce")}})]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Sound",children:[(0,o.createComponentVNode)(2,a.Button,{content:"Custom Falling Sound",selected:i.fallingSound,tooltip:"Choose a sound to play as the pod falls. Note that for this\nto work right you should know the exact length of the sound,\nin seconds.",onClick:function(){return n("fallSound")}}),(0,o.createComponentVNode)(2,a.Button,{content:"Custom Landing Sound",selected:i.landingSound,tooltip:"Choose a sound to play when the pod lands.",onClick:function(){return n("landingSound")}}),(0,o.createComponentVNode)(2,a.Button,{content:"Custom Opening Sound",selected:i.openingSound,tooltip:"Choose a sound to play when the pod opens.",onClick:function(){return n("openingSound")}}),(0,o.createComponentVNode)(2,a.Button,{content:"Custom Leaving Sound",selected:i.leavingSound,tooltip:"Choose a sound to play when the pod departs (whether that be\ndelection in the case of a bluespace pod, or leaving for\ncentcom for a reversing pod).",onClick:function(){return n("leavingSound")}}),(0,o.createComponentVNode)(2,a.Button,{content:"Admin Sound Volume",selected:i.soundVolume,tooltip:"Choose the volume for the sound to play at. Default values\nare between 1 and 100, but hey, do whatever. Im a tooltip,\nnot a cop.",onClick:function(){return n("soundVolume")}})]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Timers",children:[(0,o.createComponentVNode)(2,a.Button,{content:"Custom Falling Duration",selected:4!==i.fallDuration,tooltip:"Set how long the animation for the pod falling lasts. Create\ndramatic, slow falling pods!",onClick:function(){return n("fallDuration")}}),(0,o.createComponentVNode)(2,a.Button,{content:"Custom Landing Time",selected:20!==i.landingDelay,tooltip:"Choose the amount of time it takes for the supplypod to hit\nthe station. By default this value is 0.5 seconds.",onClick:function(){return n("landingDelay")}}),(0,o.createComponentVNode)(2,a.Button,{content:"Custom Opening Time",selected:30!==i.openingDelay,tooltip:"Choose the amount of time it takes for the supplypod to open\nafter landing. Useful for giving whatevers inside the pod a\nnice dramatic entrance! By default this value is 3 seconds.",onClick:function(){return n("openingDelay")}}),(0,o.createComponentVNode)(2,a.Button,{content:"Custom Leaving Time",selected:30!==i.departureDelay,tooltip:"Choose the amount of time it takes for the supplypod to leave\nafter landing. By default this value is 3 seconds.",onClick:function(){return n("departureDelay")}})]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Style",children:[(0,o.createComponentVNode)(2,a.Button,{content:"Standard",selected:1===i.styleChoice,tooltip:"Same color scheme as the normal station-used supplypods",onClick:function(){return n("styleStandard")}}),(0,o.createComponentVNode)(2,a.Button,{content:"Advanced",selected:2===i.styleChoice,tooltip:"The same as the stations upgraded blue-and-white\nBluespace Supplypods",onClick:function(){return n("styleBluespace")}}),(0,o.createComponentVNode)(2,a.Button,{content:"Syndicate",selected:4===i.styleChoice,tooltip:"A menacing black and blood-red. Great for sending meme-ops\nin style!",onClick:function(){return n("styleSyndie")}}),(0,o.createComponentVNode)(2,a.Button,{content:"Deathsquad",selected:5===i.styleChoice,tooltip:"A menacing black and dark blue. Great for sending deathsquads\nin style!",onClick:function(){return n("styleBlue")}}),(0,o.createComponentVNode)(2,a.Button,{content:"Cult Pod",selected:6===i.styleChoice,tooltip:"A blood and rune covered cult pod!",onClick:function(){return n("styleCult")}}),(0,o.createComponentVNode)(2,a.Button,{content:"Missile",selected:7===i.styleChoice,tooltip:"A large missile. Combos well with a missile mode, so the\nmissile doesnt stick around after landing.",onClick:function(){return n("styleMissile")}}),(0,o.createComponentVNode)(2,a.Button,{content:"Syndicate Missile",selected:8===i.styleChoice,tooltip:"A large blood-red missile. Combos well with missile mode,\nso the missile doesnt stick around after landing.",onClick:function(){return n("styleSMissile")}}),(0,o.createComponentVNode)(2,a.Button,{content:"Supply Crate",selected:9===i.styleChoice,tooltip:"A large, dark-green military supply crate.",onClick:function(){return n("styleBox")}}),(0,o.createComponentVNode)(2,a.Button,{content:"HONK",selected:10===i.styleChoice,tooltip:"A colorful, clown inspired look.",onClick:function(){return n("styleHONK")}}),(0,o.createComponentVNode)(2,a.Button,{content:"~Fruit",selected:11===i.styleChoice,tooltip:"For when an orange is angry",onClick:function(){return n("styleFruit")}}),(0,o.createComponentVNode)(2,a.Button,{content:"Invisible",selected:12===i.styleChoice,tooltip:'Makes the supplypod invisible! Useful for when you want to\nuse this feature with a gateway or something. Combos well\nwith the "Stealth" and "Quiet Landing" effects.',onClick:function(){return n("styleInvisible")}}),(0,o.createComponentVNode)(2,a.Button,{content:"Gondola",selected:13===i.styleChoice,tooltip:"This gondola can control when he wants to deliver his supplies\nif he has a smart enough mind, so offer up his body to ghosts\nfor maximum enjoyment. (Make sure to turn off bluespace and\nset a arbitrarily high open-time if you do!",onClick:function(){return n("styleGondola")}}),(0,o.createComponentVNode)(2,a.Button,{content:"Show Contents (See Through Pod)",selected:14===i.styleChoice,tooltip:"By selecting this, the pod will instead look like whatevers\ninside it (as if it were the contents falling by themselves,\nwithout a pod). Useful for launching mechs at the station\nand standing tall as they soar in from the heavens.",onClick:function(){return n("styleSeeThrough")}})]})]})}),(0,o.createComponentVNode)(2,a.Section,{children:(0,o.createComponentVNode)(2,a.LabeledList,{children:(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:i.numObjects+" turfs in "+i.bay,buttons:(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Button,{content:"undo Pody Bay",tooltip:"Manually undoes the possible things to launch in the\npod bay.",onClick:function(){return n("undo")}}),(0,o.createComponentVNode)(2,a.Button,{content:"Enter Launch Mode",selected:i.giveLauncher,tooltip:"THE CODEX ASTARTES CALLS THIS MANEUVER: STEEL RAIN",onClick:function(){return n("giveLauncher")}}),(0,o.createComponentVNode)(2,a.Button,{content:"Clear Selected Bay",color:"bad",tooltip:"This will delete all objs and mobs from the selected bay.",tooltipPosition:"left",onClick:function(){return n("clearBay")}})],4)})})})],4)}},function(e,t,n){"use strict";t.__esModule=!0,t.ChemAcclimator=void 0;var o=n(1),r=n(3),a=n(2);t.ChemAcclimator=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data;return(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Section,{title:"Acclimator",children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Current Temperature",children:[i.chem_temp," K"]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Target Temperature",children:(0,o.createComponentVNode)(2,a.NumberInput,{value:i.target_temperature,unit:"K",width:"59px",minValue:0,maxValue:1e3,step:5,stepPixelSize:2,onChange:function(e,t){return n("set_target_temperature",{temperature:t})}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Acceptable Temp. Difference",children:(0,o.createComponentVNode)(2,a.NumberInput,{value:i.allowed_temperature_difference,unit:"K",width:"59px",minValue:1,maxValue:i.target_temperature,stepPixelSize:2,onChange:function(e,t){n("set_allowed_temperature_difference",{temperature:t})}})})]})}),(0,o.createComponentVNode)(2,a.Section,{title:"Status",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:"power-off",content:i.enabled?"On":"Off",selected:i.enabled,onClick:function(){return n("toggle_power")}}),children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Volume",children:(0,o.createComponentVNode)(2,a.NumberInput,{value:i.max_volume,unit:"u",width:"50px",minValue:i.reagent_volume,maxValue:200,step:2,stepPixelSize:2,onChange:function(e,t){return n("change_volume",{volume:t})}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Current Operation",children:i.acclimate_state}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Current State",children:i.emptying?"Emptying":"Filling"})]})})],4)}},function(e,t,n){"use strict";t.__esModule=!0,t.ChemDebugSynthesizer=void 0;var o=n(1),r=n(3),a=n(2);t.ChemDebugSynthesizer=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data,c=i.amount,l=i.beakerCurrentVolume,u=i.beakerMaxVolume,d=i.isBeakerLoaded,s=i.beakerContents,p=void 0===s?[]:s;return(0,o.createComponentVNode)(2,a.Section,{title:"Recipient",buttons:d?(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Button,{icon:"eject",content:"Eject",onClick:function(){return n("ejectBeaker")}}),(0,o.createComponentVNode)(2,a.NumberInput,{value:c,unit:"u",minValue:1,maxValue:u,step:1,stepPixelSize:2,onChange:function(e,t){return n("amount",{amount:t})}}),(0,o.createComponentVNode)(2,a.Button,{icon:"plus",content:"Input",onClick:function(){return n("input")}})],4):(0,o.createComponentVNode)(2,a.Button,{icon:"plus",content:"Create Beaker",onClick:function(){return n("makecup")}}),children:d?(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Box,{children:[(0,o.createComponentVNode)(2,a.AnimatedNumber,{value:l})," / "+u+" u"]}),p.length>0?(0,o.createComponentVNode)(2,a.LabeledList,{children:p.map((function(e){return(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:e.name,children:[e.volume," u"]},e.name)}))}):(0,o.createComponentVNode)(2,a.Box,{color:"bad",children:"Recipient Empty"})],0):(0,o.createComponentVNode)(2,a.Box,{color:"average",children:"No Recipient"})})}},function(e,t,n){"use strict";t.__esModule=!0,t.ChemDispenser=void 0;var o=n(1),r=n(18),a=n(23),i=n(3),c=n(2);t.ChemDispenser=function(e){var t=(0,i.useBackend)(e),n=t.act,l=t.data,u=!!l.recordingRecipe,d=Object.keys(l.recipes).map((function(e){return{name:e,contents:l.recipes[e]}})),s=l.beakerTransferAmounts||[],p=u&&Object.keys(l.recordingRecipe).map((function(e){return{id:e,name:(0,a.toTitleCase)(e.replace(/_/," ")),volume:l.recordingRecipe[e]}}))||l.beakerContents||[];return(0,o.createFragment)([(0,o.createComponentVNode)(2,c.Section,{title:"Status",buttons:u&&(0,o.createComponentVNode)(2,c.Box,{inline:!0,mx:1,color:"red",children:[(0,o.createComponentVNode)(2,c.Icon,{name:"circle",mr:1}),"Recording"]}),children:(0,o.createComponentVNode)(2,c.LabeledList,{children:(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:"Energy",children:(0,o.createComponentVNode)(2,c.ProgressBar,{value:l.energy/l.maxEnergy,content:(0,r.toFixed)(l.energy)+" units"})})})}),(0,o.createComponentVNode)(2,c.Section,{title:"Recipes",buttons:(0,o.createFragment)([!u&&(0,o.createComponentVNode)(2,c.Box,{inline:!0,mx:1,children:(0,o.createComponentVNode)(2,c.Button,{color:"transparent",content:"Clear recipes",onClick:function(){return n("clear_recipes")}})}),!u&&(0,o.createComponentVNode)(2,c.Button,{icon:"circle",disabled:!l.isBeakerLoaded,content:"Record",onClick:function(){return n("record_recipe")}}),u&&(0,o.createComponentVNode)(2,c.Button,{icon:"ban",color:"transparent",content:"Discard",onClick:function(){return n("cancel_recording")}}),u&&(0,o.createComponentVNode)(2,c.Button,{icon:"save",color:"green",content:"Save",onClick:function(){return n("save_recording")}})],0),children:(0,o.createComponentVNode)(2,c.Box,{mr:-1,children:[d.map((function(e){return(0,o.createComponentVNode)(2,c.Button,{icon:"tint",width:"129.5px",lineHeight:"21px",content:e.name,onClick:function(){return n("dispense_recipe",{recipe:e.name})}},e.name)})),0===d.length&&(0,o.createComponentVNode)(2,c.Box,{color:"light-gray",children:"No recipes."})]})}),(0,o.createComponentVNode)(2,c.Section,{title:"Dispense",buttons:s.map((function(e){return(0,o.createComponentVNode)(2,c.Button,{icon:"plus",selected:e===l.amount,content:e,onClick:function(){return n("amount",{target:e})}},e)})),children:(0,o.createComponentVNode)(2,c.Box,{mr:-1,children:l.chemicals.map((function(e){return(0,o.createComponentVNode)(2,c.Button,{icon:"tint",width:"129.5px",lineHeight:"21px",content:e.title,onClick:function(){return n("dispense",{reagent:e.id})}},e.id)}))})}),(0,o.createComponentVNode)(2,c.Section,{title:"Beaker",buttons:s.map((function(e){return(0,o.createComponentVNode)(2,c.Button,{icon:"minus",disabled:u,content:e,onClick:function(){return n("remove",{amount:e})}},e)})),children:(0,o.createComponentVNode)(2,c.LabeledList,{children:[(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:"Beaker",buttons:!!l.isBeakerLoaded&&(0,o.createComponentVNode)(2,c.Button,{icon:"eject",content:"Eject",disabled:!l.isBeakerLoaded,onClick:function(){return n("eject")}}),children:(u?"Virtual beaker":l.isBeakerLoaded&&(0,o.createFragment)([(0,o.createComponentVNode)(2,c.AnimatedNumber,{initial:0,value:l.beakerCurrentVolume}),(0,o.createTextVNode)("/"),l.beakerMaxVolume,(0,o.createTextVNode)(" units, "),l.beakerCurrentpH,(0,o.createTextVNode)(" pH")],0))||"No beaker"}),(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:"Contents",children:[(0,o.createComponentVNode)(2,c.Box,{color:"label",children:l.isBeakerLoaded||u?0===p.length&&"Nothing":"N/A"}),p.map((function(e){return(0,o.createComponentVNode)(2,c.Box,{color:"label",children:[(0,o.createComponentVNode)(2,c.AnimatedNumber,{initial:0,value:e.volume})," ","units of ",e.name]},e.name)}))]})]})})],4)}},function(e,t,n){"use strict";t.__esModule=!0,t.ChemFilter=t.ChemFilterPane=void 0;var o=n(1),r=n(3),a=n(2);var i=function(e){var t=(0,r.useBackend)(e).act,n=e.title,i=e.list,c=e.reagentName,l=e.onReagentInput,u=n.toLowerCase();return(0,o.createComponentVNode)(2,a.Section,{title:n,minHeight:40,ml:.5,mr:.5,buttons:(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Input,{placeholder:"Reagent",width:"140px",onInput:function(e,t){return l(t)}}),(0,o.createComponentVNode)(2,a.Button,{icon:"plus",onClick:function(){return t("add",{which:u,name:c})}})],4),children:i.map((function(e){return(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Button,{fluid:!0,icon:"minus",content:e,onClick:function(){return t("remove",{which:u,reagent:e})}})],4,e)}))})};t.ChemFilterPane=i;var c=function(e){var t,n;function r(){var t;return(t=e.call(this)||this).state={leftReagentName:"",rightReagentName:""},t}n=e,(t=r).prototype=Object.create(n.prototype),t.prototype.constructor=t,t.__proto__=n;var c=r.prototype;return c.setLeftReagentName=function(e){this.setState({leftReagentName:e})},c.setRightReagentName=function(e){this.setState({rightReagentName:e})},c.render=function(){var e=this,t=this.props.state,n=t.data,r=n.left,c=void 0===r?[]:r,l=n.right,u=void 0===l?[]:l;return(0,o.createComponentVNode)(2,a.Grid,{children:[(0,o.createComponentVNode)(2,a.Grid.Column,{children:(0,o.createComponentVNode)(2,i,{title:"Left",list:c,reagentName:this.state.leftReagentName,onReagentInput:function(t){return e.setLeftReagentName(t)},state:t})}),(0,o.createComponentVNode)(2,a.Grid.Column,{children:(0,o.createComponentVNode)(2,i,{title:"Right",list:u,reagentName:this.state.rightReagentName,onReagentInput:function(t){return e.setRightReagentName(t)},state:t})})]})},r}(o.Component);t.ChemFilter=c},function(e,t,n){"use strict";t.__esModule=!0,t.ChemHeater=void 0;var o=n(1),r=n(18),a=n(3),i=n(2),c=n(164);t.ChemHeater=function(e){var t=(0,a.useBackend)(e),n=t.act,l=t.data,u=l.targetTemp,d=l.isActive,s=l.isBeakerLoaded,p=l.currentTemp,m=l.currentpH,f=l.beakerCurrentVolume,h=l.beakerMaxVolume,C=l.beakerContents,g=void 0===C?[]:C;return(0,o.createFragment)([(0,o.createComponentVNode)(2,i.Section,{title:"Thermostat",buttons:(0,o.createComponentVNode)(2,i.Button,{icon:d?"power-off":"times",selected:d,content:d?"On":"Off",onClick:function(){return n("power")}}),children:(0,o.createComponentVNode)(2,i.LabeledList,{children:[(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Target",children:(0,o.createComponentVNode)(2,i.NumberInput,{width:"65px",unit:"K",step:2,stepPixelSize:1,value:(0,r.round)(u),minValue:0,maxValue:1e3,onDrag:function(e,t){return n("temperature",{target:t})}})}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Temperature",children:(0,o.createComponentVNode)(2,i.Box,{width:"60px",textAlign:"right",children:s&&(0,o.createComponentVNode)(2,i.AnimatedNumber,{value:p,format:function(e){return(0,r.toFixed)(e)+" K"}})||"\u2014"})}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"pH",children:(0,o.createComponentVNode)(2,i.Box,{width:"60px",textAlign:"right",children:s&&(0,o.createComponentVNode)(2,i.AnimatedNumber,{value:m,format:function(e){return(0,r.toFixed)(e)+" pH"}})||"-"})})]})}),(0,o.createComponentVNode)(2,i.Section,{title:"Beaker",buttons:!!s&&(0,o.createFragment)([(0,o.createComponentVNode)(2,i.Box,{inline:!0,color:"label",mr:2,children:[f," / ",h," units"]}),(0,o.createComponentVNode)(2,i.Button,{icon:"eject",content:"Eject",onClick:function(){return n("eject")}})],4),children:(0,o.createComponentVNode)(2,c.BeakerContents,{beakerLoaded:s,beakerContents:g})})],4)}},function(e,t,n){"use strict";t.__esModule=!0,t.ChemMaster=void 0;var o=n(1),r=n(16),a=n(2);t.ChemMaster=function(e){var t=e.state,n=t.config,l=t.data,d=n.ref,s=(l.screen,l.beakerContents),p=void 0===s?[]:s,m=l.bufferContents,f=void 0===m?[]:m,h=l.beakerCurrentVolume,C=l.beakerMaxVolume,g=l.isBeakerLoaded,b=l.isPillBottleLoaded,v=l.pillBottleCurrentAmount,N=l.pillBottleMaxAmount;return(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Section,{title:"Beaker",buttons:!!l.isBeakerLoaded&&(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Box,{inline:!0,color:"label",mr:2,children:[(0,o.createComponentVNode)(2,a.AnimatedNumber,{value:h,initial:0})," / "+C+" units"]}),(0,o.createComponentVNode)(2,a.Button,{icon:"eject",content:"Eject",onClick:function(){return(0,r.act)(d,"eject")}})],4),children:[!g&&(0,o.createComponentVNode)(2,a.Box,{color:"label",mt:"3px",mb:"5px",children:"No beaker loaded."}),!!g&&0===p.length&&(0,o.createComponentVNode)(2,a.Box,{color:"label",mt:"3px",mb:"5px",children:"Beaker is empty."}),(0,o.createComponentVNode)(2,i,{children:p.map((function(e){return(0,o.createComponentVNode)(2,c,{state:t,chemical:e,transferTo:"buffer"},e.id)}))})]}),(0,o.createComponentVNode)(2,a.Section,{title:"Buffer",buttons:(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Box,{inline:!0,color:"label",mr:1,children:"Mode:"}),(0,o.createComponentVNode)(2,a.Button,{color:l.mode?"good":"bad",icon:l.mode?"exchange-alt":"times",content:l.mode?"Transfer":"Destroy",onClick:function(){return(0,r.act)(d,"toggleMode")}})],4),children:[0===f.length&&(0,o.createComponentVNode)(2,a.Box,{color:"label",mt:"3px",mb:"5px",children:"Buffer is empty."}),(0,o.createComponentVNode)(2,i,{children:f.map((function(e){return(0,o.createComponentVNode)(2,c,{state:t,chemical:e,transferTo:"beaker"},e.id)}))})]}),(0,o.createComponentVNode)(2,a.Section,{title:"Packaging",children:(0,o.createComponentVNode)(2,u,{state:t})}),!!b&&(0,o.createComponentVNode)(2,a.Section,{title:"Pill Bottle",buttons:(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Box,{inline:!0,color:"label",mr:2,children:[v," / ",N," pills"]}),(0,o.createComponentVNode)(2,a.Button,{icon:"eject",content:"Eject",onClick:function(){return(0,r.act)(d,"ejectPillBottle")}})],4)})],0)};var i=a.Table,c=function(e){var t=e.state,n=e.chemical,i=e.transferTo,c=t.config.ref;return(0,o.createComponentVNode)(2,a.Table.Row,{children:[(0,o.createComponentVNode)(2,a.Table.Cell,{color:"label",children:[(0,o.createComponentVNode)(2,a.AnimatedNumber,{value:n.volume,initial:0})," units of "+n.name]}),(0,o.createComponentVNode)(2,a.Table.Cell,{collapsing:!0,children:[(0,o.createComponentVNode)(2,a.Button,{content:"1",onClick:function(){return(0,r.act)(c,"transfer",{id:n.id,amount:1,to:i})}}),(0,o.createComponentVNode)(2,a.Button,{content:"5",onClick:function(){return(0,r.act)(c,"transfer",{id:n.id,amount:5,to:i})}}),(0,o.createComponentVNode)(2,a.Button,{content:"10",onClick:function(){return(0,r.act)(c,"transfer",{id:n.id,amount:10,to:i})}}),(0,o.createComponentVNode)(2,a.Button,{content:"All",onClick:function(){return(0,r.act)(c,"transfer",{id:n.id,amount:1e3,to:i})}}),(0,o.createComponentVNode)(2,a.Button,{icon:"ellipsis-h",title:"Custom amount",onClick:function(){return(0,r.act)(c,"transfer",{id:n.id,amount:-1,to:i})}}),(0,o.createComponentVNode)(2,a.Button,{icon:"question",title:"Analyze",onClick:function(){return(0,r.act)(c,"analyze",{id:n.id})}})]})]},n.id)},l=function(e){var t=e.label,n=e.amountUnit,r=e.amount,i=e.onChangeAmount,c=e.onCreate,l=e.sideNote;return(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:t,children:[(0,o.createComponentVNode)(2,a.NumberInput,{width:14,unit:n,step:1,stepPixelSize:15,value:r,minValue:1,maxValue:10,onChange:i}),(0,o.createComponentVNode)(2,a.Button,{ml:1,content:"Create",onClick:c}),(0,o.createComponentVNode)(2,a.Box,{inline:!0,ml:1,color:"label",content:l})]})},u=function(e){var t,n;function i(){var t;return(t=e.call(this)||this).state={pillAmount:1,patchAmount:1,bottleAmount:1,packAmount:1,vialAmount:1,dartAmount:1},t}return n=e,(t=i).prototype=Object.create(n.prototype),t.prototype.constructor=t,t.__proto__=n,i.prototype.render=function(){var e=this,t=(this.state,this.props),n=t.state.config.ref,i=this.state,c=i.pillAmount,u=i.patchAmount,d=i.bottleAmount,s=i.packAmount,p=i.vialAmount,m=i.dartAmount,f=t.state.data,h=f.condi,C=f.chosenPillStyle,g=f.pillStyles,b=void 0===g?[]:g;return(0,o.createComponentVNode)(2,a.LabeledList,{children:[!h&&(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Pill type",children:b.map((function(e){return(0,o.createComponentVNode)(2,a.Button,{width:5,selected:e.id===C,textAlign:"center",color:"transparent",onClick:function(){return(0,r.act)(n,"pillStyle",{id:e.id})},children:(0,o.createComponentVNode)(2,a.Box,{mx:-1,className:e.className})},e.id)}))}),!h&&(0,o.createComponentVNode)(2,l,{label:"Pills",amount:c,amountUnit:"pills",sideNote:"max 50u",onChangeAmount:function(t,n){return e.setState({pillAmount:n})},onCreate:function(){return(0,r.act)(n,"create",{type:"pill",amount:c,volume:"auto"})}}),!h&&(0,o.createComponentVNode)(2,l,{label:"Patches",amount:u,amountUnit:"patches",sideNote:"max 40u",onChangeAmount:function(t,n){return e.setState({patchAmount:n})},onCreate:function(){return(0,r.act)(n,"create",{type:"patch",amount:u,volume:"auto"})}}),!h&&(0,o.createComponentVNode)(2,l,{label:"Bottles",amount:d,amountUnit:"bottles",sideNote:"max 30u",onChangeAmount:function(t,n){return e.setState({bottleAmount:n})},onCreate:function(){return(0,r.act)(n,"create",{type:"bottle",amount:d,volume:"auto"})}}),!h&&(0,o.createComponentVNode)(2,l,{label:"Hypovials",amount:p,amountUnit:"vials",sideNote:"max 60u",onChangeAmount:function(t,n){return e.setState({vialAmount:n})},onCreate:function(){return(0,r.act)(n,"create",{type:"hypoVial",amount:p,volume:"auto"})}}),!h&&(0,o.createComponentVNode)(2,l,{label:"Smartdarts",amount:m,amountUnit:"darts",sideNote:"max 20u",onChangeAmount:function(t,n){return e.setState({dartAmount:n})},onCreate:function(){return(0,r.act)(n,"create",{type:"smartDart",amount:m,volume:"auto"})}}),!!h&&(0,o.createComponentVNode)(2,l,{label:"Packs",amount:s,amountUnit:"packs",sideNote:"max 10u",onChangeAmount:function(t,n){return e.setState({packAmount:n})},onCreate:function(){return(0,r.act)(n,"create",{type:"condimentPack",amount:s,volume:"auto"})}}),!!h&&(0,o.createComponentVNode)(2,l,{label:"Bottles",amount:d,amountUnit:"bottles",sideNote:"max 50u",onChangeAmount:function(t,n){return e.setState({bottleAmount:n})},onCreate:function(){return(0,r.act)(n,"create",{type:"condimentBottle",amount:d,volume:"auto"})}})]})},i}(o.Component)},function(e,t,n){"use strict";t.__esModule=!0,t.ChemPress=void 0;var o=n(1),r=n(3),a=n(2);t.ChemPress=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data,c=i.pill_size,l=i.pill_name,u=i.pill_style,d=i.pill_styles,s=void 0===d?[]:d;return(0,o.createComponentVNode)(2,a.Section,{children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Pill Volume",children:(0,o.createComponentVNode)(2,a.NumberInput,{value:c,unit:"u",width:"43px",minValue:5,maxValue:50,step:1,stepPixelSize:2,onChange:function(e,t){return n("change_pill_size",{volume:t})}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Pill Name",children:(0,o.createComponentVNode)(2,a.Input,{value:l,onChange:function(e,t){return n("change_pill_name",{name:t})}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Pill Style",children:s.map((function(e){return(0,o.createComponentVNode)(2,a.Button,{width:5,selected:e.id===u,textAlign:"center",color:"transparent",onClick:function(){return n("change_pill_style",{id:e.id})},children:(0,o.createComponentVNode)(2,a.Box,{mx:-1,className:e.class_name})},e.id)}))})]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.ChemReactionChamber=void 0;var o=n(1),r=n(16),a=n(2),i=n(24),c=n(12);var l=function(e){var t,n;function l(){var t;return(t=e.call(this)||this).state={reagentName:"",reagentQuantity:1},t}n=e,(t=l).prototype=Object.create(n.prototype),t.prototype.constructor=t,t.__proto__=n;var u=l.prototype;return u.setReagentName=function(e){this.setState({reagentName:e})},u.setReagentQuantity=function(e){this.setState({reagentQuantity:e})},u.render=function(){var e=this,t=this.props.state,n=t.config,l=t.data,u=n.ref,d=l.emptying,s=l.reagents||[];return(0,o.createComponentVNode)(2,a.Section,{title:"Reagents",buttons:(0,o.createComponentVNode)(2,a.Box,{inline:!0,bold:!0,color:d?"bad":"good",children:d?"Emptying":"Filling"}),children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createVNode)(1,"tr","LabledList__row",[(0,o.createVNode)(1,"td","LabeledList__cell",(0,o.createComponentVNode)(2,a.Input,{fluid:!0,value:"",placeholder:"Reagent Name",onInput:function(t,n){return e.setReagentName(n)}}),2,{colSpan:"2"}),(0,o.createVNode)(1,"td",(0,c.classes)(["LabeledList__buttons","LabeledList__cell"]),[(0,o.createComponentVNode)(2,a.NumberInput,{value:this.state.reagentQuantity,minValue:1,maxValue:100,step:1,stepPixelSize:3,width:"39px",onDrag:function(t,n){return e.setReagentQuantity(n)}}),(0,o.createComponentVNode)(2,a.Box,{inline:!0,mr:1}),(0,o.createComponentVNode)(2,a.Button,{icon:"plus",onClick:function(){return(0,r.act)(u,"add",{chem:e.state.reagentName,amount:e.state.reagentQuantity})}})],4)],4),(0,i.map)((function(e,t){return(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:t,buttons:(0,o.createComponentVNode)(2,a.Button,{icon:"minus",color:"bad",onClick:function(){return(0,r.act)(u,"remove",{chem:t})}}),children:e},t)}))(s)]})})},l}(o.Component);t.ChemReactionChamber=l},function(e,t,n){"use strict";t.__esModule=!0,t.ChemSplitter=void 0;var o=n(1),r=n(18),a=n(3),i=n(2);t.ChemSplitter=function(e){var t=(0,a.useBackend)(e),n=t.act,c=t.data,l=c.straight,u=c.side,d=c.max_transfer;return(0,o.createComponentVNode)(2,i.Section,{children:(0,o.createComponentVNode)(2,i.LabeledList,{children:[(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Straight",children:(0,o.createComponentVNode)(2,i.NumberInput,{value:l,unit:"u",width:"55px",minValue:1,maxValue:d,format:function(e){return(0,r.toFixed)(e,2)},step:.05,stepPixelSize:4,onChange:function(e,t){return n("set_amount",{target:"straight",amount:t})}})}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Side",children:(0,o.createComponentVNode)(2,i.NumberInput,{value:u,unit:"u",width:"55px",minValue:1,maxValue:d,format:function(e){return(0,r.toFixed)(e,2)},step:.05,stepPixelSize:4,onChange:function(e,t){return n("set_amount",{target:"side",amount:t})}})})]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.ChemSynthesizer=void 0;var o=n(1),r=n(18),a=n(3),i=n(2);t.ChemSynthesizer=function(e){var t=(0,a.useBackend)(e),n=t.act,c=t.data,l=c.amount,u=c.current_reagent,d=c.chemicals,s=void 0===d?[]:d,p=c.possible_amounts,m=void 0===p?[]:p;return(0,o.createComponentVNode)(2,i.Section,{children:[(0,o.createComponentVNode)(2,i.Box,{children:m.map((function(e){return(0,o.createComponentVNode)(2,i.Button,{icon:"plus",content:(0,r.toFixed)(e,0),selected:e===l,onClick:function(){return n("amount",{target:e})}},(0,r.toFixed)(e,0))}))}),(0,o.createComponentVNode)(2,i.Box,{mt:1,children:s.map((function(e){return(0,o.createComponentVNode)(2,i.Button,{icon:"tint",content:e.title,width:"129px",selected:e.id===u,onClick:function(){return n("select",{reagent:e.id})}},e.id)}))})]})}},function(e,t,n){"use strict";t.__esModule=!0,t.CodexGigas=void 0;var o=n(1),r=n(3),a=n(2);t.CodexGigas=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data;return(0,o.createComponentVNode)(2,a.Section,{children:[i.name,(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Prefix",children:["Dark","Hellish","Fallen","Fiery","Sinful","Blood","Fluffy"].map((function(e){return(0,o.createComponentVNode)(2,a.Button,{content:e,disabled:1!==i.currentSection,onClick:function(){return n(e+" ")}},e.toLowerCase())}))}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Title",children:["Lord","Prelate","Count","Viscount","Vizier","Elder","Adept"].map((function(e){return(0,o.createComponentVNode)(2,a.Button,{content:e,disabled:i.currentSection>2,onClick:function(){return n(e+" ")}},e.toLowerCase())}))}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Name",children:["hal","ve","odr","neit","ci","quon","mya","folth","wren","geyr","hil","niet","twou","phi","coa"].map((function(e){return(0,o.createComponentVNode)(2,a.Button,{content:e,disabled:i.currentSection>4,onClick:function(){return n(e)}},e.toLowerCase())}))}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Suffix",children:["the Red","the Soulless","the Master","the Lord of all things","Jr."].map((function(e){return(0,o.createComponentVNode)(2,a.Button,{content:e,disabled:4!==i.currentSection,onClick:function(){return n(" "+e)}},e.toLowerCase())}))}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Submit",children:(0,o.createComponentVNode)(2,a.Button,{content:"Search",disabled:i.currentSection<4,onClick:function(){return n("search")}})})]})]})}},function(e,t,n){"use strict";t.__esModule=!0,t.ComputerFabricator=void 0;var o=n(1),r=(n(23),n(3)),a=n(2);t.ComputerFabricator=function(e){var t=e.state,n=(0,r.useBackend)(e),c=n.act,l=n.data;return(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Section,{italic:!0,fontSize:"20px",children:"Your perfect device, only three steps away..."}),0!==l.state&&(0,o.createComponentVNode)(2,a.Button,{fluid:!0,mb:1,icon:"circle",content:"Clear Order",onClick:function(){return c("clean_order")}}),(0,o.createComponentVNode)(2,i,{state:t})],0)};var i=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data;return 0===i.state?(0,o.createComponentVNode)(2,a.Section,{title:"Step 1",minHeight:51,children:[(0,o.createComponentVNode)(2,a.Box,{mt:5,bold:!0,textAlign:"center",fontSize:"40px",children:"Choose your Device"}),(0,o.createComponentVNode)(2,a.Box,{mt:3,children:(0,o.createComponentVNode)(2,a.Grid,{width:"100%",children:[(0,o.createComponentVNode)(2,a.Grid.Column,{children:(0,o.createComponentVNode)(2,a.Button,{fluid:!0,icon:"laptop",content:"Laptop",textAlign:"center",fontSize:"30px",lineHeight:"50px",onClick:function(){return n("pick_device",{pick:"1"})}})}),(0,o.createComponentVNode)(2,a.Grid.Column,{children:(0,o.createComponentVNode)(2,a.Button,{fluid:!0,icon:"tablet-alt",content:"Tablet",textAlign:"center",fontSize:"30px",lineHeight:"50px",onClick:function(){return n("pick_device",{pick:"2"})}})})]})})]}):1===i.state?(0,o.createComponentVNode)(2,a.Section,{title:"Step 2: Customize your device",minHeight:47,buttons:(0,o.createComponentVNode)(2,a.Box,{bold:!0,color:"good",children:[i.totalprice," cr"]}),children:[(0,o.createComponentVNode)(2,a.Table,{children:[(0,o.createComponentVNode)(2,a.Table.Row,{children:[(0,o.createComponentVNode)(2,a.Table.Cell,{bold:!0,position:"relative",children:["Battery:",(0,o.createComponentVNode)(2,a.Tooltip,{content:"Allows your device to operate without external utility power\nsource. Advanced batteries increase battery life.",position:"right"})]}),(0,o.createComponentVNode)(2,a.Table.Cell,{children:(0,o.createComponentVNode)(2,a.Button,{content:"Standard",selected:1===i.hw_battery,onClick:function(){return n("hw_battery",{battery:"1"})}})}),(0,o.createComponentVNode)(2,a.Table.Cell,{children:(0,o.createComponentVNode)(2,a.Button,{content:"Upgraded",selected:2===i.hw_battery,onClick:function(){return n("hw_battery",{battery:"2"})}})}),(0,o.createComponentVNode)(2,a.Table.Cell,{children:(0,o.createComponentVNode)(2,a.Button,{content:"Advanced",selected:3===i.hw_battery,onClick:function(){return n("hw_battery",{battery:"3"})}})})]}),(0,o.createComponentVNode)(2,a.Table.Row,{children:[(0,o.createComponentVNode)(2,a.Table.Cell,{bold:!0,position:"relative",children:["Hard Drive:",(0,o.createComponentVNode)(2,a.Tooltip,{content:"Stores file on your device. Advanced drives can store more\nfiles, but use more power, shortening battery life.",position:"right"})]}),(0,o.createComponentVNode)(2,a.Table.Cell,{children:(0,o.createComponentVNode)(2,a.Button,{content:"Standard",selected:1===i.hw_disk,onClick:function(){return n("hw_disk",{disk:"1"})}})}),(0,o.createComponentVNode)(2,a.Table.Cell,{children:(0,o.createComponentVNode)(2,a.Button,{content:"Upgraded",selected:2===i.hw_disk,onClick:function(){return n("hw_disk",{disk:"2"})}})}),(0,o.createComponentVNode)(2,a.Table.Cell,{children:(0,o.createComponentVNode)(2,a.Button,{content:"Advanced",selected:3===i.hw_disk,onClick:function(){return n("hw_disk",{disk:"3"})}})})]}),(0,o.createComponentVNode)(2,a.Table.Row,{children:[(0,o.createComponentVNode)(2,a.Table.Cell,{bold:!0,position:"relative",children:["Network Card:",(0,o.createComponentVNode)(2,a.Tooltip,{content:"Allows your device to wirelessly connect to stationwide NTNet\nnetwork. Basic cards are limited to on-station use, while\nadvanced cards can operate anywhere near the station, which\nincludes asteroid outposts",position:"right"})]}),(0,o.createComponentVNode)(2,a.Table.Cell,{children:(0,o.createComponentVNode)(2,a.Button,{content:"None",selected:0===i.hw_netcard,onClick:function(){return n("hw_netcard",{netcard:"0"})}})}),(0,o.createComponentVNode)(2,a.Table.Cell,{children:(0,o.createComponentVNode)(2,a.Button,{content:"Standard",selected:1===i.hw_netcard,onClick:function(){return n("hw_netcard",{netcard:"1"})}})}),(0,o.createComponentVNode)(2,a.Table.Cell,{children:(0,o.createComponentVNode)(2,a.Button,{content:"Advanced",selected:2===i.hw_netcard,onClick:function(){return n("hw_netcard",{netcard:"2"})}})})]}),(0,o.createComponentVNode)(2,a.Table.Row,{children:[(0,o.createComponentVNode)(2,a.Table.Cell,{bold:!0,position:"relative",children:["Nano Printer:",(0,o.createComponentVNode)(2,a.Tooltip,{content:"A device that allows for various paperwork manipulations,\nsuch as, scanning of documents or printing new ones.\nThis device was certified EcoFriendlyPlus and is capable of\nrecycling existing paper for printing purposes.",position:"right"})]}),(0,o.createComponentVNode)(2,a.Table.Cell,{children:(0,o.createComponentVNode)(2,a.Button,{content:"None",selected:0===i.hw_nanoprint,onClick:function(){return n("hw_nanoprint",{print:"0"})}})}),(0,o.createComponentVNode)(2,a.Table.Cell,{children:(0,o.createComponentVNode)(2,a.Button,{content:"Standard",selected:1===i.hw_nanoprint,onClick:function(){return n("hw_nanoprint",{print:"1"})}})})]}),(0,o.createComponentVNode)(2,a.Table.Row,{children:[(0,o.createComponentVNode)(2,a.Table.Cell,{bold:!0,position:"relative",children:["Card Reader:",(0,o.createComponentVNode)(2,a.Tooltip,{content:"Adds a slot that allows you to manipulate RFID cards.\nPlease note that this is not necessary to allow the device\nto read your identification, it is just necessary to\nmanipulate other cards.",position:"right"})]}),(0,o.createComponentVNode)(2,a.Table.Cell,{children:(0,o.createComponentVNode)(2,a.Button,{content:"None",selected:0===i.hw_card,onClick:function(){return n("hw_card",{card:"0"})}})}),(0,o.createComponentVNode)(2,a.Table.Cell,{children:(0,o.createComponentVNode)(2,a.Button,{content:"Standard",selected:1===i.hw_card,onClick:function(){return n("hw_card",{card:"1"})}})})]}),2!==i.devtype&&(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Table.Row,{children:[(0,o.createComponentVNode)(2,a.Table.Cell,{bold:!0,position:"relative",children:["Processor Unit:",(0,o.createComponentVNode)(2,a.Tooltip,{content:"A component critical for your device's functionality.\nIt allows you to run programs from your hard drive.\nAdvanced CPUs use more power, but allow you to run\nmore programs on background at once.",position:"right"})]}),(0,o.createComponentVNode)(2,a.Table.Cell,{children:(0,o.createComponentVNode)(2,a.Button,{content:"Standard",selected:1===i.hw_cpu,onClick:function(){return n("hw_cpu",{cpu:"1"})}})}),(0,o.createComponentVNode)(2,a.Table.Cell,{children:(0,o.createComponentVNode)(2,a.Button,{content:"Advanced",selected:2===i.hw_cpu,onClick:function(){return n("hw_cpu",{cpu:"2"})}})})]}),(0,o.createComponentVNode)(2,a.Table.Row,{children:[(0,o.createComponentVNode)(2,a.Table.Cell,{bold:!0,position:"relative",children:["Tesla Relay:",(0,o.createComponentVNode)(2,a.Tooltip,{content:"An advanced wireless power relay that allows your device\nto connect to nearby area power controller to provide\nalternative power source. This component is currently\nunavailable on tablet computers due to size restrictions.",position:"right"})]}),(0,o.createComponentVNode)(2,a.Table.Cell,{children:(0,o.createComponentVNode)(2,a.Button,{content:"None",selected:0===i.hw_tesla,onClick:function(){return n("hw_tesla",{tesla:"0"})}})}),(0,o.createComponentVNode)(2,a.Table.Cell,{children:(0,o.createComponentVNode)(2,a.Button,{content:"Standard",selected:1===i.hw_tesla,onClick:function(){return n("hw_tesla",{tesla:"1"})}})})]})],4)]}),(0,o.createComponentVNode)(2,a.Button,{fluid:!0,mt:3,content:"Confirm Order",color:"good",textAlign:"center",fontSize:"18px",lineHeight:"26px",onClick:function(){return n("confirm_order")}})]}):2===i.state?(0,o.createComponentVNode)(2,a.Section,{title:"Step 3: Payment",minHeight:47,children:[(0,o.createComponentVNode)(2,a.Box,{italic:!0,textAlign:"center",fontSize:"20px",children:"Your device is ready for fabrication..."}),(0,o.createComponentVNode)(2,a.Box,{bold:!0,mt:2,textAlign:"center",fontSize:"16px",children:[(0,o.createComponentVNode)(2,a.Box,{inline:!0,children:"Please insert the required"})," ",(0,o.createComponentVNode)(2,a.Box,{inline:!0,color:"good",children:[i.totalprice," cr"]})]}),(0,o.createComponentVNode)(2,a.Box,{bold:!0,mt:1,textAlign:"center",fontSize:"18px",children:"Current:"}),(0,o.createComponentVNode)(2,a.Box,{bold:!0,mt:.5,textAlign:"center",fontSize:"18px",color:i.credits>=i.totalprice?"good":"bad",children:[i.credits," cr"]}),(0,o.createComponentVNode)(2,a.Button,{fluid:!0,content:"Purchase",disabled:i.credits=10&&e<20?i.COLORS.department.security:e>=20&&e<30?i.COLORS.department.medbay:e>=30&&e<40?i.COLORS.department.science:e>=40&&e<50?i.COLORS.department.engineering:e>=50&&e<60?i.COLORS.department.cargo:e>=200&&e<230?i.COLORS.department.centcom:i.COLORS.department.other},u=function(e){var t=e.type,n=e.value;return(0,o.createComponentVNode)(2,a.Box,{inline:!0,width:4,color:i.COLORS.damageType[t],textAlign:"center",children:n})};t.CrewConsole=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data,d=i.sensors||[];return(0,o.createComponentVNode)(2,a.Section,{minHeight:90,children:(0,o.createComponentVNode)(2,a.Table,{children:[(0,o.createComponentVNode)(2,a.Table.Row,{children:[(0,o.createComponentVNode)(2,a.Table.Cell,{bold:!0,children:"Name"}),(0,o.createComponentVNode)(2,a.Table.Cell,{bold:!0,collapsing:!0}),(0,o.createComponentVNode)(2,a.Table.Cell,{bold:!0,collapsing:!0,textAlign:"center",children:"Vitals"}),(0,o.createComponentVNode)(2,a.Table.Cell,{bold:!0,children:"Position"}),!!i.link_allowed&&(0,o.createComponentVNode)(2,a.Table.Cell,{bold:!0,collapsing:!0,children:"Tracking"})]}),d.map((function(e){return(0,o.createComponentVNode)(2,a.Table.Row,{children:[(0,o.createComponentVNode)(2,a.Table.Cell,{bold:(f=e.ijob,f%10==0),color:l(e.ijob),children:[e.name," (",e.assignment,")"]}),(0,o.createComponentVNode)(2,a.Table.Cell,{collapsing:!0,textAlign:"center",children:(0,o.createComponentVNode)(2,a.ColorBox,{color:(t=e.oxydam,r=e.toxdam,d=e.burndam,s=e.brutedam,p=t+r+d+s,m=Math.min(Math.max(Math.ceil(p/25),0),5),c[m])})}),(0,o.createComponentVNode)(2,a.Table.Cell,{collapsing:!0,textAlign:"center",children:null!==e.oxydam?(0,o.createComponentVNode)(2,a.Box,{inline:!0,children:[(0,o.createComponentVNode)(2,u,{type:"oxy",value:e.oxydam}),"/",(0,o.createComponentVNode)(2,u,{type:"toxin",value:e.toxdam}),"/",(0,o.createComponentVNode)(2,u,{type:"burn",value:e.burndam}),"/",(0,o.createComponentVNode)(2,u,{type:"brute",value:e.brutedam})]}):e.life_status?"Alive":"Dead"}),(0,o.createComponentVNode)(2,a.Table.Cell,{children:null!==e.pos_x?e.area:"N/A"}),!!i.link_allowed&&(0,o.createComponentVNode)(2,a.Table.Cell,{collapsing:!0,children:(0,o.createComponentVNode)(2,a.Button,{content:"Track",disabled:!e.can_track,onClick:function(){return n("select_person",{name:e.name})}})})]},e.name);var t,r,d,s,p,m,f}))]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.Cryo=void 0;var o=n(1),r=n(3),a=n(2),i=n(164);t.Cryo=function(e){var t=(0,r.useBackend)(e),n=t.act,c=t.data;return(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Section,{title:"Occupant",children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Occupant",content:c.occupant.name?c.occupant.name:"No Occupant"}),!!c.hasOccupant&&(0,o.createFragment)([(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"State",content:c.occupant.stat,color:c.occupant.statstate}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Temperature",color:c.occupant.temperaturestatus,children:[(0,o.createComponentVNode)(2,a.AnimatedNumber,{value:c.occupant.bodyTemperature})," K"]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Health",children:(0,o.createComponentVNode)(2,a.ProgressBar,{value:c.occupant.health/c.occupant.maxHealth,color:c.occupant.health>0?"good":"average",children:(0,o.createComponentVNode)(2,a.AnimatedNumber,{value:c.occupant.health})})}),[{label:"Brute",type:"bruteLoss"},{label:"Respiratory",type:"oxyLoss"},{label:"Toxin",type:"toxLoss"},{label:"Burn",type:"fireLoss"}].map((function(e){return(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:e.label,children:(0,o.createComponentVNode)(2,a.ProgressBar,{value:c.occupant[e.type]/100,children:(0,o.createComponentVNode)(2,a.AnimatedNumber,{value:c.occupant[e.type]})})},e.id)}))],0)]})}),(0,o.createComponentVNode)(2,a.Section,{title:"Cell",children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Power",content:(0,o.createComponentVNode)(2,a.Button,{icon:c.isOperating?"power-off":"times",disabled:c.isOpen,onClick:function(){return n("power")},color:c.isOperating&&"green",children:c.isOperating?"On":"Off"})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Temperature",children:[(0,o.createComponentVNode)(2,a.AnimatedNumber,{value:c.cellTemperature})," K"]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Door",children:[(0,o.createComponentVNode)(2,a.Button,{icon:c.isOpen?"unlock":"lock",onClick:function(){return n("door")},content:c.isOpen?"Open":"Closed"}),(0,o.createComponentVNode)(2,a.Button,{icon:c.autoEject?"sign-out-alt":"sign-in-alt",onClick:function(){return n("autoeject")},content:c.autoEject?"Auto":"Manual"})]})]})}),(0,o.createComponentVNode)(2,a.Section,{title:"Beaker",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:"eject",disabled:!c.isBeakerLoaded,onClick:function(){return n("ejectbeaker")},content:"Eject"}),children:(0,o.createComponentVNode)(2,i.BeakerContents,{beakerLoaded:c.isBeakerLoaded,beakerContents:c.beakerContents})})],4)}},function(e,t,n){"use strict";t.__esModule=!0,t.PersonalCrafting=void 0;var o=n(1),r=n(24),a=n(3),i=n(2),c=function(e){var t=e.craftables,n=void 0===t?[]:t,r=(0,a.useBackend)(e),c=r.act,l=r.data,u=l.craftability,d=void 0===u?{}:u,s=l.display_compact,p=l.display_craftable_only;return n.map((function(e){return p&&!d[e.ref]?null:s?(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:e.name,className:"candystripe",buttons:(0,o.createComponentVNode)(2,i.Button,{icon:"cog",content:"Craft",disabled:!d[e.ref],tooltip:e.tool_text&&"Tools needed: "+e.tool_text,tooltipPosition:"left",onClick:function(){return c("make",{recipe:e.ref})}}),children:e.req_text},e.name):(0,o.createComponentVNode)(2,i.Section,{title:e.name,level:2,buttons:(0,o.createComponentVNode)(2,i.Button,{icon:"cog",content:"Craft",disabled:!d[e.ref],onClick:function(){return c("make",{recipe:e.ref})}}),children:(0,o.createComponentVNode)(2,i.LabeledList,{children:[!!e.req_text&&(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Required",children:e.req_text}),!!e.catalyst_text&&(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Catalyst",children:e.catalyst_text}),!!e.tool_text&&(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Tools",children:e.tool_text})]})},e.name)}))};t.PersonalCrafting=function(e){var t=e.state,n=(0,a.useBackend)(e),l=n.act,u=n.data,d=u.busy,s=u.display_craftable_only,p=u.display_compact,m=(0,r.map)((function(e,t){return{category:t,subcategory:e,hasSubcats:"has_subcats"in e,firstSubcatName:Object.keys(e).find((function(e){return"has_subcats"!==e}))}}))(u.crafting_recipes||{}),f=!!d&&(0,o.createComponentVNode)(2,i.Dimmer,{fontSize:"40px",textAlign:"center",children:(0,o.createComponentVNode)(2,i.Box,{mt:30,children:[(0,o.createComponentVNode)(2,i.Icon,{name:"cog",spin:1})," Crafting..."]})});return(0,o.createFragment)([f,(0,o.createComponentVNode)(2,i.Section,{title:"Personal Crafting",buttons:(0,o.createFragment)([(0,o.createComponentVNode)(2,i.Button,{icon:p?"check-square-o":"square-o",content:"Compact",selected:p,onClick:function(){return l("toggle_compact")}}),(0,o.createComponentVNode)(2,i.Button,{icon:s?"check-square-o":"square-o",content:"Craftable Only",selected:s,onClick:function(){return l("toggle_recipes")}})],4),children:(0,o.createComponentVNode)(2,i.Tabs,{children:m.map((function(e){return(0,o.createComponentVNode)(2,i.Tabs.Tab,{label:e.category,onClick:function(){return l("set_category",{category:e.category,subcategory:e.firstSubcatName})},children:function(){return!e.hasSubcats&&(0,o.createComponentVNode)(2,c,{craftables:e.subcategory,state:t})||(0,o.createComponentVNode)(2,i.Tabs,{vertical:!0,children:(0,r.map)((function(e,n){if("has_subcats"!==n)return(0,o.createComponentVNode)(2,i.Tabs.Tab,{label:n,onClick:function(){return l("set_category",{subcategory:n})},children:function(){return(0,o.createComponentVNode)(2,c,{craftables:e,state:t})}})}))(e.subcategory)})}},e.category)}))})})],0)}},function(e,t,n){"use strict";t.__esModule=!0,t.DecalPainter=void 0;var o=n(1),r=n(3),a=n(2);t.DecalPainter=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data,c=i.decal_list||[],l=i.color_list||[],u=i.dir_list||[];return(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Section,{title:"Decal Type",children:c.map((function(e){return(0,o.createComponentVNode)(2,a.Button,{content:e.name,selected:e.decal===i.decal_style,onClick:function(){return n("select decal",{decals:e.decal})}},e.decal)}))}),(0,o.createComponentVNode)(2,a.Section,{title:"Decal Color",children:l.map((function(e){return(0,o.createComponentVNode)(2,a.Button,{content:"red"===e.colors?"Red":"white"===e.colors?"White":"Yellow",selected:e.colors===i.decal_color,onClick:function(){return n("select color",{colors:e.colors})}},e.colors)}))}),(0,o.createComponentVNode)(2,a.Section,{title:"Decal Direction",children:u.map((function(e){return(0,o.createComponentVNode)(2,a.Button,{content:1===e.dirs?"North":2===e.dirs?"South":4===e.dirs?"East":"West",selected:e.dirs===i.decal_direction,onClick:function(){return n("selected direction",{dirs:e.dirs})}},e.dirs)}))})],4)}},function(e,t,n){"use strict";t.__esModule=!0,t.DisposalUnit=void 0;var o=n(1),r=n(3),a=n(2);t.DisposalUnit=function(e){var t,n,i=(0,r.useBackend)(e),c=i.act,l=i.data;return l.full_pressure?(t="good",n="Ready"):l.panel_open?(t="bad",n="Power Disabled"):l.pressure_charging?(t="average",n="Pressurizing"):(t="bad",n="Off"),(0,o.createComponentVNode)(2,a.Section,{children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"State",color:t,children:n}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Pressure",children:(0,o.createComponentVNode)(2,a.ProgressBar,{value:l.per,color:"good"})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Handle",children:(0,o.createComponentVNode)(2,a.Button,{icon:l.flush?"toggle-on":"toggle-off",disabled:l.isai||l.panel_open,content:l.flush?"Disengage":"Engage",onClick:function(){return c(l.flush?"handle-0":"handle-1")}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Eject",children:(0,o.createComponentVNode)(2,a.Button,{icon:"sign-out-alt",disabled:l.isai,content:"Eject Contents",onClick:function(){return c("eject")}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Power",children:(0,o.createComponentVNode)(2,a.Button,{icon:"power-off",disabled:l.panel_open,selected:l.pressure_charging,onClick:function(){return c(l.pressure_charging?"pump-0":"pump-1")}})})]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.DnaVault=void 0;var o=n(1),r=n(3),a=n(2);t.DnaVault=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data,c=i.completed,l=i.used,u=i.choiceA,d=i.choiceB,s=i.dna,p=i.dna_max,m=i.plants,f=i.plants_max,h=i.animals,C=i.animals_max;return(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Section,{title:"DNA Vault Database",children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Human DNA",children:(0,o.createComponentVNode)(2,a.ProgressBar,{value:s/p,content:s+" / "+p+" Samples"})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Plant DNA",children:(0,o.createComponentVNode)(2,a.ProgressBar,{value:m/f,content:m+" / "+f+" Samples"})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Animal DNA",children:(0,o.createComponentVNode)(2,a.ProgressBar,{value:h/h,content:h+" / "+C+" Samples"})})]})}),!(!c||l)&&(0,o.createComponentVNode)(2,a.Section,{title:"Personal Gene Therapy",children:[(0,o.createComponentVNode)(2,a.Box,{bold:!0,textAlign:"center",mb:1,children:"Applicable Gene Therapy Treatments"}),(0,o.createComponentVNode)(2,a.Grid,{children:[(0,o.createComponentVNode)(2,a.Grid.Column,{children:(0,o.createComponentVNode)(2,a.Button,{fluid:!0,bold:!0,content:u,textAlign:"center",onClick:function(){return n("gene",{choice:u})}})}),(0,o.createComponentVNode)(2,a.Grid.Column,{children:(0,o.createComponentVNode)(2,a.Button,{fluid:!0,bold:!0,content:d,textAlign:"center",onClick:function(){return n("gene",{choice:d})}})})]})]})],0)}},function(e,t,n){"use strict";t.__esModule=!0,t.EightBallVote=void 0;var o=n(1),r=n(3),a=n(2),i=n(23);t.EightBallVote=function(e){var t=(0,r.useBackend)(e),n=t.act,c=t.data,l=c.question,u=c.shaking,d=c.answers,s=void 0===d?[]:d;return u?(0,o.createComponentVNode)(2,a.Section,{children:[(0,o.createComponentVNode)(2,a.Box,{bold:!0,textAlign:"center",fontSize:"16px",m:1,children:['"',l,'"']}),(0,o.createComponentVNode)(2,a.Grid,{children:s.map((function(e){return(0,o.createComponentVNode)(2,a.Grid.Column,{children:[(0,o.createComponentVNode)(2,a.Button,{fluid:!0,bold:!0,content:(0,i.toTitleCase)(e.answer),selected:e.selected,fontSize:"16px",lineHeight:"24px",textAlign:"center",mb:1,onClick:function(){return n("vote",{answer:e.answer})}}),(0,o.createComponentVNode)(2,a.Box,{bold:!0,textAlign:"center",fontSize:"30px",children:e.amount})]},e.answer)}))})]}):(0,o.createComponentVNode)(2,a.NoticeBox,{children:"No question is currently being asked."})}},function(e,t,n){"use strict";t.__esModule=!0,t.EmergencyShuttleConsole=void 0;var o=n(1),r=n(2),a=n(3);t.EmergencyShuttleConsole=function(e){var t=(0,a.useBackend)(e),n=t.act,i=t.data,c=i.timer_str,l=i.enabled,u=i.emagged,d=i.engines_started,s=i.authorizations_remaining,p=i.authorizations,m=void 0===p?[]:p;return(0,o.createComponentVNode)(2,r.Section,{children:[(0,o.createComponentVNode)(2,r.Box,{bold:!0,fontSize:"40px",textAlign:"center",fontFamily:"monospace",children:c}),(0,o.createComponentVNode)(2,r.Box,{textAlign:"center",fontSize:"16px",mb:1,children:[(0,o.createComponentVNode)(2,r.Box,{inline:!0,bold:!0,children:"ENGINES:"}),(0,o.createComponentVNode)(2,r.Box,{inline:!0,color:d?"good":"average",ml:1,children:d?"Online":"Idle"})]}),(0,o.createComponentVNode)(2,r.Section,{title:"Early Launch Authorization",level:2,buttons:(0,o.createComponentVNode)(2,r.Button,{icon:"times",content:"Repeal All",color:"bad",disabled:!l,onClick:function(){return n("abort")}}),children:[(0,o.createComponentVNode)(2,r.Grid,{children:[(0,o.createComponentVNode)(2,r.Grid.Column,{children:(0,o.createComponentVNode)(2,r.Button,{fluid:!0,icon:"exclamation-triangle",color:"good",content:"AUTHORIZE",disabled:!l,onClick:function(){return n("authorize")}})}),(0,o.createComponentVNode)(2,r.Grid.Column,{children:(0,o.createComponentVNode)(2,r.Button,{fluid:!0,icon:"minus",content:"REPEAL",disabled:!l,onClick:function(){return n("repeal")}})})]}),(0,o.createComponentVNode)(2,r.Section,{title:"Authorizations",level:3,minHeight:"150px",buttons:(0,o.createComponentVNode)(2,r.Box,{inline:!0,bold:!0,color:u?"bad":"good",children:u?"ERROR":"Remaining: "+s}),children:[m.length>0?m.map((function(e){return(0,o.createComponentVNode)(2,r.Box,{bold:!0,fontSize:"16px",className:"candystripe",children:[e.name," (",e.job,")"]},e.name)})):(0,o.createComponentVNode)(2,r.Box,{bold:!0,textAlign:"center",fontSize:"16px",color:"average",children:"No Active Authorizations"}),m.map((function(e){return(0,o.createComponentVNode)(2,r.Box,{bold:!0,fontSize:"16px",className:"candystripe",children:[e.name," (",e.job,")"]},e.name)}))]})]})]})}},function(e,t,n){"use strict";t.__esModule=!0,t.EngravedMessage=void 0;var o=n(1),r=n(23),a=n(3),i=n(2);t.EngravedMessage=function(e){var t=(0,a.useBackend)(e),n=t.act,c=t.data,l=c.admin_mode,u=c.creator_key,d=c.creator_name,s=c.has_liked,p=c.has_disliked,m=c.hidden_message,f=c.is_creator,h=c.num_likes,C=c.num_dislikes,g=c.realdate;return(0,o.createFragment)([(0,o.createComponentVNode)(2,i.Section,{children:[(0,o.createComponentVNode)(2,i.Box,{bold:!0,textAlign:"center",fontSize:"20px",mb:2,children:(0,r.decodeHtmlEntities)(m)}),(0,o.createComponentVNode)(2,i.Grid,{children:[(0,o.createComponentVNode)(2,i.Grid.Column,{children:(0,o.createComponentVNode)(2,i.Button,{fluid:!0,icon:"arrow-up",content:" "+h,disabled:f,selected:s,textAlign:"center",fontSize:"16px",lineHeight:"24px",onClick:function(){return n("like")}})}),(0,o.createComponentVNode)(2,i.Grid.Column,{children:(0,o.createComponentVNode)(2,i.Button,{fluid:!0,icon:"circle",disabled:f,selected:!p&&!s,textAlign:"center",fontSize:"16px",lineHeight:"24px",onClick:function(){return n("neutral")}})}),(0,o.createComponentVNode)(2,i.Grid.Column,{children:(0,o.createComponentVNode)(2,i.Button,{fluid:!0,icon:"arrow-down",content:" "+C,disabled:f,selected:p,textAlign:"center",fontSize:"16px",lineHeight:"24px",onClick:function(){return n("dislike")}})})]})]}),(0,o.createComponentVNode)(2,i.Section,{children:(0,o.createComponentVNode)(2,i.LabeledList,{children:(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Created On",children:g})})}),(0,o.createComponentVNode)(2,i.Section),!!l&&(0,o.createComponentVNode)(2,i.Section,{title:"Admin Panel",buttons:(0,o.createComponentVNode)(2,i.Button,{icon:"times",content:"Delete",color:"bad",onClick:function(){return n("delete")}}),children:(0,o.createComponentVNode)(2,i.LabeledList,{children:[(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Creator Ckey",children:u}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Creator Character Name",children:d})]})})],0)}},function(e,t,n){"use strict";t.__esModule=!0,t.Gps=void 0;var o=n(1),r=n(24),a=n(70),i=n(18),c=n(156),l=n(3),u=n(2),d=function(e){return(0,r.map)(parseFloat)(e.split(", "))};t.Gps=function(e){var t=(0,l.useBackend)(e),n=t.act,s=t.data,p=s.currentArea,m=s.currentCoords,f=s.globalmode,h=s.power,C=s.tag,g=s.updating,b=(0,a.flow)([(0,r.map)((function(e,t){var n=e.dist&&Math.round((0,c.vecLength)((0,c.vecSubtract)(d(m),d(e.coords))));return Object.assign({},e,{dist:n,index:t})})),(0,r.sortBy)((function(e){return e.dist===undefined}),(function(e){return e.entrytag}))])(s.signals||[]);return(0,o.createFragment)([(0,o.createComponentVNode)(2,u.Section,{title:"Control",buttons:(0,o.createComponentVNode)(2,u.Button,{icon:"power-off",content:h?"On":"Off",selected:h,onClick:function(){return n("power")}}),children:(0,o.createComponentVNode)(2,u.LabeledList,{children:[(0,o.createComponentVNode)(2,u.LabeledList.Item,{label:"Tag",children:(0,o.createComponentVNode)(2,u.Button,{icon:"pencil-alt",content:C,onClick:function(){return n("rename")}})}),(0,o.createComponentVNode)(2,u.LabeledList.Item,{label:"Scan Mode",children:(0,o.createComponentVNode)(2,u.Button,{icon:g?"unlock":"lock",content:g?"AUTO":"MANUAL",color:!g&&"bad",onClick:function(){return n("updating")}})}),(0,o.createComponentVNode)(2,u.LabeledList.Item,{label:"Range",children:(0,o.createComponentVNode)(2,u.Button,{icon:"sync",content:f?"MAXIMUM":"LOCAL",selected:!f,onClick:function(){return n("globalmode")}})})]})}),!!h&&(0,o.createFragment)([(0,o.createComponentVNode)(2,u.Section,{title:"Current Location",children:(0,o.createComponentVNode)(2,u.Box,{fontSize:"18px",children:[p," (",m,")"]})}),(0,o.createComponentVNode)(2,u.Section,{title:"Detected Signals",children:(0,o.createComponentVNode)(2,u.Table,{children:[(0,o.createComponentVNode)(2,u.Table.Row,{bold:!0,children:[(0,o.createComponentVNode)(2,u.Table.Cell,{content:"Name"}),(0,o.createComponentVNode)(2,u.Table.Cell,{collapsing:!0,content:"Direction"}),(0,o.createComponentVNode)(2,u.Table.Cell,{collapsing:!0,content:"Coordinates"})]}),b.map((function(e){return(0,o.createComponentVNode)(2,u.Table.Row,{className:"candystripe",children:[(0,o.createComponentVNode)(2,u.Table.Cell,{bold:!0,color:"label",children:e.entrytag}),(0,o.createComponentVNode)(2,u.Table.Cell,{collapsing:!0,opacity:e.dist!==undefined&&(0,i.clamp)(1.2/Math.log(Math.E+e.dist/20),.4,1),children:[e.degrees!==undefined&&(0,o.createComponentVNode)(2,u.Icon,{mr:1,size:1.2,name:"arrow-up",rotation:e.degrees}),e.dist!==undefined&&e.dist+"m"]}),(0,o.createComponentVNode)(2,u.Table.Cell,{collapsing:!0,children:e.coords})]},e.entrytag+e.coords+e.index)}))]})})],4)],0)}},function(e,t,n){"use strict";t.__esModule=!0,t.GravityGenerator=void 0;var o=n(1),r=n(3),a=n(2);t.GravityGenerator=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data,c=i.breaker,l=i.charge_count,u=i.charging_state,d=i.on,s=i.operational;return(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Section,{children:!s&&(0,o.createComponentVNode)(2,a.NoticeBox,{textAlign:"center",children:"No data available"})||(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Breaker",children:(0,o.createComponentVNode)(2,a.Button,{icon:c?"power-off":"times",content:c?"On":"Off",selected:c,disabled:!s,onClick:function(){return n("gentoggle")}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Gravity Charge",children:(0,o.createComponentVNode)(2,a.ProgressBar,{value:l/100,ranges:{good:[.7,Infinity],average:[.3,.7],bad:[-Infinity,.3]}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Charge Mode",children:[0===u&&(d&&(0,o.createComponentVNode)(2,a.Box,{color:"good",children:"Fully Charged"})||(0,o.createComponentVNode)(2,a.Box,{color:"bad",children:"Not Charging"})),1===u&&(0,o.createComponentVNode)(2,a.Box,{color:"average",children:"Charging"}),2===u&&(0,o.createComponentVNode)(2,a.Box,{color:"average",children:"Discharging"})]})]})}),s&&0!==u&&(0,o.createComponentVNode)(2,a.NoticeBox,{textAlign:"center",children:"WARNING - Radiation detected"}),s&&0===u&&(0,o.createComponentVNode)(2,a.NoticeBox,{textAlign:"center",children:"No radiation detected"})],0)}},function(e,t,n){"use strict";t.__esModule=!0,t.GulagTeleporterConsole=void 0;var o=n(1),r=n(3),a=n(2);t.GulagTeleporterConsole=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data,c=i.teleporter,l=i.teleporter_lock,u=i.teleporter_state_open,d=i.teleporter_location,s=i.beacon,p=i.beacon_location,m=i.id,f=i.id_name,h=i.can_teleport,C=i.goal,g=void 0===C?0:C,b=i.prisoner,v=void 0===b?{}:b;return(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Section,{title:"Teleporter Console",buttons:(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Button,{content:u?"Open":"Closed",disabled:l,selected:u,onClick:function(){return n("toggle_open")}}),(0,o.createComponentVNode)(2,a.Button,{icon:l?"lock":"unlock",content:l?"Locked":"Unlocked",selected:l,disabled:u,onClick:function(){return n("teleporter_lock")}})],4),children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Teleporter Unit",color:c?"good":"bad",buttons:!c&&(0,o.createComponentVNode)(2,a.Button,{content:"Reconnect",onClick:function(){return n("scan_teleporter")}}),children:c?d:"Not Connected"}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Receiver Beacon",color:s?"good":"bad",buttons:!s&&(0,o.createComponentVNode)(2,a.Button,{content:"Reconnect",onClick:function(){return n("scan_beacon")}}),children:s?p:"Not Connected"})]})}),(0,o.createComponentVNode)(2,a.Section,{title:"Prisoner Details",children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Prisoner ID",children:(0,o.createComponentVNode)(2,a.Button,{fluid:!0,content:m?f:"No ID",onClick:function(){return n("handle_id")}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Point Goal",children:(0,o.createComponentVNode)(2,a.NumberInput,{value:g,width:"48px",minValue:1,maxValue:1e3,onChange:function(e,t){return n("set_goal",{value:t})}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Occupant",children:v.name?v.name:"No Occupant"}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Criminal Status",children:v.crimstat?v.crimstat:"No Status"})]})}),(0,o.createComponentVNode)(2,a.Button,{fluid:!0,content:"Process Prisoner",disabled:!h,textAlign:"center",color:"bad",onClick:function(){return n("teleport")}})],4)}},function(e,t,n){"use strict";t.__esModule=!0,t.GulagItemReclaimer=void 0;var o=n(1),r=n(3),a=n(2);t.GulagItemReclaimer=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data,c=i.mobs||[];return(0,o.createComponentVNode)(2,a.Section,{title:"Stored Items",children:(0,o.createComponentVNode)(2,a.Table,{children:c.map((function(e){return(0,o.createComponentVNode)(2,a.Table.Row,{children:[(0,o.createComponentVNode)(2,a.Table.Cell,{children:e.name}),(0,o.createComponentVNode)(2,a.Table.Cell,{textAlign:"right",children:(0,o.createComponentVNode)(2,a.Button,{content:"Retrieve Items",disabled:!i.can_reclaim,onClick:function(){return n("release_items",{mobref:e.mob})}})})]},e.mob)}))})})}},function(e,t,n){"use strict";t.__esModule=!0,t.Holodeck=void 0;var o=n(1),r=n(3),a=n(2);t.Holodeck=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data,c=i.can_toggle_safety,l=i.default_programs,u=void 0===l?[]:l,d=i.emag_programs,s=void 0===d?[]:d,p=i.emagged,m=i.program;return(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Section,{title:"Default Programs",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:p?"unlock":"lock",content:"Safeties",color:"bad",disabled:!c,selected:!p,onClick:function(){return n("safety")}}),children:u.map((function(e){return(0,o.createComponentVNode)(2,a.Button,{fluid:!0,content:e.name.substring(11),textAlign:"center",selected:e.type===m,onClick:function(){return n("load_program",{type:e.type})}},e.type)}))}),!!p&&(0,o.createComponentVNode)(2,a.Section,{title:"Dangerous Programs",children:s.map((function(e){return(0,o.createComponentVNode)(2,a.Button,{fluid:!0,content:e.name.substring(11),color:"bad",textAlign:"center",selected:e.type===m,onClick:function(){return n("load_program",{type:e.type})}},e.type)}))})],0)}},function(e,t,n){"use strict";t.__esModule=!0,t.ImplantChair=void 0;var o=n(1),r=n(3),a=n(2);t.ImplantChair=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data;return(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Section,{title:"Occupant Information",textAlign:"center",children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Name",children:i.occupant.name?i.occupant.name:"No Occupant"}),!!i.occupied&&(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Status",color:0===i.occupant.stat?"good":1===i.occupant.stat?"average":"bad",children:0===i.occupant.stat?"Conscious":1===i.occupant.stat?"Unconcious":"Dead"})]})}),(0,o.createComponentVNode)(2,a.Section,{title:"Operations",textAlign:"center",children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Door",children:(0,o.createComponentVNode)(2,a.Button,{icon:i.open?"unlock":"lock",color:i.open?"default":"red",content:i.open?"Open":"Closed",onClick:function(){return n("door")}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Implant Occupant",children:[(0,o.createComponentVNode)(2,a.Button,{icon:"code-branch",content:i.ready?i.special_name||"Implant":"Recharging",onClick:function(){return n("implant")}}),0===i.ready&&(0,o.createComponentVNode)(2,a.Icon,{name:"cog",color:"orange",spin:!0})]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Implants Remaining",children:[i.ready_implants,1===i.replenishing&&(0,o.createComponentVNode)(2,a.Icon,{name:"sync",color:"red",spin:!0})]})]})})],4)}},function(e,t,n){"use strict";t.__esModule=!0,t.Intellicard=void 0;var o=n(1),r=n(3),a=n(2);t.Intellicard=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data,c=u||d,l=i.name,u=i.isDead,d=i.isBraindead,s=i.health,p=i.wireless,m=i.radio,f=i.wiping,h=i.laws,C=void 0===h?[]:h;return(0,o.createComponentVNode)(2,a.Section,{title:l||"Empty Card",buttons:!!l&&(0,o.createComponentVNode)(2,a.Button,{icon:"trash",content:f?"Stop Wiping":"Wipe",disabled:u,onClick:function(){return n("wipe")}}),children:!!l&&(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Status",color:c?"bad":"good",children:c?"Offline":"Operation"}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Software Integrity",children:(0,o.createComponentVNode)(2,a.ProgressBar,{value:s,minValue:0,maxValue:100,ranges:{good:[70,Infinity],average:[50,70],bad:[-Infinity,50]}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Settings",children:[(0,o.createComponentVNode)(2,a.Button,{icon:"signal",content:"Wireless Activity",selected:p,onClick:function(){return n("wireless")}}),(0,o.createComponentVNode)(2,a.Button,{icon:"microphone",content:"Subspace Radio",selected:m,onClick:function(){return n("radio")}})]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Laws",children:C.map((function(e){return(0,o.createComponentVNode)(2,a.BlockQuote,{children:e},e)}))})]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.KeycardAuth=void 0;var o=n(1),r=n(3),a=n(2);t.KeycardAuth=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data;return(0,o.createComponentVNode)(2,a.Section,{children:[(0,o.createComponentVNode)(2,a.Box,{children:1===i.waiting&&(0,o.createVNode)(1,"span",null,"Waiting for another device to confirm your request...",16)}),(0,o.createComponentVNode)(2,a.Box,{children:0===i.waiting&&(0,o.createFragment)([!!i.auth_required&&(0,o.createComponentVNode)(2,a.Button,{icon:"check-square",color:"red",textAlign:"center",lineHeight:"60px",fluid:!0,onClick:function(){return n("auth_swipe")},content:"Authorize"}),0===i.auth_required&&(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Button,{icon:"exclamation-triangle",fluid:!0,onClick:function(){return n("red_alert")},content:"Red Alert"}),(0,o.createComponentVNode)(2,a.Button,{icon:"wrench",fluid:!0,onClick:function(){return n("emergency_maint")},content:"Emergency Maintenance Access"}),(0,o.createComponentVNode)(2,a.Button,{icon:"meteor",fluid:!0,onClick:function(){return n("bsa_unlock")},content:"Bluespace Artillery Unlock"})],4)],0)})]})}},function(e,t,n){"use strict";t.__esModule=!0,t.LaborClaimConsole=void 0;var o=n(1),r=n(23),a=n(3),i=n(2);t.LaborClaimConsole=function(e){var t=(0,a.useBackend)(e),n=t.act,c=t.data,l=c.can_go_home,u=c.id_points,d=c.ores,s=c.status_info,p=c.unclaimed_points;return(0,o.createFragment)([(0,o.createComponentVNode)(2,i.Section,{children:(0,o.createComponentVNode)(2,i.LabeledList,{children:[(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Status",children:s}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Shuttle controls",children:(0,o.createComponentVNode)(2,i.Button,{content:"Move shuttle",disabled:!l,onClick:function(){return n("move_shuttle")}})}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Points",children:u}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Unclaimed points",buttons:(0,o.createComponentVNode)(2,i.Button,{content:"Claim points",disabled:!p,onClick:function(){return n("claim_points")}}),children:p})]})}),(0,o.createComponentVNode)(2,i.Section,{title:"Material values",children:(0,o.createComponentVNode)(2,i.Table,{children:[(0,o.createComponentVNode)(2,i.Table.Row,{header:!0,children:[(0,o.createComponentVNode)(2,i.Table.Cell,{children:"Material"}),(0,o.createComponentVNode)(2,i.Table.Cell,{collapsing:!0,textAlign:"right",children:"Value"})]}),d.map((function(e){return(0,o.createComponentVNode)(2,i.Table.Row,{children:[(0,o.createComponentVNode)(2,i.Table.Cell,{children:(0,r.toTitleCase)(e.ore)}),(0,o.createComponentVNode)(2,i.Table.Cell,{collapsing:!0,textAlign:"right",children:(0,o.createComponentVNode)(2,i.Box,{color:"label",inline:!0,children:e.value})})]},e.ore)}))]})})],4)}},function(e,t,n){"use strict";t.__esModule=!0,t.LanguageMenu=void 0;var o=n(1),r=n(3),a=n(2);t.LanguageMenu=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data,c=i.admin_mode,l=i.is_living,u=i.omnitongue,d=i.languages,s=void 0===d?[]:d,p=i.unknown_languages,m=void 0===p?[]:p;return(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Section,{title:"Known Languages",children:(0,o.createComponentVNode)(2,a.LabeledList,{children:s.map((function(e){return(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:e.name,buttons:(0,o.createFragment)([!!l&&(0,o.createComponentVNode)(2,a.Button,{content:e.is_default?"Default Language":"Select as Default",disabled:!e.can_speak,selected:e.is_default,onClick:function(){return n("select_default",{language_name:e.name})}}),!!c&&(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Button,{content:"Grant",onClick:function(){return n("grant_language",{language_name:e.name})}}),(0,o.createComponentVNode)(2,a.Button,{content:"Remove",onClick:function(){return n("remove_language",{language_name:e.name})}})],4)],0),children:[e.desc," ","Key: ,",e.key," ",e.can_understand?"Can understand.":"Cannot understand."," ",e.can_speak?"Can speak.":"Cannot speak."]},e.name)}))})}),!!c&&(0,o.createComponentVNode)(2,a.Section,{title:"Unknown Languages",buttons:(0,o.createComponentVNode)(2,a.Button,{content:"Omnitongue "+(u?"Enabled":"Disabled"),selected:u,onClick:function(){return n("toggle_omnitongue")}}),children:(0,o.createComponentVNode)(2,a.LabeledList,{children:m.map((function(e){return(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:e.name,buttons:(0,o.createComponentVNode)(2,a.Button,{content:"Grant",onClick:function(){return n("grant_language",{language_name:e.name})}}),children:[e.desc," ","Key: ,",e.key," ",!!e.shadow&&"(gained from mob)"," ",e.can_speak?"Can speak.":"Cannot speak."]},e.name)}))})})],0)}},function(e,t,n){"use strict";t.__esModule=!0,t.LaunchpadConsole=t.LaunchpadRemote=t.LaunchpadControl=t.LaunchpadButtonPad=void 0;var o=n(1),r=n(3),a=n(2),i=function(e){var t=(0,r.useBackend)(e).act;return(0,o.createComponentVNode)(2,a.Grid,{width:"1px",children:[(0,o.createComponentVNode)(2,a.Grid.Column,{children:[(0,o.createComponentVNode)(2,a.Button,{fluid:!0,icon:"arrow-left",iconRotation:45,mb:1,onClick:function(){return t("move_pos",{x:-1,y:1})}}),(0,o.createComponentVNode)(2,a.Button,{fluid:!0,icon:"arrow-left",mb:1,onClick:function(){return t("move_pos",{x:-1})}}),(0,o.createComponentVNode)(2,a.Button,{fluid:!0,icon:"arrow-down",iconRotation:45,mb:1,onClick:function(){return t("move_pos",{x:-1,y:-1})}})]}),(0,o.createComponentVNode)(2,a.Grid.Column,{children:[(0,o.createComponentVNode)(2,a.Button,{fluid:!0,icon:"arrow-up",mb:1,onClick:function(){return t("move_pos",{y:1})}}),(0,o.createComponentVNode)(2,a.Button,{fluid:!0,content:"R",mb:1,onClick:function(){return t("set_pos",{x:0,y:0})}}),(0,o.createComponentVNode)(2,a.Button,{fluid:!0,icon:"arrow-down",mb:1,onClick:function(){return t("move_pos",{y:-1})}})]}),(0,o.createComponentVNode)(2,a.Grid.Column,{children:[(0,o.createComponentVNode)(2,a.Button,{fluid:!0,icon:"arrow-up",iconRotation:45,mb:1,onClick:function(){return t("move_pos",{x:1,y:1})}}),(0,o.createComponentVNode)(2,a.Button,{fluid:!0,icon:"arrow-right",mb:1,onClick:function(){return t("move_pos",{x:1})}}),(0,o.createComponentVNode)(2,a.Button,{fluid:!0,icon:"arrow-right",iconRotation:45,mb:1,onClick:function(){return t("move_pos",{x:1,y:-1})}})]})]})};t.LaunchpadButtonPad=i;var c=function(e){var t=e.topLevel,n=(0,r.useBackend)(e),c=n.act,l=n.data,u=l.x,d=l.y,s=l.pad_name,p=l.range;return(0,o.createComponentVNode)(2,a.Section,{title:(0,o.createComponentVNode)(2,a.Input,{value:s,width:"170px",onChange:function(e,t){return c("rename",{name:t})}}),level:t?1:2,buttons:(0,o.createComponentVNode)(2,a.Button,{icon:"times",content:"Remove",color:"bad",onClick:function(){return c("remove")}}),children:[(0,o.createComponentVNode)(2,a.Grid,{children:[(0,o.createComponentVNode)(2,a.Grid.Column,{children:(0,o.createComponentVNode)(2,a.Section,{title:"Controls",level:2,children:(0,o.createComponentVNode)(2,i,{state:e.state})})}),(0,o.createComponentVNode)(2,a.Grid.Column,{children:(0,o.createComponentVNode)(2,a.Section,{title:"Target",level:2,children:(0,o.createComponentVNode)(2,a.Box,{fontSize:"26px",children:[(0,o.createComponentVNode)(2,a.Box,{mb:1,children:[(0,o.createComponentVNode)(2,a.Box,{inline:!0,bold:!0,mr:1,children:"X:"}),(0,o.createComponentVNode)(2,a.NumberInput,{value:u,minValue:-p,maxValue:p,lineHeight:"30px",fontSize:"26px",width:"90px",height:"30px",stepPixelSize:10,onChange:function(e,t){return c("set_pos",{x:t})}})]}),(0,o.createComponentVNode)(2,a.Box,{children:[(0,o.createComponentVNode)(2,a.Box,{inline:!0,bold:!0,mr:1,children:"Y:"}),(0,o.createComponentVNode)(2,a.NumberInput,{value:d,minValue:-p,maxValue:p,stepPixelSize:10,lineHeight:"30px",fontSize:"26px",width:"90px",height:"30px",onChange:function(e,t){return c("set_pos",{y:t})}})]})]})})})]}),(0,o.createComponentVNode)(2,a.Grid,{children:[(0,o.createComponentVNode)(2,a.Grid.Column,{children:(0,o.createComponentVNode)(2,a.Button,{fluid:!0,icon:"upload",content:"Launch",textAlign:"center",onClick:function(){return c("launch")}})}),(0,o.createComponentVNode)(2,a.Grid.Column,{children:(0,o.createComponentVNode)(2,a.Button,{fluid:!0,icon:"download",content:"Pull",textAlign:"center",onClick:function(){return c("pull")}})})]})]})};t.LaunchpadControl=c;t.LaunchpadRemote=function(e){var t=(0,r.useBackend)(e).data,n=t.has_pad,i=t.pad_closed;return n?i?(0,o.createComponentVNode)(2,a.NoticeBox,{children:"Launchpad Closed"}):(0,o.createComponentVNode)(2,c,{topLevel:!0,state:e.state}):(0,o.createComponentVNode)(2,a.NoticeBox,{children:"No Launchpad Connected"})};t.LaunchpadConsole=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data,l=i.launchpads,u=void 0===l?[]:l,d=i.selected_id;return u.length<=0?(0,o.createComponentVNode)(2,a.NoticeBox,{children:"No Pads Connected"}):(0,o.createComponentVNode)(2,a.Section,{children:(0,o.createComponentVNode)(2,a.Grid,{children:[(0,o.createComponentVNode)(2,a.Grid.Column,{size:.6,children:(0,o.createComponentVNode)(2,a.Box,{style:{"border-right":"2px solid rgba(255, 255, 255, 0.1)"},minHeight:"190px",mr:1,children:u.map((function(e){return(0,o.createComponentVNode)(2,a.Button,{fluid:!0,content:e.name,selected:d===e.id,color:"transparent",onClick:function(){return n("select_pad",{id:e.id})}},e.name)}))})}),(0,o.createComponentVNode)(2,a.Grid.Column,{children:d?(0,o.createComponentVNode)(2,c,{state:e.state}):(0,o.createComponentVNode)(2,a.Box,{children:"Please select a pad"})})]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.MechBayPowerConsole=void 0;var o=n(1),r=n(3),a=n(2);t.MechBayPowerConsole=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data.recharge_port,c=i&&i.mech,l=c&&c.cell;return(0,o.createComponentVNode)(2,a.Section,{title:"Mech status",textAlign:"center",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:"sync",content:"Sync",onClick:function(){return n("reconnect")}}),children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Integrity",children:!i&&(0,o.createComponentVNode)(2,a.NoticeBox,{children:"No power port detected. Please re-sync."})||!c&&(0,o.createComponentVNode)(2,a.NoticeBox,{children:"No mech detected."})||(0,o.createComponentVNode)(2,a.ProgressBar,{value:c.health/c.maxhealth,ranges:{good:[.7,Infinity],average:[.3,.7],bad:[-Infinity,.3]}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Power",children:!i&&(0,o.createComponentVNode)(2,a.NoticeBox,{children:"No power port detected. Please re-sync."})||!c&&(0,o.createComponentVNode)(2,a.NoticeBox,{children:"No mech detected."})||!l&&(0,o.createComponentVNode)(2,a.NoticeBox,{children:"No cell is installed."})||(0,o.createComponentVNode)(2,a.ProgressBar,{value:l.charge/l.maxcharge,ranges:{good:[.7,Infinity],average:[.3,.7],bad:[-Infinity,.3]},children:[(0,o.createComponentVNode)(2,a.AnimatedNumber,{value:l.charge})," / "+l.maxcharge]})})]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.NaniteChamberControl=void 0;var o=n(1),r=n(3),a=n(2);t.NaniteChamberControl=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data,c=i.status_msg,l=i.locked,u=i.occupant_name,d=i.has_nanites,s=i.nanite_volume,p=i.regen_rate,m=i.safety_threshold,f=i.cloud_id,h=i.scan_level;if(c)return(0,o.createComponentVNode)(2,a.NoticeBox,{textAlign:"center",children:c});var C=i.mob_programs||[];return(0,o.createComponentVNode)(2,a.Section,{title:"Chamber: "+u,buttons:(0,o.createComponentVNode)(2,a.Button,{icon:l?"lock":"lock-open",content:l?"Locked":"Unlocked",color:l?"bad":"default",onClick:function(){return n("toggle_lock")}}),children:d?(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Section,{title:"Status",level:2,buttons:(0,o.createComponentVNode)(2,a.Button,{icon:"exclamation-triangle",content:"Destroy Nanites",color:"bad",onClick:function(){return n("remove_nanites")}}),children:(0,o.createComponentVNode)(2,a.Grid,{children:[(0,o.createComponentVNode)(2,a.Grid.Column,{children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Nanite Volume",children:s}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Growth Rate",children:p})]})}),(0,o.createComponentVNode)(2,a.Grid.Column,{children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Safety Threshold",children:(0,o.createComponentVNode)(2,a.NumberInput,{value:m,minValue:0,maxValue:500,width:"39px",onChange:function(e,t){return n("set_safety",{value:t})}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Cloud ID",children:(0,o.createComponentVNode)(2,a.NumberInput,{value:f,minValue:0,maxValue:100,step:1,stepPixelSize:3,width:"39px",onChange:function(e,t){return n("set_cloud",{value:t})}})})]})})]})}),(0,o.createComponentVNode)(2,a.Section,{title:"Programs",level:2,children:C.map((function(e){var t=e.extra_settings||[],n=e.rules||[];return(0,o.createComponentVNode)(2,a.Collapsible,{title:e.name,children:(0,o.createComponentVNode)(2,a.Section,{children:[(0,o.createComponentVNode)(2,a.Grid,{children:[(0,o.createComponentVNode)(2,a.Grid.Column,{children:e.desc}),h>=2&&(0,o.createComponentVNode)(2,a.Grid.Column,{size:.6,children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Activation Status",children:(0,o.createComponentVNode)(2,a.Box,{color:e.activated?"good":"bad",children:e.activated?"Active":"Inactive"})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Nanites Consumed",children:[e.use_rate,"/s"]})]})})]}),h>=2&&(0,o.createComponentVNode)(2,a.Grid,{children:[!!e.can_trigger&&(0,o.createComponentVNode)(2,a.Grid.Column,{children:(0,o.createComponentVNode)(2,a.Section,{title:"Triggers",level:2,children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Trigger Cost",children:e.trigger_cost}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Trigger Cooldown",children:e.trigger_cooldown}),!!e.timer_trigger_delay&&(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Trigger Delay",children:[e.timer_trigger_delay," s"]}),!!e.timer_trigger&&(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Trigger Repeat Timer",children:[e.timer_trigger," s"]})]})})}),!(!e.timer_restart&&!e.timer_shutdown)&&(0,o.createComponentVNode)(2,a.Grid.Column,{children:(0,o.createComponentVNode)(2,a.Section,{children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[e.timer_restart&&(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Restart Timer",children:[e.timer_restart," s"]}),e.timer_shutdown&&(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Shutdown Timer",children:[e.timer_shutdown," s"]})]})})})]}),h>=3&&!!e.has_extra_settings&&(0,o.createComponentVNode)(2,a.Section,{title:"Extra Settings",level:2,children:(0,o.createComponentVNode)(2,a.LabeledList,{children:t.map((function(e){return(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:e.name,children:e.value},e.name)}))})}),h>=4&&(0,o.createComponentVNode)(2,a.Grid,{children:[(0,o.createComponentVNode)(2,a.Grid.Column,{children:(0,o.createComponentVNode)(2,a.Section,{title:"Codes",level:2,children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[!!e.activation_code&&(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Activation",children:e.activation_code}),!!e.deactivation_code&&(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Deactivation",children:e.deactivation_code}),!!e.kill_code&&(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Kill",children:e.kill_code}),!!e.can_trigger&&!!e.trigger_code&&(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Trigger",children:e.trigger_code})]})})}),e.has_rules&&(0,o.createComponentVNode)(2,a.Grid.Column,{children:(0,o.createComponentVNode)(2,a.Section,{title:"Rules",level:2,children:n.map((function(e){return(0,o.createFragment)([e.display,(0,o.createVNode)(1,"br")],0,e.display)}))})})]})]})},e.name)}))})],4):(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Box,{bold:!0,color:"bad",textAlign:"center",fontSize:"30px",mb:1,children:"No Nanites Detected"}),(0,o.createComponentVNode)(2,a.Button,{fluid:!0,bold:!0,icon:"syringe",content:" Implant Nanites",color:"green",textAlign:"center",fontSize:"30px",lineHeight:"50px",onClick:function(){return n("nanite_injection")}})],4)})}},function(e,t,n){"use strict";t.__esModule=!0,t.NaniteCloudControl=t.NaniteCloudBackupDetails=t.NaniteCloudBackupList=t.NaniteInfoBox=t.NaniteDiskBox=void 0;var o=n(1),r=n(3),a=n(2),i=function(e){var t=e.state.data,n=t.has_disk,r=t.has_program,i=t.disk;return n?r?(0,o.createComponentVNode)(2,c,{program:i}):(0,o.createComponentVNode)(2,a.NoticeBox,{children:"Inserted disk has no program"}):(0,o.createComponentVNode)(2,a.NoticeBox,{children:"No disk inserted"})};t.NaniteDiskBox=i;var c=function(e){var t=e.program,n=t.name,r=t.desc,i=t.activated,c=t.use_rate,l=t.can_trigger,u=t.trigger_cost,d=t.trigger_cooldown,s=t.activation_code,p=t.deactivation_code,m=t.kill_code,f=t.trigger_code,h=t.timer_restart,C=t.timer_shutdown,g=t.timer_trigger,b=t.timer_trigger_delay,v=t.extra_settings||[];return(0,o.createComponentVNode)(2,a.Section,{title:n,level:2,buttons:(0,o.createComponentVNode)(2,a.Box,{inline:!0,bold:!0,color:i?"good":"bad",children:i?"Activated":"Deactivated"}),children:[(0,o.createComponentVNode)(2,a.Grid,{children:[(0,o.createComponentVNode)(2,a.Grid.Column,{mr:1,children:r}),(0,o.createComponentVNode)(2,a.Grid.Column,{size:.5,children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Use Rate",children:c}),!!l&&(0,o.createFragment)([(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Trigger Cost",children:u}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Trigger Cooldown",children:d})],4)]})})]}),(0,o.createComponentVNode)(2,a.Grid,{children:[(0,o.createComponentVNode)(2,a.Grid.Column,{children:(0,o.createComponentVNode)(2,a.Section,{title:"Codes",level:3,mr:1,children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Activation",children:s}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Deactivation",children:p}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Kill",children:m}),!!l&&(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Trigger",children:f})]})})}),(0,o.createComponentVNode)(2,a.Grid.Column,{children:(0,o.createComponentVNode)(2,a.Section,{title:"Delays",level:3,mr:1,children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Restart",children:[h," s"]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Shutdown",children:[C," s"]}),!!l&&(0,o.createFragment)([(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Trigger",children:[g," s"]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Trigger Delay",children:[b," s"]})],4)]})})})]}),(0,o.createComponentVNode)(2,a.Section,{title:"Extra Settings",level:3,children:(0,o.createComponentVNode)(2,a.LabeledList,{children:v.map((function(e){var t={number:(0,o.createFragment)([e.value,e.unit],0),text:e.value,type:e.value,boolean:e.value?e.true_text:e.false_text};return(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:e.name,children:t[e.type]},e.name)}))})})]})};t.NaniteInfoBox=c;var l=function(e){var t=(0,r.useBackend)(e),n=t.act;return(t.data.cloud_backups||[]).map((function(e){return(0,o.createComponentVNode)(2,a.Button,{fluid:!0,content:"Backup #"+e.cloud_id,textAlign:"center",onClick:function(){return n("set_view",{view:e.cloud_id})}},e.cloud_id)}))};t.NaniteCloudBackupList=l;var u=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data,l=i.current_view,u=i.disk,d=i.has_program,s=i.cloud_backup,p=u&&u.can_rule||!1;if(!s)return(0,o.createComponentVNode)(2,a.NoticeBox,{children:"ERROR: Backup not found"});var m=i.cloud_programs||[];return(0,o.createComponentVNode)(2,a.Section,{title:"Backup #"+l,level:2,buttons:!!d&&(0,o.createComponentVNode)(2,a.Button,{icon:"upload",content:"Upload From Disk",color:"good",onClick:function(){return n("upload_program")}}),children:m.map((function(e){var t=e.rules||[];return(0,o.createComponentVNode)(2,a.Collapsible,{title:e.name,buttons:(0,o.createComponentVNode)(2,a.Button,{icon:"minus-circle",color:"bad",onClick:function(){return n("remove_program",{program_id:e.id})}}),children:(0,o.createComponentVNode)(2,a.Section,{children:[(0,o.createComponentVNode)(2,c,{program:e}),!!p&&(0,o.createComponentVNode)(2,a.Section,{mt:-2,title:"Rules",level:2,buttons:(0,o.createComponentVNode)(2,a.Button,{icon:"plus",content:"Add Rule from Disk",color:"good",onClick:function(){return n("add_rule",{program_id:e.id})}}),children:e.has_rules?t.map((function(t){return(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Button,{icon:"minus-circle",color:"bad",onClick:function(){return n("remove_rule",{program_id:e.id,rule_id:t.id})}}),t.display],0,t.display)})):(0,o.createComponentVNode)(2,a.Box,{color:"bad",children:"No Active Rules"})})]})},e.name)}))})};t.NaniteCloudBackupDetails=u;t.NaniteCloudControl=function(e){var t=e.state,n=(0,r.useBackend)(e),c=n.act,d=n.data,s=d.has_disk,p=d.current_view,m=d.new_backup_id;return(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Section,{title:"Program Disk",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:"eject",content:"Eject",disabled:!s,onClick:function(){return c("eject")}}),children:(0,o.createComponentVNode)(2,i,{state:t})}),(0,o.createComponentVNode)(2,a.Section,{title:"Cloud Storage",buttons:p?(0,o.createComponentVNode)(2,a.Button,{icon:"arrow-left",content:"Return",onClick:function(){return c("set_view",{view:0})}}):(0,o.createFragment)(["New Backup: ",(0,o.createComponentVNode)(2,a.NumberInput,{value:m,minValue:1,maxValue:100,stepPixelSize:4,width:"39px",onChange:function(e,t){return c("update_new_backup_value",{value:t})}}),(0,o.createComponentVNode)(2,a.Button,{icon:"plus",onClick:function(){return c("create_backup")}})],0),children:d.current_view?(0,o.createComponentVNode)(2,u,{state:t}):(0,o.createComponentVNode)(2,l,{state:t})})],4)}},function(e,t,n){"use strict";t.__esModule=!0,t.NaniteProgramHub=void 0;var o=n(1),r=n(24),a=n(3),i=n(2);t.NaniteProgramHub=function(e){var t=(0,a.useBackend)(e),n=t.act,c=t.data,l=c.detail_view,u=c.disk,d=c.has_disk,s=c.has_program,p=c.programs,m=void 0===p?{}:p;return(0,o.createFragment)([(0,o.createComponentVNode)(2,i.Section,{title:"Program Disk",buttons:(0,o.createFragment)([(0,o.createComponentVNode)(2,i.Button,{icon:"eject",content:"Eject",onClick:function(){return n("eject")}}),(0,o.createComponentVNode)(2,i.Button,{icon:"minus-circle",content:"Delete Program",onClick:function(){return n("clear")}})],4),children:d?s?(0,o.createComponentVNode)(2,i.LabeledList,{children:[(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Program Name",children:u.name}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Description",children:u.desc})]}):(0,o.createComponentVNode)(2,i.NoticeBox,{children:"No Program Installed"}):(0,o.createComponentVNode)(2,i.NoticeBox,{children:"Insert Disk"})}),(0,o.createComponentVNode)(2,i.Section,{title:"Programs",buttons:(0,o.createFragment)([(0,o.createComponentVNode)(2,i.Button,{icon:l?"info":"list",content:l?"Detailed":"Compact",onClick:function(){return n("toggle_details")}}),(0,o.createComponentVNode)(2,i.Button,{icon:"sync",content:"Sync Research",onClick:function(){return n("refresh")}})],4),children:null!==m?(0,o.createComponentVNode)(2,i.Tabs,{vertical:!0,children:(0,r.map)((function(e,t){var r=e||[],a=t.substring(0,t.length-8);return(0,o.createComponentVNode)(2,i.Tabs.Tab,{label:a,children:l?r.map((function(e){return(0,o.createComponentVNode)(2,i.Section,{title:e.name,level:2,buttons:(0,o.createComponentVNode)(2,i.Button,{icon:"download",content:"Download",disabled:!d,onClick:function(){return n("download",{program_id:e.id})}}),children:e.desc},e.id)})):(0,o.createComponentVNode)(2,i.LabeledList,{children:r.map((function(e){return(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:e.name,buttons:(0,o.createComponentVNode)(2,i.Button,{icon:"download",content:"Download",disabled:!d,onClick:function(){return n("download",{program_id:e.id})}})},e.id)}))})},t)}))(m)}):(0,o.createComponentVNode)(2,i.NoticeBox,{children:"No nanite programs are currently researched."})})],4)}},function(e,t,n){"use strict";t.__esModule=!0,t.NaniteProgrammer=t.NaniteExtraBoolean=t.NaniteExtraType=t.NaniteExtraText=t.NaniteExtraNumber=t.NaniteExtraEntry=t.NaniteDelays=t.NaniteCodes=void 0;var o=n(1),r=n(3),a=n(2),i=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data;return(0,o.createComponentVNode)(2,a.Section,{title:"Codes",level:3,mr:1,children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Activation",children:(0,o.createComponentVNode)(2,a.NumberInput,{value:i.activation_code,width:"47px",minValue:0,maxValue:9999,onChange:function(e,t){return n("set_code",{target_code:"activation",code:t})}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Deactivation",children:(0,o.createComponentVNode)(2,a.NumberInput,{value:i.deactivation_code,width:"47px",minValue:0,maxValue:9999,onChange:function(e,t){return n("set_code",{target_code:"deactivation",code:t})}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Kill",children:(0,o.createComponentVNode)(2,a.NumberInput,{value:i.kill_code,width:"47px",minValue:0,maxValue:9999,onChange:function(e,t){return n("set_code",{target_code:"kill",code:t})}})}),!!i.can_trigger&&(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Trigger",children:(0,o.createComponentVNode)(2,a.NumberInput,{value:i.trigger_code,width:"47px",minValue:0,maxValue:9999,onChange:function(e,t){return n("set_code",{target_code:"trigger",code:t})}})})]})})};t.NaniteCodes=i;var c=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data;return(0,o.createComponentVNode)(2,a.Section,{title:"Delays",level:3,ml:1,children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Restart Timer",children:(0,o.createComponentVNode)(2,a.NumberInput,{value:i.timer_restart,unit:"s",width:"57px",minValue:0,maxValue:3600,onChange:function(e,t){return n("set_restart_timer",{delay:t})}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Shutdown Timer",children:(0,o.createComponentVNode)(2,a.NumberInput,{value:i.timer_shutdown,unit:"s",width:"57px",minValue:0,maxValue:3600,onChange:function(e,t){return n("set_shutdown_timer",{delay:t})}})}),!!i.can_trigger&&(0,o.createFragment)([(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Trigger Repeat Timer",children:(0,o.createComponentVNode)(2,a.NumberInput,{value:i.timer_trigger,unit:"s",width:"57px",minValue:0,maxValue:3600,onChange:function(e,t){return n("set_trigger_timer",{delay:t})}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Trigger Delay",children:(0,o.createComponentVNode)(2,a.NumberInput,{value:i.timer_trigger_delay,unit:"s",width:"57px",minValue:0,maxValue:3600,onChange:function(e,t){return n("set_timer_trigger_delay",{delay:t})}})})],4)]})})};t.NaniteDelays=c;var l=function(e){var t=e.act,n=e.extra_setting,r=n.name,i=n.type,c={number:(0,o.createComponentVNode)(2,u,{act:t,extra_setting:n}),text:(0,o.createComponentVNode)(2,d,{act:t,extra_setting:n}),type:(0,o.createComponentVNode)(2,s,{act:t,extra_setting:n}),boolean:(0,o.createComponentVNode)(2,p,{act:t,extra_setting:n})};return(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:r,children:c[i]})};t.NaniteExtraEntry=l;var u=function(e){var t=e.act,n=e.extra_setting,r=n.name,i=n.value,c=n.min,l=n.max,u=n.unit;return(0,o.createComponentVNode)(2,a.NumberInput,{value:i,width:"64px",minValue:c,maxValue:l,unit:u,onChange:function(e,n){return t("set_extra_setting",{target_setting:r,value:n})}})};t.NaniteExtraNumber=u;var d=function(e){var t=e.act,n=e.extra_setting,r=n.name,i=n.value;return(0,o.createComponentVNode)(2,a.Input,{value:i,width:"200px",onInput:function(e,n){return t("set_extra_setting",{target_setting:r,value:n})}})};t.NaniteExtraText=d;var s=function(e){var t=e.act,n=e.extra_setting,r=n.name,i=n.value,c=n.types;return(0,o.createComponentVNode)(2,a.Dropdown,{over:!0,selected:i,width:"150px",options:c,onSelected:function(e){return t("set_extra_setting",{target_setting:r,value:e})}})};t.NaniteExtraType=s;var p=function(e){var t=e.act,n=e.extra_setting,r=n.name,i=n.value,c=n.true_text,l=n.false_text;return(0,o.createComponentVNode)(2,a.Button.Checkbox,{content:i?c:l,checked:i,onClick:function(){return t("set_extra_setting",{target_setting:r})}})};t.NaniteExtraBoolean=p;t.NaniteProgrammer=function(e){var t=(0,r.useBackend)(e),n=t.act,u=t.data,d=u.has_disk,s=u.has_program,p=u.name,m=u.desc,f=u.use_rate,h=u.can_trigger,C=u.trigger_cost,g=u.trigger_cooldown,b=u.activated,v=u.has_extra_settings,N=u.extra_settings,V=void 0===N?{}:N;return d?s?(0,o.createComponentVNode)(2,a.Section,{title:p,buttons:(0,o.createComponentVNode)(2,a.Button,{icon:"eject",content:"Eject",onClick:function(){return n("eject")}}),children:[(0,o.createComponentVNode)(2,a.Section,{title:"Info",level:2,children:(0,o.createComponentVNode)(2,a.Grid,{children:[(0,o.createComponentVNode)(2,a.Grid.Column,{children:m}),(0,o.createComponentVNode)(2,a.Grid.Column,{size:.7,children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Use Rate",children:f}),!!h&&(0,o.createFragment)([(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Trigger Cost",children:C}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Trigger Cooldown",children:g})],4)]})})]})}),(0,o.createComponentVNode)(2,a.Section,{title:"Settings",level:2,buttons:(0,o.createComponentVNode)(2,a.Button,{icon:b?"power-off":"times",content:b?"Active":"Inactive",selected:b,color:"bad",bold:!0,onClick:function(){return n("toggle_active")}}),children:[(0,o.createComponentVNode)(2,a.Grid,{children:[(0,o.createComponentVNode)(2,a.Grid.Column,{children:(0,o.createComponentVNode)(2,i,{state:e.state})}),(0,o.createComponentVNode)(2,a.Grid.Column,{children:(0,o.createComponentVNode)(2,c,{state:e.state})})]}),!!v&&(0,o.createComponentVNode)(2,a.Section,{title:"Special",level:3,children:(0,o.createComponentVNode)(2,a.LabeledList,{children:V.map((function(e){return(0,o.createComponentVNode)(2,l,{act:n,extra_setting:e},e.name)}))})})]})]}):(0,o.createComponentVNode)(2,a.Section,{title:"Blank Disk",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:"eject",content:"Eject",onClick:function(){return n("eject")}})}):(0,o.createComponentVNode)(2,a.NoticeBox,{textAlign:"center",children:"Insert a nanite program disk"})}},function(e,t,n){"use strict";t.__esModule=!0,t.NaniteRemote=void 0;var o=n(1),r=n(3),a=n(2);t.NaniteRemote=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data,c=i.code,l=i.locked,u=i.mode,d=i.program_name,s=i.relay_code,p=i.comms,m=i.message,f=i.saved_settings,h=void 0===f?[]:f;return l?(0,o.createComponentVNode)(2,a.NoticeBox,{children:"This interface is locked."}):(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Section,{title:"Nanite Control",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:"lock",content:"Lock Interface",onClick:function(){return n("lock")}}),children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Name",children:[(0,o.createComponentVNode)(2,a.Input,{value:d,maxLength:14,width:"130px",onChange:function(e,t){return n("update_name",{name:t})}}),(0,o.createComponentVNode)(2,a.Button,{icon:"save",content:"Save",onClick:function(){return n("save")}})]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:p?"Comm Code":"Signal Code",children:(0,o.createComponentVNode)(2,a.NumberInput,{value:c,minValue:0,maxValue:9999,width:"47px",step:1,stepPixelSize:2,onChange:function(e,t){return n("set_code",{code:t})}})}),!!p&&(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Message",children:(0,o.createComponentVNode)(2,a.Input,{value:m,width:"270px",onChange:function(e,t){return n("set_message",{value:t})}})}),"Relay"===u&&(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Relay Code",children:(0,o.createComponentVNode)(2,a.NumberInput,{value:s,minValue:0,maxValue:9999,width:"47px",step:1,stepPixelSize:2,onChange:function(e,t){return n("set_relay_code",{code:t})}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Signal Mode",children:["Off","Local","Targeted","Area","Relay"].map((function(e){return(0,o.createComponentVNode)(2,a.Button,{content:e,selected:u===e,onClick:function(){return n("select_mode",{mode:e})}},e)}))})]})}),(0,o.createComponentVNode)(2,a.Section,{title:"Saved Settings",children:h.length>0?(0,o.createComponentVNode)(2,a.Table,{children:[(0,o.createComponentVNode)(2,a.Table.Row,{header:!0,children:[(0,o.createComponentVNode)(2,a.Table.Cell,{width:"35%",children:"Name"}),(0,o.createComponentVNode)(2,a.Table.Cell,{width:"20%",children:"Mode"}),(0,o.createComponentVNode)(2,a.Table.Cell,{collapsing:!0,children:"Code"}),(0,o.createComponentVNode)(2,a.Table.Cell,{collapsing:!0,children:"Relay"})]}),h.map((function(e){return(0,o.createComponentVNode)(2,a.Table.Row,{className:"candystripe",children:[(0,o.createComponentVNode)(2,a.Table.Cell,{bold:!0,color:"label",children:[e.name,":"]}),(0,o.createComponentVNode)(2,a.Table.Cell,{children:e.mode}),(0,o.createComponentVNode)(2,a.Table.Cell,{children:e.code}),(0,o.createComponentVNode)(2,a.Table.Cell,{children:"Relay"===e.mode&&e.relay_code}),(0,o.createComponentVNode)(2,a.Table.Cell,{textAlign:"right",children:[(0,o.createComponentVNode)(2,a.Button,{icon:"upload",color:"good",onClick:function(){return n("load",{save_id:e.id})}}),(0,o.createComponentVNode)(2,a.Button,{icon:"minus",color:"bad",onClick:function(){return n("remove_save",{save_id:e.id})}})]})]},e.id)}))]}):(0,o.createComponentVNode)(2,a.NoticeBox,{children:"No settings currently saved"})})],4)}},function(e,t,n){"use strict";t.__esModule=!0,t.Mule=void 0;var o=n(1),r=n(3),a=n(2),i=n(69);t.Mule=function(e){var t=(0,r.useBackend)(e),n=t.act,c=t.data,l=c.locked&&!c.siliconUser,u=c.siliconUser,d=c.on,s=c.cell,p=c.cellPercent,m=c.load,f=c.mode,h=c.modeStatus,C=c.haspai,g=c.autoReturn,b=c.autoPickup,v=c.reportDelivery,N=c.destination,V=c.home,y=c.id,_=c.destinations,x=void 0===_?[]:_;return(0,o.createFragment)([(0,o.createComponentVNode)(2,i.InterfaceLockNoticeBox,{siliconUser:u,locked:l}),(0,o.createComponentVNode)(2,a.Section,{title:"Status",minHeight:"110px",buttons:!l&&(0,o.createComponentVNode)(2,a.Button,{icon:d?"power-off":"times",content:d?"On":"Off",selected:d,onClick:function(){return n("power")}}),children:[(0,o.createComponentVNode)(2,a.ProgressBar,{value:s?p/100:0,color:s?"good":"bad"}),(0,o.createComponentVNode)(2,a.Grid,{mt:1,children:[(0,o.createComponentVNode)(2,a.Grid.Column,{children:(0,o.createComponentVNode)(2,a.LabeledList,{children:(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Mode",color:h,children:f})})}),(0,o.createComponentVNode)(2,a.Grid.Column,{children:(0,o.createComponentVNode)(2,a.LabeledList,{children:(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Load",color:m?"good":"average",children:m||"None"})})})]})]}),!l&&(0,o.createComponentVNode)(2,a.Section,{title:"Controls",buttons:(0,o.createFragment)([!!m&&(0,o.createComponentVNode)(2,a.Button,{icon:"eject",content:"Unload",onClick:function(){return n("unload")}}),!!C&&(0,o.createComponentVNode)(2,a.Button,{icon:"eject",content:"Eject PAI",onClick:function(){return n("ejectpai")}})],0),children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"ID",children:(0,o.createComponentVNode)(2,a.Input,{value:y,onChange:function(e,t){return n("setid",{value:t})}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Destination",children:[(0,o.createComponentVNode)(2,a.Dropdown,{over:!0,selected:N||"None",options:x,width:"150px",onSelected:function(e){return n("destination",{value:e})}}),(0,o.createComponentVNode)(2,a.Button,{icon:"stop",content:"Stop",onClick:function(){return n("stop")}}),(0,o.createComponentVNode)(2,a.Button,{icon:"play",content:"Go",onClick:function(){return n("go")}})]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Home",children:[(0,o.createComponentVNode)(2,a.Dropdown,{over:!0,selected:V,options:x,width:"150px",onSelected:function(e){return n("destination",{value:e})}}),(0,o.createComponentVNode)(2,a.Button,{icon:"home",content:"Go Home",onClick:function(){return n("home")}})]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Settings",children:[(0,o.createComponentVNode)(2,a.Button.Checkbox,{checked:g,content:"Auto-Return",onClick:function(){return n("autored")}}),(0,o.createVNode)(1,"br"),(0,o.createComponentVNode)(2,a.Button.Checkbox,{checked:b,content:"Auto-Pickup",onClick:function(){return n("autopick")}}),(0,o.createVNode)(1,"br"),(0,o.createComponentVNode)(2,a.Button.Checkbox,{checked:v,content:"Report Delivery",onClick:function(){return n("report")}})]})]})})],0)}},function(e,t,n){"use strict";t.__esModule=!0,t.NotificationPreferences=void 0;var o=n(1),r=n(3),a=n(2);t.NotificationPreferences=function(e){var t=(0,r.useBackend)(e),n=t.act,i=(t.data.ignore||[]).sort((function(e,t){var n=e.desc.toLowerCase(),o=t.desc.toLowerCase();return no?1:0}));return(0,o.createComponentVNode)(2,a.Section,{title:"Ghost Role Notifications",children:i.map((function(e){return(0,o.createComponentVNode)(2,a.Button,{fluid:!0,icon:e.enabled?"times":"check",content:e.desc,color:e.enabled?"bad":"good",onClick:function(){return n("toggle_ignore",{key:e.key})}},e.key)}))})}},function(e,t,n){"use strict";t.__esModule=!0,t.NtnetRelay=void 0;var o=n(1),r=n(3),a=n(2);t.NtnetRelay=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data,c=i.enabled,l=i.dos_capacity,u=i.dos_overload,d=i.dos_crashed;return(0,o.createComponentVNode)(2,a.Section,{title:"Network Buffer",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:"power-off",selected:c,content:c?"ENABLED":"DISABLED",onClick:function(){return n("toggle")}}),children:d?(0,o.createComponentVNode)(2,a.Box,{fontFamily:"monospace",children:[(0,o.createComponentVNode)(2,a.Box,{fontSize:"20px",children:"NETWORK BUFFER OVERFLOW"}),(0,o.createComponentVNode)(2,a.Box,{fontSize:"16px",children:"OVERLOAD RECOVERY MODE"}),(0,o.createComponentVNode)(2,a.Box,{children:"This system is suffering temporary outage due to overflow of traffic buffers. Until buffered traffic is processed, all further requests will be dropped. Frequent occurences of this error may indicate insufficient hardware capacity of your network. Please contact your network planning department for instructions on how to resolve this issue."}),(0,o.createComponentVNode)(2,a.Box,{fontSize:"20px",color:"bad",children:"ADMINISTRATOR OVERRIDE"}),(0,o.createComponentVNode)(2,a.Box,{fontSize:"16px",color:"bad",children:"CAUTION - DATA LOSS MAY OCCUR"}),(0,o.createComponentVNode)(2,a.Button,{icon:"signal",content:"PURGE BUFFER",mt:1,color:"bad",onClick:function(){return n("restart")}})]}):(0,o.createComponentVNode)(2,a.ProgressBar,{value:u,minValue:0,maxValue:l,children:[(0,o.createComponentVNode)(2,a.AnimatedNumber,{value:u})," GQ"," / ",l," GQ"]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.NtosArcade=void 0;var o=n(1),r=n(3),a=n(2);t.NtosArcade=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data;return(0,o.createComponentVNode)(2,a.Section,{title:"Outbomb Cuban Pete Ultra",textAlign:"center",children:[(0,o.createComponentVNode)(2,a.Box,{children:[(0,o.createComponentVNode)(2,a.Grid,{children:[(0,o.createComponentVNode)(2,a.Grid.Column,{size:2,children:[(0,o.createComponentVNode)(2,a.Box,{m:1}),(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Player Health",children:(0,o.createComponentVNode)(2,a.ProgressBar,{value:i.PlayerHitpoints,minValue:0,maxValue:30,ranges:{olive:[31,Infinity],good:[20,31],average:[10,20],bad:[-Infinity,10]},children:[i.PlayerHitpoints,"HP"]})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Player Magic",children:(0,o.createComponentVNode)(2,a.ProgressBar,{value:i.PlayerMP,minValue:0,maxValue:10,ranges:{purple:[11,Infinity],violet:[3,11],bad:[-Infinity,3]},children:[i.PlayerMP,"MP"]})})]}),(0,o.createComponentVNode)(2,a.Box,{my:1,mx:4}),(0,o.createComponentVNode)(2,a.Section,{backgroundColor:1===i.PauseState?"#1b3622":"#471915",children:i.Status})]}),(0,o.createComponentVNode)(2,a.Grid.Column,{children:[(0,o.createComponentVNode)(2,a.ProgressBar,{value:i.Hitpoints/45,minValue:0,maxValue:45,ranges:{good:[30,Infinity],average:[5,30],bad:[-Infinity,5]},children:[(0,o.createComponentVNode)(2,a.AnimatedNumber,{value:i.Hitpoints}),"HP"]}),(0,o.createComponentVNode)(2,a.Box,{m:1}),(0,o.createComponentVNode)(2,a.Section,{inline:!0,width:26,textAlign:"center",children:(0,o.createVNode)(1,"img",null,null,1,{src:i.BossID})})]})]}),(0,o.createComponentVNode)(2,a.Box,{my:1,mx:4}),(0,o.createComponentVNode)(2,a.Button,{icon:"fist-raised",tooltip:"Go in for the kill!",tooltipPosition:"top",disabled:0===i.GameActive||1===i.PauseState,onClick:function(){return n("Attack")},content:"Attack!"}),(0,o.createComponentVNode)(2,a.Button,{icon:"band-aid",tooltip:"Heal yourself!",tooltipPosition:"top",disabled:0===i.GameActive||1===i.PauseState,onClick:function(){return n("Heal")},content:"Heal!"}),(0,o.createComponentVNode)(2,a.Button,{icon:"magic",tooltip:"Recharge your magic!",tooltipPosition:"top",disabled:0===i.GameActive||1===i.PauseState,onClick:function(){return n("Recharge_Power")},content:"Recharge!"})]}),(0,o.createComponentVNode)(2,a.Box,{children:[(0,o.createComponentVNode)(2,a.Button,{icon:"sync-alt",tooltip:"One more game couldn't hurt.",tooltipPosition:"top",disabled:1===i.GameActive,onClick:function(){return n("Start_Game")},content:"Begin Game"}),(0,o.createComponentVNode)(2,a.Button,{icon:"ticket-alt",tooltip:"Claim at your local Arcade Computer for Prizes!",tooltipPosition:"top",disabled:1===i.GameActive,onClick:function(){return n("Dispense_Tickets")},content:"Claim Tickets"})]}),(0,o.createComponentVNode)(2,a.Box,{color:i.TicketCount>=1?"good":"normal",children:["Earned Tickets: ",i.TicketCount]})]})}},function(e,t,n){"use strict";t.__esModule=!0,t.NtosConfiguration=void 0;var o=n(1),r=n(3),a=n(2);t.NtosConfiguration=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data,c=i.power_usage,l=i.battery_exists,u=i.battery,d=void 0===u?{}:u,s=i.disk_size,p=i.disk_used,m=i.hardware,f=void 0===m?[]:m;return(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Section,{title:"Power Supply",buttons:(0,o.createComponentVNode)(2,a.Box,{inline:!0,bold:!0,mr:1,children:["Power Draw: ",c,"W"]}),children:(0,o.createComponentVNode)(2,a.LabeledList,{children:(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Battery Status",color:!l&&"average",children:l?(0,o.createComponentVNode)(2,a.ProgressBar,{value:d.charge,minValue:0,maxValue:d.max,ranges:{good:[d.max/2,Infinity],average:[d.max/4,d.max/2],bad:[-Infinity,d.max/4]},children:[d.charge," / ",d.max]}):"Not Available"})})}),(0,o.createComponentVNode)(2,a.Section,{title:"File System",children:(0,o.createComponentVNode)(2,a.ProgressBar,{value:p,minValue:0,maxValue:s,color:"good",children:[p," GQ / ",s," GQ"]})}),(0,o.createComponentVNode)(2,a.Section,{title:"Hardware Components",children:f.map((function(e){return(0,o.createComponentVNode)(2,a.Section,{title:e.name,level:2,buttons:(0,o.createFragment)([!e.critical&&(0,o.createComponentVNode)(2,a.Button.Checkbox,{content:"Enabled",checked:e.enabled,mr:1,onClick:function(){return n("PC_toggle_component",{name:e.name})}}),(0,o.createComponentVNode)(2,a.Box,{inline:!0,bold:!0,mr:1,children:["Power Usage: ",e.powerusage,"W"]})],0),children:e.desc},e.name)}))})],4)}},function(e,t,n){"use strict";t.__esModule=!0,t.NtosMain=void 0;var o=n(1),r=n(3),a=n(2),i={compconfig:"cog",ntndownloader:"download",filemanager:"folder",smmonitor:"radiation",alarmmonitor:"bell",cardmod:"id-card",arcade:"gamepad",ntnrc_client:"comment-alt",nttransfer:"exchange-alt",powermonitor:"plug"};t.NtosMain=function(e){var t=(0,r.useBackend)(e),n=t.act,c=t.data,l=c.programs,u=void 0===l?[]:l,d=c.has_light,s=c.light_on,p=c.comp_light_color;return(0,o.createFragment)([!!d&&(0,o.createComponentVNode)(2,a.Section,{children:[(0,o.createComponentVNode)(2,a.Button,{width:"144px",icon:"lightbulb",selected:s,onClick:function(){return n("PC_toggle_light")},children:["Flashlight: ",s?"ON":"OFF"]}),(0,o.createComponentVNode)(2,a.Button,{ml:1,onClick:function(){return n("PC_light_color")},children:["Color:",(0,o.createComponentVNode)(2,a.ColorBox,{ml:1,color:p})]})]}),(0,o.createComponentVNode)(2,a.Section,{title:"Programs",children:(0,o.createComponentVNode)(2,a.Table,{children:u.map((function(e){return(0,o.createComponentVNode)(2,a.Table.Row,{children:[(0,o.createComponentVNode)(2,a.Table.Cell,{children:(0,o.createComponentVNode)(2,a.Button,{fluid:!0,lineHeight:"24px",color:"transparent",icon:i[e.name]||"window-maximize-o",content:e.desc,onClick:function(){return n("PC_runprogram",{name:e.name})}})}),(0,o.createComponentVNode)(2,a.Table.Cell,{collapsing:!0,width:3,children:!!e.running&&(0,o.createComponentVNode)(2,a.Button,{lineHeight:"24px",color:"transparent",icon:"times",tooltip:"Close program",tooltipPosition:"left",onClick:function(){return n("PC_killprogram",{name:e.name})}})})]},e.name)}))})})],0)}},function(e,t,n){"use strict";t.__esModule=!0,t.NtosNetChat=void 0;var o=n(1),r=n(3),a=n(2);(0,n(51).createLogger)("ntos chat");t.NtosNetChat=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data,c=i.can_admin,l=i.adminmode,u=i.authed,d=i.username,s=i.active_channel,p=i.is_operator,m=i.all_channels,f=void 0===m?[]:m,h=i.clients,C=void 0===h?[]:h,g=i.messages,b=void 0===g?[]:g,v=null!==s,N=u||l;return(0,o.createComponentVNode)(2,a.Section,{height:"600px",children:(0,o.createComponentVNode)(2,a.Table,{height:"580px",children:(0,o.createComponentVNode)(2,a.Table.Row,{children:[(0,o.createComponentVNode)(2,a.Table.Cell,{verticalAlign:"top",style:{width:"200px"},children:[(0,o.createComponentVNode)(2,a.Box,{height:"537px",overflowY:"scroll",children:[(0,o.createComponentVNode)(2,a.Button.Input,{fluid:!0,content:"New Channel...",onCommit:function(e,t){return n("PRG_newchannel",{new_channel_name:t})}}),f.map((function(e){return(0,o.createComponentVNode)(2,a.Button,{fluid:!0,content:e.chan,selected:e.id===s,color:"transparent",onClick:function(){return n("PRG_joinchannel",{id:e.id})}},e.chan)}))]}),(0,o.createComponentVNode)(2,a.Button.Input,{fluid:!0,mt:1,content:d+"...",currentValue:d,onCommit:function(e,t){return n("PRG_changename",{new_name:t})}}),!!c&&(0,o.createComponentVNode)(2,a.Button,{fluid:!0,bold:!0,content:"ADMIN MODE: "+(l?"ON":"OFF"),color:l?"bad":"good",onClick:function(){return n("PRG_toggleadmin")}})]}),(0,o.createComponentVNode)(2,a.Table.Cell,{children:[(0,o.createComponentVNode)(2,a.Box,{height:"560px",overflowY:"scroll",children:v&&(N?b.map((function(e){return(0,o.createComponentVNode)(2,a.Box,{children:e.msg},e.msg)})):(0,o.createComponentVNode)(2,a.Box,{textAlign:"center",children:[(0,o.createComponentVNode)(2,a.Icon,{name:"exclamation-triangle",mt:4,fontSize:"40px"}),(0,o.createComponentVNode)(2,a.Box,{mt:1,bold:!0,fontSize:"18px",children:"THIS CHANNEL IS PASSWORD PROTECTED"}),(0,o.createComponentVNode)(2,a.Box,{mt:1,children:"INPUT PASSWORD TO ACCESS"})]}))}),(0,o.createComponentVNode)(2,a.Input,{fluid:!0,selfClear:!0,mt:1,onEnter:function(e,t){return n("PRG_speak",{message:t})}})]}),(0,o.createComponentVNode)(2,a.Table.Cell,{verticalAlign:"top",style:{width:"150px"},children:[(0,o.createComponentVNode)(2,a.Box,{height:"477px",overflowY:"scroll",children:C.map((function(e){return(0,o.createComponentVNode)(2,a.Box,{children:e.name},e.name)}))}),v&&N&&(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Button.Input,{fluid:!0,content:"Save log...",defaultValue:"new_log",onCommit:function(e,t){return n("PRG_savelog",{log_name:t})}}),(0,o.createComponentVNode)(2,a.Button.Confirm,{fluid:!0,content:"Leave Channel",onClick:function(){return n("PRG_leavechannel")}})],4),!!p&&u&&(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Button.Confirm,{fluid:!0,content:"Delete Channel",onClick:function(){return n("PRG_deletechannel")}}),(0,o.createComponentVNode)(2,a.Button.Input,{fluid:!0,content:"Rename Channel...",onCommit:function(e,t){return n("PRG_renamechannel",{new_name:t})}}),(0,o.createComponentVNode)(2,a.Button.Input,{fluid:!0,content:"Set Password...",onCommit:function(e,t){return n("PRG_setpassword",{new_password:t})}})],4)]})]})})})}},function(e,t,n){"use strict";t.__esModule=!0,t.NtosNetDownloader=void 0;var o=n(1),r=n(3),a=n(2);t.NtosNetDownloader=function(e){var t=e.state,n=(0,r.useBackend)(e),c=n.act,l=n.data,u=l.disk_size,d=l.disk_used,s=l.downloadable_programs,p=void 0===s?[]:s,m=l.error,f=l.hacked_programs,h=void 0===f?[]:f,C=l.hackedavailable;return(0,o.createFragment)([!!m&&(0,o.createComponentVNode)(2,a.NoticeBox,{children:[(0,o.createComponentVNode)(2,a.Box,{mb:1,children:m}),(0,o.createComponentVNode)(2,a.Button,{content:"Reset",onClick:function(){return c("PRG_reseterror")}})]}),(0,o.createComponentVNode)(2,a.Section,{children:(0,o.createComponentVNode)(2,a.LabeledList,{children:(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Disk usage",children:(0,o.createComponentVNode)(2,a.ProgressBar,{value:d,minValue:0,maxValue:u,children:d+" GQ / "+u+" GQ"})})})}),(0,o.createComponentVNode)(2,a.Section,{children:p.map((function(e){return(0,o.createComponentVNode)(2,i,{state:t,program:e},e.filename)}))}),!!C&&(0,o.createComponentVNode)(2,a.Section,{title:"UNKNOWN Software Repository",children:[(0,o.createComponentVNode)(2,a.NoticeBox,{mb:1,children:"Please note that Nanotrasen does not recommend download of software from non-official servers."}),h.map((function(e){return(0,o.createComponentVNode)(2,i,{state:t,program:e},e.filename)}))]})],0)};var i=function(e){var t=e.program,n=(0,r.useBackend)(e),i=n.act,c=n.data,l=c.disk_size,u=c.disk_used,d=c.downloadcompletion,s=c.downloading,p=c.downloadname,m=c.downloadsize,f=l-u;return(0,o.createComponentVNode)(2,a.Box,{mb:3,children:[(0,o.createComponentVNode)(2,a.Flex,{align:"baseline",children:[(0,o.createComponentVNode)(2,a.Flex.Item,{bold:!0,grow:1,children:t.filedesc}),(0,o.createComponentVNode)(2,a.Flex.Item,{color:"label",nowrap:!0,children:[t.size," GQ"]}),(0,o.createComponentVNode)(2,a.Flex.Item,{ml:2,width:"94px",textAlign:"center",children:t.filename===p&&(0,o.createComponentVNode)(2,a.ProgressBar,{color:"green",minValue:0,maxValue:m,value:d})||(0,o.createComponentVNode)(2,a.Button,{fluid:!0,icon:"download",content:"Download",disabled:s||t.size>f,onClick:function(){return i("PRG_downloadfile",{filename:t.filename})}})})]}),"Compatible"!==t.compatibility&&(0,o.createComponentVNode)(2,a.Box,{mt:1,italic:!0,fontSize:"12px",position:"relative",children:[(0,o.createComponentVNode)(2,a.Icon,{mx:1,color:"red",name:"times"}),"Incompatible!"]}),t.size>f&&(0,o.createComponentVNode)(2,a.Box,{mt:1,italic:!0,fontSize:"12px",position:"relative",children:[(0,o.createComponentVNode)(2,a.Icon,{mx:1,color:"red",name:"times"}),"Not enough disk space!"]}),(0,o.createComponentVNode)(2,a.Box,{mt:1,italic:!0,color:"label",fontSize:"12px",children:t.fileinfo})]})}},function(e,t,n){"use strict";t.__esModule=!0,t.NtosSupermatterMonitor=void 0;var o=n(1),r=n(24),a=n(70),i=n(18),c=n(3),l=n(2),u=n(37),d=function(e){return Math.log2(16+Math.max(0,e))-4};t.NtosSupermatterMonitor=function(e){var t=e.state,n=(0,c.useBackend)(e),p=n.act,m=n.data,f=m.active,h=m.SM_integrity,C=m.SM_power,g=m.SM_ambienttemp,b=m.SM_ambientpressure;if(!f)return(0,o.createComponentVNode)(2,s,{state:t});var v=(0,a.flow)([function(e){return e.filter((function(e){return e.amount>=.01}))},(0,r.sortBy)((function(e){return-e.amount}))])(m.gases||[]),N=Math.max.apply(Math,[1].concat(v.map((function(e){return e.amount}))));return(0,o.createComponentVNode)(2,l.Flex,{spacing:1,children:[(0,o.createComponentVNode)(2,l.Flex.Item,{width:"270px",children:(0,o.createComponentVNode)(2,l.Section,{title:"Metrics",children:(0,o.createComponentVNode)(2,l.LabeledList,{children:[(0,o.createComponentVNode)(2,l.LabeledList.Item,{label:"Integrity",children:(0,o.createComponentVNode)(2,l.ProgressBar,{value:h/100,ranges:{good:[.9,Infinity],average:[.5,.9],bad:[-Infinity,.5]}})}),(0,o.createComponentVNode)(2,l.LabeledList.Item,{label:"Relative EER",children:(0,o.createComponentVNode)(2,l.ProgressBar,{value:C,minValue:0,maxValue:5e3,ranges:{good:[-Infinity,5e3],average:[5e3,7e3],bad:[7e3,Infinity]},children:(0,i.toFixed)(C)+" MeV/cm3"})}),(0,o.createComponentVNode)(2,l.LabeledList.Item,{label:"Temperature",children:(0,o.createComponentVNode)(2,l.ProgressBar,{value:d(g),minValue:0,maxValue:d(1e4),ranges:{teal:[-Infinity,d(80)],good:[d(80),d(373)],average:[d(373),d(1e3)],bad:[d(1e3),Infinity]},children:(0,i.toFixed)(g)+" K"})}),(0,o.createComponentVNode)(2,l.LabeledList.Item,{label:"Pressure",children:(0,o.createComponentVNode)(2,l.ProgressBar,{value:d(b),minValue:0,maxValue:d(5e4),ranges:{good:[d(1),d(300)],average:[-Infinity,d(1e3)],bad:[d(1e3),+Infinity]},children:(0,i.toFixed)(b)+" kPa"})})]})})}),(0,o.createComponentVNode)(2,l.Flex.Item,{grow:1,children:(0,o.createComponentVNode)(2,l.Section,{title:"Gases",buttons:(0,o.createComponentVNode)(2,l.Button,{icon:"arrow-left",content:"Back",onClick:function(){return p("PRG_clear")}}),children:(0,o.createComponentVNode)(2,l.Box.Forced,{height:24*v.length+"px",children:(0,o.createComponentVNode)(2,l.LabeledList,{children:v.map((function(e){return(0,o.createComponentVNode)(2,l.LabeledList.Item,{label:(0,u.getGasLabel)(e.name),children:(0,o.createComponentVNode)(2,l.ProgressBar,{color:(0,u.getGasColor)(e.name),value:e.amount,minValue:0,maxValue:N,children:(0,i.toFixed)(e.amount,2)+"%"})},e.name)}))})})})})]})};var s=function(e){var t=(0,c.useBackend)(e),n=t.act,r=t.data.supermatters,a=void 0===r?[]:r;return(0,o.createComponentVNode)(2,l.Section,{title:"Detected Supermatters",buttons:(0,o.createComponentVNode)(2,l.Button,{icon:"sync",content:"Refresh",onClick:function(){return n("PRG_refresh")}}),children:(0,o.createComponentVNode)(2,l.Table,{children:a.map((function(e){return(0,o.createComponentVNode)(2,l.Table.Row,{children:[(0,o.createComponentVNode)(2,l.Table.Cell,{children:e.uid+". "+e.area_name}),(0,o.createComponentVNode)(2,l.Table.Cell,{collapsing:!0,color:"label",children:"Integrity:"}),(0,o.createComponentVNode)(2,l.Table.Cell,{collapsing:!0,width:"120px",children:(0,o.createComponentVNode)(2,l.ProgressBar,{value:e.integrity/100,ranges:{good:[.9,Infinity],average:[.5,.9],bad:[-Infinity,.5]}})}),(0,o.createComponentVNode)(2,l.Table.Cell,{collapsing:!0,children:(0,o.createComponentVNode)(2,l.Button,{content:"Details",onClick:function(){return n("PRG_set",{target:e.uid})}})})]},e.uid)}))})})}},function(e,t,n){"use strict";t.__esModule=!0,t.NtosWrapper=void 0;var o=n(1),r=n(3),a=n(2),i=n(116);t.NtosWrapper=function(e){var t=e.children,n=(0,r.useBackend)(e),c=n.act,l=n.data,u=l.PC_batteryicon,d=l.PC_showbatteryicon,s=l.PC_batterypercent,p=l.PC_ntneticon,m=l.PC_apclinkicon,f=l.PC_stationtime,h=l.PC_programheaders,C=void 0===h?[]:h,g=l.PC_showexitprogram;return(0,o.createVNode)(1,"div","NtosWrapper",[(0,o.createVNode)(1,"div","NtosWrapper__header NtosHeader",[(0,o.createVNode)(1,"div","NtosHeader__left",[(0,o.createComponentVNode)(2,a.Box,{inline:!0,bold:!0,mr:2,children:f}),(0,o.createComponentVNode)(2,a.Box,{inline:!0,italic:!0,mr:2,opacity:.33,children:"NtOS"})],4),(0,o.createVNode)(1,"div","NtosHeader__right",[C.map((function(e){return(0,o.createComponentVNode)(2,a.Box,{inline:!0,mr:1,children:(0,o.createVNode)(1,"img","NtosHeader__icon",null,1,{src:e.icon})},e.icon)})),(0,o.createComponentVNode)(2,a.Box,{inline:!0,children:p&&(0,o.createVNode)(1,"img","NtosHeader__icon",null,1,{src:p})}),!!d&&u&&(0,o.createComponentVNode)(2,a.Box,{inline:!0,mr:1,children:[u&&(0,o.createVNode)(1,"img","NtosHeader__icon",null,1,{src:u}),s&&s]}),m&&(0,o.createComponentVNode)(2,a.Box,{inline:!0,mr:1,children:(0,o.createVNode)(1,"img","NtosHeader__icon",null,1,{src:m})}),!!g&&(0,o.createComponentVNode)(2,a.Button,{width:"26px",lineHeight:"22px",textAlign:"center",color:"transparent",icon:"window-minimize-o",tooltip:"Minimize",tooltipPosition:"bottom",onClick:function(){return c("PC_minimize")}}),!!g&&(0,o.createComponentVNode)(2,a.Button,{mr:"-3px",width:"26px",lineHeight:"22px",textAlign:"center",color:"transparent",icon:"window-close-o",tooltip:"Close",tooltipPosition:"bottom-left",onClick:function(){return c("PC_exit")}}),!g&&(0,o.createComponentVNode)(2,a.Button,{mr:"-3px",width:"26px",lineHeight:"22px",textAlign:"center",color:"transparent",icon:"power-off",tooltip:"Power off",tooltipPosition:"bottom-left",onClick:function(){return c("PC_shutdown")}})],0)],4,{onMouseDown:function(){(0,i.refocusLayout)()}}),(0,o.createVNode)(1,"div","NtosWrapper__content",t,0)],4)}},function(e,t,n){"use strict";t.__esModule=!0,t.NuclearBomb=void 0;var o=n(1),r=n(12),a=n(3),i=n(2),c=function(e){var t=(0,a.useBackend)(e).act;return(0,o.createComponentVNode)(2,i.Box,{width:"185px",children:(0,o.createComponentVNode)(2,i.Grid,{width:"1px",children:[["1","4","7","C"],["2","5","8","0"],["3","6","9","E"]].map((function(e){return(0,o.createComponentVNode)(2,i.Grid.Column,{children:e.map((function(e){return(0,o.createComponentVNode)(2,i.Button,{fluid:!0,bold:!0,mb:1,content:e,textAlign:"center",fontSize:"40px",lineHeight:"50px",width:"55px",className:(0,r.classes)(["NuclearBomb__Button","NuclearBomb__Button--keypad","NuclearBomb__Button--"+e]),onClick:function(){return t("keypad",{digit:e})}},e)}))},e[0])}))})})};t.NuclearBomb=function(e){var t=e.state,n=(0,a.useBackend)(e),r=n.act,l=n.data,u=(l.anchored,l.disk_present,l.status1),d=l.status2;return(0,o.createComponentVNode)(2,i.Box,{m:1,children:[(0,o.createComponentVNode)(2,i.Box,{mb:1,className:"NuclearBomb__displayBox",children:u}),(0,o.createComponentVNode)(2,i.Flex,{mb:1.5,children:[(0,o.createComponentVNode)(2,i.Flex.Item,{grow:1,children:(0,o.createComponentVNode)(2,i.Box,{className:"NuclearBomb__displayBox",children:d})}),(0,o.createComponentVNode)(2,i.Flex.Item,{children:(0,o.createComponentVNode)(2,i.Button,{icon:"eject",fontSize:"24px",lineHeight:"23px",textAlign:"center",width:"43px",ml:1,mr:"3px",mt:"3px",className:"NuclearBomb__Button NuclearBomb__Button--keypad",onClick:function(){return r("eject_disk")}})})]}),(0,o.createComponentVNode)(2,i.Flex,{ml:"3px",children:[(0,o.createComponentVNode)(2,i.Flex.Item,{children:(0,o.createComponentVNode)(2,c,{state:t})}),(0,o.createComponentVNode)(2,i.Flex.Item,{ml:1,width:"129px",children:(0,o.createComponentVNode)(2,i.Box,{children:[(0,o.createComponentVNode)(2,i.Button,{fluid:!0,bold:!0,content:"ARM",textAlign:"center",fontSize:"28px",lineHeight:"32px",mb:1,className:"NuclearBomb__Button NuclearBomb__Button--C",onClick:function(){return r("arm")}}),(0,o.createComponentVNode)(2,i.Button,{fluid:!0,bold:!0,content:"ANCHOR",textAlign:"center",fontSize:"28px",lineHeight:"32px",className:"NuclearBomb__Button NuclearBomb__Button--E",onClick:function(){return r("anchor")}}),(0,o.createComponentVNode)(2,i.Box,{textAlign:"center",color:"#9C9987",fontSize:"80px",children:(0,o.createComponentVNode)(2,i.Icon,{name:"radiation"})}),(0,o.createComponentVNode)(2,i.Box,{height:"80px",className:"NuclearBomb__NTIcon"})]})})]})]})}},function(e,t,n){"use strict";t.__esModule=!0,t.OperatingComputer=void 0;var o=n(1),r=n(3),a=n(2);t.OperatingComputer=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data,c=i.table,l=i.surgeries,u=void 0===l?[]:l,d=i.procedures,s=void 0===d?[]:d,p=i.patient,m=void 0===p?{}:p;return(0,o.createComponentVNode)(2,a.Tabs,{children:[(0,o.createComponentVNode)(2,a.Tabs.Tab,{label:"Patient State",children:[!c&&(0,o.createComponentVNode)(2,a.NoticeBox,{children:"No Table Detected"}),(0,o.createComponentVNode)(2,a.Section,{children:[(0,o.createComponentVNode)(2,a.Section,{title:"Patient State",level:2,children:m?(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"State",color:m.statstate,children:m.stat}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Blood Type",children:m.blood_type}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Health",children:(0,o.createComponentVNode)(2,a.ProgressBar,{value:m.health,minValue:m.minHealth,maxValue:m.maxHealth,color:m.health>=0?"good":"average",content:(0,o.createComponentVNode)(2,a.AnimatedNumber,{value:m.health})})}),[{label:"Brute",type:"bruteLoss"},{label:"Burn",type:"fireLoss"},{label:"Toxin",type:"toxLoss"},{label:"Respiratory",type:"oxyLoss"}].map((function(e){return(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:e.label,children:(0,o.createComponentVNode)(2,a.ProgressBar,{value:m[e.type]/m.maxHealth,color:"bad",content:(0,o.createComponentVNode)(2,a.AnimatedNumber,{value:m[e.type]})})},e.type)}))]}):"No Patient Detected"}),(0,o.createComponentVNode)(2,a.Section,{title:"Initiated Procedures",level:2,children:s.length?s.map((function(e){return(0,o.createComponentVNode)(2,a.Section,{title:e.name,level:3,children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Next Step",children:[e.next_step,e.chems_needed&&(0,o.createFragment)([(0,o.createVNode)(1,"b",null,"Required Chemicals:",16),(0,o.createVNode)(1,"br"),e.chems_needed],0)]}),!!i.alternative_step&&(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Alternative Step",children:[e.alternative_step,e.alt_chems_needed&&(0,o.createFragment)([(0,o.createVNode)(1,"b",null,"Required Chemicals:",16),(0,o.createVNode)(1,"br"),e.alt_chems_needed],0)]})]})},e.name)})):"No Active Procedures"})]})]},"state"),(0,o.createComponentVNode)(2,a.Tabs.Tab,{label:"Surgery Procedures",children:(0,o.createComponentVNode)(2,a.Section,{title:"Advanced Surgery Procedures",children:[(0,o.createComponentVNode)(2,a.Button,{icon:"download",content:"Sync Research Database",onClick:function(){return n("sync")}}),u.map((function(e){return(0,o.createComponentVNode)(2,a.Section,{title:e.name,level:2,children:e.desc},e.name)}))]})},"procedures")]})}},function(e,t,n){"use strict";t.__esModule=!0,t.OreBox=void 0;var o=n(1),r=n(23),a=n(16),i=n(2);t.OreBox=function(e){var t=e.state,n=t.config,c=t.data,l=n.ref,u=c.materials;return(0,o.createFragment)([(0,o.createComponentVNode)(2,i.Section,{title:"Ores",buttons:(0,o.createComponentVNode)(2,i.Button,{content:"Empty",onClick:function(){return(0,a.act)(l,"removeall")}}),children:(0,o.createComponentVNode)(2,i.Table,{children:[(0,o.createComponentVNode)(2,i.Table.Row,{header:!0,children:[(0,o.createComponentVNode)(2,i.Table.Cell,{children:"Ore"}),(0,o.createComponentVNode)(2,i.Table.Cell,{collapsing:!0,textAlign:"right",children:"Amount"})]}),u.map((function(e){return(0,o.createComponentVNode)(2,i.Table.Row,{children:[(0,o.createComponentVNode)(2,i.Table.Cell,{children:(0,r.toTitleCase)(e.name)}),(0,o.createComponentVNode)(2,i.Table.Cell,{collapsing:!0,textAlign:"right",children:(0,o.createComponentVNode)(2,i.Box,{color:"label",inline:!0,children:e.amount})})]},e.type)}))]})}),(0,o.createComponentVNode)(2,i.Section,{children:(0,o.createComponentVNode)(2,i.Box,{children:["All ores will be placed in here when you are wearing a mining stachel on your belt or in a pocket while dragging the ore box.",(0,o.createVNode)(1,"br"),"Gibtonite is not accepted."]})})],4)}},function(e,t,n){"use strict";t.__esModule=!0,t.OreRedemptionMachine=void 0;var o=n(1),r=n(23),a=n(3),i=n(2);t.OreRedemptionMachine=function(e){var t=(0,a.useBackend)(e),n=t.act,r=t.data,l=r.unclaimedPoints,u=r.materials,d=r.alloys,s=r.diskDesigns,p=r.hasDisk;return(0,o.createFragment)([(0,o.createComponentVNode)(2,i.Section,{children:[(0,o.createComponentVNode)(2,i.BlockQuote,{mb:1,children:["This machine only accepts ore.",(0,o.createVNode)(1,"br"),"Gibtonite and Slag are not accepted."]}),(0,o.createComponentVNode)(2,i.Box,{children:[(0,o.createComponentVNode)(2,i.Box,{inline:!0,color:"label",mr:1,children:"Unclaimed points:"}),l,(0,o.createComponentVNode)(2,i.Button,{ml:2,content:"Claim",disabled:0===l,onClick:function(){return n("Claim")}})]})]}),(0,o.createComponentVNode)(2,i.Section,{children:p&&(0,o.createFragment)([(0,o.createComponentVNode)(2,i.Box,{mb:1,children:(0,o.createComponentVNode)(2,i.Button,{icon:"eject",content:"Eject design disk",onClick:function(){return n("diskEject")}})}),(0,o.createComponentVNode)(2,i.Table,{children:s.map((function(e){return(0,o.createComponentVNode)(2,i.Table.Row,{children:[(0,o.createComponentVNode)(2,i.Table.Cell,{children:["File ",e.index,": ",e.name]}),(0,o.createComponentVNode)(2,i.Table.Cell,{collapsing:!0,children:(0,o.createComponentVNode)(2,i.Button,{disabled:!e.canupload,content:"Upload",onClick:function(){return n("diskUpload",{design:e.index})}})})]},e.index)}))})],4)||(0,o.createComponentVNode)(2,i.Button,{icon:"save",content:"Insert design disk",onClick:function(){return n("diskInsert")}})}),(0,o.createComponentVNode)(2,i.Section,{title:"Materials",children:(0,o.createComponentVNode)(2,i.Table,{children:u.map((function(e){return(0,o.createComponentVNode)(2,c,{material:e,onRelease:function(t){return n("Release",{id:e.id,sheets:t})}},e.id)}))})}),(0,o.createComponentVNode)(2,i.Section,{title:"Alloys",children:(0,o.createComponentVNode)(2,i.Table,{children:d.map((function(e){return(0,o.createComponentVNode)(2,c,{material:e,onRelease:function(t){return n("Smelt",{id:e.id,sheets:t})}},e.id)}))})})],4)};var c=function(e){var t,n;function a(){var t;return(t=e.call(this)||this).state={amount:1},t}return n=e,(t=a).prototype=Object.create(n.prototype),t.prototype.constructor=t,t.__proto__=n,a.prototype.render=function(){var e=this,t=this.state.amount,n=this.props,a=n.material,c=n.onRelease,l=Math.floor(a.amount);return(0,o.createComponentVNode)(2,i.Table.Row,{children:[(0,o.createComponentVNode)(2,i.Table.Cell,{children:(0,r.toTitleCase)(a.name).replace("Alloy","")}),(0,o.createComponentVNode)(2,i.Table.Cell,{collapsing:!0,textAlign:"right",children:(0,o.createComponentVNode)(2,i.Box,{mr:2,color:"label",inline:!0,children:a.value&&a.value+" cr"})}),(0,o.createComponentVNode)(2,i.Table.Cell,{collapsing:!0,textAlign:"right",children:(0,o.createComponentVNode)(2,i.Box,{mr:2,color:"label",inline:!0,children:[l," sheets"]})}),(0,o.createComponentVNode)(2,i.Table.Cell,{collapsing:!0,children:[(0,o.createComponentVNode)(2,i.NumberInput,{width:"32px",step:1,stepPixelSize:5,minValue:1,maxValue:50,value:t,onChange:function(t,n){return e.setState({amount:n})}}),(0,o.createComponentVNode)(2,i.Button,{disabled:l<1,content:"Release",onClick:function(){return c(t)}})]})]})},a}(o.Component)},function(e,t,n){"use strict";t.__esModule=!0,t.Pandemic=t.PandemicAntibodyDisplay=t.PandemicSymptomDisplay=t.PandemicDiseaseDisplay=t.PandemicBeakerDisplay=void 0;var o=n(1),r=n(24),a=n(3),i=n(2),c=function(e){var t=(0,a.useBackend)(e),n=t.act,r=t.data,c=r.has_beaker,l=r.beaker_empty,u=r.has_blood,d=r.blood,s=!c||l;return(0,o.createComponentVNode)(2,i.Section,{title:"Beaker",buttons:(0,o.createFragment)([(0,o.createComponentVNode)(2,i.Button,{icon:"times",content:"Empty and Eject",color:"bad",disabled:s,onClick:function(){return n("empty_eject_beaker")}}),(0,o.createComponentVNode)(2,i.Button,{icon:"trash",content:"Empty",disabled:s,onClick:function(){return n("empty_beaker")}}),(0,o.createComponentVNode)(2,i.Button,{icon:"eject",content:"Eject",disabled:!c,onClick:function(){return n("eject_beaker")}})],4),children:c?l?(0,o.createComponentVNode)(2,i.Box,{color:"bad",children:"Beaker is empty"}):u?(0,o.createComponentVNode)(2,i.LabeledList,{children:[(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Blood DNA",children:d&&d.dna||"Unknown"}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Blood Type",children:d&&d.type||"Unknown"})]}):(0,o.createComponentVNode)(2,i.Box,{color:"bad",children:"No blood detected"}):(0,o.createComponentVNode)(2,i.NoticeBox,{children:"No beaker loaded"})})};t.PandemicBeakerDisplay=c;var l=function(e){var t=(0,a.useBackend)(e),n=t.act,r=t.data,c=r.is_ready;return(r.viruses||[]).map((function(e){var t=e.symptoms||[];return(0,o.createComponentVNode)(2,i.Section,{title:e.can_rename?(0,o.createComponentVNode)(2,i.Input,{value:e.name,onChange:function(t,o){return n("rename_disease",{index:e.index,name:o})}}):e.name,buttons:(0,o.createComponentVNode)(2,i.Button,{icon:"flask",content:"Create culture bottle",disabled:!c,onClick:function(){return n("create_culture_bottle",{index:e.index})}}),children:[(0,o.createComponentVNode)(2,i.Grid,{children:[(0,o.createComponentVNode)(2,i.Grid.Column,{children:e.description}),(0,o.createComponentVNode)(2,i.Grid.Column,{children:(0,o.createComponentVNode)(2,i.LabeledList,{children:[(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Agent",children:e.agent}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Spread",children:e.spread}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Possible Cure",children:e.cure})]})})]}),!!e.is_adv&&(0,o.createFragment)([(0,o.createComponentVNode)(2,i.Section,{title:"Statistics",level:2,children:(0,o.createComponentVNode)(2,i.Grid,{children:[(0,o.createComponentVNode)(2,i.Grid.Column,{children:(0,o.createComponentVNode)(2,i.LabeledList,{children:[(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Resistance",children:e.resistance}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Stealth",children:e.stealth})]})}),(0,o.createComponentVNode)(2,i.Grid.Column,{children:(0,o.createComponentVNode)(2,i.LabeledList,{children:[(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Stage speed",children:e.stage_speed}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Transmissibility",children:e.transmission})]})})]})}),(0,o.createComponentVNode)(2,i.Section,{title:"Symptoms",level:2,children:t.map((function(e){return(0,o.createComponentVNode)(2,i.Collapsible,{title:e.name,children:(0,o.createComponentVNode)(2,i.Section,{children:(0,o.createComponentVNode)(2,u,{symptom:e})})},e.name)}))})],4)]},e.name)}))};t.PandemicDiseaseDisplay=l;var u=function(e){var t=e.symptom,n=t.name,a=t.desc,c=t.stealth,l=t.resistance,u=t.stage_speed,d=t.transmission,s=t.level,p=t.neutered,m=(0,r.map)((function(e,t){return{desc:e,label:t}}))(t.threshold_desc||{});return(0,o.createComponentVNode)(2,i.Section,{title:n,level:2,buttons:!!p&&(0,o.createComponentVNode)(2,i.Box,{bold:!0,color:"bad",children:"Neutered"}),children:[(0,o.createComponentVNode)(2,i.Grid,{children:[(0,o.createComponentVNode)(2,i.Grid.Column,{size:2,children:a}),(0,o.createComponentVNode)(2,i.Grid.Column,{children:(0,o.createComponentVNode)(2,i.LabeledList,{children:[(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Level",children:s}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Resistance",children:l}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Stealth",children:c}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Stage Speed",children:u}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Transmission",children:d})]})})]}),m.length>0&&(0,o.createComponentVNode)(2,i.Section,{title:"Thresholds",level:3,children:(0,o.createComponentVNode)(2,i.LabeledList,{children:m.map((function(e){return(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:e.label,children:e.desc},e.label)}))})})]})};t.PandemicSymptomDisplay=u;var d=function(e){var t=(0,a.useBackend)(e),n=t.act,r=t.data,c=r.resistances||[];return(0,o.createComponentVNode)(2,i.Section,{title:"Antibodies",children:c.length>0?(0,o.createComponentVNode)(2,i.LabeledList,{children:c.map((function(e){return(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:e.name,children:(0,o.createComponentVNode)(2,i.Button,{icon:"eye-dropper",content:"Create vaccine bottle",disabled:!r.is_ready,onClick:function(){return n("create_vaccine_bottle",{index:e.id})}})},e.name)}))}):(0,o.createComponentVNode)(2,i.Box,{bold:!0,color:"bad",mt:1,children:"No antibodies detected."})})};t.PandemicAntibodyDisplay=d;t.Pandemic=function(e){var t=(0,a.useBackend)(e).data;return(0,o.createFragment)([(0,o.createComponentVNode)(2,c,{state:e.state}),!!t.has_blood&&(0,o.createFragment)([(0,o.createComponentVNode)(2,l,{state:e.state}),(0,o.createComponentVNode)(2,d,{state:e.state})],4)],0)}},function(e,t,n){"use strict";t.__esModule=!0,t.PortableGenerator=void 0;var o=n(1),r=n(3),a=n(2);t.PortableGenerator=function(e){var t,n=(0,r.useBackend)(e),i=n.act,c=n.data;return t=c.stack_percent>50?"good":c.stack_percent>15?"average":"bad",(0,o.createFragment)([!c.anchored&&(0,o.createComponentVNode)(2,a.NoticeBox,{children:"Generator not anchored."}),(0,o.createComponentVNode)(2,a.Section,{title:"Status",children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Power switch",children:(0,o.createComponentVNode)(2,a.Button,{icon:c.active?"power-off":"times",onClick:function(){return i("toggle_power")},disabled:!c.ready_to_boot,children:c.active?"On":"Off"})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:c.sheet_name+" sheets",children:[(0,o.createComponentVNode)(2,a.Box,{inline:!0,color:t,children:c.sheets}),c.sheets>=1&&(0,o.createComponentVNode)(2,a.Button,{ml:1,icon:"eject",disabled:c.active,onClick:function(){return i("eject")},children:"Eject"})]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Current sheet level",children:(0,o.createComponentVNode)(2,a.ProgressBar,{value:c.stack_percent/100,ranges:{good:[.1,Infinity],average:[.01,.1],bad:[-Infinity,.01]}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Heat level",children:c.current_heat<100?(0,o.createComponentVNode)(2,a.Box,{inline:!0,color:"good",children:"Nominal"}):c.current_heat<200?(0,o.createComponentVNode)(2,a.Box,{inline:!0,color:"average",children:"Caution"}):(0,o.createComponentVNode)(2,a.Box,{inline:!0,color:"bad",children:"DANGER"})})]})}),(0,o.createComponentVNode)(2,a.Section,{title:"Output",children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Current output",children:c.power_output}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Adjust output",children:[(0,o.createComponentVNode)(2,a.Button,{icon:"minus",onClick:function(){return i("lower_power")},children:c.power_generated}),(0,o.createComponentVNode)(2,a.Button,{icon:"plus",onClick:function(){return i("higher_power")},children:c.power_generated})]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Power available",children:(0,o.createComponentVNode)(2,a.Box,{inline:!0,color:!c.connected&&"bad",children:c.connected?c.power_available:"Unconnected"})})]})})],0)}},function(e,t,n){"use strict";t.__esModule=!0,t.PortableScrubber=t.PortablePump=t.PortableBasicInfo=void 0;var o=n(1),r=n(3),a=n(2),i=n(37),c=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data,c=i.connected,l=i.holding,u=i.on,d=i.pressure;return(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Section,{title:"Status",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:u?"power-off":"times",content:u?"On":"Off",selected:u,onClick:function(){return n("power")}}),children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Pressure",children:[(0,o.createComponentVNode)(2,a.AnimatedNumber,{value:d})," kPa"]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Port",color:c?"good":"average",children:c?"Connected":"Not Connected"})]})}),(0,o.createComponentVNode)(2,a.Section,{title:"Holding Tank",minHeight:"82px",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:"eject",content:"Eject",disabled:!l,onClick:function(){return n("eject")}}),children:l?(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Label",children:l.name}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Pressure",children:[(0,o.createComponentVNode)(2,a.AnimatedNumber,{value:l.pressure})," kPa"]})]}):(0,o.createComponentVNode)(2,a.Box,{color:"average",children:"No holding tank"})})],4)};t.PortableBasicInfo=c;t.PortablePump=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data,l=i.direction,u=(i.holding,i.target_pressure),d=i.default_pressure,s=i.min_pressure,p=i.max_pressure;return(0,o.createFragment)([(0,o.createComponentVNode)(2,c,{state:e.state}),(0,o.createComponentVNode)(2,a.Section,{title:"Pump",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:l?"sign-in-alt":"sign-out-alt",content:l?"In":"Out",selected:l,onClick:function(){return n("direction")}}),children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Output",children:(0,o.createComponentVNode)(2,a.NumberInput,{value:u,unit:"kPa",width:"75px",minValue:s,maxValue:p,step:10,onChange:function(e,t){return n("pressure",{pressure:t})}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Presets",children:[(0,o.createComponentVNode)(2,a.Button,{icon:"minus",disabled:u===s,onClick:function(){return n("pressure",{pressure:"min"})}}),(0,o.createComponentVNode)(2,a.Button,{icon:"sync",disabled:u===d,onClick:function(){return n("pressure",{pressure:"reset"})}}),(0,o.createComponentVNode)(2,a.Button,{icon:"plus",disabled:u===p,onClick:function(){return n("pressure",{pressure:"max"})}})]})]})})],4)};t.PortableScrubber=function(e){var t=(0,r.useBackend)(e),n=t.act,l=t.data.filter_types||[];return(0,o.createFragment)([(0,o.createComponentVNode)(2,c,{state:e.state}),(0,o.createComponentVNode)(2,a.Section,{title:"Filters",children:l.map((function(e){return(0,o.createComponentVNode)(2,a.Button,{icon:e.enabled?"check-square-o":"square-o",content:(0,i.getGasLabel)(e.gas_id,e.gas_name),selected:e.enabled,onClick:function(){return n("toggle_filter",{val:e.gas_id})}},e.id)}))})],4)}},function(e,t,n){"use strict";t.__esModule=!0,t.PowerMonitor=void 0;var o=n(1),r=n(24),a=n(70),i=n(18),c=n(12),l=n(2);var u=5e5,d=function(e){var t=String(e.split(" ")[1]).toLowerCase();return["w","kw","mw","gw"].indexOf(t)},s=function(e){var t,n;function c(){var t;return(t=e.call(this)||this).state={sortByField:null},t}return n=e,(t=c).prototype=Object.create(n.prototype),t.prototype.constructor=t,t.__proto__=n,c.prototype.render=function(){var e=this,t=this.props.state.data,n=t.history,c=this.state.sortByField,s=n.supply[n.supply.length-1]||0,f=n.demand[n.demand.length-1]||0,h=n.supply.map((function(e,t){return[t,e]})),C=n.demand.map((function(e,t){return[t,e]})),g=Math.max.apply(Math,[u].concat(n.supply,n.demand)),b=(0,a.flow)([(0,r.map)((function(e,t){return Object.assign({},e,{id:e.name+t})})),"name"===c&&(0,r.sortBy)((function(e){return e.name})),"charge"===c&&(0,r.sortBy)((function(e){return-e.charge})),"draw"===c&&(0,r.sortBy)((function(e){return-d(e.load)}),(function(e){return-parseFloat(e.load)}))])(t.areas);return(0,o.createFragment)([(0,o.createComponentVNode)(2,l.Flex,{spacing:1,children:[(0,o.createComponentVNode)(2,l.Flex.Item,{width:"200px",children:(0,o.createComponentVNode)(2,l.Section,{children:(0,o.createComponentVNode)(2,l.LabeledList,{children:[(0,o.createComponentVNode)(2,l.LabeledList.Item,{label:"Supply",children:(0,o.createComponentVNode)(2,l.ProgressBar,{value:s,minValue:0,maxValue:g,color:"teal",content:(0,i.toFixed)(s/1e3)+" kW"})}),(0,o.createComponentVNode)(2,l.LabeledList.Item,{label:"Draw",children:(0,o.createComponentVNode)(2,l.ProgressBar,{value:f,minValue:0,maxValue:g,color:"pink",content:(0,i.toFixed)(f/1e3)+" kW"})})]})})}),(0,o.createComponentVNode)(2,l.Flex.Item,{grow:1,children:(0,o.createComponentVNode)(2,l.Section,{position:"relative",height:"100%",children:[(0,o.createComponentVNode)(2,l.Chart.Line,{fillPositionedParent:!0,data:h,rangeX:[0,h.length-1],rangeY:[0,g],strokeColor:"rgba(0, 181, 173, 1)",fillColor:"rgba(0, 181, 173, 0.25)"}),(0,o.createComponentVNode)(2,l.Chart.Line,{fillPositionedParent:!0,data:C,rangeX:[0,C.length-1],rangeY:[0,g],strokeColor:"rgba(224, 57, 151, 1)",fillColor:"rgba(224, 57, 151, 0.25)"})]})})]}),(0,o.createComponentVNode)(2,l.Section,{children:[(0,o.createComponentVNode)(2,l.Box,{mb:1,children:[(0,o.createComponentVNode)(2,l.Box,{inline:!0,mr:2,color:"label",children:"Sort by:"}),(0,o.createComponentVNode)(2,l.Button.Checkbox,{checked:"name"===c,content:"Name",onClick:function(){return e.setState({sortByField:"name"!==c&&"name"})}}),(0,o.createComponentVNode)(2,l.Button.Checkbox,{checked:"charge"===c,content:"Charge",onClick:function(){return e.setState({sortByField:"charge"!==c&&"charge"})}}),(0,o.createComponentVNode)(2,l.Button.Checkbox,{checked:"draw"===c,content:"Draw",onClick:function(){return e.setState({sortByField:"draw"!==c&&"draw"})}})]}),(0,o.createComponentVNode)(2,l.Table,{children:[(0,o.createComponentVNode)(2,l.Table.Row,{header:!0,children:[(0,o.createComponentVNode)(2,l.Table.Cell,{children:"Area"}),(0,o.createComponentVNode)(2,l.Table.Cell,{collapsing:!0,children:"Charge"}),(0,o.createComponentVNode)(2,l.Table.Cell,{textAlign:"right",children:"Draw"}),(0,o.createComponentVNode)(2,l.Table.Cell,{collapsing:!0,title:"Equipment",children:"Eqp"}),(0,o.createComponentVNode)(2,l.Table.Cell,{collapsing:!0,title:"Lighting",children:"Lgt"}),(0,o.createComponentVNode)(2,l.Table.Cell,{collapsing:!0,title:"Environment",children:"Env"})]}),b.map((function(e,t){return(0,o.createVNode)(1,"tr","Table__row candystripe",[(0,o.createVNode)(1,"td",null,e.name,0),(0,o.createVNode)(1,"td","Table__cell text-right text-nowrap",(0,o.createComponentVNode)(2,p,{charging:e.charging,charge:e.charge}),2),(0,o.createVNode)(1,"td","Table__cell text-right text-nowrap",e.load,0),(0,o.createVNode)(1,"td","Table__cell text-center text-nowrap",(0,o.createComponentVNode)(2,m,{status:e.eqp}),2),(0,o.createVNode)(1,"td","Table__cell text-center text-nowrap",(0,o.createComponentVNode)(2,m,{status:e.lgt}),2),(0,o.createVNode)(1,"td","Table__cell text-center text-nowrap",(0,o.createComponentVNode)(2,m,{status:e.env}),2)],4,null,e.id)}))]})]})],4)},c}(o.Component);t.PowerMonitor=s;var p=function(e){var t=e.charging,n=e.charge;return(0,o.createFragment)([(0,o.createComponentVNode)(2,l.Icon,{width:"18px",textAlign:"center",name:0===t&&(n>50?"battery-half":"battery-quarter")||1===t&&"bolt"||2===t&&"battery-full",color:0===t&&(n>50?"yellow":"red")||1===t&&"yellow"||2===t&&"green"}),(0,o.createComponentVNode)(2,l.Box,{inline:!0,width:"36px",textAlign:"right",children:(0,i.toFixed)(n)+"%"})],4)};p.defaultHooks=c.pureComponentHooks;var m=function(e){var t=e.status,n=Boolean(2&t),r=Boolean(1&t),a=(n?"On":"Off")+" ["+(r?"auto":"manual")+"]";return(0,o.createComponentVNode)(2,l.ColorBox,{color:n?"good":"bad",content:r?undefined:"M",title:a})};m.defaultHooks=c.pureComponentHooks},function(e,t,n){"use strict";t.__esModule=!0,t.Radio=void 0;var o=n(1),r=n(24),a=n(18),i=n(3),c=n(2),l=n(37);t.Radio=function(e){var t=(0,i.useBackend)(e),n=t.act,u=t.data,d=u.freqlock,s=u.frequency,p=u.minFrequency,m=u.maxFrequency,f=u.listening,h=u.broadcasting,C=u.command,g=u.useCommand,b=u.subspace,v=u.subspaceSwitchable,N=l.RADIO_CHANNELS.find((function(e){return e.freq===s})),V=(0,r.map)((function(e,t){return{name:t,status:!!e}}))(u.channels);return(0,o.createComponentVNode)(2,c.Section,{children:(0,o.createComponentVNode)(2,c.LabeledList,{children:[(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:"Frequency",children:[d&&(0,o.createComponentVNode)(2,c.Box,{inline:!0,color:"light-gray",children:(0,a.toFixed)(s/10,1)+" kHz"})||(0,o.createComponentVNode)(2,c.NumberInput,{animate:!0,unit:"kHz",step:.2,stepPixelSize:10,minValue:p/10,maxValue:m/10,value:s/10,format:function(e){return(0,a.toFixed)(e,1)},onDrag:function(e,t){return n("frequency",{adjust:t-s/10})}}),N&&(0,o.createComponentVNode)(2,c.Box,{inline:!0,color:N.color,ml:2,children:["[",N.name,"]"]})]}),(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:"Audio",children:[(0,o.createComponentVNode)(2,c.Button,{textAlign:"center",width:"37px",icon:f?"volume-up":"volume-mute",selected:f,onClick:function(){return n("listen")}}),(0,o.createComponentVNode)(2,c.Button,{textAlign:"center",width:"37px",icon:h?"microphone":"microphone-slash",selected:h,onClick:function(){return n("broadcast")}}),!!C&&(0,o.createComponentVNode)(2,c.Button,{ml:1,icon:"bullhorn",selected:g,content:"High volume "+(g?"ON":"OFF"),onClick:function(){return n("command")}}),!!v&&(0,o.createComponentVNode)(2,c.Button,{ml:1,icon:"bullhorn",selected:b,content:"Subspace Tx "+(b?"ON":"OFF"),onClick:function(){return n("subspace")}})]}),!!b&&(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:"Channels",children:[0===V.length&&(0,o.createComponentVNode)(2,c.Box,{inline:!0,color:"bad",children:"No encryption keys installed."}),V.map((function(e){return(0,o.createComponentVNode)(2,c.Box,{children:(0,o.createComponentVNode)(2,c.Button,{icon:e.status?"check-square-o":"square-o",selected:e.status,content:e.name,onClick:function(){return n("channel",{channel:e.name})}})},e.name)}))]})]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.RapidPipeDispenser=void 0;var o=n(1),r=n(12),a=n(3),i=n(2),c=["Atmospherics","Disposals","Transit Tubes"],l={Atmospherics:"wrench",Disposals:"trash-alt","Transit Tubes":"bus",Pipes:"grip-lines","Disposal Pipes":"grip-lines",Devices:"microchip","Heat Exchange":"thermometer-half","Station Equipment":"microchip"},u={grey:"#bbbbbb",amethyst:"#a365ff",blue:"#4466ff",brown:"#b26438",cyan:"#48eae8",dark:"#808080",green:"#1edd00",orange:"#ffa030",purple:"#b535ea",red:"#ff3333",violet:"#6e00f6",yellow:"#ffce26"},d=[{name:"Dispense",bitmask:1},{name:"Connect",bitmask:2},{name:"Destroy",bitmask:4},{name:"Paint",bitmask:8}];t.RapidPipeDispenser=function(e){var t=(0,a.useBackend)(e),n=t.act,s=t.data,p=s.category,m=s.categories,f=void 0===m?[]:m,h=s.selected_color,C=s.piping_layer,g=s.mode,b=s.preview_rows.flatMap((function(e){return e.previews}));return(0,o.createFragment)([(0,o.createComponentVNode)(2,i.Section,{children:(0,o.createComponentVNode)(2,i.LabeledList,{children:[(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Category",children:c.map((function(e,t){return(0,o.createComponentVNode)(2,i.Button,{selected:p===t,icon:l[e],color:"transparent",content:e,onClick:function(){return n("category",{category:t})}},e)}))}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Modes",children:d.map((function(e){return(0,o.createComponentVNode)(2,i.Button.Checkbox,{checked:g&e.bitmask,content:e.name,onClick:function(){return n("mode",{mode:e.bitmask})}},e.bitmask)}))}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Color",children:[(0,o.createComponentVNode)(2,i.Box,{inline:!0,width:"64px",color:u[h],content:h}),Object.keys(u).map((function(e){return(0,o.createComponentVNode)(2,i.ColorBox,{ml:1,color:u[e],onClick:function(){return n("color",{paint_color:e})}},e)}))]})]})}),(0,o.createComponentVNode)(2,i.Flex,{m:-.5,children:[(0,o.createComponentVNode)(2,i.Flex.Item,{m:.5,children:(0,o.createComponentVNode)(2,i.Section,{children:[0===p&&(0,o.createComponentVNode)(2,i.Box,{mb:1,children:[1,2,3].map((function(e){return(0,o.createComponentVNode)(2,i.Button.Checkbox,{fluid:!0,checked:e===C,content:"Layer "+e,onClick:function(){return n("piping_layer",{piping_layer:e})}},e)}))}),(0,o.createComponentVNode)(2,i.Box,{width:"108px",children:b.map((function(e){return(0,o.createComponentVNode)(2,i.Button,{title:e.dir_name,selected:e.selected,style:{width:"48px",height:"48px",padding:0},onClick:function(){return n("setdir",{dir:e.dir,flipped:e.flipped})},children:(0,o.createComponentVNode)(2,i.Box,{className:(0,r.classes)(["pipes32x32",e.dir+"-"+e.icon_state]),style:{transform:"scale(1.5) translate(17%, 17%)"}})},e.dir)}))})]})}),(0,o.createComponentVNode)(2,i.Flex.Item,{m:.5,grow:1,children:(0,o.createComponentVNode)(2,i.Section,{children:(0,o.createComponentVNode)(2,i.Tabs,{children:f.map((function(e){return(0,o.createComponentVNode)(2,i.Tabs.Tab,{fluid:!0,icon:l[e.cat_name],label:e.cat_name,children:function(){return e.recipes.map((function(t){return(0,o.createComponentVNode)(2,i.Button.Checkbox,{fluid:!0,ellipsis:!0,checked:t.selected,content:t.pipe_name,title:t.pipe_name,onClick:function(){return n("pipe_type",{pipe_type:t.pipe_index,category:e.cat_name})}},t.pipe_index)}))}},e.cat_name)}))})})})]})],4)}},function(e,t,n){"use strict";t.__esModule=!0,t.SatelliteControl=void 0;var o=n(1),r=n(3),a=n(2),i=n(163);t.SatelliteControl=function(e){var t=(0,r.useBackend)(e),n=t.act,c=t.data,l=c.satellites||[];return(0,o.createFragment)([c.meteor_shield&&(0,o.createComponentVNode)(2,a.Section,{children:(0,o.createComponentVNode)(2,a.LabeledList,{children:(0,o.createComponentVNode)(2,i.LabeledListItem,{label:"Coverage",children:(0,o.createComponentVNode)(2,a.ProgressBar,{value:c.meteor_shield_coverage/c.meteor_shield_coverage_max,content:100*c.meteor_shield_coverage/c.meteor_shield_coverage_max+"%",ranges:{good:[1,Infinity],average:[.3,1],bad:[-Infinity,.3]}})})})}),(0,o.createComponentVNode)(2,a.Section,{title:"Satellite Controls",children:(0,o.createComponentVNode)(2,a.Box,{mr:-1,children:l.map((function(e){return(0,o.createComponentVNode)(2,a.Button.Checkbox,{checked:e.active,content:"#"+e.id+" "+e.mode,onClick:function(){return n("toggle",{id:e.id})}},e.id)}))})})],0)}},function(e,t,n){"use strict";t.__esModule=!0,t.ScannerGate=void 0;var o=n(1),r=n(3),a=n(2),i=n(69),c=["Positive","Harmless","Minor","Medium","Harmful","Dangerous","BIOHAZARD"],l=[{name:"Human",value:"human"},{name:"Lizardperson",value:"lizard"},{name:"Flyperson",value:"fly"},{name:"Felinid",value:"felinid"},{name:"Plasmaman",value:"plasma"},{name:"Mothperson",value:"moth"},{name:"Jellyperson",value:"jelly"},{name:"Podperson",value:"pod"},{name:"Golem",value:"golem"},{name:"Zombie",value:"zombie"}],u=[{name:"Starving",value:150},{name:"Obese",value:600}];t.ScannerGate=function(e){var t=e.state,n=(0,r.useBackend)(e),a=n.act,c=n.data;return(0,o.createFragment)([(0,o.createComponentVNode)(2,i.InterfaceLockNoticeBox,{locked:c.locked,onLockedStatusChange:function(){return a("toggle_lock")}}),!c.locked&&(0,o.createComponentVNode)(2,s,{state:t})],0)};var d={Off:{title:"Scanner Mode: Off",component:function(){return p}},Wanted:{title:"Scanner Mode: Wanted",component:function(){return m}},Guns:{title:"Scanner Mode: Guns",component:function(){return f}},Mindshield:{title:"Scanner Mode: Mindshield",component:function(){return h}},Disease:{title:"Scanner Mode: Disease",component:function(){return C}},Species:{title:"Scanner Mode: Species",component:function(){return g}},Nutrition:{title:"Scanner Mode: Nutrition",component:function(){return b}},Nanites:{title:"Scanner Mode: Nanites",component:function(){return v}}},s=function(e){var t=e.state,n=(0,r.useBackend)(e),i=n.act,c=n.data.scan_mode,l=d[c]||d.off,u=l.component();return(0,o.createComponentVNode)(2,a.Section,{title:l.title,buttons:"Off"!==c&&(0,o.createComponentVNode)(2,a.Button,{icon:"arrow-left",content:"back",onClick:function(){return i("set_mode",{new_mode:"Off"})}}),children:(0,o.createComponentVNode)(2,u,{state:t})})},p=function(e){var t=(0,r.useBackend)(e).act;return(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Box,{mb:2,children:"Select a scanning mode below."}),(0,o.createComponentVNode)(2,a.Box,{children:[(0,o.createComponentVNode)(2,a.Button,{content:"Wanted",onClick:function(){return t("set_mode",{new_mode:"Wanted"})}}),(0,o.createComponentVNode)(2,a.Button,{content:"Guns",onClick:function(){return t("set_mode",{new_mode:"Guns"})}}),(0,o.createComponentVNode)(2,a.Button,{content:"Mindshield",onClick:function(){return t("set_mode",{new_mode:"Mindshield"})}}),(0,o.createComponentVNode)(2,a.Button,{content:"Disease",onClick:function(){return t("set_mode",{new_mode:"Disease"})}}),(0,o.createComponentVNode)(2,a.Button,{content:"Species",onClick:function(){return t("set_mode",{new_mode:"Species"})}}),(0,o.createComponentVNode)(2,a.Button,{content:"Nutrition",onClick:function(){return t("set_mode",{new_mode:"Nutrition"})}}),(0,o.createComponentVNode)(2,a.Button,{content:"Nanites",onClick:function(){return t("set_mode",{new_mode:"Nanites"})}})]})],4)},m=function(e){var t=e.state,n=(0,r.useBackend)(e).data.reverse;return(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Box,{mb:2,children:["Trigger if the person scanned ",n?"does not have":"has"," ","any warrants for their arrest."]}),(0,o.createComponentVNode)(2,N,{state:t})],4)},f=function(e){var t=e.state,n=(0,r.useBackend)(e).data.reverse;return(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Box,{mb:2,children:["Trigger if the person scanned ",n?"does not have":"has"," ","any guns."]}),(0,o.createComponentVNode)(2,N,{state:t})],4)},h=function(e){var t=e.state,n=(0,r.useBackend)(e).data.reverse;return(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Box,{mb:2,children:["Trigger if the person scanned ",n?"does not have":"has"," ","a mindshield."]}),(0,o.createComponentVNode)(2,N,{state:t})],4)},C=function(e){var t=e.state,n=(0,r.useBackend)(e),i=n.act,l=n.data,u=l.reverse,d=l.disease_threshold;return(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Box,{mb:2,children:["Trigger if the person scanned ",u?"does not have":"has"," ","a disease equal or worse than ",d,"."]}),(0,o.createComponentVNode)(2,a.Box,{mb:2,children:c.map((function(e){return(0,o.createComponentVNode)(2,a.Button.Checkbox,{checked:e===d,content:e,onClick:function(){return i("set_disease_threshold",{new_threshold:e})}},e)}))}),(0,o.createComponentVNode)(2,N,{state:t})],4)},g=function(e){var t=e.state,n=(0,r.useBackend)(e),i=n.act,c=n.data,u=c.reverse,d=c.target_species,s=l.find((function(e){return e.value===d}));return(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Box,{mb:2,children:["Trigger if the person scanned is ",u?"not":""," ","of the ",s.name," species.","zombie"===d&&" All zombie types will be detected, including dormant zombies."]}),(0,o.createComponentVNode)(2,a.Box,{mb:2,children:l.map((function(e){return(0,o.createComponentVNode)(2,a.Button.Checkbox,{checked:e.value===d,content:e.name,onClick:function(){return i("set_target_species",{new_species:e.value})}},e.value)}))}),(0,o.createComponentVNode)(2,N,{state:t})],4)},b=function(e){var t=e.state,n=(0,r.useBackend)(e),i=n.act,c=n.data,l=c.reverse,d=c.target_nutrition,s=u.find((function(e){return e.value===d}));return(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Box,{mb:2,children:["Trigger if the person scanned ",l?"does not have":"has"," ","the ",s.name," nutrition level."]}),(0,o.createComponentVNode)(2,a.Box,{mb:2,children:u.map((function(e){return(0,o.createComponentVNode)(2,a.Button.Checkbox,{checked:e.value===d,content:e.name,onClick:function(){return i("set_target_nutrition",{new_nutrition:e.name})}},e.name)}))}),(0,o.createComponentVNode)(2,N,{state:t})],4)},v=function(e){var t=e.state,n=(0,r.useBackend)(e),i=n.act,c=n.data,l=c.reverse,u=c.nanite_cloud;return(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Box,{mb:2,children:["Trigger if the person scanned ",l?"does not have":"has"," ","nanite cloud ",u,"."]}),(0,o.createComponentVNode)(2,a.Box,{mb:2,children:(0,o.createComponentVNode)(2,a.LabeledList,{children:(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Cloud ID",children:(0,o.createComponentVNode)(2,a.NumberInput,{value:u,width:"65px",minValue:1,maxValue:100,stepPixelSize:2,onChange:function(e,t){return i("set_nanite_cloud",{new_cloud:t})}})})})}),(0,o.createComponentVNode)(2,N,{state:t})],4)},N=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data.reverse;return(0,o.createComponentVNode)(2,a.LabeledList,{children:(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Scanning Mode",children:(0,o.createComponentVNode)(2,a.Button,{content:i?"Inverted":"Default",icon:i?"random":"long-arrow-alt-right",onClick:function(){return n("toggle_reverse")},color:i?"bad":"good"})})})}},function(e,t,n){"use strict";t.__esModule=!0,t.ShuttleManipulator=void 0;var o=n(1),r=n(24),a=n(3),i=n(2);t.ShuttleManipulator=function(e){var t=(0,a.useBackend)(e),n=t.act,c=t.data,l=c.shuttles||[],u=c.templates||{},d=c.selected||{},s=c.existing_shuttle||{};return(0,o.createComponentVNode)(2,i.Tabs,{children:[(0,o.createComponentVNode)(2,i.Tabs.Tab,{label:"Status",children:function(){return(0,o.createComponentVNode)(2,i.Section,{children:(0,o.createComponentVNode)(2,i.Table,{children:l.map((function(e){return(0,o.createComponentVNode)(2,i.Table.Row,{children:[(0,o.createComponentVNode)(2,i.Table.Cell,{children:(0,o.createComponentVNode)(2,i.Button,{content:"JMP",onClick:function(){return n("jump_to",{type:"mobile",id:e.id})}},e.id)}),(0,o.createComponentVNode)(2,i.Table.Cell,{children:(0,o.createComponentVNode)(2,i.Button,{content:"Fly",disabled:!e.can_fly,onClick:function(){return n("fly",{id:e.id})}},e.id)}),(0,o.createComponentVNode)(2,i.Table.Cell,{children:e.name}),(0,o.createComponentVNode)(2,i.Table.Cell,{children:e.id}),(0,o.createComponentVNode)(2,i.Table.Cell,{children:e.status}),(0,o.createComponentVNode)(2,i.Table.Cell,{children:[e.mode,!!e.timer&&(0,o.createFragment)([(0,o.createTextVNode)("("),e.timeleft,(0,o.createTextVNode)(")"),(0,o.createComponentVNode)(2,i.Button,{content:"Fast Travel",disabled:!e.can_fast_travel,onClick:function(){return n("fast_travel",{id:e.id})}},e.id)],0)]})]},e.id)}))})})}},"status"),(0,o.createComponentVNode)(2,i.Tabs.Tab,{label:"Templates",children:function(){return(0,o.createComponentVNode)(2,i.Section,{children:(0,o.createComponentVNode)(2,i.Tabs,{children:(0,r.map)((function(e,t){var r=e.templates||[];return(0,o.createComponentVNode)(2,i.Tabs.Tab,{label:e.port_id,children:r.map((function(e){var t=e.shuttle_id===d.shuttle_id;return(0,o.createComponentVNode)(2,i.Section,{title:e.name,level:2,buttons:(0,o.createComponentVNode)(2,i.Button,{content:t?"Selected":"Select",selected:t,onClick:function(){return n("select_template",{shuttle_id:e.shuttle_id})}}),children:(!!e.description||!!e.admin_notes)&&(0,o.createComponentVNode)(2,i.LabeledList,{children:[!!e.description&&(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Description",children:e.description}),!!e.admin_notes&&(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Admin Notes",children:e.admin_notes})]})},e.shuttle_id)}))},t)}))(u)})})}},"templates"),(0,o.createComponentVNode)(2,i.Tabs.Tab,{label:"Modification",children:(0,o.createComponentVNode)(2,i.Section,{children:d?(0,o.createFragment)([(0,o.createComponentVNode)(2,i.Section,{level:2,title:d.name,children:(!!d.description||!!d.admin_notes)&&(0,o.createComponentVNode)(2,i.LabeledList,{children:[!!d.description&&(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Description",children:d.description}),!!d.admin_notes&&(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Admin Notes",children:d.admin_notes})]})}),s?(0,o.createComponentVNode)(2,i.Section,{level:2,title:"Existing Shuttle: "+s.name,children:(0,o.createComponentVNode)(2,i.LabeledList,{children:(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Status",buttons:(0,o.createComponentVNode)(2,i.Button,{content:"Jump To",onClick:function(){return n("jump_to",{type:"mobile",id:s.id})}}),children:[s.status,!!s.timer&&(0,o.createFragment)([(0,o.createTextVNode)("("),s.timeleft,(0,o.createTextVNode)(")")],0)]})})}):(0,o.createComponentVNode)(2,i.Section,{level:2,title:"Existing Shuttle: None"}),(0,o.createComponentVNode)(2,i.Section,{level:2,title:"Status",children:[(0,o.createComponentVNode)(2,i.Button,{content:"Preview",onClick:function(){return n("preview",{shuttle_id:d.shuttle_id})}}),(0,o.createComponentVNode)(2,i.Button,{content:"Load",color:"bad",onClick:function(){return n("load",{shuttle_id:d.shuttle_id})}})]})],0):"No shuttle selected"})},"modification")]})}},function(e,t,n){"use strict";t.__esModule=!0,t.Sleeper=void 0;var o=n(1),r=n(3),a=n(2);t.Sleeper=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data,c=i.occupied,l=i.open,u=i.occupant,d=void 0===u?[]:u,s=(i.chems||[]).sort((function(e,t){var n=e.name.toLowerCase(),o=t.name.toLowerCase();return no?1:0})),p=(i.synthchems||[]).sort((function(e,t){var n=e.name.toLowerCase(),o=t.name.toLowerCase();return no?1:0}));return(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Section,{title:d.name?d.name:"No Occupant",minHeight:"210px",buttons:!!d.stat&&(0,o.createComponentVNode)(2,a.Box,{inline:!0,bold:!0,color:d.statstate,children:d.stat}),children:!!c&&(0,o.createFragment)([(0,o.createComponentVNode)(2,a.ProgressBar,{value:d.health,minValue:d.minHealth,maxValue:d.maxHealth,ranges:{good:[50,Infinity],average:[0,50],bad:[-Infinity,0]}}),(0,o.createComponentVNode)(2,a.Box,{mt:1}),(0,o.createComponentVNode)(2,a.LabeledList,{children:[[{label:"Brute",type:"bruteLoss"},{label:"Burn",type:"fireLoss"},{label:"Toxin",type:"toxLoss"},{label:"Oxygen",type:"oxyLoss"}].map((function(e){return(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:e.label,children:(0,o.createComponentVNode)(2,a.ProgressBar,{value:d[e.type],minValue:0,maxValue:d.maxHealth,color:"bad"})},e.type)})),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Blood",children:[(0,o.createComponentVNode)(2,a.ProgressBar,{value:i.blood_levels/100,color:"bad",children:(0,o.createComponentVNode)(2,a.AnimatedNumber,{value:i.blood_levels})}),i.blood_status]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Cells",color:d.cloneLoss?"bad":"good",children:d.cloneLoss?"Damaged":"Healthy"}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Brain",color:d.brainLoss?"bad":"good",children:d.brainLoss?"Abnormal":"Healthy"})]})],4)}),(0,o.createComponentVNode)(2,a.Section,{title:"Chemical Analysis",children:(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Chemical Contents",children:i.chemical_list.map((function(e){return(0,o.createComponentVNode)(2,a.Box,{color:"good",children:[e.volume," units of ",e.name]},e.id)}))})}),(0,o.createComponentVNode)(2,a.Section,{title:"Inject Chemicals",minHeight:"105px",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:l?"door-open":"door-closed",content:l?"Open":"Closed",onClick:function(){return n("door")}}),children:s.map((function(e){return(0,o.createComponentVNode)(2,a.Button,{icon:"flask",content:e.name,disabled:!(c&&e.allowed),width:"140px",onClick:function(){return n("inject",{chem:e.id})}},e.name)}))}),(0,o.createComponentVNode)(2,a.Section,{title:"Synthesize Chemicals",children:p.map((function(e){return(0,o.createComponentVNode)(2,a.Button,{content:e.name,width:"140px",onClick:function(){return n("synth",{chem:e.id})}},e.name)}))}),(0,o.createComponentVNode)(2,a.Section,{title:"Purge Chemicals",children:s.map((function(e){return(0,o.createComponentVNode)(2,a.Button,{content:e.name,disabled:!e.allowed,width:"140px",onClick:function(){return n("purge",{chem:e.id})}},e.name)}))})],4)}},function(e,t,n){"use strict";t.__esModule=!0,t.SlimeBodySwapper=t.BodyEntry=void 0;var o=n(1),r=n(3),a=n(2),i=function(e){var t=e.body,n=e.swapFunc;return(0,o.createComponentVNode)(2,a.Section,{title:(0,o.createComponentVNode)(2,a.Box,{inline:!0,color:t.htmlcolor,children:t.name}),level:2,buttons:(0,o.createComponentVNode)(2,a.Button,{content:{owner:"You Are Here",stranger:"Occupied",available:"Swap"}[t.occupied],selected:"owner"===t.occupied,color:"stranger"===t.occupied&&"bad",onClick:function(){return n()}}),children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Status",bold:!0,color:{Dead:"bad",Unconscious:"average",Conscious:"good"}[t.status],children:t.status}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Jelly",children:t.exoticblood}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Location",children:t.area})]})})};t.BodyEntry=i;t.SlimeBodySwapper=function(e){var t=(0,r.useBackend)(e),n=t.act,c=t.data.bodies,l=void 0===c?[]:c;return(0,o.createComponentVNode)(2,a.Section,{children:l.map((function(e){return(0,o.createComponentVNode)(2,i,{body:e,swapFunc:function(){return n("swap",{ref:e.ref})}},e.name)}))})}},function(e,t,n){"use strict";t.__esModule=!0,t.Signaler=void 0;var o=n(1),r=n(2),a=n(3),i=n(18);t.Signaler=function(e){var t=(0,a.useBackend)(e),n=t.act,c=t.data,l=c.code,u=c.frequency,d=c.minFrequency,s=c.maxFrequency;return(0,o.createComponentVNode)(2,r.Section,{children:[(0,o.createComponentVNode)(2,r.Grid,{children:[(0,o.createComponentVNode)(2,r.Grid.Column,{size:1.4,color:"label",children:"Frequency:"}),(0,o.createComponentVNode)(2,r.Grid.Column,{children:(0,o.createComponentVNode)(2,r.NumberInput,{animate:!0,unit:"kHz",step:.2,stepPixelSize:6,minValue:d/10,maxValue:s/10,value:u/10,format:function(e){return(0,i.toFixed)(e,1)},width:13,onDrag:function(e,t){return n("freq",{freq:t})}})}),(0,o.createComponentVNode)(2,r.Grid.Column,{children:(0,o.createComponentVNode)(2,r.Button,{ml:1.3,icon:"sync",content:"Reset",onClick:function(){return n("reset",{reset:"freq"})}})})]}),(0,o.createComponentVNode)(2,r.Grid,{mt:.6,children:[(0,o.createComponentVNode)(2,r.Grid.Column,{size:1.4,color:"label",children:"Code:"}),(0,o.createComponentVNode)(2,r.Grid.Column,{children:(0,o.createComponentVNode)(2,r.NumberInput,{animate:!0,step:1,stepPixelSize:6,minValue:1,maxValue:100,value:l,width:13,onDrag:function(e,t){return n("code",{code:t})}})}),(0,o.createComponentVNode)(2,r.Grid.Column,{children:(0,o.createComponentVNode)(2,r.Button,{ml:1.3,icon:"sync",content:"Reset",onClick:function(){return n("reset",{reset:"code"})}})})]}),(0,o.createComponentVNode)(2,r.Grid,{mt:.8,children:(0,o.createComponentVNode)(2,r.Grid.Column,{children:(0,o.createComponentVNode)(2,r.Button,{mb:-.1,fluid:!0,icon:"arrow-up",content:"Send Signal",textAlign:"center",onClick:function(){return n("signal")}})})})]})}},function(e,t,n){"use strict";t.__esModule=!0,t.SmartVend=void 0;var o=n(1),r=n(24),a=n(3),i=n(2);t.SmartVend=function(e){var t=(0,a.useBackend)(e),n=t.act,c=t.data;return(0,o.createComponentVNode)(2,i.Section,{title:"Storage",buttons:!!c.isdryer&&(0,o.createComponentVNode)(2,i.Button,{icon:c.drying?"stop":"tint",onClick:function(){return n("Dry")},children:c.drying?"Stop drying":"Dry"}),children:0===c.contents.length&&(0,o.createComponentVNode)(2,i.NoticeBox,{children:["Unfortunately, this ",c.name," is empty."]})||(0,o.createComponentVNode)(2,i.Table,{children:[(0,o.createComponentVNode)(2,i.Table.Row,{header:!0,children:[(0,o.createComponentVNode)(2,i.Table.Cell,{children:"Item"}),(0,o.createComponentVNode)(2,i.Table.Cell,{collapsing:!0}),(0,o.createComponentVNode)(2,i.Table.Cell,{collapsing:!0,textAlign:"center",children:c.verb?c.verb:"Dispense"})]}),(0,r.map)((function(e,t){return(0,o.createComponentVNode)(2,i.Table.Row,{children:[(0,o.createComponentVNode)(2,i.Table.Cell,{children:e.name}),(0,o.createComponentVNode)(2,i.Table.Cell,{collapsing:!0,textAlign:"right",children:e.amount}),(0,o.createComponentVNode)(2,i.Table.Cell,{collapsing:!0,children:[(0,o.createComponentVNode)(2,i.Button,{content:"One",disabled:e.amount<1,onClick:function(){return n("Release",{name:e.name,amount:1})}}),(0,o.createComponentVNode)(2,i.Button,{content:"Many",disabled:e.amount<=1,onClick:function(){return n("Release",{name:e.name})}})]})]},t)}))(c.contents)]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.Smes=void 0;var o=n(1),r=n(3),a=n(2);t.Smes=function(e){var t,n,i=(0,r.useBackend)(e),c=i.act,l=i.data;return t=l.capacityPercent>=100?"good":l.inputting?"average":"bad",n=l.outputting?"good":l.charge>0?"average":"bad",(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Section,{title:"Stored Energy",children:(0,o.createComponentVNode)(2,a.ProgressBar,{value:.01*l.capacityPercent,ranges:{good:[.5,Infinity],average:[.15,.5],bad:[-Infinity,.15]}})}),(0,o.createComponentVNode)(2,a.Section,{title:"Input",children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Charge Mode",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:l.inputAttempt?"sync-alt":"times",selected:l.inputAttempt,onClick:function(){return c("tryinput")},children:l.inputAttempt?"Auto":"Off"}),children:(0,o.createComponentVNode)(2,a.Box,{color:t,children:l.capacityPercent>=100?"Fully Charged":l.inputting?"Charging":"Not Charging"})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Target Input",children:(0,o.createComponentVNode)(2,a.ProgressBar,{value:l.inputLevel/l.inputLevelMax,content:l.inputLevel_text})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Adjust Input",children:[(0,o.createComponentVNode)(2,a.Button,{icon:"fast-backward",disabled:0===l.inputLevel,onClick:function(){return c("input",{target:"min"})}}),(0,o.createComponentVNode)(2,a.Button,{icon:"backward",disabled:0===l.inputLevel,onClick:function(){return c("input",{adjust:-1e4})}}),(0,o.createComponentVNode)(2,a.NumberInput,{value:Math.round(l.inputLevel/1e3),unit:"kW",width:"65px",minValue:0,maxValue:l.inputLevelMax/1e3,onChange:function(e,t){return c("input",{target:1e3*t})}}),(0,o.createComponentVNode)(2,a.Button,{icon:"forward",disabled:l.inputLevel===l.inputLevelMax,onClick:function(){return c("input",{adjust:1e4})}}),(0,o.createComponentVNode)(2,a.Button,{icon:"fast-forward",disabled:l.inputLevel===l.inputLevelMax,onClick:function(){return c("input",{target:"max"})}})]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Available",children:l.inputAvailable})]})}),(0,o.createComponentVNode)(2,a.Section,{title:"Output",children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Output Mode",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:l.outputAttempt?"power-off":"times",selected:l.outputAttempt,onClick:function(){return c("tryoutput")},children:l.outputAttempt?"On":"Off"}),children:(0,o.createComponentVNode)(2,a.Box,{color:n,children:l.outputting?"Sending":l.charge>0?"Not Sending":"No Charge"})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Target Output",children:(0,o.createComponentVNode)(2,a.ProgressBar,{value:l.outputLevel/l.outputLevelMax,content:l.outputLevel_text})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Adjust Output",children:[(0,o.createComponentVNode)(2,a.Button,{icon:"fast-backward",disabled:0===l.outputLevel,onClick:function(){return c("output",{target:"min"})}}),(0,o.createComponentVNode)(2,a.Button,{icon:"backward",disabled:0===l.outputLevel,onClick:function(){return c("output",{adjust:-1e4})}}),(0,o.createComponentVNode)(2,a.NumberInput,{value:Math.round(l.outputLevel/1e3),unit:"kW",width:"65px",minValue:0,maxValue:l.outputLevelMax/1e3,onChange:function(e,t){return c("output",{target:1e3*t})}}),(0,o.createComponentVNode)(2,a.Button,{icon:"forward",disabled:l.outputLevel===l.outputLevelMax,onClick:function(){return c("output",{adjust:1e4})}}),(0,o.createComponentVNode)(2,a.Button,{icon:"fast-forward",disabled:l.outputLevel===l.outputLevelMax,onClick:function(){return c("output",{target:"max"})}})]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Outputting",children:l.outputUsed})]})})],4)}},function(e,t,n){"use strict";t.__esModule=!0,t.SmokeMachine=void 0;var o=n(1),r=n(3),a=n(2);t.SmokeMachine=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data,c=i.TankContents,l=(i.isTankLoaded,i.TankCurrentVolume),u=i.TankMaxVolume,d=i.active,s=i.setting,p=(i.screen,i.maxSetting),m=void 0===p?[]:p;return(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Section,{title:"Dispersal Tank",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:d?"power-off":"times",selected:d,content:d?"On":"Off",onClick:function(){return n("power")}}),children:[(0,o.createComponentVNode)(2,a.ProgressBar,{value:l/u,ranges:{bad:[-Infinity,.3]},children:[(0,o.createComponentVNode)(2,a.AnimatedNumber,{initial:0,value:l||0})," / "+u]}),(0,o.createComponentVNode)(2,a.Box,{mt:1,children:(0,o.createComponentVNode)(2,a.LabeledList,{children:(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Range",children:[1,2,3,4,5].map((function(e){return(0,o.createComponentVNode)(2,a.Button,{selected:s===e,icon:"plus",content:3*e,disabled:m0?"good":"bad",children:m})]})}),(0,o.createComponentVNode)(2,a.Grid.Column,{size:1.5,children:(0,o.createComponentVNode)(2,a.LabeledList,{children:(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Power output",children:(0,o.createComponentVNode)(2,a.ProgressBar,{ranges:{good:[.66,Infinity],average:[.33,.66],bad:[-Infinity,.33]},minValue:0,maxValue:1,value:l,content:c+" W"})})})})]})}),(0,o.createComponentVNode)(2,a.Section,{title:"Controls",children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Tracking",children:[(0,o.createComponentVNode)(2,a.Button,{icon:"times",content:"Off",selected:0===p,onClick:function(){return n("tracking",{mode:0})}}),(0,o.createComponentVNode)(2,a.Button,{icon:"clock-o",content:"Timed",selected:1===p,onClick:function(){return n("tracking",{mode:1})}}),(0,o.createComponentVNode)(2,a.Button,{icon:"sync",content:"Auto",selected:2===p,disabled:!f,onClick:function(){return n("tracking",{mode:2})}})]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Azimuth",children:[(0===p||1===p)&&(0,o.createComponentVNode)(2,a.NumberInput,{width:"52px",unit:"\xb0",step:1,stepPixelSize:2,minValue:-360,maxValue:720,value:u,onDrag:function(e,t){return n("azimuth",{value:t})}}),1===p&&(0,o.createComponentVNode)(2,a.NumberInput,{width:"80px",unit:"\xb0/m",step:.01,stepPixelSize:1,minValue:-s-.01,maxValue:s+.01,value:d,format:function(e){return(Math.sign(e)>0?"+":"-")+Math.abs(e)},onDrag:function(e,t){return n("azimuth_rate",{value:t})}}),2===p&&(0,o.createComponentVNode)(2,a.Box,{inline:!0,color:"label",mt:"3px",children:[u+" \xb0"," (auto)"]})]})]})})],4)}},function(e,t,n){"use strict";t.__esModule=!0,t.SpaceHeater=void 0;var o=n(1),r=n(3),a=n(2);t.SpaceHeater=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data;return(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Section,{title:"Power",buttons:(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Button,{icon:"eject",content:"Eject Cell",disabled:!i.hasPowercell||!i.open,onClick:function(){return n("eject")}}),(0,o.createComponentVNode)(2,a.Button,{icon:i.on?"power-off":"times",content:i.on?"On":"Off",selected:i.on,disabled:!i.hasPowercell,onClick:function(){return n("power")}})],4),children:(0,o.createComponentVNode)(2,a.LabeledList,{children:(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Cell",color:!i.hasPowercell&&"bad",children:i.hasPowercell&&(0,o.createComponentVNode)(2,a.ProgressBar,{value:i.powerLevel/100,content:i.powerLevel+"%",ranges:{good:[.6,Infinity],average:[.3,.6],bad:[-Infinity,.3]}})||"None"})})}),(0,o.createComponentVNode)(2,a.Section,{title:"Thermostat",children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Current Temperature",children:(0,o.createComponentVNode)(2,a.Box,{fontSize:"18px",color:Math.abs(i.targetTemp-i.currentTemp)>50?"bad":Math.abs(i.targetTemp-i.currentTemp)>20?"average":"good",children:[i.currentTemp,"\xb0C"]})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Target Temperature",children:i.open&&(0,o.createComponentVNode)(2,a.NumberInput,{animated:!0,value:parseFloat(i.targetTemp),width:"65px",unit:"\xb0C",minValue:i.minTemp,maxValue:i.maxTemp,onChange:function(e,t){return n("target",{target:t})}})||i.targetTemp+"\xb0C"}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Mode",children:i.open?(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Button,{icon:"thermometer-half",content:"Auto",selected:"auto"===i.mode,onClick:function(){return n("mode",{mode:"auto"})}}),(0,o.createComponentVNode)(2,a.Button,{icon:"fire-alt",content:"Heat",selected:"heat"===i.mode,onClick:function(){return n("mode",{mode:"heat"})}}),(0,o.createComponentVNode)(2,a.Button,{icon:"fan",content:"Cool",selected:"cool"===i.mode,onClick:function(){return n("mode",{mode:"cool"})}})],4):"Auto"}),(0,o.createComponentVNode)(2,a.LabeledList.Divider)]})})],4)}},function(e,t,n){"use strict";t.__esModule=!0,t.SpawnersMenu=void 0;var o=n(1),r=n(3),a=n(2);t.SpawnersMenu=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data.spawners||[];return(0,o.createComponentVNode)(2,a.Section,{children:i.map((function(e){return(0,o.createComponentVNode)(2,a.Section,{title:e.name+" ("+e.amount_left+" left)",level:2,buttons:(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Button,{content:"Jump",onClick:function(){return n("jump",{name:e.name})}}),(0,o.createComponentVNode)(2,a.Button,{content:"Spawn",onClick:function(){return n("spawn",{name:e.name})}})],4),children:[(0,o.createComponentVNode)(2,a.Box,{bold:!0,mb:1,fontSize:"20px",children:e.short_desc}),(0,o.createComponentVNode)(2,a.Box,{children:e.flavor_text}),!!e.important_info&&(0,o.createComponentVNode)(2,a.Box,{mt:1,bold:!0,color:"bad",fontSize:"26px",children:e.important_info})]},e.name)}))})}},function(e,t,n){"use strict";t.__esModule=!0,t.StationAlertConsole=void 0;var o=n(1),r=n(3),a=n(2);t.StationAlertConsole=function(e){var t=(0,r.useBackend)(e).data.alarms||[],n=t.Fire||[],i=t.Atmosphere||[],c=t.Power||[];return(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Section,{title:"Fire Alarms",children:(0,o.createVNode)(1,"ul",null,[0===n.length&&(0,o.createVNode)(1,"li","color-good","Systems Nominal",16),n.map((function(e){return(0,o.createVNode)(1,"li","color-average",e,0,null,e)}))],0)}),(0,o.createComponentVNode)(2,a.Section,{title:"Atmospherics Alarms",children:(0,o.createVNode)(1,"ul",null,[0===i.length&&(0,o.createVNode)(1,"li","color-good","Systems Nominal",16),i.map((function(e){return(0,o.createVNode)(1,"li","color-average",e,0,null,e)}))],0)}),(0,o.createComponentVNode)(2,a.Section,{title:"Power Alarms",children:(0,o.createVNode)(1,"ul",null,[0===c.length&&(0,o.createVNode)(1,"li","color-good","Systems Nominal",16),c.map((function(e){return(0,o.createVNode)(1,"li","color-average",e,0,null,e)}))],0)})],4)}},function(e,t,n){"use strict";t.__esModule=!0,t.SuitStorageUnit=void 0;var o=n(1),r=n(3),a=n(2);t.SuitStorageUnit=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data,c=i.locked,l=i.open,u=i.safeties,d=i.uv_active,s=i.occupied,p=i.suit,m=i.helmet,f=i.mask,h=i.storage;return(0,o.createFragment)([!(!s||!u)&&(0,o.createComponentVNode)(2,a.NoticeBox,{children:"Biological entity detected in suit chamber. Please remove before continuing with operation."}),d&&(0,o.createComponentVNode)(2,a.NoticeBox,{children:"Contents are currently being decontaminated. Please wait."})||(0,o.createComponentVNode)(2,a.Section,{title:"Storage",minHeight:"260px",buttons:(0,o.createFragment)([!l&&(0,o.createComponentVNode)(2,a.Button,{icon:c?"unlock":"lock",content:c?"Unlock":"Lock",onClick:function(){return n("lock")}}),!c&&(0,o.createComponentVNode)(2,a.Button,{icon:l?"sign-out-alt":"sign-in-alt",content:l?"Close":"Open",onClick:function(){return n("door")}})],0),children:c&&(0,o.createComponentVNode)(2,a.Box,{mt:6,bold:!0,textAlign:"center",fontSize:"40px",children:[(0,o.createComponentVNode)(2,a.Box,{children:"Unit Locked"}),(0,o.createComponentVNode)(2,a.Icon,{name:"lock"})]})||l&&(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Helmet",children:(0,o.createComponentVNode)(2,a.Button,{icon:m?"square":"square-o",content:m||"Empty",disabled:!m,onClick:function(){return n("dispense",{item:"helmet"})}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Suit",children:(0,o.createComponentVNode)(2,a.Button,{icon:p?"square":"square-o",content:p||"Empty",disabled:!p,onClick:function(){return n("dispense",{item:"suit"})}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Mask",children:(0,o.createComponentVNode)(2,a.Button,{icon:f?"square":"square-o",content:f||"Empty",disabled:!f,onClick:function(){return n("dispense",{item:"mask"})}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Storage",children:(0,o.createComponentVNode)(2,a.Button,{icon:h?"square":"square-o",content:h||"Empty",disabled:!h,onClick:function(){return n("dispense",{item:"storage"})}})})]})||(0,o.createComponentVNode)(2,a.Button,{fluid:!0,icon:"recycle",content:"Decontaminate",disabled:s&&u,textAlign:"center",onClick:function(){return n("uv")}})})],0)}},function(e,t,n){"use strict";t.__esModule=!0,t.Tank=void 0;var o=n(1),r=n(3),a=n(2);t.Tank=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data;return(0,o.createComponentVNode)(2,a.Section,{children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Pressure",children:(0,o.createComponentVNode)(2,a.ProgressBar,{value:i.tankPressure/1013,content:i.tankPressure+" kPa",ranges:{good:[.35,Infinity],average:[.15,.35],bad:[-Infinity,.15]}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Pressure Regulator",children:[(0,o.createComponentVNode)(2,a.Button,{icon:"fast-backward",disabled:i.ReleasePressure===i.minReleasePressure,onClick:function(){return n("pressure",{pressure:"min"})}}),(0,o.createComponentVNode)(2,a.NumberInput,{animated:!0,value:parseFloat(i.releasePressure),width:"65px",unit:"kPa",minValue:i.minReleasePressure,maxValue:i.maxReleasePressure,onChange:function(e,t){return n("pressure",{pressure:t})}}),(0,o.createComponentVNode)(2,a.Button,{icon:"fast-forward",disabled:i.ReleasePressure===i.maxReleasePressure,onClick:function(){return n("pressure",{pressure:"max"})}}),(0,o.createComponentVNode)(2,a.Button,{icon:"undo",content:"",disabled:i.ReleasePressure===i.defaultReleasePressure,onClick:function(){return n("pressure",{pressure:"reset"})}})]})]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.TankDispenser=void 0;var o=n(1),r=n(3),a=n(2);t.TankDispenser=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data;return(0,o.createComponentVNode)(2,a.Section,{children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Plasma",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:i.plasma?"square":"square-o",content:"Dispense",disabled:!i.plasma,onClick:function(){return n("plasma")}}),children:i.plasma}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Oxygen",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:i.oxygen?"square":"square-o",content:"Dispense",disabled:!i.oxygen,onClick:function(){return n("oxygen")}}),children:i.oxygen})]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.Teleporter=void 0;var o=n(1),r=n(3),a=n(2);t.Teleporter=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data,c=i.calibrated,l=i.calibrating,u=i.power_station,d=i.regime_set,s=i.teleporter_hub,p=i.target;return(0,o.createComponentVNode)(2,a.Section,{children:!u&&(0,o.createComponentVNode)(2,a.Box,{color:"bad",textAlign:"center",children:"No power station linked."})||!s&&(0,o.createComponentVNode)(2,a.Box,{color:"bad",textAlign:"center",children:"No hub linked."})||(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Current Regime",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:"tools",content:"Change Regime",onClick:function(){return n("regimeset")}}),children:d}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Current Target",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:"tools",content:"Set Target",onClick:function(){return n("settarget")}}),children:p}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Calibration",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:"tools",content:"Calibrate Hub",onClick:function(){return n("calibrate")}}),children:l&&(0,o.createComponentVNode)(2,a.Box,{color:"average",children:"In Progress"})||c&&(0,o.createComponentVNode)(2,a.Box,{color:"good",children:"Optimal"})||(0,o.createComponentVNode)(2,a.Box,{color:"bad",children:"Sub-Optimal"})})]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.ThermoMachine=void 0;var o=n(1),r=n(18),a=n(3),i=n(2);t.ThermoMachine=function(e){var t=(0,a.useBackend)(e),n=t.act,c=t.data;return(0,o.createFragment)([(0,o.createComponentVNode)(2,i.Section,{title:"Status",children:(0,o.createComponentVNode)(2,i.LabeledList,{children:[(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Temperature",children:[(0,o.createComponentVNode)(2,i.AnimatedNumber,{value:c.temperature,format:function(e){return(0,r.toFixed)(e,2)}})," K"]}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Pressure",children:[(0,o.createComponentVNode)(2,i.AnimatedNumber,{value:c.pressure,format:function(e){return(0,r.toFixed)(e,2)}})," kPa"]})]})}),(0,o.createComponentVNode)(2,i.Section,{title:"Controls",buttons:(0,o.createComponentVNode)(2,i.Button,{icon:c.on?"power-off":"times",content:c.on?"On":"Off",selected:c.on,onClick:function(){return n("power")}}),children:(0,o.createComponentVNode)(2,i.LabeledList,{children:[(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Target Temperature",children:(0,o.createComponentVNode)(2,i.NumberInput,{animated:!0,value:Math.round(c.target),unit:"K",width:"62px",minValue:Math.round(c.min),maxValue:Math.round(c.max),step:5,stepPixelSize:3,onDrag:function(e,t){return n("target",{target:t})}})}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Presets",children:[(0,o.createComponentVNode)(2,i.Button,{icon:"fast-backward",disabled:c.target===c.min,title:"Minimum temperature",onClick:function(){return n("target",{target:c.min})}}),(0,o.createComponentVNode)(2,i.Button,{icon:"sync",disabled:c.target===c.initial,title:"Room Temperature",onClick:function(){return n("target",{target:c.initial})}}),(0,o.createComponentVNode)(2,i.Button,{icon:"fast-forward",disabled:c.target===c.max,title:"Maximum Temperature",onClick:function(){return n("target",{target:c.max})}})]})]})})],4)}},function(e,t,n){"use strict";t.__esModule=!0,t.TurbineComputer=void 0;var o=n(1),r=n(3),a=n(2);t.TurbineComputer=function(e){var t=(0,r.useBackend)(e),n=t.act,i=t.data,c=Boolean(i.compressor&&!i.compressor_broke&&i.turbine&&!i.turbine_broke);return(0,o.createComponentVNode)(2,a.Section,{title:"Status",buttons:(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Button,{icon:i.online?"power-off":"times",content:i.online?"Online":"Offline",selected:i.online,disabled:!c,onClick:function(){return n("toggle_power")}}),(0,o.createComponentVNode)(2,a.Button,{icon:"sync",content:"Reconnect",onClick:function(){return n("reconnect")}})],4),children:!c&&(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Compressor Status",color:!i.compressor||i.compressor_broke?"bad":"good",children:i.compressor_broke?i.compressor?"Offline":"Missing":"Online"}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Turbine Status",color:!i.turbine||i.turbine_broke?"bad":"good",children:i.turbine_broke?i.turbine?"Offline":"Missing":"Online"})]})||(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Turbine Speed",children:[i.rpm," RPM"]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Internal Temp",children:[i.temp," K"]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Generated Power",children:i.power})]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.Uplink=void 0;var o=n(1),r=n(23),a=n(16),i=n(2);var c=function(e){var t,n;function r(){var t;return(t=e.call(this)||this).state={hoveredItem:{},currentSearch:""},t}n=e,(t=r).prototype=Object.create(n.prototype),t.prototype.constructor=t,t.__proto__=n;var c=r.prototype;return c.setHoveredItem=function(e){this.setState({hoveredItem:e})},c.setSearchText=function(e){this.setState({currentSearch:e})},c.render=function(){var e=this,t=this.props.state,n=t.config,r=t.data,c=n.ref,u=r.compact_mode,d=r.lockable,s=r.telecrystals,p=r.categories,m=void 0===p?[]:p,f=this.state,h=f.hoveredItem,C=f.currentSearch;return(0,o.createComponentVNode)(2,i.Section,{title:(0,o.createComponentVNode)(2,i.Box,{inline:!0,color:s>0?"good":"bad",children:[s," TC"]}),buttons:(0,o.createFragment)([(0,o.createTextVNode)("Search"),(0,o.createComponentVNode)(2,i.Input,{value:C,onInput:function(t,n){return e.setSearchText(n)},ml:1,mr:1}),(0,o.createComponentVNode)(2,i.Button,{icon:u?"list":"info",content:u?"Compact":"Detailed",onClick:function(){return(0,a.act)(c,"compact_toggle")}}),!!d&&(0,o.createComponentVNode)(2,i.Button,{icon:"lock",content:"Lock",onClick:function(){return(0,a.act)(c,"lock")}})],0),children:C.length>0?(0,o.createVNode)(1,"table","Table",(0,o.createComponentVNode)(2,l,{compact:!0,items:m.flatMap((function(e){return e.items||[]})).filter((function(e){var t=C.toLowerCase();return String(e.name+e.desc).toLowerCase().includes(t)})),hoveredItem:h,onBuyMouseOver:function(t){return e.setHoveredItem(t)},onBuyMouseOut:function(t){return e.setHoveredItem({})},onBuy:function(e){return(0,a.act)(c,"buy",{item:e.name})}}),2):(0,o.createComponentVNode)(2,i.Tabs,{vertical:!0,children:m.map((function(t){var n=t.name,r=t.items;if(null!==r)return(0,o.createComponentVNode)(2,i.Tabs.Tab,{label:n+" ("+r.length+")",children:function(){return(0,o.createComponentVNode)(2,l,{compact:u,items:r,hoveredItem:h,telecrystals:s,onBuyMouseOver:function(t){return e.setHoveredItem(t)},onBuyMouseOut:function(t){return e.setHoveredItem({})},onBuy:function(e){return(0,a.act)(c,"buy",{item:e.name})}})}},n)}))})})},r}(o.Component);t.Uplink=c;var l=function(e){var t=e.items,n=e.hoveredItem,a=e.telecrystals,c=e.compact,l=e.onBuy,u=e.onBuyMouseOver,d=e.onBuyMouseOut,s=n&&n.cost||0;return c?(0,o.createComponentVNode)(2,i.Table,{children:t.map((function(e){var t=n&&n.name!==e.name,c=a-s1?r-1:0),i=1;i1?t-1:0),o=1;o

gokc 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 B!ovUn literal 0 HcmV?d00001 diff --git a/code/__DEFINES/_tick.dm b/code/__DEFINES/_tick.dm index 10b815e547..fc6147c430 100644 --- a/code/__DEFINES/_tick.dm +++ b/code/__DEFINES/_tick.dm @@ -1,13 +1,28 @@ -#define TICK_LIMIT_RUNNING 80 +/// Percentage of tick to leave for master controller to run +#define MAPTICK_MC_MIN_RESERVE 70 +/// internal_tick_usage is updated every tick by extools +#define MAPTICK_LAST_INTERNAL_TICK_USAGE ((GLOB.internal_tick_usage / world.tick_lag) * 100) +/// Tick limit while running normally +#define TICK_BYOND_RESERVE 2 +#define TICK_LIMIT_RUNNING (max(100 - TICK_BYOND_RESERVE - MAPTICK_LAST_INTERNAL_TICK_USAGE, MAPTICK_MC_MIN_RESERVE)) +/// Tick limit used to resume things in stoplag #define TICK_LIMIT_TO_RUN 70 +/// Tick limit for MC while running #define TICK_LIMIT_MC 70 -#define TICK_LIMIT_MC_INIT_DEFAULT 98 +/// Tick limit while initializing +#define TICK_LIMIT_MC_INIT_DEFAULT (100 - TICK_BYOND_RESERVE) -#define TICK_USAGE world.tick_usage //for general usage -#define TICK_USAGE_REAL world.tick_usage //to be used where the result isn't checked +/// for general usage of tick_usage +#define TICK_USAGE world.tick_usage +/// to be used where the result isn't checked +#define TICK_USAGE_REAL world.tick_usage +/// Returns true if tick_usage is above the limit #define TICK_CHECK ( TICK_USAGE > Master.current_ticklimit ) +/// runs stoplag if tick_usage is above the limit #define CHECK_TICK ( TICK_CHECK ? stoplag() : 0 ) +/// Returns true if tick usage is above 95, for high priority usage #define TICK_CHECK_HIGH_PRIORITY ( TICK_USAGE > 95 ) +/// runs stoplag if tick_usage is above 95, for high priority usage #define CHECK_TICK_HIGH_PRIORITY ( TICK_CHECK_HIGH_PRIORITY? stoplag() : 0 ) diff --git a/code/__DEFINES/subsystems.dm b/code/__DEFINES/subsystems.dm index cadc1113c5..3abef3a61c 100644 --- a/code/__DEFINES/subsystems.dm +++ b/code/__DEFINES/subsystems.dm @@ -132,8 +132,15 @@ #define RUNLEVELS_DEFAULT (RUNLEVEL_SETUP | RUNLEVEL_GAME | RUNLEVEL_POSTGAME) - - +// SSair run section +#define SSAIR_PIPENETS 1 +#define SSAIR_ATMOSMACHINERY 2 +#define SSAIR_REACTQUEUE 3 +#define SSAIR_EXCITEDGROUPS 4 +#define SSAIR_HIGHPRESSURE 5 +#define SSAIR_HOTSPOTS 6 +#define SSAIR_SUPERCONDUCTIVITY 7 +#define SSAIR_REBUILD_PIPENETS 8 #define COMPILE_OVERLAYS(A)\ if (TRUE) {\ diff --git a/code/_globalvars/misc.dm b/code/_globalvars/misc.dm index af483bf888..b039e6d114 100644 --- a/code/_globalvars/misc.dm +++ b/code/_globalvars/misc.dm @@ -33,3 +33,5 @@ GLOBAL_VAR(bible_icon_state) GLOBAL_VAR(bible_item_state) GLOBAL_VAR(holy_weapon_type) GLOBAL_VAR(holy_armor_type) + +GLOBAL_VAR_INIT(internal_tick_usage, 0.2 * world.tick_lag) diff --git a/code/controllers/master.dm b/code/controllers/master.dm index 8772fac5af..db828539af 100644 --- a/code/controllers/master.dm +++ b/code/controllers/master.dm @@ -36,6 +36,9 @@ GLOBAL_REAL(Master, /datum/controller/master) = new var/sleep_delta = 1 + ///Only run ticker subsystems for the next n ticks. + var/skip_ticks = 0 + var/make_runtime = 0 var/initializations_finished_with_no_players_logged_in //I wonder what this could be? @@ -335,7 +338,7 @@ GLOBAL_REAL(Master, /datum/controller/master) = new new/datum/controller/failsafe() // (re)Start the failsafe. //now do the actual stuff - if (!queue_head || !(iteration % 3)) + if (!skip_ticks) var/checking_runlevel = current_runlevel if(cached_runlevel != checking_runlevel) //resechedule subsystems @@ -381,6 +384,8 @@ GLOBAL_REAL(Master, /datum/controller/master) = new iteration++ last_run = world.time + if (skip_ticks) + skip_ticks-- src.sleep_delta = MC_AVERAGE_FAST(src.sleep_delta, sleep_delta) current_ticklimit = TICK_LIMIT_RUNNING if (processing * sleep_delta <= world.tick_lag) @@ -444,10 +449,12 @@ GLOBAL_REAL(Master, /datum/controller/master) = new while (queue_node) if (ran && TICK_USAGE > TICK_LIMIT_RUNNING) break - queue_node_flags = queue_node.flags queue_node_priority = queue_node.queued_priority + if (!(queue_node_flags & SS_TICKER) && skip_ticks) + queue_node = queue_node.queue_next + continue //super special case, subsystems where we can't make them pause mid way through //if we can't run them this tick (without going over a tick) //we bump up their priority and attempt to run them next tick @@ -455,14 +462,15 @@ GLOBAL_REAL(Master, /datum/controller/master) = new // in those cases, so we just let them run) if (queue_node_flags & SS_NO_TICK_CHECK) if (queue_node.tick_usage > TICK_LIMIT_RUNNING - TICK_USAGE && ran_non_ticker) - queue_node.queued_priority += queue_priority_count * 0.1 - queue_priority_count -= queue_node_priority - queue_priority_count += queue_node.queued_priority - current_tick_budget -= queue_node_priority - queue_node = queue_node.queue_next + if (!(queue_node_flags & SS_BACKGROUND)) + queue_node.queued_priority += queue_priority_count * 0.1 + queue_priority_count -= queue_node_priority + queue_priority_count += queue_node.queued_priority + current_tick_budget -= queue_node_priority + queue_node = queue_node.queue_next continue - if ((queue_node_flags & SS_BACKGROUND) && !bg_calc) + if (!bg_calc && (queue_node_flags & SS_BACKGROUND)) current_tick_budget = queue_priority_count_bg bg_calc = TRUE @@ -515,7 +523,7 @@ GLOBAL_REAL(Master, /datum/controller/master) = new queue_node.paused_ticks = 0 queue_node.paused_tick_usage = 0 - if (queue_node_flags & SS_BACKGROUND) //update our running total + if (bg_calc) //update our running total queue_priority_count_bg -= queue_node_priority else queue_priority_count -= queue_node_priority @@ -583,14 +591,19 @@ GLOBAL_REAL(Master, /datum/controller/master) = new log_world("MC: SoftReset: Finished.") . = 1 +/// Warns us that the end of tick byond map_update will be laggier then normal, so that we can just skip running subsystems this tick. +/datum/controller/master/proc/laggy_byond_map_update_incoming() + if (!skip_ticks) + skip_ticks = 1 /datum/controller/master/stat_entry() if(!statclick) statclick = new/obj/effect/statclick/debug(null, "Initializing...", src) - stat("Byond:", "(FPS:[world.fps]) (TickCount:[world.time/world.tick_lag]) (TickDrift:[round(Master.tickdrift,1)]([round((Master.tickdrift/(world.time/world.tick_lag))*100,0.1)]%))") - stat("Master Controller:", statclick.update("(TickRate:[Master.processing]) (Iteration:[Master.iteration])")) + stat("Byond:", "(FPS:[world.fps]) (TickCount:[world.time/world.tick_lag]) (TickDrift:[round(Master.tickdrift,1)]([round((Master.tickdrift/(world.time/world.tick_lag))*100,0.1)]%)) (Internal Tick Usage: [round(MAPTICK_LAST_INTERNAL_TICK_USAGE,0.1)]%)") + stat("Master Controller:", statclick.update("(TickRate:[Master.processing]) (Iteration:[Master.iteration]) (TickLimit: [round(Master.current_ticklimit, 0.1)])")) + /datum/controller/master/StartLoadingMap() //disallow more than one map to load at once, multithreading it will just cause race conditions diff --git a/code/controllers/subsystem/air.dm b/code/controllers/subsystem/air.dm index 13facc7666..d8c7724333 100644 --- a/code/controllers/subsystem/air.dm +++ b/code/controllers/subsystem/air.dm @@ -1,11 +1,3 @@ -#define SSAIR_PIPENETS 1 -#define SSAIR_ATMOSMACHINERY 2 -#define SSAIR_REACTQUEUE 3 -#define SSAIR_EXCITEDGROUPS 4 -#define SSAIR_HIGHPRESSURE 5 -#define SSAIR_HOTSPOTS 6 -#define SSAIR_SUPERCONDUCTIVITY 7 - SUBSYSTEM_DEF(air) name = "Atmospherics" init_order = INIT_ORDER_AIR @@ -20,6 +12,7 @@ SUBSYSTEM_DEF(air) var/cost_hotspots = 0 var/cost_superconductivity = 0 var/cost_pipenets = 0 + var/cost_rebuilds = 0 var/cost_atmos_machinery = 0 var/list/excited_groups = list() @@ -27,6 +20,7 @@ SUBSYSTEM_DEF(air) var/list/turf_react_queue = list() var/list/hotspots = list() var/list/networks = list() + var/list/pipenets_needing_rebuilt = list() var/list/obj/machinery/atmos_machinery = list() var/list/pipe_init_dirs_cache = list() @@ -39,7 +33,7 @@ SUBSYSTEM_DEF(air) var/list/currentrun = list() - var/currentpart = SSAIR_PIPENETS + var/currentpart = SSAIR_REBUILD_PIPENETS var/map_loading = TRUE var/list/queued_for_activation @@ -52,6 +46,7 @@ SUBSYSTEM_DEF(air) msg += "HS:[round(cost_hotspots,1)]|" msg += "SC:[round(cost_superconductivity,1)]|" msg += "PN:[round(cost_pipenets,1)]|" + msg += "RB:[round(cost_rebuilds,1)]|" msg += "AM:[round(cost_atmos_machinery,1)]" msg += "} " msg += "AT:[active_turfs.len]|" @@ -77,6 +72,18 @@ SUBSYSTEM_DEF(air) /datum/controller/subsystem/air/fire(resumed = 0) var/timer = TICK_USAGE_REAL + if(currentpart == SSAIR_REBUILD_PIPENETS) + var/list/pipenet_rebuilds = pipenets_needing_rebuilt + for(var/thing in pipenet_rebuilds) + var/obj/machinery/atmospherics/AT = thing + AT.build_network() + cost_rebuilds = MC_AVERAGE(cost_rebuilds, TICK_DELTA_TO_MS(TICK_USAGE_REAL - timer)) + pipenets_needing_rebuilt.Cut() + if(state != SS_RUNNING) + return + resumed = FALSE + currentpart = SSAIR_PIPENETS + if(currentpart == SSAIR_PIPENETS || !resumed) process_pipenets(resumed) cost_pipenets = MC_AVERAGE(cost_pipenets, TICK_DELTA_TO_MS(TICK_USAGE_REAL - timer)) @@ -137,9 +144,7 @@ SUBSYSTEM_DEF(air) if(state != SS_RUNNING) return resumed = 0 - currentpart = SSAIR_PIPENETS - - + currentpart = SSAIR_REBUILD_PIPENETS /datum/controller/subsystem/air/proc/process_pipenets(resumed = 0) if (!resumed) @@ -156,6 +161,9 @@ SUBSYSTEM_DEF(air) if(MC_TICK_CHECK) return +/datum/controller/subsystem/air/proc/add_to_rebuild_queue(atmos_machine) + if(istype(atmos_machine, /obj/machinery/atmospherics)) + pipenets_needing_rebuilt += atmos_machine /datum/controller/subsystem/air/proc/process_atmos_machinery(resumed = 0) var/seconds = wait * 0.1 diff --git a/code/game/world.dm b/code/game/world.dm index 1d719ee138..94cfb0baca 100644 --- a/code/game/world.dm +++ b/code/game/world.dm @@ -8,6 +8,8 @@ GLOBAL_LIST(topic_status_cache) //This happens after the Master subsystem new(s) (it's a global datum) //So subsystems globals exist, but are not initialised /world/New() + if(fexists("byond-extools.dll")) + call("byond-extools.dll", "maptick_initialize")() enable_debugger() world.Profile(PROFILE_START) diff --git a/code/modules/atmospherics/machinery/atmosmachinery.dm b/code/modules/atmospherics/machinery/atmosmachinery.dm index 864edfdbe6..8f5ab7dd5e 100644 --- a/code/modules/atmospherics/machinery/atmosmachinery.dm +++ b/code/modules/atmospherics/machinery/atmosmachinery.dm @@ -64,6 +64,7 @@ nullifyNode(i) SSair.atmos_machinery -= src + SSair.pipenets_needing_rebuilt -= src dropContents() if(pipe_vision_img) diff --git a/code/modules/atmospherics/machinery/components/binary_devices/circulator.dm b/code/modules/atmospherics/machinery/components/binary_devices/circulator.dm index 73cb8eeecb..c164dc5ae3 100644 --- a/code/modules/atmospherics/machinery/components/binary_devices/circulator.dm +++ b/code/modules/atmospherics/machinery/components/binary_devices/circulator.dm @@ -116,7 +116,7 @@ if(node2) node2.atmosinit() node2.addMember(src) - build_network() + SSair.add_to_rebuild_queue(src) return TRUE diff --git a/code/modules/atmospherics/machinery/components/components_base.dm b/code/modules/atmospherics/machinery/components/components_base.dm index 63a03b1d40..a45728d51f 100644 --- a/code/modules/atmospherics/machinery/components/components_base.dm +++ b/code/modules/atmospherics/machinery/components/components_base.dm @@ -144,7 +144,7 @@ var/datum/pipeline/parent = parents[i] if(!parent) stack_trace("Component is missing a pipenet! Rebuilding...") - build_network() + SSair.add_to_rebuild_queue(src) parent.update = 1 /obj/machinery/atmospherics/components/returnPipenets() diff --git a/code/modules/atmospherics/machinery/components/unary_devices/cryo.dm b/code/modules/atmospherics/machinery/components/unary_devices/cryo.dm index e013a86fd2..38042fe64d 100644 --- a/code/modules/atmospherics/machinery/components/unary_devices/cryo.dm +++ b/code/modules/atmospherics/machinery/components/unary_devices/cryo.dm @@ -447,6 +447,6 @@ if(node) node.atmosinit() node.addMember(src) - build_network() + SSair.add_to_rebuild_queue(src) #undef CRYOMOBS diff --git a/code/modules/atmospherics/machinery/components/unary_devices/thermomachine.dm b/code/modules/atmospherics/machinery/components/unary_devices/thermomachine.dm index dbe3c0b90b..dddfdf08c1 100644 --- a/code/modules/atmospherics/machinery/components/unary_devices/thermomachine.dm +++ b/code/modules/atmospherics/machinery/components/unary_devices/thermomachine.dm @@ -116,7 +116,7 @@ if(node) node.atmosinit() node.addMember(src) - build_network() + SSair.add_to_rebuild_queue(src) return TRUE /obj/machinery/atmospherics/components/unary/thermomachine/ui_status(mob/user) diff --git a/code/modules/atmospherics/machinery/pipes/layermanifold.dm b/code/modules/atmospherics/machinery/pipes/layermanifold.dm index 33092f5354..bc8fd6777d 100644 --- a/code/modules/atmospherics/machinery/pipes/layermanifold.dm +++ b/code/modules/atmospherics/machinery/pipes/layermanifold.dm @@ -31,7 +31,7 @@ nodes = list() for(var/obj/machinery/atmospherics/A in needs_nullifying) A.disconnect(src) - A.build_network() + SSair.add_to_rebuild_queue(A) /obj/machinery/atmospherics/pipe/layer_manifold/proc/get_all_connected_nodes() return front_nodes + back_nodes + nodes diff --git a/code/modules/atmospherics/machinery/pipes/pipes.dm b/code/modules/atmospherics/machinery/pipes/pipes.dm index 1e513b846c..c466a422b2 100644 --- a/code/modules/atmospherics/machinery/pipes/pipes.dm +++ b/code/modules/atmospherics/machinery/pipes/pipes.dm @@ -22,7 +22,7 @@ var/obj/machinery/atmospherics/oldN = nodes[i] ..() if(oldN) - oldN.build_network() + SSair.add_to_rebuild_queue(oldN) /obj/machinery/atmospherics/pipe/destroy_network() QDEL_NULL(parent) diff --git a/code/modules/atmospherics/machinery/portable/canister.dm b/code/modules/atmospherics/machinery/portable/canister.dm index a41bdee3b6..03463ff0f7 100644 --- a/code/modules/atmospherics/machinery/portable/canister.dm +++ b/code/modules/atmospherics/machinery/portable/canister.dm @@ -159,7 +159,6 @@ /obj/machinery/portable_atmospherics/canister/proto name = "prototype canister" - /obj/machinery/portable_atmospherics/canister/proto/default name = "prototype canister" desc = "The best way to fix an atmospheric emergency... or the best way to introduce one." @@ -172,7 +171,6 @@ can_min_release_pressure = (ONE_ATMOSPHERE / 30) prototype = TRUE - /obj/machinery/portable_atmospherics/canister/proto/default/oxygen name = "prototype canister" desc = "A prototype canister for a prototype bike, what could go wrong?" @@ -181,8 +179,6 @@ filled = 1 release_pressure = ONE_ATMOSPHERE*2 - - /obj/machinery/portable_atmospherics/canister/New(loc, datum/gas_mixture/existing_mixture) ..() if(existing_mixture) @@ -192,7 +188,7 @@ pump = new(src, FALSE) pump.on = TRUE pump.stat = 0 - pump.build_network() + SSair.add_to_rebuild_queue(pump) update_icon() @@ -208,6 +204,7 @@ air_contents.gases[gas_type] = (maximum_pressure * filled) * air_contents.volume / (R_IDEAL_GAS_EQUATION * air_contents.temperature) if(starter_temp) air_contents.temperature = starter_temp + /obj/machinery/portable_atmospherics/canister/air/create_gas() air_contents.gases[/datum/gas/oxygen] = (O2STANDARD * maximum_pressure * filled) * air_contents.volume / (R_IDEAL_GAS_EQUATION * air_contents.temperature) air_contents.gases[/datum/gas/nitrogen] = (N2STANDARD * maximum_pressure * filled) * air_contents.volume / (R_IDEAL_GAS_EQUATION * air_contents.temperature) diff --git a/code/modules/atmospherics/machinery/portable/pump.dm b/code/modules/atmospherics/machinery/portable/pump.dm index 18e4da621a..377e9285e3 100644 --- a/code/modules/atmospherics/machinery/portable/pump.dm +++ b/code/modules/atmospherics/machinery/portable/pump.dm @@ -20,7 +20,7 @@ pump = new(src, FALSE) pump.on = TRUE pump.stat = 0 - pump.build_network() + SSair.add_to_rebuild_queue(pump) /obj/machinery/portable_atmospherics/pump/Destroy() var/turf/T = get_turf(src) diff --git a/code/modules/shuttle/on_move.dm b/code/modules/shuttle/on_move.dm index 701c153783..8c1b3fa955 100644 --- a/code/modules/shuttle/on_move.dm +++ b/code/modules/shuttle/on_move.dm @@ -249,7 +249,7 @@ All ShuttleMove procs go here A.atmosinit() if(A.returnPipenet()) A.addMember(src) - build_network() + SSair.add_to_rebuild_queue(src) else // atmosinit() calls update_icon(), so we don't need to call it update_icon() From d4e6fada75bc986265320d1e450d83b33091f95a Mon Sep 17 00:00:00 2001 From: kevinz000 <2003111+kevinz000@users.noreply.github.com> Date: Sat, 2 May 2020 18:50:38 -0700 Subject: [PATCH 33/41] Update mirage_border.dm (#12092) --- code/datums/components/mirage_border.dm | 1 + 1 file changed, 1 insertion(+) diff --git a/code/datums/components/mirage_border.dm b/code/datums/components/mirage_border.dm index de4425e208..56b41533f5 100644 --- a/code/datums/components/mirage_border.dm +++ b/code/datums/components/mirage_border.dm @@ -39,4 +39,5 @@ /obj/effect/abstract/mirage_holder name = "Mirage holder" anchored = TRUE + plane = PLANE_SPACE mouse_opacity = MOUSE_OPACITY_TRANSPARENT From 8f29839dbf4b8e2e315b935a3d2aa1ac3ab3e2ac Mon Sep 17 00:00:00 2001 From: kevinz000 <2003111+kevinz000@users.noreply.github.com> Date: Sat, 2 May 2020 18:53:19 -0700 Subject: [PATCH 34/41] Runechat Port (#12065) * A * A * Ports Runechat * compile fix * fuck * maybe? * will this work? * PLEASE * fix * fuck this --- code/__DEFINES/layers_planes.dm | 2 + code/datums/brain_damage/imaginary_friend.dm | 2 + code/datums/chatmessage.dm | 236 ++++++++++++++++++ code/game/atoms.dm | 7 + code/game/say.dm | 15 +- .../antagonists/disease/disease_mob.dm | 3 + code/modules/client/client_defines.dm | 3 + code/modules/client/preferences.dm | 14 ++ code/modules/client/preferences_savefile.dm | 11 +- code/modules/flufftext/Hallucination.dm | 3 + code/modules/mob/dead/observer/say.dm | 3 + code/modules/mob/living/say.dm | 6 +- code/modules/mob/living/silicon/ai/ai.dm | 10 +- icons/UI_Icons/chat/chat_icons.dmi | Bin 0 -> 237 bytes interface/skin.dmf | 20 +- modular_citadel/interface/skin.dmf | 13 +- tgstation.dme | 1 + 17 files changed, 325 insertions(+), 24 deletions(-) create mode 100644 code/datums/chatmessage.dm create mode 100644 icons/UI_Icons/chat/chat_icons.dmi diff --git a/code/__DEFINES/layers_planes.dm b/code/__DEFINES/layers_planes.dm index f4a30cd482..eccae15bff 100644 --- a/code/__DEFINES/layers_planes.dm +++ b/code/__DEFINES/layers_planes.dm @@ -89,6 +89,8 @@ #define MASSIVE_OBJ_LAYER 11 #define POINT_LAYER 12 +#define CHAT_LAYER 12.1 + #define EMISSIVE_BLOCKER_PLANE 12 #define EMISSIVE_BLOCKER_LAYER 12 #define EMISSIVE_BLOCKER_RENDER_TARGET "*EMISSIVE_BLOCKER_PLANE" diff --git a/code/datums/brain_damage/imaginary_friend.dm b/code/datums/brain_damage/imaginary_friend.dm index 428f355c31..3f71d192e3 100644 --- a/code/datums/brain_damage/imaginary_friend.dm +++ b/code/datums/brain_damage/imaginary_friend.dm @@ -150,6 +150,8 @@ friend_talk(message) /mob/camera/imaginary_friend/Hear(message, atom/movable/speaker, datum/language/message_language, raw_message, radio_freq, list/spans, message_mode, atom/movable/source) + if (client?.prefs.chat_on_map && (client.prefs.see_chat_non_mob || ismob(speaker))) + create_chat_message(speaker, message_language, raw_message, spans, message_mode) to_chat(src, compose_message(speaker, message_language, raw_message, radio_freq, spans, message_mode, FALSE, source)) /mob/camera/imaginary_friend/proc/friend_talk(message) diff --git a/code/datums/chatmessage.dm b/code/datums/chatmessage.dm new file mode 100644 index 0000000000..cbcb34ac5e --- /dev/null +++ b/code/datums/chatmessage.dm @@ -0,0 +1,236 @@ +#define CHAT_MESSAGE_SPAWN_TIME 0.2 SECONDS +#define CHAT_MESSAGE_LIFESPAN 5 SECONDS +#define CHAT_MESSAGE_EOL_FADE 0.7 SECONDS +#define CHAT_MESSAGE_EXP_DECAY 0.7 // Messages decay at pow(factor, idx in stack) +#define CHAT_MESSAGE_HEIGHT_DECAY 0.9 // Increase message decay based on the height of the message +#define CHAT_MESSAGE_APPROX_LHEIGHT 11 // Approximate height in pixels of an 'average' line, used for height decay +#define CHAT_MESSAGE_WIDTH 96 // pixels +#define CHAT_MESSAGE_MAX_LENGTH 110 // characters +#define WXH_TO_HEIGHT(x) text2num(copytext((x), findtextEx((x), "x") + 1)) // thanks lummox + +/** + * # Chat Message Overlay + * + * Datum for generating a message overlay on the map + */ +/datum/chatmessage + /// The visual element of the chat messsage + var/image/message + /// The location in which the message is appearing + var/atom/message_loc + /// The client who heard this message + var/client/owned_by + /// Contains the scheduled destruction time + var/scheduled_destruction + /// Contains the approximate amount of lines for height decay + var/approx_lines + +/** + * Constructs a chat message overlay + * + * Arguments: + * * text - The text content of the overlay + * * target - The target atom to display the overlay at + * * owner - The mob that owns this overlay, only this mob will be able to view it + * * extra_classes - Extra classes to apply to the span that holds the text + * * lifespan - The lifespan of the message in deciseconds + */ +/datum/chatmessage/New(text, atom/target, mob/owner, list/extra_classes = null, lifespan = CHAT_MESSAGE_LIFESPAN) + . = ..() + if (!istype(target)) + CRASH("Invalid target given for chatmessage") + if(QDELETED(owner) || !istype(owner) || !owner.client) + stack_trace("/datum/chatmessage created with [isnull(owner) ? "null" : "invalid"] mob owner") + qdel(src) + return + INVOKE_ASYNC(src, .proc/generate_image, text, target, owner, extra_classes, lifespan) + +/datum/chatmessage/Destroy() + if (owned_by) + if (owned_by.seen_messages) + LAZYREMOVEASSOC(owned_by.seen_messages, message_loc, src) + owned_by.images.Remove(message) + owned_by = null + message_loc = null + message = null + return ..() + +/** + * Generates a chat message image representation + * + * Arguments: + * * text - The text content of the overlay + * * target - The target atom to display the overlay at + * * owner - The mob that owns this overlay, only this mob will be able to view it + * * extra_classes - Extra classes to apply to the span that holds the text + * * lifespan - The lifespan of the message in deciseconds + */ +/datum/chatmessage/proc/generate_image(text, atom/target, mob/owner, list/extra_classes, lifespan) + // Register client who owns this message + owned_by = owner.client + RegisterSignal(owned_by, COMSIG_PARENT_QDELETING, .proc/qdel, src) + + // Clip message + var/maxlen = owned_by.prefs.max_chat_length + if (length_char(text) > maxlen) + text = copytext_char(text, 1, maxlen + 1) + "..." // BYOND index moment + + // Calculate target color if not already present + if (!target.chat_color || target.chat_color_name != target.name) + target.chat_color = colorize_string(target.name) + target.chat_color_darkened = colorize_string(target.name, 0.85, 0.85) + target.chat_color_name = target.name + + // Get rid of any URL schemes that might cause BYOND to automatically wrap something in an anchor tag + var/static/regex/url_scheme = new(@"[A-Za-z][A-Za-z0-9+-\.]*:\/\/", "g") + text = replacetext(text, url_scheme, "") + + // Reject whitespace + var/static/regex/whitespace = new(@"^\s*$") + if (whitespace.Find(text)) + qdel(src) + return + + // Non mobs speakers can be small + if (!ismob(target)) + extra_classes |= "small" + + // Append radio icon if from a virtual speaker + if (extra_classes.Find("virtual-speaker")) + var/image/r_icon = image('icons/UI_Icons/chat/chat_icons.dmi', icon_state = "radio") + text = "\icon[r_icon] " + text + + // We dim italicized text to make it more distinguishable from regular text + var/tgt_color = extra_classes.Find("italics") ? target.chat_color_darkened : target.chat_color + + // Approximate text height + // Note we have to replace HTML encoded metacharacters otherwise MeasureText will return a zero height + // BYOND Bug #2563917 + // Construct text + var/static/regex/html_metachars = new(@"&[A-Za-z]{1,7};", "g") + var/complete_text = "[text]" + var/mheight = WXH_TO_HEIGHT(owned_by.MeasureText(replacetext(complete_text, html_metachars, "m"), null, CHAT_MESSAGE_WIDTH)) + approx_lines = max(1, mheight / CHAT_MESSAGE_APPROX_LHEIGHT) + + // Translate any existing messages upwards, apply exponential decay factors to timers + message_loc = target + if (owned_by.seen_messages) + var/idx = 1 + var/combined_height = approx_lines + for(var/msg in owned_by.seen_messages[message_loc]) + var/datum/chatmessage/m = msg + animate(m.message, pixel_y = m.message.pixel_y + mheight, time = CHAT_MESSAGE_SPAWN_TIME) + combined_height += m.approx_lines + var/sched_remaining = m.scheduled_destruction - world.time + if (sched_remaining > CHAT_MESSAGE_SPAWN_TIME) + var/remaining_time = (sched_remaining) * (CHAT_MESSAGE_EXP_DECAY ** idx++) * (CHAT_MESSAGE_HEIGHT_DECAY ** combined_height) + m.scheduled_destruction = world.time + remaining_time + addtimer(CALLBACK(m, .proc/end_of_life), remaining_time, TIMER_UNIQUE|TIMER_OVERRIDE) + + // Build message image + message = image(loc = message_loc, layer = CHAT_LAYER) + message.plane = GAME_PLANE + message.appearance_flags = APPEARANCE_UI_IGNORE_ALPHA | KEEP_APART + message.alpha = 0 + message.pixel_y = owner.bound_height * 0.95 + message.maptext_width = CHAT_MESSAGE_WIDTH + message.maptext_height = mheight + message.maptext_x = (CHAT_MESSAGE_WIDTH - owner.bound_width) * -0.5 + message.maptext = complete_text + + // View the message + LAZYADDASSOC(owned_by.seen_messages, message_loc, src) + owned_by.images |= message + animate(message, alpha = 255, time = CHAT_MESSAGE_SPAWN_TIME) + + // Prepare for destruction + scheduled_destruction = world.time + (lifespan - CHAT_MESSAGE_EOL_FADE) + addtimer(CALLBACK(src, .proc/end_of_life), lifespan - CHAT_MESSAGE_EOL_FADE, TIMER_UNIQUE|TIMER_OVERRIDE) + +/** + * Applies final animations to overlay CHAT_MESSAGE_EOL_FADE deciseconds prior to message deletion + */ +/datum/chatmessage/proc/end_of_life(fadetime = CHAT_MESSAGE_EOL_FADE) + animate(message, alpha = 0, time = fadetime, flags = ANIMATION_PARALLEL) + QDEL_IN(src, fadetime) + +/** + * Creates a message overlay at a defined location for a given speaker + * + * Arguments: + * * speaker - The atom who is saying this message + * * message_language - The language that the message is said in + * * raw_message - The text content of the message + * * spans - Additional classes to be added to the message + * * message_mode - Bitflags relating to the mode of the message + */ +/mob/proc/create_chat_message(atom/movable/speaker, datum/language/message_language, raw_message, list/spans, message_mode) + // Ensure the list we are using, if present, is a copy so we don't modify the list provided to us + spans = spans?.Copy() + + // Check for virtual speakers (aka hearing a message through a radio) + var/atom/movable/originalSpeaker = speaker + if (istype(speaker, /atom/movable/virtualspeaker)) + var/atom/movable/virtualspeaker/v = speaker + speaker = v.source + spans |= "virtual-speaker" + + // Ignore virtual speaker (most often radio messages) from ourself + if (originalSpeaker != src && speaker == src) + return + + // Display visual above source + new /datum/chatmessage(lang_treat(speaker, message_language, raw_message, spans, null, TRUE), speaker, src, spans) + + +// Tweak these defines to change the available color ranges +#define CM_COLOR_SAT_MIN 0.6 +#define CM_COLOR_SAT_MAX 0.7 +#define CM_COLOR_LUM_MIN 0.65 +#define CM_COLOR_LUM_MAX 0.75 + +/** + * Gets a color for a name, will return the same color for a given string consistently within a round.atom + * + * Note that this proc aims to produce pastel-ish colors using the HSL colorspace. These seem to be favorable for displaying on the map. + * + * Arguments: + * * name - The name to generate a color for + * * sat_shift - A value between 0 and 1 that will be multiplied against the saturation + * * lum_shift - A value between 0 and 1 that will be multiplied against the luminescence + */ +/datum/chatmessage/proc/colorize_string(name, sat_shift = 1, lum_shift = 1) + // seed to help randomness + var/static/rseed = rand(1,26) + + // get hsl using the selected 6 characters of the md5 hash + var/hash = copytext(md5(name + GLOB.round_id), rseed, rseed + 6) + var/h = hex2num(copytext(hash, 1, 3)) * (360 / 255) + var/s = (hex2num(copytext(hash, 3, 5)) >> 2) * ((CM_COLOR_SAT_MAX - CM_COLOR_SAT_MIN) / 63) + CM_COLOR_SAT_MIN + var/l = (hex2num(copytext(hash, 5, 7)) >> 2) * ((CM_COLOR_LUM_MAX - CM_COLOR_LUM_MIN) / 63) + CM_COLOR_LUM_MIN + + // adjust for shifts + s *= clamp(sat_shift, 0, 1) + l *= clamp(lum_shift, 0, 1) + + // convert to rgb + var/h_int = round(h/60) // mapping each section of H to 60 degree sections + var/c = (1 - abs(2 * l - 1)) * s + var/x = c * (1 - abs((h / 60) % 2 - 1)) + var/m = l - c * 0.5 + x = (x + m) * 255 + c = (c + m) * 255 + m *= 255 + switch(h_int) + if(0) + return "#[num2hex(c, 2)][num2hex(x, 2)][num2hex(m, 2)]" + if(1) + return "#[num2hex(x, 2)][num2hex(c, 2)][num2hex(m, 2)]" + if(2) + return "#[num2hex(m, 2)][num2hex(c, 2)][num2hex(x, 2)]" + if(3) + return "#[num2hex(m, 2)][num2hex(x, 2)][num2hex(c, 2)]" + if(4) + return "#[num2hex(x, 2)][num2hex(m, 2)][num2hex(c, 2)]" + if(5) + return "#[num2hex(c, 2)][num2hex(m, 2)][num2hex(x, 2)]" diff --git a/code/game/atoms.dm b/code/game/atoms.dm index afa8cfed3b..dbb6864028 100644 --- a/code/game/atoms.dm +++ b/code/game/atoms.dm @@ -50,6 +50,13 @@ var/list/blood_DNA var/list/suit_fibers + /// Last name used to calculate a color for the chatmessage overlays + var/chat_color_name + /// Last color calculated for the the chatmessage overlays + var/chat_color + /// A luminescence-shifted value of the last color calculated for chatmessage overlays + var/chat_color_darkened + /atom/New(loc, ...) //atom creation method that preloads variables at creation if(GLOB.use_preloader && (src.type == GLOB._preloader.target_path))//in case the instanciated atom is creating other atoms in New() diff --git a/code/game/say.dm b/code/game/say.dm index 85ae9f0681..5fa5a2b35d 100644 --- a/code/game/say.dm +++ b/code/game/say.dm @@ -96,21 +96,26 @@ GLOBAL_LIST_INIT(freqtospan, list( return "[say_mod(input, message_mode)][spanned ? ", \"[spanned]\"" : ""]" // Citadel edit [spanned ? ", \"[spanned]\"" : ""]" -/atom/movable/proc/lang_treat(atom/movable/speaker, datum/language/language, raw_message, list/spans, message_mode) +/// Quirky citadel proc for our custom sayverbs to strip the verb out. Snowflakey as hell, say rewrite 3.0 when? +/atom/movable/proc/quoteless_say_quote(input, list/spans = list(speech_span), message_mode) + var/pos = findtext(input, "*") + return pos? copytext(input, pos + 1) : input + +/atom/movable/proc/lang_treat(atom/movable/speaker, datum/language/language, raw_message, list/spans, message_mode, no_quote = FALSE) if(has_language(language)) var/atom/movable/AM = speaker.GetSource() if(AM) //Basically means "if the speaker is virtual" - return AM.say_quote(raw_message, spans, message_mode) + return no_quote ? AM.quoteless_say_quote(raw_message, spans, message_mode) : AM.say_quote(raw_message, spans, message_mode) else - return speaker.say_quote(raw_message, spans, message_mode) + return no_quote ? speaker.quoteless_say_quote(raw_message, spans, message_mode) : speaker.say_quote(raw_message, spans, message_mode) else if(language) var/atom/movable/AM = speaker.GetSource() var/datum/language/D = GLOB.language_datum_instances[language] raw_message = D.scramble(raw_message) if(AM) - return AM.say_quote(raw_message, spans, message_mode) + return no_quote ? AM.quoteless_say_quote(raw_message, spans, message_mode) : AM.say_quote(raw_message, spans, message_mode) else - return speaker.say_quote(raw_message, spans, message_mode) + return no_quote ? speaker.quoteless_say_quote(raw_message, spans, message_mode) : speaker.say_quote(raw_message, spans, message_mode) else return "makes a strange sound." diff --git a/code/modules/antagonists/disease/disease_mob.dm b/code/modules/antagonists/disease/disease_mob.dm index a20a9cef85..e876beb5dc 100644 --- a/code/modules/antagonists/disease/disease_mob.dm +++ b/code/modules/antagonists/disease/disease_mob.dm @@ -128,6 +128,9 @@ the new instance inside the host to be updated to the template's stats. link = FOLLOW_LINK(src, to_follow) else link = "" + // Create map text prior to modifying message for goonchat + if (client?.prefs.chat_on_map && (client.prefs.see_chat_non_mob || ismob(speaker))) + create_chat_message(speaker, message_language, raw_message, spans, message_mode) // Recompose the message, because it's scrambled by default message = compose_message(speaker, message_language, raw_message, radio_freq, spans, message_mode, FALSE, source) to_chat(src, "[link] [message]") diff --git a/code/modules/client/client_defines.dm b/code/modules/client/client_defines.dm index 1deb702de4..f865cfddbb 100644 --- a/code/modules/client/client_defines.dm +++ b/code/modules/client/client_defines.dm @@ -84,3 +84,6 @@ var/next_keysend_reset = 0 var/next_keysend_trip_reset = 0 var/keysend_tripped = FALSE + + /// Messages currently seen by this client + var/list/seen_messages diff --git a/code/modules/client/preferences.dm b/code/modules/client/preferences.dm index 37ae8b3b09..abe43e38ae 100644 --- a/code/modules/client/preferences.dm +++ b/code/modules/client/preferences.dm @@ -48,6 +48,9 @@ GLOBAL_LIST_EMPTY(preferences_datums) var/UI_style = null var/buttons_locked = FALSE var/hotkeys = FALSE + var/chat_on_map = TRUE + var/max_chat_length = CHAT_MESSAGE_MAX_LENGTH + var/see_chat_non_mob = TRUE var/tgui_fancy = TRUE var/tgui_lock = TRUE var/windowflashing = TRUE @@ -824,6 +827,9 @@ GLOBAL_LIST_EMPTY(preferences_datums) dat += "UI Style: [UI_style]
" dat += "tgui Monitors: [(tgui_lock) ? "Primary" : "All"]
" dat += "tgui Style: [(tgui_fancy) ? "Fancy" : "No Frills"]
" + dat += "Show Runechat Chat Bubbles: [chat_on_map ? "Enabled" : "Disabled"]
" + dat += "Runechat message char limit: [max_chat_length]
" + dat += "See Runechat for non-mobs: [see_chat_non_mob ? "Enabled" : "Disabled"]
" dat += "
" dat += "Action Buttons: [(buttons_locked) ? "Locked In Place" : "Unlocked"]
" dat += "Keybindings: [(hotkeys) ? "Hotkeys" : "Default"]
" @@ -2134,6 +2140,10 @@ GLOBAL_LIST_EMPTY(preferences_datums) var/pickedPDASkin = input(user, "Choose your PDA reskin.", "Character Preference", pda_skin) as null|anything in GLOB.pda_reskins if(pickedPDASkin) pda_skin = pickedPDASkin + if ("max_chat_length") + var/desiredlength = input(user, "Choose the max character length of shown Runechat messages. Valid range is 1 to [CHAT_MESSAGE_MAX_LENGTH] (default: [initial(max_chat_length)]))", "Character Preference", max_chat_length) as null|num + if (!isnull(desiredlength)) + max_chat_length = clamp(desiredlength, 1, CHAT_MESSAGE_MAX_LENGTH) if("hud_toggle_color") var/new_toggle_color = input(user, "Choose your HUD toggle flash color:", "Game Preference",hud_toggle_color) as color|null @@ -2236,6 +2246,10 @@ GLOBAL_LIST_EMPTY(preferences_datums) winset(user, null, "input.focus=true input.background-color=[COLOR_INPUT_ENABLED] mainwindow.macro=default") else winset(user, null, "input.focus=true input.background-color=[COLOR_INPUT_ENABLED] mainwindow.macro=old_default") + if("chat_on_map") + chat_on_map = !chat_on_map + if("see_chat_non_mob") + see_chat_non_mob = !see_chat_non_mob if("action_buttons") buttons_locked = !buttons_locked if("tgui_fancy") diff --git a/code/modules/client/preferences_savefile.dm b/code/modules/client/preferences_savefile.dm index 715829b56e..29733acb8c 100644 --- a/code/modules/client/preferences_savefile.dm +++ b/code/modules/client/preferences_savefile.dm @@ -162,7 +162,7 @@ SAVEFILE UPDATING/VERSIONING - 'Simplified', or rather, more coder-friendly ~Car if(malformed_hockeys[hockey]) features["cock_shape"] = malformed_hockeys[hockey] features["cock_taur"] = TRUE - + if(current_version < 29) var/digestable var/devourable @@ -211,6 +211,9 @@ SAVEFILE UPDATING/VERSIONING - 'Simplified', or rather, more coder-friendly ~Car S["lastchangelog"] >> lastchangelog S["UI_style"] >> UI_style S["hotkeys"] >> hotkeys + S["chat_on_map"] >> chat_on_map + S["max_chat_length"] >> max_chat_length + S["see_chat_non_mob"] >> see_chat_non_mob S["tgui_fancy"] >> tgui_fancy S["tgui_lock"] >> tgui_lock S["buttons_locked"] >> buttons_locked @@ -266,6 +269,9 @@ SAVEFILE UPDATING/VERSIONING - 'Simplified', or rather, more coder-friendly ~Car lastchangelog = sanitize_text(lastchangelog, initial(lastchangelog)) UI_style = sanitize_inlist(UI_style, GLOB.available_ui_styles, GLOB.available_ui_styles[1]) hotkeys = sanitize_integer(hotkeys, 0, 1, initial(hotkeys)) + chat_on_map = sanitize_integer(chat_on_map, 0, 1, initial(chat_on_map)) + max_chat_length = sanitize_integer(max_chat_length, 1, CHAT_MESSAGE_MAX_LENGTH, initial(max_chat_length)) + see_chat_non_mob = sanitize_integer(see_chat_non_mob, 0, 1, initial(see_chat_non_mob)) tgui_fancy = sanitize_integer(tgui_fancy, 0, 1, initial(tgui_fancy)) tgui_lock = sanitize_integer(tgui_lock, 0, 1, initial(tgui_lock)) buttons_locked = sanitize_integer(buttons_locked, 0, 1, initial(buttons_locked)) @@ -319,6 +325,9 @@ SAVEFILE UPDATING/VERSIONING - 'Simplified', or rather, more coder-friendly ~Car WRITE_FILE(S["lastchangelog"], lastchangelog) WRITE_FILE(S["UI_style"], UI_style) WRITE_FILE(S["hotkeys"], hotkeys) + WRITE_FILE(S["chat_on_map"], chat_on_map) + WRITE_FILE(S["max_chat_length"], max_chat_length) + WRITE_FILE(S["see_chat_non_mob"], see_chat_non_mob) WRITE_FILE(S["tgui_fancy"], tgui_fancy) WRITE_FILE(S["tgui_lock"], tgui_lock) WRITE_FILE(S["buttons_locked"], buttons_locked) diff --git a/code/modules/flufftext/Hallucination.dm b/code/modules/flufftext/Hallucination.dm index ea475b28d6..0c2cbc0c67 100644 --- a/code/modules/flufftext/Hallucination.dm +++ b/code/modules/flufftext/Hallucination.dm @@ -701,6 +701,9 @@ GLOBAL_LIST_INIT(hallucination_list, list( target.client.images |= speech_overlay sleep(30) target.client.images.Remove(speech_overlay) + var/spans = list(person.speech_span) + if (target.client?.prefs.chat_on_map) + target.create_chat_message(person, understood_language, chosen, spans, 0) else // Radio talk var/chosen = specific_message if(!chosen) diff --git a/code/modules/mob/dead/observer/say.dm b/code/modules/mob/dead/observer/say.dm index 8712f39531..c5c7350b47 100644 --- a/code/modules/mob/dead/observer/say.dm +++ b/code/modules/mob/dead/observer/say.dm @@ -33,6 +33,9 @@ else to_follow = V.source var/link = FOLLOW_LINK(src, to_follow) + // Create map text prior to modifying message for goonchat + if (client?.prefs.chat_on_map && (client.prefs.see_chat_non_mob || ismob(speaker))) + create_chat_message(speaker, message_language, raw_message, spans, message_mode) // Recompose the message, because it's scrambled by default message = compose_message(speaker, message_language, raw_message, radio_freq, spans, message_mode, FALSE, source) to_chat(src, "[link] [message]") diff --git a/code/modules/mob/living/say.dm b/code/modules/mob/living/say.dm index f90b285d2d..a772f4a278 100644 --- a/code/modules/mob/living/say.dm +++ b/code/modules/mob/living/say.dm @@ -237,6 +237,10 @@ GLOBAL_LIST_INIT(department_radio_keys, list( deaf_message = "You can't hear yourself!" deaf_type = 2 // Since you should be able to hear yourself without looking + // Create map text prior to modifying message for goonchat + if (client?.prefs.chat_on_map && stat != UNCONSCIOUS && (client.prefs.see_chat_non_mob || ismob(speaker)) && can_hear()) + create_chat_message(speaker, message_language, raw_message, spans, message_mode) + // Recompose message for AI hrefs, language incomprehension. message = compose_message(speaker, message_language, raw_message, radio_freq, spans, message_mode, FALSE, source) @@ -289,7 +293,7 @@ GLOBAL_LIST_INIT(department_radio_keys, list( //speech bubble var/list/speech_bubble_recipients = list() for(var/mob/M in listening) - if(M.client) + if(M.client && !M.client.prefs.chat_on_map) speech_bubble_recipients.Add(M.client) var/image/I = image('icons/mob/talk.dmi', src, "[bubble_type][say_test(message)]", FLY_LAYER) I.appearance_flags = APPEARANCE_UI_IGNORE_ALPHA diff --git a/code/modules/mob/living/silicon/ai/ai.dm b/code/modules/mob/living/silicon/ai/ai.dm index e959144ed5..dff5584617 100644 --- a/code/modules/mob/living/silicon/ai/ai.dm +++ b/code/modules/mob/living/silicon/ai/ai.dm @@ -822,21 +822,21 @@ return get_dist(src, A) <= max(viewscale[1]*0.5,viewscale[2]*0.5) /mob/living/silicon/ai/proc/relay_speech(message, atom/movable/speaker, datum/language/message_language, raw_message, radio_freq, list/spans, message_mode) - raw_message = lang_treat(speaker, message_language, raw_message, spans, message_mode) + var/treated_message = lang_treat(speaker, message_language, raw_message, spans, message_mode) var/start = "Relayed Speech: " var/namepart = "[speaker.GetVoice()][speaker.get_alt_name()]" var/hrefpart = "" - var/jobpart + var/jobpart = "Unknown" if (iscarbon(speaker)) var/mob/living/carbon/S = speaker if(S.job) jobpart = "[S.job]" - else - jobpart = "Unknown" - var/rendered = "[start][hrefpart][namepart] ([jobpart]) [raw_message]" + var/rendered = "[start][hrefpart][namepart] ([jobpart]) [treated_message]" + if (client?.prefs.chat_on_map && (client.prefs.see_chat_non_mob || ismob(speaker))) + create_chat_message(speaker, message_language, raw_message, spans, message_mode) show_message(rendered, MSG_AUDIBLE) /mob/living/silicon/ai/fully_replace_character_name(oldname,newname) diff --git a/icons/UI_Icons/chat/chat_icons.dmi b/icons/UI_Icons/chat/chat_icons.dmi new file mode 100644 index 0000000000000000000000000000000000000000..7040b3966f005388c571bfe40e4cfe6973185e23 GIT binary patch literal 237 zcmeAS@N?(olHy`uVBq!ia0vp^oFL4^3?%3Nf7cA+1o(uw9yo9S$o#XF@qWpr*FY9y zNswPKgTu2MX+Ta!RY*jMOKNd)QD#9&W_}(6L&conu!5q}?_YuoK7M_o<*loA?#%h% z4WR}XjUPPHIq#!+lA%avr-gBl@nvJL18*KpIx;Cl!F#2Kp{j9wXScEH<`ohr%%42+ z(e^sy+qz+@Xw2W318qzUyiSsbg#1tb0op0&>Eal|F*7-#BrzeOJ0)QPS8>7#FXsdS ec@@4X> Date: Sat, 2 May 2020 21:53:44 -0400 Subject: [PATCH 35/41] Oh god please let this be the final boxstation update (#12089) --- _maps/map_files/BoxStation/BoxStation.dmm | 123 ++++++++++++---------- 1 file changed, 66 insertions(+), 57 deletions(-) diff --git a/_maps/map_files/BoxStation/BoxStation.dmm b/_maps/map_files/BoxStation/BoxStation.dmm index 9c2a1a2883..75efefd8e1 100644 --- a/_maps/map_files/BoxStation/BoxStation.dmm +++ b/_maps/map_files/BoxStation/BoxStation.dmm @@ -3098,7 +3098,9 @@ /turf/open/floor/plating, /area/maintenance/fore/secondary) "agd" = ( -/obj/machinery/atmospherics/pipe/manifold4w/general/visible, +/obj/machinery/atmospherics/pipe/manifold/general/visible{ + dir = 8 + }, /turf/open/floor/plasteel, /area/engine/atmos) "age" = ( @@ -6473,16 +6475,6 @@ }, /turf/open/floor/plasteel/white, /area/science/xenobiology) -"alX" = ( -/obj/machinery/button/door{ - id = "atmos"; - name = "Atmospherics Lockdown"; - pixel_x = 24; - pixel_y = 4; - req_access_txt = "24" - }, -/turf/open/floor/plasteel, -/area/engine/atmos) "alY" = ( /obj/structure/cable{ icon_state = "1-2" @@ -39435,7 +39427,10 @@ /turf/open/floor/plasteel, /area/engine/atmos) "bPe" = ( -/obj/machinery/atmospherics/pipe/manifold/yellow/visible, +/obj/machinery/atmospherics/components/binary/pump{ + dir = 8; + name = "Pure to Ports" + }, /turf/open/floor/plasteel, /area/engine/atmos) "bPf" = ( @@ -39453,10 +39448,10 @@ /area/engine/atmos) "bPh" = ( /obj/machinery/atmospherics/pipe/simple/cyan/visible, -/obj/machinery/atmospherics/pipe/simple/yellow/visible{ +/obj/effect/spawner/structure/window/reinforced, +/obj/machinery/atmospherics/pipe/layer_manifold{ dir = 4 }, -/obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/engine/atmos) "bPi" = ( @@ -40719,7 +40714,9 @@ /area/engine/atmos) "bSM" = ( /obj/effect/spawner/structure/window/reinforced, -/obj/machinery/atmospherics/pipe/simple/general/visible, +/obj/machinery/atmospherics/pipe/simple/general/visible{ + dir = 5 + }, /turf/open/floor/plating, /area/engine/atmos) "bSP" = ( @@ -41475,13 +41472,16 @@ /turf/open/floor/plasteel, /area/engine/atmos) "bUN" = ( -/obj/machinery/atmospherics/pipe/manifold/general/visible, +/obj/machinery/portable_atmospherics/canister, +/obj/machinery/atmospherics/components/unary/portables_connector/visible{ + dir = 1 + }, /turf/open/floor/plasteel, /area/engine/atmos) "bUO" = ( -/obj/machinery/atmospherics/components/binary/pump{ - dir = 8; - name = "Ports to External" +/obj/machinery/portable_atmospherics/canister, +/obj/machinery/atmospherics/components/unary/portables_connector/visible{ + dir = 1 }, /turf/open/floor/plasteel, /area/engine/atmos) @@ -41912,8 +41912,9 @@ /turf/open/floor/plasteel, /area/engine/atmos) "bVZ" = ( -/obj/machinery/atmospherics/pipe/manifold/general/visible{ - dir = 8 +/obj/machinery/atmospherics/components/binary/pump{ + dir = 8; + name = "Ports to External" }, /turf/open/floor/plasteel, /area/engine/atmos) @@ -46658,8 +46659,8 @@ /turf/closed/wall/r_wall, /area/engine/atmos) "ciu" = ( -/obj/machinery/atmospherics/pipe/simple/yellow/visible, /obj/effect/spawner/structure/window/reinforced, +/obj/machinery/atmospherics/pipe/layer_manifold, /turf/open/floor/plating, /area/engine/atmos) "civ" = ( @@ -46703,8 +46704,7 @@ /obj/structure/reagent_dispensers/watertank, /obj/item/extinguisher, /obj/machinery/atmospherics/components/unary/vent_pump/on{ - dir = 4; - pixel_y = 0 + dir = 4 }, /turf/open/floor/plasteel, /area/maintenance/disposal/incinerator) @@ -53525,8 +53525,9 @@ /turf/open/floor/plasteel, /area/security/brig) "daq" = ( -/obj/machinery/atmospherics/components/unary/portables_connector/visible, -/obj/machinery/portable_atmospherics/canister, +/obj/machinery/atmospherics/pipe/manifold/general/visible{ + dir = 1 + }, /turf/open/floor/plasteel, /area/engine/atmos) "daI" = ( @@ -53948,9 +53949,7 @@ /turf/open/floor/plating, /area/security/prison) "eqq" = ( -/obj/machinery/atmospherics/pipe/manifold/orange/visible{ - dir = 4 - }, +/obj/machinery/atmospherics/pipe/manifold/orange/visible, /turf/open/floor/plasteel, /area/engine/atmos) "eqA" = ( @@ -55365,7 +55364,7 @@ "ivJ" = ( /obj/machinery/atmospherics/pipe/simple/cyan/visible, /obj/effect/spawner/structure/window/reinforced, -/obj/machinery/atmospherics/pipe/simple/purple/visible{ +/obj/machinery/atmospherics/pipe/layer_manifold{ dir = 4 }, /turf/open/floor/plating, @@ -55418,7 +55417,7 @@ /obj/machinery/atmospherics/pipe/simple/cyan/visible{ dir = 4 }, -/obj/machinery/atmospherics/pipe/simple/yellow/visible, +/obj/machinery/atmospherics/pipe/layer_manifold, /turf/open/floor/plating, /area/engine/atmos) "iLJ" = ( @@ -55709,11 +55708,7 @@ /turf/closed/wall/r_wall, /area/engine/gravity_generator) "jBQ" = ( -/obj/machinery/atmospherics/components/binary/pump{ - dir = 8; - name = "Pure to Ports" - }, -/obj/machinery/atmospherics/pipe/simple/general/visible, +/obj/machinery/atmospherics/pipe/manifold4w/general/visible, /turf/open/floor/plasteel, /area/engine/atmos) "jCq" = ( @@ -56729,6 +56724,10 @@ }, /turf/open/floor/wood, /area/crew_quarters/bar) +"moS" = ( +/obj/machinery/atmospherics/pipe/manifold4w/yellow/visible, +/turf/open/floor/plasteel, +/area/engine/atmos) "mps" = ( /obj/effect/turf_decal/tile/neutral{ dir = 1 @@ -57774,7 +57773,9 @@ /area/crew_quarters/fitness) "pCj" = ( /obj/effect/spawner/structure/window/reinforced, -/obj/machinery/atmospherics/pipe/simple/yellow/visible, +/obj/machinery/atmospherics/pipe/simple/yellow/visible{ + dir = 5 + }, /turf/open/floor/plating, /area/engine/atmos) "pDe" = ( @@ -57916,10 +57917,11 @@ /turf/open/floor/plasteel, /area/security/processing) "pUP" = ( -/obj/machinery/atmospherics/pipe/simple/orange/visible{ - dir = 5 +/obj/effect/spawner/structure/window/reinforced, +/obj/machinery/atmospherics/pipe/manifold/general/visible{ + dir = 4 }, -/turf/open/floor/plasteel, +/turf/open/floor/plating, /area/engine/atmos) "qaY" = ( /obj/structure/table/reinforced, @@ -58470,6 +58472,13 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/maintenance/fore) +"rTo" = ( +/obj/machinery/atmospherics/components/binary/pump{ + dir = 8; + name = "External to Pumps" + }, +/turf/open/floor/plasteel, +/area/engine/atmos) "rTu" = ( /obj/structure/cable{ icon_state = "4-8" @@ -60035,18 +60044,18 @@ /turf/open/floor/plasteel/white, /area/science/circuit) "vPQ" = ( -/obj/machinery/atmospherics/components/binary/pump{ - dir = 8; - name = "External to Pumps" +/obj/effect/spawner/structure/window/reinforced, +/obj/machinery/atmospherics/pipe/simple/yellow/visible{ + dir = 10 }, -/turf/open/floor/plasteel, +/turf/open/floor/plating, /area/engine/atmos) "vQf" = ( /obj/structure/cable{ icon_state = "1-2" }, /obj/machinery/atmospherics/pipe/simple/cyan/visible, -/obj/machinery/atmospherics/components/binary/pump/on{ +/obj/machinery/atmospherics/components/binary/pump{ dir = 8; name = "Mix to External" }, @@ -93434,7 +93443,7 @@ bQp alk gAu eqq -pUP +bOd bOd bOd bOd @@ -93690,8 +93699,8 @@ bJF bVX bRA bTP +rTo bOd -vPQ bOd bOd bOd @@ -93948,7 +93957,7 @@ bMQ bRC rdl daq -bUN +bUO bOd bOd bOd @@ -94205,7 +94214,7 @@ cBF bRD rdl daq -bUN +bUO bOd bOd bOd @@ -94461,7 +94470,7 @@ bPc bQs cez ceA -bOd +daq bUO bOd bOd @@ -94719,7 +94728,7 @@ bQv bRF bSM bVZ -bUN +bOd bOd bOd bOd @@ -94974,7 +94983,7 @@ bOc udT omk nTU -bSM +pUP jBQ agd cCB @@ -95488,8 +95497,8 @@ oVN bPf bQx bRH -bMQ -bTU +vPQ +moS kGv bUS cCE @@ -96003,15 +96012,15 @@ ivJ bQy bRI bSP -bPh +ivJ jzM bRI cCF -bPh +ivJ bQy bRI bQy -bPh +ivJ bQy bRI bSP From 5f14ae28a12b02502922d073a064be762385becc Mon Sep 17 00:00:00 2001 From: Timothy Teakettle <59849408+timothyteakettle@users.noreply.github.com> Date: Sun, 3 May 2020 23:06:54 +0100 Subject: [PATCH 36/41] food quality with sliced foods yay --- code/modules/food_and_drinks/food/snacks.dm | 1 + code/modules/food_and_drinks/food/snacks/meat.dm | 1 + 2 files changed, 2 insertions(+) diff --git a/code/modules/food_and_drinks/food/snacks.dm b/code/modules/food_and_drinks/food/snacks.dm index a485f0c864..ccac1d4a77 100644 --- a/code/modules/food_and_drinks/food/snacks.dm +++ b/code/modules/food_and_drinks/food/snacks.dm @@ -260,6 +260,7 @@ All foods are distributed among various categories. Use common sense. slice.desc = "[desc]" if(foodtype != initial(foodtype)) slice.foodtype = foodtype //if something happens that overrode our food type, make sure the slice carries that over + slice.adjust_food_quality(food_quality) /obj/item/reagent_containers/food/snacks/proc/generate_trash(atom/location) if(trash) diff --git a/code/modules/food_and_drinks/food/snacks/meat.dm b/code/modules/food_and_drinks/food/snacks/meat.dm index d44f859823..7f75a93464 100644 --- a/code/modules/food_and_drinks/food/snacks/meat.dm +++ b/code/modules/food_and_drinks/food/snacks/meat.dm @@ -47,6 +47,7 @@ slice.name = "raw [subjectname] cutlet" else if(subjectjob) slice.name = "raw [subjectjob] cutlet" + slice.adjust_food_quality(food_quality) /obj/item/reagent_containers/food/snacks/meat/slab/human/initialize_cooked_food(obj/item/reagent_containers/food/snacks/meat/S, cooking_efficiency) ..() From 87858e8f60bb9ecb5255d9456912b71d741e8bf6 Mon Sep 17 00:00:00 2001 From: kevinz000 <2003111+kevinz000@users.noreply.github.com> Date: Sun, 3 May 2020 19:59:04 -0700 Subject: [PATCH 37/41] Update sentience.dm (#12101) --- code/modules/events/sentience.dm | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/code/modules/events/sentience.dm b/code/modules/events/sentience.dm index 8fe68f509b..5cb6c02c84 100644 --- a/code/modules/events/sentience.dm +++ b/code/modules/events/sentience.dm @@ -9,6 +9,8 @@ role_name = "random animal" var/animals = 1 var/one = "one" + /// Blacklisted mob_biotypes - Hey can we like, not have player controlled megafauna? + var/blacklisted_biotypes = MOB_EPIC fakeable = TRUE /datum/round_event/ghost_role/sentience/announce(fake) @@ -33,6 +35,8 @@ var/turf/T = get_turf(L) if(!T || !is_station_level(T.z)) continue + if(L.mob_biotypes & blacklisted_biotypes) //hey can you don't + continue if(!(L in GLOB.player_list) && !L.mind) potential += L From bb2942d0b809a967dae2aa8f610d1ebbc4ab44e5 Mon Sep 17 00:00:00 2001 From: Putnam3145 Date: Sun, 3 May 2020 20:05:13 -0700 Subject: [PATCH 38/41] Fixes a gibber runtime. (#12103) --- code/modules/food_and_drinks/kitchen_machinery/gibber.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/modules/food_and_drinks/kitchen_machinery/gibber.dm b/code/modules/food_and_drinks/kitchen_machinery/gibber.dm index c94aba95b4..dcea93f06f 100644 --- a/code/modules/food_and_drinks/kitchen_machinery/gibber.dm +++ b/code/modules/food_and_drinks/kitchen_machinery/gibber.dm @@ -184,9 +184,9 @@ for (var/i=1 to meat_produced) var/obj/item/reagent_containers/food/snacks/meat/slab/newmeat = new typeofmeat - newmeat.adjust_food_quality(meat_quality) newmeat.name = "[sourcename] [newmeat.name]" if(istype(newmeat)) + newmeat.adjust_food_quality(meat_quality) newmeat.subjectname = sourcename newmeat.reagents.add_reagent (/datum/reagent/consumable/nutriment, sourcenutriment / meat_produced) // Thehehe. Fat guys go first if(sourcejob) From 2ce118f85175a64e9ddaaf5a42010bcfd7cc0017 Mon Sep 17 00:00:00 2001 From: MrJWhit <48370570+MrJWhit@users.noreply.github.com> Date: Sun, 3 May 2020 23:05:27 -0400 Subject: [PATCH 39/41] MetaStation atmos update (#12099) * Finishes up meta station atmos * Update MetaStation.dmm --- _maps/map_files/MetaStation/MetaStation.dmm | 248 ++++++++++++++------ 1 file changed, 179 insertions(+), 69 deletions(-) diff --git a/_maps/map_files/MetaStation/MetaStation.dmm b/_maps/map_files/MetaStation/MetaStation.dmm index 75af28d174..9d36d26f6f 100644 --- a/_maps/map_files/MetaStation/MetaStation.dmm +++ b/_maps/map_files/MetaStation/MetaStation.dmm @@ -39336,6 +39336,9 @@ /obj/machinery/atmospherics/pipe/simple/orange/visible{ dir = 4 }, +/obj/effect/turf_decal/stripes/line{ + dir = 6 + }, /turf/open/floor/plasteel, /area/engine/atmos) "byY" = ( @@ -40124,6 +40127,7 @@ /obj/structure/cable/yellow{ icon_state = "2-4" }, +/obj/machinery/light/small, /turf/open/floor/plasteel, /area/engine/atmos) "bAI" = ( @@ -41633,7 +41637,7 @@ /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 5 }, -/turf/closed/wall/r_wall, +/turf/closed/wall, /area/engine/atmos) "bDS" = ( /obj/effect/turf_decal/tile/yellow{ @@ -42650,7 +42654,7 @@ /area/engine/atmos) "bFI" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden, -/turf/closed/wall, +/turf/closed/wall/r_wall, /area/engine/atmos) "bFJ" = ( /obj/structure/disposalpipe/segment{ @@ -42659,7 +42663,7 @@ /obj/machinery/atmospherics/components/unary/vent_pump/on{ dir = 1 }, -/turf/open/floor/plasteel/dark/corner, +/turf/open/floor/plasteel, /area/engine/atmos) "bFM" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/visible{ @@ -42702,15 +42706,13 @@ /turf/open/floor/plasteel, /area/engine/atmos) "bFR" = ( -/obj/machinery/atmospherics/pipe/simple/purple/visible{ - dir = 6 +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 4 }, -/turf/open/floor/plasteel, +/turf/closed/wall, /area/engine/atmos) "bFS" = ( -/obj/machinery/atmospherics/pipe/simple/purple/visible{ - dir = 9 - }, +/obj/machinery/atmospherics/pipe/simple/purple/visible, /turf/open/floor/plasteel, /area/engine/atmos) "bFT" = ( @@ -43345,9 +43347,8 @@ /area/engine/atmos) "bHx" = ( /obj/effect/spawner/structure/window/reinforced, -/obj/machinery/atmospherics/pipe/simple/purple/visible, -/obj/machinery/atmospherics/pipe/simple/cyan/visible{ - dir = 4 +/obj/machinery/atmospherics/pipe/manifold/cyan/visible{ + dir = 1 }, /turf/open/floor/plating, /area/engine/atmos) @@ -44017,7 +44018,7 @@ /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 5 }, -/turf/closed/wall/r_wall, +/turf/closed/wall, /area/engine/atmos) "bIP" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/visible, @@ -44047,27 +44048,29 @@ /turf/open/floor/plasteel, /area/engine/atmos) "bIT" = ( -/obj/machinery/atmospherics/pipe/manifold/cyan/visible{ - dir = 4 - }, /obj/machinery/meter, +/obj/machinery/atmospherics/pipe/simple/cyan/visible{ + dir = 9 + }, /turf/open/floor/plasteel, /area/engine/atmos) "bIU" = ( -/obj/machinery/atmospherics/pipe/simple/purple/visible, -/obj/machinery/meter, +/obj/machinery/atmospherics/components/binary/pump{ + name = "Air to Ports" + }, /turf/open/floor/plasteel, /area/engine/atmos) "bIV" = ( -/obj/machinery/atmospherics/pipe/simple/yellow/visible{ - dir = 6 +/obj/machinery/atmospherics/components/binary/pump{ + name = "Mix to Ports" }, -/obj/machinery/meter, /turf/open/floor/plasteel, /area/engine/atmos) "bIW" = ( -/obj/machinery/atmospherics/pipe/manifold/yellow/visible, -/turf/open/floor/plasteel, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 10 + }, +/turf/closed/wall, /area/engine/atmos) "bIX" = ( /obj/machinery/atmospherics/pipe/manifold/yellow/visible{ @@ -44786,8 +44789,12 @@ /turf/open/floor/plasteel, /area/storage/tcom) "bKu" = ( -/obj/effect/turf_decal/bot, -/turf/closed/wall/r_wall, +/obj/effect/spawner/structure/window/reinforced, +/obj/machinery/atmospherics/pipe/simple/cyan/visible{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/purple/visible, +/turf/open/floor/plating, /area/engine/atmos) "bKw" = ( /obj/structure/cable/yellow{ @@ -44800,7 +44807,7 @@ /obj/machinery/atmospherics/pipe/simple/orange/visible{ dir = 4 }, -/turf/closed/wall/r_wall, +/turf/closed/wall, /area/engine/atmos) "bKz" = ( /obj/machinery/atmospherics/pipe/simple/orange/visible{ @@ -44830,7 +44837,9 @@ /turf/open/floor/plasteel, /area/engine/atmos) "bKE" = ( -/obj/machinery/atmospherics/pipe/simple/yellow/visible, +/obj/machinery/atmospherics/pipe/manifold/yellow/visible{ + dir = 4 + }, /turf/open/floor/plasteel, /area/engine/atmos) "bKF" = ( @@ -45559,9 +45568,9 @@ /obj/machinery/atmospherics/pipe/simple/cyan/visible{ dir = 4 }, -/obj/machinery/atmospherics/components/binary/pump/on{ +/obj/machinery/atmospherics/components/binary/pump{ dir = 1; - name = "Mix to External" + name = "Port to External" }, /turf/open/floor/plasteel, /area/engine/atmos) @@ -45569,7 +45578,7 @@ /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 10 }, -/turf/closed/wall/r_wall, +/turf/closed/wall, /area/engine/atmos) "bMh" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ @@ -46436,7 +46445,12 @@ /obj/structure/cable/yellow{ icon_state = "1-2" }, -/obj/machinery/atmospherics/pipe/manifold/scrubbers/visible, +/obj/machinery/atmospherics/pipe/simple/scrubbers/visible{ + dir = 9 + }, +/obj/machinery/atmospherics/pipe/simple/dark/visible{ + dir = 6 + }, /turf/open/floor/plasteel, /area/engine/atmos) "bNR" = ( @@ -47128,6 +47142,7 @@ /obj/structure/cable/yellow{ icon_state = "1-2" }, +/obj/machinery/atmospherics/pipe/simple/dark/visible, /turf/open/floor/plasteel, /area/engine/atmos) "bPr" = ( @@ -50108,7 +50123,9 @@ }, /area/engine/atmos) "bVI" = ( -/obj/machinery/atmospherics/pipe/manifold/scrubbers/visible, +/obj/machinery/atmospherics/pipe/simple/scrubbers/visible{ + dir = 9 + }, /turf/open/floor/plasteel/dark/corner{ dir = 1 }, @@ -50860,6 +50877,9 @@ /obj/structure/cable/yellow{ icon_state = "1-8" }, +/obj/machinery/atmospherics/pipe/simple/dark/visible{ + dir = 9 + }, /turf/open/floor/plasteel, /area/engine/atmos) "bXq" = ( @@ -53689,9 +53709,7 @@ /obj/machinery/atmospherics/pipe/simple/green/visible{ dir = 4 }, -/obj/machinery/atmospherics/components/binary/pump{ - name = "Mix to Fuel Pipe" - }, +/obj/machinery/atmospherics/pipe/simple/dark/visible, /turf/open/floor/plasteel/dark, /area/engine/atmos) "ccP" = ( @@ -78788,11 +78806,10 @@ name = "Inner Pipe Access"; req_access_txt = "24" }, -/obj/machinery/atmospherics/components/binary/pump{ - dir = 4; - name = "Mix to Engine" - }, /obj/machinery/atmospherics/pipe/simple/yellow/visible, +/obj/machinery/atmospherics/pipe/simple/orange/visible{ + dir = 4 + }, /turf/open/floor/plasteel/dark, /area/engine/atmos) "dhj" = ( @@ -81294,6 +81311,15 @@ }, /turf/open/floor/plating, /area/quartermaster/storage) +"dLd" = ( +/obj/structure/cable/yellow{ + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/manifold/scrubbers/visible{ + dir = 8 + }, +/turf/open/floor/plasteel, +/area/engine/atmos) "dLK" = ( /obj/structure/cable/yellow{ icon_state = "4-8" @@ -81536,6 +81562,12 @@ /obj/item/integrated_circuit_printer, /turf/open/floor/plasteel/white, /area/science/circuit) +"gRX" = ( +/obj/machinery/atmospherics/pipe/simple/orange/visible{ + dir = 4 + }, +/turf/open/floor/plasteel, +/area/engine/atmos) "gXY" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 9 @@ -81605,6 +81637,13 @@ }, /turf/open/floor/plasteel/white, /area/science/lab) +"izM" = ( +/obj/machinery/atmospherics/components/binary/pump{ + dir = 8; + name = "Pure to Ports" + }, +/turf/open/floor/plasteel, +/area/engine/atmos) "iCn" = ( /obj/machinery/vr_sleeper, /turf/open/floor/plasteel, @@ -81613,6 +81652,13 @@ /obj/structure/table, /turf/open/floor/plating, /area/maintenance/port/aft) +"iRL" = ( +/obj/machinery/atmospherics/components/binary/pump{ + dir = 0; + name = "Mix to Engine" + }, +/turf/open/floor/plasteel, +/area/engine/atmos) "iSt" = ( /obj/machinery/door/airlock/grunge, /obj/structure/cable/yellow{ @@ -81677,6 +81723,15 @@ }, /turf/open/floor/plating, /area/maintenance/solars/port/aft) +"jAj" = ( +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/dark/visible{ + dir = 6 + }, +/turf/open/floor/plasteel, +/area/engine/atmos) "jBe" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 @@ -82064,6 +82119,12 @@ }, /turf/open/floor/plating, /area/maintenance/starboard) +"nBn" = ( +/obj/machinery/atmospherics/pipe/manifold/general/visible{ + dir = 1 + }, +/turf/open/floor/plasteel, +/area/engine/atmos) "nIb" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock/mining{ @@ -82143,6 +82204,13 @@ /obj/structure/table/reinforced, /turf/open/floor/plasteel/white, /area/science/circuit) +"oms" = ( +/obj/machinery/atmospherics/pipe/manifold/general/visible{ + dir = 1 + }, +/obj/machinery/meter, +/turf/open/floor/plasteel, +/area/engine/atmos) "omz" = ( /obj/machinery/status_display/supply, /turf/closed/wall, @@ -82218,6 +82286,13 @@ /obj/structure/grille, /turf/open/floor/plating, /area/maintenance/port/aft) +"pbF" = ( +/obj/machinery/portable_atmospherics/canister, +/obj/machinery/atmospherics/components/unary/portables_connector/visible{ + dir = 1 + }, +/turf/open/floor/plasteel, +/area/engine/atmos) "pmc" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 5 @@ -82403,6 +82478,12 @@ }, /turf/open/floor/plasteel, /area/security/prison) +"rpR" = ( +/obj/machinery/atmospherics/pipe/simple/orange/visible{ + dir = 5 + }, +/turf/open/floor/plasteel, +/area/engine/atmos) "rzX" = ( /obj/structure/chair/office/light{ dir = 1; @@ -82416,6 +82497,12 @@ }, /turf/open/floor/plasteel/white, /area/science/lab) +"rAc" = ( +/obj/machinery/atmospherics/pipe/simple/dark/visible{ + dir = 4 + }, +/turf/open/floor/plasteel, +/area/engine/atmos) "rLV" = ( /obj/structure/table, /obj/item/folder, @@ -82483,6 +82570,13 @@ /obj/structure/grille, /turf/open/floor/plating/airless, /area/space/nearstation) +"siI" = ( +/obj/machinery/atmospherics/components/binary/pump{ + dir = 8; + name = "Port to Filter" + }, +/turf/open/floor/plasteel, +/area/engine/atmos) "soe" = ( /obj/effect/turf_decal/tile/green, /obj/effect/turf_decal/tile/green{ @@ -82501,6 +82595,12 @@ /obj/machinery/atmospherics/pipe/simple/supply/hidden, /turf/open/floor/plasteel, /area/crew_quarters/fitness/recreation) +"stP" = ( +/obj/machinery/atmospherics/components/binary/pump{ + name = "Port to Fuel Pipe" + }, +/turf/open/floor/plasteel, +/area/engine/atmos) "syk" = ( /obj/machinery/door/airlock{ id_tag = "AuxShower"; @@ -82649,6 +82749,10 @@ /obj/machinery/cryopod, /turf/open/floor/plasteel/dark, /area/crew_quarters/cryopod) +"uku" = ( +/obj/machinery/atmospherics/pipe/manifold4w/general/visible, +/turf/open/floor/plasteel, +/area/engine/atmos) "upN" = ( /obj/effect/turf_decal/stripes/line{ dir = 5 @@ -82867,6 +82971,12 @@ /obj/machinery/vending/cola/random, /turf/open/floor/plasteel, /area/hallway/primary/port) +"xgC" = ( +/obj/machinery/atmospherics/pipe/simple/dark/visible{ + dir = 9 + }, +/turf/open/floor/plasteel, +/area/engine/atmos) "xkG" = ( /obj/item/integrated_electronics/wirer, /obj/structure/table/reinforced, @@ -122977,7 +123087,7 @@ bpg brA bep bvd -bxd +bxc byR bAB bCh @@ -123234,7 +123344,7 @@ bpg brB bep bve -bxd +bxc byS bAC dBJ @@ -123491,7 +123601,7 @@ bpg brC bep bCK -bxd +bxc byT bAD bCj @@ -124005,7 +124115,7 @@ bpi brE btz bvh -bxd +bxc byV bAF bCk @@ -124013,7 +124123,7 @@ dBJ bFH bHq bCk -bKu +bxd bxc bxc bxc @@ -124522,10 +124632,10 @@ bep bxc bKy bAG -bxg +bFR dBM bza -bxl +bIW bIO bMg bMb @@ -124536,8 +124646,8 @@ bSg bDS bDS bVI -dBJ -bCi +jAj +bYw bYw cbe ccO @@ -124784,7 +124894,7 @@ bDT bFM bHu bIP -bKw +dLd bKw bNQ bPq @@ -125041,9 +125151,9 @@ bDU bFN bAO bIS +siI bCi -bCi -bCi +rAc bCi bCi bCi @@ -125298,9 +125408,9 @@ bDV bFO bHv bIR -bCi -bCi -bCi +nBn +stP +xgC bCi bCi bCi @@ -125555,8 +125665,8 @@ bMe bFP bMe bMf -bCi -bCi +uku +pbF bCi bCi bCi @@ -125812,8 +125922,8 @@ bDW bFQ bHw bIT -bCi -bCi +oms +pbF bCi bCi bCi @@ -126066,11 +126176,11 @@ bzc bAL ddF bDX -bFR +bCi bHx bIU -bCi -bCi +uku +pbF bCi bCi bKD @@ -126324,11 +126434,11 @@ bAM bCt bDY bFS -bHy +bKu bIV -bCi -bCi -bCi +uku +iRL +rpR bCi bCi bCi @@ -126582,10 +126692,10 @@ bCu bDZ bFT bHz -bIW +bNR +izM bKD -bCi -bCi +gRX bCi bCi bCi @@ -126842,7 +126952,7 @@ bHy bIX bKE bNR -bCi +gRX bCi bCi bCi From e36bd50ad9ada2a20ff2e59ec6967fc59e4590d4 Mon Sep 17 00:00:00 2001 From: Putnam3145 Date: Sun, 3 May 2020 20:08:01 -0700 Subject: [PATCH 40/41] Makes G gluid calcs only happen when it's required (#12095) * Made G fluid calcs only happen on moment it's required. * whoops * Update modular_citadel/code/modules/arousal/organs/testicles.dm Co-authored-by: Ghom <42542238+Ghommie@users.noreply.github.com> Co-authored-by: Ghom <42542238+Ghommie@users.noreply.github.com> --- .../code/modules/arousal/arousal.dm | 2 ++ .../code/modules/arousal/genitals.dm | 18 ++++++------------ .../code/modules/arousal/organs/testicles.dm | 7 +++---- strings/traumas.json | 3 ++- 4 files changed, 13 insertions(+), 17 deletions(-) diff --git a/modular_citadel/code/modules/arousal/arousal.dm b/modular_citadel/code/modules/arousal/arousal.dm index 843672877e..44eafc5fc6 100644 --- a/modular_citadel/code/modules/arousal/arousal.dm +++ b/modular_citadel/code/modules/arousal/arousal.dm @@ -63,10 +63,12 @@ if(!target || !R) return var/turfing = isturf(target) + G.generate_fluid() if(spill && R.total_volume >= 5) R.reaction(turfing ? target : target.loc, TOUCH, 1, 0) if(!turfing) R.trans_to(target, R.total_volume * (spill ? G.fluid_transfer_factor : 1)) + G.time_since_last_orgasm = 0 R.clear_reagents() /mob/living/carbon/human/proc/mob_climax_outside(obj/item/organ/genital/G, mb_time = 30) //This is used for forced orgasms and other hands-free climaxes diff --git a/modular_citadel/code/modules/arousal/genitals.dm b/modular_citadel/code/modules/arousal/genitals.dm index a7b39f1706..731c69a457 100644 --- a/modular_citadel/code/modules/arousal/genitals.dm +++ b/modular_citadel/code/modules/arousal/genitals.dm @@ -16,6 +16,7 @@ var/fluid_efficiency = 1 var/fluid_rate = CUM_RATE var/fluid_mult = 1 + var/time_since_last_orgasm = 500 var/aroused_state = FALSE //Boolean used in icon_state strings var/obj/item/organ/genital/linked_organ var/linked_organ_slot //used for linking an apparatus' organ to its other half on update_link(). @@ -156,20 +157,13 @@ return reagents.maximum_volume = fluid_max_volume if(fluid_id && CHECK_BITFIELD(genital_flags, GENITAL_FUID_PRODUCTION)) - generate_fluid() + time_since_last_orgasm++ /obj/item/organ/genital/proc/generate_fluid() - var/amount = fluid_rate - if(!reagents.total_volume && amount < 0.1) // Apparently, 0.015 gets rounded down to zero and no reagents are created if we don't start it with 0.1 in the tank. - amount += 0.1 - var/multiplier = fluid_mult - if(reagents.total_volume >= 5) - multiplier *= 0.8 - if(reagents.total_volume < reagents.maximum_volume) - reagents.isolate_reagent(fluid_id)//remove old reagents if it changed and just clean up generally - reagents.add_reagent(fluid_id, (amount * multiplier))//generate the cum - return TRUE - return FALSE + var/amount = clamp(fluid_rate * time_since_last_orgasm * fluid_mult,0,fluid_max_volume) + reagents.clear_reagents() + reagents.add_reagent(fluid_id,amount) + return TRUE /obj/item/organ/genital/proc/update_link() if(owner) diff --git a/modular_citadel/code/modules/arousal/organs/testicles.dm b/modular_citadel/code/modules/arousal/organs/testicles.dm index a8946294b1..5fb1c75ad0 100644 --- a/modular_citadel/code/modules/arousal/organs/testicles.dm +++ b/modular_citadel/code/modules/arousal/organs/testicles.dm @@ -19,9 +19,8 @@ /obj/item/organ/genital/testicles/generate_fluid() if(!linked_organ && !update_link()) return FALSE - . = ..() - if(. && reagents.holder_full()) - to_chat(owner, "Your balls finally feel full, again.") + return ..() + // in memoriam "Your balls finally feel full, again." ??-2020 /obj/item/organ/genital/testicles/upon_link() size = linked_organ.size @@ -65,4 +64,4 @@ fluid_rate = D.features["balls_cum_rate"] fluid_mult = D.features["balls_cum_mult"] fluid_efficiency = D.features["balls_efficiency"] - toggle_visibility(D.features["balls_visibility"], FALSE) \ No newline at end of file + toggle_visibility(D.features["balls_visibility"], FALSE) diff --git a/strings/traumas.json b/strings/traumas.json index 8d1e9537ef..833c786b75 100644 --- a/strings/traumas.json +++ b/strings/traumas.json @@ -129,7 +129,8 @@ "@pick(semicolon)*nya", "@pick(semicolon)*awoo", "@pick(semicolon)*merp", - "@pick(semicolon)*weh" + "@pick(semicolon)*weh", + "@pick(semicolon)My balls finally feel full, again." ], "mutations": [ From 0acec2e56f333194ad88fa836eb626396818806d Mon Sep 17 00:00:00 2001 From: Lin Date: Tue, 5 May 2020 03:38:19 +0000 Subject: [PATCH 41/41] vendors now accept dollar bills again (#12109) * make vendors accept bills * build * forgot that function * this is better * i thought i had a hook for this --- code/modules/vending/_vending.dm | 38 +++++++++++++++++-- tgui-next/packages/tgui/interfaces/Vending.js | 11 +++++- tgui-next/packages/tgui/public/tgui.bundle.js | 2 +- 3 files changed, 44 insertions(+), 7 deletions(-) diff --git a/code/modules/vending/_vending.dm b/code/modules/vending/_vending.dm index e27431f8ee..5a96a92f07 100644 --- a/code/modules/vending/_vending.dm +++ b/code/modules/vending/_vending.dm @@ -120,6 +120,8 @@ IF YOU MODIFY THE PRODUCTS LIST OF A MACHINE, MAKE SURE TO UPDATE ITS RESUPPLY C var/scan_id = TRUE ///Coins that we accept? var/obj/item/coin/coin + ///Bills that we accept? + var/obj/item/stack/spacecash/bill ///Default price of items if not overridden /** * Is this item on station or not @@ -182,6 +184,7 @@ IF YOU MODIFY THE PRODUCTS LIST OF A MACHINE, MAKE SURE TO UPDATE ITS RESUPPLY C /obj/machinery/vending/Destroy() QDEL_NULL(wires) QDEL_NULL(coin) + QDEL_NULL(bill) return ..() /obj/machinery/vending/can_speak() @@ -376,6 +379,9 @@ GLOBAL_LIST_EMPTY(vending_products) if(coin) to_chat(user, "[src] already has [coin] inserted") return + if(bill) + to_chat(user, "[src] already has [bill] inserted") + return if(!premium.len) to_chat(user, "[src] doesn't have a coin slot.") return @@ -384,6 +390,23 @@ GLOBAL_LIST_EMPTY(vending_products) coin = I to_chat(user, "You insert [I] into [src].") return + else if(istype(I, /obj/item/stack/spacecash)) + if(coin) + to_chat(user, "[src] already has [coin] inserted") + return + if(bill) + to_chat(user, "[src] already has [bill] inserted") + return + if(!premium.len) + to_chat(user, "[src] doesn't have a bill slot.") + return + if(!user.transferItemToLoc(I, src)) + return + var/obj/item/stack/S = I + S.use(1) + bill = new S.type(src, 1) + to_chat(user, "You insert [I] into [src].") + return else if(refill_canister && istype(I, refill_canister)) if (!panel_open) to_chat(user, "You should probably unscrew the service panel first!") @@ -439,7 +462,7 @@ GLOBAL_LIST_EMPTY(vending_products) vending_machine_input[format_text(I.name)] = 1 to_chat(user, "You insert [I] into [src]'s input compartment.") loaded_items++ - + /** * Is the passed in user allowed to load this vending machines compartments * @@ -557,6 +580,7 @@ GLOBAL_LIST_EMPTY(vending_products) .["stock"][R.name] = R.amount .["extended_inventory"] = extended_inventory .["coin"] = coin + .["bill"] = bill /obj/machinery/vending/ui_act(action, params) . = ..() @@ -588,7 +612,7 @@ GLOBAL_LIST_EMPTY(vending_products) vend_ready = TRUE return else if(R in coin_records) - if(!coin) + if(!(coin || bill)) to_chat(usr, "You need to insert a coin to get this item!") vend_ready = TRUE return @@ -605,6 +629,7 @@ GLOBAL_LIST_EMPTY(vending_products) QDEL_NULL(coin) else QDEL_NULL(coin) + QDEL_NULL(bill) else if(!(R in product_records)) vend_ready = TRUE message_admins("Vending machine exploit attempted by [ADMIN_LOOKUPFLW(usr)]!") @@ -629,11 +654,16 @@ GLOBAL_LIST_EMPTY(vending_products) to_chat(usr, "You remove [coin] from [src].") coin = null return - + if("takeoutbill") + usr.put_in_hands(bill) + to_chat(usr, "You remove [bill] from [src].") + bill = null + return + if("togglevoice") if(panel_open) shut_up = !shut_up - + /obj/machinery/vending/process() if(stat & (BROKEN|NOPOWER)) return PROCESS_KILL diff --git a/tgui-next/packages/tgui/interfaces/Vending.js b/tgui-next/packages/tgui/interfaces/Vending.js index b6ffde015d..85f6796230 100644 --- a/tgui-next/packages/tgui/interfaces/Vending.js +++ b/tgui-next/packages/tgui/interfaces/Vending.js @@ -10,7 +10,7 @@ export const Vending = props => { let inventory; let custom = false; const onstation = true; - if (data.extended_inventory && data.coin) { + if (data.extended_inventory && (data.coin || data.bill)) { inventory = [ ...data.product_records, ...data.hidden_records, @@ -21,7 +21,7 @@ export const Vending = props => { ...data.product_records, ...data.hidden_records, ]; - } else if (data.coin) { + } else if (data.coin || data.bill) { inventory = [ ...data.product_records, ...data.coin_records, @@ -40,6 +40,13 @@ export const Vending = props => { onClick={() => act(ref, 'takeoutcoin')} /> )} + {data.bill && ( +