From 8e0c06e50e52a484c60de8fc0ace1473d23c312e Mon Sep 17 00:00:00 2001
From: Ghommie <42542238+Ghommie@users.noreply.github.com>
Date: Sat, 25 Jan 2020 00:32:27 +0100
Subject: [PATCH 01/79] Hey, do you remember that wizard round where everyone
tried arming up the nuclear bomb and we all went DELTA RED DELTA RED DELTA
RED DELTA ?
---
code/game/machinery/computer/communications.dm | 15 ++++++++++-----
.../antagonists/nukeop/equipment/nuclearbomb.dm | 5 +++++
2 files changed, 15 insertions(+), 5 deletions(-)
diff --git a/code/game/machinery/computer/communications.dm b/code/game/machinery/computer/communications.dm
index 1bc8a82147..17f17e8247 100755
--- a/code/game/machinery/computer/communications.dm
+++ b/code/game/machinery/computer/communications.dm
@@ -15,6 +15,7 @@
var/message_cooldown = 0
var/ai_message_cooldown = 0
var/tmp_alertlevel = 0
+ var/static/security_level_cd // used to stop mass spam.
var/const/STATE_DEFAULT = 1
var/const/STATE_CALLSHUTTLE = 2
var/const/STATE_CANCELSHUTTLE = 3
@@ -94,16 +95,18 @@
I = pda.id
if (I && istype(I))
if(ACCESS_CAPTAIN in I.access)
+ if(security_level_cd < world.time)
+ to_chat(usr, "Security level protocols are currently on cooldown. Please stand by.")
+ return
var/old_level = GLOB.security_level
if(!tmp_alertlevel)
tmp_alertlevel = SEC_LEVEL_GREEN
if(tmp_alertlevel < SEC_LEVEL_GREEN)
tmp_alertlevel = SEC_LEVEL_GREEN
- if(tmp_alertlevel == SEC_LEVEL_BLUE)
- tmp_alertlevel = SEC_LEVEL_BLUE
if(tmp_alertlevel > SEC_LEVEL_AMBER)
tmp_alertlevel = SEC_LEVEL_AMBER //Cannot engage delta with this
set_security_level(tmp_alertlevel)
+ security_level_cd = world.time + 15 SECONDS
if(GLOB.security_level != old_level)
to_chat(usr, "Authorization confirmed. Modifying security level.")
playsound(src, 'sound/machines/terminal_prompt_confirm.ogg', 50, 0)
@@ -376,19 +379,21 @@
if("ai-announce")
make_announcement(usr, 1)
if("ai-securitylevel")
+ if(security_level_cd < world.time)
+ to_chat(usr, "Security level protocols are currently on cooldown. Please stand by.")
+ return
tmp_alertlevel = text2num( href_list["newalertlevel"] )
if(!tmp_alertlevel)
- tmp_alertlevel = 0
+ tmp_alertlevel = SEC_LEVEL_GREEN
var/old_level = GLOB.security_level
if(!tmp_alertlevel)
tmp_alertlevel = SEC_LEVEL_GREEN
if(tmp_alertlevel < SEC_LEVEL_GREEN)
tmp_alertlevel = SEC_LEVEL_GREEN
- if(tmp_alertlevel == SEC_LEVEL_BLUE)
- tmp_alertlevel = SEC_LEVEL_BLUE
if(tmp_alertlevel > SEC_LEVEL_AMBER)
tmp_alertlevel = SEC_LEVEL_AMBER //Cannot engage delta with this
set_security_level(tmp_alertlevel)
+ security_level_cd = world.time + 15 SECONDS
if(GLOB.security_level != old_level)
//Only notify people if an actual change happened
var/security_level = get_security_level()
diff --git a/code/modules/antagonists/nukeop/equipment/nuclearbomb.dm b/code/modules/antagonists/nukeop/equipment/nuclearbomb.dm
index 2186e8b49e..5818ba0001 100644
--- a/code/modules/antagonists/nukeop/equipment/nuclearbomb.dm
+++ b/code/modules/antagonists/nukeop/equipment/nuclearbomb.dm
@@ -30,6 +30,7 @@
var/interior = ""
var/proper_bomb = TRUE //Please
var/obj/effect/countdown/nuclearbomb/countdown
+ var/nuclear_cooldown //used to stop global spam.
/obj/machinery/nuclearbomb/Initialize()
. = ..()
@@ -367,12 +368,16 @@
return
timing = !timing
if(timing)
+ if(nuclear_cooldown < world.time)
+ to_chat(usr, "[src]'s timer protocols are currently on cooldown, please stand by.")
+ return
previous_level = get_security_level()
detonation_timer = world.time + (timer_set * 10)
for(var/obj/item/pinpointer/nuke/syndicate/S in GLOB.pinpointer_list)
S.switch_mode_to(TRACK_INFILTRATOR)
countdown.start()
set_security_level("delta")
+ nuclear_cooldown = world.time + 15 SECONDS
if(GLOB.war_declared)
var/area/A = get_area(src)
From a89cd796d45e914314f78b98e6cbf8396b4722d2 Mon Sep 17 00:00:00 2001
From: Ghommie <42542238+Ghommie@users.noreply.github.com>
Date: Sun, 26 Jan 2020 21:33:36 +0100
Subject: [PATCH 02/79] emergency shuttle console spam limiter.
---
code/game/machinery/computer/communications.dm | 4 ++--
.../antagonists/nukeop/equipment/nuclearbomb.dm | 2 +-
code/modules/shuttle/emergency.dm | 16 ++++++++++++++++
3 files changed, 19 insertions(+), 3 deletions(-)
diff --git a/code/game/machinery/computer/communications.dm b/code/game/machinery/computer/communications.dm
index 17f17e8247..6a36c41997 100755
--- a/code/game/machinery/computer/communications.dm
+++ b/code/game/machinery/computer/communications.dm
@@ -95,7 +95,7 @@
I = pda.id
if (I && istype(I))
if(ACCESS_CAPTAIN in I.access)
- if(security_level_cd < world.time)
+ if(security_level_cd > world.time)
to_chat(usr, "Security level protocols are currently on cooldown. Please stand by.")
return
var/old_level = GLOB.security_level
@@ -379,7 +379,7 @@
if("ai-announce")
make_announcement(usr, 1)
if("ai-securitylevel")
- if(security_level_cd < world.time)
+ if(security_level_cd > world.time)
to_chat(usr, "Security level protocols are currently on cooldown. Please stand by.")
return
tmp_alertlevel = text2num( href_list["newalertlevel"] )
diff --git a/code/modules/antagonists/nukeop/equipment/nuclearbomb.dm b/code/modules/antagonists/nukeop/equipment/nuclearbomb.dm
index 5818ba0001..8d98f24b1e 100644
--- a/code/modules/antagonists/nukeop/equipment/nuclearbomb.dm
+++ b/code/modules/antagonists/nukeop/equipment/nuclearbomb.dm
@@ -368,7 +368,7 @@
return
timing = !timing
if(timing)
- if(nuclear_cooldown < world.time)
+ if(nuclear_cooldown > world.time)
to_chat(usr, "[src]'s timer protocols are currently on cooldown, please stand by.")
return
previous_level = get_security_level()
diff --git a/code/modules/shuttle/emergency.dm b/code/modules/shuttle/emergency.dm
index c863e0e44a..96d1c04856 100644
--- a/code/modules/shuttle/emergency.dm
+++ b/code/modules/shuttle/emergency.dm
@@ -2,6 +2,8 @@
#define ENGINES_START_TIME 100
#define ENGINES_STARTED (SSshuttle.emergency.mode == SHUTTLE_IGNITING)
#define IS_DOCKED (SSshuttle.emergency.mode == SHUTTLE_DOCKED || (ENGINES_STARTED))
+#define MAX_AUTH_INPUTS 6
+
/obj/machinery/computer/emergency_shuttle
name = "emergency shuttle console"
@@ -10,6 +12,8 @@
icon_keyboard = "tech_key"
var/auth_need = 3
var/list/authorized = list()
+ var/auth_cooldown //these two vars are used to quell spam.
+ var/auth_combo = 0
/obj/machinery/computer/emergency_shuttle/attackby(obj/item/I, mob/user,params)
if(istype(I, /obj/item/card/id))
@@ -67,6 +71,13 @@
to_chat(user, "The access level of your card is not high enough.")
return
+ if(auth_cooldown <= world.time)
+ auth_combo = 0
+
+ else if(auth_combo >= MAX_AUTH_INPUTS)
+ to_chat(user, "Authorizations controller lockdown engaged, please wait [CEILING(auth_coodown - world.time)] before trying again.")
+ return
+
var/old_len = authorized.len
switch(action)
@@ -91,6 +102,10 @@
minor_announce("[remaining] authorizations needed until shuttle is launched early", null, alert)
if(repeal)
minor_announce("Early launch authorization revoked, [remaining] authorizations needed")
+ auth_cooldown = world.time + 15 SECONDS
+ if(++auth_combo = MAX_AUTH_INPUTS) //C-c-combo breaker!
+ say("Authorization controller abuse detected, lockdown engaged.")
+ playsound(src, 'sound/machines/buzz-sigh.ogg', 50, 0)
/obj/machinery/computer/emergency_shuttle/proc/authorize(mob/user, source)
var/obj/item/card/id/ID = user.get_idcard(TRUE)
@@ -567,3 +582,4 @@
#undef ENGINES_START_TIME
#undef ENGINES_STARTED
#undef IS_DOCKED
+#undef MAX_AUTH_INPUTS
From 9b149244b04bb22a974509348ab00e84d2957bae Mon Sep 17 00:00:00 2001
From: Ghommie <42542238+Ghommie@users.noreply.github.com>
Date: Sun, 26 Jan 2020 21:56:31 +0100
Subject: [PATCH 03/79] Ok here we go.
---
code/modules/shuttle/emergency.dm | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/code/modules/shuttle/emergency.dm b/code/modules/shuttle/emergency.dm
index 96d1c04856..703184320f 100644
--- a/code/modules/shuttle/emergency.dm
+++ b/code/modules/shuttle/emergency.dm
@@ -75,7 +75,7 @@
auth_combo = 0
else if(auth_combo >= MAX_AUTH_INPUTS)
- to_chat(user, "Authorizations controller lockdown engaged, please wait [CEILING(auth_coodown - world.time)] before trying again.")
+ to_chat(user, "Authorizations controller lockdown engaged, please wait [CEILING(auth_coodown - world.time, 1)] before trying again.")
return
var/old_len = authorized.len
@@ -103,7 +103,7 @@
if(repeal)
minor_announce("Early launch authorization revoked, [remaining] authorizations needed")
auth_cooldown = world.time + 15 SECONDS
- if(++auth_combo = MAX_AUTH_INPUTS) //C-c-combo breaker!
+ if(++auth_combo == MAX_AUTH_INPUTS) //C-c-combo breaker!
say("Authorization controller abuse detected, lockdown engaged.")
playsound(src, 'sound/machines/buzz-sigh.ogg', 50, 0)
From 2adb981832802bebe0f5758e35b80072441801ff Mon Sep 17 00:00:00 2001
From: Ghommie <42542238+Ghommie@users.noreply.github.com>
Date: Sun, 26 Jan 2020 22:04:46 +0100
Subject: [PATCH 04/79] Welp.
---
code/modules/shuttle/emergency.dm | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/code/modules/shuttle/emergency.dm b/code/modules/shuttle/emergency.dm
index 703184320f..abb1373401 100644
--- a/code/modules/shuttle/emergency.dm
+++ b/code/modules/shuttle/emergency.dm
@@ -75,7 +75,7 @@
auth_combo = 0
else if(auth_combo >= MAX_AUTH_INPUTS)
- to_chat(user, "Authorizations controller lockdown engaged, please wait [CEILING(auth_coodown - world.time, 1)] before trying again.")
+ to_chat(user, "Authorizations controller lockdown engaged, please wait [CEILING(auth_cooldown - world.time, 1)] before trying again.")
return
var/old_len = authorized.len
From 2cbdae2f0aaa76557a77d8c98158aa502bd085d3 Mon Sep 17 00:00:00 2001
From: Ghommie <42542238+Ghommie@users.noreply.github.com>
Date: Thu, 5 Mar 2020 18:46:33 +0100
Subject: [PATCH 05/79] Made flavor texts into an element datum.
---
code/__DEFINES/components.dm | 3 +
code/__HELPERS/_cit_helpers.dm | 32 -----
code/datums/dna.dm | 6 +-
code/datums/elements/flavor_text.dm | 113 ++++++++++++++++++
code/modules/client/preferences.dm | 2 +
code/modules/mob/living/carbon/carbon.dm | 5 +
.../mob/living/carbon/human/examine.dm | 27 +----
code/modules/mob/living/carbon/human/human.dm | 6 +-
code/modules/mob/mob.dm | 8 --
.../code/modules/client/preferences.dm | 1 -
tgstation.dme | 1 +
11 files changed, 138 insertions(+), 66 deletions(-)
create mode 100644 code/datums/elements/flavor_text.dm
diff --git a/code/__DEFINES/components.dm b/code/__DEFINES/components.dm
index 5a4e7c0380..fb44916ee1 100644
--- a/code/__DEFINES/components.dm
+++ b/code/__DEFINES/components.dm
@@ -210,6 +210,7 @@
// /mob/living/carbon signals
#define COMSIG_CARBON_SOUNDBANG "carbon_soundbang" //from base of mob/living/carbon/soundbang_act(): (list(intensity))
+#define COMSIG_CARBON_IDENTITY_TRANSFERRED_TO "carbon_id_transferred_to" //from datum/dna/transfer_identity(): (datum/dna, transfer_SE)
// /mob/living/simple_animal/hostile signals
#define COMSIG_HOSTILE_ATTACKINGTARGET "hostile_attackingtarget"
@@ -274,6 +275,8 @@
#define COMSIG_HUMAN_MELEE_UNARMED_ATTACK "human_melee_unarmed_attack" //from mob/living/carbon/human/UnarmedAttack(): (atom/target)
#define COMSIG_HUMAN_MELEE_UNARMED_ATTACKBY "human_melee_unarmed_attackby" //from mob/living/carbon/human/UnarmedAttack(): (mob/living/carbon/human/attacker)
#define COMSIG_HUMAN_DISARM_HIT "human_disarm_hit" //Hit by successful disarm attack (mob/living/carbon/human/attacker,zone_targeted)
+#define COMSIG_HUMAN_PREFS_COPIED_TO "human_prefs_copied_to" //from datum/preferences/copy_to(): (datum/preferences, icon_updates, roundstart_checks)
+#define COMSIG_HUMAN_HARDSET_DNA "human_hardset_dna" //from mob/living/carbon/human/hardset_dna(): (ui, se, newreal_name, newblood_type, datum/species, newfeatures)
// /datum/species signals
#define COMSIG_SPECIES_GAIN "species_gain" //from datum/species/on_species_gain(): (datum/species/new_species, datum/species/old_species)
diff --git a/code/__HELPERS/_cit_helpers.dm b/code/__HELPERS/_cit_helpers.dm
index 4ae30838e4..ffc1bcc6b7 100644
--- a/code/__HELPERS/_cit_helpers.dm
+++ b/code/__HELPERS/_cit_helpers.dm
@@ -107,38 +107,6 @@ GLOBAL_VAR_INIT(miscreants_allowed, FALSE)
if(!src.holder) return
message_admins("[key_name_admin(usr)] manually reloaded mentors")
-//Flavor Text
-/mob/proc/set_flavor()
- set name = "Set Flavor Text"
- set desc = "Sets an extended description of your character's features."
- set category = "IC"
-
- var/new_flavor = stripped_multiline_input(usr, "Set the flavor text in your 'examine' verb. This can also be used for OOC notes and preferences!", "Flavor Text", flavor_text, MAX_FAVOR_LEN, TRUE)
- if(!isnull(new_flavor))
- flavor_text = html_decode(new_flavor)
- to_chat(src, "Your flavor text has been updated.")
-
-//Flavor Text
-/mob/proc/set_flavor_2()
- set name = "Set Temporary Flavor Text"
- set desc = "Sets a description of your character's current appearance. Use this for emotions, poses etc."
- set category = "IC"
-
- var/new_flavor = stripped_multiline_input(usr, "Set the temporary flavor text in your 'examine' verb. This should be used only for things pertaining to the current round!", "Short-Term Flavor Text", flavor_text_2, MAX_FAVOR_LEN, TRUE)
- if(!isnull(new_flavor))
- flavor_text_2 = html_decode(new_flavor)
- to_chat(src, "Your temporary flavor text has been updated.")
-
-/mob/proc/print_flavor_text(flavor,temp = FALSE)
- if(!flavor)
- return
- // We are decoding and then encoding to not only get correct amount of characters, but also to prevent partial escaping characters being shown.
- var/msg = html_decode(replacetext(flavor, "\n", " "))
- if(length_char(msg) <= 40)
- return "[html_encode(msg)]"
- else
- return "[html_encode(copytext_char(msg, 1, 37))]... More..."
-
//LOOC toggles
/client/verb/listen_looc()
set name = "Show/Hide LOOC"
diff --git a/code/datums/dna.dm b/code/datums/dna.dm
index 68c6839482..3994dcc8bc 100644
--- a/code/datums/dna.dm
+++ b/code/datums/dna.dm
@@ -51,10 +51,11 @@
if(ishuman(destination))
var/mob/living/carbon/human/H = destination
H.give_genitals(TRUE)//This gives the body the genitals of this DNA. Used for any transformations based on DNA
- destination.flavor_text = destination.dna.features["flavor_text"] //Update the flavor_text to use new dna text
if(transfer_SE)
destination.dna.struc_enzymes = struc_enzymes
+ SEND_SIGNAL(destination, COMSIG_CARBON_IDENTITY_TRANSFERRED_TO, src, transfer_SE)
+
/datum/dna/proc/copy_dna(datum/dna/new_dna)
new_dna.unique_enzymes = unique_enzymes
new_dna.struc_enzymes = struc_enzymes
@@ -284,7 +285,6 @@
if(newfeatures)
dna.features = newfeatures
- flavor_text = dna.features["flavor_text"] //Update the flavor_text to use new dna text
if(mrace)
var/datum/species/newrace = new mrace.type
@@ -306,6 +306,8 @@
dna.struc_enzymes = se
domutcheck()
+ SEND_SIGNAL(src, COMSIG_HUMAN_HARDSET_DNA, ui, se, newreal_name, newblood_type, mrace, newfeatures)
+
if(mrace || newfeatures || ui)
update_body()
update_hair()
diff --git a/code/datums/elements/flavor_text.dm b/code/datums/elements/flavor_text.dm
new file mode 100644
index 0000000000..f823f4aa79
--- /dev/null
+++ b/code/datums/elements/flavor_text.dm
@@ -0,0 +1,113 @@
+/datum/element/flavor_text
+ element_flags = ELEMENT_BESPOKE|ELEMENT_DETACH
+ id_arg_index = 3
+ var/flavor_name = "Flavor Text"
+ var/procpath/verb_instance
+ var/invoke_proc
+ var/list/texts_by_mob = list()
+ var/addendum = "This can also be used for OOC notes and preferences!"
+ var/always_show = FALSE
+ var/max_len = MAX_FAVOR_LEN
+
+/datum/element/flavor_text/Attach(datum/target, text, _proc, _name = "Flavor Text", _desc = "Sets an extended description of your character's features.", _addendum, _max_len = MAX_FAVOR_LEN, _always_show = FALSE, can_edit = TRUE)
+ . = ..()
+
+ if(. == ELEMENT_INCOMPATIBLE || !isatom(target)) //no reason why this shouldn't work on atoms too.
+ return ELEMENT_INCOMPATIBLE
+
+ texts_by_mob[target] = text
+ if(_name)
+ flavor_name = _name
+ if(_proc)
+ invoke_proc = _proc
+ if(_max_len)
+ max_len = _max_len
+ if(!isnull(addendum))
+ addendum = _addendum
+ always_show = _always_show
+
+ RegisterSignal(target, COMSIG_PARENT_EXAMINE, .proc/show_flavor)
+
+ if(can_edit && ismob(target)) //but only mobs receive the proc/verb for the time being
+ var/mob/M = target
+ if(!verb_instance)
+ verb_instance = new /datum/element/flavor_text/proc/set_flavor (src, "Set [_name]", _desc)
+ M.verbs += verb_instance
+
+/datum/element/flavor_text/Detach(atom/A)
+ . = ..()
+ UnregisterSignal(A, COMSIG_PARENT_EXAMINE)
+ texts_by_mob -= A
+ A.verbs -= verb_instance
+
+/datum/element/flavor_text/proc/show_flavor(atom/target, mob/user, list/examine_list)
+ if(!always_show && isliving(target))
+ var/mob/living/L = target
+ var/unknown = L.get_visible_name() == "Unknown"
+ if(!unknown && iscarbon(target))
+ var/mob/living/carbon/C = L
+ unknown = (C.wear_mask && (C.wear_mask.flags_inv & HIDEFACE)) || (C.head && (C.head.flags_inv & HIDEFACE))
+ if(unknown)
+ if(!("...?" in examine_list)) //can't think of anything better in case of multiple flavor texts.
+ examine_list += "...?"
+ return
+ var/text = texts_by_mob[target]
+ if(!text)
+ return
+ var/msg = replacetext(text, "\n", " ")
+ if(length_char(msg) <= 40)
+ return "[html_encode(msg)]"
+ else
+ return "[html_encode(copytext_char(msg, 1, 37))]... More..."
+
+/datum/element/flavor_text/Topic(href, href_list)
+ . = ..()
+ if(.)
+ return
+ if(href_list["show_flavor"])
+ var/atom/target = href_list["show_flavor"]
+ var/text = texts_by_mob[target]
+ if(text)
+ usr << browse("
[target.name][replacetext(texts_by_mob[target], "\n", "
")]", "window=[target.name];size=500x200")
+ onclose(usr, "[target.name]")
+ return TRUE
+
+/datum/element/flavor_text/proc/set_flavor()
+ set category = "IC"
+
+ if(!(usr in texts_by_mob))
+ return
+
+ var/lower_name = lowertext(flavor_name)
+ var/new_text = stripped_multiline_input(usr, "Set the [lower_name] displayed on 'examine'. [addendum]", flavor_name, texts_by_mob[usr], max_len, TRUE)
+ if(!isnull(new_text) && (usr in texts_by_mob))
+ texts_by_mob[usr] = html_decode(new_text)
+ to_chat(src, "Your [lower_name] has been updated.")
+ if(invoke_proc)
+ INVOKE_ASYNC(usr, invoke_proc, new_text)
+
+//subtypes with additional hooks for DNA and preferences.
+/datum/element/flavor_text/carbon
+ invoke_proc = /mob/living/carbon.proc/update_flavor_text_feature
+
+/datum/element/flavor_text/carbon/Attach(datum/target, text, _proc, _name = "Flavor Text", _desc = "Sets an extended description of your character's features.", _addendum, _max_len = MAX_FAVOR_LEN, _always_show = FALSE, can_edit = TRUE)
+ if(!iscarbon(target))
+ return ELEMENT_INCOMPATIBLE
+ . = ..()
+ if(. == ELEMENT_INCOMPATIBLE)
+ return
+ RegisterSignal(target, COMSIG_CARBON_IDENTITY_TRANSFERRED_TO, .proc/update_dna_flavor_text)
+ if(ishuman(target))
+ RegisterSignal(target, COMSIG_HUMAN_PREFS_COPIED_TO, .proc/update_prefs_flavor_text)
+ RegisterSignal(target, COMSIG_HUMAN_HARDSET_DNA, .proc/update_dna_flavor_text)
+
+
+/datum/element/flavor_text/carbon/Detach(mob/living/carbon/C)
+ . = ..()
+ UnregisterSignal(C, list(COMSIG_CARBON_IDENTITY_TRANSFERRED_TO, COMSIG_HUMAN_PREFS_COPIED_TO, COMSIG_HUMAN_HARDSET_DNA))
+
+/datum/element/flavor_text/carbon/proc/update_dna_flavor_text(mob/living/carbon/C)
+ texts_by_mob[C] = C.dna.features["flavor_text"]
+
+/datum/element/flavor_text/carbon/proc/update_prefs_flavor_text(mob/living/carbon/human/H, datum/preferences/P, icon_updates = TRUE, roundstart_checks = TRUE)
+ texts_by_mob[H] = P.features["flavor_text"]
diff --git a/code/modules/client/preferences.dm b/code/modules/client/preferences.dm
index cdc3fbc5b9..a48680fb80 100644
--- a/code/modules/client/preferences.dm
+++ b/code/modules/client/preferences.dm
@@ -2390,6 +2390,8 @@ GLOBAL_LIST_EMPTY(preferences_datums)
else
character.Digitigrade_Leg_Swap(TRUE)
+ SEND_SIGNAL(character, COMSIG_HUMAN_PREFS_COPIED_TO, src, icon_updates, roundstart_checks)
+
//let's be sure the character updates
if(icon_updates)
character.update_body()
diff --git a/code/modules/mob/living/carbon/carbon.dm b/code/modules/mob/living/carbon/carbon.dm
index 574a5aedd2..5f8b90bb5f 100644
--- a/code/modules/mob/living/carbon/carbon.dm
+++ b/code/modules/mob/living/carbon/carbon.dm
@@ -1010,3 +1010,8 @@
/mob/living/carbon/can_hold_items()
return TRUE
+
+/mob/living/carbon/proc/update_flavor_text_feature(new_text)
+ if(!dna)
+ return
+ dna.features["flavor_text"] = new_text
diff --git a/code/modules/mob/living/carbon/human/examine.dm b/code/modules/mob/living/carbon/human/examine.dm
index fec82b357f..cb21534d25 100644
--- a/code/modules/mob/living/carbon/human/examine.dm
+++ b/code/modules/mob/living/carbon/human/examine.dm
@@ -25,15 +25,10 @@
var/list/obscured = check_obscured_slots()
var/skipface = (wear_mask && (wear_mask.flags_inv & HIDEFACE)) || (head && (head.flags_inv & HIDEFACE))
- if(ishuman(src)) //user just returned, y'know, the user's own species. dumb.
- var/mob/living/carbon/human/H = src
- var/datum/species/pref_species = H.dna.species
- if(get_visible_name() == "Unknown") // same as flavor text, but hey it works.
- . += "You can't make out what species they are."
- else if(skipface)
- . += "You can't make out what species they are."
- else
- . += "[t_He] [t_is] a [H.dna.custom_species ? H.dna.custom_species : pref_species.name]!"
+ if(skipface || get_visible_name() == "Unknown")
+ . += "You can't make out what species they are."
+ else
+ . += "[t_He] [t_is] a [dna.custom_species ? dna.custom_species : dna.species.name]!"
//uniform
if(w_uniform && !(SLOT_W_UNIFORM in obscured))
@@ -389,18 +384,8 @@
else if(isobserver(user) && traitstring)
. += "Traits: [traitstring]"
- //No flavor text unless the face can be seen. Prevents certain metagaming with impersonation.
- var/invisible_man = skipface || get_visible_name() == "Unknown"
- if(invisible_man)
- . += "...?"
- else
- var/flavor = print_flavor_text(flavor_text)
- if(flavor)
- . += flavor
- var/temp_flavor = print_flavor_text(flavor_text_2,TRUE)
- if(temp_flavor)
- . += temp_flavor
- SEND_SIGNAL(src, COMSIG_PARENT_EXAMINE, user, .)
+ SEND_SIGNAL(src, COMSIG_PARENT_EXAMINE, user, .) //This also handles flavor texts now
+
. += "*---------*"
/mob/living/proc/status_effect_examines(pronoun_replacement) //You can include this in any mob's examine() to show the examine texts of status effects!
diff --git a/code/modules/mob/living/carbon/human/human.dm b/code/modules/mob/living/carbon/human/human.dm
index 423277863f..2320715dac 100644
--- a/code/modules/mob/living/carbon/human/human.dm
+++ b/code/modules/mob/living/carbon/human/human.dm
@@ -9,8 +9,6 @@
verbs += /mob/living/proc/mob_sleep
verbs += /mob/living/proc/lay_down
verbs += /mob/living/carbon/human/proc/underwear_toggle //fwee
- verbs += /mob/proc/set_flavor
- verbs += /mob/proc/set_flavor_2
//initialize limbs first
create_bodyparts()
@@ -40,6 +38,10 @@
. = ..()
if(!CONFIG_GET(flag/disable_human_mood))
AddComponent(/datum/component/mood)
+ AddElement(/datum/element/flavor_text/carbon)
+ AddElement(/datum/element/flavor_text, null, null, "Temporary Flavor Text",
+ "Sets a description of your character's current appearance. Use this for emotions, poses etc.",
+ "This should be used only for things pertaining to the current round!")
/mob/living/carbon/human/Destroy()
QDEL_NULL(physiology)
diff --git a/code/modules/mob/mob.dm b/code/modules/mob/mob.dm
index 1ca6299efb..f9acb8bd45 100644
--- a/code/modules/mob/mob.dm
+++ b/code/modules/mob/mob.dm
@@ -504,14 +504,6 @@ GLOBAL_VAR_INIT(exploit_warn_spam_prevention, 0)
unset_machine()
src << browse(null, t1)
- if(href_list["flavor_more"])
- usr << browse(text("[][]", name, replacetext(flavor_text, "\n", "
")), text("window=[];size=500x200", name))
- onclose(usr, "[name]")
-
- if(href_list["flavor2_more"])
- usr << browse(text("[][]", name, replacetext(flavor_text_2, "\n", "
")), text("window=[];size=500x200", name))
- onclose(usr, "[name]")
-
if(href_list["refresh"])
if(machine && in_range(src, usr))
show_inv(machine)
diff --git a/modular_citadel/code/modules/client/preferences.dm b/modular_citadel/code/modules/client/preferences.dm
index 8b0ba2dd43..f1dbe31d02 100644
--- a/modular_citadel/code/modules/client/preferences.dm
+++ b/modular_citadel/code/modules/client/preferences.dm
@@ -49,6 +49,5 @@
/datum/preferences/copy_to(mob/living/carbon/human/character, icon_updates = 1)
..()
character.give_genitals(TRUE)
- character.flavor_text = features["flavor_text"] //Let's update their flavor_text at least initially
if(icon_updates)
character.update_genitals()
diff --git a/tgstation.dme b/tgstation.dme
index 73beef27e5..e83df63774 100755
--- a/tgstation.dme
+++ b/tgstation.dme
@@ -499,6 +499,7 @@
#include "code\datums\elements\dusts_on_leaving_area.dm"
#include "code\datums\elements\earhealing.dm"
#include "code\datums\elements\firestacker.dm"
+#include "code\datums\elements\flavor_text.dm"
#include "code\datums\elements\ghost_role_eligibility.dm"
#include "code\datums\elements\mob_holder.dm"
#include "code\datums\elements\swimming.dm"
From 6de290758be750ff3ed7f02e32cf505f6dbd2bdc Mon Sep 17 00:00:00 2001
From: Ghommie <42542238+Ghommie@users.noreply.github.com>
Date: Thu, 5 Mar 2020 19:07:24 +0100
Subject: [PATCH 06/79] Oh, yea.
---
code/datums/elements/flavor_text.dm | 15 +++++++--------
code/modules/mob/living/carbon/human/human.dm | 2 +-
code/modules/mob/mob_defines.dm | 3 ---
3 files changed, 8 insertions(+), 12 deletions(-)
diff --git a/code/datums/elements/flavor_text.dm b/code/datums/elements/flavor_text.dm
index f823f4aa79..cdee3f44c0 100644
--- a/code/datums/elements/flavor_text.dm
+++ b/code/datums/elements/flavor_text.dm
@@ -9,19 +9,19 @@
var/always_show = FALSE
var/max_len = MAX_FAVOR_LEN
-/datum/element/flavor_text/Attach(datum/target, text, _proc, _name = "Flavor Text", _desc = "Sets an extended description of your character's features.", _addendum, _max_len = MAX_FAVOR_LEN, _always_show = FALSE, can_edit = TRUE)
+/datum/element/flavor_text/Attach(datum/target, text = "", _proc, _name = "Flavor Text", _desc = "Sets an extended description of your character's features.", _addendum, _max_len = MAX_FAVOR_LEN, _always_show = FALSE, can_edit = TRUE)
. = ..()
if(. == ELEMENT_INCOMPATIBLE || !isatom(target)) //no reason why this shouldn't work on atoms too.
return ELEMENT_INCOMPATIBLE
- texts_by_mob[target] = text
+ if(_max_len)
+ max_len = _max_len
+ texts_by_mob[target] = copytext(text, 1, max_len)
if(_name)
flavor_name = _name
if(_proc)
invoke_proc = _proc
- if(_max_len)
- max_len = _max_len
if(!isnull(addendum))
addendum = _addendum
always_show = _always_show
@@ -56,9 +56,9 @@
return
var/msg = replacetext(text, "\n", " ")
if(length_char(msg) <= 40)
- return "[html_encode(msg)]"
+ examine_list += "[html_encode(msg)]"
else
- return "[html_encode(copytext_char(msg, 1, 37))]... More..."
+ examine_list += "[html_encode(copytext_char(msg, 1, 37))]... More..."
/datum/element/flavor_text/Topic(href, href_list)
. = ..()
@@ -90,7 +90,7 @@
/datum/element/flavor_text/carbon
invoke_proc = /mob/living/carbon.proc/update_flavor_text_feature
-/datum/element/flavor_text/carbon/Attach(datum/target, text, _proc, _name = "Flavor Text", _desc = "Sets an extended description of your character's features.", _addendum, _max_len = MAX_FAVOR_LEN, _always_show = FALSE, can_edit = TRUE)
+/datum/element/flavor_text/carbon/Attach(datum/target, text = "", _proc, _name = "Flavor Text", _desc = "Sets an extended description of your character's features.", _addendum, _max_len = MAX_FAVOR_LEN, _always_show = FALSE, can_edit = TRUE)
if(!iscarbon(target))
return ELEMENT_INCOMPATIBLE
. = ..()
@@ -101,7 +101,6 @@
RegisterSignal(target, COMSIG_HUMAN_PREFS_COPIED_TO, .proc/update_prefs_flavor_text)
RegisterSignal(target, COMSIG_HUMAN_HARDSET_DNA, .proc/update_dna_flavor_text)
-
/datum/element/flavor_text/carbon/Detach(mob/living/carbon/C)
. = ..()
UnregisterSignal(C, list(COMSIG_CARBON_IDENTITY_TRANSFERRED_TO, COMSIG_HUMAN_PREFS_COPIED_TO, COMSIG_HUMAN_HARDSET_DNA))
diff --git a/code/modules/mob/living/carbon/human/human.dm b/code/modules/mob/living/carbon/human/human.dm
index 2320715dac..b114c4e3b1 100644
--- a/code/modules/mob/living/carbon/human/human.dm
+++ b/code/modules/mob/living/carbon/human/human.dm
@@ -39,7 +39,7 @@
if(!CONFIG_GET(flag/disable_human_mood))
AddComponent(/datum/component/mood)
AddElement(/datum/element/flavor_text/carbon)
- AddElement(/datum/element/flavor_text, null, null, "Temporary Flavor Text",
+ AddElement(/datum/element/flavor_text, "", null, "Temporary Flavor Text",
"Sets a description of your character's current appearance. Use this for emotions, poses etc.",
"This should be used only for things pertaining to the current round!")
diff --git a/code/modules/mob/mob_defines.dm b/code/modules/mob/mob_defines.dm
index c45f6eec13..0ad9b672d3 100644
--- a/code/modules/mob/mob_defines.dm
+++ b/code/modules/mob/mob_defines.dm
@@ -125,6 +125,3 @@
var/siliconaccesstoggle = FALSE
var/voluntary_ghosted = FALSE //whether or not they voluntarily ghosted.
-
- var/flavor_text = ""
- var/flavor_text_2 = "" //version of the above that only lasts for the current round.
From 324f75c4db36be530a032239471a47a98ec31dac Mon Sep 17 00:00:00 2001
From: Ghommie <42542238+Ghommie@users.noreply.github.com>
Date: Thu, 5 Mar 2020 21:41:41 +0100
Subject: [PATCH 07/79] Makes the thing actually work.
---
code/datums/elements/flavor_text.dm | 62 ++++++++++++++-----
code/modules/mob/living/carbon/carbon.dm | 5 --
code/modules/mob/living/carbon/human/human.dm | 2 +-
3 files changed, 46 insertions(+), 23 deletions(-)
diff --git a/code/datums/elements/flavor_text.dm b/code/datums/elements/flavor_text.dm
index cdee3f44c0..989bf6d2cd 100644
--- a/code/datums/elements/flavor_text.dm
+++ b/code/datums/elements/flavor_text.dm
@@ -1,15 +1,15 @@
+GLOBAL_LIST_EMPTY(mobs_with_editable_flavor_text) //et tu, hacky code
+
/datum/element/flavor_text
element_flags = ELEMENT_BESPOKE|ELEMENT_DETACH
id_arg_index = 3
var/flavor_name = "Flavor Text"
- var/procpath/verb_instance
- var/invoke_proc
var/list/texts_by_mob = list()
var/addendum = "This can also be used for OOC notes and preferences!"
var/always_show = FALSE
var/max_len = MAX_FAVOR_LEN
-/datum/element/flavor_text/Attach(datum/target, text = "", _proc, _name = "Flavor Text", _desc = "Sets an extended description of your character's features.", _addendum, _max_len = MAX_FAVOR_LEN, _always_show = FALSE, can_edit = TRUE)
+/datum/element/flavor_text/Attach(datum/target, text = "", _name = "Flavor Text", _desc = "Sets an extended description of your character's features.", _addendum, _max_len = MAX_FAVOR_LEN, _always_show = FALSE, can_edit = TRUE)
. = ..()
if(. == ELEMENT_INCOMPATIBLE || !isatom(target)) //no reason why this shouldn't work on atoms too.
@@ -20,8 +20,6 @@
texts_by_mob[target] = copytext(text, 1, max_len)
if(_name)
flavor_name = _name
- if(_proc)
- invoke_proc = _proc
if(!isnull(addendum))
addendum = _addendum
always_show = _always_show
@@ -29,16 +27,20 @@
RegisterSignal(target, COMSIG_PARENT_EXAMINE, .proc/show_flavor)
if(can_edit && ismob(target)) //but only mobs receive the proc/verb for the time being
+ LAZYADD(GLOB.mobs_with_editable_flavor_text[target], src)
var/mob/M = target
- if(!verb_instance)
- verb_instance = new /datum/element/flavor_text/proc/set_flavor (src, "Set [_name]", _desc)
- M.verbs += verb_instance
+ M.verbs |= /mob/proc/manage_flavor_tests
/datum/element/flavor_text/Detach(atom/A)
. = ..()
UnregisterSignal(A, COMSIG_PARENT_EXAMINE)
texts_by_mob -= A
- A.verbs -= verb_instance
+ LAZYREMOVE(GLOB.mobs_with_editable_flavor_text[A], src)
+ if(!GLOB.mobs_with_editable_flavor_text[A])
+ GLOB.mobs_with_editable_flavor_text -= A
+ if(ismob(A))
+ var/mob/M = A
+ M.verbs -= /mob/proc/manage_flavor_tests
/datum/element/flavor_text/proc/show_flavor(atom/target, mob/user, list/examine_list)
if(!always_show && isliving(target))
@@ -72,23 +74,44 @@
onclose(usr, "[target.name]")
return TRUE
-/datum/element/flavor_text/proc/set_flavor()
+/mob/proc/manage_flavor_tests()
+ set name = "Manage Flavor Texts"
+ set name = "Used to manage your various flavor texts."
set category = "IC"
- if(!(usr in texts_by_mob))
+ var/list/L = GLOB.mobs_with_editable_flavor_text[src]
+
+ if(length(L) == 1)
+ var/datum/element/flavor_text/F = L[1]
+ F.set_flavor(src)
return
+ var/list/choices
+
+ for(var/i in L)
+ var/datum/element/flavor_text/F = i
+ LAZYSET(choices, F.flavor_name, F)
+
+ var/chosen = input(src, "Which flavor text would you like to modify?") as null|anything in choices
+ if(!chosen)
+ return
+ var/datum/element/flavor_text/F = choices[chosen]
+ F.set_flavor(src)
+
+/datum/element/flavor_text/proc/set_flavor(mob/user)
+ if(!(user in texts_by_mob))
+ return FALSE
+
var/lower_name = lowertext(flavor_name)
- var/new_text = stripped_multiline_input(usr, "Set the [lower_name] displayed on 'examine'. [addendum]", flavor_name, texts_by_mob[usr], max_len, TRUE)
- if(!isnull(new_text) && (usr in texts_by_mob))
- texts_by_mob[usr] = html_decode(new_text)
+ var/new_text = stripped_multiline_input(user, "Set the [lower_name] displayed on 'examine'. [addendum]", flavor_name, texts_by_mob[usr], max_len, TRUE)
+ if(!isnull(new_text) && (user in texts_by_mob))
+ texts_by_mob[user] = html_decode(new_text)
to_chat(src, "Your [lower_name] has been updated.")
- if(invoke_proc)
- INVOKE_ASYNC(usr, invoke_proc, new_text)
+ return TRUE
+ return FALSE
//subtypes with additional hooks for DNA and preferences.
/datum/element/flavor_text/carbon
- invoke_proc = /mob/living/carbon.proc/update_flavor_text_feature
/datum/element/flavor_text/carbon/Attach(datum/target, text = "", _proc, _name = "Flavor Text", _desc = "Sets an extended description of your character's features.", _addendum, _max_len = MAX_FAVOR_LEN, _always_show = FALSE, can_edit = TRUE)
if(!iscarbon(target))
@@ -110,3 +133,8 @@
/datum/element/flavor_text/carbon/proc/update_prefs_flavor_text(mob/living/carbon/human/H, datum/preferences/P, icon_updates = TRUE, roundstart_checks = TRUE)
texts_by_mob[H] = P.features["flavor_text"]
+
+/datum/element/flavor_text/carbon/set_flavor(mob/living/carbon/user)
+ . = ..()
+ if(. && user.dna)
+ user.dna.features["flavor_text"] = texts_by_mob[user]
\ No newline at end of file
diff --git a/code/modules/mob/living/carbon/carbon.dm b/code/modules/mob/living/carbon/carbon.dm
index 5f8b90bb5f..574a5aedd2 100644
--- a/code/modules/mob/living/carbon/carbon.dm
+++ b/code/modules/mob/living/carbon/carbon.dm
@@ -1010,8 +1010,3 @@
/mob/living/carbon/can_hold_items()
return TRUE
-
-/mob/living/carbon/proc/update_flavor_text_feature(new_text)
- if(!dna)
- return
- dna.features["flavor_text"] = new_text
diff --git a/code/modules/mob/living/carbon/human/human.dm b/code/modules/mob/living/carbon/human/human.dm
index b114c4e3b1..78f97c69bc 100644
--- a/code/modules/mob/living/carbon/human/human.dm
+++ b/code/modules/mob/living/carbon/human/human.dm
@@ -39,7 +39,7 @@
if(!CONFIG_GET(flag/disable_human_mood))
AddComponent(/datum/component/mood)
AddElement(/datum/element/flavor_text/carbon)
- AddElement(/datum/element/flavor_text, "", null, "Temporary Flavor Text",
+ AddElement(/datum/element/flavor_text, "", "Temporary Flavor Text",
"Sets a description of your character's current appearance. Use this for emotions, poses etc.",
"This should be used only for things pertaining to the current round!")
From 5ae796574497a312258dd31aad72f0238e3aacf0 Mon Sep 17 00:00:00 2001
From: Ghommie <42542238+Ghommie@users.noreply.github.com>
Date: Thu, 5 Mar 2020 22:06:48 +0100
Subject: [PATCH 08/79] Ok.
---
code/datums/elements/flavor_text.dm | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/code/datums/elements/flavor_text.dm b/code/datums/elements/flavor_text.dm
index 989bf6d2cd..61c549d222 100644
--- a/code/datums/elements/flavor_text.dm
+++ b/code/datums/elements/flavor_text.dm
@@ -76,7 +76,7 @@ GLOBAL_LIST_EMPTY(mobs_with_editable_flavor_text) //et tu, hacky code
/mob/proc/manage_flavor_tests()
set name = "Manage Flavor Texts"
- set name = "Used to manage your various flavor texts."
+ set desc = "Used to manage your various flavor texts."
set category = "IC"
var/list/L = GLOB.mobs_with_editable_flavor_text[src]
From 86baaf37101f8a396d28a9068f392d5436950eed Mon Sep 17 00:00:00 2001
From: monster860
Date: Fri, 6 Mar 2020 04:31:46 -0500
Subject: [PATCH 09/79] Pixel shifting for ERP
---
code/modules/keybindings/bindings_mob.dm | 20 +++++++++++++----
code/modules/mob/mob.dm | 28 ++++++++++++++++++++++++
2 files changed, 44 insertions(+), 4 deletions(-)
diff --git a/code/modules/keybindings/bindings_mob.dm b/code/modules/keybindings/bindings_mob.dm
index 964ee65047..36b4775c34 100644
--- a/code/modules/keybindings/bindings_mob.dm
+++ b/code/modules/keybindings/bindings_mob.dm
@@ -61,16 +61,28 @@
if(client.keys_held["Ctrl"])
switch(SSinput.movement_keys[_key])
if(NORTH)
- northface()
+ if(client.keys_held["Shift"])
+ northshift()
+ else
+ northface()
return
if(SOUTH)
- southface()
+ if(client.keys_held["Shift"])
+ southshift()
+ else
+ southface()
return
if(WEST)
- westface()
+ if(client.keys_held["Shift"])
+ westshift()
+ else
+ westface()
return
if(EAST)
- eastface()
+ if(client.keys_held["Shift"])
+ eastshift()
+ else
+ eastface()
return
return ..()
diff --git a/code/modules/mob/mob.dm b/code/modules/mob/mob.dm
index a523c22d53..43f4b82add 100644
--- a/code/modules/mob/mob.dm
+++ b/code/modules/mob/mob.dm
@@ -706,6 +706,34 @@ GLOBAL_VAR_INIT(exploit_warn_spam_prevention, 0)
client.last_turn = world.time + MOB_FACE_DIRECTION_DELAY
return TRUE
+/mob/verb/eastshift()
+ set hidden = TRUE
+ if(!canface())
+ return FALSE
+ if(pixel_x <= 16)
+ pixel_x++
+
+/mob/verb/westshift()
+ set hidden = TRUE
+ if(!canface())
+ return FALSE
+ if(pixel_x >= -16)
+ pixel_x--
+
+/mob/verb/northshift()
+ set hidden = TRUE
+ if(!canface())
+ return FALSE
+ if(pixel_y >= 16)
+ pixel_y++
+
+/mob/verb/southshift()
+ set hidden = TRUE
+ if(!canface())
+ return FALSE
+ if(pixel_y <= -16)
+ pixel_y--
+
/mob/proc/IsAdvancedToolUser()//This might need a rename but it should replace the can this mob use things check
return FALSE
From 4a108d7a9a4762e4daeb20333b1ca401170e1f24 Mon Sep 17 00:00:00 2001
From: monster860
Date: Fri, 6 Mar 2020 04:40:22 -0500
Subject: [PATCH 10/79] fixes oopsie
---
code/modules/mob/mob.dm | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/code/modules/mob/mob.dm b/code/modules/mob/mob.dm
index 43f4b82add..baab7ead40 100644
--- a/code/modules/mob/mob.dm
+++ b/code/modules/mob/mob.dm
@@ -724,14 +724,14 @@ GLOBAL_VAR_INIT(exploit_warn_spam_prevention, 0)
set hidden = TRUE
if(!canface())
return FALSE
- if(pixel_y >= 16)
+ if(pixel_y <= 16)
pixel_y++
/mob/verb/southshift()
set hidden = TRUE
if(!canface())
return FALSE
- if(pixel_y <= -16)
+ if(pixel_y >= -16)
pixel_y--
/mob/proc/IsAdvancedToolUser()//This might need a rename but it should replace the can this mob use things check
From 0fb623b7ca60c00959a2203a211285e34827c780 Mon Sep 17 00:00:00 2001
From: ZeroMan
Date: Fri, 6 Mar 2020 14:37:41 -0500
Subject: [PATCH 11/79] okay here we go
---
zerostation.dmm | 1777 +++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 1777 insertions(+)
create mode 100644 zerostation.dmm
diff --git a/zerostation.dmm b/zerostation.dmm
new file mode 100644
index 0000000000..90a3d0bc79
--- /dev/null
+++ b/zerostation.dmm
@@ -0,0 +1,1777 @@
+"aa" = (/turf/open/space/basic,/area/space)
+"ab" = (/turf/closed/wall/r_wall,/area/science/lab)
+"ac" = (/obj/structure/disposalpipe/trunk,/obj/structure/disposaloutlet{dir = 1},/turf/open/floor/plating,/area/maintenance/department/science/xenobiology)
+"ad" = (/turf/closed/wall/r_wall,/area/science/explab)
+"ae" = (/obj/effect/spawner/structure/window/reinforced,/turf/open/floor/plating,/area/science/lab)
+"af" = (/obj/structure/table,/obj/item/stack/sheet/glass/fifty{step_x = 2; step_y = 2},/obj/item/stack/sheet/metal/fifty{step_x = -3; step_y = -2},/obj/item/clothing/glasses/welding,/obj/machinery/light{dir = 1},/obj/effect/turf_decal/stripes/line{dir = 9},/turf/open/floor/plasteel/dark,/area/science/lab)
+"ag" = (/turf/closed/wall/r_wall,/area/science/nanite)
+"ah" = (/turf/closed/wall,/area/maintenance/department/science/xenobiology)
+"ai" = (/turf/closed/wall,/area/science/nanite)
+"aj" = (/obj/effect/spawner/structure/window/reinforced,/turf/open/floor/plating,/area/maintenance/department/science/xenobiology)
+"ak" = (/obj/effect/turf_decal/tile/neutral{dir = 1},/obj/effect/turf_decal/tile/neutral,/obj/effect/turf_decal/tile/neutral{dir = 4},/obj/effect/turf_decal/tile/neutral{dir = 8},/obj/effect/turf_decal/stripes/corner{dir = 8},/turf/open/floor/plasteel/dark,/area/science/xenobiology)
+"al" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/open/floor/plating,/area/space)
+"am" = (/obj/effect/spawner/structure/window/reinforced,/obj/structure/disposalpipe/segment,/turf/open/floor/plating,/area/maintenance/department/science/xenobiology)
+"an" = (/turf/open/floor/plating,/area/maintenance/department/science/xenobiology)
+"ao" = (/obj/effect/turf_decal/loading_area{dir = 4},/turf/open/floor/plasteel/dark,/area/science/lab)
+"ap" = (/obj/structure/disposalpipe/segment{dir = 5},/turf/open/floor/plating,/area/maintenance/department/science/xenobiology)
+"aq" = (/obj/machinery/atmospherics/pipe/simple/general/visible,/obj/effect/turf_decal/stripes/corner{dir = 4},/obj/effect/turf_decal/tile/neutral{dir = 1},/obj/effect/turf_decal/tile/neutral,/obj/effect/turf_decal/tile/neutral{dir = 4},/obj/effect/turf_decal/tile/neutral{dir = 8},/obj/structure/disposalpipe/segment{dir = 6},/obj/structure/cable,/obj/effect/turf_decal/stripes/corner{dir = 8},/turf/open/floor/plasteel/dark,/area/science/xenobiology)
+"ar" = (/obj/effect/turf_decal/tile/neutral{dir = 1},/obj/effect/turf_decal/tile/neutral,/obj/effect/turf_decal/tile/neutral{dir = 4},/obj/effect/turf_decal/tile/neutral{dir = 8},/obj/structure/disposalpipe/segment{dir = 4},/obj/effect/turf_decal/stripes/corner{dir = 4},/turf/open/floor/plasteel/dark,/area/science/xenobiology)
+"as" = (/obj/structure/disposalpipe/segment{dir = 4},/turf/open/floor/plating,/area/maintenance/department/science/xenobiology)
+"at" = (/obj/effect/turf_decal/stripes/corner,/turf/open/floor/plasteel/freezer,/area/science/lab)
+"au" = (/obj/structure/disposalpipe/segment{dir = 10},/turf/open/floor/plating{icon_state = "platingdmg2"},/area/maintenance/department/science/xenobiology)
+"av" = (/turf/closed/wall/r_wall,/area/science/xenobiology)
+"aw" = (/obj/structure/window/reinforced{dir = 8},/obj/machinery/rnd/production/techfab/department/science,/obj/effect/turf_decal/stripes/line{dir = 1},/obj/item/radio/intercom{pixel_y = 20},/obj/effect/turf_decal/bot{layer = 2},/turf/open/floor/plasteel/dark,/area/science/lab)
+"ax" = (/obj/structure/window/reinforced{dir = 4},/obj/machinery/rnd/production/circuit_imprinter/department/science,/obj/effect/turf_decal/stripes/line{dir = 5},/obj/machinery/camera,/obj/machinery/firealarm{pixel_y = 24},/obj/effect/turf_decal/bot{layer = 2},/turf/open/floor/plasteel/dark,/area/science/lab)
+"ay" = (/obj/structure/disposalpipe/segment,/turf/open/floor/plating,/area/maintenance/department/science/xenobiology)
+"az" = (/turf/open/floor/engine,/area/science/xenobiology)
+"aA" = (/obj/structure/disposalpipe/segment,/obj/structure/disposalpipe/segment,/turf/open/floor/plating,/area/maintenance/department/science/xenobiology)
+"aB" = (/obj/machinery/door/airlock/maintenance,/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/open/floor/plating,/area/space)
+"aC" = (/obj/effect/turf_decal/tile/purple{dir = 1},/obj/effect/turf_decal/tile/purple{dir = 8},/obj/effect/turf_decal/tile/purple{dir = 8},/obj/effect/turf_decal/tile/purple{dir = 4},/obj/effect/turf_decal/tile/purple{dir = 4},/obj/effect/turf_decal/stripes/line{dir = 1},/turf/open/floor/plasteel/freezer,/area/science/lab)
+"aD" = (/obj/effect/turf_decal/tile/purple{dir = 1},/obj/effect/turf_decal/tile/purple{dir = 4},/obj/effect/turf_decal/tile/purple{dir = 4},/obj/effect/turf_decal/stripes/line{dir = 1},/turf/open/floor/plasteel/freezer,/area/science/lab)
+"aE" = (/obj/machinery/light/small{brightness = 3; dir = 8},/turf/open/floor/engine,/area/science/xenobiology)
+"aF" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/open/floor/plating,/area/space)
+"aG" = (/obj/machinery/atmospherics/pipe/manifold/supply/hidden,/turf/open/floor/plating,/area/space)
+"aH" = (/obj/structure/cable,/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/open/floor/plating,/area/space)
+"aI" = (/obj/machinery/door/airlock/maintenance,/obj/structure/cable,/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/open/floor/plating,/area/space)
+"aJ" = (/obj/item/beacon,/turf/open/floor/engine,/area/science/xenobiology)
+"aK" = (/obj/effect/turf_decal/tile/purple{dir = 8},/obj/effect/turf_decal/tile/purple,/obj/effect/turf_decal/tile/purple,/turf/open/floor/plasteel/freezer,/area/science/lab)
+"aL" = (/obj/effect/turf_decal/tile/purple{dir = 8},/obj/machinery/light{dir = 8; light_color = "#e8eaff"},/turf/open/floor/plasteel/dark,/area/science/xenobiology)
+"aM" = (/obj/effect/turf_decal/tile/purple,/obj/machinery/light{dir = 4; light_color = "#e8eaff"},/turf/open/floor/plasteel/dark,/area/science/xenobiology)
+"aN" = (/obj/machinery/atmospherics/components/binary/pump{dir = 4},/obj/effect/turf_decal/tile/purple{dir = 8},/obj/machinery/airalarm{dir = 1; pixel_y = -24},/turf/open/floor/plasteel/dark,/area/science/xenobiology)
+"aO" = (/obj/structure/table/reinforced,/obj/machinery/door/firedoor,/obj/machinery/door/window/northleft,/turf/open/floor/plating,/area/science/lab)
+"aP" = (/obj/structure/filingcabinet/chestdrawer,/obj/effect/turf_decal/bot,/turf/open/floor/plasteel/dark,/area/science/lab)
+"aQ" = (/obj/structure/table,/obj/item/stack/sheet/metal/twenty,/obj/item/stack/sheet/glass/fifty{step_x = 2; step_y = 2},/obj/item/stock_parts/capacitor,/obj/item/stock_parts/scanning_module,/obj/item/stock_parts/micro_laser,/obj/item/stock_parts/micro_laser,/turf/open/floor/plasteel/dark,/area/science/lab)
+"aR" = (/obj/effect/turf_decal/stripes/line,/obj/machinery/atmospherics/pipe/manifold/supply/hidden{dir = 1},/turf/open/floor/plasteel/dark,/area/science/research)
+"aS" = (/obj/machinery/light/small{dir = 4},/turf/open/floor/engine,/area/science/xenobiology)
+"aT" = (/obj/machinery/atmospherics/components/unary/outlet_injector/on,/turf/open/floor/engine,/area/science/xenobiology)
+"aU" = (/obj/machinery/atmospherics/pipe/simple/general/visible,/turf/open/floor/engine,/area/science/xenobiology)
+"aV" = (/obj/structure/disposalpipe/segment{dir = 6},/turf/open/floor/engine,/area/science/xenobiology)
+"aW" = (/obj/structure/disposalpipe/trunk{dir = 8},/obj/structure/disposaloutlet{dir = 1},/turf/open/floor/engine,/area/science/xenobiology)
+"aX" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/structure/cable,/turf/open/floor/plating,/area/space)
+"aY" = (/obj/machinery/power/apc{pixel_x = 26},/turf/open/floor/plating,/area/maintenance/department/science/xenobiology)
+"aZ" = (/obj/machinery/shieldwallgen/xenobiologyaccess,/obj/structure/cable,/obj/effect/turf_decal/bot,/turf/open/floor/plating,/area/science/xenobiology)
+"ba" = (/obj/effect/spawner/structure/window/reinforced,/obj/machinery/door/poddoor/preopen,/obj/structure/cable,/turf/open/floor/plating,/area/science/xenobiology)
+"bb" = (/obj/machinery/atmospherics/pipe/simple/general/visible,/obj/machinery/door/poddoor/preopen,/obj/effect/turf_decal/stripes/line{dir = 8},/obj/effect/turf_decal/stripes/line{dir = 4},/obj/machinery/door/window/northleft,/obj/structure/cable,/turf/open/floor/engine,/area/science/xenobiology)
+"bc" = (/obj/effect/spawner/structure/window/reinforced,/obj/machinery/door/poddoor/preopen,/obj/structure/cable,/obj/structure/disposalpipe/segment,/turf/open/floor/plating,/area/science/xenobiology)
+"bd" = (/obj/effect/turf_decal/stripes/line{dir = 5},/obj/effect/turf_decal/tile/purple{dir = 1},/obj/item/crowbar/red,/obj/item/wrench,/turf/open/floor/plasteel/dark,/area/science/xenobiology)
+"be" = (/turf/closed/wall/r_wall,/area/space)
+"bf" = (/obj/structure/table/reinforced,/turf/open/floor/plasteel/dark,/area/science/xenobiology)
+"bg" = (/obj/structure/window/reinforced{dir = 4},/obj/structure/table/reinforced,/turf/open/floor/plasteel/dark,/area/science/xenobiology)
+"bh" = (/obj/structure/table,/obj/machinery/cell_charger,/obj/item/stock_parts/cell/high{step_y = 4},/obj/item/stock_parts/cell/high{step_x = -2; step_y = 7; charge = 100; maxcharge = 15000},/obj/machinery/light{dir = 8},/obj/effect/turf_decal/tile/purple{dir = 8},/obj/effect/turf_decal/tile/purple{dir = 1},/obj/effect/turf_decal/tile/purple{dir = 8},/obj/effect/turf_decal/tile/purple,/obj/machinery/requests_console{department = "Science"; departmentType = 2; name = "Science Requests Console"; pixel_x = 0; pixel_y = -30; receive_ore_updates = 1},/obj/item/toy/figure/scientist{pixel_x = -6; pixel_y = 6},/turf/open/floor/plasteel/freezer,/area/science/lab)
+"bi" = (/obj/effect/turf_decal/stripes/line{dir = 1},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 10},/obj/structure/cable,/turf/open/floor/plasteel/dark,/area/security/checkpoint/science)
+"bj" = (/obj/machinery/atmospherics/pipe/simple/general/visible,/obj/effect/turf_decal/stripes/line{dir = 8},/obj/effect/turf_decal/stripes/line{dir = 4},/obj/machinery/door/window/southleft,/obj/structure/cable,/turf/open/floor/plasteel/dark,/area/science/xenobiology)
+"bk" = (/obj/structure/window/reinforced{dir = 8; layer = 2.9},/obj/machinery/disposal/bin,/obj/effect/turf_decal/bot,/obj/structure/disposalpipe/trunk{dir = 1},/turf/open/floor/plasteel/dark,/area/science/xenobiology)
+"bl" = (/obj/structure/table/reinforced,/obj/machinery/computer/security/telescreen,/turf/open/floor/plasteel/dark,/area/science/xenobiology)
+"bm" = (/obj/structure/table/reinforced,/obj/item/clothing/mask/gas,/obj/item/clothing/mask/gas,/obj/item/clothing/glasses/science,/obj/item/clothing/glasses/science,/turf/open/floor/plasteel/dark,/area/science/xenobiology)
+"bn" = (/obj/effect/turf_decal/stripes/line{dir = 1},/turf/open/floor/plasteel/dark,/area/security/checkpoint/science)
+"bo" = (/obj/effect/spawner/lootdrop/maintenance,/turf/open/floor/plating,/area/space)
+"bp" = (/obj/effect/turf_decal/stripes/line{dir = 9},/obj/effect/turf_decal/tile/purple{dir = 4},/turf/open/floor/plasteel/dark,/area/science/xenobiology)
+"bq" = (/obj/effect/turf_decal/tile/purple{dir = 4},/obj/effect/turf_decal/tile/purple,/turf/open/floor/plasteel/dark,/area/science/nanite)
+"br" = (/obj/machinery/door/airlock/maintenance,/turf/open/floor/plating,/area/maintenance/department/science/xenobiology)
+"bs" = (/obj/machinery/atmospherics/pipe/simple/general/visible{dir = 4},/obj/effect/turf_decal/tile/purple{dir = 8},/obj/effect/turf_decal/stripes/corner,/turf/open/floor/plasteel/dark,/area/science/xenobiology)
+"bt" = (/obj/effect/turf_decal/stripes/line{dir = 1},/obj/effect/turf_decal/tile/neutral{dir = 1},/obj/effect/turf_decal/tile/neutral,/obj/effect/turf_decal/tile/neutral{dir = 4},/obj/effect/turf_decal/tile/neutral{dir = 8},/turf/open/floor/plasteel/dark,/area/science/xenobiology)
+"bu" = (/obj/machinery/atmospherics/pipe/simple/general/visible{dir = 4},/obj/effect/turf_decal/tile/purple,/obj/effect/turf_decal/stripes/corner{dir = 1; step_x = 0; step_y = 0},/turf/open/floor/plasteel/dark,/area/science/xenobiology)
+"bv" = (/obj/effect/turf_decal/stripes/line{dir = 1},/obj/effect/turf_decal/tile/neutral{dir = 1},/obj/effect/turf_decal/tile/neutral,/obj/effect/turf_decal/tile/neutral{dir = 4},/obj/effect/turf_decal/tile/neutral{dir = 8},/obj/structure/disposalpipe/segment{dir = 4},/turf/open/floor/plasteel/dark,/area/science/xenobiology)
+"bw" = (/obj/machinery/atmospherics/components/binary/pump{dir = 8},/obj/effect/turf_decal/tile/purple,/turf/open/floor/plasteel/dark,/area/science/xenobiology)
+"bx" = (/obj/machinery/door/airlock/maintenance,/obj/structure/disposalpipe/segment{dir = 4},/turf/open/floor/plating,/area/maintenance/department/science/xenobiology)
+"by" = (/turf/closed/wall,/area/science/explab)
+"bz" = (/obj/structure/disposalpipe/segment{dir = 9},/turf/open/floor/plating,/area/maintenance/department/science/xenobiology)
+"bA" = (/obj/effect/turf_decal/stripes/corner{dir = 4},/obj/effect/turf_decal/stripes/corner{dir = 1},/obj/effect/turf_decal/tile/purple{dir = 8},/obj/effect/turf_decal/tile/purple{dir = 1},/obj/structure/cable,/turf/open/floor/plasteel/dark,/area/science/xenobiology)
+"bB" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/structure/cable,/turf/open/floor/plating,/area/space)
+"bC" = (/obj/effect/turf_decal/stripes/corner,/obj/effect/turf_decal/tile/purple,/obj/effect/turf_decal/tile/purple{dir = 4},/obj/structure/cable,/obj/effect/turf_decal/stripes/corner{dir = 8},/turf/open/floor/plasteel/dark,/area/science/xenobiology)
+"bD" = (/turf/open/floor/plasteel/dark,/area/science/xenobiology)
+"bE" = (/obj/machinery/atmospherics/components/unary/vent_scrubber/on,/turf/open/floor/plasteel/dark,/area/science/xenobiology)
+"bF" = (/obj/machinery/door/airlock/maintenance,/turf/open/floor/plating,/area/space)
+"bG" = (/obj/machinery/atmospherics/pipe/simple/general/visible,/obj/effect/turf_decal/tile/neutral{dir = 1},/obj/effect/turf_decal/tile/neutral,/obj/effect/turf_decal/tile/neutral{dir = 4},/obj/effect/turf_decal/tile/neutral{dir = 8},/obj/structure/disposalpipe/segment,/obj/structure/cable,/obj/machinery/holopad,/obj/effect/turf_decal/bot,/turf/open/floor/plasteel/dark,/area/science/xenobiology)
+"bH" = (/obj/machinery/atmospherics/components/unary/vent_pump/on,/turf/open/floor/plasteel/dark,/area/science/xenobiology)
+"bI" = (/obj/effect/turf_decal/tile/purple{dir = 8},/obj/machinery/light{dir = 8; light_color = "#e8eaff"},/obj/effect/turf_decal/stripes/corner{dir = 4},/turf/open/floor/plasteel/dark,/area/science/xenobiology)
+"bJ" = (/obj/effect/turf_decal/tile/purple,/obj/machinery/light{dir = 4; light_color = "#e8eaff"},/obj/effect/turf_decal/stripes/corner{dir = 8},/turf/open/floor/plasteel/dark,/area/science/xenobiology)
+"bK" = (/obj/effect/spawner/lootdrop/maintenance,/turf/open/floor/plating,/area/maintenance/department/science/xenobiology)
+"bL" = (/turf/open/floor/plating{icon_state = "platingdmg1"},/area/maintenance/department/science/xenobiology)
+"bM" = (/obj/machinery/portable_atmospherics/canister/bz,/obj/machinery/atmospherics/components/unary/portables_connector/visible{dir = 4},/obj/effect/turf_decal/delivery,/turf/open/floor/plasteel/dark,/area/science/xenobiology)
+"bN" = (/obj/effect/turf_decal/stripes/line{dir = 1},/turf/open/floor/plating,/area/space)
+"bO" = (/obj/effect/turf_decal/tile/purple{dir = 8},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/open/floor/plasteel/dark,/area/science/xenobiology)
+"bP" = (/obj/machinery/door/airlock/maintenance,/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/structure/cable,/turf/open/floor/plating,/area/space)
+"bQ" = (/obj/effect/turf_decal/tile/purple,/turf/open/floor/plasteel/dark,/area/science/xenobiology)
+"bR" = (/obj/machinery/atmospherics/pipe/simple/general/visible{dir = 4},/obj/effect/turf_decal/tile/purple{dir = 8},/obj/effect/turf_decal/stripes/line,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/open/floor/plasteel/dark,/area/science/xenobiology)
+"bS" = (/obj/machinery/atmospherics/pipe/manifold/general/visible,/obj/effect/turf_decal/tile/neutral{dir = 1},/obj/effect/turf_decal/tile/neutral,/obj/effect/turf_decal/tile/neutral{dir = 4},/obj/effect/turf_decal/tile/neutral{dir = 8},/obj/structure/disposalpipe/segment,/obj/effect/turf_decal/stripes/line,/obj/structure/cable,/turf/open/floor/plasteel/dark,/area/science/xenobiology)
+"bT" = (/obj/machinery/atmospherics/pipe/simple/general/visible{dir = 4},/obj/effect/turf_decal/tile/purple,/obj/effect/turf_decal/stripes/line,/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/open/floor/plasteel/dark,/area/science/xenobiology)
+"bU" = (/obj/effect/turf_decal/tile/neutral{dir = 8; step_y = 0},/obj/effect/turf_decal/tile/neutral{dir = 4},/obj/effect/turf_decal/tile/neutral{dir = 1},/obj/effect/turf_decal/tile/neutral,/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/open/floor/plasteel/dark,/area/science/xenobiology)
+"bV" = (/obj/effect/turf_decal/tile/neutral,/obj/effect/turf_decal/tile/neutral{dir = 1},/obj/effect/turf_decal/tile/neutral{dir = 4},/obj/effect/turf_decal/tile/neutral{dir = 8; step_y = 0},/turf/open/floor/plasteel/dark,/area/science/xenobiology)
+"bW" = (/obj/machinery/portable_atmospherics/canister,/obj/machinery/atmospherics/components/unary/portables_connector/visible{dir = 8},/obj/effect/turf_decal/delivery,/turf/open/floor/plasteel/dark,/area/science/xenobiology)
+"bX" = (/turf/closed/wall,/area/space)
+"bY" = (/obj/structure/closet,/obj/item/clothing/mask/gas,/obj/item/toy/plush/slimeplushie,/turf/open/floor/plating,/area/maintenance/department/science/xenobiology)
+"bZ" = (/turf/closed/wall,/area/science/xenobiology)
+"ca" = (/obj/machinery/door/firedoor,/obj/effect/turf_decal/delivery,/obj/machinery/door/poddoor/preopen,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/open/floor/plasteel/dark,/area/science/xenobiology)
+"cb" = (/obj/structure/disposalpipe/segment,/obj/machinery/door/firedoor,/obj/effect/turf_decal/delivery,/obj/machinery/door/poddoor/preopen,/obj/structure/cable,/turf/open/floor/plasteel/dark,/area/science/xenobiology)
+"cc" = (/obj/machinery/door/firedoor,/obj/effect/turf_decal/delivery,/obj/machinery/door/poddoor/preopen,/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/open/floor/plasteel/dark,/area/science/xenobiology)
+"cd" = (/obj/effect/spawner/structure/window/reinforced,/obj/structure/cable,/obj/machinery/door/poddoor/preopen,/turf/open/floor/plating,/area/science/xenobiology)
+"ce" = (/obj/structure/window/reinforced,/obj/structure/table/reinforced,/turf/open/floor/plasteel/dark,/area/science/xenobiology)
+"cf" = (/turf/closed/wall/r_wall,/area/science/research)
+"cg" = (/obj/effect/turf_decal/tile/purple{dir = 1},/obj/effect/turf_decal/stripes/line{dir = 9},/turf/open/floor/plasteel/dark,/area/science/xenobiology)
+"ch" = (/obj/effect/turf_decal/stripes/line{dir = 1},/obj/effect/turf_decal/tile/neutral,/obj/effect/turf_decal/tile/neutral{dir = 4},/obj/effect/turf_decal/tile/purple{dir = 1},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/open/floor/plasteel/dark,/area/science/xenobiology)
+"ci" = (/obj/effect/turf_decal/tile/neutral{dir = 1},/obj/effect/turf_decal/tile/neutral,/obj/effect/turf_decal/tile/neutral{dir = 4},/obj/effect/turf_decal/tile/neutral{dir = 8},/obj/structure/disposalpipe/segment,/obj/effect/turf_decal/stripes/line{dir = 1},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/structure/cable,/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 6},/turf/open/floor/plasteel/dark,/area/science/xenobiology)
+"cj" = (/obj/effect/turf_decal/stripes/line{dir = 1},/obj/effect/turf_decal/tile/neutral{dir = 8; step_y = 0},/obj/effect/turf_decal/tile/neutral{dir = 1},/obj/effect/turf_decal/tile/purple{dir = 4},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 9},/turf/open/floor/plasteel/dark,/area/science/xenobiology)
+"ck" = (/obj/effect/turf_decal/tile/purple{dir = 4},/obj/effect/turf_decal/stripes/line{dir = 5},/turf/open/floor/plasteel/dark,/area/science/xenobiology)
+"cl" = (/obj/machinery/light/small{dir = 8},/turf/open/floor/engine,/area/science/xenobiology)
+"cm" = (/turf/closed/wall,/area/science/research)
+"cn" = (/obj/machinery/door/window/westleft,/obj/effect/turf_decal/stripes/line,/obj/effect/turf_decal/stripes/line{dir = 1},/obj/machinery/door/poddoor/preopen,/obj/structure/cable,/turf/open/floor/engine,/area/science/xenobiology)
+"co" = (/obj/machinery/door/window/eastright,/obj/effect/turf_decal/stripes/line,/obj/effect/turf_decal/stripes/line{dir = 1},/obj/structure/cable,/turf/open/floor/plasteel/dark,/area/science/xenobiology)
+"cp" = (/obj/effect/turf_decal/tile/purple{dir = 1},/obj/effect/turf_decal/stripes/corner{dir = 1},/turf/open/floor/plasteel/dark,/area/science/xenobiology)
+"cq" = (/obj/effect/turf_decal/tile/neutral,/obj/effect/turf_decal/tile/neutral{dir = 4},/obj/effect/turf_decal/tile/neutral{dir = 8; step_y = 0},/obj/effect/turf_decal/tile/neutral{dir = 1},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/structure/cable,/turf/open/floor/plasteel/dark,/area/science/xenobiology)
+"cr" = (/obj/effect/turf_decal/tile/neutral{dir = 1},/obj/effect/turf_decal/tile/neutral,/obj/effect/turf_decal/tile/neutral{dir = 4},/obj/effect/turf_decal/tile/neutral{dir = 8},/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/structure/cable,/turf/open/floor/plasteel/dark,/area/science/xenobiology)
+"cs" = (/turf/closed/wall,/area/security/checkpoint/science)
+"ct" = (/obj/effect/spawner/structure/window/reinforced,/turf/open/floor/plating,/area/security/checkpoint/science)
+"cu" = (/obj/effect/turf_decal/tile/neutral{dir = 8; step_y = 0},/obj/effect/turf_decal/tile/neutral{dir = 1},/obj/effect/turf_decal/tile/neutral,/obj/effect/turf_decal/tile/neutral{dir = 4},/obj/structure/cable,/turf/open/floor/plasteel/dark,/area/science/xenobiology)
+"cv" = (/obj/structure/closet/firecloset{anchored = 1},/obj/effect/turf_decal/stripes/end,/obj/effect/turf_decal/delivery{layer = 1.99},/turf/open/floor/plasteel/dark,/area/science/research)
+"cw" = (/obj/effect/turf_decal/tile/purple{dir = 4},/obj/effect/turf_decal/stripes/corner,/turf/open/floor/plasteel/dark,/area/science/xenobiology)
+"cx" = (/obj/machinery/door/window/westleft,/obj/effect/turf_decal/stripes/line,/obj/effect/turf_decal/stripes/line{dir = 1},/obj/structure/cable,/turf/open/floor/plasteel/dark,/area/science/xenobiology)
+"cy" = (/obj/structure/table,/obj/machinery/recharger,/obj/effect/turf_decal/delivery,/turf/open/floor/plasteel/dark,/area/security/checkpoint/science)
+"cz" = (/obj/structure/filingcabinet,/obj/effect/turf_decal/delivery,/turf/open/floor/plasteel/dark,/area/security/checkpoint/science)
+"cA" = (/obj/machinery/shower{dir = 4},/obj/structure/extinguisher_cabinet{pixel_x = -27},/obj/effect/turf_decal/stripes/line{dir = 4},/turf/open/floor/plasteel/freezer,/area/science/research)
+"cB" = (/obj/machinery/door/window/eastright,/obj/effect/turf_decal/stripes/line,/obj/effect/turf_decal/stripes/line{dir = 1},/obj/machinery/door/poddoor/preopen,/obj/structure/cable,/turf/open/floor/engine,/area/science/xenobiology)
+"cC" = (/turf/open/floor/plasteel/dark,/area/science/research)
+"cD" = (/obj/structure/disposalpipe/trunk{dir = 4},/obj/structure/disposaloutlet{dir = 1},/turf/open/floor/engine,/area/science/xenobiology)
+"cE" = (/obj/structure/disposalpipe/segment{dir = 4},/turf/open/floor/engine,/area/science/xenobiology)
+"cF" = (/obj/effect/spawner/structure/window/reinforced,/obj/structure/cable,/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/door/poddoor/preopen,/turf/open/floor/plating,/area/science/xenobiology)
+"cG" = (/obj/machinery/atmospherics/components/unary/vent_scrubber/on{dir = 1},/turf/open/floor/plasteel/dark,/area/security/checkpoint/science)
+"cH" = (/turf/open/floor/plasteel/dark,/area/security/checkpoint/science)
+"cI" = (/obj/structure/window/reinforced{dir = 1},/obj/machinery/disposal/bin,/obj/effect/turf_decal/bot,/obj/structure/disposalpipe/trunk{dir = 8},/turf/open/floor/plasteel/dark,/area/science/xenobiology)
+"cJ" = (/obj/effect/turf_decal/stripes/line{dir = 8},/obj/effect/turf_decal/tile/purple{dir = 8},/turf/open/floor/plasteel/dark,/area/science/xenobiology)
+"cK" = (/obj/structure/sink{dir = 8; pixel_x = 5; pixel_y = 0},/obj/structure/sink{dir = 4; pixel_x = -5},/obj/effect/turf_decal/delivery,/turf/open/floor/plasteel/dark,/area/science/research)
+"cL" = (/obj/effect/turf_decal/tile/neutral,/obj/effect/turf_decal/tile/neutral{dir = 4},/obj/effect/turf_decal/tile/purple{dir = 8},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/open/floor/plasteel/dark,/area/science/xenobiology)
+"cM" = (/obj/machinery/atmospherics/components/unary/vent_pump/on{dir = 4; external_pressure_bound = 140},/turf/open/floor/plasteel/dark,/area/security/checkpoint/science)
+"cN" = (/obj/structure/chair/office/light,/obj/effect/turf_decal/tile/red{dir = 1},/obj/effect/turf_decal/tile/red{dir = 4},/obj/effect/turf_decal/tile/red{dir = 4},/turf/open/floor/plasteel/freezer,/area/security/checkpoint/science)
+"cO" = (/obj/effect/turf_decal/tile/neutral{dir = 8; step_y = 0},/obj/effect/turf_decal/tile/neutral{dir = 1},/obj/effect/turf_decal/tile/purple,/turf/open/floor/plasteel/dark,/area/science/xenobiology)
+"cP" = (/obj/effect/turf_decal/stripes/line{dir = 4},/obj/effect/turf_decal/tile/purple,/turf/open/floor/plasteel/dark,/area/science/xenobiology)
+"cQ" = (/obj/structure/window/reinforced{dir = 1},/obj/machinery/disposal/bin,/obj/effect/turf_decal/bot,/obj/structure/disposalpipe/trunk{dir = 4},/turf/open/floor/plasteel/dark,/area/science/xenobiology)
+"cR" = (/obj/structure/table,/obj/item/book/manual/wiki/security_space_law,/obj/machinery/newscaster/security_unit{pixel_y = -29},/obj/effect/turf_decal/tile/red,/obj/effect/turf_decal/tile/red{dir = 8},/obj/effect/turf_decal/tile/red{dir = 8},/obj/effect/turf_decal/tile/red{dir = 1},/obj/machinery/firealarm{dir = 8; pixel_x = -26},/obj/machinery/light,/turf/open/floor/plasteel/freezer,/area/security/checkpoint/science)
+"cS" = (/obj/machinery/computer/secure_data{dir = 1},/obj/effect/turf_decal/tile/red,/obj/effect/turf_decal/tile/red{dir = 8},/obj/effect/turf_decal/tile/red{dir = 8},/turf/open/floor/plasteel/freezer,/area/security/checkpoint/science)
+"cT" = (/obj/structure/sign/departments/xenobio,/turf/closed/wall/r_wall,/area/science/xenobiology)
+"cU" = (/obj/structure/grille/broken,/turf/open/floor/plating{icon_state = "platingdmg3"},/area/maintenance/department/science/xenobiology)
+"cV" = (/obj/structure/girder,/obj/structure/grille,/turf/open/floor/plating,/area/maintenance/department/science/xenobiology)
+"cW" = (/obj/structure/lattice,/obj/structure/grille,/turf/open/space/basic,/area/space)
+"cX" = (/obj/effect/turf_decal/tile/red{dir = 4},/obj/effect/turf_decal/tile/red{dir = 4},/obj/effect/turf_decal/tile/red{dir = 1},/obj/effect/turf_decal/tile/red{dir = 8},/obj/effect/turf_decal/tile/red{dir = 8},/turf/open/floor/plasteel/freezer,/area/security/checkpoint/science)
+"cY" = (/obj/structure/lattice,/obj/structure/grille/broken,/turf/open/space/basic,/area/space)
+"cZ" = (/turf/open/floor/plating{icon_state = "platingdmg3"},/area/maintenance/department/science/xenobiology)
+"da" = (/obj/effect/turf_decal/tile/purple{dir = 8},/obj/effect/turf_decal/stripes/line{dir = 8},/turf/open/floor/plasteel/dark,/area/science/xenobiology)
+"db" = (/obj/effect/turf_decal/tile/neutral{dir = 4},/obj/effect/turf_decal/tile/neutral,/obj/effect/turf_decal/tile/purple{dir = 8},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/open/floor/plasteel/dark,/area/science/xenobiology)
+"dc" = (/obj/effect/turf_decal/tile/neutral{dir = 1},/obj/effect/turf_decal/tile/neutral{dir = 8; step_y = 0},/obj/effect/turf_decal/tile/purple,/turf/open/floor/plasteel/dark,/area/science/xenobiology)
+"dd" = (/turf/closed/wall,/area/science/robotics/mechbay)
+"de" = (/obj/effect/turf_decal/caution{dir = 4; step_x = 2; pixel_x = -10},/turf/open/floor/plasteel/dark,/area/science/lab)
+"df" = (/obj/effect/turf_decal/tile/purple{dir = 8},/obj/effect/turf_decal/tile/neutral{dir = 4},/obj/effect/turf_decal/tile/neutral,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/open/floor/plasteel/dark,/area/science/xenobiology)
+"dg" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 6},/turf/open/floor/plating,/area/maintenance/department/science/xenobiology)
+"dh" = (/obj/machinery/computer/mech_bay_power_console,/turf/open/floor/circuit/green,/area/science/robotics/mechbay)
+"di" = (/obj/machinery/light{dir = 1},/obj/machinery/airalarm{pixel_y = 23},/turf/open/floor/mech_bay_recharge_floor,/area/science/robotics/mechbay)
+"dj" = (/obj/machinery/mech_bay_recharge_port{dir = 8},/obj/effect/turf_decal/bot,/turf/open/floor/plating,/area/science/robotics/mechbay)
+"dk" = (/obj/machinery/door/poddoor/shutters,/turf/open/floor/plasteel,/area/science/robotics/mechbay)
+"dl" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/open/floor/plating,/area/maintenance/department/science/xenobiology)
+"dm" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/closed/wall/r_wall,/area/science/xenobiology)
+"dn" = (/obj/effect/turf_decal/tile/red{dir = 4},/obj/effect/turf_decal/tile/red,/obj/effect/turf_decal/tile/red{dir = 4},/obj/effect/turf_decal/tile/red{dir = 1},/turf/open/floor/plasteel/freezer,/area/security/checkpoint/science)
+"do" = (/obj/effect/turf_decal/tile/purple{dir = 1},/obj/effect/turf_decal/tile/purple{dir = 8},/obj/effect/turf_decal/tile/purple{dir = 8},/turf/open/floor/plasteel/dark,/area/science/research)
+"dp" = (/obj/machinery/atmospherics/components/unary/tank/air,/obj/effect/turf_decal/tile/neutral,/obj/effect/turf_decal/tile/neutral{dir = 8; step_y = 0},/obj/effect/turf_decal/delivery,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/open/floor/plasteel/dark,/area/science/xenobiology)
+"dq" = (/obj/machinery/portable_atmospherics/canister/air,/obj/machinery/atmospherics/components/unary/portables_connector/visible,/obj/effect/turf_decal/tile/neutral,/obj/effect/turf_decal/tile/neutral{dir = 8; step_y = 0},/obj/effect/turf_decal/delivery,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/machinery/light{dir = 1},/turf/open/floor/plasteel/dark,/area/science/xenobiology)
+"dr" = (/turf/open/floor/mech_bay_recharge_floor,/area/science/robotics/mechbay)
+"ds" = (/obj/structure/closet/l3closet/scientist,/obj/effect/turf_decal/tile/neutral,/obj/effect/turf_decal/tile/neutral{dir = 8; step_y = 0},/obj/effect/turf_decal/bot,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/open/floor/plasteel/dark,/area/science/xenobiology)
+"dt" = (/obj/effect/spawner/structure/window/reinforced,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/open/floor/plating,/area/science/xenobiology)
+"du" = (/obj/effect/turf_decal/tile/purple,/obj/effect/turf_decal/tile/neutral{dir = 1},/obj/effect/turf_decal/tile/neutral{dir = 8},/turf/open/floor/plasteel/dark,/area/science/xenobiology)
+"dv" = (/obj/effect/turf_decal/tile/purple,/obj/effect/turf_decal/stripes/line{dir = 4},/turf/open/floor/plasteel/dark,/area/science/xenobiology)
+"dw" = (/obj/effect/turf_decal/tile/neutral{dir = 4},/obj/effect/turf_decal/tile/neutral,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/machinery/light{dir = 8; light_color = "#e8eaff"},/obj/effect/turf_decal/stripes/corner{dir = 1},/turf/open/floor/plasteel/dark,/area/science/xenobiology)
+"dx" = (/obj/effect/turf_decal/tile/neutral{dir = 4},/obj/effect/turf_decal/tile/neutral,/obj/effect/turf_decal/tile/purple{dir = 8},/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{dir = 4},/turf/open/floor/plasteel/dark,/area/science/xenobiology)
+"dy" = (/obj/effect/turf_decal/tile/neutral{dir = 4},/obj/effect/turf_decal/tile/neutral{dir = 8; step_y = 0},/obj/effect/turf_decal/tile/neutral{dir = 1},/obj/effect/turf_decal/tile/neutral,/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/structure/cable,/turf/open/floor/plasteel/dark,/area/science/xenobiology)
+"dz" = (/obj/structure/closet/crate,/obj/item/wirerod,/obj/item/storage/box/lights/mixed,/obj/item/flashlight,/turf/open/floor/plating,/area/maintenance/department/science/xenobiology)
+"dA" = (/obj/machinery/light{dir = 1},/obj/structure/chair,/obj/effect/spawner/lootdrop/maintenance,/turf/open/floor/plating,/area/maintenance/department/science/xenobiology)
+"dB" = (/obj/structure/closet/l3closet/scientist,/turf/open/floor/plating,/area/maintenance/department/science/xenobiology)
+"dC" = (/turf/closed/wall/r_wall,/area/science/robotics/lab)
+"dD" = (/obj/effect/spawner/structure/window/reinforced,/turf/open/floor/plating,/area/science/robotics/lab)
+"dE" = (/obj/machinery/door/airlock/maintenance,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/open/floor/plating,/area/space)
+"dF" = (/obj/structure/table,/obj/item/storage/toolbox/mechanical{step_y = 0},/obj/item/multitool{step_x = 1},/obj/effect/turf_decal/tile/purple{dir = 1},/obj/effect/turf_decal/tile/purple{dir = 4},/obj/effect/turf_decal/tile/purple{dir = 4},/obj/effect/turf_decal/tile/purple{dir = 8},/obj/effect/turf_decal/tile/purple{dir = 8},/obj/effect/turf_decal/stripes/line{dir = 8},/obj/item/stack/cable_coil,/turf/open/floor/plasteel/freezer,/area/science/lab)
+"dG" = (/obj/effect/turf_decal/tile/neutral{dir = 1},/obj/effect/turf_decal/tile/neutral{dir = 8},/obj/machinery/light{dir = 4; light_color = "#e8eaff"},/obj/effect/turf_decal/stripes/corner,/turf/open/floor/plasteel/dark,/area/science/xenobiology)
+"dH" = (/turf/closed/wall/r_wall,/area/maintenance/department/science/xenobiology)
+"dI" = (/obj/machinery/power/solar{id = "forestarboard"; name = "Fore-Starboard Solar Array"},/obj/structure/cable,/turf/open/floor/plasteel/airless/solarpanel,/area/space)
+"dJ" = (/obj/structure/lattice/catwalk,/obj/structure/cable,/turf/open/space/basic,/area/space)
+"dK" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/open/floor/plating,/area/maintenance/department/science/xenobiology)
+"dL" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 6},/turf/open/floor/plating,/area/maintenance/department/science/xenobiology)
+"dM" = (/obj/machinery/atmospherics/components/binary/valve{dir = 4},/turf/open/floor/plating,/area/maintenance/department/science/xenobiology)
+"dN" = (/obj/machinery/door/airlock/maintenance,/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/open/floor/plating,/area/maintenance/department/science/xenobiology)
+"dO" = (/obj/machinery/mecha_part_fabricator,/obj/effect/turf_decal/tile/neutral{dir = 1},/obj/effect/turf_decal/tile/neutral{dir = 4},/obj/effect/turf_decal/delivery,/turf/open/floor/plasteel/dark,/area/science/robotics/lab)
+"dP" = (/obj/structure/table,/obj/item/stack/sheet/metal/fifty,/obj/item/stack/sheet/metal/fifty,/obj/item/stack/sheet/metal/fifty,/obj/item/stack/sheet/glass/fifty,/obj/item/clothing/head/welding,/obj/effect/turf_decal/tile/neutral,/obj/effect/turf_decal/tile/neutral{dir = 4},/turf/open/floor/plasteel/dark,/area/science/robotics/lab)
+"dQ" = (/obj/structure/table,/obj/item/stack/sheet/metal/fifty,/obj/item/stack/sheet/metal/fifty,/obj/item/stack/sheet/metal/fifty,/obj/item/stack/sheet/glass/fifty,/obj/item/clothing/head/welding,/obj/effect/turf_decal/tile/neutral{dir = 1},/obj/effect/turf_decal/tile/neutral{dir = 4},/obj/effect/turf_decal/tile/neutral,/turf/open/floor/plasteel/dark,/area/science/robotics/lab)
+"dR" = (/obj/machinery/door/firedoor,/obj/structure/table/reinforced,/obj/machinery/door/window/eastright,/turf/open/floor/plating,/area/science/robotics/lab)
+"dS" = (/obj/effect/turf_decal/stripes/line{dir = 1},/obj/machinery/atmospherics/pipe/manifold/supply/visible,/turf/open/floor/plasteel/freezer,/area/science/xenobiology)
+"dT" = (/obj/effect/turf_decal/tile/purple{dir = 8},/obj/effect/turf_decal/tile/purple{dir = 1},/obj/effect/turf_decal/tile/purple{dir = 1},/obj/effect/turf_decal/tile/purple{dir = 4},/obj/effect/turf_decal/stripes/line{dir = 9},/turf/open/floor/plasteel/freezer,/area/science/robotics/lab)
+"dU" = (/obj/effect/turf_decal/stripes/line{dir = 1},/obj/effect/turf_decal/tile/purple{dir = 1},/obj/effect/turf_decal/tile/purple{dir = 1},/obj/effect/turf_decal/tile/purple{dir = 4},/turf/open/floor/plasteel/freezer,/area/science/robotics/lab)
+"dV" = (/obj/effect/turf_decal/stripes/corner{dir = 4},/obj/effect/turf_decal/stripes/corner{dir = 1},/obj/effect/turf_decal/tile/purple{dir = 8},/obj/effect/turf_decal/tile/purple{dir = 1},/obj/effect/turf_decal/tile/neutral{dir = 4},/obj/effect/turf_decal/tile/neutral,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/structure/cable,/turf/open/floor/plasteel/dark,/area/science/xenobiology)
+"dW" = (/obj/effect/turf_decal/stripes/corner,/obj/effect/turf_decal/tile/purple,/obj/effect/turf_decal/tile/purple{dir = 4},/obj/effect/turf_decal/tile/neutral{dir = 1},/obj/effect/turf_decal/tile/neutral{dir = 8},/obj/structure/cable,/obj/effect/turf_decal/stripes/corner{dir = 8},/turf/open/floor/plasteel/dark,/area/science/xenobiology)
+"dX" = (/obj/effect/turf_decal/stripes/line{dir = 5},/obj/effect/turf_decal/tile/purple{dir = 4},/obj/effect/turf_decal/tile/purple{dir = 1},/obj/effect/turf_decal/tile/purple{dir = 1},/obj/effect/turf_decal/tile/purple,/obj/effect/turf_decal/tile/purple,/turf/open/floor/plasteel/freezer,/area/science/robotics/lab)
+"dY" = (/obj/effect/turf_decal/tile/neutral{dir = 4},/obj/effect/turf_decal/tile/neutral,/obj/structure/table,/obj/item/bodypart/chest/robot,/obj/item/bodypart/l_arm/robot{pixel_x = -3; step_x = 0; step_y = 0},/obj/item/bodypart/r_arm/robot{pixel_x = 3},/obj/item/circuitboard/mecha/ripley/main,/obj/item/circuitboard/mecha/ripley/peripherals,/obj/item/radio/intercom{pixel_x = 29},/turf/open/floor/plasteel/dark,/area/science/robotics/lab)
+"dZ" = (/obj/effect/turf_decal/stripes/line{dir = 1},/obj/machinery/atmospherics/pipe/manifold/supply/visible,/obj/machinery/meter,/turf/open/floor/plasteel/freezer,/area/science/xenobiology)
+"ea" = (/obj/effect/turf_decal/stripes/line{dir = 8},/obj/effect/turf_decal/tile/purple{dir = 8},/obj/effect/turf_decal/tile/purple{dir = 1},/obj/effect/turf_decal/tile/purple{dir = 1},/turf/open/floor/plasteel/freezer,/area/science/robotics/lab)
+"eb" = (/obj/machinery/atmospherics/components/unary/vent_pump/on{dir = 1},/turf/open/floor/plasteel/freezer,/area/science/robotics/lab)
+"ec" = (/obj/effect/turf_decal/box,/turf/open/floor/plasteel/freezer,/area/science/robotics/lab)
+"ed" = (/obj/item/robot_suit,/turf/open/floor/plasteel/freezer,/area/science/robotics/lab)
+"ee" = (/obj/effect/turf_decal/stripes/line{dir = 4},/obj/effect/turf_decal/tile/purple{dir = 4},/obj/effect/turf_decal/tile/purple,/obj/effect/turf_decal/tile/purple,/turf/open/floor/plasteel/freezer,/area/science/robotics/lab)
+"ef" = (/obj/structure/table,/obj/item/stack/sheet/plasteel{step_x = 2; pixel_x = -2; pixel_y = 2; amount = 10},/obj/item/assembly/flash,/obj/item/assembly/flash,/obj/item/assembly/flash,/obj/item/assembly/flash,/obj/item/assembly/flash,/obj/item/assembly/flash,/obj/item/assembly/flash,/obj/item/assembly/flash,/obj/effect/turf_decal/tile/neutral,/obj/effect/turf_decal/tile/neutral{dir = 4},/obj/machinery/firealarm{dir = 8; pixel_x = 28; pixel_y = 0},/obj/item/stack/cable_coil,/obj/item/stack/cable_coil,/turf/open/floor/plasteel/dark,/area/science/robotics/lab)
+"eg" = (/obj/machinery/atmospherics/components/binary/pump/on{dir = 4},/obj/effect/turf_decal/stripes/line{dir = 1},/turf/open/floor/plasteel/freezer,/area/science/xenobiology)
+"eh" = (/obj/machinery/door/airlock/research/glass,/turf/open/floor/plating,/area/science/xenobiology)
+"ei" = (/obj/effect/turf_decal/stripes/line,/obj/effect/turf_decal/tile/purple,/obj/effect/turf_decal/tile/purple,/obj/effect/turf_decal/tile/purple{dir = 8},/turf/open/floor/plasteel/freezer,/area/science/robotics/lab)
+"ej" = (/obj/effect/turf_decal/tile/blue,/obj/effect/turf_decal/tile/neutral{dir = 1},/obj/effect/turf_decal/tile/neutral{dir = 8},/obj/effect/turf_decal/stripes/line{dir = 1},/turf/open/floor/plasteel/dark,/area/science/xenobiology)
+"ek" = (/obj/effect/turf_decal/tile/neutral{dir = 4},/obj/effect/turf_decal/tile/neutral,/obj/effect/turf_decal/tile/neutral{dir = 8; step_y = 0},/obj/effect/turf_decal/tile/neutral{dir = 1},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/open/floor/plasteel/dark,/area/science/xenobiology)
+"el" = (/obj/effect/turf_decal/tile/neutral{dir = 4},/obj/effect/turf_decal/tile/neutral{dir = 8; step_y = 0},/obj/effect/turf_decal/tile/neutral{dir = 1},/obj/effect/turf_decal/tile/neutral,/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/manifold/supply/hidden{dir = 4},/obj/structure/cable,/turf/open/floor/plasteel/dark,/area/science/xenobiology)
+"em" = (/obj/effect/turf_decal/stripes/line{dir = 4},/obj/effect/turf_decal/tile/purple,/obj/effect/turf_decal/tile/purple,/obj/effect/turf_decal/tile/purple{dir = 4},/turf/open/floor/plasteel/freezer,/area/science/robotics/lab)
+"en" = (/obj/effect/turf_decal/tile/neutral{dir = 1},/obj/effect/turf_decal/tile/neutral{dir = 8; step_y = 0},/obj/effect/turf_decal/tile/neutral,/obj/effect/turf_decal/tile/neutral{dir = 4},/turf/open/floor/plasteel/dark,/area/science/xenobiology)
+"eo" = (/obj/structure/table,/obj/item/paicard{pixel_x = 3; pixel_y = 1; step_x = 0; step_y = 0},/obj/item/toy/figure/roboticist{pixel_x = -7; step_x = 0; step_y = 0},/obj/item/wrench{layer = 2.9},/obj/effect/turf_decal/tile/neutral{dir = 8},/obj/effect/turf_decal/tile/neutral{dir = 1},/obj/machinery/airalarm{dir = 4; pixel_x = -23},/turf/open/floor/plasteel/dark,/area/science/robotics/lab)
+"ep" = (/turf/open/floor/plasteel/dark,/area/science/robotics/lab)
+"eq" = (/obj/structure/table,/obj/machinery/cell_charger,/obj/item/stock_parts/cell/high{step_y = 0},/obj/item/stock_parts/cell/high{step_y = 0},/obj/item/stock_parts/cell/high{step_y = 0},/obj/item/crowbar{step_x = -2; step_y = 5},/obj/item/assembly/prox_sensor{step_x = 5; step_y = 6},/obj/item/assembly/prox_sensor{step_x = 5; step_y = 6},/obj/effect/turf_decal/bot,/obj/effect/turf_decal/tile/neutral,/turf/open/floor/plasteel/dark,/area/science/robotics/lab)
+"er" = (/obj/structure/rack,/obj/item/storage/toolbox/mechanical{step_x = 3; step_y = -2},/obj/item/storage/toolbox/electrical{layer = 2.9; step_x = -1; step_y = 3},/obj/item/reagent_containers/glass/beaker/large,/obj/item/multitool{layer = 2.9},/obj/item/storage/belt/utility/full,/obj/effect/turf_decal/bot,/obj/effect/turf_decal/tile/neutral{dir = 8},/turf/open/floor/plasteel/dark,/area/science/robotics/lab)
+"es" = (/obj/effect/turf_decal/stripes/line{dir = 8},/obj/effect/turf_decal/tile/purple{dir = 1},/obj/effect/turf_decal/tile/purple{dir = 1},/obj/effect/turf_decal/tile/purple{dir = 8},/turf/open/floor/plasteel/freezer,/area/science/robotics/lab)
+"et" = (/obj/machinery/atmospherics/components/unary/vent_scrubber/on{dir = 1},/turf/open/floor/plasteel/freezer,/area/science/robotics/lab)
+"eu" = (/obj/machinery/chem_master,/obj/effect/turf_decal/bot,/obj/effect/turf_decal/stripes/corner{dir = 4},/turf/open/floor/plasteel/dark,/area/science/xenobiology)
+"ev" = (/obj/effect/turf_decal/stripes/line{dir = 5},/obj/effect/turf_decal/tile/purple{dir = 1},/obj/effect/turf_decal/tile/purple{dir = 1},/obj/effect/turf_decal/tile/purple{dir = 4},/obj/effect/turf_decal/tile/purple,/obj/effect/turf_decal/tile/purple,/turf/open/floor/plasteel/freezer,/area/science/robotics/lab)
+"ew" = (/obj/structure/window/reinforced{dir = 1},/obj/structure/table,/obj/item/circular_saw,/obj/item/scalpel{pixel_y = 12; step_y = 0},/obj/item/razor,/obj/effect/turf_decal/tile/neutral{dir = 1},/obj/effect/turf_decal/tile/neutral{dir = 8},/turf/open/floor/plasteel/dark,/area/science/robotics/lab)
+"ex" = (/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/structure/table,/obj/item/mmi,/obj/item/mmi,/obj/item/clothing/gloves/color/latex{layer = 2.9},/obj/item/mmi,/obj/effect/turf_decal/tile/neutral{dir = 4},/obj/effect/turf_decal/tile/neutral,/turf/open/floor/plasteel/dark,/area/science/robotics/lab)
+"ey" = (/obj/machinery/disposal/bin,/obj/effect/turf_decal/bot,/obj/effect/turf_decal/tile/neutral,/obj/effect/turf_decal/tile/neutral{dir = 8},/obj/effect/turf_decal/tile/neutral{dir = 1},/turf/open/floor/plasteel/dark,/area/science/robotics/lab)
+"ez" = (/obj/effect/turf_decal/stripes/line{dir = 10},/obj/effect/turf_decal/tile/purple,/obj/effect/turf_decal/tile/purple,/obj/effect/turf_decal/tile/purple{dir = 1},/obj/effect/turf_decal/tile/purple{dir = 1},/obj/effect/turf_decal/tile/purple{dir = 8},/turf/open/floor/plasteel/freezer,/area/science/robotics/lab)
+"eA" = (/obj/effect/turf_decal/stripes/line,/obj/effect/turf_decal/tile/purple,/obj/effect/turf_decal/tile/purple,/obj/effect/turf_decal/tile/purple,/obj/effect/turf_decal/tile/purple{dir = 8},/turf/open/floor/plasteel/freezer,/area/science/robotics/lab)
+"eB" = (/obj/effect/turf_decal/stripes/corner{dir = 4},/obj/structure/chair/office/light{dir = 1},/obj/effect/turf_decal/tile/purple{dir = 4},/obj/effect/turf_decal/tile/purple{dir = 1},/obj/effect/turf_decal/tile/purple{dir = 1},/obj/effect/turf_decal/stripes/corner{dir = 8},/turf/open/floor/plasteel/freezer,/area/science/xenobiology)
+"eC" = (/obj/structure/table,/obj/item/retractor,/obj/item/hemostat,/obj/item/cautery,/obj/effect/turf_decal/tile/neutral{dir = 8},/obj/effect/turf_decal/tile/neutral,/obj/effect/turf_decal/tile/neutral{dir = 1},/obj/machinery/light,/obj/item/radio/intercom{pixel_y = -28},/turf/open/floor/plasteel/dark,/area/science/robotics/lab)
+"eD" = (/obj/structure/table/optable{name = "Robotics Operating Table"},/obj/effect/turf_decal/tile/neutral{dir = 8},/obj/effect/turf_decal/tile/neutral,/obj/effect/turf_decal/bot,/turf/open/floor/plasteel/dark,/area/science/robotics/lab)
+"eE" = (/obj/structure/window/reinforced{dir = 4},/obj/machinery/computer/operating{dir = 8},/obj/effect/turf_decal/tile/neutral{dir = 8},/obj/effect/turf_decal/tile/neutral,/obj/effect/turf_decal/tile/neutral{dir = 4},/obj/effect/turf_decal/bot,/turf/open/floor/plasteel/dark,/area/science/robotics/lab)
+"eF" = (/turf/closed/wall,/area/science/robotics/lab)
+"eG" = (/obj/machinery/computer/rdconsole/robotics{dir = 1},/obj/effect/turf_decal/bot,/obj/effect/turf_decal/tile/neutral{dir = 1},/obj/effect/turf_decal/tile/neutral{dir = 8},/obj/effect/turf_decal/tile/neutral,/obj/machinery/light{dir = 8},/turf/open/floor/plasteel/dark,/area/science/robotics/lab)
+"eH" = (/obj/machinery/rnd/production/circuit_imprinter/department/science,/obj/effect/turf_decal/bot,/obj/effect/turf_decal/tile/neutral{dir = 8},/obj/effect/turf_decal/tile/neutral,/turf/open/floor/plasteel/dark,/area/science/robotics/lab)
+"eI" = (/obj/machinery/aug_manipulator,/obj/effect/turf_decal/bot,/obj/effect/turf_decal/tile/neutral{dir = 8},/obj/effect/turf_decal/tile/neutral,/turf/open/floor/plasteel/dark,/area/science/robotics/lab)
+"eJ" = (/obj/effect/turf_decal/stripes/corner{dir = 4},/obj/structure/chair/office/light{dir = 1},/obj/effect/turf_decal/tile/purple{dir = 4},/obj/effect/turf_decal/tile/purple{dir = 1},/obj/effect/turf_decal/tile/purple{dir = 1},/obj/machinery/atmospherics/components/unary/vent_scrubber/on{dir = 4},/obj/effect/turf_decal/stripes/corner{dir = 8},/turf/open/floor/plasteel/freezer,/area/science/xenobiology)
+"eK" = (/turf/open/floor/plating{icon_state = "panelscorched"},/area/maintenance/department/science/xenobiology)
+"eL" = (/obj/structure/lattice/catwalk,/turf/open/space/basic,/area/space)
+"eM" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/open/floor/plating,/area/maintenance/department/science/xenobiology)
+"eN" = (/obj/effect/turf_decal/stripes/corner{dir = 4},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/effect/turf_decal/stripes/corner{dir = 8},/turf/open/floor/plasteel/dark,/area/science/xenobiology)
+"eO" = (/obj/effect/turf_decal/tile/neutral{dir = 4},/obj/effect/turf_decal/tile/neutral,/obj/effect/turf_decal/tile/purple{dir = 1},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/open/floor/plasteel/dark,/area/science/xenobiology)
+"eP" = (/obj/effect/turf_decal/tile/neutral{dir = 1},/obj/effect/turf_decal/tile/neutral{dir = 8; step_y = 0},/obj/effect/turf_decal/tile/purple{dir = 4},/turf/open/floor/plasteel/dark,/area/science/xenobiology)
+"eQ" = (/obj/effect/turf_decal/tile/blue{dir = 8},/obj/effect/turf_decal/tile/neutral{dir = 4},/obj/effect/turf_decal/tile/neutral,/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{dir = 4},/obj/effect/turf_decal/stripes/corner{dir = 4},/turf/open/floor/plasteel/dark,/area/science/xenobiology)
+"eR" = (/obj/effect/turf_decal/tile/purple{dir = 1},/obj/effect/turf_decal/stripes/line{dir = 8},/obj/machinery/atmospherics/components/unary/vent_scrubber/on{dir = 4},/turf/open/floor/plasteel/dark,/area/science/xenobiology)
+"eS" = (/obj/effect/turf_decal/tile/purple{dir = 1},/obj/effect/turf_decal/tile/neutral{dir = 4},/obj/effect/turf_decal/tile/neutral,/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{dir = 4},/turf/open/floor/plasteel/dark,/area/science/xenobiology)
+"eT" = (/obj/effect/turf_decal/tile/neutral{dir = 1},/obj/effect/turf_decal/tile/neutral,/obj/effect/turf_decal/tile/neutral{dir = 4},/obj/effect/turf_decal/tile/neutral{dir = 8},/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/manifold/supply/hidden{dir = 8},/obj/structure/cable,/turf/open/floor/plasteel/dark,/area/science/xenobiology)
+"eU" = (/obj/effect/turf_decal/tile/purple{dir = 4},/obj/effect/turf_decal/tile/neutral{dir = 1},/obj/effect/turf_decal/tile/neutral{dir = 8},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/open/floor/plasteel/dark,/area/science/xenobiology)
+"eV" = (/obj/effect/turf_decal/tile/purple{dir = 4},/obj/effect/turf_decal/stripes/line{dir = 4},/obj/machinery/atmospherics/components/unary/vent_pump/on{dir = 8},/turf/open/floor/plasteel/dark,/area/science/xenobiology)
+"eW" = (/obj/effect/turf_decal/tile/neutral{dir = 4},/obj/effect/turf_decal/tile/neutral,/obj/effect/turf_decal/tile/neutral{dir = 8},/obj/effect/turf_decal/tile/neutral{dir = 1},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/structure/cable,/turf/open/floor/plasteel/dark,/area/science/xenobiology)
+"eX" = (/obj/effect/turf_decal/bot,/obj/machinery/holopad,/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/structure/cable,/turf/open/floor/plasteel/dark,/area/science/xenobiology)
+"eY" = (/obj/effect/turf_decal/tile/neutral{dir = 1},/obj/effect/turf_decal/tile/neutral{dir = 8},/obj/effect/turf_decal/tile/neutral,/obj/effect/turf_decal/tile/neutral{dir = 4},/obj/structure/cable,/turf/open/floor/plasteel/dark,/area/science/xenobiology)
+"eZ" = (/obj/effect/turf_decal/tile/blue,/obj/effect/turf_decal/tile/neutral{dir = 1},/obj/effect/turf_decal/tile/neutral{dir = 8},/turf/open/floor/plasteel/dark,/area/science/xenobiology)
+"fa" = (/obj/machinery/atmospherics/components/unary/outlet_injector/on{dir = 4},/turf/open/floor/plating,/area/maintenance/department/science/xenobiology)
+"fb" = (/obj/effect/spawner/structure/window/reinforced,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/open/floor/plating,/area/maintenance/department/science/xenobiology)
+"fc" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 9},/turf/open/floor/plating,/area/maintenance/department/science/xenobiology)
+"fd" = (/obj/effect/turf_decal/stripes/corner,/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/structure/cable,/obj/effect/turf_decal/stripes/corner{dir = 1},/turf/open/floor/plasteel/dark,/area/science/xenobiology)
+"fe" = (/obj/effect/turf_decal/tile/blue{dir = 8},/obj/effect/turf_decal/tile/neutral{dir = 4},/obj/effect/turf_decal/tile/neutral,/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/structure/cable,/obj/effect/turf_decal/stripes/corner{dir = 1},/turf/open/floor/plasteel/dark,/area/science/xenobiology)
+"ff" = (/obj/effect/turf_decal/stripes/corner{dir = 1},/obj/effect/turf_decal/stripes/corner{dir = 8},/turf/open/floor/plating,/area/space)
+"fg" = (/obj/effect/turf_decal/stripes/corner{dir = 8},/turf/open/floor/plating,/area/space)
+"fh" = (/obj/structure/girder,/obj/structure/grille,/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/open/floor/plating,/area/maintenance/department/science/xenobiology)
+"fi" = (/obj/effect/turf_decal/stripes/corner{dir = 4},/turf/open/floor/plating,/area/space)
+"fj" = (/obj/effect/turf_decal/stripes/line{dir = 1},/obj/structure/cable,/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/effect/turf_decal/stripes/corner{dir = 1},/obj/effect/turf_decal/stripes/corner,/turf/open/floor/plasteel/dark,/area/science/research)
+"fk" = (/obj/structure/grille/broken,/turf/open/floor/plating,/area/maintenance/department/science/xenobiology)
+"fl" = (/obj/effect/spawner/structure/window/reinforced,/turf/open/floor/plating,/area/space)
+"fm" = (/obj/structure/lattice/catwalk,/obj/item/stack/cable_coil,/turf/open/space/basic,/area/space)
+"fn" = (/obj/machinery/power/tracker,/obj/structure/cable,/turf/open/floor/plating,/area/space)
+"fo" = (/obj/structure/grille/broken,/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/open/floor/plating,/area/maintenance/department/science/xenobiology)
+"fp" = (/obj/structure/reagent_dispensers/fueltank,/turf/open/floor/plating,/area/maintenance/department/science/xenobiology)
+"fq" = (/obj/effect/turf_decal/stripes/line{dir = 8},/obj/effect/turf_decal/tile/purple{dir = 1},/obj/effect/turf_decal/tile/neutral{dir = 4},/obj/effect/turf_decal/tile/neutral,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/open/floor/plasteel/dark,/area/science/xenobiology)
+"fr" = (/obj/effect/turf_decal/stripes/line{dir = 4},/obj/effect/turf_decal/tile/purple{dir = 4},/obj/effect/turf_decal/tile/neutral{dir = 1},/obj/effect/turf_decal/tile/neutral{dir = 8},/turf/open/floor/plasteel/dark,/area/science/xenobiology)
+"fs" = (/obj/structure/rack,/obj/effect/spawner/lootdrop/maintenance,/turf/open/floor/plating,/area/maintenance/department/science/xenobiology)
+"ft" = (/obj/effect/turf_decal/tile/purple{dir = 4},/obj/machinery/firealarm{dir = 8; pixel_x = -24; pixel_y = 0},/obj/item/twohanded/required/kirbyplants{icon_state = "plant-10"},/obj/effect/turf_decal/tile/neutral{dir = 4},/turf/open/floor/plasteel/dark,/area/science/research)
+"fu" = (/obj/effect/turf_decal/tile/purple{dir = 8},/obj/effect/turf_decal/tile/purple{dir = 4},/obj/effect/turf_decal/tile/purple{dir = 1},/obj/effect/turf_decal/tile/purple,/obj/structure/cable,/obj/effect/turf_decal/stripes/line{dir = 4},/turf/open/floor/plasteel/dark,/area/science/research)
+"fv" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 9},/turf/open/floor/plating,/area/maintenance/department/science/xenobiology)
+"fw" = (/obj/structure/grille/broken,/obj/machinery/space_heater,/turf/open/floor/plating,/area/maintenance/department/science/xenobiology)
+"fx" = (/obj/effect/turf_decal/tile/purple{dir = 8},/obj/effect/turf_decal/tile/neutral{dir = 4},/obj/effect/turf_decal/tile/neutral,/obj/effect/turf_decal/stripes/line{dir = 10},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/open/floor/plasteel/dark,/area/science/xenobiology)
+"fy" = (/obj/effect/turf_decal/tile/neutral{dir = 1},/obj/effect/turf_decal/tile/neutral,/obj/effect/turf_decal/tile/neutral{dir = 4},/obj/effect/turf_decal/tile/neutral{dir = 8},/obj/structure/disposalpipe/segment,/obj/effect/turf_decal/stripes/line,/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/structure/cable,/turf/open/floor/plasteel/dark,/area/science/xenobiology)
+"fz" = (/obj/effect/turf_decal/tile/purple,/obj/effect/turf_decal/tile/neutral{dir = 1},/obj/effect/turf_decal/tile/neutral{dir = 8},/obj/effect/turf_decal/stripes/line{dir = 6},/turf/open/floor/plasteel/dark,/area/science/xenobiology)
+"fA" = (/obj/structure/closet/firecloset,/turf/open/floor/plating,/area/maintenance/department/science/xenobiology)
+"fB" = (/obj/structure/reagent_dispensers/watertank,/turf/open/floor/plating,/area/maintenance/department/science/xenobiology)
+"fC" = (/obj/machinery/door/airlock/maintenance,/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/structure/cable,/turf/open/floor/plating,/area/space)
+"fD" = (/obj/effect/spawner/lootdrop/maintenance,/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/structure/cable,/turf/open/floor/plating,/area/space)
+"fE" = (/obj/structure/rack,/obj/item/poster/random_official,/obj/effect/spawner/lootdrop/maintenance,/turf/open/floor/plating{icon_state = "panelscorched"},/area/maintenance/department/science/xenobiology)
+"fF" = (/obj/structure/disposalpipe/segment,/obj/machinery/door/firedoor,/obj/effect/turf_decal/delivery,/obj/machinery/door/poddoor/preopen,/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/structure/cable,/turf/open/floor/plasteel/dark,/area/science/xenobiology)
+"fG" = (/obj/machinery/door/firedoor,/obj/effect/turf_decal/delivery,/obj/machinery/door/poddoor/preopen,/turf/open/floor/plasteel/dark,/area/science/xenobiology)
+"fH" = (/obj/effect/turf_decal/tile/purple{dir = 4},/obj/machinery/vending/snack/random,/obj/effect/turf_decal/tile/neutral{dir = 4},/obj/effect/turf_decal/stripes/corner{dir = 8},/turf/open/floor/plasteel/dark,/area/maintenance/department/science)
+"fI" = (/obj/structure/table/glass,/obj/item/storage/box/monkeycubes{pixel_x = -1; pixel_y = 3},/obj/item/storage/box/monkeycubes{pixel_x = 3; pixel_y = 5},/turf/open/floor/plasteel/dark,/area/science/xenobiology)
+"fJ" = (/obj/structure/table/glass,/obj/item/storage/box/beakers{pixel_x = -1; pixel_y = 3},/obj/item/storage/box/syringes{pixel_x = 3; pixel_y = 5},/turf/open/floor/plasteel/dark,/area/science/xenobiology)
+"fK" = (/obj/machinery/computer/camera_advanced/xenobio,/obj/effect/turf_decal/bot{layer = 1.99},/turf/open/floor/plasteel/dark,/area/science/xenobiology)
+"fL" = (/obj/machinery/smartfridge/chemistry/preloaded,/obj/structure/noticeboard{pixel_y = 32},/obj/machinery/light{dir = 1; light_color = "#c1caff"},/turf/open/floor/plasteel/dark,/area/science/xenobiology)
+"fM" = (/obj/structure/table/glass,/obj/structure/window/reinforced{dir = 4; layer = 2.9},/obj/machinery/reagentgrinder{pixel_x = -2; pixel_y = 8},/turf/open/floor/plasteel/dark,/area/science/xenobiology)
+"fN" = (/obj/machinery/shower{pixel_y = 18},/obj/effect/turf_decal/bot,/turf/open/floor/plasteel/dark,/area/science/xenobiology)
+"fO" = (/obj/effect/turf_decal/tile/blue{dir = 8},/obj/effect/turf_decal/tile/neutral{dir = 4},/obj/effect/turf_decal/tile/neutral,/obj/effect/turf_decal/stripes/line{dir = 9},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/open/floor/plasteel/dark,/area/science/xenobiology)
+"fP" = (/obj/effect/turf_decal/tile/neutral{dir = 1},/obj/effect/turf_decal/tile/neutral,/obj/effect/turf_decal/tile/neutral{dir = 4},/obj/effect/turf_decal/tile/neutral{dir = 8},/obj/structure/disposalpipe/segment,/obj/effect/turf_decal/stripes/line{dir = 1},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/structure/cable,/turf/open/floor/plasteel/dark,/area/science/xenobiology)
+"fQ" = (/obj/effect/turf_decal/stripes/corner,/obj/effect/turf_decal/tile/purple{dir = 1},/obj/effect/turf_decal/tile/purple,/obj/effect/turf_decal/tile/neutral,/obj/effect/turf_decal/tile/neutral{dir = 1},/obj/effect/turf_decal/stripes/corner{dir = 4},/turf/open/floor/plasteel/dark,/area/maintenance/department/science)
+"fR" = (/obj/machinery/atmospherics/components/unary/vent_scrubber/on{dir = 1},/obj/effect/turf_decal/stripes/corner{dir = 4},/obj/structure/cable,/obj/effect/turf_decal/stripes/corner{dir = 8},/turf/open/floor/plasteel/dark,/area/science/nanite)
+"fS" = (/obj/effect/spawner/structure/window/reinforced,/turf/open/floor/plating,/area/science/xenobiology)
+"fT" = (/obj/effect/turf_decal/stripes/line{dir = 9},/turf/open/floor/circuit/telecomms,/area/science/xenobiology)
+"fU" = (/obj/effect/turf_decal/stripes/line{dir = 5},/obj/machinery/light/small{dir = 4},/turf/open/floor/circuit/telecomms,/area/science/xenobiology)
+"fV" = (/obj/machinery/atmospherics/components/unary/thermomachine/freezer/on,/obj/effect/turf_decal/box,/turf/open/floor/plating,/area/science/xenobiology)
+"fW" = (/obj/structure/table/glass,/obj/item/stack/sheet/mineral/plasma,/obj/item/stack/sheet/mineral/plasma,/obj/item/stack/sheet/mineral/plasma,/obj/item/stack/sheet/mineral/plasma,/obj/item/reagent_containers/glass/beaker/large{pixel_x = -2; pixel_y = -2},/obj/item/reagent_containers/glass/beaker/large{pixel_x = 2; pixel_y = 2},/obj/item/reagent_containers/dropper,/obj/item/reagent_containers/dropper,/obj/item/reagent_containers/syringe,/obj/item/reagent_containers/syringe,/obj/machinery/airalarm{dir = 4; pixel_x = -22},/turf/open/floor/plasteel/dark,/area/science/xenobiology)
+"fX" = (/obj/effect/turf_decal/stripes/line{dir = 9},/obj/effect/turf_decal/tile/purple{dir = 8},/obj/effect/turf_decal/tile/purple{dir = 1},/obj/effect/turf_decal/tile/purple{dir = 4},/obj/effect/turf_decal/tile/purple{dir = 1},/turf/open/floor/plasteel/freezer,/area/science/xenobiology)
+"fY" = (/obj/structure/table,/obj/structure/table,/obj/item/crowbar{step_x = 0; step_y = 0},/obj/item/wrench,/obj/item/clothing/mask/gas,/obj/effect/turf_decal/tile/purple{dir = 1},/obj/effect/turf_decal/tile/purple{dir = 4},/obj/effect/turf_decal/tile/purple{dir = 4},/turf/open/floor/plasteel/freezer,/area/science/lab)
+"fZ" = (/obj/effect/turf_decal/tile/purple{dir = 8},/obj/effect/turf_decal/tile/neutral{dir = 8},/obj/machinery/light{dir = 8; light_color = "#e8eaff"},/obj/effect/turf_decal/stripes/corner{dir = 1},/turf/open/floor/plasteel/dark,/area/science/research)
+"ga" = (/obj/effect/turf_decal/stripes/line{dir = 1},/obj/effect/turf_decal/tile/purple{dir = 4},/obj/effect/turf_decal/tile/purple{dir = 1},/obj/effect/turf_decal/tile/purple{dir = 1},/turf/open/floor/plasteel/freezer,/area/science/xenobiology)
+"gb" = (/obj/effect/turf_decal/tile/purple{dir = 8},/obj/effect/turf_decal/tile/purple{dir = 4},/obj/effect/turf_decal/tile/purple{dir = 1},/obj/effect/turf_decal/tile/purple,/obj/machinery/atmospherics/components/unary/vent_pump/on,/obj/structure/cable,/obj/effect/turf_decal/stripes/corner{dir = 8},/turf/open/floor/plasteel/dark,/area/science/research)
+"gc" = (/obj/effect/turf_decal/stripes/line{dir = 1},/obj/effect/turf_decal/tile/purple{dir = 4},/obj/effect/turf_decal/tile/purple{dir = 1},/obj/effect/turf_decal/tile/purple{dir = 1},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/open/floor/plasteel/freezer,/area/science/xenobiology)
+"gd" = (/obj/effect/spawner/structure/window/reinforced,/turf/open/floor/plating,/area/science/explab)
+"ge" = (/obj/machinery/atmospherics/components/unary/vent_pump/on{dir = 8; external_pressure_bound = 140},/obj/effect/turf_decal/bot,/obj/effect/turf_decal/stripes/corner{dir = 1},/turf/open/floor/plasteel/dark,/area/science/server)
+"gf" = (/obj/effect/turf_decal/tile/purple{dir = 8},/obj/effect/turf_decal/tile/neutral{dir = 8},/turf/open/floor/plasteel/dark,/area/maintenance/department/science)
+"gg" = (/obj/machinery/chem_heater,/obj/effect/turf_decal/bot,/turf/open/floor/plasteel/dark,/area/science/xenobiology)
+"gh" = (/obj/effect/turf_decal/stripes/line{dir = 8},/turf/open/floor/circuit/telecomms,/area/science/xenobiology)
+"gi" = (/obj/effect/turf_decal/stripes/line{dir = 4},/obj/machinery/atmospherics/components/unary/vent_pump/on{dir = 4; external_pressure_bound = 140},/turf/open/floor/circuit/telecomms,/area/science/xenobiology)
+"gj" = (/obj/machinery/atmospherics/pipe/simple/cyan/visible{dir = 4},/obj/effect/spawner/structure/window/reinforced,/turf/open/floor/plating,/area/science/xenobiology)
+"gk" = (/obj/machinery/atmospherics/pipe/manifold/cyan/visible{dir = 4},/obj/structure/rack,/obj/item/clothing/shoes/winterboots,/obj/item/clothing/suit/hooded/wintercoat,/turf/open/floor/plating,/area/maintenance/department/science/xenobiology)
+"gl" = (/obj/effect/decal/cleanable/cobweb/cobweb2,/turf/open/floor/plating,/area/maintenance/department/science/xenobiology)
+"gm" = (/obj/structure/cable,/obj/machinery/power/smes,/obj/effect/decal/cleanable/cobweb,/turf/open/floor/plating,/area/space)
+"gn" = (/obj/structure/cable,/obj/machinery/power/solar_control{dir = 8},/obj/effect/turf_decal/stripes/corner,/turf/open/floor/plating,/area/space)
+"go" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/open/floor/plating{icon_state = "platingdmg2"},/area/maintenance/department/science/xenobiology)
+"gp" = (/obj/machinery/processor/slime,/obj/effect/turf_decal/bot,/turf/open/floor/plasteel/dark,/area/science/xenobiology)
+"gq" = (/obj/effect/turf_decal/stripes/line{dir = 8},/obj/effect/turf_decal/stripes/corner,/obj/effect/turf_decal/tile/purple{dir = 8},/obj/effect/turf_decal/tile/purple{dir = 1},/obj/effect/turf_decal/tile/purple{dir = 8},/obj/structure/cable,/turf/open/floor/plasteel/freezer,/area/science/xenobiology)
+"gr" = (/obj/effect/turf_decal/stripes/line,/obj/machinery/atmospherics/components/unary/vent_pump/on{dir = 4},/obj/structure/disposalpipe/segment{dir = 6},/obj/structure/cable,/turf/open/floor/plasteel/freezer,/area/science/xenobiology)
+"gs" = (/obj/machinery/holopad,/obj/effect/turf_decal/bot,/obj/effect/turf_decal/stripes/line,/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/structure/cable,/turf/open/floor/plasteel/freezer,/area/science/xenobiology)
+"gt" = (/obj/effect/turf_decal/stripes/line,/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/structure/cable,/turf/open/floor/plasteel/freezer,/area/science/xenobiology)
+"gu" = (/obj/effect/turf_decal/tile/purple{dir = 4},/obj/effect/turf_decal/tile/neutral{dir = 4},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/effect/turf_decal/stripes/corner{dir = 8},/turf/open/floor/plasteel/dark,/area/maintenance/department/science)
+"gv" = (/obj/structure/table/reinforced,/obj/item/reagent_containers/glass/bottle/epinephrine,/obj/item/reagent_containers/glass/bottle/charcoal,/obj/item/reagent_containers/dropper,/obj/item/healthanalyzer,/obj/item/stack/medical/bruise_pack,/obj/item/stack/medical/ointment,/turf/open/floor/plasteel/dark,/area/science/explab)
+"gw" = (/obj/effect/turf_decal/tile/neutral{dir = 1},/obj/effect/turf_decal/tile/neutral,/obj/effect/turf_decal/tile/neutral{dir = 4},/obj/effect/turf_decal/tile/neutral{dir = 8},/obj/structure/disposalpipe/segment{dir = 9},/obj/machinery/atmospherics/pipe/manifold/supply/hidden{dir = 4},/obj/structure/cable,/turf/open/floor/plasteel/dark,/area/science/xenobiology)
+"gx" = (/obj/structure/table/reinforced,/obj/item/paper_bin{pixel_x = 2; pixel_y = 6},/obj/item/pen,/turf/open/floor/plasteel/dark,/area/science/explab)
+"gy" = (/obj/machinery/airalarm{pixel_y = 23},/obj/effect/turf_decal/bot{layer = 1.99},/obj/structure/closet/crate/science{name = "experimentation canidate storage crate"},/obj/effect/spawner/lootdrop/maintenance,/obj/effect/spawner/lootdrop/maintenance,/obj/effect/spawner/lootdrop/maintenance,/obj/effect/spawner/lootdrop/maintenance,/turf/open/floor/plasteel/dark,/area/science/explab)
+"gz" = (/obj/machinery/door/airlock/research,/turf/open/floor/plasteel/dark,/area/science/xenobiology)
+"gA" = (/obj/effect/turf_decal/stripes/line{dir = 4},/obj/machinery/atmospherics/components/unary/vent_pump/siphon/on{dir = 4},/turf/open/floor/circuit/telecomms,/area/science/xenobiology)
+"gB" = (/obj/machinery/atmospherics/pipe/simple/cyan/visible{dir = 9},/turf/open/floor/plating,/area/maintenance/department/science/xenobiology)
+"gC" = (/obj/item/storage/box,/turf/open/floor/plating,/area/maintenance/department/science/xenobiology)
+"gD" = (/obj/structure/cable,/obj/machinery/light/small{brightness = 3; dir = 8},/obj/item/radio/intercom{pixel_x = -28},/turf/open/floor/plating,/area/space)
+"gE" = (/obj/structure/cable,/obj/effect/turf_decal/stripes/line{dir = 4},/turf/open/floor/plating,/area/space)
+"gF" = (/obj/machinery/door/airlock/external,/obj/structure/cable,/obj/effect/mapping_helpers/airlock/cyclelink_helper{dir = 4},/turf/open/floor/plating,/area/space)
+"gG" = (/obj/structure/lattice,/turf/open/space/basic,/area/space)
+"gH" = (/obj/structure/cable,/obj/effect/turf_decal/stripes/line{dir = 8},/turf/open/floor/plating,/area/space)
+"gI" = (/obj/machinery/door/airlock/external,/obj/structure/cable,/obj/effect/mapping_helpers/airlock/cyclelink_helper{dir = 8},/turf/open/floor/plating,/area/space)
+"gJ" = (/obj/machinery/monkey_recycler,/obj/effect/turf_decal/bot,/turf/open/floor/plasteel/dark,/area/science/xenobiology)
+"gK" = (/obj/effect/turf_decal/stripes/line{dir = 4},/obj/effect/turf_decal/stripes/line{dir = 8},/obj/effect/turf_decal/tile/purple{dir = 8},/obj/effect/turf_decal/tile/purple{dir = 1},/obj/effect/turf_decal/tile/purple{dir = 8},/obj/machinery/power/apc{pixel_y = -26},/obj/structure/cable,/turf/open/floor/plasteel/freezer,/area/science/xenobiology)
+"gL" = (/obj/machinery/disposal/bin{step_x = 0; step_y = 0},/obj/effect/turf_decal/bot,/obj/structure/disposalpipe/trunk{dir = 1},/obj/structure/sign/warning/deathsposal{pixel_y = -32},/turf/open/floor/plasteel/dark,/area/science/xenobiology)
+"gM" = (/obj/structure/reagent_dispensers/watertank,/obj/effect/turf_decal/bot,/obj/machinery/light,/turf/open/floor/plasteel/dark,/area/science/xenobiology)
+"gN" = (/obj/structure/table/glass,/obj/item/extinguisher{pixel_x = 2; pixel_y = 2},/obj/item/extinguisher{pixel_x = -2; pixel_y = -2},/obj/structure/window/reinforced{dir = 8; layer = 2.9},/turf/open/floor/plasteel/dark,/area/science/xenobiology)
+"gO" = (/obj/structure/table/glass,/obj/structure/window/reinforced{dir = 4; layer = 2.9},/obj/item/folder/white,/obj/item/pen,/turf/open/floor/plasteel/dark,/area/science/xenobiology)
+"gP" = (/obj/machinery/shower{dir = 1},/obj/effect/turf_decal/bot,/turf/open/floor/plasteel/dark,/area/science/xenobiology)
+"gQ" = (/obj/effect/turf_decal/stripes/line{dir = 8},/obj/effect/turf_decal/tile/blue{dir = 8},/obj/effect/turf_decal/tile/neutral{dir = 4},/obj/effect/turf_decal/tile/neutral,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/open/floor/plasteel/dark,/area/science/xenobiology)
+"gR" = (/obj/effect/turf_decal/tile/neutral{dir = 1},/obj/effect/turf_decal/tile/neutral,/obj/effect/turf_decal/tile/neutral{dir = 4},/obj/effect/turf_decal/tile/neutral{dir = 8},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/structure/cable,/turf/open/floor/plasteel/dark,/area/science/xenobiology)
+"gS" = (/obj/effect/turf_decal/tile/purple{dir = 8},/obj/effect/turf_decal/tile/purple{dir = 1},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/open/floor/plasteel/dark,/area/maintenance/department/science)
+"gT" = (/obj/structure/table/reinforced,/obj/item/paper_bin,/obj/item/pen,/turf/open/floor/plasteel/dark,/area/science/xenobiology)
+"gU" = (/obj/effect/turf_decal/tile/purple{dir = 8},/obj/effect/turf_decal/tile/purple,/obj/effect/turf_decal/tile/purple,/obj/structure/chair/office/light,/turf/open/floor/plasteel/freezer,/area/science/lab)
+"gV" = (/obj/effect/turf_decal/stripes/line{dir = 10},/turf/open/floor/circuit/telecomms,/area/science/xenobiology)
+"gW" = (/obj/effect/turf_decal/stripes/line{dir = 6},/obj/machinery/light/small{dir = 4},/turf/open/floor/circuit/telecomms,/area/science/xenobiology)
+"gX" = (/obj/structure/easel,/obj/item/storage/crayons,/turf/open/floor/plating,/area/maintenance/department/science/xenobiology)
+"gY" = (/obj/structure/cable,/obj/machinery/power/apc{pixel_x = -26},/obj/effect/turf_decal/stripes/corner,/turf/open/floor/plating,/area/space)
+"gZ" = (/obj/structure/cable,/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/effect/turf_decal/stripes/line,/turf/open/floor/plating,/area/space)
+"ha" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/effect/turf_decal/stripes/line{dir = 8},/obj/effect/turf_decal/stripes/corner{dir = 8},/turf/open/floor/plasteel/dark,/area/science/explab)
+"hb" = (/obj/machinery/door/airlock/maintenance,/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/open/floor/plating,/area/maintenance/department/science/xenobiology)
+"hc" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/closed/wall/r_wall,/area/science/xenobiology)
+"hd" = (/obj/machinery/door/airlock/research,/obj/effect/mapping_helpers/airlock/cyclelink_helper,/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/structure/cable,/turf/open/floor/plasteel/dark,/area/science/xenobiology)
+"he" = (/obj/effect/turf_decal/delivery,/obj/machinery/door/poddoor/preopen,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/open/floor/plasteel/dark,/area/science/research)
+"hf" = (/obj/effect/turf_decal/delivery,/obj/machinery/door/poddoor/preopen,/obj/structure/cable,/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 5},/turf/open/floor/plasteel/dark,/area/science/research)
+"hg" = (/obj/effect/turf_decal/tile/neutral{dir = 4},/obj/effect/turf_decal/tile/neutral,/obj/machinery/light{dir = 4},/obj/item/twohanded/required/kirbyplants{icon_state = "plant-10"},/obj/structure/extinguisher_cabinet{pixel_x = 26},/turf/open/floor/plasteel/dark,/area/science/robotics/lab)
+"hh" = (/obj/effect/turf_decal/delivery,/obj/machinery/door/poddoor/preopen,/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 10},/turf/open/floor/plasteel/dark,/area/science/research)
+"hi" = (/obj/structure/cable,/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/effect/turf_decal/stripes/line{dir = 1},/turf/open/floor/plating,/area/space)
+"hj" = (/obj/structure/lattice,/obj/structure/grille,/obj/structure/grille,/turf/open/space/basic,/area/space)
+"hk" = (/obj/effect/turf_decal/stripes/line,/obj/effect/turf_decal/stripes/line{dir = 1},/obj/structure/cable,/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/open/floor/plasteel/dark,/area/science/research)
+"hl" = (/obj/effect/turf_decal/tile/purple{dir = 4},/obj/effect/turf_decal/tile/purple{dir = 1},/obj/effect/turf_decal/tile/purple{dir = 8},/obj/effect/turf_decal/tile/purple{dir = 1},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/effect/turf_decal/stripes/corner{dir = 4},/obj/effect/turf_decal/stripes/line{dir = 1},/turf/open/floor/plasteel/freezer,/area/science/explab)
+"hm" = (/obj/effect/turf_decal/stripes/line,/obj/effect/turf_decal/stripes/line{dir = 1},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/structure/cable,/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/open/floor/plasteel/dark,/area/science/research)
+"hn" = (/obj/machinery/door/airlock/maintenance,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/open/floor/plating,/area/space)
+"ho" = (/obj/effect/turf_decal/bot{layer = 1.99},/obj/structure/closet/l3closet/scientist,/obj/machinery/airalarm{dir = 4; pixel_x = -22},/obj/machinery/atmospherics/components/unary/vent_scrubber/on{dir = 1},/turf/open/floor/plasteel/dark,/area/science/research)
+"hp" = (/obj/effect/turf_decal/stripes/line{dir = 8},/obj/effect/turf_decal/stripes/line{dir = 4},/obj/structure/cable,/turf/open/floor/plasteel/dark,/area/science/research)
+"hq" = (/obj/effect/turf_decal/bot{layer = 1.99},/obj/structure/closet/l3closet/scientist,/obj/machinery/atmospherics/components/unary/vent_pump/on{dir = 1},/turf/open/floor/plasteel/dark,/area/science/research)
+"hr" = (/turf/closed/wall,/area/science/mixing)
+"hs" = (/obj/effect/spawner/structure/window/reinforced,/turf/open/floor/plating,/area/science/mixing)
+"ht" = (/turf/open/floor/plating,/area/science/mixing)
+"hu" = (/turf/open/floor/engine,/area/science/explab)
+"hv" = (/obj/machinery/light{dir = 1},/turf/open/floor/engine,/area/science/explab)
+"hw" = (/obj/item/radio/intercom{pixel_y = 20},/turf/open/floor/engine,/area/science/explab)
+"hx" = (/obj/structure/closet,/obj/effect/spawner/lootdrop/maintenance,/obj/effect/spawner/lootdrop/maintenance,/turf/open/floor/plating,/area/space)
+"hy" = (/obj/machinery/nanite_program_hub,/obj/effect/turf_decal/bot,/obj/machinery/light{dir = 1},/turf/open/floor/plasteel/dark,/area/science/nanite)
+"hz" = (/obj/effect/turf_decal/stripes/line{dir = 4},/obj/effect/turf_decal/stripes/line{dir = 8},/obj/effect/turf_decal/tile/purple{dir = 1},/obj/effect/turf_decal/tile/purple{dir = 4},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/open/floor/plasteel/dark,/area/science/nanite)
+"hA" = (/obj/effect/turf_decal/bot,/obj/structure/table,/obj/item/paper_bin,/obj/item/pen,/turf/open/floor/plasteel/dark,/area/science/nanite)
+"hB" = (/obj/effect/turf_decal/tile/purple{dir = 1},/obj/effect/turf_decal/tile/purple{dir = 4},/obj/effect/turf_decal/stripes/line{dir = 1},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/structure/cable,/turf/open/floor/plasteel/dark,/area/science/research)
+"hC" = (/obj/structure/closet,/obj/item/target,/obj/item/target,/obj/item/target/alien,/obj/item/target/alien,/obj/item/target/clown,/obj/item/target/clown,/obj/item/target/syndicate,/obj/item/target/syndicate,/turf/open/floor/plating,/area/space)
+"hD" = (/obj/effect/turf_decal/tile/purple,/obj/effect/turf_decal/tile/purple{dir = 4},/obj/effect/turf_decal/tile/purple{dir = 1},/obj/effect/turf_decal/tile/purple{dir = 4},/obj/effect/turf_decal/stripes/line{dir = 5},/turf/open/floor/plasteel/freezer,/area/science/explab)
+"hE" = (/obj/structure/target_stake,/turf/open/floor/plating,/area/space)
+"hF" = (/obj/structure/closet/crate,/obj/item/gun/energy/laser/practice{pixel_x = 2; pixel_y = -2},/obj/item/gun/energy/laser/practice,/obj/item/clothing/ears/earmuffs{pixel_x = 2; pixel_y = -2},/obj/item/clothing/ears/earmuffs,/turf/open/floor/plating,/area/space)
+"hG" = (/obj/machinery/door/airlock/research,/obj/effect/mapping_helpers/airlock/cyclelink_helper{dir = 1},/obj/structure/cable,/turf/open/floor/plating,/area/science/research)
+"hH" = (/turf/closed/wall,/area/maintenance/department/science)
+"hI" = (/obj/machinery/mass_driver{dir = 4; id = "toxinsdriver"},/obj/effect/turf_decal/delivery,/turf/open/floor/plating,/area/science/mixing)
+"hJ" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/open/floor/plasteel/dark,/area/science/research)
+"hK" = (/obj/machinery/light/small{dir = 1},/turf/open/floor/plating,/area/science/mixing)
+"hL" = (/obj/structure/fans/tiny,/obj/machinery/door/poddoor{id = "toxinsdriver"; name = "Toxins Launcher Bay Door"},/turf/open/floor/plating,/area/science/mixing)
+"hM" = (/obj/machinery/atmospherics/components/unary/thermomachine/freezer/on{dir = 4},/obj/effect/turf_decal/tile/neutral{dir = 8},/obj/effect/turf_decal/tile/neutral{dir = 4},/obj/effect/turf_decal/tile/neutral{dir = 1},/obj/effect/turf_decal/box,/obj/effect/turf_decal/stripes/corner{dir = 8},/turf/open/floor/plasteel/dark,/area/science/server)
+"hN" = (/obj/machinery/firealarm{pixel_y = 24},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/open/floor/plasteel/dark,/area/science/research)
+"hO" = (/obj/structure/extinguisher_cabinet{pixel_y = 29},/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{dir = 1},/turf/open/floor/plasteel/dark,/area/science/research)
+"hP" = (/obj/machinery/computer/rdservercontrol,/obj/effect/turf_decal/tile/purple{dir = 4},/obj/effect/turf_decal/tile/purple{dir = 1},/obj/effect/turf_decal/tile/purple,/obj/effect/turf_decal/bot,/obj/effect/turf_decal/stripes/corner{dir = 4},/turf/open/floor/plasteel/dark,/area/science/server)
+"hQ" = (/obj/machinery/atmospherics/components/unary/vent_pump/on,/obj/structure/cable,/obj/effect/turf_decal/stripes/corner{dir = 1},/turf/open/floor/plasteel/dark,/area/science/nanite)
+"hR" = (/obj/item/beacon,/turf/open/floor/engine,/area/science/explab)
+"hS" = (/obj/effect/turf_decal/stripes/line{dir = 4},/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden,/turf/open/floor/plasteel/dark,/area/science/research)
+"hT" = (/obj/machinery/door/firedoor,/obj/effect/turf_decal/bot,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/open/floor/plasteel/dark,/area/science/research)
+"hU" = (/obj/effect/turf_decal/tile/purple{dir = 4},/obj/effect/turf_decal/stripes/line{dir = 8},/obj/effect/turf_decal/tile/neutral{dir = 4},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/open/floor/plasteel/dark,/area/science/research)
+"hV" = (/obj/effect/turf_decal/tile/purple{dir = 4},/obj/effect/turf_decal/tile/purple{dir = 1},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/structure/cable,/turf/open/floor/plasteel/dark,/area/science/research)
+"hW" = (/obj/effect/turf_decal/tile/purple{dir = 1},/obj/effect/turf_decal/tile/neutral{dir = 1},/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{dir = 1},/turf/open/floor/plasteel/dark,/area/science/research)
+"hX" = (/obj/item/radio/intercom{pixel_y = 20},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/open/floor/plasteel/dark,/area/science/research)
+"hY" = (/obj/machinery/light{dir = 1; light_color = "#c1caff"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/open/floor/plasteel/dark,/area/science/research)
+"hZ" = (/obj/effect/turf_decal/tile/purple{dir = 1},/obj/effect/turf_decal/tile/neutral{dir = 1},/turf/open/floor/plasteel/dark,/area/maintenance/department/science)
+"ia" = (/obj/machinery/rnd/experimentor,/turf/open/floor/engine,/area/science/explab)
+"ib" = (/turf/closed/wall/r_wall,/area/science/server)
+"ic" = (/obj/machinery/computer/nanite_cloud_controller,/obj/effect/turf_decal/bot,/turf/open/floor/plasteel/dark,/area/science/nanite)
+"id" = (/obj/effect/turf_decal/tile/purple{dir = 4},/obj/effect/turf_decal/tile/purple{dir = 1},/obj/effect/turf_decal/stripes/line{dir = 1},/obj/effect/turf_decal/tile/neutral{dir = 4},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/open/floor/plasteel/dark,/area/science/research)
+"ie" = (/obj/effect/turf_decal/stripes/line{dir = 8},/obj/effect/turf_decal/stripes/line{dir = 4},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/open/floor/plasteel/dark,/area/science/nanite)
+"if" = (/obj/structure/table,/obj/item/folder/white,/obj/item/pen,/obj/effect/turf_decal/bot,/turf/open/floor/plasteel/dark,/area/science/nanite)
+"ig" = (/obj/machinery/disposal/bin{step_x = 0; step_y = 0},/obj/machinery/airalarm{pixel_y = 23},/obj/effect/turf_decal/bot,/turf/open/floor/plasteel/dark,/area/science/nanite)
+"ih" = (/turf/closed/wall/r_wall,/area/crew_quarters/heads/hor)
+"ii" = (/turf/closed/wall,/area/crew_quarters/heads/hor)
+"ij" = (/obj/effect/turf_decal/tile/purple{dir = 4},/obj/effect/turf_decal/tile/purple{dir = 1},/obj/effect/turf_decal/stripes/line{dir = 1},/obj/effect/turf_decal/tile/neutral{dir = 1},/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{dir = 1},/turf/open/floor/plasteel/dark,/area/science/research)
+"ik" = (/obj/machinery/vending/wardrobe/science_wardrobe,/obj/effect/turf_decal/bot{layer = 1.99},/obj/machinery/light{dir = 8},/obj/effect/turf_decal/stripes/corner{dir = 4},/turf/open/floor/plasteel/dark,/area/science/explab)
+"il" = (/obj/effect/turf_decal/tile/purple{dir = 4},/obj/effect/turf_decal/tile/purple{dir = 1},/obj/effect/turf_decal/stripes/line{dir = 1},/obj/effect/turf_decal/tile/neutral{dir = 1},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/open/floor/plasteel/dark,/area/science/research)
+"im" = (/obj/effect/turf_decal/tile/purple{dir = 1},/obj/effect/turf_decal/tile/purple{dir = 8},/obj/effect/turf_decal/tile/purple{dir = 1},/obj/effect/turf_decal/tile/purple{dir = 8},/turf/open/floor/plasteel/freezer,/area/science/explab)
+"in" = (/obj/machinery/atmospherics/components/unary/vent_scrubber/on{dir = 8},/turf/open/floor/plasteel/freezer,/area/science/explab)
+"io" = (/obj/machinery/disposal/bin{step_x = 0; step_y = 0},/obj/effect/turf_decal/bot,/turf/open/floor/plasteel/dark,/area/science/research)
+"ip" = (/obj/structure/table/glass,/obj/machinery/microwave{desc = "Cooks and boils stuff, somehow."; pixel_x = -3; pixel_y = 5},/turf/open/floor/plasteel/cafeteria,/area/science/research)
+"iq" = (/obj/structure/reagent_dispensers/watertank,/turf/open/floor/plating,/area/space)
+"ir" = (/obj/structure/reagent_dispensers/fueltank,/turf/open/floor/plating,/area/space)
+"is" = (/obj/structure/rack,/obj/item/storage/belt/utility,/obj/item/extinguisher,/obj/effect/spawner/lootdrop/maintenance,/turf/open/floor/plating,/area/space)
+"it" = (/obj/structure/table/glass,/obj/item/storage/box/donkpockets,/obj/machinery/computer/security/telescreen/entertainment{pixel_y = 32},/turf/open/floor/plasteel/cafeteria,/area/science/research)
+"iu" = (/obj/structure/table/glass,/obj/machinery/newscaster{pixel_y = 32},/obj/machinery/light/small{dir = 1},/obj/item/radio/off,/turf/open/floor/plasteel/cafeteria,/area/science/research)
+"iv" = (/obj/machinery/vending/cigarette,/turf/open/floor/plasteel/cafeteria,/area/science/research)
+"iw" = (/obj/effect/turf_decal/tile/purple,/obj/effect/turf_decal/tile/purple{dir = 4},/obj/effect/turf_decal/tile/purple,/obj/effect/turf_decal/tile/purple{dir = 4},/obj/effect/turf_decal/stripes/line{dir = 4},/turf/open/floor/plasteel/freezer,/area/science/explab)
+"ix" = (/obj/effect/turf_decal/tile/purple{dir = 1},/obj/effect/turf_decal/tile/purple{dir = 4},/obj/effect/turf_decal/tile/purple,/obj/effect/turf_decal/tile/purple{dir = 8},/obj/effect/turf_decal/stripes/line{dir = 1},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/structure/cable,/turf/open/floor/plasteel/dark,/area/maintenance/department/science)
+"iy" = (/obj/effect/turf_decal/stripes/corner{dir = 1},/obj/effect/turf_decal/stripes/corner{dir = 4},/obj/effect/turf_decal/stripes/corner,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/structure/cable,/obj/effect/turf_decal/stripes/corner{dir = 8},/turf/open/floor/plasteel/freezer,/area/crew_quarters/heads/hor)
+"iz" = (/obj/machinery/door/window/northleft,/obj/effect/turf_decal/loading_area{dir = 1},/turf/open/floor/plasteel/dark,/area/science/mixing)
+"iA" = (/obj/machinery/button{pixel_y = -25},/turf/open/floor/engine,/area/science/explab)
+"iB" = (/obj/machinery/rnd/server,/turf/open/floor/circuit/telecomms,/area/science/server)
+"iC" = (/obj/effect/turf_decal/caution{dir = 4; pixel_x = -6; step_x = 0},/obj/effect/turf_decal/tile/purple{dir = 8},/obj/effect/turf_decal/tile/purple{dir = 1},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 9},/turf/open/floor/plasteel/dark,/area/science/research)
+"iD" = (/obj/effect/turf_decal/tile/purple{dir = 1},/obj/effect/turf_decal/tile/purple{dir = 8},/obj/effect/turf_decal/tile/purple,/obj/effect/turf_decal/tile/purple{dir = 8},/obj/machinery/firealarm{pixel_y = -24},/obj/structure/cable,/turf/open/floor/plasteel/freezer,/area/science/explab)
+"iE" = (/obj/machinery/light/small{dir = 1},/turf/open/floor/circuit/telecomms,/area/science/server)
+"iF" = (/obj/effect/turf_decal/stripes/line{dir = 1},/obj/machinery/power/apc{pixel_x = -25},/obj/effect/turf_decal/tile/purple{dir = 1},/obj/effect/turf_decal/tile/purple{dir = 8},/obj/structure/cable,/turf/open/floor/plasteel/dark,/area/science/nanite)
+"iG" = (/obj/effect/turf_decal/tile/purple{dir = 8},/obj/effect/turf_decal/tile/purple,/obj/effect/turf_decal/tile/purple,/obj/structure/extinguisher_cabinet{pixel_y = -29},/turf/open/floor/plasteel/freezer,/area/science/explab)
+"iH" = (/obj/effect/turf_decal/stripes/line{dir = 1},/turf/open/floor/plasteel/dark,/area/science/nanite)
+"iI" = (/obj/effect/turf_decal/stripes/line{dir = 1},/obj/effect/turf_decal/tile/purple{dir = 4},/obj/effect/turf_decal/tile/purple,/turf/open/floor/plasteel/dark,/area/science/nanite)
+"iJ" = (/obj/machinery/status_display/evac{pixel_x = -32},/obj/effect/turf_decal/tile/purple{dir = 4},/obj/effect/turf_decal/tile/purple{dir = 1},/obj/structure/table,/obj/item/aicard,/obj/item/circuitboard/aicore,/obj/item/folder/white,/obj/item/pen,/obj/effect/turf_decal/tile/purple{dir = 8},/turf/open/floor/plasteel/dark,/area/crew_quarters/heads/hor)
+"iK" = (/obj/machinery/airalarm{pixel_y = 26},/obj/effect/turf_decal/tile/purple{dir = 4},/obj/effect/turf_decal/tile/purple{dir = 1},/obj/structure/displaycase/labcage,/obj/effect/turf_decal/delivery,/turf/open/floor/plasteel/dark,/area/crew_quarters/heads/hor)
+"iL" = (/obj/structure/table,/obj/item/taperecorder,/obj/item/paicard,/obj/item/storage/secure/briefcase,/obj/effect/turf_decal/tile/purple{dir = 4},/obj/effect/turf_decal/tile/purple{dir = 1},/obj/effect/turf_decal/tile/purple,/turf/open/floor/plasteel/dark,/area/crew_quarters/heads/hor)
+"iM" = (/obj/effect/turf_decal/stripes/line{dir = 4},/obj/effect/turf_decal/stripes/line{dir = 8},/obj/machinery/power/apc{pixel_y = 26},/obj/machinery/keycard_auth{pixel_x = 26; pixel_y = 26},/obj/structure/cable,/turf/open/floor/plasteel/freezer,/area/crew_quarters/heads/hor)
+"iN" = (/obj/item/storage/secure/safe{pixel_x = 32},/obj/structure/closet/secure_closet/RD,/obj/effect/turf_decal/delivery,/turf/open/floor/plasteel/dark,/area/crew_quarters/heads/hor)
+"iO" = (/obj/effect/turf_decal/tile/purple{dir = 4},/obj/effect/turf_decal/tile/purple{dir = 8},/obj/effect/turf_decal/tile/purple,/obj/effect/turf_decal/tile/purple,/obj/effect/turf_decal/stripes/line{dir = 4},/turf/open/floor/plasteel/freezer,/area/science/explab)
+"iP" = (/obj/structure/filingcabinet/chestdrawer,/obj/machinery/light/small,/obj/effect/turf_decal/tile/purple{dir = 8},/obj/effect/turf_decal/tile/purple,/obj/effect/turf_decal/bot,/obj/effect/turf_decal/stripes/corner{dir = 1},/turf/open/floor/plasteel/dark,/area/science/server)
+"iQ" = (/obj/effect/turf_decal/stripes/line{dir = 1},/obj/effect/turf_decal/tile/purple,/obj/effect/turf_decal/tile/neutral,/turf/open/floor/plasteel/dark,/area/science/research)
+"iR" = (/obj/structure/chair/stool,/obj/machinery/firealarm{dir = 4; pixel_x = -26},/turf/open/floor/plasteel/cafeteria,/area/science/research)
+"iS" = (/obj/structure/chair/stool,/turf/open/floor/plasteel/cafeteria,/area/science/research)
+"iT" = (/obj/machinery/vending/coffee,/turf/open/floor/plasteel/cafeteria,/area/science/research)
+"iU" = (/obj/machinery/light{dir = 8},/obj/item/cigbutt,/turf/open/floor/plasteel/dark,/area/maintenance/department/science)
+"iV" = (/obj/effect/turf_decal/tile/purple{dir = 8},/obj/effect/turf_decal/tile/purple{dir = 1},/obj/effect/turf_decal/tile/purple{dir = 4},/obj/effect/turf_decal/tile/purple,/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 5},/obj/structure/cable,/turf/open/floor/plasteel/dark,/area/maintenance/department/science)
+"iW" = (/obj/effect/turf_decal/stripes/line{dir = 4},/obj/effect/turf_decal/tile/purple,/obj/effect/turf_decal/tile/purple{dir = 4},/obj/machinery/atmospherics/pipe/manifold/supply/hidden{dir = 1},/obj/structure/cable,/turf/open/floor/plasteel/dark,/area/maintenance/department/science)
+"iX" = (/obj/machinery/door/airlock/research,/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/structure/cable,/turf/open/floor/plating,/area/science/mixing)
+"iY" = (/obj/machinery/door/airlock/maintenance,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/structure/cable,/turf/open/floor/plating,/area/space)
+"iZ" = (/obj/effect/turf_decal/stripes/line{dir = 9},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/structure/cable,/turf/open/floor/plasteel/freezer,/area/science/mixing)
+"ja" = (/obj/structure/extinguisher_cabinet{pixel_x = -26},/obj/effect/turf_decal/tile/purple{dir = 1},/obj/effect/turf_decal/stripes/line,/obj/effect/turf_decal/tile/neutral{dir = 1},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/effect/turf_decal/stripes/corner{dir = 4},/turf/open/floor/plasteel/dark,/area/science/research)
+"jb" = (/obj/effect/turf_decal/tile/purple,/obj/effect/turf_decal/tile/purple{dir = 8},/obj/effect/turf_decal/tile/purple{dir = 1},/obj/effect/turf_decal/tile/purple{dir = 4},/obj/machinery/atmospherics/components/unary/vent_pump/on,/obj/structure/cable,/turf/open/floor/plasteel/dark,/area/science/research)
+"jc" = (/obj/effect/turf_decal/tile/purple{dir = 8},/obj/effect/turf_decal/tile/purple{dir = 4},/obj/effect/turf_decal/tile/purple{dir = 1},/obj/effect/turf_decal/tile/purple,/obj/structure/cable,/turf/open/floor/plasteel/dark,/area/science/research)
+"jd" = (/obj/effect/turf_decal/stripes/line{dir = 1},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/structure/cable,/turf/open/floor/plasteel/freezer,/area/science/mixing)
+"je" = (/obj/effect/turf_decal/tile/purple{dir = 8},/obj/effect/turf_decal/tile/purple{dir = 4},/obj/effect/turf_decal/tile/purple{dir = 1},/obj/effect/turf_decal/tile/purple,/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{dir = 8},/obj/structure/cable,/turf/open/floor/plasteel/dark,/area/science/research)
+"jf" = (/obj/effect/turf_decal/tile/purple{dir = 8},/obj/effect/turf_decal/tile/purple{dir = 4},/obj/effect/turf_decal/tile/purple{dir = 1},/obj/effect/turf_decal/tile/purple,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/structure/cable,/turf/open/floor/plasteel/dark,/area/science/research)
+"jg" = (/obj/effect/turf_decal/stripes/line{dir = 1},/obj/machinery/atmospherics/components/unary/vent_pump/on{dir = 8},/turf/open/floor/plasteel/freezer,/area/science/mixing)
+"jh" = (/obj/machinery/light/small{dir = 1},/obj/effect/turf_decal/stripes/line{dir = 1},/obj/machinery/airalarm{pixel_y = 26},/turf/open/floor/plasteel/freezer,/area/science/mixing)
+"ji" = (/obj/machinery/button/massdriver{id = "toxinsdriver"; pixel_x = 24; pixel_y = 24},/obj/structure/chair{dir = 4},/obj/machinery/computer/security/telescreen{desc = "Used for watching the test chamber."; dir = 8; layer = 4; name = "Test Chamber Telescreen"; network = list("toxins"); pixel_x = 30},/obj/effect/turf_decal/stripes/line{dir = 5},/turf/open/floor/plasteel/freezer,/area/science/mixing)
+"jj" = (/obj/effect/turf_decal/tile/purple{dir = 8},/obj/effect/turf_decal/tile/purple{dir = 4},/obj/effect/turf_decal/tile/purple{dir = 1},/obj/effect/turf_decal/tile/purple,/obj/effect/turf_decal/stripes/line{dir = 4},/obj/structure/cable,/turf/open/floor/plasteel/dark,/area/science/research)
+"jk" = (/obj/machinery/door/firedoor,/obj/effect/turf_decal/bot,/obj/structure/cable,/turf/open/floor/plasteel/dark,/area/science/research)
+"jl" = (/obj/effect/turf_decal/delivery,/obj/machinery/door/poddoor/preopen,/obj/machinery/door/firedoor/heavy,/turf/open/floor/engine,/area/science/explab)
+"jm" = (/obj/effect/spawner/structure/window/reinforced,/obj/machinery/door/firedoor/heavy,/obj/machinery/door/poddoor/preopen,/turf/open/floor/plating,/area/science/explab)
+"jn" = (/obj/machinery/atmospherics/components/unary/vent_pump/siphon/on{dir = 4},/obj/effect/turf_decal/bot,/obj/effect/turf_decal/stripes/corner,/turf/open/floor/plasteel/dark,/area/science/server)
+"jo" = (/obj/machinery/atmospherics/pipe/manifold{dir = 1},/obj/effect/turf_decal/stripes/line,/turf/open/floor/plasteel/dark,/area/science/server)
+"jp" = (/obj/structure/sign/warning/biohazard{pixel_y = -32},/obj/structure/chair/comfy/black{dir = 4},/obj/effect/turf_decal/tile/purple{dir = 8},/obj/effect/turf_decal/tile/neutral{dir = 8},/obj/effect/turf_decal/stripes/corner{dir = 1},/turf/open/floor/plasteel/dark,/area/maintenance/department/science)
+"jq" = (/obj/machinery/nanite_chamber{dir = 2},/obj/effect/turf_decal/bot,/obj/effect/turf_decal/tile/purple{dir = 1},/obj/effect/turf_decal/tile/purple{dir = 8},/turf/open/floor/plasteel/dark,/area/science/nanite)
+"jr" = (/obj/effect/turf_decal/loading_area{dir = 8},/obj/structure/cable,/turf/open/floor/plasteel/dark,/area/science/nanite)
+"js" = (/turf/open/floor/plasteel/dark,/area/science/nanite)
+"jt" = (/obj/effect/turf_decal/tile/purple{dir = 1},/obj/effect/turf_decal/tile/purple{dir = 8},/turf/open/floor/plasteel/dark,/area/crew_quarters/heads/hor)
+"ju" = (/obj/machinery/holopad,/obj/effect/turf_decal/bot{layer = 1.99},/turf/open/floor/plasteel/dark,/area/crew_quarters/heads/hor)
+"jv" = (/obj/effect/turf_decal/tile/purple{dir = 4},/obj/effect/turf_decal/tile/purple,/turf/open/floor/plasteel/dark,/area/crew_quarters/heads/hor)
+"jw" = (/obj/effect/turf_decal/stripes/line{dir = 4},/obj/effect/turf_decal/stripes/line{dir = 8},/obj/machinery/atmospherics/components/unary/vent_pump/on{dir = 4},/obj/structure/cable,/turf/open/floor/plasteel/freezer,/area/crew_quarters/heads/hor)
+"jx" = (/obj/structure/filingcabinet/chestdrawer,/obj/effect/turf_decal/bot{layer = 1.99},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/open/floor/plasteel/dark,/area/crew_quarters/heads/hor)
+"jy" = (/obj/effect/spawner/structure/window/reinforced,/obj/structure/cable,/obj/machinery/door/poddoor/preopen,/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/open/floor/plating,/area/crew_quarters/heads/hor)
+"jz" = (/obj/effect/turf_decal/tile/purple{dir = 8},/obj/effect/turf_decal/tile/purple{dir = 4},/obj/effect/turf_decal/tile/purple{dir = 1},/obj/effect/turf_decal/tile/purple,/obj/effect/turf_decal/stripes/line{dir = 8},/obj/structure/cable,/turf/open/floor/plasteel/dark,/area/science/research)
+"jA" = (/obj/effect/turf_decal/tile/purple{dir = 8},/obj/effect/turf_decal/tile/purple{dir = 4},/obj/effect/turf_decal/tile/purple{dir = 1},/obj/effect/turf_decal/tile/purple,/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/structure/cable,/turf/open/floor/plasteel/dark,/area/science/research)
+"jB" = (/obj/effect/turf_decal/tile/purple{dir = 1},/obj/effect/turf_decal/tile/purple{dir = 8},/obj/effect/turf_decal/stripes/line{dir = 8},/obj/effect/turf_decal/tile/neutral{dir = 8},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/open/floor/plasteel/dark,/area/science/research)
+"jC" = (/obj/effect/turf_decal/tile/purple{dir = 8},/obj/effect/turf_decal/tile/purple{dir = 4},/obj/effect/turf_decal/tile/purple{dir = 1},/obj/effect/turf_decal/tile/purple,/obj/machinery/atmospherics/pipe/manifold/supply/hidden,/obj/structure/cable,/turf/open/floor/plasteel/dark,/area/science/research)
+"jD" = (/obj/effect/turf_decal/tile/purple{dir = 8},/obj/effect/turf_decal/tile/purple{dir = 4},/obj/effect/turf_decal/tile/purple{dir = 1},/obj/effect/turf_decal/tile/purple,/obj/machinery/atmospherics/components/unary/vent_scrubber/on{dir = 1},/obj/structure/cable,/turf/open/floor/plasteel/dark,/area/science/research)
+"jE" = (/obj/effect/turf_decal/tile/purple,/obj/effect/turf_decal/tile/purple{dir = 4},/obj/machinery/atmospherics/pipe/manifold/supply/hidden{dir = 1},/turf/open/floor/plasteel/dark,/area/science/research)
+"jF" = (/obj/effect/turf_decal/tile/purple{dir = 8},/obj/effect/turf_decal/tile/purple{dir = 4},/obj/effect/turf_decal/tile/purple{dir = 1},/obj/effect/turf_decal/tile/purple,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/structure/cable,/turf/open/floor/plasteel/dark,/area/science/research)
+"jG" = (/obj/machinery/door/airlock/medical,/obj/machinery/door/firedoor,/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/open/floor/plasteel/cafeteria,/area/science/research)
+"jH" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 10},/turf/open/floor/plasteel/cafeteria,/area/science/research)
+"jI" = (/obj/machinery/holopad,/obj/effect/turf_decal/bot,/turf/open/floor/plasteel/cafeteria,/area/science/research)
+"jJ" = (/obj/item/cigbutt,/turf/open/floor/plasteel/cafeteria,/area/science/research)
+"jK" = (/obj/item/radio/intercom{pixel_x = 32},/obj/machinery/light/small{dir = 4},/obj/machinery/atmospherics/components/unary/vent_scrubber/on,/turf/open/floor/plasteel/cafeteria,/area/science/research)
+"jL" = (/obj/structure/chair/comfy/black{dir = 8},/obj/effect/turf_decal/tile/purple{dir = 4},/obj/effect/turf_decal/tile/neutral{dir = 4},/obj/effect/turf_decal/stripes/corner{dir = 8},/turf/open/floor/plasteel/dark,/area/maintenance/department/science)
+"jM" = (/obj/effect/turf_decal/tile/purple{dir = 8},/obj/effect/turf_decal/tile/purple,/obj/effect/turf_decal/tile/purple{dir = 1},/obj/effect/turf_decal/tile/purple{dir = 4},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 6},/obj/structure/cable,/turf/open/floor/plasteel/dark,/area/maintenance/department/science)
+"jN" = (/obj/effect/turf_decal/tile/purple{dir = 4},/obj/effect/turf_decal/tile/neutral{dir = 4},/obj/effect/turf_decal/tile/purple{dir = 8},/obj/effect/turf_decal/tile/neutral{dir = 8},/obj/item/twohanded/required/kirbyplants{icon_state = "plant-14"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 6},/obj/effect/turf_decal/stripes/corner{dir = 1},/turf/open/floor/plasteel/dark,/area/science/research)
+"jO" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/closed/wall,/area/science/mixing)
+"jP" = (/obj/machinery/light/small{brightness = 3; dir = 8},/obj/effect/turf_decal/stripes/line{dir = 10},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/open/floor/plasteel/freezer,/area/science/mixing)
+"jQ" = (/obj/effect/turf_decal/stripes/line,/obj/machinery/power/apc{pixel_y = -24},/obj/machinery/atmospherics/components/unary/vent_scrubber/on{dir = 8},/obj/structure/cable,/turf/open/floor/plasteel/freezer,/area/science/mixing)
+"jR" = (/obj/effect/turf_decal/stripes/line{dir = 8},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 5},/turf/open/floor/plasteel/dark,/area/science/research)
+"jS" = (/obj/effect/turf_decal/tile/purple,/obj/effect/turf_decal/tile/neutral,/obj/effect/turf_decal/stripes/corner,/obj/machinery/atmospherics/pipe/manifold/supply/hidden,/turf/open/floor/plasteel/dark,/area/science/research)
+"jT" = (/obj/effect/turf_decal/tile/purple{dir = 8},/obj/effect/turf_decal/tile/purple,/obj/effect/turf_decal/stripes/line,/obj/machinery/atmospherics/pipe/manifold/supply/hidden{dir = 1},/turf/open/floor/plasteel/dark,/area/science/research)
+"jU" = (/obj/effect/turf_decal/tile/purple{dir = 8},/obj/effect/turf_decal/tile/purple,/obj/item/radio/intercom{pixel_y = -28},/obj/effect/turf_decal/stripes/line,/obj/effect/turf_decal/tile/neutral,/obj/effect/turf_decal/tile/neutral{dir = 8},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/open/floor/plasteel/dark,/area/science/research)
+"jV" = (/obj/effect/turf_decal/tile/purple{dir = 8},/obj/effect/turf_decal/tile/purple,/obj/effect/turf_decal/stripes/line,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/structure/cable,/turf/open/floor/plasteel/dark,/area/science/research)
+"jW" = (/obj/effect/turf_decal/tile/purple{dir = 1},/obj/effect/turf_decal/tile/purple{dir = 4},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/structure/cable,/turf/open/floor/plasteel/dark,/area/science/research)
+"jX" = (/obj/machinery/atmospherics/pipe/manifold/supply/hidden,/turf/open/floor/plasteel/dark,/area/science/research)
+"jY" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/open/floor/plasteel/dark,/area/science/research)
+"jZ" = (/obj/effect/turf_decal/stripes/line{dir = 4},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/open/floor/plasteel/dark,/area/science/research)
+"ka" = (/obj/machinery/door/firedoor,/obj/effect/turf_decal/bot,/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/open/floor/plasteel/dark,/area/science/research)
+"kb" = (/obj/machinery/disposal/bin{step_x = 0; step_y = 0},/obj/structure/noticeboard{dir = 4; pixel_x = -27},/obj/structure/sign/departments/restroom{pixel_x = -32; pixel_y = -32},/turf/open/floor/plasteel/cafeteria,/area/science/research)
+"kc" = (/obj/effect/turf_decal/stripes/line,/turf/open/floor/plasteel/freezer,/area/science/mixing)
+"kd" = (/obj/effect/turf_decal/tile/purple,/obj/effect/turf_decal/tile/neutral,/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/open/floor/plasteel/dark,/area/science/research)
+"ke" = (/obj/effect/turf_decal/tile/purple{dir = 8},/obj/effect/turf_decal/tile/purple,/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/structure/cable,/turf/open/floor/plasteel/dark,/area/science/research)
+"kf" = (/obj/effect/turf_decal/tile/purple{dir = 8},/obj/structure/extinguisher_cabinet{pixel_y = -29},/obj/effect/turf_decal/tile/neutral{dir = 8},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/open/floor/plasteel/dark,/area/science/research)
+"kg" = (/obj/machinery/door/airlock/research,/obj/machinery/door/firedoor,/obj/effect/mapping_helpers/airlock/cyclelink_helper,/turf/open/floor/plasteel/dark,/area/science/research)
+"kh" = (/obj/effect/turf_decal/stripes/corner,/obj/machinery/airalarm{dir = 1; pixel_y = -24},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/open/floor/plasteel/dark,/area/science/research)
+"ki" = (/obj/effect/turf_decal/stripes/line,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/open/floor/plasteel/dark,/area/science/research)
+"kj" = (/obj/effect/turf_decal/tile/purple{dir = 8},/obj/effect/turf_decal/tile/purple{dir = 4},/obj/effect/turf_decal/tile/purple{dir = 1},/obj/effect/turf_decal/tile/purple,/obj/effect/turf_decal/stripes/line,/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/structure/cable,/turf/open/floor/plasteel/dark,/area/science/research)
+"kk" = (/obj/structure/chair{dir = 4},/obj/machinery/computer/security/telescreen{desc = "Used for watching the test chamber."; dir = 8; layer = 4; name = "Test Chamber Telescreen"; network = list("toxins"); pixel_x = 30},/obj/effect/turf_decal/stripes/line{dir = 6},/turf/open/floor/plasteel/freezer,/area/science/mixing)
+"kl" = (/obj/effect/turf_decal/stripes/line{dir = 8},/obj/effect/turf_decal/stripes/line{dir = 4},/turf/open/floor/plasteel/dark,/area/science/explab)
+"km" = (/obj/structure/table/reinforced,/obj/item/hand_labeler,/obj/item/stack/packageWrap,/obj/item/stack/packageWrap,/obj/item/stack/packageWrap,/obj/item/taperecorder,/obj/machinery/button{pixel_y = 25},/turf/open/floor/plasteel/dark,/area/science/explab)
+"kn" = (/obj/structure/table/reinforced,/obj/item/folder/white{pixel_x = 4; pixel_y = 4},/obj/item/folder/white{pixel_x = 2; pixel_y = 2},/obj/item/stack/sheet/mineral/plasma,/turf/open/floor/plasteel/dark,/area/science/explab)
+"ko" = (/obj/machinery/computer/rdconsole/experiment,/obj/effect/turf_decal/bot{layer = 1.99},/turf/open/floor/plasteel/dark,/area/science/explab)
+"kp" = (/obj/structure/cable,/obj/effect/turf_decal/tile/purple,/obj/effect/turf_decal/tile/purple,/obj/effect/turf_decal/tile/purple{dir = 4},/turf/open/floor/plasteel/dark,/area/science/research)
+"kq" = (/obj/machinery/door/airlock/security/glass,/obj/machinery/door/firedoor,/obj/effect/mapping_helpers/airlock/cyclelink_helper{dir = 8},/turf/open/floor/plating,/area/science/lab)
+"kr" = (/obj/effect/turf_decal/tile/purple{dir = 1},/obj/machinery/light{dir = 1},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/open/floor/plasteel/dark,/area/science/research)
+"ks" = (/obj/effect/turf_decal/tile/purple{dir = 4},/obj/effect/turf_decal/tile/neutral{dir = 4},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/effect/turf_decal/stripes/corner{dir = 8},/turf/open/floor/plasteel/dark,/area/science/research)
+"kt" = (/obj/structure/closet/radiation,/obj/effect/turf_decal/bot{layer = 1.99},/turf/open/floor/plasteel/dark,/area/science/explab)
+"ku" = (/obj/effect/spawner/structure/window/reinforced,/turf/open/floor/plating,/area/science/server)
+"kv" = (/obj/machinery/atmospherics/pipe/simple,/obj/machinery/door/airlock/command/glass{name = "Server Access"; req_access_txt = "30"},/obj/machinery/door/firedoor,/turf/open/floor/plasteel/dark,/area/science/server)
+"kw" = (/obj/machinery/computer/nanite_chamber_control{dir = 4},/obj/effect/turf_decal/bot,/obj/item/radio/intercom{pixel_x = -29},/obj/effect/turf_decal/tile/purple{dir = 1},/obj/effect/turf_decal/tile/purple{dir = 8},/turf/open/floor/plasteel/dark,/area/science/nanite)
+"kx" = (/obj/structure/chair/stool,/obj/structure/cable,/turf/open/floor/plasteel/dark,/area/science/nanite)
+"ky" = (/obj/machinery/holopad,/obj/effect/turf_decal/bot,/turf/open/floor/plasteel/dark,/area/science/nanite)
+"kz" = (/obj/machinery/status_display/ai{pixel_x = -32},/obj/effect/turf_decal/tile/purple{dir = 8},/obj/effect/turf_decal/tile/purple,/obj/effect/turf_decal/tile/purple{dir = 1},/turf/open/floor/plasteel/dark,/area/crew_quarters/heads/hor)
+"kA" = (/obj/effect/turf_decal/tile/purple{dir = 1},/obj/effect/turf_decal/tile/neutral{dir = 1},/obj/item/radio/intercom{pixel_y = 20},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/effect/turf_decal/stripes/corner{dir = 4},/turf/open/floor/plasteel/dark,/area/science/research)
+"kB" = (/obj/effect/turf_decal/tile/purple{dir = 8},/obj/effect/turf_decal/tile/purple,/turf/open/floor/plasteel/dark,/area/crew_quarters/heads/hor)
+"kC" = (/obj/effect/turf_decal/tile/purple{dir = 8},/obj/effect/turf_decal/tile/purple,/obj/effect/turf_decal/tile/purple{dir = 4},/turf/open/floor/plasteel/dark,/area/crew_quarters/heads/hor)
+"kD" = (/obj/effect/turf_decal/stripes/line{dir = 8},/obj/effect/turf_decal/stripes/line{dir = 4},/obj/structure/cable,/turf/open/floor/plasteel/freezer,/area/crew_quarters/heads/hor)
+"kE" = (/obj/machinery/disposal/bin,/obj/effect/turf_decal/bot{layer = 1.99},/turf/open/floor/plasteel/dark,/area/crew_quarters/heads/hor)
+"kF" = (/obj/effect/spawner/structure/window/reinforced,/obj/structure/cable,/obj/machinery/door/poddoor/preopen,/turf/open/floor/plating,/area/crew_quarters/heads/hor)
+"kG" = (/obj/effect/turf_decal/tile/purple{dir = 1},/obj/effect/turf_decal/tile/purple{dir = 8},/obj/effect/turf_decal/stripes/line{dir = 8},/obj/effect/turf_decal/tile/neutral{dir = 8},/turf/open/floor/plasteel/dark,/area/science/research)
+"kH" = (/obj/effect/turf_decal/tile/purple{dir = 4},/obj/effect/turf_decal/tile/neutral{dir = 4},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/open/floor/plasteel/dark,/area/science/research)
+"kI" = (/obj/structure/grille,/obj/structure/window/reinforced/tinted/fulltile,/turf/open/floor/plating,/area/science/research)
+"kJ" = (/obj/machinery/atmospherics/components/unary/vent_pump/on{dir = 1},/turf/open/floor/plasteel/cafeteria,/area/science/research)
+"kK" = (/turf/open/floor/plasteel/cafeteria,/area/science/research)
+"kL" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 5},/turf/open/floor/plasteel/cafeteria,/area/science/research)
+"kM" = (/obj/machinery/door/airlock/medical,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/open/floor/plasteel/cafeteria,/area/science/research)
+"kN" = (/obj/effect/turf_decal/tile/purple{dir = 1},/obj/effect/turf_decal/stripes/corner{dir = 4},/obj/effect/turf_decal/tile/neutral{dir = 1},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/effect/turf_decal/stripes/corner{dir = 8},/turf/open/floor/plasteel/dark,/area/science/research)
+"kO" = (/obj/effect/turf_decal/tile/purple{dir = 8},/obj/effect/turf_decal/tile/purple,/obj/effect/turf_decal/tile/purple{dir = 1},/obj/effect/turf_decal/tile/purple{dir = 4},/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{dir = 4},/obj/structure/cable,/turf/open/floor/plasteel/dark,/area/maintenance/department/science)
+"kP" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/open/floor/plasteel/dark,/area/maintenance/department/science)
+"kQ" = (/obj/machinery/suit_storage_unit/rd,/obj/effect/turf_decal/delivery,/turf/open/floor/plasteel/dark,/area/science/mixing)
+"kR" = (/obj/machinery/doppler_array/research/science,/obj/machinery/light/small,/obj/effect/turf_decal/bot,/obj/item/radio/intercom{pixel_y = -26},/turf/open/floor/plasteel/dark,/area/science/mixing)
+"kS" = (/obj/structure/closet/crate/secure{name = "Test Site Materials Crate"},/obj/item/stack/rods/fifty,/obj/item/stack/sheet/glass/fifty,/obj/item/stack/sheet/metal/fifty,/obj/item/target,/obj/item/target/syndicate,/obj/item/target/alien,/obj/item/target/clown,/obj/effect/turf_decal/bot,/turf/open/floor/plasteel/dark,/area/science/mixing)
+"kT" = (/obj/effect/turf_decal/tile/purple,/obj/effect/turf_decal/tile/purple{dir = 8},/obj/effect/turf_decal/tile/purple{dir = 1},/obj/effect/turf_decal/tile/purple{dir = 4},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/structure/cable,/obj/effect/turf_decal/stripes/corner{dir = 1},/turf/open/floor/plasteel/dark,/area/science/research)
+"kU" = (/obj/effect/turf_decal/stripes/line{dir = 1},/obj/item/cigbutt,/obj/structure/cable,/obj/effect/turf_decal/stripes/corner{dir = 8},/turf/open/floor/plasteel/freezer,/area/science/mixing)
+"kV" = (/obj/effect/turf_decal/tile/purple{dir = 4},/obj/effect/turf_decal/tile/purple{dir = 1},/obj/effect/turf_decal/tile/purple{dir = 1},/obj/effect/turf_decal/stripes/line{dir = 1},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/open/floor/plasteel/freezer,/area/science/explab)
+"kW" = (/obj/effect/turf_decal/tile/purple{dir = 4},/obj/effect/turf_decal/tile/purple{dir = 1},/obj/effect/turf_decal/tile/purple{dir = 1},/obj/effect/turf_decal/tile/purple{dir = 4},/obj/effect/turf_decal/stripes/line{dir = 1},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/open/floor/plasteel/freezer,/area/science/explab)
+"kX" = (/obj/effect/turf_decal/tile/purple{dir = 1},/obj/effect/turf_decal/tile/purple{dir = 4},/obj/effect/turf_decal/tile/purple{dir = 4},/obj/effect/turf_decal/tile/purple{dir = 1},/obj/effect/turf_decal/stripes/line{dir = 1},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 10},/turf/open/floor/plasteel/freezer,/area/science/explab)
+"kY" = (/obj/effect/turf_decal/tile/purple{dir = 4},/obj/effect/turf_decal/tile/purple{dir = 1},/obj/effect/turf_decal/tile/purple{dir = 4},/obj/effect/turf_decal/stripes/line{dir = 1},/turf/open/floor/plasteel/freezer,/area/science/explab)
+"kZ" = (/obj/effect/turf_decal/stripes/corner{dir = 4},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/structure/cable,/turf/open/floor/plasteel/freezer,/area/science/mixing)
+"la" = (/obj/machinery/shower{dir = 8},/obj/effect/turf_decal/bot{layer = 1.99},/turf/open/floor/plasteel/dark,/area/science/explab)
+"lb" = (/obj/effect/turf_decal/stripes/corner{dir = 4},/obj/structure/cable,/obj/effect/turf_decal/stripes/corner{dir = 8},/turf/open/floor/plasteel/freezer,/area/science/mixing)
+"lc" = (/obj/machinery/atmospherics/pipe/simple{dir = 9},/obj/effect/turf_decal/tile/neutral{dir = 1},/obj/effect/turf_decal/tile/neutral{dir = 4},/obj/effect/turf_decal/stripes/line{dir = 1},/turf/open/floor/plasteel/dark,/area/science/server)
+"ld" = (/obj/effect/turf_decal/stripes/line{dir = 4},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/structure/cable,/obj/effect/turf_decal/stripes/corner{dir = 4},/turf/open/floor/plasteel/freezer,/area/science/mixing)
+"le" = (/obj/effect/turf_decal/stripes/line,/obj/effect/turf_decal/tile/purple{dir = 1},/obj/effect/turf_decal/tile/purple{dir = 8},/turf/open/floor/plasteel/dark,/area/science/nanite)
+"lf" = (/obj/effect/turf_decal/tile/purple{dir = 8},/obj/machinery/light,/obj/effect/turf_decal/tile/neutral{dir = 8},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/effect/turf_decal/stripes/corner{dir = 1},/turf/open/floor/plasteel/dark,/area/science/research)
+"lg" = (/obj/effect/turf_decal/stripes/corner,/turf/open/floor/plasteel/dark,/area/science/nanite)
+"lh" = (/obj/effect/turf_decal/tile/purple{dir = 4},/obj/effect/turf_decal/tile/purple,/obj/effect/turf_decal/stripes/line,/obj/machinery/firealarm{dir = 4; pixel_x = 26; pixel_y = 0},/turf/open/floor/plasteel/dark,/area/science/nanite)
+"li" = (/obj/machinery/computer/mecha,/obj/structure/window/reinforced{dir = 1; layer = 2.9},/obj/effect/turf_decal/bot{layer = 1.99},/obj/effect/turf_decal/stripes/line{dir = 1},/turf/open/floor/plasteel/dark,/area/crew_quarters/heads/hor)
+"lj" = (/obj/machinery/computer/robotics,/obj/structure/window/reinforced{dir = 1; layer = 2.9},/obj/effect/turf_decal/bot{layer = 1.99},/obj/effect/turf_decal/stripes/line{dir = 1},/turf/open/floor/plasteel/dark,/area/crew_quarters/heads/hor)
+"lk" = (/obj/machinery/modular_computer/console/preset/research,/obj/structure/window/reinforced{dir = 1; layer = 2.9},/obj/effect/turf_decal/bot{layer = 1.99},/obj/effect/turf_decal/stripes/line{dir = 1},/turf/open/floor/plasteel/dark,/area/crew_quarters/heads/hor)
+"ll" = (/obj/structure/table,/obj/effect/turf_decal/bot{layer = 1.99},/obj/item/paper_bin,/obj/item/pen,/obj/item/stamp/rd,/turf/open/floor/plasteel/dark,/area/crew_quarters/heads/hor)
+"lm" = (/obj/effect/turf_decal/tile/purple{dir = 8},/obj/effect/turf_decal/tile/purple{dir = 1},/obj/effect/turf_decal/stripes/line{dir = 8},/obj/effect/turf_decal/tile/neutral{dir = 1},/turf/open/floor/plasteel/dark,/area/science/research)
+"ln" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/open/floor/plasteel/dark,/area/science/research)
+"lo" = (/obj/structure/table/glass,/obj/machinery/airalarm{dir = 1; pixel_y = -22},/obj/item/storage/fancy/cigarettes/cigpack_carp,/obj/item/lighter/greyscale,/obj/structure/sign/poster/official/random{pixel_x = 32},/turf/open/floor/plasteel/cafeteria,/area/science/research)
+"lp" = (/obj/structure/table/glass,/obj/machinery/light/small,/turf/open/floor/plasteel/cafeteria,/area/science/research)
+"lq" = (/obj/effect/turf_decal/stripes/line{dir = 8},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/structure/sign/poster/official/science{pixel_y = -32},/turf/open/floor/plasteel/dark,/area/science/research)
+"lr" = (/obj/machinery/firealarm{dir = 1; pixel_x = 0; pixel_y = -24},/obj/machinery/atmospherics/pipe/manifold/supply/hidden,/obj/effect/turf_decal/stripes/corner{dir = 1},/turf/open/floor/plasteel/dark,/area/science/research)
+"ls" = (/obj/effect/turf_decal/tile/purple{dir = 8},/obj/effect/turf_decal/tile/purple,/obj/effect/turf_decal/tile/purple{dir = 1},/obj/effect/turf_decal/tile/purple{dir = 4},/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{dir = 8},/obj/structure/cable,/turf/open/floor/plasteel/dark,/area/maintenance/department/science)
+"lt" = (/obj/item/cigbutt,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/open/floor/plasteel/dark,/area/maintenance/department/science)
+"lu" = (/obj/machinery/atmospherics/components/unary/vent_scrubber/on{dir = 8},/turf/open/floor/plasteel/dark,/area/maintenance/department/science)
+"lv" = (/obj/structure/reagent_dispensers/water_cooler,/obj/effect/turf_decal/tile/purple,/obj/effect/turf_decal/stripes/corner,/obj/effect/turf_decal/tile/neutral,/turf/open/floor/plasteel/dark,/area/maintenance/department/science)
+"lw" = (/obj/effect/turf_decal/tile/purple{dir = 4},/obj/effect/turf_decal/tile/neutral{dir = 4},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 9},/obj/effect/turf_decal/stripes/corner{dir = 8},/turf/open/floor/plasteel/dark,/area/science/research)
+"lx" = (/obj/effect/turf_decal/stripes/corner{dir = 4},/turf/open/floor/plasteel/freezer,/area/science/mixing)
+"ly" = (/obj/machinery/atmospherics/components/unary/vent_pump/on{dir = 4},/turf/open/floor/plasteel/freezer,/area/science/explab)
+"lz" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 5},/obj/structure/cable,/obj/effect/turf_decal/stripes/corner{dir = 8},/turf/open/floor/plasteel/freezer,/area/science/mixing)
+"lA" = (/obj/machinery/holopad,/obj/effect/turf_decal/bot,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 5},/turf/open/floor/plasteel/freezer,/area/science/explab)
+"lB" = (/obj/structure/girder,/obj/structure/grille,/turf/open/floor/plating,/area/space)
+"lC" = (/obj/structure/table,/obj/item/clipboard,/obj/item/clothing/glasses/science{layer = 4},/obj/item/reagent_containers/glass/beaker/large{step_x = -5; layer = 5},/obj/item/reagent_containers/glass/beaker{step_x = 4},/obj/machinery/light{dir = 1},/obj/effect/turf_decal/tile/purple,/obj/effect/turf_decal/tile/purple{dir = 4},/obj/effect/turf_decal/tile/purple{dir = 4},/obj/effect/turf_decal/tile/purple{dir = 4},/obj/effect/turf_decal/tile/purple{dir = 1},/obj/machinery/power/apc{dir = 4; pixel_x = 24},/obj/item/book/manual/wiki/research_and_development{layer = 3.1},/obj/structure/cable,/turf/open/floor/plasteel/freezer,/area/science/lab)
+"lD" = (/obj/effect/turf_decal/stripes/corner,/obj/effect/turf_decal/stripes/corner{dir = 8},/turf/open/floor/plasteel/dark,/area/science/lab)
+"lE" = (/obj/structure/closet/l3closet/scientist,/obj/effect/turf_decal/bot{layer = 1.99},/obj/machinery/light{dir = 4},/turf/open/floor/plasteel/dark,/area/science/explab)
+"lF" = (/obj/machinery/power/apc{pixel_x = -25},/obj/effect/turf_decal/tile/neutral{dir = 8},/obj/effect/turf_decal/tile/neutral{dir = 1},/obj/machinery/atmospherics/components/unary/vent_pump/on,/obj/structure/cable,/turf/open/floor/plasteel/dark,/area/science/server)
+"lG" = (/turf/open/floor/plasteel/dark,/area/science/server)
+"lH" = (/obj/structure/chair/office/light{dir = 1},/obj/machinery/airalarm{dir = 8; pixel_x = 24},/obj/effect/turf_decal/tile/purple{dir = 4},/obj/effect/turf_decal/tile/purple,/obj/machinery/atmospherics/components/unary/vent_scrubber/on,/turf/open/floor/plasteel/dark,/area/science/server)
+"lI" = (/obj/effect/turf_decal/stripes/line{dir = 8},/obj/effect/turf_decal/stripes/corner,/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/structure/cable,/turf/open/floor/plasteel/dark,/area/science/nanite)
+"lJ" = (/obj/effect/turf_decal/stripes/line{dir = 6},/turf/open/floor/plasteel/dark,/area/science/nanite)
+"lK" = (/obj/structure/table,/obj/effect/turf_decal/bot,/obj/item/storage/box/disks_nanite,/turf/open/floor/plasteel/dark,/area/science/nanite)
+"lL" = (/obj/effect/turf_decal/stripes/line,/obj/effect/turf_decal/stripes/line{dir = 1},/obj/machinery/firealarm{dir = 4; pixel_x = -26},/turf/open/floor/plasteel/freezer,/area/crew_quarters/heads/hor)
+"lM" = (/obj/structure/chair/office/light,/obj/effect/turf_decal/stripes/line,/obj/effect/turf_decal/stripes/line{dir = 1},/obj/machinery/atmospherics/components/unary/vent_scrubber/on{dir = 4},/turf/open/floor/plasteel/freezer,/area/crew_quarters/heads/hor)
+"lN" = (/obj/effect/turf_decal/stripes/line,/obj/effect/turf_decal/stripes/line{dir = 1},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/open/floor/plasteel/freezer,/area/crew_quarters/heads/hor)
+"lO" = (/obj/effect/turf_decal/tile/purple{dir = 1},/obj/effect/turf_decal/tile/purple{dir = 8},/obj/effect/turf_decal/tile/purple{dir = 8},/obj/effect/turf_decal/stripes/corner{dir = 4},/obj/effect/turf_decal/stripes/corner{dir = 1},/turf/open/floor/plasteel/freezer,/area/science/lab)
+"lP" = (/obj/effect/turf_decal/stripes/line,/obj/effect/turf_decal/stripes/line{dir = 1},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/structure/cable,/turf/open/floor/plasteel/freezer,/area/crew_quarters/heads/hor)
+"lQ" = (/obj/machinery/door/firedoor,/obj/machinery/door/airlock/command{name = "Research Director's Office"; req_access_txt = "30"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/structure/cable,/turf/open/floor/plasteel/freezer,/area/crew_quarters/heads/hor)
+"lR" = (/obj/effect/turf_decal/tile/purple{dir = 1},/obj/effect/turf_decal/tile/purple{dir = 8},/obj/effect/turf_decal/stripes/line{dir = 8},/obj/effect/turf_decal/tile/neutral{dir = 1},/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{dir = 1},/obj/structure/cable,/turf/open/floor/plasteel/dark,/area/science/research)
+"lS" = (/obj/effect/turf_decal/tile/purple{dir = 8},/obj/effect/turf_decal/tile/purple{dir = 4},/obj/effect/turf_decal/tile/purple{dir = 1},/obj/effect/turf_decal/tile/purple,/obj/machinery/atmospherics/components/unary/vent_scrubber/on{dir = 8},/obj/structure/cable,/obj/structure/cable,/turf/open/floor/plasteel/dark,/area/science/research)
+"lT" = (/obj/machinery/light{dir = 4; light_color = "#e8eaff"},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/open/floor/plasteel/dark,/area/science/research)
+"lU" = (/obj/machinery/door/airlock/medical,/turf/open/floor/plasteel/cafeteria,/area/science/research)
+"lV" = (/obj/machinery/atmospherics/components/unary/vent_pump/on{dir = 4},/obj/machinery/vending/cola/random,/turf/open/floor/plasteel/dark,/area/maintenance/department/science)
+"lW" = (/obj/effect/turf_decal/tile/purple,/obj/effect/turf_decal/tile/purple{dir = 8},/obj/effect/turf_decal/tile/purple{dir = 4},/obj/effect/turf_decal/tile/purple{dir = 1},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/structure/cable,/obj/structure/cable,/turf/open/floor/plasteel/dark,/area/maintenance/department/science)
+"lX" = (/obj/effect/turf_decal/tile/purple,/obj/effect/turf_decal/tile/purple{dir = 4},/obj/effect/turf_decal/tile/purple{dir = 8},/obj/effect/turf_decal/tile/purple{dir = 1},/obj/machinery/atmospherics/pipe/manifold/supply/hidden,/obj/structure/cable,/turf/open/floor/plasteel/dark,/area/maintenance/department/science)
+"lY" = (/obj/effect/turf_decal/tile/purple,/obj/effect/turf_decal/tile/purple{dir = 4},/obj/effect/turf_decal/tile/purple{dir = 8},/obj/effect/turf_decal/tile/purple{dir = 1},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/structure/cable,/turf/open/floor/plasteel/dark,/area/maintenance/department/science)
+"lZ" = (/obj/effect/turf_decal/tile/purple,/obj/effect/turf_decal/tile/purple{dir = 4},/obj/effect/turf_decal/tile/purple{dir = 8},/obj/effect/turf_decal/tile/purple{dir = 1},/obj/effect/turf_decal/stripes/line{dir = 4},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/structure/cable,/turf/open/floor/plasteel/dark,/area/maintenance/department/science)
+"ma" = (/obj/structure/table/reinforced,/obj/item/clipboard{pixel_x = -6},/obj/item/book/manual/wiki/experimentor{pixel_x = 6},/obj/machinery/power/apc{dir = 8; pixel_x = -25},/obj/effect/turf_decal/bot{layer = 1.99},/obj/structure/cable,/turf/open/floor/plasteel/dark,/area/science/explab)
+"mb" = (/obj/structure/table,/obj/item/stock_parts/matter_bin{step_y = 0},/obj/item/stock_parts/matter_bin{step_x = 6; step_y = 1},/obj/item/stock_parts/matter_bin{step_x = 6; step_y = 1},/obj/item/stock_parts/manipulator{step_x = -1; step_y = 0},/obj/item/stock_parts/manipulator{step_x = -7; step_y = 0},/obj/effect/turf_decal/tile/purple{dir = 4},/obj/effect/turf_decal/tile/purple{dir = 4},/obj/effect/turf_decal/tile/purple,/obj/item/stack/cable_coil{pixel_x = -2; pixel_y = 2},/obj/item/stack/cable_coil,/obj/effect/turf_decal/stripes/line,/turf/open/floor/plasteel/freezer,/area/science/lab)
+"mc" = (/obj/effect/turf_decal/tile/purple{dir = 8},/obj/effect/turf_decal/tile/purple,/obj/effect/turf_decal/tile/purple{dir = 8},/obj/structure/cable,/turf/open/floor/plasteel/freezer,/area/science/explab)
+"md" = (/obj/effect/turf_decal/tile/purple{dir = 8},/obj/effect/turf_decal/tile/purple,/obj/effect/turf_decal/tile/purple{dir = 8},/obj/effect/turf_decal/tile/purple,/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/structure/cable,/turf/open/floor/plasteel/freezer,/area/science/explab)
+"me" = (/obj/effect/turf_decal/tile/purple{dir = 8},/obj/effect/turf_decal/tile/purple,/obj/effect/turf_decal/tile/purple{dir = 8},/obj/effect/turf_decal/tile/purple,/obj/item/radio/intercom{pixel_y = -28},/turf/open/floor/plasteel/freezer,/area/science/explab)
+"mf" = (/obj/effect/turf_decal/stripes/corner{dir = 4},/obj/structure/cable,/obj/effect/turf_decal/stripes/corner{dir = 8},/turf/open/floor/plasteel/freezer,/area/science/storage)
+"mg" = (/obj/effect/turf_decal/stripes/corner{dir = 4},/obj/effect/turf_decal/stripes/corner{dir = 8},/turf/open/floor/plasteel/freezer,/area/science/storage)
+"mh" = (/obj/machinery/disposal/bin{step_x = 0; step_y = 0},/obj/effect/turf_decal/bot,/turf/open/floor/plasteel/dark,/area/science/explab)
+"mi" = (/obj/effect/turf_decal/tile/neutral{dir = 8},/obj/effect/turf_decal/tile/neutral{dir = 1},/obj/item/radio/intercom{pixel_x = -29},/obj/effect/turf_decal/tile/neutral,/obj/effect/turf_decal/stripes/line,/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/structure/cable,/turf/open/floor/plasteel/dark,/area/science/server)
+"mj" = (/obj/effect/turf_decal/tile/purple{dir = 4},/obj/effect/turf_decal/tile/neutral{dir = 4},/obj/machinery/atmospherics/pipe/manifold/supply/hidden{dir = 4},/obj/effect/turf_decal/stripes/corner{dir = 8},/turf/open/floor/plasteel/dark,/area/science/research)
+"mk" = (/obj/structure/table,/obj/item/folder/white,/obj/item/pen,/obj/machinery/firealarm{dir = 4; pixel_x = 24; pixel_y = 0},/obj/effect/turf_decal/tile/purple{dir = 4},/obj/effect/turf_decal/tile/purple,/obj/effect/turf_decal/tile/purple{dir = 8},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/open/floor/plasteel/dark,/area/science/server)
+"ml" = (/obj/machinery/nanite_program_hub,/obj/effect/turf_decal/bot,/turf/open/floor/plasteel/dark,/area/science/nanite)
+"mm" = (/obj/effect/turf_decal/tile/purple,/obj/effect/turf_decal/tile/purple{dir = 8},/obj/effect/turf_decal/stripes/line{dir = 4},/obj/effect/turf_decal/stripes/line{dir = 8},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/structure/cable,/turf/open/floor/plasteel/dark,/area/science/nanite)
+"mn" = (/obj/machinery/nanite_programmer,/obj/effect/turf_decal/bot,/turf/open/floor/plasteel/dark,/area/science/nanite)
+"mo" = (/obj/structure/table,/obj/effect/turf_decal/bot,/obj/item/nanite_remote,/obj/item/nanite_scanner,/turf/open/floor/plasteel/dark,/area/science/nanite)
+"mp" = (/obj/machinery/computer/card/minor/rd{dir = 1},/obj/effect/turf_decal/bot{layer = 1.99},/obj/item/radio/intercom{pixel_y = -29},/obj/machinery/computer/security/telescreen/entertainment{pixel_x = -32; pixel_y = -32},/obj/machinery/requests_console{announcementConsole = 1; department = "Research Director's Desk"; departmentType = 5; name = "Research Director's RC"; pixel_x = -32; receive_ore_updates = 1},/turf/open/floor/plasteel/dark,/area/crew_quarters/heads/hor)
+"mq" = (/obj/structure/table/reinforced,/obj/machinery/computer/security/telescreen/rd,/turf/open/floor/plasteel/dark,/area/crew_quarters/heads/hor)
+"mr" = (/obj/structure/table/reinforced,/obj/machinery/button/door{pixel_x = 6; pixel_y = 6},/obj/machinery/button/door{pixel_x = 6; pixel_y = -2},/obj/machinery/button/door{pixel_x = -4; pixel_y = 6},/obj/machinery/button/door{pixel_x = -4; pixel_y = -2},/turf/open/floor/plasteel/dark,/area/crew_quarters/heads/hor)
+"ms" = (/obj/machinery/door/airlock/research,/obj/machinery/door/firedoor,/obj/effect/mapping_helpers/airlock/cyclelink_helper,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/structure/cable,/turf/open/floor/plasteel/dark,/area/science/research)
+"mt" = (/obj/item/twohanded/required/kirbyplants/dead,/obj/effect/turf_decal/stripes/line{dir = 8},/obj/effect/turf_decal/stripes/line{dir = 4},/obj/structure/cable,/turf/open/floor/plasteel/freezer,/area/crew_quarters/heads/hor)
+"mu" = (/obj/structure/table,/obj/item/cartridge/signal/toxins{pixel_x = 6; pixel_y = -2},/obj/item/cartridge/signal/toxins{pixel_x = -4; pixel_y = 6},/obj/item/cartridge/signal/toxins{pixel_x = 2; pixel_y = 8},/obj/item/cartridge/signal/toxins{pixel_x = -2; pixel_y = -4},/obj/effect/turf_decal/bot{layer = 1.99},/turf/open/floor/plasteel/dark,/area/crew_quarters/heads/hor)
+"mv" = (/obj/machinery/airalarm{dir = 4; pixel_x = -23},/obj/machinery/atmospherics/components/unary/vent_pump/on{dir = 1},/obj/effect/turf_decal/stripes/corner{dir = 1},/turf/open/floor/plasteel/freezer,/area/science/storage)
+"mw" = (/obj/effect/turf_decal/tile/purple{dir = 8},/obj/effect/turf_decal/tile/purple{dir = 4},/obj/effect/turf_decal/tile/purple{dir = 1},/obj/effect/turf_decal/tile/purple,/obj/effect/turf_decal/stripes/line,/obj/effect/turf_decal/stripes/line,/obj/structure/cable,/turf/open/floor/plasteel/dark,/area/science/research)
+"mx" = (/obj/item/radio/intercom{pixel_x = 29},/obj/effect/turf_decal/stripes/line,/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/open/floor/plasteel/dark,/area/science/research)
+"my" = (/obj/item/twohanded/required/kirbyplants,/obj/effect/turf_decal/tile/blue{dir = 1},/obj/effect/turf_decal/tile/blue,/obj/effect/turf_decal/tile/green{dir = 4},/obj/effect/turf_decal/tile/green{dir = 8},/obj/machinery/button{pixel_x = 4; pixel_y = 26},/turf/open/floor/plasteel/freezer,/area/science/research)
+"mz" = (/obj/effect/turf_decal/tile/blue{dir = 1},/obj/effect/turf_decal/tile/blue,/obj/effect/turf_decal/tile/green{dir = 4},/obj/effect/turf_decal/tile/green{dir = 8},/turf/open/floor/plasteel/freezer,/area/science/research)
+"mA" = (/obj/structure/sink{pixel_x = 0; pixel_y = 26},/obj/effect/turf_decal/tile/blue{dir = 1},/obj/effect/turf_decal/tile/blue,/obj/effect/turf_decal/tile/green{dir = 4},/obj/effect/turf_decal/tile/green{dir = 8},/obj/structure/mirror{layer = 2.8; pixel_y = 32},/obj/machinery/newscaster{pixel_y = -30},/turf/open/floor/plasteel/freezer,/area/science/research)
+"mB" = (/obj/structure/toilet{dir = 8},/obj/effect/turf_decal/tile/blue,/obj/effect/turf_decal/tile/blue{dir = 1},/obj/effect/turf_decal/tile/blue,/obj/effect/turf_decal/tile/green{dir = 4},/obj/effect/turf_decal/tile/green{dir = 8},/obj/machinery/light/small{dir = 4},/turf/open/floor/plasteel/freezer,/area/science/research)
+"mC" = (/obj/machinery/vending/assist,/obj/effect/turf_decal/stripes/corner,/obj/effect/turf_decal/tile/purple,/obj/effect/turf_decal/tile/neutral,/turf/open/floor/plasteel/dark,/area/maintenance/department/science)
+"mD" = (/obj/effect/turf_decal/stripes/line,/obj/effect/turf_decal/tile/purple,/obj/effect/turf_decal/tile/purple{dir = 8},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/open/floor/plasteel/dark,/area/maintenance/department/science)
+"mE" = (/obj/item/cigbutt,/obj/effect/turf_decal/stripes/corner,/obj/effect/turf_decal/stripes/corner{dir = 1},/turf/open/floor/plasteel/freezer,/area/science/storage)
+"mF" = (/obj/machinery/light,/obj/structure/table/glass,/turf/open/floor/plasteel/dark,/area/maintenance/department/science)
+"mG" = (/obj/effect/turf_decal/stripes/corner{dir = 1},/turf/open/floor/plasteel/freezer,/area/science/storage)
+"mH" = (/obj/machinery/door/airlock/research,/obj/machinery/door/firedoor,/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/structure/cable,/turf/open/floor/plasteel/freezer,/area/science/explab)
+"mI" = (/obj/machinery/door/airlock/command{name = "Research Division Server Room"; req_access_txt = "30"},/obj/machinery/door/firedoor,/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/structure/cable,/turf/open/floor/plasteel/dark,/area/science/server)
+"mJ" = (/turf/closed/wall,/area/science/server)
+"mK" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/closed/wall,/area/science/server)
+"mL" = (/obj/effect/spawner/structure/window/reinforced,/turf/open/floor/plating,/area/science/nanite)
+"mM" = (/obj/machinery/door/firedoor,/obj/machinery/door/airlock/research/glass,/obj/effect/turf_decal/tile/purple{dir = 1},/obj/effect/turf_decal/tile/purple{dir = 8},/obj/effect/turf_decal/tile/purple{dir = 4},/obj/effect/turf_decal/tile/purple,/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/structure/cable,/turf/open/floor/plasteel/dark,/area/science/nanite)
+"mN" = (/turf/closed/wall/r_wall,/area/science/mixing)
+"mO" = (/obj/machinery/door/airlock/research,/obj/effect/turf_decal/tile/purple,/obj/effect/turf_decal/tile/purple{dir = 4},/obj/effect/turf_decal/tile/purple{dir = 1},/obj/effect/turf_decal/tile/purple{dir = 8},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/structure/cable,/turf/open/floor/plasteel/dark,/area/science/mixing)
+"mP" = (/obj/machinery/atmospherics/components/unary/portables_connector/visible{dir = 4},/obj/machinery/power/apc{pixel_x = -26},/obj/structure/cable,/obj/effect/turf_decal/stripes/corner{dir = 4},/turf/open/floor/plasteel/dark,/area/science/mixing)
+"mQ" = (/obj/effect/turf_decal/stripes/line{dir = 1},/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden,/turf/open/floor/plasteel/dark,/area/science/research)
+"mR" = (/obj/effect/turf_decal/tile/purple{dir = 8},/obj/effect/turf_decal/tile/purple{dir = 4},/obj/effect/turf_decal/tile/purple{dir = 1},/obj/effect/turf_decal/tile/purple,/obj/effect/turf_decal/stripes/line{dir = 1},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/structure/cable,/turf/open/floor/plasteel/dark,/area/science/research)
+"mS" = (/obj/effect/turf_decal/stripes/corner,/obj/effect/turf_decal/tile/purple,/obj/effect/turf_decal/stripes/line{dir = 1},/obj/effect/turf_decal/tile/neutral,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/open/floor/plasteel/dark,/area/science/research)
+"mT" = (/obj/effect/spawner/structure/window/reinforced,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/open/floor/plating,/area/science/mixing)
+"mU" = (/obj/structure/closet/bombcloset,/obj/effect/turf_decal/bot,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/open/floor/plasteel/dark,/area/science/mixing)
+"mV" = (/obj/structure/closet/bombcloset,/obj/effect/turf_decal/bot,/obj/machinery/light{dir = 1},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/open/floor/plasteel/dark,/area/science/mixing)
+"mW" = (/obj/structure/window/reinforced{dir = 8},/obj/machinery/portable_atmospherics/scrubber,/obj/effect/turf_decal/bot,/obj/effect/turf_decal/stripes/line{dir = 8},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/open/floor/plasteel/dark,/area/science/mixing)
+"mX" = (/obj/machinery/portable_atmospherics/scrubber,/obj/effect/turf_decal/delivery,/obj/effect/turf_decal/stripes/line{dir = 4},/obj/structure/window/reinforced{dir = 4},/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{dir = 1},/turf/open/floor/plasteel/dark,/area/science/mixing)
+"mY" = (/obj/machinery/portable_atmospherics/pump,/obj/effect/turf_decal/delivery,/obj/effect/turf_decal/stripes/line{dir = 8},/obj/structure/window/reinforced{dir = 8},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/open/floor/plasteel/dark,/area/science/mixing)
+"mZ" = (/obj/machinery/door/airlock/research,/obj/machinery/door/firedoor,/obj/structure/cable,/turf/open/floor/plasteel/freezer,/area/science/lab)
+"na" = (/obj/machinery/door/firedoor,/obj/effect/turf_decal/bot,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/open/floor/plasteel/dark,/area/science/research)
+"nb" = (/obj/machinery/door/firedoor,/obj/effect/turf_decal/bot,/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/open/floor/plasteel/dark,/area/science/research)
+"nc" = (/obj/structure/window/reinforced{dir = 4},/obj/machinery/portable_atmospherics/pump,/obj/effect/turf_decal/bot,/obj/effect/turf_decal/stripes/line{dir = 4},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/open/floor/plasteel/dark,/area/science/mixing)
+"nd" = (/obj/effect/turf_decal/stripes/line{dir = 4},/obj/effect/turf_decal/stripes/line{dir = 8},/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{dir = 4},/turf/open/floor/plasteel/freezer,/area/science/mixing)
+"ne" = (/obj/machinery/atmospherics/components/unary/thermomachine/freezer,/obj/effect/turf_decal/box,/turf/open/floor/plasteel/dark,/area/science/mixing)
+"nf" = (/obj/machinery/atmospherics/components/unary/thermomachine/heater,/obj/effect/turf_decal/box,/obj/structure/sign/warning/nosmoking{pixel_y = 32},/turf/open/floor/plasteel/dark,/area/science/mixing)
+"ng" = (/obj/machinery/atmospherics/components/unary/portables_connector/visible{dir = 4},/obj/effect/turf_decal/stripes/line{dir = 8},/obj/machinery/power/apc{pixel_y = 26},/obj/structure/cable,/turf/open/floor/plasteel/dark,/area/science/mixing)
+"nh" = (/obj/structure/closet/crate,/obj/item/stack/sheet/mineral/plasma,/obj/item/reagent_containers/dropper,/obj/item/reagent_containers/syringe,/obj/item/reagent_containers/glass/beaker,/turf/open/floor/plating,/area/space)
+"ni" = (/obj/machinery/atmospherics/components/trinary/filter/flipped{dir = 4},/obj/effect/turf_decal/box,/obj/machinery/light{dir = 1},/obj/machinery/airalarm{pixel_y = 26},/turf/open/floor/plasteel/dark,/area/science/mixing)
+"nj" = (/obj/machinery/atmospherics/components/unary/portables_connector/visible{dir = 8},/obj/structure/extinguisher_cabinet{pixel_y = 29},/turf/open/floor/plasteel/dark,/area/science/mixing)
+"nk" = (/obj/machinery/atmospherics/components/unary/portables_connector/visible,/turf/open/floor/plasteel/dark,/area/science/mixing)
+"nl" = (/obj/machinery/portable_atmospherics/canister,/turf/open/floor/plasteel/dark,/area/science/mixing)
+"nm" = (/obj/effect/turf_decal/tile/purple{dir = 4},/obj/effect/turf_decal/tile/purple{dir = 8},/obj/effect/turf_decal/tile/purple{dir = 1},/obj/effect/turf_decal/tile/purple,/obj/effect/turf_decal/stripes/line{dir = 10},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 9},/obj/structure/cable,/turf/open/floor/plasteel/dark,/area/science/research)
+"nn" = (/obj/effect/turf_decal/tile/purple{dir = 8},/obj/effect/turf_decal/tile/purple{dir = 4},/obj/effect/turf_decal/tile/purple{dir = 1},/obj/effect/turf_decal/tile/purple,/obj/machinery/atmospherics/components/unary/vent_pump/on,/obj/structure/cable,/turf/open/floor/plasteel/dark,/area/science/research)
+"no" = (/obj/effect/turf_decal/stripes/line{dir = 4},/obj/effect/turf_decal/tile/purple,/obj/effect/turf_decal/tile/purple{dir = 4},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/structure/cable,/turf/open/floor/plasteel/dark,/area/science/research)
+"np" = (/obj/machinery/door/airlock/research,/obj/machinery/door/firedoor/heavy,/obj/effect/turf_decal/tile/purple,/obj/effect/turf_decal/tile/purple{dir = 4},/obj/effect/turf_decal/tile/purple{dir = 1},/obj/effect/turf_decal/tile/purple{dir = 8},/obj/structure/cable,/turf/open/floor/plasteel/dark,/area/science/mixing)
+"nq" = (/obj/effect/turf_decal/stripes/line{dir = 9},/obj/structure/cable,/turf/open/floor/plasteel/freezer,/area/science/mixing)
+"nr" = (/obj/effect/turf_decal/stripes/line{dir = 1},/obj/structure/cable,/turf/open/floor/plasteel/freezer,/area/science/mixing)
+"ns" = (/obj/machinery/atmospherics/components/binary/pump/on{dir = 8},/obj/machinery/airlock_sensor/incinerator_toxmix{pixel_y = 26},/obj/effect/turf_decal/stripes/corner,/obj/effect/turf_decal/stripes/corner{dir = 1},/turf/open/floor/engine,/area/science/mixing/chamber)
+"nt" = (/obj/machinery/atmospherics/components/unary/vent_scrubber/on{dir = 8},/obj/effect/decal/cleanable/cobweb,/obj/effect/turf_decal/stripes/corner{dir = 1},/turf/open/floor/engine/vacuum,/area/science/mixing/chamber)
+"nu" = (/obj/effect/turf_decal/tile/purple{dir = 1},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/effect/turf_decal/stripes/corner{dir = 4},/turf/open/floor/plasteel/freezer,/area/science/lab)
+"nv" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/effect/turf_decal/stripes/corner{dir = 8},/turf/open/floor/plasteel/freezer,/area/science/lab)
+"nw" = (/obj/machinery/atmospherics/components/unary/portables_connector/visible{dir = 1},/turf/open/floor/plasteel/dark,/area/science/mixing)
+"nx" = (/obj/effect/turf_decal/stripes/line{dir = 8},/obj/structure/cable,/turf/open/floor/plasteel/dark,/area/science/mixing)
+"ny" = (/obj/machinery/atmospherics/components/unary/portables_connector/visible{dir = 4},/turf/open/floor/plasteel/dark,/area/science/mixing)
+"nz" = (/obj/machinery/atmospherics/pipe/manifold/general/visible,/obj/effect/turf_decal/box,/obj/machinery/meter,/turf/open/floor/plasteel/dark,/area/science/mixing)
+"nA" = (/obj/machinery/atmospherics/components/unary/portables_connector/visible{dir = 8},/turf/open/floor/plasteel/dark,/area/science/mixing)
+"nB" = (/obj/effect/turf_decal/tile/purple{dir = 4},/obj/effect/turf_decal/tile/purple,/obj/effect/turf_decal/tile/purple{dir = 4},/obj/effect/turf_decal/stripes/line{dir = 1},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/open/floor/plasteel/freezer,/area/science/lab)
+"nC" = (/obj/structure/sign/warning/biohazard{pixel_y = -32},/obj/machinery/light{light_color = "#e8eaff"},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/open/floor/plasteel/dark,/area/science/research)
+"nD" = (/obj/effect/turf_decal/stripes/line{dir = 1},/obj/effect/turf_decal/tile/purple{dir = 1},/obj/effect/turf_decal/tile/purple{dir = 1},/obj/effect/turf_decal/tile/purple{dir = 8},/obj/effect/turf_decal/tile/purple{dir = 4},/obj/machinery/airalarm{dir = 4; pixel_x = -22},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/open/floor/plasteel/dark,/area/science/research)
+"nE" = (/obj/item/twohanded/required/kirbyplants{icon_state = "plant-04"},/obj/effect/turf_decal/tile/purple{dir = 8},/obj/effect/turf_decal/tile/purple,/obj/effect/turf_decal/tile/purple,/obj/machinery/airalarm{dir = 1; pixel_y = -24},/turf/open/floor/plasteel/freezer,/area/science/lab)
+"nF" = (/obj/effect/turf_decal/stripes/line{dir = 1},/obj/effect/turf_decal/tile/purple{dir = 4},/obj/effect/turf_decal/tile/purple{dir = 1},/obj/effect/turf_decal/tile/purple{dir = 4},/obj/effect/turf_decal/tile/purple,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/structure/cable,/turf/open/floor/plasteel/dark,/area/science/research)
+"nG" = (/obj/machinery/light{dir = 4},/obj/effect/turf_decal/tile/purple{dir = 8},/obj/effect/turf_decal/tile/purple,/obj/effect/turf_decal/tile/purple,/obj/effect/turf_decal/tile/purple{dir = 4},/obj/effect/turf_decal/tile/purple{dir = 4},/turf/open/floor/plasteel/freezer,/area/science/lab)
+"nH" = (/turf/open/floor/plasteel/freezer,/area/science/mixing)
+"nI" = (/obj/structure/closet/secure_closet/security/science,/obj/effect/turf_decal/delivery,/obj/machinery/power/apc{dir = 8; pixel_x = -25},/obj/machinery/airalarm{pixel_y = 23},/obj/structure/cable,/obj/item/screwdriver,/turf/open/floor/plasteel/dark,/area/security/checkpoint/science)
+"nJ" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/open/floor/plasteel/freezer,/area/science/mixing)
+"nK" = (/obj/effect/turf_decal/tile/purple{dir = 1},/obj/effect/turf_decal/tile/purple{dir = 4},/obj/effect/turf_decal/tile/purple{dir = 4},/obj/structure/cable,/turf/open/floor/plasteel/freezer,/area/science/lab)
+"nL" = (/obj/machinery/atmospherics/pipe/simple/general/visible{dir = 4},/obj/machinery/meter,/obj/machinery/button/door/incinerator_vent_toxmix{pixel_x = 26; pixel_y = 6},/obj/machinery/button/ignition/incinerator/toxmix{pixel_x = 26; pixel_y = -6},/obj/effect/turf_decal/stripes/corner{dir = 8},/obj/effect/turf_decal/stripes/corner{dir = 1},/turf/open/floor/plasteel/dark,/area/science/mixing)
+"nM" = (/obj/effect/turf_decal/stripes/line{dir = 1},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/open/floor/plasteel/dark,/area/science/research)
+"nN" = (/obj/effect/turf_decal/tile/purple{dir = 8},/obj/effect/turf_decal/tile/purple{dir = 4},/obj/effect/turf_decal/tile/purple{dir = 1},/obj/effect/turf_decal/tile/purple,/obj/effect/turf_decal/stripes/line{dir = 1},/obj/structure/cable,/turf/open/floor/plasteel/dark,/area/science/research)
+"nO" = (/obj/effect/turf_decal/stripes/corner,/obj/effect/turf_decal/tile/purple,/obj/item/radio/intercom{pixel_x = 29},/obj/effect/turf_decal/stripes/line{dir = 1},/obj/effect/turf_decal/tile/neutral,/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/open/floor/plasteel/dark,/area/science/research)
+"nP" = (/obj/machinery/holopad,/obj/effect/turf_decal/bot,/turf/open/floor/plasteel/freezer,/area/science/mixing)
+"nQ" = (/obj/machinery/atmospherics/components/binary/pump/on{dir = 4},/obj/effect/turf_decal/stripes/corner{dir = 4},/obj/structure/sign/warning/fire{pixel_y = -32},/obj/effect/turf_decal/stripes/corner{dir = 8},/turf/open/floor/engine,/area/science/mixing/chamber)
+"nR" = (/obj/effect/turf_decal/stripes/line{dir = 1},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/structure/cable,/turf/open/floor/plasteel/freezer,/area/science/mixing)
+"nS" = (/obj/effect/turf_decal/tile/purple{dir = 1},/obj/effect/turf_decal/tile/purple{dir = 8},/obj/effect/turf_decal/tile/purple{dir = 8},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/open/floor/plasteel/dark,/area/science/research)
+"nT" = (/obj/effect/turf_decal/tile/purple{dir = 4},/obj/effect/turf_decal/tile/purple,/obj/effect/turf_decal/tile/purple,/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{dir = 8},/obj/structure/cable,/turf/open/floor/plasteel/dark,/area/science/research)
+"nU" = (/obj/machinery/door/airlock/security/glass,/obj/machinery/door/firedoor,/obj/effect/mapping_helpers/airlock/cyclelink_helper{dir = 4},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/structure/cable,/turf/open/floor/plating,/area/security/checkpoint/science)
+"nV" = (/obj/machinery/door/airlock/research,/obj/machinery/door/firedoor,/obj/effect/mapping_helpers/airlock/cyclelink_helper{dir = 1},/turf/open/floor/plasteel/dark,/area/space)
+"nW" = (/obj/effect/turf_decal/stripes/line{dir = 1},/obj/item/cigbutt,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/structure/cable,/turf/open/floor/plasteel/freezer,/area/science/mixing)
+"nX" = (/obj/machinery/atmospherics/components/unary/vent_pump/on,/turf/open/floor/plasteel/freezer,/area/science/lab)
+"nY" = (/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{dir = 8},/turf/open/floor/plasteel/dark,/area/science/research)
+"nZ" = (/obj/effect/turf_decal/tile/purple{dir = 8},/obj/effect/turf_decal/tile/purple{dir = 4},/obj/effect/turf_decal/tile/purple{dir = 1},/obj/effect/turf_decal/tile/purple,/obj/machinery/atmospherics/components/unary/vent_scrubber/on{dir = 8},/obj/structure/cable,/turf/open/floor/plasteel/dark,/area/science/research)
+"oa" = (/obj/effect/turf_decal/stripes/line{dir = 4},/obj/effect/turf_decal/tile/purple{dir = 4},/obj/effect/turf_decal/tile/purple,/obj/machinery/atmospherics/pipe/manifold/supply/hidden{dir = 8},/obj/structure/cable,/turf/open/floor/plasteel/dark,/area/science/research)
+"ob" = (/obj/effect/turf_decal/stripes/line{dir = 1},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/open/floor/plasteel/freezer,/area/science/mixing)
+"oc" = (/obj/machinery/atmospherics/components/unary/vent_scrubber/on{dir = 8},/obj/effect/turf_decal/stripes/line{dir = 1},/turf/open/floor/plasteel/freezer,/area/science/mixing)
+"od" = (/obj/effect/turf_decal/stripes/line{dir = 5},/turf/open/floor/plasteel/freezer,/area/science/mixing)
+"oe" = (/obj/machinery/disposal/bin{step_x = 0; step_y = 0},/obj/effect/turf_decal/bot,/obj/item/radio/intercom{pixel_x = 29},/turf/open/floor/plasteel/dark,/area/science/mixing)
+"of" = (/turf/closed/wall/r_wall,/area/science/storage)
+"og" = (/obj/machinery/firealarm{dir = 4; pixel_x = -26},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/open/floor/plasteel/freezer,/area/science/mixing)
+"oh" = (/obj/effect/turf_decal/stripes/corner,/obj/structure/cable,/turf/open/floor/plasteel/freezer,/area/science/mixing)
+"oi" = (/obj/structure/closet/l3closet/scientist{anchored = 1},/obj/effect/turf_decal/stripes/line{dir = 4},/obj/effect/turf_decal/bot{layer = 1.99},/obj/structure/sign/poster/official/cleanliness{pixel_x = -32},/obj/machinery/light{dir = 8; light_color = "#e8eaff"},/obj/machinery/atmospherics/components/unary/vent_pump/on{dir = 4; external_pressure_bound = 140},/turf/open/floor/plasteel/freezer,/area/science/research)
+"oj" = (/obj/effect/turf_decal/tile/purple{dir = 1},/obj/effect/turf_decal/tile/purple{dir = 8},/obj/effect/turf_decal/tile/purple{dir = 1},/turf/open/floor/plasteel/dark,/area/science/research)
+"ok" = (/obj/effect/turf_decal/tile/purple{dir = 4},/obj/effect/turf_decal/tile/purple,/obj/machinery/atmospherics/components/unary/vent_scrubber/on{dir = 1},/obj/structure/cable,/turf/open/floor/plasteel/dark,/area/science/research)
+"ol" = (/obj/machinery/door/airlock/research,/obj/machinery/door/firedoor,/obj/effect/mapping_helpers/airlock/cyclelink_helper{dir = 1},/obj/structure/cable,/turf/open/floor/plasteel/dark,/area/space)
+"om" = (/obj/effect/spawner/structure/window/reinforced,/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/open/floor/plating,/area/science/lab)
+"on" = (/obj/structure/table,/obj/structure/window/reinforced,/obj/item/clothing/glasses/science,/obj/item/storage/toolbox/mechanical{step_y = 0},/obj/structure/closet/wardrobe/white{step_x = 3; step_y = -2},/obj/item/hand_labeler,/obj/item/stack/packageWrap{step_x = -2; step_y = 4},/obj/effect/turf_decal/stripes/line{dir = 10},/obj/item/stack/cable_coil,/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/open/floor/plasteel/dark,/area/science/lab)
+"oo" = (/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/obj/machinery/rnd/destructive_analyzer,/obj/effect/turf_decal/stripes/line,/obj/effect/turf_decal/bot{layer = 2},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/open/floor/plasteel/dark,/area/science/lab)
+"op" = (/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/obj/machinery/computer/rdconsole/core{dir = 1},/obj/effect/turf_decal/stripes/line{dir = 6},/obj/effect/turf_decal/bot{layer = 2},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/open/floor/plasteel/dark,/area/science/lab)
+"oq" = (/obj/effect/turf_decal/tile/purple{dir = 1},/obj/effect/turf_decal/tile/purple{dir = 8},/obj/effect/turf_decal/tile/purple{dir = 8},/obj/effect/turf_decal/stripes/line{dir = 8},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/open/floor/plasteel/freezer,/area/science/lab)
+"or" = (/obj/machinery/atmospherics/pipe/manifold/supply/hidden,/turf/open/floor/plasteel/freezer,/area/science/lab)
+"os" = (/obj/effect/turf_decal/stripes/line{dir = 4},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/open/floor/plasteel/freezer,/area/science/lab)
+"ot" = (/obj/machinery/disposal/bin{step_x = 0; step_y = 0},/obj/effect/turf_decal/bot,/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/open/floor/plasteel/dark,/area/science/lab)
+"ou" = (/obj/effect/turf_decal/tile/purple{dir = 8},/obj/effect/turf_decal/tile/neutral{dir = 8},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/open/floor/plasteel/dark,/area/science/research)
+"ov" = (/obj/effect/turf_decal/tile/purple{dir = 8},/obj/effect/turf_decal/tile/purple{dir = 4},/obj/effect/turf_decal/tile/purple{dir = 1},/obj/effect/turf_decal/tile/purple,/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/structure/cable,/turf/open/floor/plasteel/dark,/area/science/research)
+"ow" = (/obj/machinery/atmospherics/components/unary/outlet_injector/atmos/toxins_mixing_input{dir = 8},/obj/effect/turf_decal/stripes/corner{dir = 4},/turf/open/floor/engine/vacuum,/area/science/mixing/chamber)
+"ox" = (/obj/effect/turf_decal/stripes/line,/obj/structure/cable,/turf/open/floor/plasteel/freezer,/area/science/mixing)
+"oy" = (/obj/structure/chair/stool,/obj/effect/turf_decal/stripes/line{dir = 6},/turf/open/floor/plasteel/freezer,/area/science/mixing)
+"oz" = (/obj/structure/table/reinforced,/obj/structure/window/reinforced{dir = 1; pixel_y = 1},/obj/item/wrench,/obj/item/screwdriver,/obj/item/analyzer,/obj/item/pipe_dispenser,/turf/open/floor/plasteel/dark,/area/science/mixing)
+"oA" = (/obj/machinery/portable_atmospherics/canister/nitrous_oxide,/obj/effect/turf_decal/bot,/turf/open/floor/plasteel/dark,/area/science/storage)
+"oB" = (/obj/effect/turf_decal/stripes/line,/obj/effect/turf_decal/tile/purple{dir = 8},/obj/effect/turf_decal/tile/purple{dir = 8},/obj/effect/turf_decal/tile/purple{dir = 1},/obj/effect/turf_decal/tile/purple,/obj/machinery/power/apc{pixel_x = -26},/obj/structure/cable,/turf/open/floor/plasteel/dark,/area/science/research)
+"oC" = (/obj/effect/turf_decal/tile/purple{dir = 4},/obj/effect/turf_decal/tile/purple{dir = 4},/obj/effect/turf_decal/tile/purple,/obj/structure/cable,/turf/open/floor/plasteel/dark,/area/science/research)
+"oD" = (/obj/effect/turf_decal/tile/purple{dir = 1},/obj/effect/turf_decal/tile/purple{dir = 4},/obj/effect/turf_decal/tile/purple{dir = 4},/obj/effect/turf_decal/stripes/line{dir = 1},/obj/machinery/atmospherics/components/unary/vent_scrubber/on{dir = 4},/turf/open/floor/plasteel/freezer,/area/science/lab)
+"oE" = (/obj/effect/turf_decal/tile/purple,/obj/effect/turf_decal/tile/neutral,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/open/floor/plasteel/dark,/area/science/research)
+"oF" = (/obj/effect/turf_decal/bot,/obj/machinery/holopad,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/open/floor/plasteel/freezer,/area/science/lab)
+"oG" = (/obj/effect/turf_decal/tile/purple{dir = 8},/obj/effect/turf_decal/tile/purple,/obj/effect/turf_decal/tile/purple{dir = 1},/obj/effect/turf_decal/tile/purple{dir = 4},/obj/structure/cable,/obj/effect/turf_decal/stripes/line{dir = 4},/turf/open/floor/plasteel/dark,/area/science/research)
+"oH" = (/obj/structure/sign/warning/biohazard{pixel_y = 32},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/effect/turf_decal/stripes/corner{dir = 8},/turf/open/floor/plating,/area/space)
+"oI" = (/obj/machinery/door/airlock/research,/obj/machinery/door/firedoor,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/open/floor/plasteel/freezer,/area/science/lab)
+"oJ" = (/obj/effect/turf_decal/tile/purple{dir = 8},/obj/effect/turf_decal/tile/purple{dir = 1},/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{dir = 4},/turf/open/floor/plasteel/dark,/area/science/research)
+"oK" = (/obj/structure/sign/warning/biohazard{pixel_x = 32},/obj/machinery/light{dir = 4; light_color = "#e8eaff"},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/open/floor/plasteel/dark,/area/science/research)
+"oL" = (/obj/structure/sign/departments/science{pixel_y = 32},/turf/open/floor/plating,/area/space)
+"oM" = (/obj/structure/closet/firecloset{anchored = 1},/obj/effect/turf_decal/stripes/end{dir = 1},/obj/effect/turf_decal/delivery{layer = 1.99},/obj/structure/cable,/turf/open/floor/plasteel/dark,/area/science/research)
+"oN" = (/obj/effect/turf_decal/stripes/line,/obj/effect/turf_decal/tile/purple,/obj/effect/turf_decal/tile/purple{dir = 8},/obj/effect/turf_decal/tile/purple,/obj/effect/turf_decal/tile/purple{dir = 4},/obj/machinery/firealarm{dir = 4; pixel_x = 24; pixel_y = 0},/obj/structure/cable,/turf/open/floor/plasteel/dark,/area/science/research)
+"oO" = (/obj/effect/turf_decal/tile/purple{dir = 1},/obj/machinery/firealarm{dir = 8; pixel_x = -24; pixel_y = 0},/obj/effect/turf_decal/tile/neutral{dir = 1},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/open/floor/plasteel/dark,/area/science/research)
+"oP" = (/obj/effect/turf_decal/tile/purple{dir = 8},/obj/effect/turf_decal/tile/purple{dir = 4},/obj/effect/turf_decal/tile/purple{dir = 1},/obj/effect/turf_decal/tile/purple,/obj/effect/turf_decal/stripes/corner,/obj/machinery/atmospherics/components/unary/vent_pump/on{dir = 4; external_pressure_bound = 140},/obj/structure/cable,/turf/open/floor/plasteel/dark,/area/science/research)
+"oQ" = (/obj/structure/extinguisher_cabinet{pixel_x = 26},/obj/effect/turf_decal/stripes/line,/obj/machinery/atmospherics/pipe/manifold/supply/hidden{dir = 4},/turf/open/floor/plasteel/dark,/area/science/research)
+"oR" = (/obj/machinery/portable_atmospherics/canister/nitrous_oxide,/obj/effect/turf_decal/delivery,/obj/effect/turf_decal/stripes/line{dir = 4},/obj/structure/sign/warning/nosmoking{pixel_y = 32},/turf/open/floor/plasteel/dark,/area/science/storage)
+"oS" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 6},/turf/open/floor/plating,/area/space)
+"oT" = (/turf/open/floor/plating,/area/science/lab)
+"oU" = (/obj/effect/turf_decal/stripes/line{dir = 8},/obj/effect/turf_decal/tile/purple{dir = 1},/obj/effect/turf_decal/tile/purple{dir = 8},/obj/effect/turf_decal/tile/purple{dir = 1},/obj/structure/cable,/turf/open/floor/plasteel,/area/science/robotics/mechbay)
+"oV" = (/obj/effect/turf_decal/tile/purple{dir = 1},/obj/effect/turf_decal/tile/purple{dir = 8},/obj/effect/turf_decal/tile/purple{dir = 4},/obj/effect/turf_decal/tile/purple{dir = 1},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/effect/turf_decal/stripes/line{dir = 9},/turf/open/floor/plasteel,/area/science/robotics/mechbay)
+"oW" = (/obj/machinery/disposal/bin{step_x = 0; step_y = 0},/obj/effect/turf_decal/bot,/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/open/floor/plasteel/dark,/area/science/research)
+"oX" = (/obj/effect/turf_decal/stripes/corner{dir = 4},/obj/effect/turf_decal/tile/purple{dir = 1},/obj/effect/turf_decal/tile/purple{dir = 1},/obj/structure/cable,/turf/open/floor/plasteel,/area/science/robotics/mechbay)
+"oY" = (/obj/effect/turf_decal/stripes/line{dir = 1},/obj/structure/cable,/turf/open/floor/plating,/area/space)
+"oZ" = (/obj/effect/spawner/structure/window/reinforced,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/open/floor/plating,/area/science/robotics/mechbay)
+"pa" = (/obj/machinery/door/airlock/research/glass,/obj/machinery/door/firedoor,/obj/structure/cable,/turf/open/floor/plasteel/dark,/area/science/robotics/mechbay)
+"pb" = (/obj/effect/spawner/structure/window/reinforced,/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/open/floor/plating,/area/science/robotics/mechbay)
+"pc" = (/obj/structure/table,/obj/effect/turf_decal/bot,/obj/item/storage/toolbox/mechanical{pixel_y = 2},/obj/machinery/button{pixel_x = -26; pixel_y = 6},/obj/item/stack/cable_coil{pixel_x = -2; pixel_y = 2},/obj/item/stack/cable_coil,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/open/floor/plasteel/dark,/area/science/robotics/mechbay)
+"pd" = (/obj/effect/turf_decal/stripes/corner,/obj/structure/sign/poster/contraband/atmosia_independence{pixel_y = 32},/obj/effect/turf_decal/stripes/corner{dir = 4},/turf/open/floor/plating,/area/space)
+"pe" = (/obj/machinery/computer/mech_bay_power_console,/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/open/floor/circuit/green,/area/science/robotics/mechbay)
+"pf" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/structure/cable,/turf/open/floor/plasteel,/area/science/robotics/mechbay)
+"pg" = (/obj/effect/turf_decal/tile/purple{dir = 8},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/structure/cable,/obj/effect/turf_decal/stripes/corner{dir = 1},/turf/open/floor/plasteel,/area/science/robotics/mechbay)
+"ph" = (/obj/machinery/atmospherics/pipe/manifold/supply/hidden{dir = 1},/turf/open/floor/plating,/area/space)
+"pi" = (/obj/effect/turf_decal/stripes/line{dir = 8},/obj/machinery/atmospherics/components/unary/vent_pump/on{dir = 4},/obj/effect/turf_decal/tile/purple{dir = 1},/obj/effect/turf_decal/tile/purple{dir = 8},/obj/effect/turf_decal/tile/purple{dir = 1},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/open/floor/plasteel,/area/science/robotics/mechbay)
+"pj" = (/obj/machinery/atmospherics/components/unary/vent_scrubber/on{dir = 8},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/open/floor/plasteel,/area/science/robotics/mechbay)
+"pk" = (/obj/effect/turf_decal/stripes/line{dir = 10},/obj/effect/turf_decal/tile/purple{dir = 8},/obj/effect/turf_decal/tile/purple,/obj/effect/turf_decal/tile/purple{dir = 1},/obj/effect/turf_decal/tile/purple,/obj/effect/turf_decal/tile/purple{dir = 1},/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{dir = 8},/turf/open/floor/plasteel,/area/science/robotics/mechbay)
+"pl" = (/turf/open/floor/plasteel,/area/science/robotics/mechbay)
+"pm" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/structure/cable,/turf/open/floor/plasteel,/area/science/robotics/mechbay)
+"pn" = (/obj/structure/reagent_dispensers/fueltank,/obj/effect/turf_decal/bot,/obj/item/radio/intercom{pixel_x = -29},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/open/floor/plasteel/dark,/area/science/robotics/mechbay)
+"po" = (/obj/machinery/power/apc{dir = 4; pixel_x = 24},/obj/effect/turf_decal/bot,/obj/machinery/recharge_station,/obj/structure/cable,/obj/effect/turf_decal/stripes/corner{dir = 8},/turf/open/floor/plasteel/dark,/area/science/robotics/mechbay)
+"pp" = (/obj/effect/turf_decal/stripes/corner{dir = 4},/obj/effect/turf_decal/tile/purple{dir = 1},/obj/effect/turf_decal/tile/purple{dir = 1},/obj/effect/turf_decal/tile/purple{dir = 4},/obj/effect/turf_decal/loading_area{step_y = 2},/obj/effect/turf_decal/stripes/corner{dir = 8},/turf/open/floor/plasteel/freezer,/area/science/robotics/lab)
+"pq" = (/obj/machinery/recharge_station,/obj/effect/turf_decal/bot,/obj/machinery/light,/obj/machinery/firealarm{pixel_y = -24},/obj/structure/cable,/turf/open/floor/plasteel/dark,/area/science/robotics/mechbay)
+"pr" = (/obj/effect/turf_decal/tile/purple{dir = 1},/obj/effect/turf_decal/tile/purple{dir = 1},/obj/effect/turf_decal/tile/purple{dir = 4},/obj/effect/turf_decal/stripes/corner{dir = 4},/obj/effect/turf_decal/loading_area{step_y = 2},/obj/effect/turf_decal/stripes/corner{dir = 8},/turf/open/floor/plasteel/freezer,/area/science/robotics/lab)
+"ps" = (/obj/effect/spawner/structure/window/reinforced,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/open/floor/plating,/area/science/robotics/lab)
+"pt" = (/obj/machinery/door/firedoor,/obj/machinery/door/airlock/research,/obj/structure/cable,/turf/open/floor/plating,/area/science/robotics/lab)
+"pu" = (/obj/effect/spawner/structure/window/reinforced,/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/open/floor/plating,/area/science/robotics/lab)
+"pv" = (/obj/structure/filingcabinet/chestdrawer,/obj/effect/turf_decal/bot,/obj/effect/turf_decal/tile/neutral{dir = 1},/obj/effect/turf_decal/tile/neutral{dir = 8},/obj/effect/turf_decal/tile/neutral{dir = 4},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/open/floor/plasteel/dark,/area/science/robotics/lab)
+"pw" = (/obj/effect/turf_decal/tile/neutral{dir = 4},/obj/effect/turf_decal/tile/neutral{dir = 1},/obj/structure/cable,/turf/open/floor/plasteel/dark,/area/science/robotics/lab)
+"px" = (/obj/item/weldingtool{layer = 2.9},/obj/structure/rack,/obj/item/book/manual/wiki/robotics_cyborgs{step_x = 0; step_y = 2; layer = 2.9},/obj/effect/turf_decal/bot,/obj/effect/turf_decal/tile/neutral{dir = 1},/obj/effect/turf_decal/tile/neutral{dir = 4},/obj/item/storage/box/bodybags{layer = 2.89; step_x = -1; step_y = 3},/obj/item/storage/box/gloves{layer = 2.89; step_x = 4; step_y = 0},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/structure/cable,/obj/item/book/manual/wiki/surgery,/obj/item/clothing/glasses/welding,/turf/open/floor/plasteel/dark,/area/science/robotics/lab)
+"py" = (/obj/machinery/mecha_part_fabricator,/obj/effect/turf_decal/tile/neutral{dir = 1},/obj/effect/turf_decal/tile/neutral{dir = 4},/obj/effect/turf_decal/delivery,/obj/machinery/light{dir = 1},/obj/structure/cable,/turf/open/floor/plasteel/dark,/area/science/robotics/lab)
+"pz" = (/obj/structure/rack,/obj/item/storage/firstaid/regular{empty = 1; name = "First-Aid (empty)"},/obj/item/storage/firstaid/regular{empty = 1; name = "First-Aid (empty)"},/obj/item/healthanalyzer{step_x = 4; step_y = -3},/obj/item/healthanalyzer{step_x = 4; step_y = -3},/obj/item/healthanalyzer{step_x = 4; step_y = -3},/obj/item/stack/packageWrap{layer = 2.9},/obj/item/storage/firstaid/regular{empty = 1; layer = 2.9; name = "First-Aid (empty)"},/obj/effect/turf_decal/bot,/obj/effect/turf_decal/tile/neutral{dir = 1},/obj/effect/turf_decal/tile/neutral{dir = 4},/obj/machinery/power/apc{dir = 1; pixel_y = 23},/obj/structure/cable,/turf/open/floor/plasteel/dark,/area/science/robotics/lab)
+"pA" = (/obj/effect/turf_decal/tile/neutral{dir = 8},/obj/effect/turf_decal/tile/neutral{dir = 1},/obj/structure/chair/office/light{dir = 8},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/open/floor/plasteel/dark,/area/science/robotics/lab)
+"pB" = (/obj/effect/turf_decal/stripes/line{dir = 1},/obj/effect/turf_decal/tile/purple{dir = 1},/obj/effect/turf_decal/tile/purple{dir = 1},/obj/effect/turf_decal/tile/purple{dir = 4},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/open/floor/plasteel/freezer,/area/science/robotics/lab)
+"pC" = (/obj/structure/table,/obj/item/paper_bin,/obj/item/pen,/obj/effect/turf_decal/tile/neutral{dir = 8},/obj/effect/turf_decal/tile/neutral{dir = 1},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/open/floor/plasteel/dark,/area/science/robotics/lab)
+"pD" = (/obj/machinery/vending/wardrobe/robo_wardrobe,/obj/effect/turf_decal/bot,/obj/effect/turf_decal/tile/neutral{dir = 1},/obj/effect/turf_decal/tile/neutral{dir = 8},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 5},/turf/open/floor/plasteel/dark,/area/science/robotics/lab)
+"pE" = (/obj/effect/turf_decal/tile/purple,/obj/effect/turf_decal/tile/purple,/obj/effect/turf_decal/tile/purple{dir = 8},/obj/effect/turf_decal/tile/purple{dir = 1},/obj/effect/turf_decal/tile/purple{dir = 1},/obj/effect/turf_decal/stripes/line{dir = 10},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/open/floor/plasteel/freezer,/area/science/robotics/lab)
+"pF" = (/obj/effect/turf_decal/stripes/line,/obj/effect/turf_decal/tile/purple,/obj/effect/turf_decal/tile/purple,/obj/effect/turf_decal/tile/purple{dir = 8},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/open/floor/plasteel/freezer,/area/science/robotics/lab)
+"pG" = (/obj/effect/turf_decal/stripes/line,/obj/effect/turf_decal/tile/purple{dir = 8},/obj/effect/turf_decal/tile/purple,/obj/effect/turf_decal/tile/purple,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/open/floor/plasteel/freezer,/area/science/robotics/lab)
+"pH" = (/obj/effect/turf_decal/tile/purple{dir = 8},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/effect/turf_decal/stripes/corner{dir = 1; step_x = 0; step_y = 0},/turf/open/floor/plasteel/freezer,/area/science/robotics/lab)
+"pI" = (/obj/machinery/holopad,/obj/effect/turf_decal/bot,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 10},/turf/open/floor/plasteel/freezer,/area/science/robotics/lab)
+"pJ" = (/obj/machinery/power/terminal{dir = 8},/obj/structure/cable,/obj/machinery/airalarm{pixel_y = 24},/obj/structure/chair/office/light{dir = 4},/turf/open/floor/plating,/area/space)
+"pK" = (/obj/machinery/portable_atmospherics/scrubber/huge,/obj/effect/turf_decal/delivery,/obj/machinery/power/apc{pixel_y = 26},/obj/structure/cable,/turf/open/floor/plasteel/dark,/area/science/storage)
+"pL" = (/obj/machinery/portable_atmospherics/canister/carbon_dioxide,/obj/effect/turf_decal/delivery,/obj/effect/turf_decal/stripes/line{dir = 8},/obj/item/radio/intercom{pixel_y = 20},/turf/open/floor/plasteel/dark,/area/science/storage)
+"pM" = (/obj/machinery/portable_atmospherics/canister/carbon_dioxide,/obj/machinery/firealarm{dir = 8; pixel_x = 28; pixel_y = 0},/obj/effect/turf_decal/bot,/turf/open/floor/plasteel/dark,/area/science/storage)
+"pN" = (/obj/machinery/atmospherics/components/unary/vent_pump/on{dir = 4},/obj/effect/turf_decal/stripes/line,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/open/floor/plasteel/freezer,/area/science/mixing)
+"pO" = (/obj/machinery/atmospherics/components/unary/vent_pump/on,/turf/open/floor/plating,/area/space)
+"pP" = (/obj/effect/turf_decal/stripes/line{dir = 6},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 10},/obj/structure/cable,/turf/open/floor/plasteel/freezer,/area/science/mixing)
+"pQ" = (/obj/structure/tank_dispenser,/obj/effect/turf_decal/delivery,/turf/open/floor/plasteel/dark,/area/science/mixing)
+"pR" = (/obj/item/assembly/igniter{pixel_x = -2; pixel_y = 7},/obj/item/assembly/igniter{pixel_x = 7; pixel_y = -2},/obj/item/assembly/igniter{pixel_x = -4; pixel_y = 3},/obj/item/assembly/igniter{pixel_x = 3; pixel_y = -4},/obj/structure/table,/turf/open/floor/plasteel/dark,/area/science/mixing)
+"pS" = (/obj/structure/table,/obj/item/book/manual/wiki/toxins,/obj/item/crowbar,/obj/item/wrench,/obj/item/clothing/mask/gas,/turf/open/floor/plasteel/dark,/area/science/mixing)
+"pT" = (/obj/structure/table,/obj/item/clothing/glasses/science,/obj/item/clothing/glasses/science,/obj/item/multitool,/obj/item/storage/firstaid/toxin,/obj/structure/window/reinforced{dir = 4},/obj/effect/turf_decal/stripes/line{dir = 4},/turf/open/floor/plasteel/dark,/area/science/mixing)
+"pU" = (/obj/structure/closet/wardrobe/science_white,/obj/effect/turf_decal/bot,/turf/open/floor/plasteel/dark,/area/science/mixing)
+"pV" = (/obj/structure/window/reinforced{dir = 8},/obj/structure/table/reinforced,/obj/effect/turf_decal/stripes/line{dir = 8},/obj/machinery/light,/obj/item/assembly/prox_sensor{pixel_x = -4; pixel_y = -6},/obj/item/assembly/prox_sensor{pixel_x = -2; pixel_y = 4},/obj/item/assembly/prox_sensor{pixel_x = 4; pixel_y = -2},/obj/item/assembly/prox_sensor{pixel_x = 6; pixel_y = 2},/turf/open/floor/plasteel/dark,/area/science/mixing)
+"pW" = (/obj/structure/table/reinforced,/obj/item/assembly/timer{pixel_x = 5; pixel_y = 4},/obj/item/assembly/timer{pixel_x = -4; pixel_y = 2},/obj/item/assembly/timer{pixel_x = 6; pixel_y = -4},/obj/item/assembly/timer{pixel_x = -6; pixel_y = -4},/turf/open/floor/plasteel/dark,/area/science/mixing)
+"pX" = (/obj/structure/cable,/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/machinery/door/airlock/engineering,/turf/open/floor/plating,/area/space)
+"pY" = (/obj/structure/table/reinforced,/obj/item/assembly/signaler{pixel_y = 8},/obj/item/assembly/signaler{pixel_x = -8; pixel_y = 5},/obj/item/assembly/signaler{pixel_x = 6; pixel_y = 5},/obj/item/assembly/signaler{pixel_x = -2; pixel_y = -2},/turf/open/floor/plasteel/dark,/area/science/mixing)
+"pZ" = (/obj/structure/table/reinforced,/obj/item/transfer_valve{pixel_x = 8},/obj/item/transfer_valve{pixel_x = 4},/obj/item/transfer_valve{pixel_x = -8},/obj/item/transfer_valve{pixel_x = -4},/turf/open/floor/plasteel/dark,/area/science/mixing)
+"qa" = (/obj/machinery/door/airlock/research,/obj/machinery/door/firedoor/heavy,/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/structure/cable,/turf/open/floor/plasteel/freezer,/area/science/storage)
+"qb" = (/obj/effect/turf_decal/stripes/line{dir = 1},/obj/item/cigbutt,/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 10},/obj/structure/cable,/turf/open/floor/plasteel/freezer,/area/science/storage)
+"qc" = (/obj/structure/cable,/obj/structure/cable,/obj/machinery/atmospherics/pipe/manifold/supply/hidden{dir = 1},/turf/open/floor/plating,/area/space)
+"qd" = (/obj/structure/cable,/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 9},/turf/open/floor/plating,/area/space)
+"qe" = (/obj/machinery/power/apc/auto_name/east,/obj/structure/cable,/turf/open/floor/plating,/area/space)
+"qf" = (/obj/effect/turf_decal/tile/purple{dir = 4},/obj/effect/turf_decal/stripes/corner{dir = 8},/turf/open/floor/plasteel/freezer,/area/science/robotics/lab)
+"qg" = (/obj/effect/turf_decal/tile/purple{dir = 4},/obj/effect/turf_decal/tile/purple{dir = 8},/obj/effect/turf_decal/tile/purple,/obj/effect/turf_decal/tile/purple,/obj/effect/turf_decal/stripes/line{dir = 6},/turf/open/floor/plasteel/freezer,/area/science/robotics/lab)
+"qh" = (/obj/effect/turf_decal/tile/green{dir = 8},/obj/effect/turf_decal/tile/green{dir = 4},/obj/effect/turf_decal/tile/blue{dir = 1},/obj/effect/turf_decal/tile/blue,/obj/structure/sink{dir = 8; pixel_x = -12},/obj/structure/mirror{pixel_x = -28},/obj/machinery/newscaster{pixel_x = 30},/turf/open/floor/plasteel/freezer,/area/space)
+"qi" = (/obj/effect/turf_decal/stripes/line{dir = 1},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 6},/turf/open/floor/plasteel/freezer,/area/science/storage)
+"qj" = (/obj/machinery/door/airlock/research,/obj/machinery/door/firedoor/heavy,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/open/floor/plasteel/freezer,/area/science/storage)
+"qk" = (/obj/effect/turf_decal/stripes/line{dir = 8},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 9},/turf/open/floor/plasteel/dark,/area/science/mixing)
+"ql" = (/obj/effect/turf_decal/tile/purple{dir = 8},/obj/effect/turf_decal/tile/purple{dir = 4},/obj/effect/turf_decal/tile/purple{dir = 1},/obj/effect/turf_decal/tile/purple,/obj/machinery/atmospherics/components/unary/vent_scrubber/on{dir = 8},/obj/structure/cable,/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/open/floor/plasteel/dark,/area/science/research)
+"qm" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/structure/cable,/turf/open/floor/plasteel/dark,/area/science/mixing)
+"qn" = (/obj/structure/window/reinforced{dir = 1; pixel_y = 1},/obj/machinery/computer/atmos_control/toxinsmix,/obj/effect/turf_decal/bot,/obj/effect/turf_decal/stripes/line{dir = 1},/turf/open/floor/plasteel/dark,/area/science/mixing)
+"qo" = (/turf/closed/wall/r_wall,/area/science/mixing/chamber)
+"qp" = (/obj/effect/spawner/structure/window/reinforced,/turf/open/floor/plating,/area/science/mixing/chamber)
+"qq" = (/obj/effect/turf_decal/tile/blue{dir = 4},/obj/effect/turf_decal/tile/blue{dir = 1},/obj/effect/turf_decal/tile/blue{dir = 4},/obj/structure/table,/obj/machinery/cell_charger,/turf/open/floor/plasteel/white,/area/space)
+"qr" = (/obj/effect/turf_decal/stripes/corner,/turf/open/floor/plasteel/freezer,/area/science/storage)
+"qs" = (/obj/structure/table,/obj/item/stack/medical/gauze,/obj/effect/turf_decal/tile/blue{dir = 8},/obj/effect/turf_decal/tile/blue{dir = 1},/obj/effect/turf_decal/tile/blue{dir = 8},/obj/item/reagent_containers/hypospray/medipen,/obj/item/stack/medical/bruise_pack,/obj/item/stack/medical/ointment,/turf/open/floor/plasteel/white,/area/space)
+"qt" = (/obj/structure/sink{dir = 8; pixel_x = -12},/turf/open/floor/plating{icon_state = "panelscorched"},/area/space)
+"qu" = (/obj/effect/turf_decal/stripes/corner,/obj/structure/extinguisher_cabinet{pixel_x = 26},/obj/machinery/atmospherics/components/unary/vent_scrubber/on{dir = 1},/turf/open/floor/plasteel/freezer,/area/science/storage)
+"qv" = (/obj/effect/turf_decal/stripes/white/line{dir = 4},/obj/effect/turf_decal/stripes/white/corner{dir = 1},/turf/open/floor/plasteel/dark,/area/space)
+"qw" = (/obj/machinery/atmospherics/components/binary/valve{dir = 4; name = "manual outlet valve"},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/structure/cable,/turf/open/floor/plasteel/dark,/area/science/mixing)
+"qx" = (/obj/machinery/atmospherics/pipe/simple/general/visible{dir = 4},/obj/machinery/meter,/obj/machinery/embedded_controller/radio/airlock_controller/incinerator_toxmix{pixel_x = 26},/obj/effect/turf_decal/stripes/corner,/turf/open/floor/plasteel/dark,/area/science/mixing)
+"qy" = (/obj/machinery/atmospherics/pipe/simple/general/visible{dir = 4},/turf/closed/wall/r_wall,/area/science/mixing/chamber)
+"qz" = (/obj/structure/closet/crate/freezer{name = "exotic blood freezer"},/obj/item/reagent_containers/blood/lizard,/obj/effect/decal/cleanable/dirt,/obj/item/reagent_containers/blood/insect,/obj/item/reagent_containers/blood/jellyblood,/obj/item/reagent_containers/blood/oilblood,/obj/item/reagent_containers/blood/synthetics,/obj/item/reagent_containers/blood/random,/turf/open/floor/plasteel,/area/space)
+"qA" = (/obj/effect/turf_decal/stripes/white/line{dir = 8},/obj/effect/turf_decal/tile/neutral,/obj/effect/turf_decal/stripes/white/corner{dir = 8},/turf/open/floor/plasteel/dark,/area/space)
+"qB" = (/obj/effect/decal/remains/xeno,/obj/effect/decal/cleanable/blood/old,/turf/open/floor/engine/vacuum,/area/science/mixing/chamber)
+"qC" = (/obj/machinery/door/poddoor/incinerator_toxmix,/turf/open/floor/engine/vacuum,/area/science/mixing/chamber)
+"qD" = (/obj/structure/lattice,/turf/open/space/basic,/area/science/mixing/chamber)
+"qE" = (/obj/machinery/portable_atmospherics/canister/toxins,/obj/effect/turf_decal/delivery,/obj/effect/turf_decal/stripes/line{dir = 8},/obj/machinery/light{dir = 8},/turf/open/floor/plasteel/dark,/area/science/storage)
+"qF" = (/obj/effect/turf_decal/delivery,/obj/effect/turf_decal/stripes/line{dir = 4},/obj/machinery/portable_atmospherics/canister/toxins,/turf/open/floor/plasteel/dark,/area/science/storage)
+"qG" = (/obj/machinery/portable_atmospherics/scrubber/huge,/obj/effect/turf_decal/delivery,/obj/structure/sign/warning/fire{pixel_y = -32},/turf/open/floor/plasteel/dark,/area/science/storage)
+"qH" = (/obj/machinery/portable_atmospherics/canister/oxygen,/obj/effect/turf_decal/delivery,/obj/effect/turf_decal/stripes/line{dir = 8},/turf/open/floor/plasteel/dark,/area/science/storage)
+"qI" = (/obj/machinery/portable_atmospherics/canister/oxygen,/obj/effect/turf_decal/delivery,/obj/effect/turf_decal/stripes/line{dir = 4},/obj/machinery/light{dir = 4},/turf/open/floor/plasteel/dark,/area/science/storage)
+"qJ" = (/obj/structure/reagent_dispensers/fueltank,/turf/open/floor/plasteel/dark,/area/science/mixing)
+"qK" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/open/floor/plasteel/dark,/area/science/mixing)
+"qL" = (/obj/effect/turf_decal/stripes/line{dir = 4},/turf/open/floor/plasteel/dark,/area/science/mixing)
+"qM" = (/obj/machinery/door/airlock/research/glass/incinerator/toxmix_interior,/obj/effect/mapping_helpers/airlock/locked,/turf/open/floor/engine,/area/science/mixing/chamber)
+"qN" = (/obj/effect/turf_decal/stripes/line{dir = 8},/obj/effect/turf_decal/stripes/line{dir = 4},/turf/open/floor/engine,/area/science/mixing/chamber)
+"qO" = (/obj/machinery/door/airlock/research/glass/incinerator/toxmix_exterior,/obj/effect/mapping_helpers/airlock/locked,/turf/open/floor/engine,/area/science/mixing/chamber)
+"qP" = (/obj/machinery/air_sensor/atmos/toxins_mixing_tank,/obj/effect/turf_decal/stripes/line{dir = 8},/turf/open/floor/engine/vacuum,/area/science/mixing/chamber)
+"qQ" = (/obj/machinery/igniter/incinerator_toxmix,/turf/open/floor/engine/vacuum,/area/science/mixing/chamber)
+"qR" = (/obj/machinery/portable_atmospherics/canister/toxins,/obj/effect/turf_decal/bot,/obj/effect/turf_decal/stripes/line{dir = 8},/turf/open/floor/plasteel/dark,/area/science/storage)
+"qS" = (/obj/machinery/portable_atmospherics/canister/toxins,/obj/effect/turf_decal/bot,/obj/effect/turf_decal/stripes/line{dir = 4},/turf/open/floor/plasteel/dark,/area/science/storage)
+"qT" = (/turf/closed/wall,/area/science/storage)
+"qU" = (/obj/machinery/portable_atmospherics/canister/oxygen,/obj/effect/turf_decal/bot,/obj/effect/turf_decal/stripes/line{dir = 8},/turf/open/floor/plasteel/dark,/area/science/storage)
+"qV" = (/obj/machinery/portable_atmospherics/canister/oxygen,/obj/effect/turf_decal/bot,/obj/effect/turf_decal/stripes/line{dir = 4},/turf/open/floor/plasteel/dark,/area/science/storage)
+"qW" = (/obj/machinery/atmospherics/components/unary/portables_connector/visible{dir = 4},/obj/machinery/portable_atmospherics/canister,/obj/effect/turf_decal/stripes/corner,/obj/machinery/airalarm{dir = 4; pixel_x = -23},/turf/open/floor/plasteel/dark,/area/science/mixing/chamber)
+"qX" = (/obj/machinery/atmospherics/components/binary/valve{dir = 4; name = "manual inlet valve"},/obj/effect/turf_decal/stripes/line,/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/open/floor/plasteel/dark,/area/science/mixing)
+"qY" = (/obj/effect/turf_decal/stripes/white/line{dir = 4},/obj/effect/turf_decal/tile/neutral{dir = 8},/obj/effect/turf_decal/stripes/white/corner{dir = 4},/turf/open/floor/plasteel/dark,/area/space)
+"qZ" = (/obj/effect/turf_decal/tile/blue{dir = 1},/obj/effect/turf_decal/tile/blue{dir = 4},/obj/effect/turf_decal/tile/blue{dir = 8},/obj/effect/turf_decal/tile/blue{dir = 1},/turf/open/floor/plasteel/white,/area/space)
+"ra" = (/obj/effect/turf_decal/tile/blue{dir = 1},/obj/effect/turf_decal/tile/blue{dir = 4},/obj/effect/turf_decal/tile/blue{dir = 1},/obj/effect/turf_decal/tile/blue{dir = 4},/turf/open/floor/plasteel/white,/area/space)
+"rb" = (/obj/effect/turf_decal/stripes/line{dir = 1},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 9},/turf/open/floor/plating,/area/space)
+"rc" = (/obj/machinery/door/airlock/atmos,/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/open/floor/plating,/area/space)
+"rd" = (/obj/structure/rack,/obj/effect/turf_decal/bot,/obj/item/storage/toolbox/electrical,/obj/effect/spawner/lootdrop/maintenance,/turf/open/floor/plating,/area/space)
+"re" = (/obj/machinery/atmospherics/components/binary/pump/on{dir = 1},/obj/effect/turf_decal/stripes/line{dir = 9},/turf/open/floor/plating,/area/space)
+"rf" = (/obj/structure/table,/obj/item/radio/intercom{pixel_y = -28},/obj/effect/turf_decal/tile/red,/obj/effect/turf_decal/tile/red{dir = 8},/obj/effect/turf_decal/tile/red{dir = 8},/obj/effect/turf_decal/tile/red{dir = 4},/obj/effect/turf_decal/tile/red{dir = 4},/obj/item/paper_bin{step_x = -5; step_y = 3},/obj/item/pen{step_x = -5; step_y = 3},/obj/item/radio{step_x = 7; step_y = 5},/obj/structure/reagent_dispensers/peppertank{pixel_x = 30},/obj/machinery/light,/obj/item/folder/red,/turf/open/floor/plasteel/freezer,/area/security/checkpoint/science)
+"rg" = (/obj/machinery/atmospherics/components/unary/portables_connector/visible{dir = 4},/obj/machinery/portable_atmospherics/canister/air,/obj/effect/turf_decal/delivery,/turf/open/floor/plating,/area/space)
+"rh" = (/obj/machinery/atmospherics/pipe/manifold/supply/hidden,/obj/effect/turf_decal/stripes/line{dir = 8},/turf/open/floor/plating,/area/space)
+"ri" = (/obj/machinery/atmospherics/components/binary/pump/on{dir = 8},/obj/effect/turf_decal/stripes/line{dir = 4},/turf/open/floor/plating,/area/space)
+"rj" = (/obj/machinery/door/airlock/atmos,/turf/open/floor/plating,/area/space)
+"rk" = (/obj/machinery/button{pixel_x = 26; pixel_y = 6},/turf/open/floor/plating,/area/space)
+"rl" = (/obj/machinery/atmospherics/pipe/manifold/supply/hidden{dir = 8},/turf/open/floor/circuit/green,/area/science/robotics/mechbay)
+"rm" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/open/floor/circuit/green,/area/science/robotics/mechbay)
+"rn" = (/obj/structure/plasticflaps/opaque,/obj/machinery/door/window/westleft,/obj/effect/turf_decal/delivery,/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/open/floor/plating,/area/science/robotics/mechbay)
+"ro" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 9},/turf/open/floor/plating,/area/space)
+"rp" = (/obj/effect/spawner/structure/window,/turf/open/floor/plating,/area/space)
+"rq" = (/obj/machinery/door/airlock/public/glass{name = "Medbay"},/obj/machinery/door/firedoor,/obj/effect/turf_decal/tile/blue{dir = 8},/obj/effect/turf_decal/tile/blue{dir = 8},/obj/effect/turf_decal/tile/blue,/turf/open/floor/plasteel/white/side,/area/space)
+"rr" = (/obj/machinery/door/airlock/public/glass{name = "Medbay"},/obj/machinery/door/firedoor,/obj/effect/turf_decal/tile/blue,/obj/effect/turf_decal/tile/blue,/obj/effect/turf_decal/tile/blue{dir = 8},/turf/open/floor/plasteel/white/side,/area/space)
+"rs" = (/obj/structure/table,/obj/item/storage/firstaid/regular,/obj/effect/turf_decal/tile/blue{dir = 8},/obj/effect/turf_decal/tile/blue{dir = 1},/obj/effect/turf_decal/tile/blue{dir = 4},/obj/effect/turf_decal/tile/blue{dir = 8},/obj/effect/turf_decal/tile/blue{dir = 4},/turf/open/floor/plasteel/white,/area/space)
+"rt" = (/obj/effect/turf_decal/tile/yellow{dir = 8},/obj/effect/turf_decal/tile/yellow{dir = 1},/obj/machinery/chem_heater{pixel_x = -6; pixel_y = 2},/obj/effect/turf_decal/stripes/corner{dir = 4},/turf/open/floor/plasteel/white,/area/space)
+"ru" = (/obj/structure/table,/obj/item/storage/box/bodybags,/obj/effect/turf_decal/tile/blue{dir = 4},/obj/effect/turf_decal/tile/blue{dir = 1},/obj/effect/turf_decal/tile/blue{dir = 4},/turf/open/floor/plasteel/white,/area/space)
+"rv" = (/obj/effect/turf_decal/tile/blue{dir = 1},/turf/open/floor/plasteel/white,/area/space)
+"rw" = (/obj/effect/turf_decal/tile/blue{dir = 4},/turf/open/floor/plasteel/white,/area/space)
+"rx" = (/obj/effect/turf_decal/tile/blue{dir = 1},/obj/effect/turf_decal/tile/blue{dir = 1},/obj/effect/turf_decal/tile/blue{dir = 4},/obj/structure/table,/obj/item/paper_bin,/obj/item/pen,/turf/open/floor/plasteel/white,/area/space)
+"ry" = (/obj/structure/table,/obj/item/paper_bin,/obj/item/folder/white,/obj/effect/turf_decal/tile/neutral{dir = 8},/obj/effect/turf_decal/tile/neutral{dir = 1},/obj/effect/turf_decal/stripes/white/corner{dir = 8},/turf/open/floor/plasteel/dark,/area/space)
+"rz" = (/obj/effect/turf_decal/tile/blue{dir = 8},/obj/effect/turf_decal/tile/blue{dir = 1},/obj/effect/turf_decal/stripes/corner{dir = 1},/turf/open/floor/plasteel/white,/area/space)
+"rA" = (/turf/open/floor/plasteel/white,/area/space)
+"rB" = (/obj/effect/turf_decal/tile/blue,/turf/open/floor/plasteel/white,/area/space)
+"rC" = (/obj/effect/turf_decal/tile/blue{dir = 8},/turf/open/floor/plasteel/white,/area/space)
+"rD" = (/obj/effect/turf_decal/tile/yellow,/obj/effect/turf_decal/tile/yellow{dir = 4},/obj/structure/bed/roller,/turf/open/floor/plasteel/white,/area/space)
+"rE" = (/obj/effect/spawner/structure/window/reinforced,/obj/machinery/door/poddoor/shutters/preopen,/turf/open/floor/plating,/area/space)
+"rF" = (/obj/structure/bed/roller,/obj/effect/turf_decal/tile/blue{dir = 8},/obj/effect/turf_decal/tile/blue{dir = 1},/obj/effect/turf_decal/tile/blue{dir = 8},/turf/open/floor/plasteel/white,/area/space)
+"rG" = (/obj/structure/chair{dir = 8},/obj/effect/turf_decal/tile/blue,/obj/effect/turf_decal/tile/blue{dir = 4},/obj/effect/turf_decal/tile/blue{dir = 8},/obj/effect/turf_decal/tile/blue{dir = 1},/obj/effect/turf_decal/tile/blue,/obj/effect/turf_decal/tile/blue{dir = 4},/turf/open/floor/plasteel/white,/area/space)
+"rH" = (/obj/structure/chair{dir = 4},/obj/effect/turf_decal/tile/blue{dir = 8},/obj/effect/turf_decal/tile/blue{dir = 1},/obj/effect/turf_decal/tile/blue{dir = 4},/obj/effect/turf_decal/tile/blue,/obj/effect/turf_decal/tile/blue{dir = 8},/obj/effect/turf_decal/tile/blue{dir = 1},/turf/open/floor/plasteel/white,/area/space)
+"rI" = (/obj/machinery/door/airlock/public/glass{name = "Medbay"},/obj/machinery/door/firedoor,/obj/effect/turf_decal/tile/blue{dir = 4},/obj/effect/turf_decal/tile/blue{dir = 4},/obj/effect/turf_decal/tile/blue,/turf/open/floor/plasteel/white/side{dir = 4},/area/space)
+"rJ" = (/obj/structure/chair{dir = 8},/obj/effect/turf_decal/tile/blue,/obj/effect/turf_decal/tile/blue{dir = 4},/obj/effect/turf_decal/tile/blue{dir = 8},/obj/effect/turf_decal/tile/blue{dir = 1},/obj/effect/turf_decal/tile/blue{dir = 4},/obj/effect/turf_decal/tile/blue,/turf/open/floor/plasteel/white,/area/space)
+"rK" = (/obj/effect/turf_decal/tile/yellow,/obj/effect/turf_decal/tile/yellow{dir = 4},/turf/open/floor/plasteel/white,/area/space)
+"rL" = (/obj/machinery/smartfridge/chemistry/preloaded,/turf/closed/wall,/area/space)
+"rM" = (/obj/machinery/door/airlock/public/glass{name = "Medbay"},/obj/machinery/door/firedoor,/obj/effect/turf_decal/tile/blue,/obj/effect/turf_decal/tile/blue,/obj/effect/turf_decal/tile/blue{dir = 4},/turf/open/floor/plasteel/white/side{dir = 4},/area/space)
+"rN" = (/obj/machinery/door/firedoor,/obj/structure/table/reinforced,/obj/machinery/door/poddoor/shutters/preopen,/obj/item/folder/white,/obj/item/pen,/obj/machinery/door/window/northleft{dir = 2; name = "Pharmacy Desk"; req_access_txt = "5; 69"},/turf/open/floor/plating,/area/space)
+"rO" = (/obj/structure/bed/roller,/obj/effect/turf_decal/tile/blue{dir = 1},/obj/effect/turf_decal/tile/blue{dir = 1},/obj/effect/turf_decal/stripes/line,/turf/open/floor/plasteel/white,/area/space)
+"rP" = (/obj/effect/turf_decal/stripes/corner{dir = 8},/turf/open/floor/plasteel/white,/area/space)
+"rQ" = (/obj/machinery/door/airlock/medical,/obj/effect/turf_decal/tile/blue,/obj/effect/turf_decal/tile/blue{dir = 4},/obj/effect/turf_decal/tile/blue{dir = 8},/obj/effect/turf_decal/tile/blue{dir = 1},/turf/open/floor/plasteel/white,/area/space)
+"rR" = (/obj/effect/decal/cleanable/molten_object,/turf/open/floor/engine/vacuum,/area/science/mixing/chamber)
+"rS" = (/obj/effect/turf_decal/tile/blue,/obj/effect/turf_decal/tile/blue{dir = 8},/obj/effect/turf_decal/tile/blue,/obj/effect/turf_decal/stripes/line{dir = 8},/turf/open/floor/plasteel/white,/area/space)
+"rT" = (/obj/effect/turf_decal/tile/blue,/obj/effect/turf_decal/tile/blue{dir = 8},/obj/effect/turf_decal/tile/blue,/turf/open/floor/plasteel/white,/area/space)
+"rU" = (/obj/item/twohanded/required/kirbyplants,/obj/effect/turf_decal/tile/blue,/obj/effect/turf_decal/tile/blue{dir = 8},/obj/effect/turf_decal/tile/blue,/obj/effect/turf_decal/stripes/corner,/turf/open/floor/plasteel/white,/area/space)
+"rV" = (/obj/effect/turf_decal/tile/blue{dir = 8},/obj/effect/turf_decal/stripes/line,/turf/open/floor/plasteel/white,/area/space)
+"rW" = (/obj/effect/turf_decal/tile/blue,/obj/effect/turf_decal/stripes/line,/turf/open/floor/plasteel/white,/area/space)
+"rX" = (/obj/structure/sign/warning/pods{pixel_x = 32},/obj/effect/turf_decal/tile/blue{dir = 4},/obj/effect/turf_decal/tile/blue,/obj/effect/turf_decal/tile/blue,/obj/effect/turf_decal/tile/blue{dir = 4},/turf/open/floor/plasteel/white,/area/space)
+"rY" = (/obj/machinery/door/poddoor/shutters/preopen,/obj/structure/table/reinforced,/obj/machinery/door/firedoor,/obj/item/folder/white{pixel_x = 5; pixel_y = -5},/obj/item/folder/white{pixel_x = 5; pixel_y = -5},/obj/item/pen,/obj/item/reagent_containers/glass/bottle/epinephrine{pixel_x = -4; pixel_y = 2},/obj/item/reagent_containers/syringe{pixel_x = -4; pixel_y = 2},/turf/open/floor/plasteel/white,/area/space)
+"rZ" = (/obj/machinery/door/poddoor/shutters/preopen,/obj/structure/table/reinforced,/obj/machinery/door/firedoor,/obj/item/reagent_containers/food/drinks/britcup,/turf/open/floor/plasteel/white,/area/space)
+"sa" = (/obj/effect/turf_decal/stripes/corner{dir = 1},/turf/open/floor/plasteel/white,/area/space)
+"sb" = (/obj/structure/chair/office/light,/obj/effect/turf_decal/tile/blue,/obj/effect/turf_decal/tile/blue{dir = 8},/obj/effect/turf_decal/tile/blue{dir = 1},/obj/effect/turf_decal/tile/blue{dir = 8},/turf/open/floor/plasteel/white,/area/space)
+"sc" = (/obj/structure/chair/office/light{dir = 1},/obj/effect/turf_decal/tile/blue{dir = 4},/obj/effect/turf_decal/tile/blue{dir = 1},/obj/effect/turf_decal/tile/blue{dir = 4},/turf/open/floor/plasteel/white,/area/space)
+"sd" = (/obj/effect/turf_decal/tile/blue{dir = 4},/obj/effect/turf_decal/tile/blue{dir = 1},/obj/effect/turf_decal/tile/blue,/obj/effect/turf_decal/tile/blue{dir = 4},/turf/open/floor/plasteel/white,/area/space)
+"se" = (/obj/machinery/door/poddoor/shutters/preopen,/obj/structure/table/reinforced,/obj/machinery/door/firedoor,/turf/open/floor/plasteel/white,/area/space)
+"sf" = (/obj/effect/turf_decal/stripes/line{dir = 1},/turf/open/floor/plasteel/white,/area/space)
+"sg" = (/obj/machinery/light/small,/obj/effect/turf_decal/tile/blue,/obj/effect/turf_decal/tile/blue{dir = 8},/obj/effect/turf_decal/tile/blue{dir = 8},/obj/effect/turf_decal/tile/blue,/turf/open/floor/plasteel/white,/area/space)
+"sh" = (/obj/structure/table,/obj/item/reagent_containers/spray/cleaner,/obj/item/reagent_containers/hypospray/medipen,/obj/item/reagent_containers/glass/bottle/morphine{pixel_x = -2; pixel_y = -2},/turf/open/floor/plasteel/dark,/area/space)
+"si" = (/obj/effect/turf_decal/tile/blue{dir = 8},/obj/effect/turf_decal/tile/blue{dir = 1},/obj/effect/turf_decal/tile/blue{dir = 8},/turf/open/floor/plasteel/white,/area/space)
+"sj" = (/obj/structure/chair/office/light{dir = 4},/obj/effect/turf_decal/tile/blue,/obj/effect/turf_decal/tile/blue{dir = 4},/obj/effect/turf_decal/tile/blue{dir = 4},/obj/machinery/button{pixel_x = 26; pixel_y = -26},/obj/machinery/button{pixel_x = 38; pixel_y = -26},/turf/open/floor/plasteel/white,/area/space)
+"sk" = (/obj/effect/turf_decal/tile/blue,/obj/effect/turf_decal/tile/blue{dir = 4},/obj/effect/turf_decal/tile/blue,/turf/open/floor/plasteel/white,/area/space)
+"sl" = (/obj/structure/table/glass,/obj/item/storage/box/donkpockets,/obj/structure/noticeboard{pixel_y = 32},/turf/open/floor/plasteel/cafeteria,/area/space)
+"sm" = (/obj/machinery/light/small{dir = 1},/obj/effect/turf_decal/tile/green{dir = 8},/obj/effect/turf_decal/tile/green{dir = 4},/obj/effect/turf_decal/tile/blue{dir = 1},/obj/effect/turf_decal/tile/blue,/obj/structure/toilet,/turf/open/floor/plasteel/freezer,/area/space)
+"sn" = (/obj/effect/turf_decal/tile/blue{dir = 8},/obj/effect/turf_decal/tile/blue{dir = 1},/obj/effect/turf_decal/tile/blue{dir = 8},/obj/structure/chair/office/light{dir = 8},/turf/open/floor/plasteel/white,/area/space)
+"so" = (/obj/effect/turf_decal/tile/blue{dir = 4},/obj/effect/turf_decal/tile/blue{dir = 4},/turf/open/floor/plasteel/white,/area/space)
+"sp" = (/obj/machinery/computer/med_data{dir = 4},/obj/effect/turf_decal/bot,/turf/open/floor/plasteel/dark,/area/space)
+"sq" = (/obj/machinery/door/airlock/medical/glass{name = "Medbay Desk"; req_access_txt = "5"},/turf/open/floor/plasteel/white,/area/space)
+"sr" = (/obj/machinery/door/airlock/grunge{name = "Morgue"; req_access_txt = "6"},/obj/machinery/door/firedoor,/turf/open/floor/plasteel/dark,/area/space)
+"ss" = (/obj/machinery/vending/wallmed{pixel_x = 32},/obj/structure/closet/wardrobe{name = "paramedic wardrobe"},/obj/item/clothing/under/rank/medical/paramedic,/obj/item/clothing/under/rank/medical/paramedic,/obj/item/clothing/under/rank/medical/paramedic/skirt,/obj/item/clothing/under/rank/medical/paramedic/skirt,/obj/item/clothing/shoes/sneakers/white,/obj/item/clothing/shoes/sneakers/white,/obj/effect/turf_decal/tile/blue,/obj/effect/turf_decal/tile/blue{dir = 4},/obj/effect/turf_decal/tile/blue{dir = 8},/obj/effect/turf_decal/tile/blue,/turf/open/floor/plasteel/white,/area/space)
+"st" = (/obj/structure/table/glass,/obj/machinery/microwave{desc = "Cooks and boils stuff, somehow."; pixel_x = -3; pixel_y = 5},/turf/open/floor/plasteel/cafeteria,/area/space)
+"su" = (/obj/effect/turf_decal/tile/blue{dir = 8},/obj/effect/turf_decal/tile/blue{dir = 8},/obj/effect/turf_decal/tile/yellow{dir = 4},/obj/effect/turf_decal/stripes/corner{dir = 1},/obj/effect/turf_decal/tile/blue,/turf/open/floor/plasteel/white,/area/space)
+"sv" = (/obj/effect/turf_decal/tile/blue{dir = 8},/obj/effect/turf_decal/tile/blue{dir = 1},/obj/effect/turf_decal/stripes/line,/obj/effect/turf_decal/stripes/corner{dir = 4},/turf/open/floor/plasteel/white,/area/space)
+"sw" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 10},/mob/living/simple_animal/pet/dog/pug{desc = "Science's unofficial cloned pug mascot. Maybe this iteration will live until the end of the shift."; name = "Christian LXXIII"},/turf/open/floor/plasteel/freezer,/area/science/explab)
+"sx" = (/obj/machinery/door/poddoor/shutters/preopen,/obj/structure/table/reinforced,/obj/machinery/door/firedoor,/obj/effect/turf_decal/stripes/corner{dir = 8},/turf/open/floor/plasteel/white,/area/space)
+"sy" = (/turf/closed/wall,/area/science/lab)
+"sz" = (/turf/closed/wall/r_wall,/area/science/robotics/mechbay)
+"sA" = (/obj/structure/chair/stool,/turf/open/floor/plasteel/cafeteria,/area/space)
+"sB" = (/obj/structure/chair,/obj/effect/turf_decal/tile/blue,/obj/effect/turf_decal/tile/blue{dir = 4},/obj/effect/turf_decal/tile/blue{dir = 1},/obj/effect/turf_decal/tile/blue{dir = 1},/obj/effect/turf_decal/tile/blue,/obj/effect/turf_decal/stripes/corner{dir = 4},/turf/open/floor/plasteel/white,/area/space)
+"sC" = (/obj/machinery/chem_heater,/obj/effect/turf_decal/tile/yellow{dir = 4},/obj/effect/turf_decal/tile/yellow{dir = 1},/obj/effect/turf_decal/tile/yellow{dir = 8},/obj/effect/turf_decal/tile/yellow,/obj/effect/turf_decal/stripes/line{dir = 8},/turf/open/floor/plasteel/white,/area/space)
+"sD" = (/obj/structure/chair/office/light{dir = 1},/obj/effect/turf_decal/tile/yellow{dir = 4},/obj/effect/turf_decal/tile/yellow{dir = 1},/obj/effect/turf_decal/tile/yellow{dir = 8},/obj/effect/turf_decal/tile/yellow,/turf/open/floor/plasteel/white,/area/space)
+"sE" = (/obj/effect/turf_decal/tile/yellow{dir = 4},/obj/effect/turf_decal/tile/yellow{dir = 1},/obj/effect/turf_decal/tile/yellow{dir = 8},/obj/effect/turf_decal/tile/yellow,/obj/machinery/button{pixel_x = 26; pixel_y = 26},/obj/machinery/chem_dispenser,/turf/open/floor/plasteel/white,/area/space)
+"sF" = (/obj/structure/table/glass,/obj/item/storage/toolbox/mechanical{pixel_y = 6},/obj/item/grenade/chem_grenade,/obj/item/grenade/chem_grenade,/obj/item/grenade/chem_grenade,/obj/item/grenade/chem_grenade,/obj/item/assembly/timer{pixel_x = 6; pixel_y = -4},/obj/item/assembly/timer{pixel_x = 6; pixel_y = -4},/obj/item/assembly/timer{pixel_x = 6; pixel_y = -4},/obj/item/assembly/timer{pixel_x = 6; pixel_y = -4},/obj/item/assembly/igniter,/obj/item/assembly/igniter,/obj/item/assembly/igniter,/obj/item/assembly/igniter,/obj/effect/turf_decal/tile/neutral,/obj/effect/turf_decal/tile/neutral{dir = 4},/turf/open/floor/plasteel/dark,/area/space)
+"sG" = (/obj/effect/turf_decal/tile/blue{dir = 1},/obj/effect/turf_decal/tile/blue{dir = 4},/obj/effect/turf_decal/stripes/corner{dir = 8},/turf/open/floor/plasteel/white,/area/space)
+"sH" = (/mob/living/simple_animal/bot/medbot{auto_patrol = 1; desc = "A little medical robot, officially part of the Nanotrasen medical inspectorate. He looks somewhat underwhelmed."; name = "Inspector Johnson"},/turf/open/floor/plasteel/white,/area/space)
+"sI" = (/obj/effect/turf_decal/tile/yellow{dir = 4},/obj/effect/turf_decal/tile/yellow{dir = 1},/obj/effect/turf_decal/tile/yellow{dir = 8},/obj/effect/turf_decal/stripes/line{dir = 8},/turf/open/floor/plasteel/white,/area/space)
+"sJ" = (/obj/effect/turf_decal/tile/yellow{dir = 4},/obj/effect/turf_decal/tile/yellow{dir = 1},/obj/effect/turf_decal/stripes/corner,/turf/open/floor/plasteel/white,/area/space)
+"sK" = (/obj/effect/turf_decal/tile/yellow{dir = 4},/obj/effect/turf_decal/tile/yellow{dir = 1},/obj/effect/turf_decal/tile/yellow,/obj/effect/turf_decal/stripes/line,/obj/machinery/chem_master,/turf/open/floor/plasteel/white,/area/space)
+"sL" = (/obj/effect/turf_decal/tile/yellow{dir = 4},/obj/effect/turf_decal/tile/yellow,/turf/open/floor/plasteel/white,/area/space)
+"sM" = (/obj/structure/table,/obj/item/clothing/mask/surgical,/obj/item/clothing/suit/apron/surgical,/obj/item/paper/guides/jobs/medical/morgue,/obj/item/toy/figure/md,/turf/open/floor/plasteel/dark,/area/space)
+"sN" = (/obj/effect/turf_decal/tile/blue{dir = 1},/obj/effect/turf_decal/tile/blue{dir = 4},/obj/effect/turf_decal/stripes/line{dir = 4},/obj/effect/turf_decal/stripes/corner{dir = 4},/turf/open/floor/plasteel/white,/area/space)
+"sO" = (/obj/machinery/door/airlock/medical/glass{id_tag = "MedbayFoyer"; name = "Medbay"; req_access_txt = "5"},/obj/machinery/door/firedoor,/obj/effect/turf_decal/delivery,/obj/effect/mapping_helpers/airlock/unres,/turf/open/floor/plasteel/dark,/area/space)
+"sP" = (/obj/effect/turf_decal/tile/yellow{dir = 1},/obj/effect/turf_decal/tile/yellow{dir = 8},/obj/effect/turf_decal/stripes/line{dir = 8},/turf/open/floor/plasteel/white,/area/space)
+"sQ" = (/obj/effect/turf_decal/stripes/line{dir = 4},/turf/open/floor/plasteel/white,/area/space)
+"sR" = (/turf/open/floor/plating,/area/space)
+"sS" = (/obj/structure/window/reinforced{dir = 1},/obj/structure/closet/secure_closet/chemical,/obj/item/storage/box/pillbottles,/obj/item/storage/box/pillbottles,/obj/effect/turf_decal/tile/neutral{dir = 8; step_y = 0},/obj/effect/turf_decal/tile/neutral{dir = 1},/obj/effect/turf_decal/tile/neutral{dir = 4},/obj/machinery/power/apc{pixel_x = 26},/obj/effect/turf_decal/bot,/turf/open/floor/plasteel/dark,/area/space)
+"sT" = (/obj/machinery/holopad,/obj/effect/turf_decal/bot,/turf/open/floor/plasteel/white,/area/space)
+"sU" = (/obj/machinery/disposal/bin,/obj/effect/turf_decal/tile/neutral,/obj/effect/turf_decal/tile/neutral{dir = 4},/obj/effect/turf_decal/tile/neutral{dir = 8; step_y = 0},/obj/effect/turf_decal/bot,/turf/open/floor/plasteel/dark,/area/space)
+"sV" = (/obj/structure/table/glass,/obj/item/reagent_containers/glass/beaker/large,/obj/item/reagent_containers/glass/beaker{pixel_x = 8},/obj/item/reagent_containers/dropper,/obj/item/reagent_containers/syringe,/obj/item/reagent_containers/glass/bottle/epinephrine{pixel_x = 4; pixel_y = 4},/obj/effect/turf_decal/tile/yellow{dir = 8},/obj/effect/turf_decal/tile/yellow{dir = 1},/obj/effect/turf_decal/stripes/line{dir = 8},/turf/open/floor/plasteel/white,/area/space)
+"sW" = (/obj/structure/window/reinforced,/obj/machinery/vending/wardrobe/chem_wardrobe,/obj/effect/turf_decal/tile/neutral{dir = 8; step_y = 0},/obj/effect/turf_decal/tile/neutral{dir = 1},/obj/effect/turf_decal/tile/neutral,/obj/machinery/requests_console{pixel_x = 32},/obj/effect/turf_decal/bot,/turf/open/floor/plasteel/dark,/area/space)
+"sX" = (/obj/effect/turf_decal/tile/yellow{dir = 1},/obj/effect/turf_decal/tile/yellow{dir = 8},/obj/structure/table/glass,/obj/item/stack/sheet/mineral/plasma,/obj/item/stack/sheet/mineral/plasma,/obj/item/reagent_containers/glass/beaker/large,/obj/item/reagent_containers/glass/beaker{pixel_x = 8},/obj/item/reagent_containers/dropper,/obj/item/reagent_containers/syringe,/obj/effect/turf_decal/tile/yellow,/obj/effect/turf_decal/tile/yellow{dir = 4},/obj/effect/turf_decal/stripes/line{dir = 1},/turf/open/floor/plasteel/white,/area/space)
+"sY" = (/obj/machinery/computer/card/minor/cmo,/obj/effect/turf_decal/tile/neutral{dir = 1},/obj/effect/turf_decal/tile/neutral{dir = 4},/obj/effect/turf_decal/bot,/obj/effect/turf_decal/stripes/corner{dir = 8},/turf/open/floor/plasteel/dark,/area/space)
+"sZ" = (/obj/effect/turf_decal/tile/purple{dir = 1},/obj/effect/turf_decal/tile/purple{dir = 4},/obj/effect/turf_decal/stripes/corner{dir = 4},/obj/effect/turf_decal/stripes/corner{dir = 8},/turf/open/floor/plasteel/white,/area/space)
+"ta" = (/obj/effect/turf_decal/tile/yellow{dir = 4},/obj/effect/turf_decal/tile/yellow,/obj/effect/turf_decal/stripes/line{dir = 1},/turf/open/floor/plasteel/white,/area/space)
+"tb" = (/obj/structure/table/reinforced,/obj/machinery/door/firedoor,/obj/machinery/door/poddoor/shutters/preopen,/obj/machinery/door/window/eastright{name = "Pharmacy Desk"; req_access_txt = "5; 69"},/obj/machinery/door/window/eastright{dir = 8; name = "Pharmacy Desk"; req_access_txt = "5"},/obj/item/reagent_containers/glass/bottle/morphine{pixel_x = 6},/obj/item/reagent_containers/glass/bottle/epinephrine{pixel_x = 2},/obj/item/reagent_containers/glass/bottle/toxin{pixel_x = -4},/turf/open/floor/plating,/area/space)
+"tc" = (/obj/structure/table/reinforced,/obj/machinery/door/poddoor/shutters/preopen,/obj/machinery/door/firedoor,/obj/item/folder/white,/obj/item/pen,/obj/machinery/door/window/eastright{name = "Pharmacy Desk"; req_access_txt = "5; 69"},/turf/open/floor/plasteel/white,/area/space)
+"td" = (/obj/structure/chair/office/light{dir = 8},/obj/effect/turf_decal/tile/yellow{dir = 8},/obj/effect/turf_decal/tile/yellow{dir = 4},/obj/effect/turf_decal/tile/yellow{dir = 1},/obj/effect/turf_decal/tile/yellow,/turf/open/floor/plasteel/white,/area/space)
+"te" = (/obj/effect/turf_decal/tile/yellow{dir = 1},/obj/effect/turf_decal/tile/yellow{dir = 8},/turf/open/floor/plasteel/white,/area/space)
+"tf" = (/obj/effect/turf_decal/tile/yellow{dir = 4},/obj/effect/turf_decal/tile/yellow,/obj/machinery/shower{dir = 8; name = "emergency shower"},/turf/open/floor/plasteel/white,/area/space)
+"tg" = (/obj/machinery/chem_master,/obj/effect/turf_decal/tile/yellow{dir = 8},/obj/effect/turf_decal/tile/yellow{dir = 1},/obj/effect/turf_decal/tile/yellow,/turf/open/floor/plasteel/white,/area/space)
+"th" = (/obj/effect/turf_decal/tile/blue{dir = 1},/obj/effect/turf_decal/tile/blue{dir = 1},/obj/effect/turf_decal/tile/blue{dir = 4},/obj/structure/table,/obj/item/reagent_containers/glass/bottle/epinephrine{pixel_x = 2; pixel_y = -2},/obj/item/reagent_containers/syringe,/obj/item/reagent_containers/dropper{pixel_y = 2},/obj/item/reagent_containers/glass/beaker{pixel_x = 8; pixel_y = -2},/obj/effect/turf_decal/tile/yellow,/obj/machinery/light{dir = 4; light_color = "#e8eaff"},/turf/open/floor/plasteel/white,/area/space)
+"ti" = (/obj/machinery/chem_dispenser,/obj/effect/turf_decal/tile/yellow,/obj/effect/turf_decal/tile/yellow{dir = 8},/obj/effect/turf_decal/tile/yellow{dir = 1},/obj/effect/turf_decal/tile/yellow{dir = 4},/obj/machinery/button{pixel_x = -26; pixel_y = 6},/turf/open/floor/plasteel/white,/area/space)
+"tj" = (/obj/machinery/door/airlock/public/glass,/turf/open/floor/plating,/area/space)
+"tk" = (/obj/effect/turf_decal/tile/yellow{dir = 4},/obj/effect/turf_decal/tile/yellow,/obj/effect/turf_decal/tile/yellow{dir = 8},/obj/machinery/firealarm{dir = 1; pixel_y = -24},/obj/machinery/button{pixel_x = -6; pixel_y = -36},/obj/machinery/button{pixel_x = 6; pixel_y = -36},/turf/open/floor/plasteel/white,/area/space)
+"tl" = (/obj/machinery/door/firedoor,/obj/effect/turf_decal/delivery,/turf/open/floor/plasteel/dark,/area/space)
+"tm" = (/obj/effect/turf_decal/tile/purple{dir = 1},/obj/effect/turf_decal/stripes/corner{dir = 4},/turf/open/floor/plasteel/white,/area/space)
+"tn" = (/obj/effect/turf_decal/tile/blue{dir = 4},/obj/effect/turf_decal/tile/blue{dir = 1},/obj/effect/turf_decal/tile/blue{dir = 4},/turf/open/floor/plasteel/white,/area/space)
+"to" = (/obj/machinery/disposal/bin,/obj/effect/turf_decal/bot,/turf/open/floor/plasteel/dark,/area/space)
+"tp" = (/obj/structure/table/glass,/obj/item/book/manual/wiki/chemistry{pixel_x = -2; pixel_y = 2},/obj/item/book/manual/wiki/grenades,/obj/item/stack/cable_coil,/obj/item/stack/cable_coil,/obj/item/clothing/glasses/science,/obj/item/clothing/glasses/science,/obj/effect/turf_decal/tile/neutral,/obj/effect/turf_decal/tile/neutral{dir = 4},/obj/machinery/airalarm{dir = 4; pixel_x = -22},/obj/machinery/light{dir = 8; light_color = "#e8eaff"},/turf/open/floor/plasteel/dark,/area/space)
+"tq" = (/obj/structure/table/glass,/obj/item/stack/packageWrap,/obj/item/stack/packageWrap,/obj/item/stack/packageWrap,/obj/item/stack/packageWrap,/obj/item/hand_labeler,/obj/effect/turf_decal/tile/neutral,/obj/effect/turf_decal/tile/neutral{dir = 4},/obj/item/toy/figure/chemist{pixel_x = -6; pixel_y = 6},/turf/open/floor/plasteel/dark,/area/space)
+"tr" = (/obj/effect/turf_decal/tile/blue{dir = 4},/obj/effect/turf_decal/tile/blue,/obj/effect/turf_decal/tile/blue,/turf/open/floor/plasteel/white,/area/space)
+"ts" = (/obj/structure/closet/secure_closet/medical1,/obj/effect/turf_decal/tile/neutral{dir = 1},/obj/effect/turf_decal/tile/neutral{dir = 8},/obj/effect/turf_decal/tile/neutral,/obj/effect/turf_decal/bot,/turf/open/floor/plasteel/dark,/area/space)
+"tt" = (/obj/machinery/atmospherics/components/unary/cryo_cell,/obj/effect/turf_decal/tile/neutral{dir = 8},/obj/effect/turf_decal/tile/neutral,/turf/open/floor/plasteel/dark,/area/space)
+"tu" = (/obj/structure/closet/wardrobe/pjs,/obj/effect/turf_decal/tile/neutral{dir = 1},/obj/effect/turf_decal/tile/neutral{dir = 8},/obj/effect/turf_decal/bot,/turf/open/floor/plasteel/dark,/area/space)
+"tv" = (/obj/effect/turf_decal/tile/blue{dir = 8},/obj/effect/turf_decal/tile/blue{dir = 1},/obj/effect/turf_decal/tile/blue{dir = 8},/obj/effect/turf_decal/stripes/line{dir = 8},/turf/open/floor/plasteel/white,/area/space)
+"tw" = (/obj/effect/turf_decal/tile/blue{dir = 1},/obj/effect/turf_decal/tile/blue{dir = 8},/obj/effect/turf_decal/tile/blue{dir = 8},/turf/open/floor/plasteel/white,/area/space)
+"tx" = (/obj/machinery/atmospherics/pipe/simple/general/visible{dir = 6},/obj/effect/turf_decal/tile/blue{dir = 4},/obj/effect/turf_decal/tile/blue{dir = 1},/obj/effect/turf_decal/tile/blue{dir = 1},/turf/open/floor/plasteel/white,/area/space)
+"ty" = (/obj/machinery/atmospherics/pipe/manifold/general/visible,/obj/effect/turf_decal/tile/blue{dir = 4},/obj/effect/turf_decal/tile/blue{dir = 1},/obj/effect/turf_decal/tile/blue{dir = 1},/turf/open/floor/plasteel/white,/area/space)
+"tz" = (/obj/machinery/atmospherics/pipe/simple/general/visible{dir = 9},/obj/effect/turf_decal/tile/blue{dir = 4},/obj/effect/turf_decal/tile/blue{dir = 1},/obj/effect/turf_decal/tile/blue{dir = 1},/turf/open/floor/plasteel/white,/area/space)
+"tA" = (/obj/effect/turf_decal/tile/purple{dir = 4},/obj/effect/turf_decal/stripes/corner{dir = 8},/turf/open/floor/plasteel/white,/area/space)
+"tB" = (/obj/effect/turf_decal/tile/blue{dir = 8},/obj/effect/turf_decal/tile/blue{dir = 1},/obj/effect/turf_decal/tile/blue{dir = 1},/obj/effect/turf_decal/stripes/line{dir = 8},/turf/open/floor/plasteel/white,/area/space)
+"tC" = (/obj/effect/turf_decal/tile/blue,/obj/effect/turf_decal/tile/blue{dir = 4},/obj/effect/turf_decal/tile/blue{dir = 4},/turf/open/floor/plasteel/white,/area/space)
+"tD" = (/obj/structure/chair{dir = 1},/obj/effect/turf_decal/tile/blue{dir = 8},/obj/machinery/vending/wallmed{pixel_y = -32},/obj/effect/turf_decal/stripes/corner{dir = 1},/turf/open/floor/plasteel/white,/area/space)
+"tE" = (/obj/effect/turf_decal/tile/blue,/obj/effect/turf_decal/stripes/corner,/turf/open/floor/plasteel/white,/area/space)
+"tF" = (/obj/machinery/atmospherics/pipe/manifold/general/visible{dir = 8},/obj/effect/turf_decal/tile/blue,/obj/effect/turf_decal/tile/blue{dir = 8},/obj/effect/turf_decal/stripes/line,/obj/effect/turf_decal/tile/blue{dir = 8},/turf/open/floor/plasteel/white,/area/space)
+"tG" = (/obj/machinery/atmospherics/pipe/manifold/general/visible{dir = 1},/obj/effect/turf_decal/tile/blue,/obj/effect/turf_decal/tile/blue{dir = 8},/obj/effect/turf_decal/stripes/line,/obj/effect/turf_decal/tile/blue{dir = 8},/turf/open/floor/plasteel/white,/area/space)
+"tH" = (/obj/machinery/atmospherics/pipe/simple/general/visible{dir = 10},/obj/effect/turf_decal/tile/blue,/obj/effect/turf_decal/tile/blue{dir = 8},/obj/effect/turf_decal/stripes/line,/obj/effect/turf_decal/tile/blue{dir = 8},/turf/open/floor/plasteel/white,/area/space)
+"tI" = (/obj/structure/window/reinforced{dir = 1; layer = 2.9},/obj/machinery/shower{dir = 4},/obj/effect/turf_decal/tile/blue{dir = 4},/obj/effect/turf_decal/tile/blue,/obj/effect/turf_decal/bot,/turf/open/floor/plasteel/dark,/area/space)
+"tJ" = (/obj/effect/turf_decal/tile/blue{dir = 8},/obj/effect/turf_decal/tile/blue,/obj/effect/turf_decal/tile/blue{dir = 1},/obj/effect/turf_decal/tile/blue,/obj/effect/turf_decal/tile/blue{dir = 1},/obj/effect/turf_decal/stripes/line{dir = 8},/turf/open/floor/plasteel/white,/area/space)
+"tK" = (/obj/effect/turf_decal/stripes/white/line{dir = 4},/obj/machinery/firealarm{pixel_y = 24},/turf/open/floor/plasteel/dark,/area/space)
+"tL" = (/obj/effect/turf_decal/tile/blue{dir = 4},/obj/effect/turf_decal/tile/blue{dir = 1},/obj/effect/turf_decal/tile/blue{dir = 8},/obj/structure/table/glass,/obj/effect/turf_decal/tile/blue{dir = 4},/obj/effect/turf_decal/tile/blue{dir = 8},/obj/item/stack/medical/gauze,/obj/item/stack/medical/gauze,/obj/item/reagent_containers/hypospray/medipen,/obj/effect/turf_decal/stripes/corner{dir = 1},/turf/open/floor/plasteel/white,/area/space)
+"tM" = (/obj/structure/bodycontainer/morgue{dir = 2},/obj/effect/turf_decal/bot_white,/turf/open/floor/plasteel/dark,/area/space)
+"tN" = (/obj/effect/turf_decal/stripes/white/line{dir = 8},/obj/effect/turf_decal/stripes/white/line{dir = 4},/turf/open/floor/plasteel/dark,/area/space)
+"tO" = (/obj/structure/table/reinforced,/obj/effect/turf_decal/tile/blue{dir = 1},/obj/effect/turf_decal/tile/blue{dir = 1},/obj/item/crowbar,/obj/item/wrench/medical,/obj/item/screwdriver{pixel_y = 6},/obj/item/clothing/neck/stethoscope,/obj/effect/turf_decal/tile/blue{dir = 8},/turf/open/floor/plasteel/white,/area/space)
+"tP" = (/obj/machinery/atmospherics/components/unary/portables_connector/visible{dir = 1; name = "Connector Port (Air Supply)"},/obj/effect/turf_decal/tile/neutral{dir = 4},/obj/effect/turf_decal/tile/neutral{dir = 1},/obj/effect/turf_decal/bot,/obj/machinery/portable_atmospherics/canister/oxygen,/turf/open/floor/plasteel/dark,/area/space)
+"tQ" = (/obj/machinery/shower{dir = 4},/obj/effect/turf_decal/tile/blue,/obj/effect/turf_decal/tile/blue{dir = 4},/obj/effect/turf_decal/bot,/turf/open/floor/plasteel/dark,/area/space)
+"tR" = (/obj/structure/bodycontainer/morgue{dir = 8},/obj/effect/turf_decal/bot_white,/turf/open/floor/plasteel/dark,/area/space)
+"tS" = (/obj/effect/turf_decal/tile/blue{dir = 1},/obj/effect/turf_decal/tile/blue{dir = 8},/turf/open/floor/plasteel/white,/area/space)
+"tT" = (/obj/machinery/computer/med_data{dir = 1},/obj/effect/turf_decal/tile/neutral{dir = 8},/obj/effect/turf_decal/tile/neutral,/obj/effect/turf_decal/bot,/turf/open/floor/plasteel/dark,/area/space)
+"tU" = (/obj/effect/turf_decal/tile/blue{dir = 4},/obj/effect/turf_decal/tile/blue,/obj/effect/turf_decal/tile/blue{dir = 4},/obj/effect/turf_decal/tile/blue,/obj/effect/turf_decal/stripes/line{dir = 1},/turf/open/floor/plasteel/white,/area/space)
+"tV" = (/turf/open/floor/plasteel/cafeteria,/area/space)
+"tW" = (/obj/effect/turf_decal/tile/blue,/obj/effect/turf_decal/tile/blue{dir = 4},/obj/effect/turf_decal/tile/blue{dir = 8},/obj/effect/turf_decal/tile/blue{dir = 1},/obj/effect/turf_decal/tile/blue{dir = 4},/obj/machinery/light{dir = 1},/obj/machinery/sleeper{dir = 8},/turf/open/floor/plasteel/white,/area/space)
+"tX" = (/obj/effect/turf_decal/stripes/white/line{dir = 1},/turf/open/floor/plasteel/dark,/area/space)
+"tY" = (/obj/effect/turf_decal/tile/blue{dir = 4},/obj/effect/turf_decal/tile/blue,/obj/effect/turf_decal/tile/blue{dir = 4},/turf/open/floor/plasteel/white,/area/space)
+"tZ" = (/obj/structure/bodycontainer/morgue,/obj/effect/turf_decal/bot_white,/turf/open/floor/plasteel/dark,/area/space)
+"ua" = (/obj/effect/turf_decal/tile/blue{dir = 4},/obj/effect/turf_decal/tile/blue,/turf/open/floor/plasteel/white,/area/space)
+"ub" = (/obj/effect/turf_decal/tile/green{dir = 8},/obj/effect/turf_decal/tile/green,/obj/effect/turf_decal/stripes/corner{dir = 4},/turf/open/floor/plasteel/white,/area/space)
+"uc" = (/obj/effect/turf_decal/stripes/white/line{dir = 1},/obj/effect/turf_decal/tile/neutral,/obj/effect/turf_decal/tile/neutral{dir = 8},/turf/open/floor/plasteel/dark,/area/space)
+"ud" = (/obj/effect/turf_decal/tile/blue{dir = 4},/obj/effect/turf_decal/tile/blue,/obj/machinery/firealarm{dir = 8; pixel_x = 28; pixel_y = 0},/turf/open/floor/plasteel/white,/area/space)
+"ue" = (/obj/machinery/door/poddoor/shutters,/obj/effect/turf_decal/stripes/line{dir = 8},/turf/open/floor/plating,/area/space)
+"uf" = (/turf/open/floor/plasteel/dark,/area/space)
+"ug" = (/obj/effect/turf_decal/stripes/white/line{dir = 8},/obj/effect/turf_decal/tile/neutral{dir = 4},/obj/effect/turf_decal/tile/neutral,/turf/open/floor/plasteel/dark,/area/space)
+"uh" = (/obj/effect/turf_decal/tile/neutral{dir = 4},/obj/effect/turf_decal/tile/neutral{dir = 8},/obj/effect/turf_decal/tile/neutral,/obj/effect/turf_decal/tile/neutral{dir = 1},/turf/open/floor/plasteel/dark,/area/space)
+"ui" = (/obj/structure/sink{dir = 8; pixel_x = -12; pixel_y = 2},/obj/effect/turf_decal/tile/neutral{dir = 1},/obj/effect/turf_decal/tile/neutral{dir = 8},/turf/open/floor/plasteel/dark,/area/space)
+"uj" = (/obj/effect/turf_decal/tile/green{dir = 8},/obj/effect/turf_decal/tile/green{dir = 4},/obj/effect/turf_decal/tile/blue{dir = 1},/obj/effect/turf_decal/tile/blue,/obj/item/twohanded/required/kirbyplants{icon_state = "plant-08"},/turf/open/floor/plasteel/freezer,/area/space)
+"uk" = (/obj/structure/chair/office{dir = 4},/obj/effect/turf_decal/tile/neutral{dir = 4},/obj/effect/turf_decal/tile/neutral{dir = 8},/obj/effect/turf_decal/tile/neutral,/obj/effect/turf_decal/tile/neutral{dir = 1},/turf/open/floor/plasteel/dark,/area/space)
+"ul" = (/obj/machinery/vending/cigarette,/obj/machinery/light/small{dir = 1},/turf/open/floor/plasteel/cafeteria,/area/space)
+"um" = (/obj/effect/turf_decal/tile/neutral{dir = 1},/obj/effect/turf_decal/tile/neutral{dir = 4},/obj/structure/table/glass,/obj/item/storage/firstaid/regular{pixel_x = 4; pixel_y = 4},/obj/item/storage/firstaid/o2,/turf/open/floor/plasteel/dark,/area/space)
+"un" = (/obj/effect/turf_decal/stripes/line,/turf/open/floor/plasteel/white,/area/space)
+"uo" = (/obj/effect/turf_decal/tile/blue{dir = 4},/obj/effect/turf_decal/tile/blue,/obj/effect/turf_decal/stripes/line,/turf/open/floor/plasteel/white,/area/space)
+"up" = (/obj/structure/sign/departments/medbay/alt,/turf/closed/wall,/area/space)
+"uq" = (/obj/effect/turf_decal/tile/blue{dir = 8},/obj/effect/turf_decal/tile/blue{dir = 1},/obj/effect/turf_decal/tile/blue{dir = 4},/obj/effect/turf_decal/tile/blue{dir = 8},/obj/effect/turf_decal/tile/blue{dir = 4},/obj/machinery/firealarm{dir = 4; pixel_x = -26},/turf/open/floor/plasteel/white,/area/space)
+"ur" = (/obj/effect/turf_decal/tile/blue{dir = 1},/obj/effect/turf_decal/tile/blue{dir = 4},/obj/effect/turf_decal/tile/blue{dir = 8},/obj/effect/turf_decal/tile/blue{dir = 8},/turf/open/floor/plasteel/white,/area/space)
+"us" = (/obj/effect/turf_decal/tile/blue{dir = 1},/obj/effect/turf_decal/tile/blue{dir = 4},/turf/open/floor/plasteel/white,/area/space)
+"ut" = (/obj/effect/turf_decal/stripes/white/line{dir = 8},/obj/effect/turf_decal/tile/neutral{dir = 4},/turf/open/floor/plasteel/dark,/area/space)
+"uu" = (/obj/effect/turf_decal/tile/neutral{dir = 4},/obj/effect/turf_decal/tile/neutral{dir = 1},/turf/open/floor/plasteel/dark,/area/space)
+"uv" = (/obj/effect/turf_decal/tile/blue{dir = 1},/obj/effect/turf_decal/tile/blue{dir = 4},/obj/effect/turf_decal/tile/blue{dir = 4},/obj/effect/turf_decal/tile/blue{dir = 1},/turf/open/floor/plasteel/white,/area/space)
+"uw" = (/obj/effect/turf_decal/tile/blue{dir = 1},/obj/effect/turf_decal/tile/blue{dir = 4},/obj/effect/turf_decal/tile/blue{dir = 1},/turf/open/floor/plasteel/white,/area/space)
+"ux" = (/obj/effect/turf_decal/tile/blue{dir = 1},/obj/effect/turf_decal/tile/blue{dir = 4},/obj/machinery/firealarm{pixel_y = 24},/turf/open/floor/plasteel/white,/area/space)
+"uy" = (/obj/structure/closet/secure_closet/security/med,/obj/effect/turf_decal/delivery,/obj/item/screwdriver,/turf/open/floor/plasteel/dark,/area/space)
+"uz" = (/obj/effect/turf_decal/tile/blue{dir = 8},/obj/effect/turf_decal/tile/blue{dir = 1},/obj/machinery/light{dir = 8; light_color = "#e8eaff"},/turf/open/floor/plasteel/white,/area/space)
+"uA" = (/obj/structure/filingcabinet,/obj/effect/turf_decal/delivery,/turf/open/floor/plasteel/dark,/area/space)
+"uB" = (/obj/machinery/door/airlock/public/glass{name = "Medbay"},/obj/machinery/door/firedoor,/obj/effect/turf_decal/delivery,/turf/open/floor/plasteel/dark,/area/space)
+"uC" = (/obj/effect/turf_decal/tile/blue{dir = 8},/obj/effect/turf_decal/tile/blue{dir = 1},/obj/effect/turf_decal/tile/blue{dir = 8},/obj/effect/turf_decal/tile/blue{dir = 1},/turf/open/floor/plasteel/white,/area/space)
+"uD" = (/obj/effect/turf_decal/tile/red{dir = 4},/obj/effect/turf_decal/tile/red{dir = 1},/obj/effect/turf_decal/tile/neutral{dir = 4},/obj/effect/turf_decal/stripes/line{dir = 1},/turf/open/floor/plasteel/dark,/area/space)
+"uE" = (/obj/effect/turf_decal/tile/blue{dir = 8},/obj/effect/turf_decal/tile/blue,/obj/effect/turf_decal/tile/blue{dir = 1},/obj/effect/turf_decal/tile/blue{dir = 8},/obj/effect/turf_decal/tile/blue{dir = 1},/obj/effect/turf_decal/tile/blue,/turf/open/floor/plasteel/white,/area/space)
+"uF" = (/obj/effect/turf_decal/tile/blue{dir = 8},/obj/effect/turf_decal/tile/blue,/obj/effect/turf_decal/tile/blue,/obj/effect/turf_decal/tile/blue{dir = 8},/turf/open/floor/plasteel/white,/area/space)
+"uG" = (/obj/effect/turf_decal/tile/blue{dir = 8},/obj/effect/turf_decal/tile/blue,/obj/effect/turf_decal/tile/blue{dir = 8},/turf/open/floor/plasteel/white,/area/space)
+"uH" = (/obj/effect/turf_decal/tile/blue{dir = 8},/obj/effect/turf_decal/tile/blue,/obj/machinery/firealarm{dir = 1; pixel_y = -24},/turf/open/floor/plasteel/white,/area/space)
+"uI" = (/obj/effect/turf_decal/tile/blue{dir = 8},/obj/effect/turf_decal/tile/blue,/turf/open/floor/plasteel/white,/area/space)
+"uJ" = (/obj/effect/turf_decal/tile/blue{dir = 8},/obj/effect/turf_decal/tile/blue,/obj/effect/turf_decal/tile/blue,/turf/open/floor/plasteel/white,/area/space)
+"uK" = (/obj/effect/turf_decal/tile/blue{dir = 8},/obj/effect/turf_decal/tile/blue,/obj/effect/turf_decal/tile/blue{dir = 8},/obj/effect/turf_decal/tile/blue,/turf/open/floor/plasteel/white,/area/space)
+"uL" = (/obj/effect/turf_decal/stripes/line{dir = 4},/obj/effect/turf_decal/tile/neutral{dir = 1},/turf/open/floor/plasteel/dark,/area/space)
+"uM" = (/obj/structure/table,/obj/item/paper_bin{pixel_x = -5; pixel_y = 3; step_x = 0; step_y = 0},/obj/item/pen{pixel_x = -5; pixel_y = 3},/obj/item/radio{pixel_x = 7; pixel_y = 5; step_x = 0; step_y = 0},/obj/item/folder/red,/obj/effect/turf_decal/tile/red{dir = 1},/obj/effect/turf_decal/tile/red{dir = 8},/obj/effect/turf_decal/tile/red{dir = 4},/obj/effect/turf_decal/tile/red{dir = 8},/obj/effect/turf_decal/tile/red{dir = 4},/turf/open/floor/plasteel/freezer,/area/space)
+"uN" = (/obj/effect/turf_decal/tile/red{dir = 1},/obj/effect/turf_decal/tile/red{dir = 4},/obj/effect/turf_decal/tile/red{dir = 4},/turf/open/floor/plasteel/freezer,/area/space)
+"uO" = (/obj/effect/turf_decal/tile/red{dir = 4},/obj/effect/turf_decal/tile/red,/obj/effect/turf_decal/tile/red{dir = 1},/obj/effect/turf_decal/tile/red{dir = 4},/turf/open/floor/plasteel/freezer,/area/space)
+"uP" = (/obj/effect/turf_decal/tile/blue{dir = 8},/obj/effect/turf_decal/tile/blue{dir = 1},/obj/effect/turf_decal/tile/blue,/obj/effect/turf_decal/tile/blue{dir = 1},/obj/effect/turf_decal/tile/blue,/obj/effect/turf_decal/stripes/line,/turf/open/floor/plasteel/white,/area/space)
+"uQ" = (/obj/effect/turf_decal/tile/blue{dir = 4},/obj/effect/turf_decal/stripes/corner{dir = 8},/turf/open/floor/plasteel/white,/area/space)
+"uR" = (/obj/structure/chair{dir = 1},/obj/effect/turf_decal/tile/blue{dir = 4},/obj/machinery/firealarm{dir = 1; pixel_y = -24},/turf/open/floor/plasteel/white,/area/space)
+"uS" = (/obj/effect/turf_decal/tile/blue{dir = 8},/obj/effect/turf_decal/tile/blue{dir = 1},/turf/open/floor/plasteel/white,/area/space)
+"uT" = (/obj/structure/chair/office,/obj/effect/turf_decal/tile/red{dir = 1},/obj/effect/turf_decal/tile/red{dir = 8},/obj/effect/turf_decal/tile/red{dir = 8},/turf/open/floor/plasteel/freezer,/area/space)
+"uU" = (/turf/open/floor/plasteel/freezer,/area/space)
+"uV" = (/obj/effect/turf_decal/tile/red{dir = 4},/obj/effect/turf_decal/tile/red,/obj/effect/turf_decal/tile/red{dir = 4},/turf/open/floor/plasteel/freezer,/area/space)
+"uW" = (/obj/structure/bed/roller,/obj/effect/turf_decal/tile/blue{dir = 4},/obj/effect/turf_decal/tile/blue{dir = 1},/obj/effect/turf_decal/tile/blue{dir = 4},/obj/machinery/iv_drip,/turf/open/floor/plasteel/white,/area/space)
+"uX" = (/obj/structure/table/glass,/obj/item/reagent_containers/glass/beaker/cryoxadone{pixel_x = 2; pixel_y = -2},/obj/item/reagent_containers/glass/beaker/cryoxadone{pixel_x = 2; pixel_y = 6},/obj/item/reagent_containers/glass/beaker/cryoxadone{pixel_x = -4; pixel_y = -2},/obj/item/reagent_containers/glass/beaker/cryoxadone{pixel_x = -4; pixel_y = 6},/obj/item/reagent_containers/syringe{pixel_y = -2},/obj/item/reagent_containers/dropper,/obj/item/reagent_containers/pill/mannitol{pixel_x = 2; pixel_y = 6},/obj/item/reagent_containers/pill/mutadone{pixel_x = 2},/obj/effect/turf_decal/tile/blue{dir = 8},/obj/effect/turf_decal/tile/blue{dir = 8},/obj/effect/turf_decal/tile/blue{dir = 1},/turf/open/floor/plasteel/white,/area/space)
+"uY" = (/obj/machinery/computer/secure_data{dir = 1},/obj/effect/turf_decal/tile/red,/obj/effect/turf_decal/tile/red{dir = 1},/obj/effect/turf_decal/tile/red{dir = 8},/obj/item/radio/intercom{pixel_x = -30; pixel_y = -30},/obj/effect/turf_decal/tile/red{dir = 8},/turf/open/floor/plasteel/freezer,/area/space)
+"uZ" = (/obj/structure/table,/obj/machinery/computer/med_data/laptop,/obj/effect/turf_decal/tile/red,/obj/effect/turf_decal/tile/red{dir = 8},/obj/effect/turf_decal/tile/red{dir = 8},/turf/open/floor/plasteel/freezer,/area/space)
+"va" = (/obj/effect/turf_decal/tile/red,/obj/effect/turf_decal/tile/red{dir = 8},/obj/effect/turf_decal/tile/red{dir = 4},/obj/effect/turf_decal/tile/red{dir = 8},/obj/effect/turf_decal/tile/red{dir = 4},/obj/structure/reagent_dispensers/peppertank{pixel_x = 32; pixel_y = -32},/turf/open/floor/plasteel/freezer,/area/space)
+"vb" = (/obj/machinery/door/firedoor,/obj/effect/turf_decal/bot,/turf/open/floor/plasteel/dark,/area/space)
+"vc" = (/obj/effect/turf_decal/tile/blue{dir = 8},/obj/effect/turf_decal/tile/blue{dir = 1},/obj/effect/turf_decal/tile/blue{dir = 1},/turf/open/floor/plasteel/white,/area/space)
+"vd" = (/obj/structure/bed/roller,/obj/effect/turf_decal/tile/blue,/obj/effect/turf_decal/tile/blue{dir = 8},/obj/effect/turf_decal/tile/blue,/obj/machinery/firealarm{dir = 1; pixel_y = -24},/obj/machinery/iv_drip,/turf/open/floor/plasteel/white,/area/space)
+"ve" = (/obj/machinery/atmospherics/components/unary/thermomachine/freezer{dir = 1},/obj/effect/turf_decal/tile/neutral{dir = 8},/obj/effect/turf_decal/tile/neutral{dir = 1},/obj/effect/turf_decal/tile/neutral{dir = 4},/obj/effect/turf_decal/box,/turf/open/floor/plasteel/dark,/area/space)
+"vf" = (/obj/effect/turf_decal/tile/blue{dir = 4},/obj/effect/turf_decal/tile/blue,/obj/effect/turf_decal/tile/blue,/obj/effect/turf_decal/stripes/line{dir = 4},/turf/open/floor/plasteel/white,/area/space)
+"vg" = (/obj/effect/turf_decal/tile/blue{dir = 4},/obj/effect/turf_decal/tile/blue,/obj/machinery/light{dir = 4},/turf/open/floor/plasteel/white,/area/space)
+"vh" = (/obj/effect/turf_decal/tile/neutral{dir = 8},/obj/effect/turf_decal/tile/neutral{dir = 1},/obj/effect/turf_decal/tile/neutral,/obj/effect/turf_decal/stripes/line{dir = 10},/turf/open/floor/plasteel/dark,/area/space)
+"vi" = (/obj/effect/turf_decal/bot,/obj/machinery/disposal/bin,/obj/machinery/firealarm{dir = 4; pixel_x = -26},/obj/machinery/light{dir = 8; light_color = "#e8eaff"},/turf/open/floor/plasteel/dark,/area/space)
+"vj" = (/obj/machinery/door/airlock/medical,/obj/effect/turf_decal/tile/neutral,/obj/effect/turf_decal/tile/neutral{dir = 8},/obj/effect/turf_decal/tile/neutral{dir = 1},/obj/effect/turf_decal/tile/neutral{dir = 4},/turf/open/floor/plasteel/dark,/area/space)
+"vk" = (/obj/effect/turf_decal/tile/yellow,/obj/effect/turf_decal/tile/yellow{dir = 8},/obj/structure/noticeboard{dir = 1; pixel_y = -27},/obj/structure/table/glass,/obj/machinery/reagentgrinder{desc = "Used to grind things up into raw materials and liquids."; pixel_y = 5},/obj/machinery/light,/turf/open/floor/plasteel/white,/area/space)
+"vl" = (/obj/machinery/holopad,/obj/effect/turf_decal/bot,/turf/open/floor/plasteel/dark,/area/space)
+"vm" = (/obj/machinery/door/poddoor/shutters,/obj/effect/turf_decal/stripes/line{dir = 4},/turf/open/floor/plating,/area/space)
+"vn" = (/obj/structure/bedsheetbin,/obj/structure/table,/obj/effect/turf_decal/tile/blue{dir = 4},/obj/effect/turf_decal/tile/blue,/obj/effect/turf_decal/tile/blue{dir = 1},/turf/open/floor/plasteel/white,/area/space)
+"vo" = (/obj/structure/bed/roller,/obj/machinery/iv_drip,/obj/effect/turf_decal/tile/blue{dir = 8},/obj/effect/turf_decal/tile/blue{dir = 1},/turf/open/floor/plasteel/white,/area/space)
+"vp" = (/obj/effect/turf_decal/tile/blue{dir = 4},/obj/effect/turf_decal/tile/blue{dir = 1},/obj/machinery/firealarm{pixel_y = 24},/obj/effect/turf_decal/tile/blue{dir = 4},/obj/effect/turf_decal/stripes/corner{dir = 4},/turf/open/floor/plasteel/white,/area/space)
+"vq" = (/obj/effect/turf_decal/tile/green{dir = 8},/obj/effect/turf_decal/tile/green,/obj/structure/sink{dir = 4; pixel_x = 11},/obj/effect/turf_decal/stripes/corner{dir = 8},/turf/open/floor/plasteel/white,/area/space)
+"vr" = (/obj/effect/turf_decal/tile/blue{dir = 4},/obj/effect/turf_decal/tile/blue{dir = 1},/obj/effect/turf_decal/tile/blue,/obj/effect/turf_decal/tile/blue{dir = 1},/obj/effect/turf_decal/tile/blue,/turf/open/floor/plasteel/white,/area/space)
+"vs" = (/obj/effect/turf_decal/tile/blue{dir = 4},/obj/effect/turf_decal/tile/blue,/obj/effect/turf_decal/tile/blue{dir = 4},/obj/effect/turf_decal/tile/blue,/turf/open/floor/plasteel/white,/area/space)
+"vt" = (/obj/effect/turf_decal/tile/blue{dir = 8},/obj/effect/turf_decal/tile/blue{dir = 1},/obj/effect/turf_decal/tile/blue,/obj/machinery/light{dir = 8; light_color = "#e8eaff"},/obj/effect/turf_decal/tile/blue,/turf/open/floor/plasteel/white,/area/space)
+"vu" = (/obj/effect/turf_decal/tile/blue{dir = 1},/obj/effect/turf_decal/tile/blue{dir = 4},/obj/effect/turf_decal/tile/blue,/obj/machinery/light{dir = 4; light_color = "#e8eaff"},/turf/open/floor/plasteel/white,/area/space)
+"vv" = (/obj/structure/table,/obj/machinery/recharger,/obj/effect/turf_decal/bot,/obj/machinery/light{dir = 1},/turf/open/floor/plasteel/dark,/area/space)
+"vw" = (/obj/effect/turf_decal/tile/blue,/obj/effect/turf_decal/tile/blue{dir = 8},/obj/effect/turf_decal/tile/blue,/obj/effect/turf_decal/tile/blue{dir = 8},/turf/open/floor/plasteel/white,/area/space)
+"vx" = (/obj/effect/turf_decal/tile/blue,/obj/effect/turf_decal/tile/blue{dir = 4},/obj/effect/turf_decal/tile/blue{dir = 1},/obj/effect/turf_decal/tile/blue,/obj/effect/turf_decal/tile/blue{dir = 8},/obj/machinery/sleeper{dir = 8},/turf/open/floor/plasteel/white,/area/space)
+"vy" = (/obj/effect/turf_decal/tile/neutral{dir = 4},/obj/effect/turf_decal/tile/neutral{dir = 1},/obj/effect/turf_decal/tile/neutral{dir = 8},/obj/structure/closet/secure_closet/medical2,/obj/effect/turf_decal/bot,/turf/open/floor/plasteel/dark,/area/space)
+"vz" = (/obj/structure/bed,/obj/item/bedsheet/medical,/obj/effect/turf_decal/tile/blue{dir = 4},/obj/effect/turf_decal/tile/blue,/turf/open/floor/plasteel/white,/area/space)
+"vA" = (/obj/effect/turf_decal/tile/blue,/obj/effect/turf_decal/tile/blue{dir = 8},/obj/effect/turf_decal/stripes/line{dir = 4},/obj/effect/turf_decal/tile/blue{dir = 8},/turf/open/floor/plasteel/white,/area/space)
+"vB" = (/obj/effect/turf_decal/tile/blue{dir = 8},/obj/structure/sign/departments/medbay/alt{pixel_x = -32; pixel_y = -32},/turf/open/floor/plasteel/white,/area/space)
+"vC" = (/obj/effect/turf_decal/tile/neutral{dir = 4},/obj/effect/turf_decal/tile/neutral{dir = 1},/obj/effect/turf_decal/tile/neutral,/obj/effect/turf_decal/bot,/obj/machinery/smartfridge/organ/preloaded,/turf/open/floor/plasteel/dark,/area/space)
+"vD" = (/obj/effect/turf_decal/tile/blue{dir = 4},/obj/effect/turf_decal/tile/blue,/obj/effect/turf_decal/stripes/corner,/obj/machinery/light{dir = 4; light_color = "#e8eaff"},/turf/open/floor/plasteel/white,/area/space)
+"vE" = (/obj/effect/turf_decal/stripes/line,/obj/effect/turf_decal/tile/blue{dir = 1},/obj/effect/turf_decal/tile/blue{dir = 4},/obj/effect/turf_decal/tile/blue{dir = 1},/obj/machinery/light{dir = 4},/turf/open/floor/plasteel/white,/area/space)
+"vF" = (/obj/effect/turf_decal/tile/green,/obj/effect/turf_decal/tile/green{dir = 8},/obj/effect/turf_decal/stripes/line,/turf/open/floor/plasteel/white,/area/space)
+"vG" = (/obj/structure/table/glass,/obj/item/paper_bin{pixel_x = -2; pixel_y = 4},/obj/item/pen{pixel_x = -2; pixel_y = 4},/obj/item/folder/blue,/obj/item/folder/blue,/obj/item/stamp/cmo,/obj/effect/turf_decal/tile/blue{dir = 8},/obj/effect/turf_decal/tile/blue{dir = 4},/obj/effect/turf_decal/tile/neutral{dir = 4},/obj/machinery/light{dir = 8; light_color = "#e8eaff"},/turf/open/floor/plasteel/cafeteria,/area/space)
+"vH" = (/obj/structure/closet/crate/freezer/surplus_limbs,/obj/effect/turf_decal/tile/blue{dir = 4},/obj/effect/turf_decal/tile/blue{dir = 1},/obj/effect/turf_decal/tile/blue{dir = 4},/turf/open/floor/plasteel/white,/area/space)
+"vI" = (/obj/structure/closet/secure_closet/medical3,/obj/item/screwdriver,/obj/item/clothing/neck/stethoscope,/obj/structure/window/reinforced{dir = 8},/obj/effect/turf_decal/tile/neutral{dir = 1},/obj/effect/turf_decal/tile/neutral{dir = 4},/obj/effect/turf_decal/bot,/turf/open/floor/plasteel/dark,/area/space)
+"vJ" = (/obj/structure/closet/secure_closet/medical3,/obj/item/screwdriver,/obj/item/clothing/neck/stethoscope,/obj/effect/turf_decal/tile/neutral{dir = 1},/obj/effect/turf_decal/tile/neutral{dir = 4},/obj/effect/turf_decal/bot,/turf/open/floor/plasteel/dark,/area/space)
+"vK" = (/obj/machinery/computer/crew{dir = 4},/obj/effect/turf_decal/bot,/obj/machinery/light{dir = 8; light_color = "#e8eaff"},/turf/open/floor/plasteel/dark,/area/space)
+"vL" = (/obj/structure/table/reinforced,/obj/effect/turf_decal/tile/neutral{dir = 1},/obj/effect/turf_decal/tile/neutral{dir = 8},/obj/effect/turf_decal/tile/neutral{dir = 8},/obj/item/book/manual/wiki/surgery,/obj/effect/turf_decal/tile/neutral{dir = 4},/obj/item/surgicaldrill,/obj/item/razor,/obj/item/clothing/mask/surgical,/obj/item/clothing/suit/apron/surgical,/obj/item/clothing/gloves/color/latex,/turf/open/floor/plasteel/dark,/area/space)
+"vM" = (/obj/structure/table/reinforced,/obj/effect/turf_decal/tile/neutral{dir = 8},/obj/effect/turf_decal/tile/neutral{dir = 8},/obj/item/retractor,/obj/item/hemostat,/obj/item/cautery,/obj/machinery/button{pixel_y = -28},/obj/effect/turf_decal/tile/neutral{dir = 4},/obj/effect/turf_decal/tile/neutral{dir = 1},/turf/open/floor/plasteel/dark,/area/space)
+"vN" = (/obj/effect/turf_decal/tile/blue{dir = 4},/obj/effect/turf_decal/tile/blue{dir = 1},/obj/effect/turf_decal/tile/blue{dir = 4},/obj/effect/turf_decal/tile/blue{dir = 1},/turf/open/floor/plasteel/white,/area/space)
+"vO" = (/obj/structure/table/glass,/obj/item/storage/belt/medical,/obj/item/storage/belt/medical{pixel_y = 4},/obj/item/reagent_containers/glass/beaker/large{pixel_y = 3},/obj/item/reagent_containers/glass/beaker{pixel_x = 8; pixel_y = 2},/obj/item/reagent_containers/glass/bottle/epinephrine,/obj/item/reagent_containers/dropper,/obj/item/reagent_containers/syringe,/obj/effect/turf_decal/tile/blue{dir = 4},/obj/effect/turf_decal/tile/blue{dir = 1},/obj/effect/turf_decal/tile/blue{dir = 1},/obj/effect/turf_decal/tile/blue,/obj/effect/turf_decal/stripes/corner,/turf/open/floor/plasteel/white,/area/space)
+"vP" = (/obj/structure/table/reinforced,/obj/effect/turf_decal/tile/neutral{dir = 8},/obj/effect/turf_decal/tile/neutral{dir = 4},/obj/effect/turf_decal/tile/neutral{dir = 8},/obj/item/circular_saw{pixel_y = 8},/obj/item/scalpel,/obj/item/surgical_drapes,/obj/item/reagent_containers/medspray/sterilizine,/obj/effect/turf_decal/tile/neutral{dir = 1},/turf/open/floor/plasteel/dark,/area/space)
+"vQ" = (/obj/item/clothing/suit/straight_jacket,/obj/item/clothing/mask/muzzle,/obj/item/clothing/ears/earmuffs,/obj/item/gun/syringe,/obj/item/storage/belt/medical,/obj/effect/turf_decal/tile/blue{dir = 4},/obj/effect/turf_decal/tile/blue,/obj/structure/table,/turf/open/floor/plasteel/white,/area/space)
+"vR" = (/obj/effect/turf_decal/tile/blue{dir = 8},/obj/machinery/light{dir = 8; light_color = "#e8eaff"},/turf/open/floor/plasteel/white,/area/space)
+"vS" = (/obj/effect/turf_decal/stripes/line{dir = 1},/obj/effect/turf_decal/tile/blue{dir = 1},/obj/effect/turf_decal/tile/blue{dir = 8},/obj/effect/turf_decal/tile/blue{dir = 8},/turf/open/floor/plasteel/white,/area/space)
+"vT" = (/obj/machinery/computer/crew{dir = 1},/obj/effect/turf_decal/tile/neutral{dir = 8},/obj/effect/turf_decal/tile/neutral,/obj/effect/turf_decal/bot,/obj/machinery/light,/obj/effect/turf_decal/stripes/corner{dir = 1},/turf/open/floor/plasteel/dark,/area/space)
+"vU" = (/obj/effect/turf_decal/tile/blue{dir = 8},/obj/effect/turf_decal/tile/blue{dir = 4},/obj/effect/turf_decal/tile/blue{dir = 1},/obj/effect/turf_decal/tile/blue,/obj/effect/turf_decal/tile/blue,/obj/effect/turf_decal/tile/blue{dir = 8},/turf/open/floor/plasteel/white,/area/space)
+"vV" = (/obj/effect/turf_decal/tile/blue{dir = 8},/obj/effect/turf_decal/tile/blue{dir = 4},/obj/effect/turf_decal/tile/blue{dir = 1},/obj/effect/turf_decal/tile/blue,/obj/effect/turf_decal/tile/blue{dir = 8},/turf/open/floor/plasteel/white,/area/space)
+"vW" = (/obj/structure/sink{dir = 8; pixel_x = -12},/obj/effect/turf_decal/tile/neutral{dir = 8},/obj/effect/turf_decal/tile/neutral{dir = 1},/turf/open/floor/plasteel/dark,/area/space)
+"vX" = (/obj/effect/turf_decal/tile/blue{dir = 4},/obj/effect/turf_decal/tile/blue{dir = 1},/obj/effect/turf_decal/stripes/line{dir = 1},/turf/open/floor/plasteel/white,/area/space)
+"vY" = (/obj/effect/turf_decal/tile/blue{dir = 1},/obj/effect/turf_decal/tile/blue{dir = 8},/obj/effect/turf_decal/tile/blue{dir = 8},/obj/effect/turf_decal/tile/blue{dir = 1},/turf/open/floor/plasteel/white,/area/space)
+"vZ" = (/obj/effect/turf_decal/tile/blue{dir = 1},/obj/effect/turf_decal/tile/blue{dir = 8},/obj/effect/turf_decal/tile/blue{dir = 4},/obj/effect/turf_decal/tile/blue,/obj/effect/turf_decal/tile/blue,/obj/effect/turf_decal/tile/blue{dir = 4},/obj/effect/turf_decal/tile/blue{dir = 1},/obj/effect/turf_decal/tile/blue{dir = 8},/turf/open/floor/plasteel/white,/area/space)
+"wa" = (/obj/effect/turf_decal/tile/blue{dir = 1},/obj/effect/turf_decal/tile/blue{dir = 8},/obj/effect/turf_decal/tile/blue,/obj/effect/turf_decal/tile/blue{dir = 4},/obj/effect/turf_decal/tile/blue{dir = 8},/obj/effect/turf_decal/tile/blue{dir = 1},/turf/open/floor/plasteel/white,/area/space)
+"wb" = (/obj/effect/turf_decal/tile/blue{dir = 8},/obj/effect/turf_decal/tile/blue,/obj/effect/turf_decal/stripes/line,/turf/open/floor/plasteel/white,/area/space)
+"wc" = (/obj/effect/turf_decal/tile/blue{dir = 1},/obj/effect/turf_decal/tile/blue{dir = 8},/obj/effect/turf_decal/tile/blue{dir = 1},/turf/open/floor/plasteel/white,/area/space)
+"wd" = (/obj/effect/turf_decal/tile/blue{dir = 1},/obj/effect/turf_decal/tile/blue{dir = 8},/obj/effect/turf_decal/tile/blue{dir = 4},/obj/effect/turf_decal/tile/blue,/obj/effect/turf_decal/tile/blue{dir = 4},/obj/effect/turf_decal/tile/blue,/obj/effect/turf_decal/tile/blue{dir = 1},/obj/effect/turf_decal/tile/blue{dir = 8},/obj/machinery/holopad,/obj/effect/turf_decal/bot,/turf/open/floor/plasteel/white,/area/space)
+"we" = (/obj/effect/turf_decal/stripes/line{dir = 8},/obj/effect/turf_decal/tile/blue{dir = 4},/obj/effect/turf_decal/tile/blue{dir = 1},/obj/machinery/bloodbankgen,/turf/open/floor/plasteel/white,/area/space)
+"wf" = (/obj/structure/closet/l3closet,/obj/structure/window/reinforced{dir = 8},/obj/effect/turf_decal/tile/neutral,/obj/effect/turf_decal/tile/neutral{dir = 8},/obj/effect/turf_decal/bot,/turf/open/floor/plasteel/dark,/area/space)
+"wg" = (/obj/effect/turf_decal/tile/neutral{dir = 1},/obj/effect/turf_decal/tile/neutral{dir = 4},/obj/machinery/light/small{dir = 1},/obj/structure/table/glass,/obj/item/reagent_containers/hypospray/medipen{pixel_y = -4},/obj/item/reagent_containers/hypospray/medipen,/turf/open/floor/plasteel/dark,/area/space)
+"wh" = (/obj/machinery/vending/medical,/obj/effect/turf_decal/tile/neutral,/obj/effect/turf_decal/tile/neutral{dir = 8},/obj/effect/turf_decal/bot,/turf/open/floor/plasteel/dark,/area/space)
+"wi" = (/obj/structure/table/glass,/obj/structure/window/reinforced{dir = 1},/obj/item/storage/box/bodybags,/obj/item/storage/box/beakers,/obj/item/storage/box/rxglasses,/obj/item/reagent_containers/spray/cleaner,/obj/item/clothing/glasses/hud/health,/obj/item/clothing/glasses/hud/health,/obj/item/clothing/glasses/hud/health,/obj/machinery/door/window/eastleft,/obj/effect/turf_decal/bot,/turf/open/floor/plasteel/dark,/area/space)
+"wj" = (/obj/effect/turf_decal/tile/blue{dir = 1},/obj/effect/turf_decal/tile/blue{dir = 8},/obj/effect/turf_decal/tile/blue{dir = 4},/obj/effect/turf_decal/tile/blue,/obj/effect/turf_decal/tile/blue{dir = 4},/obj/effect/turf_decal/tile/blue{dir = 1},/turf/open/floor/plasteel/white,/area/space)
+"wk" = (/obj/effect/turf_decal/tile/blue{dir = 1},/obj/effect/turf_decal/tile/blue{dir = 8},/obj/effect/turf_decal/tile/blue,/obj/effect/turf_decal/tile/blue{dir = 4},/obj/effect/turf_decal/tile/blue{dir = 1},/turf/open/floor/plasteel/white,/area/space)
+"wl" = (/obj/effect/turf_decal/tile/blue,/obj/effect/turf_decal/tile/blue{dir = 4},/obj/effect/turf_decal/stripes/corner,/turf/open/floor/plasteel/white,/area/space)
+"wm" = (/obj/structure/table/glass,/obj/structure/window/reinforced{dir = 4},/obj/item/storage/box/syringes,/obj/item/reagent_containers/glass/bottle/morphine{pixel_x = 3; pixel_y = 3},/obj/item/reagent_containers/glass/bottle/morphine{pixel_x = -3; pixel_y = -3},/obj/item/reagent_containers/glass/bottle/morphine,/obj/item/gun/syringe,/obj/effect/turf_decal/bot,/turf/open/floor/plasteel/dark,/area/space)
+"wn" = (/obj/effect/turf_decal/tile/blue,/obj/effect/turf_decal/tile/blue{dir = 4},/obj/effect/turf_decal/stripes/line{dir = 4},/obj/effect/turf_decal/tile/blue{dir = 8},/turf/open/floor/plasteel/white,/area/space)
+"wo" = (/obj/structure/table/glass,/obj/item/storage/firstaid/regular{pixel_x = 3; pixel_y = 3},/obj/item/storage/firstaid/fire,/obj/item/storage/firstaid/fire{pixel_x = -3; pixel_y = -3},/obj/structure/window/reinforced{dir = 1; layer = 2.9},/obj/effect/turf_decal/bot,/turf/open/floor/plasteel/dark,/area/space)
+"wp" = (/obj/structure/table/glass,/obj/structure/window/reinforced{dir = 4},/obj/item/storage/firstaid/regular{pixel_x = 3; pixel_y = 3},/obj/item/storage/firstaid/brute,/obj/item/storage/firstaid/brute{pixel_x = -3; pixel_y = -3},/obj/machinery/door/window/northright,/obj/effect/turf_decal/bot,/turf/open/floor/plasteel/dark,/area/space)
+"wq" = (/obj/effect/turf_decal/tile/blue{dir = 8},/obj/effect/turf_decal/tile/blue,/obj/machinery/light,/turf/open/floor/plasteel/white,/area/space)
+"wr" = (/obj/structure/table/glass,/obj/structure/window/reinforced{dir = 8; layer = 2.9},/obj/item/storage/firstaid/regular{pixel_x = 3; pixel_y = 3},/obj/item/storage/firstaid/toxin,/obj/item/storage/firstaid/toxin{pixel_x = -3; pixel_y = -3},/obj/machinery/door/window/northleft,/obj/effect/turf_decal/bot,/turf/open/floor/plasteel/dark,/area/space)
+"ws" = (/obj/effect/turf_decal/tile/blue{dir = 4},/obj/effect/turf_decal/tile/blue,/obj/effect/turf_decal/stripes/corner{dir = 4},/turf/open/floor/plasteel/white,/area/space)
+"wt" = (/obj/structure/closet/secure_closet/CMO,/obj/item/screwdriver,/obj/effect/turf_decal/tile/neutral{dir = 1},/obj/effect/turf_decal/tile/neutral{dir = 4},/obj/effect/turf_decal/tile/neutral{dir = 8},/obj/effect/turf_decal/tile/neutral,/obj/effect/turf_decal/delivery,/turf/open/floor/plasteel/dark,/area/space)
+"wu" = (/obj/machinery/suit_storage_unit/cmo,/obj/effect/turf_decal/tile/neutral{dir = 1},/obj/effect/turf_decal/tile/neutral{dir = 4},/obj/effect/turf_decal/tile/neutral{dir = 8},/obj/effect/turf_decal/tile/neutral,/obj/effect/turf_decal/delivery,/turf/open/floor/plasteel/dark,/area/space)
+"wv" = (/obj/machinery/vending/coffee,/turf/open/floor/plasteel/cafeteria,/area/space)
+"ww" = (/obj/machinery/disposal/bin,/obj/effect/turf_decal/tile/neutral{dir = 4},/obj/effect/turf_decal/tile/neutral{dir = 1},/obj/effect/turf_decal/tile/neutral,/obj/effect/turf_decal/tile/neutral{dir = 8},/obj/effect/turf_decal/bot,/turf/open/floor/plasteel/dark,/area/space)
+"wx" = (/obj/structure/table/glass,/obj/machinery/computer/med_data/laptop,/obj/machinery/button{pixel_x = -26; pixel_y = 4},/obj/machinery/button{pixel_x = -26; pixel_y = -6},/obj/effect/turf_decal/tile/neutral{dir = 4},/obj/effect/turf_decal/tile/neutral{dir = 1},/obj/effect/turf_decal/tile/neutral{dir = 8},/turf/open/floor/plasteel/dark,/area/space)
+"wy" = (/obj/effect/turf_decal/tile/blue{dir = 1},/obj/effect/turf_decal/tile/blue{dir = 8},/obj/effect/turf_decal/tile/blue{dir = 1},/mob/living/simple_animal/bot/cleanbot,/turf/open/floor/plasteel/white,/area/space)
+"wz" = (/obj/effect/turf_decal/tile/neutral{dir = 1},/obj/effect/turf_decal/tile/neutral{dir = 4},/obj/effect/turf_decal/stripes/line{dir = 1},/turf/open/floor/plasteel/dark,/area/space)
+"wA" = (/obj/effect/turf_decal/tile/neutral{dir = 4},/obj/effect/turf_decal/tile/neutral{dir = 1},/obj/effect/turf_decal/stripes/line{dir = 1},/turf/open/floor/plasteel/dark,/area/space)
+"wB" = (/obj/effect/turf_decal/tile/neutral{dir = 4},/obj/effect/turf_decal/tile/neutral,/obj/effect/turf_decal/tile/neutral{dir = 1},/obj/effect/turf_decal/stripes/line{dir = 1},/turf/open/floor/plasteel/dark,/area/space)
+"wC" = (/obj/structure/table/glass,/obj/effect/turf_decal/tile/neutral,/obj/item/storage/box/syringes{pixel_x = 4; pixel_y = 4},/obj/item/storage/box/disks,/turf/open/floor/plasteel/dark,/area/space)
+"wD" = (/obj/structure/chair/office/light,/obj/effect/turf_decal/tile/blue{dir = 8},/obj/effect/turf_decal/tile/blue{dir = 4},/turf/open/floor/plasteel/cafeteria,/area/space)
+"wE" = (/obj/effect/turf_decal/tile/blue{dir = 8},/obj/effect/turf_decal/tile/blue{dir = 4},/turf/open/floor/plasteel/cafeteria,/area/space)
+"wF" = (/obj/structure/filingcabinet/chestdrawer,/obj/effect/turf_decal/tile/neutral{dir = 4},/obj/effect/turf_decal/tile/neutral,/obj/effect/turf_decal/bot,/turf/open/floor/plasteel/dark,/area/space)
+"wG" = (/obj/effect/turf_decal/tile/blue,/obj/effect/turf_decal/tile/blue{dir = 4},/obj/effect/turf_decal/stripes/corner{dir = 8},/turf/open/floor/plasteel/white,/area/space)
+"wH" = (/obj/structure/table/glass,/obj/item/storage/secure/briefcase,/obj/effect/turf_decal/tile/blue{dir = 8},/obj/effect/turf_decal/tile/blue{dir = 4},/turf/open/floor/plasteel/cafeteria,/area/space)
+"wI" = (/obj/structure/table/glass,/obj/item/clothing/glasses/hud/health,/obj/effect/turf_decal/tile/blue{dir = 8},/obj/effect/turf_decal/tile/blue{dir = 4},/turf/open/floor/plasteel/cafeteria,/area/space)
+"wJ" = (/obj/effect/turf_decal/tile/blue{dir = 8},/obj/effect/turf_decal/tile/blue{dir = 4},/obj/machinery/holopad,/obj/effect/turf_decal/bot,/turf/open/floor/plasteel/cafeteria,/area/space)
+"wK" = (/obj/structure/table/glass,/obj/item/clothing/neck/stethoscope,/obj/effect/turf_decal/tile/neutral{dir = 4},/obj/effect/turf_decal/tile/neutral,/obj/structure/sign/poster/official/random{pixel_x = 32},/turf/open/floor/plasteel/dark,/area/space)
+"wL" = (/obj/structure/chair{dir = 1},/obj/effect/turf_decal/tile/blue{dir = 8},/obj/effect/turf_decal/tile/blue{dir = 4},/turf/open/floor/plasteel/cafeteria,/area/space)
+"wM" = (/obj/structure/table/glass,/obj/effect/turf_decal/tile/neutral,/obj/effect/turf_decal/tile/neutral{dir = 8; step_y = 0},/obj/item/storage/box/bodybags,/turf/open/floor/plasteel/dark,/area/space)
+"wN" = (/obj/effect/turf_decal/tile/blue{dir = 4},/obj/effect/turf_decal/tile/blue,/obj/effect/turf_decal/stripes/line{dir = 4},/turf/open/floor/plasteel/white,/area/space)
+"wO" = (/obj/structure/table,/obj/item/newspaper{pixel_x = 2; pixel_y = 2},/obj/item/newspaper{pixel_x = -2; pixel_y = -2},/obj/effect/turf_decal/tile/blue{dir = 8},/obj/effect/turf_decal/tile/blue,/obj/effect/turf_decal/tile/blue{dir = 1},/obj/effect/turf_decal/tile/blue,/turf/open/floor/plasteel/white,/area/space)
+"wP" = (/obj/effect/turf_decal/tile/blue{dir = 1},/obj/effect/turf_decal/stripes/line{dir = 1},/turf/open/floor/plasteel/white,/area/space)
+"wQ" = (/obj/effect/turf_decal/tile/blue{dir = 4},/obj/effect/turf_decal/stripes/line{dir = 1},/turf/open/floor/plasteel/white,/area/space)
+"wR" = (/obj/structure/table/optable,/obj/effect/turf_decal/tile/neutral{dir = 4},/obj/effect/turf_decal/tile/neutral{dir = 1},/obj/effect/turf_decal/bot,/turf/open/floor/plasteel/dark,/area/space)
+"wS" = (/obj/effect/turf_decal/tile/blue{dir = 1},/obj/effect/turf_decal/tile/blue{dir = 4},/obj/effect/turf_decal/tile/blue{dir = 4},/obj/effect/turf_decal/stripes/line{dir = 8},/turf/open/floor/plasteel/white,/area/space)
+"wT" = (/obj/machinery/atmospherics/components/unary/portables_connector/visible{dir = 1; name = "Connector Port (Air Supply)"},/obj/effect/turf_decal/tile/neutral{dir = 4},/obj/effect/turf_decal/tile/neutral{dir = 1},/obj/effect/turf_decal/bot,/obj/machinery/portable_atmospherics/canister/oxygen,/obj/machinery/firealarm{dir = 8; pixel_x = 28},/obj/machinery/light,/turf/open/floor/plasteel/dark,/area/space)
+"wU" = (/obj/effect/spawner/structure/window/reinforced,/obj/machinery/door/poddoor/preopen,/obj/structure/cable,/turf/open/floor/plating,/area/space)
+"wV" = (/obj/effect/turf_decal/stripes/line{dir = 8},/turf/open/floor/plasteel/white,/area/space)
+"wW" = (/obj/effect/turf_decal/tile/blue,/obj/effect/turf_decal/tile/blue{dir = 4},/turf/open/floor/plasteel/white,/area/space)
+"wX" = (/obj/effect/turf_decal/tile/blue{dir = 8},/obj/effect/turf_decal/tile/blue,/obj/effect/turf_decal/tile/blue{dir = 8},/obj/effect/turf_decal/stripes/line{dir = 4},/turf/open/floor/plasteel/white,/area/space)
+"wY" = (/obj/effect/turf_decal/tile/blue{dir = 8},/obj/effect/turf_decal/tile/blue,/obj/effect/turf_decal/stripes/line{dir = 8},/turf/open/floor/plasteel/white,/area/space)
+"wZ" = (/obj/machinery/door/airlock/security/glass{name = "Medbay Security Post"; req_access_txt = "63"},/obj/effect/turf_decal/tile/red{dir = 4},/obj/effect/turf_decal/tile/red{dir = 1},/obj/effect/turf_decal/tile/red{dir = 8},/obj/effect/turf_decal/tile/red,/obj/effect/turf_decal/tile/red{dir = 4},/obj/effect/turf_decal/tile/red{dir = 1},/obj/effect/turf_decal/tile/red{dir = 8},/obj/effect/turf_decal/tile/red,/turf/open/floor/plasteel/white,/area/space)
+"xa" = (/obj/machinery/door/airlock/command{name = "Chief Medical Officer"; req_access_txt = "40"},/obj/effect/turf_decal/tile/blue{dir = 8},/obj/effect/turf_decal/tile/blue{dir = 4},/turf/open/floor/plasteel/cafeteria,/area/space)
+"xb" = (/obj/effect/turf_decal/tile/blue{dir = 4},/obj/effect/turf_decal/stripes/line{dir = 4},/turf/open/floor/plasteel/white,/area/space)
+"xc" = (/obj/effect/turf_decal/tile/blue{dir = 4},/obj/effect/turf_decal/tile/blue{dir = 1},/obj/effect/turf_decal/stripes/line{dir = 8},/turf/open/floor/plasteel/white,/area/space)
+"xd" = (/obj/effect/turf_decal/tile/blue{dir = 1},/obj/effect/turf_decal/tile/red{dir = 4},/obj/effect/turf_decal/tile/red{dir = 4},/turf/open/floor/plasteel/white,/area/space)
+"xe" = (/obj/effect/turf_decal/tile/red{dir = 1},/obj/effect/turf_decal/tile/red{dir = 4},/obj/effect/turf_decal/tile/red{dir = 1},/obj/effect/turf_decal/tile/red{dir = 4},/turf/open/floor/plasteel/white,/area/space)
+"xf" = (/obj/effect/turf_decal/tile/blue{dir = 4},/obj/effect/turf_decal/tile/red{dir = 1},/obj/effect/turf_decal/tile/red{dir = 1},/turf/open/floor/plasteel/white,/area/space)
+"xg" = (/obj/effect/turf_decal/tile/blue{dir = 8},/obj/effect/turf_decal/tile/blue{dir = 4},/mob/living/simple_animal/pet/cat/Runtime,/turf/open/floor/plasteel/cafeteria,/area/space)
+"xh" = (/obj/effect/turf_decal/tile/green{dir = 4},/obj/effect/turf_decal/tile/green{dir = 8},/obj/effect/turf_decal/tile/green{dir = 1},/obj/effect/turf_decal/stripes/corner{dir = 8},/turf/open/floor/plasteel/white,/area/space)
+"xi" = (/obj/effect/turf_decal/tile/blue{dir = 1},/obj/effect/turf_decal/tile/blue{dir = 8},/obj/effect/turf_decal/stripes/line{dir = 1},/turf/open/floor/plasteel/white,/area/space)
+"xj" = (/obj/effect/turf_decal/tile/green{dir = 8},/obj/effect/turf_decal/tile/green{dir = 4},/obj/effect/turf_decal/tile/blue{dir = 1},/obj/effect/turf_decal/tile/blue,/turf/open/floor/plasteel/freezer,/area/space)
+"xk" = (/obj/effect/turf_decal/tile/blue{dir = 8},/obj/effect/turf_decal/tile/blue,/obj/effect/turf_decal/tile/blue{dir = 8},/obj/effect/turf_decal/tile/blue,/obj/effect/turf_decal/stripes/line{dir = 4},/turf/open/floor/plasteel/white,/area/space)
+"xl" = (/obj/effect/turf_decal/tile/neutral{dir = 4},/obj/effect/turf_decal/tile/neutral,/obj/effect/turf_decal/tile/neutral{dir = 8},/obj/structure/bed/dogbed/runtime,/obj/item/toy/cattoy,/turf/open/floor/plasteel/dark,/area/space)
+"xm" = (/obj/machinery/computer/operating,/obj/effect/turf_decal/tile/neutral{dir = 4},/obj/effect/turf_decal/tile/neutral{dir = 1},/obj/effect/turf_decal/bot,/turf/open/floor/plasteel/dark,/area/space)
+"xn" = (/obj/effect/turf_decal/tile/green{dir = 4},/obj/effect/turf_decal/tile/green{dir = 1},/obj/effect/turf_decal/tile/green,/obj/effect/turf_decal/stripes/corner{dir = 4},/turf/open/floor/plasteel/white,/area/space)
+"xo" = (/obj/effect/turf_decal/tile/blue{dir = 4},/obj/effect/turf_decal/tile/blue{dir = 1},/obj/machinery/light{dir = 1},/turf/open/floor/plasteel/white,/area/space)
+"xp" = (/obj/structure/table/glass,/obj/item/storage/box/rxglasses{pixel_x = 2; pixel_y = 2},/obj/item/storage/box/bodybags{pixel_x = -2; pixel_y = -2},/obj/item/pen,/obj/effect/turf_decal/tile/neutral{dir = 1},/obj/effect/turf_decal/tile/neutral{dir = 8},/turf/open/floor/plasteel/dark,/area/space)
+"xq" = (/obj/structure/table/optable,/obj/effect/turf_decal/bot,/turf/open/floor/plasteel/dark,/area/space)
+"xr" = (/obj/machinery/door/airlock/medical/glass{name = "Surgery Observation"},/obj/effect/turf_decal/tile/blue,/obj/effect/turf_decal/tile/blue{dir = 4},/obj/effect/turf_decal/tile/blue{dir = 8},/obj/effect/turf_decal/tile/blue{dir = 1},/turf/open/floor/plasteel/white,/area/space)
+"xs" = (/obj/machinery/door/airlock/medical/glass{name = "Medbay Storage"; req_access_txt = "5"},/obj/effect/turf_decal/tile/blue,/obj/effect/turf_decal/tile/blue{dir = 4},/obj/effect/turf_decal/tile/blue{dir = 8},/obj/effect/turf_decal/tile/blue{dir = 1},/turf/open/floor/plasteel/white,/area/space)
+"xt" = (/obj/effect/turf_decal/tile/blue,/obj/effect/turf_decal/tile/blue{dir = 8},/turf/open/floor/plasteel/white,/area/space)
+"xu" = (/obj/structure/bed/roller,/obj/machinery/iv_drip,/obj/effect/turf_decal/tile/blue{dir = 1},/obj/effect/turf_decal/tile/blue{dir = 8},/obj/effect/turf_decal/stripes/corner{dir = 1},/obj/machinery/light{dir = 8; light_color = "#e8eaff"},/turf/open/floor/plasteel/white,/area/space)
+"xv" = (/obj/effect/turf_decal/tile/blue{dir = 1},/obj/effect/turf_decal/tile/blue{dir = 4},/obj/effect/turf_decal/tile/blue{dir = 1},/obj/machinery/holopad,/obj/effect/turf_decal/bot,/obj/effect/turf_decal/stripes/line,/obj/structure/sink{dir = 8; pixel_x = -12},/turf/open/floor/plasteel/white,/area/space)
+"xw" = (/obj/item/book/manual/wiki/chemistry{pixel_x = -2; pixel_y = 2},/obj/item/book/manual/wiki/grenades,/obj/structure/table/glass,/obj/effect/turf_decal/tile/neutral{dir = 8},/obj/effect/turf_decal/tile/neutral{dir = 1},/obj/effect/turf_decal/tile/neutral{dir = 4},/turf/open/floor/plasteel/dark,/area/space)
+"xx" = (/obj/machinery/disposal/bin,/obj/effect/turf_decal/bot,/obj/machinery/light{dir = 8; light_color = "#e8eaff"},/turf/open/floor/plasteel/dark,/area/space)
+"xy" = (/obj/structure/table/glass,/obj/effect/turf_decal/tile/neutral,/obj/effect/turf_decal/tile/neutral{dir = 4},/obj/effect/turf_decal/tile/neutral{dir = 8; step_y = 0},/obj/item/reagent_containers/spray/cleaner,/obj/item/clothing/gloves/color/latex,/obj/item/clothing/gloves/color/latex,/turf/open/floor/plasteel/dark,/area/space)
+"xz" = (/obj/effect/turf_decal/tile/blue{dir = 8},/obj/effect/turf_decal/tile/blue,/obj/effect/turf_decal/tile/blue,/obj/effect/turf_decal/stripes/line,/turf/open/floor/plasteel/white,/area/space)
+"xA" = (/obj/structure/table/glass,/obj/item/paper_bin,/obj/item/paper{pixel_x = -8; pixel_y = 6},/obj/item/book/manual/wiki/medical_cloning{pixel_x = 4; pixel_y = -2},/obj/item/paper/guides/jobs/medical/cloning{pixel_x = -6; pixel_y = 2},/obj/effect/turf_decal/tile/neutral{dir = 1},/obj/effect/turf_decal/tile/neutral{dir = 8},/turf/open/floor/plasteel/dark,/area/space)
+"xB" = (/obj/structure/table/glass,/obj/structure/window/reinforced{dir = 1},/obj/item/storage/firstaid/regular{pixel_x = 3; pixel_y = 3},/obj/item/storage/firstaid/o2,/obj/item/storage/firstaid/o2{pixel_x = -3; pixel_y = -3},/obj/effect/turf_decal/bot,/obj/effect/turf_decal/stripes/corner{dir = 8},/turf/open/floor/plasteel/dark,/area/space)
+"xC" = (/obj/effect/turf_decal/tile/neutral,/obj/effect/turf_decal/tile/neutral{dir = 4},/obj/effect/turf_decal/stripes/line{dir = 4},/turf/open/floor/plasteel/dark,/area/space)
+"xD" = (/obj/machinery/dna_scannernew,/obj/effect/turf_decal/tile/neutral{dir = 1},/obj/effect/turf_decal/tile/neutral{dir = 8},/obj/effect/turf_decal/tile/neutral{dir = 4},/obj/effect/turf_decal/bot,/turf/open/floor/plasteel/dark,/area/space)
+"xE" = (/obj/effect/turf_decal/tile/neutral{dir = 8},/obj/effect/turf_decal/tile/neutral{dir = 1},/turf/open/floor/plasteel/dark,/area/space)
+"xF" = (/obj/machinery/computer/cloning{dir = 8},/obj/effect/turf_decal/tile/neutral{dir = 1},/obj/effect/turf_decal/tile/neutral{dir = 8},/obj/effect/turf_decal/bot,/turf/open/floor/plasteel/dark,/area/space)
+"xG" = (/obj/effect/turf_decal/tile/neutral{dir = 8},/obj/effect/turf_decal/tile/neutral{dir = 1},/obj/effect/turf_decal/tile/neutral{dir = 4},/obj/machinery/door/window/northleft,/obj/structure/sink/kitchen{dir = 4; name = "sink"; pixel_x = -12},/turf/open/floor/plasteel/dark,/area/space)
+"xH" = (/obj/effect/turf_decal/tile/neutral{dir = 1},/obj/effect/turf_decal/tile/neutral{dir = 4},/obj/effect/turf_decal/tile/neutral,/obj/machinery/door/window/northright,/obj/machinery/shower{dir = 1},/obj/effect/turf_decal/stripes/line{dir = 4},/turf/open/floor/plasteel/dark,/area/space)
+"xI" = (/obj/machinery/vending/wardrobe/medi_wardrobe,/obj/effect/turf_decal/tile/neutral{dir = 1},/obj/effect/turf_decal/tile/neutral{dir = 4},/obj/effect/turf_decal/bot,/obj/machinery/light{dir = 4; light_color = "#e8eaff"},/turf/open/floor/plasteel/dark,/area/space)
+"xJ" = (/obj/effect/spawner/structure/window,/obj/machinery/door/poddoor/shutters/preopen,/turf/open/floor/plating,/area/space)
+"xK" = (/obj/effect/turf_decal/stripes/corner,/obj/effect/turf_decal/tile/blue{dir = 1},/obj/effect/turf_decal/tile/blue{dir = 4},/obj/effect/turf_decal/tile/blue{dir = 1},/obj/effect/turf_decal/stripes/corner{dir = 1},/turf/open/floor/plasteel/white,/area/space)
+"xL" = (/obj/effect/turf_decal/stripes/line,/obj/effect/turf_decal/tile/blue{dir = 1},/obj/effect/turf_decal/tile/blue{dir = 4},/obj/effect/turf_decal/tile/blue{dir = 1},/turf/open/floor/plasteel/white,/area/space)
+"xM" = (/obj/effect/turf_decal/tile/neutral,/obj/effect/turf_decal/tile/neutral{dir = 8},/obj/effect/turf_decal/tile/neutral{dir = 1},/obj/effect/turf_decal/tile/neutral{dir = 4},/obj/effect/turf_decal/bot,/obj/machinery/disposal/bin,/turf/open/floor/plasteel/dark,/area/space)
+"xN" = (/obj/effect/turf_decal/stripes/line{dir = 4},/obj/effect/turf_decal/stripes/line{dir = 8},/turf/open/floor/plasteel/white,/area/space)
+"xO" = (/obj/machinery/chem_master,/obj/effect/turf_decal/tile/neutral{dir = 4},/obj/effect/turf_decal/tile/neutral{dir = 1},/obj/effect/turf_decal/tile/neutral{dir = 8},/obj/effect/turf_decal/bot,/turf/open/floor/plasteel/dark,/area/space)
+"xP" = (/obj/machinery/chem_dispenser,/obj/effect/turf_decal/tile/neutral{dir = 4},/obj/effect/turf_decal/tile/neutral,/obj/effect/turf_decal/tile/neutral{dir = 1},/obj/effect/turf_decal/bot,/turf/open/floor/plasteel/dark,/area/space)
+"xQ" = (/obj/effect/turf_decal/tile/blue,/obj/effect/turf_decal/tile/blue{dir = 8},/obj/effect/turf_decal/tile/blue{dir = 8},/turf/open/floor/plasteel/white,/area/space)
+"xR" = (/obj/item/twohanded/required/kirbyplants/random,/obj/effect/turf_decal/tile/neutral{dir = 1},/obj/effect/turf_decal/tile/neutral{dir = 4},/obj/effect/turf_decal/tile/neutral{dir = 8; step_y = 0},/obj/effect/turf_decal/tile/neutral,/obj/effect/turf_decal/stripes/line{dir = 8},/obj/effect/turf_decal/stripes/line{dir = 4},/obj/structure/noticeboard{pixel_y = 32},/turf/open/floor/plasteel/dark,/area/space)
+"xS" = (/obj/effect/turf_decal/tile/blue,/obj/effect/turf_decal/tile/blue{dir = 8},/obj/effect/turf_decal/tile/blue{dir = 8},/obj/machinery/light,/turf/open/floor/plasteel/white,/area/space)
+"xT" = (/obj/machinery/door/airlock/medical/glass{id_tag = "CloningDoor"; name = "Cloning Lab"; req_access_txt = "5;68"},/obj/effect/mapping_helpers/airlock/unres{dir = 4},/obj/effect/turf_decal/tile/blue,/obj/effect/turf_decal/tile/blue{dir = 4},/obj/effect/turf_decal/tile/blue{dir = 8},/obj/effect/turf_decal/tile/blue{dir = 1},/turf/open/floor/plasteel/white,/area/space)
+"xU" = (/obj/structure/chair{dir = 4},/obj/effect/turf_decal/tile/blue{dir = 1},/obj/effect/turf_decal/tile/blue{dir = 8},/turf/open/floor/plasteel/white,/area/space)
+"xV" = (/obj/structure/closet/secure_closet/chemical,/obj/item/storage/box/pillbottles,/obj/item/storage/box/pillbottles,/obj/effect/turf_decal/tile/neutral{dir = 8},/obj/effect/turf_decal/tile/neutral{dir = 1},/obj/effect/turf_decal/bot,/turf/open/floor/plasteel/dark,/area/space)
+"xW" = (/obj/machinery/disposal/bin,/obj/effect/turf_decal/tile/neutral{dir = 1},/obj/effect/turf_decal/tile/neutral{dir = 4},/obj/effect/turf_decal/tile/neutral{dir = 8; step_y = 0},/obj/effect/turf_decal/bot,/turf/open/floor/plasteel/dark,/area/space)
+"xX" = (/obj/structure/table/glass,/obj/item/storage/box/masks{pixel_x = 4; pixel_y = 4},/obj/item/storage/box/gloves,/obj/effect/turf_decal/tile/neutral{dir = 1},/obj/effect/turf_decal/tile/neutral{dir = 4},/turf/open/floor/plasteel/dark,/area/space)
+"xY" = (/obj/structure/table/glass,/obj/item/storage/box/beakers,/obj/effect/turf_decal/tile/neutral{dir = 1},/obj/effect/turf_decal/tile/neutral{dir = 4},/obj/effect/turf_decal/tile/neutral,/turf/open/floor/plasteel/dark,/area/space)
+"xZ" = (/obj/machinery/holopad,/obj/effect/turf_decal/bot,/turf/open/floor/plasteel/cafeteria,/area/space)
+"ya" = (/obj/machinery/door/airlock/medical,/turf/open/floor/plasteel/cafeteria,/area/space)
+"yb" = (/obj/machinery/vending/medical,/obj/effect/turf_decal/tile/neutral{dir = 1},/obj/effect/turf_decal/tile/neutral{dir = 4},/obj/effect/turf_decal/tile/neutral{dir = 8; step_y = 0},/obj/effect/turf_decal/bot,/turf/open/floor/plasteel/dark,/area/space)
+"yc" = (/obj/structure/table/glass,/obj/item/healthanalyzer,/obj/effect/turf_decal/tile/neutral{dir = 1},/obj/effect/turf_decal/tile/neutral{dir = 4},/turf/open/floor/plasteel/dark,/area/space)
+"yd" = (/obj/machinery/disposal/bin,/obj/effect/turf_decal/tile/neutral{dir = 1},/obj/effect/turf_decal/tile/neutral{dir = 4},/obj/effect/turf_decal/tile/neutral,/obj/effect/turf_decal/bot,/turf/open/floor/plasteel/dark,/area/space)
+"ye" = (/obj/structure/bodycontainer/morgue{dir = 2},/obj/effect/turf_decal/bot_white,/obj/machinery/light/small{dir = 1},/turf/open/floor/plasteel/dark,/area/space)
+"yf" = (/obj/structure/rack,/obj/item/reagent_containers/food/drinks/beer{desc = "The bottle's cracked, covered in desperate scratches, and somehow smells like wet fur and.... oranges?"; list_reagents = list(/datum/reagent/consumable/ethanol/bacchus_blessing = 15); name = "Zero-Zing"},/obj/item/restraints/handcuffs/cable/red,/obj/effect/decal/cleanable/dirt,/turf/open/floor/plasteel,/area/space)
+"yg" = (/obj/effect/decal/cleanable/dirt,/turf/open/floor/plasteel,/area/space)
+"yh" = (/obj/structure/rack,/obj/item/storage/backpack/duffelbag/med,/obj/item/surgical_drapes,/obj/item/flashlight/pen{pixel_x = 2; pixel_y = 2},/turf/open/floor/plating{icon_state = "platingdmg3"},/area/space)
+"yi" = (/obj/machinery/door/airlock/medical{name = "Medbay Break Room"; req_access_txt = "5"},/turf/open/floor/plasteel/cafeteria,/area/space)
+"yj" = (/obj/machinery/light/small,/turf/open/floor/plasteel/cafeteria,/area/space)
+"yk" = (/obj/machinery/disposal/bin,/turf/open/floor/plasteel/cafeteria,/area/space)
+"yl" = (/obj/structure/table/glass,/obj/item/radio,/turf/open/floor/plasteel/cafeteria,/area/space)
+"ym" = (/obj/structure/table/glass,/obj/item/paper_bin{pixel_x = 2; pixel_y = 4},/obj/item/pen{pixel_x = 2; pixel_y = 4},/turf/open/floor/plasteel/cafeteria,/area/space)
+"yn" = (/obj/effect/turf_decal/stripes/white/line{dir = 4},/turf/open/floor/plasteel/dark,/area/space)
+"yo" = (/obj/effect/turf_decal/stripes/line{dir = 5},/obj/effect/turf_decal/stripes/corner{dir = 1},/turf/open/floor/plasteel/dark,/area/space)
+"yp" = (/obj/structure/rack,/obj/item/weldingtool,/obj/item/wirecutters,/obj/item/shard,/obj/effect/decal/cleanable/glass,/obj/effect/decal/cleanable/dirt,/obj/machinery/light/small{dir = 4},/turf/open/floor/plasteel,/area/space)
+"yq" = (/obj/machinery/disposal/bin,/obj/effect/turf_decal/stripes/white/line,/turf/open/floor/plasteel/dark,/area/space)
+"yr" = (/obj/effect/decal/cleanable/oil,/obj/effect/decal/cleanable/dirt,/turf/open/floor/plasteel,/area/space)
+"ys" = (/obj/effect/turf_decal/tile/green{dir = 4},/obj/effect/turf_decal/tile/green,/obj/effect/turf_decal/tile/green{dir = 1},/obj/structure/closet/l3closet,/obj/effect/turf_decal/stripes/corner{dir = 4},/turf/open/floor/plasteel/white,/area/space)
+"yt" = (/obj/effect/turf_decal/tile/neutral{dir = 1},/obj/effect/turf_decal/tile/neutral{dir = 4},/obj/effect/turf_decal/tile/neutral,/obj/structure/sign/warning/vacuum{pixel_x = 32},/obj/structure/table/glass,/obj/item/roller{pixel_x = 4; pixel_y = 4},/obj/item/roller,/turf/open/floor/plasteel/dark,/area/space)
+"yu" = (/obj/machinery/light/small{dir = 1},/obj/structure/chair,/turf/open/floor/plating,/area/space)
+"yv" = (/obj/structure/fans/tiny/invisible,/turf/open/space/basic,/area/space)
+"yw" = (/obj/machinery/door/airlock/external,/turf/open/floor/plating,/area/space)
+"yx" = (/obj/effect/turf_decal/tile/green{dir = 4},/obj/effect/turf_decal/tile/green,/obj/effect/turf_decal/tile/green{dir = 8},/obj/structure/closet/l3closet,/obj/effect/turf_decal/stripes/corner{dir = 1},/turf/open/floor/plasteel/white,/area/space)
+"yy" = (/obj/structure/bed/roller,/obj/machinery/iv_drip,/obj/effect/decal/cleanable/blood/old,/obj/effect/decal/cleanable/dirt,/turf/open/floor/plasteel,/area/space)
+"yz" = (/obj/effect/decal/cleanable/dirt,/turf/open/floor/plating,/area/space)
+"yA" = (/obj/machinery/firealarm{dir = 4; pixel_x = -26},/obj/effect/turf_decal/tile/blue{dir = 8},/obj/effect/turf_decal/tile/blue{dir = 1},/turf/open/floor/plasteel/white,/area/space)
+"yB" = (/obj/structure/table/glass,/obj/effect/turf_decal/tile/green{dir = 1},/obj/effect/turf_decal/tile/green{dir = 8},/obj/effect/turf_decal/tile/green{dir = 4},/obj/item/folder/white,/obj/item/paper{pixel_x = -2; pixel_y = 6},/obj/item/pen/red,/obj/effect/turf_decal/stripes/corner{dir = 8},/turf/open/floor/plasteel/white,/area/space)
+"yC" = (/obj/effect/turf_decal/tile/blue{dir = 1},/obj/effect/turf_decal/tile/yellow{dir = 8},/turf/open/floor/plasteel/white,/area/space)
+"yD" = (/obj/effect/turf_decal/tile/green,/obj/effect/turf_decal/tile/green{dir = 4},/obj/structure/sink{dir = 4; pixel_x = 11},/turf/open/floor/plasteel/white,/area/space)
+"yE" = (/obj/structure/window/reinforced{dir = 8; layer = 2.9},/obj/effect/turf_decal/stripes/line{dir = 8},/obj/effect/turf_decal/stripes/corner{dir = 8},/turf/open/floor/plasteel/dark,/area/space)
+"yF" = (/obj/effect/spawner/lootdrop/maintenance,/obj/machinery/light/small{brightness = 3; dir = 8},/turf/open/floor/plating,/area/space)
+"yG" = (/turf/open/floor/plating{icon_state = "platingdmg1"},/area/space)
+"yH" = (/obj/structure/rack,/obj/effect/turf_decal/bot,/obj/item/wrench,/obj/item/crowbar,/obj/item/restraints/handcuffs,/obj/effect/turf_decal/stripes/corner{dir = 4},/turf/open/floor/plasteel/dark,/area/space)
+"yI" = (/obj/effect/turf_decal/tile/blue,/obj/effect/turf_decal/tile/blue,/obj/effect/turf_decal/tile/blue{dir = 4},/obj/effect/turf_decal/tile/blue{dir = 4},/turf/open/floor/plasteel/white,/area/space)
+"yJ" = (/obj/structure/closet/crate/freezer/blood,/obj/effect/turf_decal/tile/neutral{dir = 8},/obj/effect/turf_decal/tile/neutral{dir = 1},/obj/effect/turf_decal/tile/neutral{dir = 4},/turf/open/floor/plasteel/dark,/area/space)
+"yK" = (/obj/effect/turf_decal/tile/blue{dir = 4},/obj/effect/turf_decal/tile/blue{dir = 1},/turf/open/floor/plasteel/white,/area/space)
+"yL" = (/obj/structure/closet/emcloset,/turf/open/floor/plating,/area/space)
+"yM" = (/obj/machinery/door/airlock/medical/glass{name = "Pharmacy"; req_access_txt = "5; 69"},/obj/machinery/door/firedoor,/obj/effect/turf_decal/tile/yellow{dir = 1},/obj/effect/turf_decal/tile/yellow{dir = 8},/obj/effect/turf_decal/tile/yellow,/obj/effect/turf_decal/tile/yellow{dir = 4},/turf/open/floor/plasteel/white,/area/space)
+"yN" = (/obj/effect/turf_decal/tile/yellow{dir = 1},/obj/effect/turf_decal/tile/yellow{dir = 8},/obj/effect/turf_decal/stripes/line,/turf/open/floor/plasteel/white,/area/space)
+"yO" = (/obj/structure/bodycontainer/morgue,/obj/effect/turf_decal/bot_white,/obj/machinery/light/small{brightness = 3; dir = 8},/turf/open/floor/plasteel/dark,/area/space)
+"yP" = (/obj/structure/table,/obj/item/storage/box/bodybags,/obj/item/clothing/gloves/color/latex,/obj/item/pen,/obj/effect/turf_decal/stripes/corner,/obj/effect/turf_decal/tile/neutral{dir = 8},/obj/effect/turf_decal/tile/neutral{dir = 1},/obj/machinery/light/small{dir = 4},/turf/open/floor/plasteel/dark,/area/space)
+"yQ" = (/obj/structure/rack,/obj/item/storage/box/bodybags,/obj/item/clothing/mask/surgical,/obj/effect/decal/cleanable/dirt,/turf/open/floor/plating,/area/space)
+"yR" = (/obj/effect/decal/cleanable/generic,/turf/open/floor/plating,/area/space)
+"yS" = (/turf/open/floor/plating{icon_state = "panelscorched"},/area/space)
+"yT" = (/obj/effect/turf_decal/tile/blue{dir = 8},/obj/effect/turf_decal/tile/blue{dir = 1},/obj/effect/turf_decal/stripes/line{dir = 8},/turf/open/floor/plasteel/white,/area/space)
+"yU" = (/obj/structure/table/glass,/obj/item/tank/internals/emergency_oxygen,/obj/item/tank/internals/emergency_oxygen,/obj/item/clothing/mask/breath,/obj/item/clothing/mask/breath,/obj/effect/turf_decal/tile/neutral,/obj/effect/turf_decal/tile/neutral{dir = 8},/turf/open/floor/plasteel/dark,/area/space)
+"yV" = (/obj/effect/turf_decal/tile/blue{dir = 4},/obj/effect/turf_decal/tile/blue{dir = 1},/obj/effect/turf_decal/stripes/line{dir = 4},/turf/open/floor/plasteel/white,/area/space)
+"yW" = (/obj/machinery/vending/wardrobe/gene_wardrobe,/obj/effect/turf_decal/tile/blue{dir = 4},/obj/effect/turf_decal/tile/purple{dir = 1},/obj/effect/turf_decal/stripes/line{dir = 1},/turf/open/floor/plasteel/white,/area/space)
+"yX" = (/obj/effect/turf_decal/tile/blue{dir = 1},/obj/effect/turf_decal/tile/purple{dir = 4},/obj/effect/turf_decal/stripes/line{dir = 1},/turf/open/floor/plasteel/white,/area/space)
+"yY" = (/obj/structure/table/glass,/obj/item/storage/pill_bottle/mutadone,/obj/item/storage/pill_bottle/mannitol,/obj/item/reagent_containers/dropper,/obj/item/reagent_containers/syringe,/obj/item/reagent_containers/glass/beaker,/obj/effect/turf_decal/stripes/line,/turf/open/floor/plasteel/white,/area/space)
+"yZ" = (/obj/structure/table,/obj/item/clothing/suit/apron/surgical,/obj/item/clothing/gloves/color/latex/nitrile,/obj/item/clothing/mask/breath/medical,/turf/open/floor/plating,/area/space)
+"za" = (/obj/structure/table,/obj/item/clothing/suit/toggle/labcoat,/obj/item/clothing/gloves/color/latex,/turf/open/floor/plating{icon_state = "platingdmg2"},/area/space)
+"zb" = (/obj/machinery/disposal/bin,/obj/effect/turf_decal/tile/neutral,/obj/effect/turf_decal/tile/neutral{dir = 8},/obj/effect/turf_decal/tile/neutral{dir = 1},/obj/effect/turf_decal/tile/neutral{dir = 4},/obj/effect/turf_decal/bot,/turf/open/floor/plasteel/dark,/area/space)
+"zc" = (/obj/effect/turf_decal/tile/blue,/obj/effect/turf_decal/tile/blue{dir = 4},/obj/effect/turf_decal/stripes/line,/turf/open/floor/plasteel/white,/area/space)
+"zd" = (/obj/machinery/shower{dir = 4},/obj/effect/turf_decal/tile/neutral,/obj/effect/turf_decal/tile/neutral{dir = 1},/obj/effect/turf_decal/tile/neutral{dir = 4},/obj/effect/turf_decal/tile/neutral{dir = 8},/obj/effect/turf_decal/box,/turf/open/floor/plasteel/dark,/area/space)
+"ze" = (/obj/effect/turf_decal/tile/blue{dir = 8},/obj/effect/turf_decal/tile/blue{dir = 1},/obj/effect/turf_decal/stripes/line{dir = 1},/turf/open/floor/plasteel/white,/area/space)
+"zf" = (/obj/effect/turf_decal/tile/blue{dir = 4},/obj/effect/turf_decal/tile/blue,/obj/effect/turf_decal/stripes/line{dir = 1},/turf/open/floor/plasteel/white,/area/space)
+"zg" = (/obj/structure/chair/office/light{dir = 1},/obj/effect/turf_decal/tile/neutral{dir = 4},/obj/effect/turf_decal/tile/neutral,/turf/open/floor/plasteel/dark,/area/space)
+"zh" = (/obj/machinery/smartfridge/chemistry,/obj/effect/turf_decal/tile/neutral{dir = 8},/obj/effect/turf_decal/tile/neutral{dir = 1},/obj/effect/turf_decal/tile/neutral,/obj/effect/turf_decal/bot,/turf/open/floor/plasteel/dark,/area/space)
+"zi" = (/obj/effect/turf_decal/stripes/corner,/turf/open/floor/plasteel/white,/area/space)
+"zj" = (/obj/machinery/chem_heater,/obj/effect/turf_decal/tile/neutral{dir = 4},/obj/effect/turf_decal/tile/neutral,/obj/effect/turf_decal/tile/neutral{dir = 8},/obj/effect/turf_decal/bot,/turf/open/floor/plasteel/dark,/area/space)
+"zk" = (/obj/machinery/door/airlock/virology{name = "Virology Access"; req_access_txt = "39"},/obj/effect/turf_decal/tile/green,/obj/effect/turf_decal/tile/green{dir = 4},/obj/effect/turf_decal/tile/green{dir = 8},/obj/effect/turf_decal/tile/green{dir = 1},/turf/open/floor/plasteel/white,/area/space)
+"zl" = (/obj/structure/chair{dir = 4},/obj/effect/turf_decal/tile/blue{dir = 1},/obj/effect/turf_decal/tile/blue{dir = 8},/obj/machinery/light{dir = 8; light_color = "#e8eaff"},/turf/open/floor/plasteel/white,/area/space)
+"zm" = (/obj/effect/turf_decal/tile/green{dir = 4},/obj/effect/turf_decal/tile/green{dir = 1},/obj/effect/turf_decal/stripes/line{dir = 1},/turf/open/floor/plasteel/white,/area/space)
+"zn" = (/obj/machinery/clonepod,/obj/effect/turf_decal/tile/neutral{dir = 1},/obj/structure/window/reinforced{dir = 1},/obj/effect/turf_decal/tile/neutral{dir = 8},/obj/effect/turf_decal/delivery,/obj/machinery/light{light_color = "#e8eaff"},/turf/open/floor/plasteel/dark,/area/space)
+"zo" = (/obj/effect/turf_decal/tile/blue{dir = 4},/obj/effect/turf_decal/tile/blue{dir = 1},/obj/effect/turf_decal/stripes/corner{dir = 8},/turf/open/floor/plasteel/white,/area/space)
+"zp" = (/obj/effect/turf_decal/tile/green{dir = 8},/obj/effect/turf_decal/tile/green,/turf/open/floor/plasteel/white,/area/space)
+"zq" = (/obj/effect/turf_decal/tile/blue{dir = 4},/obj/effect/turf_decal/tile/blue,/obj/effect/turf_decal/tile/blue{dir = 1},/obj/effect/turf_decal/stripes/line{dir = 5},/turf/open/floor/plasteel/white,/area/space)
+"zr" = (/obj/effect/turf_decal/stripes/line{dir = 9},/obj/effect/turf_decal/stripes/corner,/turf/open/floor/plasteel/dark,/area/space)
+"zs" = (/obj/effect/turf_decal/stripes/line{dir = 1},/obj/effect/turf_decal/stripes/line,/obj/effect/turf_decal/caution{dir = 1},/turf/open/floor/plasteel/dark,/area/space)
+"zt" = (/obj/machinery/shower{pixel_y = 22},/obj/effect/turf_decal/tile/neutral,/obj/effect/turf_decal/tile/neutral{dir = 8},/obj/effect/turf_decal/tile/neutral{dir = 1},/obj/effect/turf_decal/tile/neutral{dir = 4},/obj/effect/turf_decal/box,/turf/open/floor/plasteel/dark,/area/space)
+"zu" = (/obj/machinery/door/airlock/virology{autoclose = 0; frequency = 1449; id_tag = "virology_airlock_exterior"; name = "Virology Exterior Airlock"; req_access_txt = "39"},/obj/effect/turf_decal/delivery,/turf/open/floor/plasteel/dark,/area/space)
+"zv" = (/obj/effect/turf_decal/tile/neutral{dir = 8},/obj/effect/turf_decal/tile/neutral{dir = 1},/obj/effect/turf_decal/bot,/obj/structure/window/reinforced,/obj/machinery/shower{dir = 4},/turf/open/floor/plasteel/dark,/area/space)
+"zw" = (/obj/effect/turf_decal/tile/green{dir = 1},/obj/effect/turf_decal/tile/green{dir = 4},/obj/effect/turf_decal/stripes/line{dir = 9},/turf/open/floor/plasteel/white,/area/space)
+"zx" = (/obj/machinery/door/airlock/medical,/obj/effect/turf_decal/tile/blue,/obj/effect/turf_decal/tile/blue{dir = 8},/turf/open/floor/plasteel/white,/area/space)
+"zy" = (/obj/effect/turf_decal/tile/neutral{dir = 8},/obj/effect/turf_decal/tile/neutral{dir = 1},/obj/structure/sink{dir = 4; pixel_x = -12},/turf/open/floor/plasteel/dark,/area/space)
+"zz" = (/obj/structure/table/reinforced,/obj/effect/turf_decal/tile/neutral{dir = 1},/obj/effect/turf_decal/tile/neutral{dir = 4},/obj/effect/turf_decal/tile/neutral{dir = 8},/obj/item/circular_saw{pixel_y = 8},/obj/item/scalpel,/obj/item/surgical_drapes,/obj/item/reagent_containers/medspray/sterilizine,/obj/effect/turf_decal/tile/neutral,/turf/open/floor/plasteel/dark,/area/space)
+"zA" = (/obj/effect/turf_decal/tile/blue{dir = 4},/obj/effect/turf_decal/tile/blue{dir = 1},/obj/machinery/door/airlock/medical,/obj/effect/turf_decal/tile/yellow,/obj/effect/turf_decal/tile/yellow{dir = 8},/turf/open/floor/plasteel/white,/area/space)
+"zB" = (/obj/effect/turf_decal/tile/neutral{dir = 8},/obj/effect/turf_decal/tile/neutral{dir = 1},/obj/effect/turf_decal/bot,/obj/structure/window/reinforced{dir = 1; layer = 2.9},/obj/machinery/shower{dir = 4},/turf/open/floor/plasteel/dark,/area/space)
+"zC" = (/obj/effect/turf_decal/tile/green{dir = 8},/obj/effect/turf_decal/tile/green,/obj/effect/turf_decal/stripes/line{dir = 10},/turf/open/floor/plasteel/white,/area/space)
+"zD" = (/obj/structure/bed/roller,/obj/machinery/iv_drip,/obj/effect/turf_decal/tile/neutral{dir = 8},/obj/effect/turf_decal/tile/neutral{dir = 1},/turf/open/floor/plasteel/dark,/area/space)
+"zE" = (/obj/effect/turf_decal/stripes/corner{dir = 4},/turf/open/floor/plasteel/white,/area/space)
+"zF" = (/obj/structure/table/reinforced,/obj/effect/turf_decal/tile/neutral{dir = 1},/obj/effect/turf_decal/tile/neutral{dir = 4},/obj/item/retractor,/obj/item/hemostat,/obj/item/cautery,/obj/machinery/button{pixel_y = 28},/obj/effect/turf_decal/tile/neutral{dir = 8},/obj/effect/turf_decal/tile/neutral,/turf/open/floor/plasteel/dark,/area/space)
+"zG" = (/obj/effect/turf_decal/tile/blue{dir = 4},/obj/effect/turf_decal/tile/blue{dir = 1},/obj/effect/turf_decal/stripes/corner{dir = 4},/turf/open/floor/plasteel/white,/area/space)
+"zH" = (/obj/effect/turf_decal/tile/blue{dir = 1},/obj/effect/turf_decal/tile/blue{dir = 8},/obj/effect/turf_decal/stripes/line{dir = 8},/turf/open/floor/plasteel/white,/area/space)
+"zI" = (/obj/machinery/rnd/production/protolathe/department/medical,/obj/effect/turf_decal/delivery,/obj/machinery/light,/turf/open/floor/plasteel/dark,/area/space)
+"zJ" = (/obj/effect/turf_decal/stripes/line{dir = 1},/turf/open/floor/plasteel/dark,/area/space)
+"zK" = (/obj/structure/table/reinforced,/obj/effect/turf_decal/tile/neutral{dir = 1},/obj/effect/turf_decal/tile/neutral{dir = 4},/obj/effect/turf_decal/tile/neutral,/obj/item/book/manual/wiki/surgery,/obj/item/surgicaldrill,/obj/item/razor,/obj/item/clothing/mask/surgical,/obj/item/clothing/suit/apron/surgical,/obj/item/clothing/gloves/color/latex,/obj/effect/turf_decal/tile/neutral{dir = 8},/turf/open/floor/plasteel/dark,/area/space)
+"zL" = (/obj/effect/turf_decal/tile/green,/obj/effect/turf_decal/tile/green{dir = 4},/obj/effect/turf_decal/tile/green{dir = 8},/obj/machinery/light/small{dir = 4},/turf/open/floor/plasteel/white,/area/space)
+"zM" = (/obj/machinery/door/airlock/virology{name = "Break Room"; req_access_txt = "39"},/turf/open/floor/plasteel/dark,/area/space)
+"zN" = (/obj/structure/table/glass,/obj/item/reagent_containers/glass/beaker,/obj/item/reagent_containers/dropper,/obj/item/reagent_containers/syringe,/turf/open/floor/plasteel/freezer,/area/space)
+"zO" = (/obj/structure/table/glass,/obj/item/folder/white,/obj/item/pen/red,/turf/open/floor/plasteel/freezer,/area/space)
+"zP" = (/obj/effect/spawner/structure/window/reinforced,/obj/structure/cable,/turf/open/floor/plating,/area/space)
+"zQ" = (/obj/effect/turf_decal/stripes/line,/turf/open/floor/plasteel/dark,/area/space)
+"zR" = (/obj/machinery/light/small{brightness = 3; dir = 8},/turf/open/floor/plasteel/freezer,/area/space)
+"zS" = (/obj/machinery/light/small{dir = 4},/turf/open/floor/plasteel/freezer,/area/space)
+"zT" = (/obj/effect/turf_decal/tile/green{dir = 4},/obj/effect/turf_decal/tile/green,/obj/structure/closet/emcloset,/obj/machinery/light{dir = 4; light_color = "#e8eaff"},/turf/open/floor/plasteel/white,/area/space)
+"zU" = (/obj/machinery/vending/wardrobe/viro_wardrobe,/obj/effect/turf_decal/tile/neutral{dir = 4},/obj/effect/turf_decal/tile/neutral{dir = 1},/obj/effect/turf_decal/tile/neutral{dir = 8; step_y = 0},/obj/effect/turf_decal/tile/neutral,/obj/effect/turf_decal/bot,/obj/effect/turf_decal/stripes/line{dir = 4},/turf/open/floor/plasteel/dark,/area/space)
+"zV" = (/obj/machinery/atmospherics/components/unary/portables_connector/visible{name = "virology patient chambers port"},/obj/machinery/portable_atmospherics/canister/nitrous_oxide,/obj/effect/turf_decal/delivery,/turf/open/floor/plasteel/dark,/area/space)
+"zW" = (/obj/machinery/atmospherics/components/unary/portables_connector/visible,/obj/machinery/portable_atmospherics/canister/air,/obj/effect/turf_decal/bot,/turf/open/floor/plasteel/dark,/area/space)
+"zX" = (/obj/machinery/atmospherics/components/unary/tank/air,/obj/effect/turf_decal/delivery,/turf/open/floor/plasteel/dark,/area/space)
+"zY" = (/obj/structure/table/glass,/obj/effect/turf_decal/tile/neutral{dir = 1},/obj/effect/turf_decal/tile/neutral{dir = 8; step_y = 0},/obj/effect/turf_decal/tile/neutral,/obj/item/storage/box/monkeycubes{pixel_x = 4; pixel_y = 4},/obj/item/storage/box/monkeycubes,/turf/open/floor/plasteel/dark,/area/space)
+"zZ" = (/obj/effect/turf_decal/tile/yellow{dir = 4},/obj/effect/turf_decal/tile/yellow{dir = 1},/obj/effect/turf_decal/tile/yellow{dir = 8},/turf/open/floor/plasteel/white,/area/space)
+"Aa" = (/obj/machinery/door/airlock/virology/glass{name = "Test Subject Cell"; req_access_txt = "39"},/turf/open/floor/plasteel/dark,/area/space)
+"Ab" = (/obj/structure/flora/ausbushes/ppflowers,/mob/living/carbon/monkey,/turf/open/floor/grass,/area/space)
+"Ac" = (/obj/structure/flora/ausbushes/leafybush,/obj/structure/flora/grass/jungle,/turf/open/floor/grass,/area/space)
+"Ad" = (/obj/structure/flora/ausbushes/stalkybush,/obj/structure/flora/ausbushes/lavendergrass,/obj/structure/flora/junglebush,/turf/open/floor/grass,/area/space)
+"Ae" = (/obj/structure/flora/ausbushes/brflowers,/obj/structure/flora/ausbushes/lavendergrass,/turf/open/floor/grass,/area/space)
+"Af" = (/obj/structure/flora/ausbushes/fullgrass,/turf/open/floor/grass,/area/space)
+"Ag" = (/obj/effect/turf_decal/tile/green{dir = 4},/obj/effect/turf_decal/tile/green{dir = 1},/obj/effect/turf_decal/stripes/line{dir = 1},/obj/machinery/atmospherics/pipe/simple/purple/hidden,/turf/open/floor/plasteel/white,/area/space)
+"Ah" = (/obj/structure/flora/ausbushes/leafybush,/obj/structure/flora/ausbushes/lavendergrass,/turf/open/floor/grass,/area/space)
+"Ai" = (/obj/structure/flora/ausbushes/fullgrass,/obj/structure/flora/ausbushes/ywflowers,/turf/open/floor/grass,/area/space)
+"Aj" = (/obj/structure/sink/puddle,/obj/structure/flora/ausbushes/reedbush,/obj/structure/flora/ausbushes/sparsegrass,/turf/open/floor/grass,/area/space)
+"Ak" = (/obj/structure/flora/ausbushes/genericbush,/obj/structure/flora/junglebush/b,/turf/open/floor/grass,/area/space)
+"Al" = (/obj/structure/flora/ausbushes/ppflowers,/obj/structure/flora/ausbushes/ywflowers,/turf/open/floor/grass,/area/space)
+"Am" = (/obj/structure/flora/ausbushes/brflowers,/obj/structure/flora/ausbushes/palebush,/mob/living/carbon/monkey,/turf/open/floor/grass,/area/space)
+"An" = (/obj/structure/flora/ausbushes/ppflowers,/obj/structure/flora/ausbushes/brflowers,/obj/structure/flora/junglebush,/turf/open/floor/grass,/area/space)
+"Ao" = (/obj/structure/flora/ausbushes/brflowers,/obj/structure/flora/ausbushes/leafybush,/mob/living/carbon/monkey,/turf/open/floor/grass,/area/space)
+"Ap" = (/obj/structure/flora/ausbushes/fullgrass,/obj/structure/flora/junglebush/large,/turf/open/floor/grass,/area/space)
+"Aq" = (/obj/structure/flora/ausbushes/reedbush,/mob/living/carbon/monkey,/turf/open/floor/grass,/area/space)
+"Ar" = (/obj/structure/flora/ausbushes/leafybush,/obj/structure/flora/ausbushes/fullgrass,/obj/structure/flora/grass/jungle/b,/turf/open/floor/grass,/area/space)
+"As" = (/obj/structure/flora/ausbushes/ywflowers,/obj/structure/flora/rock/jungle,/turf/open/floor/grass,/area/space)
+"At" = (/obj/structure/flora/ausbushes/lavendergrass,/obj/structure/flora/ausbushes/ywflowers,/mob/living/carbon/monkey,/turf/open/floor/grass,/area/space)
+"Au" = (/obj/structure/flora/ausbushes/ppflowers,/obj/structure/flora/ausbushes/palebush,/obj/structure/flora/ausbushes/lavendergrass,/obj/structure/flora/junglebush/c,/turf/open/floor/grass,/area/space)
+"Av" = (/obj/structure/flora/ausbushes/sunnybush,/obj/structure/flora/junglebush/b,/turf/open/floor/grass,/area/space)
+"Aw" = (/obj/effect/turf_decal/tile/green{dir = 4},/obj/effect/turf_decal/tile/green{dir = 1},/obj/effect/turf_decal/tile/green,/obj/effect/turf_decal/stripes/line{dir = 1},/turf/open/floor/plasteel/white,/area/space)
+"Ax" = (/obj/effect/spawner/structure/window/reinforced,/obj/machinery/atmospherics/pipe/simple/purple/hidden{dir = 5},/obj/structure/cable,/turf/open/floor/plating,/area/space)
+"Ay" = (/obj/machinery/door/airlock/virology/glass{name = "Isolation A"; req_access_txt = "39"},/obj/effect/turf_decal/tile/green{dir = 4},/obj/effect/turf_decal/tile/green,/obj/effect/turf_decal/tile/green{dir = 8},/obj/effect/turf_decal/tile/green{dir = 1},/obj/machinery/atmospherics/pipe/simple/purple/hidden,/obj/machinery/atmospherics/pipe/simple/purple/hidden,/turf/open/floor/plasteel/white,/area/space)
+"Az" = (/obj/machinery/atmospherics/pipe/simple/purple/hidden{dir = 4},/turf/closed/wall,/area/space)
+"AA" = (/obj/machinery/door/airlock/virology/glass{name = "Isolation B"; req_access_txt = "39"},/obj/effect/turf_decal/tile/green{dir = 4},/obj/effect/turf_decal/tile/green,/obj/effect/turf_decal/tile/green{dir = 8},/obj/effect/turf_decal/tile/green{dir = 1},/obj/machinery/atmospherics/pipe/simple/purple/hidden{dir = 4},/turf/open/floor/plasteel/white,/area/space)
+"AB" = (/obj/effect/spawner/structure/window/reinforced,/obj/machinery/atmospherics/pipe/manifold/purple/hidden,/obj/structure/cable,/turf/open/floor/plating,/area/space)
+"AC" = (/obj/machinery/atmospherics/pipe/simple/purple/hidden{dir = 4},/turf/closed/wall/r_wall,/area/space)
+"AD" = (/obj/machinery/door/airlock/virology{autoclose = 0; frequency = 1449; id_tag = "virology_airlock_interior"; name = "Virology Interior Airlock"; req_access_txt = "39"},/obj/effect/turf_decal/delivery,/obj/machinery/atmospherics/pipe/simple/purple/hidden{dir = 4},/turf/open/floor/plasteel/dark,/area/space)
+"AE" = (/obj/structure/table/glass,/obj/effect/turf_decal/tile/neutral{dir = 8; step_y = 0},/obj/effect/turf_decal/tile/neutral,/obj/item/toy/figure/geneticist{pixel_x = -6; pixel_y = 6},/turf/open/floor/plasteel/dark,/area/space)
+"AF" = (/obj/machinery/atmospherics/pipe/simple/purple/hidden{dir = 9},/obj/structure/chair/office/light{dir = 8},/obj/effect/turf_decal/tile/green{dir = 1},/obj/effect/turf_decal/tile/green{dir = 4},/obj/effect/turf_decal/tile/green{dir = 8},/obj/effect/turf_decal/tile/green,/turf/open/floor/plasteel/white,/area/space)
+"AG" = (/obj/effect/turf_decal/tile/green{dir = 4},/obj/effect/turf_decal/tile/green,/obj/effect/turf_decal/tile/green{dir = 1},/obj/effect/turf_decal/tile/green{dir = 8},/turf/open/floor/plasteel/white,/area/space)
+"AH" = (/obj/effect/turf_decal/tile/yellow{dir = 1},/obj/effect/turf_decal/tile/blue{dir = 4},/obj/effect/turf_decal/tile/blue,/obj/effect/turf_decal/stripes/line{dir = 4},/turf/open/floor/plasteel/white,/area/space)
+"AI" = (/obj/effect/turf_decal/tile/neutral,/obj/effect/turf_decal/tile/neutral{dir = 8},/obj/effect/turf_decal/bot,/obj/structure/closet/l3closet,/turf/open/floor/plasteel/dark,/area/space)
+"AJ" = (/obj/effect/turf_decal/tile/green{dir = 4},/obj/effect/turf_decal/tile/green{dir = 1},/obj/effect/turf_decal/tile/green{dir = 8},/obj/effect/turf_decal/stripes/line{dir = 8},/turf/open/floor/plasteel/white,/area/space)
+"AK" = (/obj/effect/turf_decal/tile/green{dir = 4},/obj/effect/turf_decal/tile/green{dir = 1},/obj/structure/sink{pixel_y = 32},/turf/open/floor/plasteel/white,/area/space)
+"AL" = (/obj/effect/turf_decal/tile/green{dir = 4},/obj/effect/turf_decal/tile/green{dir = 1},/turf/open/floor/plasteel/white,/area/space)
+"AM" = (/obj/structure/table/glass,/obj/effect/turf_decal/tile/green{dir = 4},/obj/effect/turf_decal/tile/green{dir = 1},/obj/item/paper_bin{pixel_x = -4; pixel_y = 6},/obj/item/pen{pixel_x = -4; pixel_y = 6},/turf/open/floor/plasteel/white,/area/space)
+"AN" = (/obj/structure/table/glass,/obj/effect/turf_decal/tile/green{dir = 4},/obj/effect/turf_decal/tile/green,/obj/effect/turf_decal/tile/green{dir = 1},/obj/item/hand_labeler,/obj/item/radio/headset/headset_med,/turf/open/floor/plasteel/white,/area/space)
+"AO" = (/obj/structure/chair{dir = 8},/obj/machinery/light/small{dir = 4},/turf/open/floor/plasteel/dark,/area/space)
+"AP" = (/obj/effect/turf_decal/stripes/line{dir = 1},/obj/effect/turf_decal/tile/blue,/obj/effect/turf_decal/tile/blue{dir = 8},/obj/effect/turf_decal/tile/blue,/obj/machinery/light{dir = 8; light_color = "#e8eaff"},/turf/open/floor/plasteel/white,/area/space)
+"AQ" = (/obj/effect/turf_decal/tile/green{dir = 1},/obj/effect/turf_decal/tile/green{dir = 8},/turf/open/floor/plasteel/white,/area/space)
+"AR" = (/obj/effect/turf_decal/tile/green,/obj/effect/turf_decal/tile/green{dir = 1},/obj/effect/turf_decal/tile/green{dir = 8},/obj/effect/turf_decal/tile/green{dir = 4},/turf/open/floor/plasteel/white,/area/space)
+"AS" = (/obj/effect/turf_decal/tile/green,/obj/effect/turf_decal/tile/green{dir = 4},/obj/effect/turf_decal/tile/green{dir = 8},/obj/effect/turf_decal/tile/green{dir = 1},/turf/open/floor/plasteel/white,/area/space)
+"AT" = (/obj/structure/table/glass,/obj/effect/turf_decal/tile/green,/obj/effect/turf_decal/tile/green{dir = 4},/obj/machinery/microwave{pixel_x = 2; pixel_y = 6},/turf/open/floor/plasteel/white,/area/space)
+"AU" = (/obj/machinery/computer/pandemic,/obj/effect/turf_decal/tile/neutral,/obj/effect/turf_decal/tile/neutral{dir = 8; step_y = 0},/obj/effect/turf_decal/tile/neutral{dir = 4},/obj/effect/turf_decal/tile/neutral{dir = 1},/obj/effect/turf_decal/bot,/turf/open/floor/plasteel/dark,/area/space)
+"AV" = (/obj/effect/turf_decal/tile/green{dir = 1},/obj/effect/turf_decal/tile/green{dir = 8},/obj/effect/turf_decal/stripes/line{dir = 8},/turf/open/floor/plasteel/white,/area/space)
+"AW" = (/obj/effect/turf_decal/tile/green{dir = 4},/obj/effect/turf_decal/tile/green,/turf/open/floor/plasteel/white,/area/space)
+"AX" = (/obj/effect/turf_decal/stripes/line{dir = 8},/turf/open/floor/plasteel/dark,/area/space)
+"AY" = (/obj/effect/turf_decal/tile/green{dir = 1},/obj/effect/turf_decal/tile/green{dir = 8},/obj/effect/turf_decal/tile/green,/turf/open/floor/plasteel/white,/area/space)
+"AZ" = (/obj/effect/turf_decal/tile/green{dir = 8},/obj/effect/turf_decal/tile/green,/obj/structure/chair/stool,/turf/open/floor/plasteel/white,/area/space)
+"Ba" = (/obj/structure/table/glass,/obj/effect/turf_decal/tile/green,/obj/effect/turf_decal/tile/green{dir = 8},/obj/effect/turf_decal/tile/green{dir = 4},/obj/item/storage/box/donkpockets,/obj/item/radio,/turf/open/floor/plasteel/white,/area/space)
+"Bb" = (/obj/structure/table/glass,/obj/item/clothing/gloves/color/latex,/obj/item/healthanalyzer,/obj/item/clothing/glasses/hud/health,/obj/item/clothing/glasses/science,/obj/effect/turf_decal/tile/neutral,/obj/effect/turf_decal/tile/neutral{dir = 8; step_y = 0},/obj/effect/turf_decal/tile/neutral{dir = 4},/obj/effect/turf_decal/tile/neutral{dir = 1},/turf/open/floor/plasteel/dark,/area/space)
+"Bc" = (/obj/structure/chair/office/light{dir = 8},/obj/effect/turf_decal/tile/green{dir = 8},/obj/effect/turf_decal/tile/green{dir = 1},/obj/effect/turf_decal/tile/green,/obj/effect/turf_decal/stripes/line{dir = 10},/turf/open/floor/plasteel/white,/area/space)
+"Bd" = (/obj/effect/turf_decal/tile/green{dir = 8},/obj/effect/turf_decal/tile/green,/obj/effect/turf_decal/stripes/line,/turf/open/floor/plasteel/white,/area/space)
+"Be" = (/obj/effect/turf_decal/tile/green{dir = 4},/obj/effect/turf_decal/tile/green,/obj/effect/turf_decal/stripes/line,/obj/effect/turf_decal/tile/green{dir = 8},/turf/open/floor/plasteel/white,/area/space)
+"Bf" = (/obj/effect/turf_decal/stripes/corner,/obj/effect/turf_decal/stripes/line{dir = 8},/turf/open/floor/plasteel/dark,/area/space)
+"Bg" = (/obj/structure/table/glass,/obj/item/folder/white,/obj/item/pen/red,/obj/item/stack/sheet/mineral/plasma,/obj/item/stack/sheet/mineral/plasma,/obj/effect/turf_decal/tile/neutral,/obj/effect/turf_decal/tile/neutral{dir = 8; step_y = 0},/obj/effect/turf_decal/tile/neutral{dir = 4},/obj/effect/turf_decal/tile/neutral{dir = 1},/turf/open/floor/plasteel/dark,/area/space)
+"Bh" = (/obj/structure/table/glass,/obj/machinery/reagentgrinder{desc = "Used to grind things up into raw materials and liquids."; pixel_y = 5},/obj/effect/turf_decal/tile/neutral,/obj/effect/turf_decal/tile/neutral{dir = 8; step_y = 0},/obj/effect/turf_decal/tile/neutral{dir = 4},/obj/effect/turf_decal/tile/neutral{dir = 1},/obj/machinery/light,/turf/open/floor/plasteel/dark,/area/space)
+"Bi" = (/obj/machinery/smartfridge/chemistry/virology/preloaded,/obj/effect/turf_decal/bot,/obj/effect/turf_decal/tile/neutral,/obj/effect/turf_decal/tile/neutral{dir = 8; step_y = 0},/obj/effect/turf_decal/tile/neutral{dir = 4},/obj/effect/turf_decal/tile/neutral{dir = 1},/turf/open/floor/plasteel/dark,/area/space)
+"Bj" = (/obj/structure/table/glass,/obj/item/book/manual/wiki/infections,/obj/item/reagent_containers/syringe,/obj/item/reagent_containers/dropper,/obj/item/reagent_containers/spray/cleaner,/obj/effect/turf_decal/tile/neutral,/obj/effect/turf_decal/tile/neutral{dir = 8; step_y = 0},/obj/effect/turf_decal/tile/neutral{dir = 4},/obj/effect/turf_decal/tile/neutral{dir = 1},/turf/open/floor/plasteel/dark,/area/space)
+"Bk" = (/obj/structure/table/glass,/obj/item/storage/box/beakers{pixel_x = 3; pixel_y = 3},/obj/item/storage/box/syringes,/obj/effect/turf_decal/tile/neutral,/obj/effect/turf_decal/tile/neutral{dir = 8; step_y = 0},/obj/effect/turf_decal/tile/neutral{dir = 4},/obj/effect/turf_decal/tile/neutral{dir = 1},/turf/open/floor/plasteel/dark,/area/space)
+"Bl" = (/obj/structure/closet/crate/freezer,/obj/effect/turf_decal/tile/neutral,/obj/effect/turf_decal/tile/neutral{dir = 8; step_y = 0},/obj/effect/turf_decal/tile/neutral{dir = 4},/obj/effect/turf_decal/tile/neutral{dir = 1},/obj/effect/turf_decal/bot,/obj/item/reagent_containers/blood,/obj/item/reagent_containers/blood,/obj/item/reagent_containers/blood/APlus,/obj/item/reagent_containers/blood/BMinus,/obj/item/reagent_containers/blood/BPlus,/obj/item/reagent_containers/blood/OMinus,/obj/item/reagent_containers/blood/OPlus,/obj/item/reagent_containers/blood/random,/obj/item/reagent_containers/blood/random,/obj/item/reagent_containers/blood/random,/turf/open/floor/plasteel/dark,/area/space)
+"Bm" = (/obj/effect/turf_decal/stripes/line{dir = 8},/obj/effect/turf_decal/stripes/line{dir = 4},/obj/structure/window/reinforced{dir = 8; layer = 2.9},/turf/open/floor/plasteel/dark,/area/space)
+"Bn" = (/obj/structure/closet/secure_closet/medical1,/obj/effect/turf_decal/tile/neutral{dir = 8; step_y = 0},/obj/effect/turf_decal/tile/neutral,/obj/effect/turf_decal/tile/neutral{dir = 4},/obj/effect/turf_decal/tile/neutral{dir = 1},/obj/effect/turf_decal/bot,/obj/machinery/light,/turf/open/floor/plasteel/dark,/area/space)
+"Bo" = (/obj/structure/closet/l3closet/virology,/obj/effect/turf_decal/tile/neutral{dir = 8; step_y = 0},/obj/effect/turf_decal/tile/neutral,/obj/effect/turf_decal/tile/neutral{dir = 4},/obj/effect/turf_decal/tile/neutral{dir = 1},/obj/effect/turf_decal/bot,/turf/open/floor/plasteel/dark,/area/space)
+"Bp" = (/obj/structure/flora/ausbushes/fullgrass,/obj/structure/flora/junglebush/c,/obj/machinery/light{dir = 4},/turf/open/floor/grass,/area/space)
+"Bq" = (/obj/structure/flora/ausbushes/fullgrass,/obj/machinery/light{dir = 8},/turf/open/floor/grass,/area/space)
+"Br" = (/obj/structure/table/glass,/obj/effect/turf_decal/tile/neutral{dir = 8; step_y = 0},/obj/item/storage/box/rxglasses{pixel_x = 4; pixel_y = 4},/obj/item/storage/box/disks,/turf/open/floor/plasteel/dark,/area/space)
+"Bs" = (/obj/machinery/computer/scan_consolenew{dir = 4},/obj/effect/turf_decal/tile/neutral,/obj/effect/turf_decal/tile/neutral{dir = 4},/obj/effect/turf_decal/bot,/obj/machinery/light{dir = 8},/turf/open/floor/plasteel/dark,/area/space)
+"Bt" = (/obj/effect/turf_decal/tile/blue{dir = 8},/obj/effect/turf_decal/tile/blue{dir = 4},/obj/effect/turf_decal/tile/purple{dir = 1},/obj/effect/turf_decal/stripes/line{dir = 9},/turf/open/floor/plasteel/white,/area/space)
+"Bu" = (/obj/effect/turf_decal/tile/blue{dir = 4},/obj/effect/turf_decal/tile/purple{dir = 1},/obj/effect/turf_decal/stripes/line{dir = 1},/turf/open/floor/plasteel/white,/area/space)
+"Bv" = (/obj/structure/bed/roller,/obj/machinery/iv_drip,/obj/effect/turf_decal/tile/neutral{dir = 8},/obj/effect/turf_decal/tile/neutral{dir = 1},/obj/effect/turf_decal/tile/neutral,/turf/open/floor/plasteel/dark,/area/space)
+"Bw" = (/obj/effect/turf_decal/tile/purple{dir = 4},/obj/effect/turf_decal/tile/blue{dir = 1},/obj/effect/turf_decal/stripes/line{dir = 1},/turf/open/floor/plasteel/white,/area/space)
+"Bx" = (/obj/effect/turf_decal/tile/purple{dir = 4},/obj/effect/turf_decal/tile/blue{dir = 1},/obj/effect/turf_decal/tile/blue,/obj/effect/turf_decal/stripes/line{dir = 5},/turf/open/floor/plasteel/white,/area/space)
+"By" = (/obj/machinery/computer/scan_consolenew{dir = 8},/obj/effect/turf_decal/tile/neutral{dir = 8; step_y = 0},/obj/effect/turf_decal/tile/neutral{dir = 1},/obj/effect/turf_decal/bot,/obj/machinery/light{dir = 4; light_color = "#e8eaff"},/turf/open/floor/plasteel/dark,/area/space)
+"Bz" = (/obj/machinery/dna_scannernew,/obj/effect/turf_decal/tile/neutral{dir = 8; step_y = 0},/obj/effect/turf_decal/tile/neutral,/obj/effect/turf_decal/tile/neutral{dir = 4},/obj/effect/turf_decal/bot,/turf/open/floor/plasteel/dark,/area/space)
+"BA" = (/obj/effect/turf_decal/tile/blue{dir = 8},/obj/effect/turf_decal/tile/purple{dir = 1},/obj/effect/turf_decal/stripes/line{dir = 8},/turf/open/floor/plasteel/white,/area/space)
+"BB" = (/obj/effect/turf_decal/tile/purple{dir = 4},/obj/effect/turf_decal/tile/blue,/obj/effect/turf_decal/stripes/line{dir = 4},/turf/open/floor/plasteel/white,/area/space)
+"BC" = (/obj/machinery/dna_scannernew,/obj/effect/turf_decal/tile/neutral{dir = 8; step_y = 0},/obj/effect/turf_decal/tile/neutral,/obj/effect/turf_decal/tile/neutral{dir = 1},/obj/effect/turf_decal/bot,/turf/open/floor/plasteel/dark,/area/space)
+"BD" = (/obj/structure/table/glass,/obj/item/cartridge/medical{pixel_x = 3; pixel_y = 3},/obj/item/cartridge/medical{pixel_x = 1; pixel_y = 1},/obj/item/cartridge/chemistry{pixel_x = -1; pixel_y = -1},/obj/item/cartridge/chemistry{pixel_x = -3; pixel_y = -3},/obj/effect/turf_decal/tile/neutral{dir = 4},/obj/effect/turf_decal/tile/neutral,/obj/machinery/light{dir = 4; light_color = "#e8eaff"},/obj/item/toy/figure/cmo,/turf/open/floor/plasteel/dark,/area/space)
+"BE" = (/obj/machinery/disposal/bin,/obj/effect/turf_decal/tile/neutral{dir = 8; step_y = 0},/obj/effect/turf_decal/tile/neutral,/obj/effect/turf_decal/tile/neutral{dir = 4},/obj/effect/turf_decal/tile/neutral{dir = 1},/obj/effect/turf_decal/bot,/obj/structure/sign/warning/deathsposal{pixel_x = -32},/turf/open/floor/plasteel/dark,/area/space)
+"BF" = (/obj/effect/turf_decal/tile/blue,/obj/effect/turf_decal/tile/blue{dir = 8},/obj/effect/turf_decal/stripes/corner,/turf/open/floor/plasteel/white,/area/space)
+"BG" = (/obj/effect/turf_decal/tile/blue,/obj/effect/turf_decal/tile/blue{dir = 8},/obj/effect/turf_decal/stripes/line{dir = 6},/turf/open/floor/plasteel/white,/area/space)
+"BH" = (/obj/effect/turf_decal/tile/blue{dir = 8},/obj/effect/turf_decal/tile/green,/obj/effect/turf_decal/tile/blue{dir = 1},/obj/effect/turf_decal/stripes/corner,/obj/effect/turf_decal/stripes/line{dir = 8},/turf/open/floor/plasteel/white,/area/space)
+"BI" = (/obj/structure/bed,/obj/item/bedsheet/medical,/obj/effect/turf_decal/tile/blue{dir = 4},/obj/effect/turf_decal/tile/green{dir = 8},/obj/effect/turf_decal/stripes/corner{dir = 1},/obj/effect/turf_decal/tile/blue,/turf/open/floor/plasteel/white,/area/space)
+"BJ" = (/obj/effect/turf_decal/stripes/line{dir = 4},/obj/effect/turf_decal/tile/blue{dir = 8},/turf/open/floor/plasteel/white,/area/space)
+"BK" = (/obj/effect/turf_decal/tile/neutral{dir = 1},/obj/effect/turf_decal/tile/neutral{dir = 4},/obj/effect/turf_decal/tile/neutral{dir = 8; step_y = 0},/obj/effect/turf_decal/tile/neutral,/obj/effect/turf_decal/bot,/obj/machinery/disposal/bin,/turf/open/floor/plasteel/dark,/area/space)
+"BL" = (/obj/effect/turf_decal/tile/blue,/obj/effect/turf_decal/tile/blue{dir = 8},/obj/machinery/door/airlock/research{name = "Genetics Lab"; req_access_txt = "47, 9"},/obj/effect/turf_decal/tile/blue{dir = 1},/obj/effect/turf_decal/tile/blue{dir = 4},/turf/open/floor/plasteel/white,/area/space)
+"BM" = (/obj/effect/turf_decal/tile/neutral,/obj/effect/turf_decal/tile/neutral{dir = 8},/obj/effect/turf_decal/tile/neutral{dir = 1},/obj/effect/turf_decal/bot,/obj/machinery/smartfridge/organ/preloaded,/turf/open/floor/plasteel/dark,/area/space)
+"BN" = (/obj/effect/turf_decal/tile/yellow{dir = 8},/obj/effect/turf_decal/tile/yellow{dir = 1},/turf/open/floor/plasteel/white,/area/space)
+"BO" = (/obj/effect/turf_decal/tile/blue{dir = 8},/obj/effect/turf_decal/tile/blue{dir = 1},/obj/effect/turf_decal/tile/blue{dir = 1},/obj/structure/closet/wardrobe/pjs,/obj/machinery/light{dir = 1; light_color = "#c1caff"},/obj/effect/turf_decal/tile/blue{dir = 4},/turf/open/floor/plasteel/white,/area/space)
+"BP" = (/obj/effect/turf_decal/tile/blue{dir = 4},/obj/effect/turf_decal/tile/blue{dir = 1},/obj/effect/turf_decal/tile/blue{dir = 1},/turf/open/floor/plasteel/white,/area/space)
+"BQ" = (/obj/effect/turf_decal/tile/blue{dir = 4},/obj/effect/turf_decal/tile/blue,/obj/effect/turf_decal/tile/blue,/obj/effect/turf_decal/tile/blue{dir = 1},/obj/effect/turf_decal/tile/blue{dir = 1},/turf/open/floor/plasteel/white,/area/space)
+"BR" = (/obj/structure/closet/secure_closet/personal/patient,/obj/effect/turf_decal/tile/neutral{dir = 1},/obj/effect/turf_decal/tile/neutral{dir = 8},/obj/effect/turf_decal/bot,/turf/open/floor/plasteel/dark,/area/space)
+"BS" = (/obj/effect/turf_decal/tile/green,/obj/effect/turf_decal/tile/green{dir = 4},/obj/effect/turf_decal/tile/green{dir = 8},/obj/effect/turf_decal/tile/green{dir = 1},/obj/machinery/door/airlock/virology,/turf/open/floor/plasteel/white,/area/space)
+"BT" = (/obj/effect/turf_decal/tile/blue,/obj/effect/turf_decal/tile/blue,/obj/effect/turf_decal/tile/blue{dir = 4},/turf/open/floor/plasteel/white,/area/space)
+"BU" = (/obj/structure/flora/ausbushes/fullgrass,/obj/structure/flora/ausbushes/ppflowers,/mob/living/carbon/monkey,/turf/open/floor/grass,/area/space)
+"BV" = (/obj/structure/flora/junglebush/b,/obj/structure/flora/junglebush/b,/turf/open/floor/grass,/area/space)
+"BW" = (/obj/structure/flora/ausbushes/sparsegrass,/obj/structure/flora/ausbushes/brflowers,/obj/machinery/light{dir = 4; light_color = "#e8eaff"},/mob/living/carbon/monkey,/turf/open/floor/grass,/area/space)
+"BX" = (/obj/effect/turf_decal/tile/blue{dir = 8},/obj/effect/turf_decal/tile/blue,/obj/effect/turf_decal/tile/blue,/obj/effect/turf_decal/stripes/line,/obj/effect/turf_decal/tile/blue{dir = 4},/turf/open/floor/plasteel/white,/area/space)
+"BY" = (/obj/structure/flora/junglebush/c,/turf/open/floor/grass,/area/space)
+"BZ" = (/obj/structure/flora/ausbushes/fullgrass,/obj/structure/flora/ausbushes/sparsegrass,/obj/structure/flora/ausbushes/brflowers,/mob/living/carbon/monkey,/turf/open/floor/grass,/area/space)
+"Ca" = (/obj/structure/flora/ausbushes/ppflowers,/obj/structure/flora/ausbushes/palebush,/obj/structure/flora/ausbushes/grassybush,/turf/open/floor/grass,/area/space)
+"Cb" = (/obj/structure/flora/ausbushes/stalkybush,/obj/structure/flora/ausbushes/ywflowers,/turf/open/floor/grass,/area/space)
+"Cc" = (/obj/structure/flora/junglebush/large,/turf/open/floor/grass,/area/space)
+"Cd" = (/obj/structure/flora/tree/jungle/small,/obj/structure/flora/junglebush,/obj/structure/flora/ausbushes/fullgrass,/turf/open/floor/grass,/area/space)
+"Ce" = (/obj/structure/flora/ausbushes/fernybush,/obj/structure/flora/ausbushes/sunnybush,/obj/structure/flora/ausbushes/fullgrass,/mob/living/carbon/monkey,/turf/open/floor/grass,/area/space)
+"Cf" = (/obj/structure/flora/junglebush/c,/obj/structure/flora/ausbushes/sparsegrass,/turf/open/floor/grass,/area/space)
+"Cg" = (/obj/structure/flora/ausbushes/fullgrass,/obj/structure/flora/ausbushes/pointybush,/mob/living/carbon/monkey,/turf/open/floor/grass,/area/space)
+"Ch" = (/obj/structure/flora/junglebush/large,/obj/machinery/light{dir = 8},/turf/open/floor/grass,/area/space)
+"Ci" = (/obj/structure/flora/ausbushes/genericbush,/obj/structure/flora/ausbushes/leafybush,/obj/structure/flora/ausbushes/ppflowers,/turf/open/floor/grass,/area/space)
+"Cj" = (/obj/structure/flora/ausbushes/sparsegrass,/obj/structure/flora/ausbushes/ywflowers,/turf/open/floor/grass,/area/space)
+"Ck" = (/obj/structure/flora/junglebush,/turf/open/floor/grass,/area/space)
+"Cl" = (/obj/effect/turf_decal/tile/blue{dir = 4},/obj/effect/turf_decal/tile/blue{dir = 1},/obj/effect/turf_decal/tile/blue,/obj/effect/turf_decal/stripes/line{dir = 5},/turf/open/floor/plasteel/white,/area/space)
+"Cm" = (/obj/structure/bed,/obj/item/bedsheet/medical,/obj/machinery/atmospherics/components/unary/passive_vent,/turf/open/floor/plasteel/freezer,/area/space)
+"Cn" = (/obj/structure/table/glass,/obj/effect/turf_decal/tile/green{dir = 1},/obj/effect/turf_decal/tile/green{dir = 8},/obj/machinery/atmospherics/pipe/simple/purple/hidden{dir = 4},/obj/item/paper_bin{pixel_x = -4; pixel_y = 6},/obj/item/pen{pixel_x = -4; pixel_y = 6},/obj/machinery/light{dir = 8; light_color = "#e8eaff"},/obj/item/toy/figure/virologist{pixel_x = 4; pixel_y = 4},/turf/open/floor/plasteel/white,/area/space)
+"Co" = (/obj/structure/table/reinforced,/obj/effect/turf_decal/tile/neutral,/obj/effect/turf_decal/tile/neutral{dir = 8},/obj/effect/turf_decal/tile/neutral{dir = 1},/obj/item/book/manual/wiki/surgery,/obj/item/storage/backpack/duffelbag/med/surgery,/obj/effect/turf_decal/tile/neutral{dir = 4},/turf/open/floor/plasteel/dark,/area/space)
+"Cp" = (/obj/machinery/door/airlock/medical,/obj/effect/turf_decal/tile/blue{dir = 4},/obj/effect/turf_decal/tile/blue{dir = 1},/turf/open/floor/plasteel/white,/area/space)
+"Cq" = (/obj/machinery/door/airlock/medical,/turf/open/floor/plasteel/dark,/area/space)
+"Cr" = (/obj/effect/turf_decal/tile/neutral,/obj/effect/turf_decal/tile/neutral{dir = 8},/obj/structure/closet/secure_closet/medical2,/obj/machinery/light,/obj/effect/turf_decal/tile/neutral{dir = 4},/obj/effect/turf_decal/tile/neutral{dir = 1},/obj/effect/turf_decal/bot,/turf/open/floor/plasteel/dark,/area/space)
+"Cs" = (/obj/structure/table/glass,/obj/item/reagent_containers/glass/bottle/vial/small{pixel_x = 4; pixel_y = 4},/obj/item/reagent_containers/glass/bottle/vial/small,/obj/item/reagent_containers/glass/bottle/vial/small{pixel_x = -4; pixel_y = -4},/obj/item/hypospray/mkii,/turf/open/floor/plasteel/white,/area/space)
+"Ct" = (/obj/structure/table/glass,/obj/item/reagent_containers/syringe,/obj/item/reagent_containers/dropper,/obj/item/reagent_containers/glass/beaker,/obj/effect/turf_decal/tile/blue,/obj/effect/turf_decal/tile/blue{dir = 4},/obj/effect/turf_decal/stripes/line{dir = 4},/turf/open/floor/plasteel/white,/area/space)
+"Cu" = (/obj/effect/turf_decal/tile/neutral,/obj/effect/turf_decal/tile/neutral{dir = 8},/obj/effect/turf_decal/tile/neutral{dir = 4},/obj/effect/turf_decal/tile/neutral{dir = 1},/obj/effect/turf_decal/bot,/obj/machinery/smartfridge/organ/preloaded,/turf/open/floor/plasteel/dark,/area/space)
+"Cv" = (/obj/machinery/door/poddoor/shutters,/turf/open/floor/plasteel/dark,/area/space)
+"Cw" = (/obj/structure/disposaloutlet,/obj/structure/window/reinforced{dir = 4},/obj/effect/turf_decal/stripes/line{dir = 4},/obj/effect/turf_decal/bot,/turf/open/floor/plating,/area/space)
+"Cx" = (/obj/structure/table,/obj/item/storage/box/mousetraps,/obj/item/storage/box/mousetraps,/obj/item/storage/bag/trash,/obj/effect/turf_decal/tile/purple{dir = 1},/obj/effect/turf_decal/tile/purple{dir = 4},/obj/effect/turf_decal/tile/green{dir = 4},/obj/effect/turf_decal/stripes/line{dir = 8},/turf/open/floor/plating,/area/space)
+"Cy" = (/obj/effect/turf_decal/stripes/line{dir = 8},/obj/effect/turf_decal/stripes/line{dir = 4},/turf/open/floor/plasteel/white,/area/space)
+"Cz" = (/obj/effect/turf_decal/tile/blue,/obj/effect/turf_decal/tile/blue,/turf/open/floor/plasteel/white,/area/space)
+"CA" = (/obj/effect/turf_decal/tile/blue{dir = 8},/obj/effect/turf_decal/tile/blue{dir = 8},/turf/open/floor/plasteel/white,/area/space)
+"CB" = (/obj/structure/chair{dir = 8},/obj/effect/turf_decal/tile/neutral{dir = 1},/obj/effect/turf_decal/tile/neutral{dir = 8},/turf/open/floor/plasteel/dark,/area/space)
+"CC" = (/obj/structure/chair{dir = 8},/turf/open/floor/plasteel/dark,/area/space)
+"CD" = (/obj/effect/turf_decal/stripes/line{dir = 1},/obj/effect/turf_decal/tile/blue,/obj/effect/turf_decal/tile/blue{dir = 8},/obj/effect/turf_decal/tile/blue,/turf/open/floor/plasteel/white,/area/space)
+"CE" = (/obj/effect/turf_decal/stripes/corner{dir = 4},/obj/effect/turf_decal/tile/blue,/obj/effect/turf_decal/tile/blue{dir = 8},/obj/effect/turf_decal/tile/blue,/obj/effect/turf_decal/stripes/corner{dir = 8},/turf/open/floor/plasteel/white,/area/space)
+"CF" = (/obj/effect/turf_decal/tile/blue,/obj/effect/turf_decal/tile/blue{dir = 8},/obj/effect/turf_decal/tile/blue,/obj/machinery/holopad,/obj/effect/turf_decal/bot,/obj/effect/turf_decal/stripes/line{dir = 1},/obj/structure/sink{dir = 4; pixel_x = 12},/turf/open/floor/plasteel/white,/area/space)
+"CG" = (/obj/effect/turf_decal/tile/neutral{dir = 1},/obj/effect/turf_decal/tile/neutral{dir = 8},/turf/open/floor/plasteel/dark,/area/space)
+"CH" = (/obj/effect/turf_decal/tile/green{dir = 8},/obj/effect/turf_decal/tile/green{dir = 1},/obj/effect/turf_decal/tile/green,/obj/machinery/light/small{brightness = 3; dir = 8},/turf/open/floor/plasteel/white,/area/space)
+"CI" = (/turf/open/floor/plasteel,/area/space)
+"CJ" = (/obj/effect/turf_decal/tile/neutral,/obj/effect/turf_decal/tile/neutral{dir = 8},/obj/machinery/computer/operating{dir = 1},/obj/effect/turf_decal/bot,/turf/open/floor/plasteel/dark,/area/space)
+"CK" = (/obj/structure/table/optable,/obj/effect/turf_decal/tile/neutral,/obj/effect/turf_decal/tile/neutral{dir = 8},/obj/effect/turf_decal/bot,/obj/effect/turf_decal/stripes/corner,/turf/open/floor/plasteel/dark,/area/space)
+"CL" = (/obj/effect/turf_decal/tile/neutral,/obj/effect/turf_decal/tile/neutral{dir = 8},/obj/effect/turf_decal/stripes/line,/turf/open/floor/plasteel/dark,/area/space)
+"CM" = (/obj/structure/table,/obj/item/storage/box/lights/mixed,/obj/item/storage/box/lights/mixed,/obj/item/grenade/chem_grenade/cleaner,/obj/item/grenade/chem_grenade/cleaner,/obj/item/grenade/clusterbuster/cleaner,/obj/effect/turf_decal/tile/purple{dir = 1},/obj/effect/turf_decal/tile/purple{dir = 4},/obj/effect/turf_decal/tile/green{dir = 4},/turf/open/floor/plasteel,/area/space)
+"CN" = (/obj/machinery/computer/operating{dir = 1},/obj/effect/turf_decal/bot,/turf/open/floor/plasteel/dark,/area/space)
+"CO" = (/obj/effect/turf_decal/stripes/line,/obj/effect/turf_decal/tile/blue{dir = 4},/obj/effect/turf_decal/tile/blue{dir = 4},/turf/open/floor/plasteel/white,/area/space)
+"CP" = (/obj/effect/turf_decal/stripes/line,/obj/effect/turf_decal/tile/blue{dir = 1},/obj/effect/turf_decal/tile/blue{dir = 4},/turf/open/floor/plasteel/white,/area/space)
+"CQ" = (/obj/effect/turf_decal/stripes/line,/obj/effect/turf_decal/tile/blue{dir = 1},/obj/effect/turf_decal/tile/blue{dir = 1},/turf/open/floor/plasteel/white,/area/space)
+"CR" = (/obj/structure/table,/obj/item/restraints/legcuffs/beartrap,/obj/item/restraints/legcuffs/beartrap,/obj/item/reagent_containers/spray/cleaner,/obj/item/reagent_containers/spray/cleaner,/obj/effect/turf_decal/tile/purple{dir = 1},/obj/effect/turf_decal/tile/purple{dir = 4},/obj/effect/turf_decal/tile/green{dir = 4},/turf/open/floor/plasteel,/area/space)
+"CS" = (/obj/structure/closet/l3closet/janitor,/obj/item/clothing/gloves/color/orange,/obj/effect/turf_decal/tile/purple{dir = 1},/obj/effect/turf_decal/tile/purple{dir = 4},/obj/effect/turf_decal/tile/green{dir = 4},/turf/open/floor/plasteel,/area/space)
+"CT" = (/obj/machinery/vending/wardrobe/jani_wardrobe,/obj/effect/turf_decal/tile/purple{dir = 1},/obj/effect/turf_decal/tile/purple{dir = 4},/obj/effect/turf_decal/tile/green{dir = 4},/turf/open/floor/plasteel,/area/space)
+"CU" = (/obj/effect/spawner/lootdrop/maintenance,/obj/effect/spawner/lootdrop/gloves,/obj/machinery/door/window/eastleft,/obj/effect/turf_decal/stripes/line{dir = 4},/obj/machinery/conveyor,/turf/open/floor/plating,/area/space)
+"CV" = (/obj/effect/turf_decal/stripes/line{dir = 8},/obj/machinery/conveyor_switch/oneway{pixel_x = -6; pixel_y = 8},/turf/open/floor/plasteel,/area/space)
+"CW" = (/obj/machinery/door/airlock,/turf/open/floor/plasteel/dark,/area/space)
+"CX" = (/obj/effect/spawner/lootdrop/maintenance,/obj/effect/spawner/lootdrop/glowstick,/obj/machinery/door/window/eastright,/obj/effect/turf_decal/stripes/line{dir = 4},/obj/machinery/conveyor,/turf/open/floor/plating,/area/space)
+"CY" = (/obj/effect/turf_decal/stripes/line{dir = 8},/turf/open/floor/plating,/area/space)
+"CZ" = (/obj/effect/turf_decal/stripes/corner,/turf/open/floor/plasteel,/area/space)
+"Da" = (/obj/effect/turf_decal/stripes/line,/turf/open/floor/plasteel,/area/space)
+"Db" = (/obj/effect/turf_decal/stripes/corner{dir = 1},/turf/open/floor/plating{icon_state = "platingdmg3"},/area/space)
+"Dc" = (/obj/structure/janitorialcart,/turf/open/floor/plasteel,/area/space)
+"Dd" = (/obj/machinery/disposal/deliveryChute{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/effect/turf_decal/stripes/line{dir = 4},/obj/effect/turf_decal/bot,/turf/open/floor/plating,/area/space)
+"De" = (/obj/structure/closet/crate/trashcart,/obj/effect/turf_decal/tile/purple{dir = 8},/obj/effect/turf_decal/tile/purple,/obj/effect/turf_decal/tile/green,/obj/effect/turf_decal/stripes/line{dir = 8},/turf/open/floor/plasteel,/area/space)
+"Df" = (/obj/machinery/portable_atmospherics/canister/water_vapor,/obj/effect/turf_decal/tile/purple,/obj/effect/turf_decal/tile/purple{dir = 8},/obj/effect/turf_decal/tile/green,/obj/effect/turf_decal/stripes/line{dir = 4},/turf/open/floor/plasteel,/area/space)
+"Dg" = (/obj/machinery/disposal/bin,/obj/effect/turf_decal/bot,/turf/open/floor/plating{icon_state = "platingdmg1"},/area/space)
+"Dh" = (/obj/vehicle/ridden/janicart,/obj/item/key/janitor,/obj/effect/turf_decal/tile/purple,/obj/effect/turf_decal/tile/purple{dir = 8},/obj/effect/turf_decal/tile/green,/obj/effect/turf_decal/stripes/line{dir = 8},/turf/open/floor/plasteel,/area/space)
+"Di" = (/obj/structure/reagent_dispensers/watertank,/obj/item/reagent_containers/glass/bucket,/obj/item/mop,/turf/open/floor/plating,/area/space)
+"Dj" = (/obj/structure/mopbucket,/turf/open/floor/plating,/area/space)
+"Dk" = (/obj/effect/turf_decal/tile/neutral,/obj/effect/turf_decal/tile/neutral{dir = 8},/obj/effect/turf_decal/tile/neutral{dir = 4},/obj/structure/closet/secure_closet/medical2,/obj/effect/turf_decal/bot,/obj/effect/turf_decal/stripes/corner{dir = 1},/turf/open/floor/plasteel/dark,/area/space)
+
+(1,1,1) = {"
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahahahahahahajamajahahahahahahaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahananananananapasasasasasauahaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahanavavavavavavavavavavavayahaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahanavazazazazazazazazazavaAahaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahanavaEazazazaJazazazaSavayahaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahahanavazazazazaTazazazazavayahahaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahananavavavazazaUaVaWavavavayanahaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahanaYavaZbabababbbcbabaaZavayanahaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahananavbdbfbfbgbjbkblbmbpavayanahaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahahananbrakbtbtbtaqbvbvbvarbxbzanahahaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahahanananavaLbDbDbEbGbHbDbDaMavanananahahaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahananbKbLavbMaNbsbRbSbTbubwbWavbYanananahaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahanavavavavbZbZbZcacbccbZbZbZavavavavanahaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahahanavazazazcdcecgchcicjckcecdazazazavanahahaaaaaaaaaaaaaaaaaaaaaaaaaagGgGgGgGgGgGgGgGgGgGgGgGgGgGgGgGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahananavclazazcncobAcqcrcubCcxcBazazaSavananahaaaaaaaaaaaaaaaaaaaaaaaaaaaaaagGaaaaaagGaaaaaagGaaaaaagGgGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahananavcDcEcEcFcIcJcLcrcOcPcQcFcEcEaWavcUcVahaaaaaaaaaaaaaaaaaaaaaaaaaaaacWcWcWgGcYcWcWgGcYcWcWcWcWgGgGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahcZanavavbZbZbZbZbIdbcrdcbJbZbZbZbZavavcVanahaaaaaaaaaaaaaaaaaaaaaaaaaaaaaagGaaaaaagGaaaaaagGaagGcYaagGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahdgdldldmdpdqdsdtbOdxdydcbQbZdzdAdBdHanananahaaaaaaaaaaaaaaaaaaaaaaaaaaaadIdJdIaadIdJdIaadIdJdIaacWaagGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahdKdLdMdNdSdZegehbUekelenbVbraneKanbranananahaaaaaaaaaaaaaaaaaaaaaaaaaaaadIeLdIaadIeLdIaadIeLdIaacWaagGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahdKeMavavbZbZbZbZcpeOdyePcwbZbZbZbZavavbKanahaaaaaaaaaaaaaaaaaaaaaaaaaaaadIeLdIaadIeLdIaadIeLdIgGcWaagGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaajdKeMavazazazcdceeReSeTeUeVcecdazazazavancZajaaaaaaaaaaaaaaaaaaaaaaaaaaaadIeLdIaadIeLdIaadIeLdIaaaaaagGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaajdKeMavclazazcncobAeWeXeYbCcxcBazazaSavananajaaaaaaaaaaaaaaaaaaaaaaaaaaaadIdJdIaadIdJdIaadIdJdIaaaacWcWcWaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafafbfceMavcDcEcEcFcIdadfcrdudvcQcFcEcEaWavananajaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadJaaaaaadJaaaaaadJaaaaaagGaacWaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahanfhavavbZbZbZbZbZdwcrdGbZbZbZbZbZavavanfkahaaaaaaaaaaaaaaaaaaaaaaaadJdJeLeLeLfmeLeLeLeLeLeLeLeLdJfngGcWaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahcVfofpavazazazcdcefqcrfrcecdazazazavbLananahaaaaaaaaaaaaaaaaaaaaaaaadJaaaadJaaaaaadJaaaaaadJaaaaaagGaacWaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahahaneMfsavclazazcncodVcrdWcxcBazazaSavananahahahahahaaaaaaaaaaaaaaaaaaeLaadIdJdIaadIdJdIaadIdJdIaaaacWcWcWaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahandLfvfwavcDcEcEcFcIfxfyfzcQcFcEcEaWavananahfAfBfEahaaaaaaaaaaaaaaaaaaeLaadIeLdIaadIeLdIaadIeLdIaaaaaagGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahaneMavavavbZbZbZbZbZcafFfGbZbZbZbZavavananbranananahaaaaaaaaaaaaaaaaaaeLaadIeLdIaadIeLdIaadIeLdIgGcWaagGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahaneMavfIfJfKfLfKfMfNfOfPejeufSfTfUavfVananahbXbXbXbXbXaaaaaaaaaaaaaaaaeLaadIeLdIaadIeLdIaadIeLdIaacWaagGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahanfhavfWfXeBgaeJgceNeQcreZggfSghgigjgkananglbXgmpJgnflflfleLaaaaaaaaaaeLaadIdJdIaadIdJdIgGdIdJdIaacYgGgGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahangoavgpgqgrgsgtgtfdfegweZbDgzghgAgjgBanangCbXgDpOgEgFgHgIdJeLeLeLeLeLeLaaaagGaaaaaagGaagGaagGaaaacWaagGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahaneMavgJgKgLgMgNgOgPgQgReZgTfSgVgWavanangXcVbXgYgZffflflfleLaaaagGaaaaaaaacYcWcWgGcYcWcWcWcYgGcWcWcWaagGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahahhbavavavavavavavavhchdcTavavavavavbrahahahbXbXpXbXbXaaaaaaaaaagGaaaaaaaacWaagGaaaaaaaagGaaaaaaaaaaaagGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaasRalsRsRsRsRsRsRsRcmhehfhhcmsRsRsRsRsRsRsRsRsRfghifibXgGgGgGcWcWcYcWhjcWcYcWaagGcYcWcYgGgGgGgGgGgGgGgGgGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaFaGaFaFaFaFaFaFaHaIhkfjhmaIaHaXaXaXaXaXqcaHaHaHqdqebXaaaaaagGaaaagGaaaaaaaaaagGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabeadadadadadadadadadbXlBbXagaghnagagsRsRsRsRsRsRcmhohphqcmsRsRsRsRsRsRbBsRhrhrhrhrhrhshrhtgGgGgGcYgGcWcWcYgGgGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabehuhvhwhuhuhuhvhuadnhsRhxaghyhzhAagbehChEbohFsRbecfhGcfcfcfcfcfcfcfhHbPhHhrhIhKhthLhththtaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabehuhuhuiahuhRhuhuadibibibagicieifigihihihihihihihftfuiocmipitiuivcffHixfQhrizhshshrhshrhtaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabehuiAhuhuhuhuhuhuadiBiEiBaiiFfRiHiIiiiJiKiLiMiNiifZgbiQcmiRiSiSiTcfiUiViWiXiZjdjgjhjihsaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabejladjmgdgdgdadadadjnjogeaijqjrjsbqiijtjujvjwjxjyjBjCjEjGjHjIjJjKcfgfjMgujOjPjQkckckkhsaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadklkmknkogvgxgyktbykukvkuaikwkxkybqiikzkBkCkDkEkFkGjckHkIkJjJkKkLkMgSkOkPhrhrhrkQkRkShraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadEhahlkVkWkXkYhDlabyhMlchPailehQlglhiililjlkkDllkFlmjclncmkbkKlplocfhZlsltlulvhHhrhrhrhraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadikimlyswlAiniwlEbylFlGlHaiiclIlJlKiilLlMlNiylPlQlRlSlTcmcmlUcmcmcflVlWlXlYlZfCaXfDaXaXaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadmaiDmcmdmeiGiOmhbymiiPmkaimlmmmnmoiimpmqmrmtmuiijamwmxcmmymzmAmBcfmCmDjpmFjLhHiqirissRaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadadadbymHbybybybybymImJmKaimLmMmLaiiiiikFkFkFkFiinajknbhrhrhrhrhrmNmNmOmNmNmNmNmNmNmNmNaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacfjNjWkrhJhNhOkshBkAhShThUhVhWhXhYksididijilkNmQmRmSmTmUmVmWmXmYncndnenfngninjnknlmNaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaiYnmkTjbjcjcjejfqljcjjjkjzjAjDjcjcjcjcjcjFjcjcnnjcnonpnqnrkUkZlbnrldnwnwnxnwnynznAmNaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacfiojRjSjTjUjVlfjXjYjZkalqjXjYjYkdkekfkhkikjaRlrnClwhslxnHnHnJnPnHlznRnWnRobocodoemNaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacfcfcfcmkgcmmscscsctctsysysysyaeaemZsysynajknbofofofofofofofogohoxoxkckckckckcoyozmNaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacfcmnDcvnFcsnIcyczaeafawaxdFfYnKlCsynMnNnOofoAoRpKpLpMofpNpPpQpRpSpTpUpVpWpYpZmNaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacfcAnScCnTnUbibnbnkqaodelDlOnXatmbaenYnZoaqaqbmfmfmgqiqjqkqmqnqoqoqoqoqoqoqpqomNaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacfoiiCcKokctcGcHcMomonooopoqorosotomouovmjofmvqrmEmGquofmPqwqxqynsqyntqBqCqDqoaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacfcAojcCoCcscXcNdnsyaCaDoDnuoFnvnBoIoJjcoKofqEqFqGqHqIofqJqKqLqMqNqOqPqQqCqDqpaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacfcfdocCkpcscRcSrfsybhaKgUaKnEaKnGsyoOoPoQofqRqSqTqUqVofqWqXnLqynQqyowrRqCqDqoaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacfoBoMoNcfbeflbeababaeaOaeabaPaQsyoEoGoWofofofofofofofmNaBmNqoqoqoqoqoqoqpqoaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabenVbeolbesRsRsRoLoTsRsRsRabaeaeaboZpapbszddddoSaFaFphoHrbfiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafgbNbNoYfisRsRsRsRsRsRsRsRsRsRrkddpcoUpedidjddalbXbXrcbXbXaaaaaaaabXaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaasRsRsRsRsRsRsRsRsRsRsRsRsRsRsRsRdkoVoXrlrmrmrnrobXrdrepdbXaaaaaaaabXbXbXbXaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaasRsRsRsRsRsRsRsRsRsRsRsRsRsRsRsRdkpipfdhdrdjddsRbXrgrhrirjaaaaaaaaaaaaaabXaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaasRsRsRdkpkpgpjplplbFsRbXbXbXbXbXbXbXbXbXbXbXaabXaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaasRsRsRddpnoUpmpqpoddsRsRsRaabXaaaaaaaaaaaabXaabXaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaasRsRsRdCpsptpudCdCdCdCdCdCaabXaaaaaaaaaaaabXaabXaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaasRsRsRdDpvpwpxpypzdOdPdQdCaabXaaaaaaaaaaaabXaabXaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabXaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaasRsRsRdRpAdTpBppdUprdXdYdCaabXaaaaaaaaaaaabXaabXaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaflaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaasRsRsRdDpCeaebecedeceeefdCaabXaaaaaaaaaaaabXaabXsRsRsRsRsRsRsRsRsRsRsRsRsRsRsRsRflaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaasRsRsRdCpDpEpFpGpHpIemhgdCaabXaaaaaaaabXbXbXaabXsRsRsRsRsRsRsRsRsRsRsRsRsRsRsRsRflaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaasRsRsRdCeoepeqeresetqfevdCaabXaaaaaaaabXaaaaaabXsRsRsRsRsRsRsRsRsRsRsRsRsRsRsRsRbXaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaasRsRsRdCewepexeyezeAeiqgbFaabXbXbXbXbXbXaaaaaabXsRsRsRbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXaaaaaabXbXbXbXbXbXbXbXbXaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaasRsRsRdDeCeDeEeFeGeHeIdCdCaaaaaaaaaaaaaaaaaaaabXsRsRsRbFsRsRsRsRsRsRsRsRsRsRsRsRsRbXflflflbXsRsRsRsRsRsRsRbXaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaasRsRsRsRsRsRsRsRsRsRsRsRsRsRsRsRsRsRsRsRsRsRsRsRsRsRsRsRsRdCdCdDdCdCdCdCdCdCbXbXbXbXbXbXbXbXbXbXbXbXsRsRsRbXbXsRsRbXbXrjbXbXsRsRsRsRsRbFsRsRsRsRsRsRsRsRsRsRsRbXaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaasRsRsRsRsRsRsRsRsRsRsRsRsRsRsRsRsRsRsRsRsRsRsRsRsRsRsRsRsRsRsRsRsRsRsRsRsRsRsRsRsRsRsRsRsRsRsRsRsRsRsRsRsRsRbXsRsRbXsRsRsRbXbXbXbFbXbXbXbXbXbXbXbFbXbXbXsRsRbXbXaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaasRsRsRsRsRsRsRsRsRsRsRsRsRsRsRsRsRsRsRsRsRsRsRsRsRsRsRsRsRsRsRsRsRsRsRsRsRsRsRsRsRsRsRsRsRsRsRsRsRsRsRsRsRsRbXsRsRrjsRsRsRbXstsltVulwvbXsmbXsRsRsRsRsRbXbFbXbXaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabXbXbXCvbXbXbXbXbXsRsRsRsRsRsRsRsRsRsRsRsRsRsRsRsRsRsRsRsRsRsRsRsRsRsRsRsRbXsRsRbXbXbXbXbXsAsAtVtVtVbXqhbXsRsRsRsRsRbXsRsRflaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabXCwCxCICMCRCSCTbXsRsRsRbXrpbXrprqrrrpbXbXbXrErNrEbXflflflbXbXbXbXbXsrbXbXbXbFbXbXxWxXxYbXtVtVxZtVtVyaxjbXsRsRsRsRsRbXsRsRflaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabXCUCVCIsRCICIsRCWsRsRsRrprsqqrurvrwrxthbXtpsCsDsErEybycydbXsMtKyetMtNtRbXyfygyhbXxisftUyitVyjykylymbXujbXbXflflflbXbXtjbXbXaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabXCXCYCICZDaDbDcbXsRsRsRbXqssHrArBrCrArDrEsFsIsJsKrExisftUsrufyntXtXtNtRbXqtygypbXuSrAtCbXbXbXbXbXbXbXbXbXaaaaaaaaaauesRvmaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabXDdDeCIDfDgDhDibXsRsRsRrprFrArArGrHrArDrEtqsPsQsSbXtSrAtYbXyqqvtMtMtNtRbXygyrqzbXuzrAwWbXumwgytbXyubXyvaaaaaaaaaaaauesRvmaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabXbXbXCvbXbXbXbXbXsRsRsRrIrvsTrArJrHrArKrEsUsVsQsWbXtSrAvgbXtZqAucucqYtRbXyyyzygbXyArABTflqZrasdywsRywyvaaaaaaaaaaaauesRvmaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaasRsRsRsRsRsRsRsRsRsRsRsRsRsRsRsRsRsRsRsRsRsRsRsRsRsRsRsRsRrMrCrArArJrHrArKrLsXrtrPtatbtSrAudbXtZuguhuhrybXbXyFyGyzbXrzrAyIrQvYsTrXbXsRbXyvaaaaaaaaaaaauesRvmaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaasRsRsRsRsRsRsRsRsRsRsRsRsRsRsRsRsRsRsRsRsRsRsRsRsRsRsRsRsRrprOsarArwrvrAsLtctdtesTtfrLyCrAuabXyOuguhukyPbXyQsRyRySbFyTrAtCflsbsgssbXyLbXaaaaaaaaaaaaaauesRvmaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaasRsRsRsRsRsRsRsRsRsRsRsRsRsRsRsRsRsRsRsRsRsRsRsRsRsRsRsRsRbXvirSrTrUrVrWsubXtitgvktkyMyNunuobXtZutuuuuuLbFyGyzyZzabXsvunzcbXyUbXbXbXbXbXbXflflbXflflbXbXtjbXbXaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabXsRsRsRbXrErYrZrEsOsOrEbXrErEbXbXbXvbvbvbupbXbXsrbXbXbXbXbXbXbXbXvbvbvbbXbXbXwtwuwwbXwCwMxyxRzYAEBrbXsRsRflaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabXbXbXbXbXuqscsdsxsfsfsBflurususussGwPsfwQsNvbwSuvuwuxvubXuyvvuAbXzesfzfbXwxsYwzwAwBbXBsBtBusZBwBxBybXsRsRflaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabXshsirAsjserArAskuBuCrArArArArArArAsQvbwVrArArAwWfluDuDuDfluSrAvDbXvGwDwEwEwFbXBzBArAsTrABBBCbXbFbXbXaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabXvKsnrAsobXvRrAskuBuEuFuFuGuHwquJuKwXvbwYuIrCrAwWfluMuNuOfltSrAwNwUwHwIwJwEwKbXyWtmrArArAtAyXbXsRsRbXbXaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabXspsirArAsquPtDuRbXrptltlrpbXbXrptlrpbXbXbXuSrAwWfluTuUuVfltSrAwNwUwLwLxgwEBDbXyYsaziunsarAzibXsRsRsRbXaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabXbXbXbXbXbXbFbXbXbXtLtntnuWtWrpuXtrtsttttrpsirAwWfluYuZvafltSrAwNwUwEwEwEwExlbXzdwYBJBKwVrAsQbFsRsRsRflaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabXtutvrArArAsktltwrwtxtytztluCrAwlbXflflwZbXtSrAwNwUwUbXxabXbXbXflBLflbXubzpvqbXsRsRsRflaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabXuitBsTrArAtCtlwctEtFtGtHrpvcrAxbvbxcxdxexfrvrAuQvXvXvpvNvrflBOBPBQBRbXzPBSzPbXsRsRsRflaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabXtItJrTrTvdvxrptOvfvetPwTbXuSrAsQvbwVrArArArArArArArArArAvsxTvcsTBTxpzPBUBVBWbXsRsRsRflaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabXtQvhvTtTbXbXbXbXvjrErEbXbXvtvwvAvbwYuIuJuFuGwquIuIuIvBrAtYfluPxzBXxAzPBYBZCabXsRsRsRbXaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabXbXbFbXbXbXDjbXvyuuwRxmvCbXrpxrrpbXbXflflxsflbXbXbXbXxUrAuabXvWxCxDbXbXAjCbCcbXsRsRbXbXaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaasRsRsRsRsRsRsRbXxvxKxLxLvEbXspusvnbXxxwevHvNvOvIvJxIbXzlziuobXxExCxFbXCdCeCfCgbXsRsRbXaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabXbXbXbXbXbXbXbFbXbXbXxMxNvLvMvPbXvorAvQflvSwsvUvVuQvXvXvXbXwOxktobXxGxHznbXChCiCjCkbXsRsRbXaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabXyJxoyVzbxczozqztztbXxJzxxJbXxJbXxurAuaxsvYuavZwatEwbwbwbbXflzAflbXbXbXbXbXbXbFbXbXbXsRsRbXaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabXzDrArPsfzErAuQvXvXzGtnvNBPyKyVvbzHrAvzflwyuawdwawGwfAIwhbXxwzZAHxOxPbXsRsRsRsRsRsRbFsRsRbXaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabXBvxtrTvwxQxtrTvwxSxtrTvwxQBFBGvbBHvFBIbXwiuawjwkwlbXbXbXbXxVBNuQClzgbXsRbXbXbXbXbXbXbXsRbXaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabXxJbXxJCpxJbXbXCpbXbXbXCqbXbXbFbXbXzkbXbXwmuIuIuIwnbFsRirbXzhBNCsCtzjbXsRbXsRsRsRsRsRbXflbXaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabXzzzFzKCyxMbXCzuICArpCBufAObXsRbXxhzmxnbXwowpzIwrxBbXsRsRbXbXbXbXbXbXbXsRbXsRsRsRsRsRbXaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabXAPCDCDCECFbXtrxqtwrpCGvlCCbXsRbXCHzpzLbXbXbXbXbXbXbXsRsRsRsRsRsRsRsRsRsRbFsRsRsRsRsRflaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabXBMCJCKCLDkbXtYCNwcrpCBufAObXsRbFzrzsyobFsRsRsRsRsRsRsRsRsRsRsRsRsRsRsRsRbXsRsRsRsRsRbXaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabXbXbXbXbFbXbXCOCPCQbebebebebebebebezubebesRsRsRsRsRsRsRsRsRsRsRsRbXsRsRsRbXsRsRsRsRsRbXaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabXCoCrCubezNzOzPzOzNbezvzwysbebebebebebebXbFbXbXbXbXbFbXbXbXbFbXbXbXbXbXbXbXaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabXbXbXbXbezRuUzPuUzSbezywVzTbezUzVzWzXbesRsRsRsRbXsRsRsRbXsRsRsRsRsRbXaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabeCmuUzPuUCmbezBzCyxbeyBAgzmAwbesRsRsRsRbXsRsRsRbXsRsRsRsRsRbXaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabeAxAyAzAAABACACADACACCnAFAGyDbesRsRsRsRbXsRsRsRbXbXbXflbXbXbXaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabeBEAJAKALAMANyEzJyHrpAQARASATbesRsRbXbXbXflsRflbXaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaazPAUAVrAsTrAAWAXufufzMAYzpAZBabesRsRbXaaaaflsRflaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaazPBbBcBdBdBdBeBfzQzQbebezPzPbebebXbXbXaaaaflsRflaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabeBgBhBiBjBkBlBmBnBobeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabebebebezPzPzPAabebebeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabeAbAcAdAeAfBpbeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaazPAhAiAjAkAlAmbeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaazPAnAoApAqArAsbeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabeBqAtAuAvbebebeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabebezPzPbebeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+"}
From 228012c7187a239ecc234aa30532926ce4ab8522 Mon Sep 17 00:00:00 2001
From: keronshb
Date: Fri, 6 Mar 2020 15:58:17 -0500
Subject: [PATCH 12/79] Blob refactor (#43872)
Ports over Blob Refactor from TG
---
code/_globalvars/lists/mobs.dm | 193 +-
code/_onclick/hud/blob_overmind.dm | 18 +-
code/controllers/subsystem/mobs.dm | 10 +-
.../antagonists/blob/blob/blobs/blob_mobs.dm | 26 +-
.../antagonists/blob/blob/blobs/core.dm | 17 +-
.../antagonists/blob/blob/blobs/node.dm | 4 +-
.../blob/blob/blobstrains/_blobstrain.dm | 61 +
.../blob/blob/blobstrains/_reagent.dm | 33 +
.../blob/blob/blobstrains/blazing_oil.dm | 42 +
.../blob/blob/blobstrains/cryogenic_poison.dm | 33 +
.../blob/blobstrains/electromagnetic_web.dm | 34 +
.../blob/blob/blobstrains/energized_jelly.dm | 35 +
.../blob/blobstrains/explosive_lattice.dm | 41 +
.../blob/blob/blobstrains/multiplex.dm | 40 +
.../blob/blob/blobstrains/networked_fibers.dm | 39 +
.../blob/blobstrains/pressurized_slime.dm | 52 +
.../blob/blob/blobstrains/reactive_spines.dm | 31 +
.../blob/blobstrains/regenerative_materia.dm | 34 +
.../blob/blob/blobstrains/replicating_foam.dm | 35 +
.../blob/blobstrains/shifting_fragments.dm | 36 +
.../blob/blob/blobstrains/synchronous_mesh.dm | 39 +
.../blob/blob/blobstrains/zombifying_pods.dm | 47 +
.../modules/antagonists/blob/blob/overmind.dm | 42 +-
code/modules/antagonists/blob/blob/powers.dm | 70 +-
code/modules/antagonists/blob/blob/theblob.dm | 34 +-
code/modules/mob/camera/camera.dm | 65 +-
code/modules/mob/living/life.dm | 3 +-
code/modules/mob/mob.dm | 3 -
.../chemistry/reagents/blob_reagents.dm | 487 --
tgstation.dme | 6543 +++++++++--------
30 files changed, 4140 insertions(+), 4007 deletions(-)
create mode 100644 code/modules/antagonists/blob/blob/blobstrains/_blobstrain.dm
create mode 100644 code/modules/antagonists/blob/blob/blobstrains/_reagent.dm
create mode 100644 code/modules/antagonists/blob/blob/blobstrains/blazing_oil.dm
create mode 100644 code/modules/antagonists/blob/blob/blobstrains/cryogenic_poison.dm
create mode 100644 code/modules/antagonists/blob/blob/blobstrains/electromagnetic_web.dm
create mode 100644 code/modules/antagonists/blob/blob/blobstrains/energized_jelly.dm
create mode 100644 code/modules/antagonists/blob/blob/blobstrains/explosive_lattice.dm
create mode 100644 code/modules/antagonists/blob/blob/blobstrains/multiplex.dm
create mode 100644 code/modules/antagonists/blob/blob/blobstrains/networked_fibers.dm
create mode 100644 code/modules/antagonists/blob/blob/blobstrains/pressurized_slime.dm
create mode 100644 code/modules/antagonists/blob/blob/blobstrains/reactive_spines.dm
create mode 100644 code/modules/antagonists/blob/blob/blobstrains/regenerative_materia.dm
create mode 100644 code/modules/antagonists/blob/blob/blobstrains/replicating_foam.dm
create mode 100644 code/modules/antagonists/blob/blob/blobstrains/shifting_fragments.dm
create mode 100644 code/modules/antagonists/blob/blob/blobstrains/synchronous_mesh.dm
create mode 100644 code/modules/antagonists/blob/blob/blobstrains/zombifying_pods.dm
delete mode 100644 code/modules/reagents/chemistry/reagents/blob_reagents.dm
diff --git a/code/_globalvars/lists/mobs.dm b/code/_globalvars/lists/mobs.dm
index ffad931cd8..959361d750 100644
--- a/code/_globalvars/lists/mobs.dm
+++ b/code/_globalvars/lists/mobs.dm
@@ -1,97 +1,96 @@
-GLOBAL_LIST_EMPTY(clients) //all clients
-GLOBAL_LIST_EMPTY(admins) //all clients whom are admins
-GLOBAL_PROTECT(admins)
-GLOBAL_LIST_EMPTY(mentors) //all clients whom are mentors
-GLOBAL_PROTECT(mentors)
-GLOBAL_LIST_EMPTY(deadmins) //all ckeys who have used the de-admin verb.
-
-GLOBAL_LIST_EMPTY(directory) //all ckeys with associated client
-GLOBAL_LIST_EMPTY(stealthminID) //reference list with IDs that store ckeys, for stealthmins
-
-GLOBAL_LIST_EMPTY(bunker_passthrough)
-
-//Since it didn't really belong in any other category, I'm putting this here
-//This is for procs to replace all the goddamn 'in world's that are chilling around the code
-
-GLOBAL_LIST_EMPTY(player_list) //all mobs **with clients attached**.
-GLOBAL_LIST_EMPTY(mob_list) //all mobs, including clientless
-GLOBAL_LIST_EMPTY(mob_directory) //mob_id -> mob
-GLOBAL_LIST_EMPTY(alive_mob_list) //all alive mobs, including clientless. Excludes /mob/dead/new_player
-GLOBAL_LIST_EMPTY(drones_list)
-GLOBAL_LIST_EMPTY(dead_mob_list) //all dead mobs, including clientless. Excludes /mob/dead/new_player
-GLOBAL_LIST_EMPTY(joined_player_list) //all clients that have joined the game at round-start or as a latejoin.
-GLOBAL_LIST_EMPTY(silicon_mobs) //all silicon mobs
-GLOBAL_LIST_EMPTY(mob_living_list) //all instances of /mob/living and subtypes
-GLOBAL_LIST_EMPTY(carbon_list) //all instances of /mob/living/carbon and subtypes, notably does not contain brains or simple animals
-GLOBAL_LIST_EMPTY(ai_list)
-GLOBAL_LIST_EMPTY(pai_list)
-GLOBAL_LIST_EMPTY(available_ai_shells)
-GLOBAL_LIST_INIT(simple_animals, list(list(),list(),list(),list())) // One for each AI_* status define
-GLOBAL_LIST_EMPTY(spidermobs) //all sentient spider mobs
-GLOBAL_LIST_EMPTY(bots_list)
-GLOBAL_LIST_EMPTY(living_cameras)
-GLOBAL_LIST_EMPTY(aiEyes)
-
-GLOBAL_LIST_EMPTY(language_datum_instances)
-GLOBAL_LIST_EMPTY(all_languages)
-
-GLOBAL_LIST_EMPTY(sentient_disease_instances)
-
-GLOBAL_LIST_EMPTY(latejoin_ai_cores)
-
-GLOBAL_LIST_EMPTY(mob_config_movespeed_type_lookup)
-
-GLOBAL_LIST_EMPTY(latejoiners) //CIT CHANGE - All latejoining people, for traitor-target purposes.
-
-/proc/update_config_movespeed_type_lookup(update_mobs = TRUE)
- var/list/mob_types = list()
- var/list/entry_value = CONFIG_GET(keyed_list/multiplicative_movespeed)
- for(var/path in entry_value)
- var/value = entry_value[path]
- if(!value)
- continue
- for(var/subpath in typesof(path))
- mob_types[subpath] = value
- GLOB.mob_config_movespeed_type_lookup = mob_types
- if(update_mobs)
- update_mob_config_movespeeds()
-
-/proc/update_mob_config_movespeeds()
- for(var/i in GLOB.mob_list)
- var/mob/M = i
- M.update_config_movespeed()
-
- //blood types
-GLOBAL_LIST_INIT(regular_bloods,list(
- "O-",
- "O+",
- "A-",
- "A+",
- "B-",
- "B+",
- "AB-",
- "AB+"
- ))
-
-GLOBAL_LIST_INIT(all_types_bloods,list(
- "O-",
- "O+",
- "A-",
- "A+",
- "B-",
- "B+",
- "AB-",
- "AB+",
- "SY",
- "X*",
- "HF",
- "L",
- "U",
- "GEL",
- "BUG"
- ))
-
-GLOBAL_LIST_INIT(blood_reagent_types, list(
- /datum/reagent/blood,
- /datum/reagent/blood/jellyblood
- ))
+GLOBAL_LIST_EMPTY(clients) //all clients
+GLOBAL_LIST_EMPTY(admins) //all clients whom are admins
+GLOBAL_PROTECT(admins)
+GLOBAL_LIST_EMPTY(mentors) //all clients whom are mentors
+GLOBAL_PROTECT(mentors)
+GLOBAL_LIST_EMPTY(deadmins) //all ckeys who have used the de-admin verb.
+
+GLOBAL_LIST_EMPTY(directory) //all ckeys with associated client
+GLOBAL_LIST_EMPTY(stealthminID) //reference list with IDs that store ckeys, for stealthmins
+
+GLOBAL_LIST_EMPTY(bunker_passthrough)
+
+//Since it didn't really belong in any other category, I'm putting this here
+//This is for procs to replace all the goddamn 'in world's that are chilling around the code
+
+GLOBAL_LIST_EMPTY(player_list) //all mobs **with clients attached**.
+GLOBAL_LIST_EMPTY(mob_list) //all mobs, including clientless
+GLOBAL_LIST_EMPTY(mob_directory) //mob_id -> mob
+GLOBAL_LIST_EMPTY(alive_mob_list) //all alive mobs, including clientless. Excludes /mob/dead/new_player
+GLOBAL_LIST_EMPTY(drones_list)
+GLOBAL_LIST_EMPTY(dead_mob_list) //all dead mobs, including clientless. Excludes /mob/dead/new_player
+GLOBAL_LIST_EMPTY(joined_player_list) //all clients that have joined the game at round-start or as a latejoin.
+GLOBAL_LIST_EMPTY(silicon_mobs) //all silicon mobs
+GLOBAL_LIST_EMPTY(mob_living_list) //all instances of /mob/living and subtypes
+GLOBAL_LIST_EMPTY(carbon_list) //all instances of /mob/living/carbon and subtypes, notably does not contain brains or simple animals
+GLOBAL_LIST_EMPTY(ai_list)
+GLOBAL_LIST_EMPTY(pai_list)
+GLOBAL_LIST_EMPTY(available_ai_shells)
+GLOBAL_LIST_INIT(simple_animals, list(list(),list(),list(),list())) // One for each AI_* status define
+GLOBAL_LIST_EMPTY(spidermobs) //all sentient spider mobs
+GLOBAL_LIST_EMPTY(bots_list)
+GLOBAL_LIST_EMPTY(aiEyes)
+
+GLOBAL_LIST_EMPTY(language_datum_instances)
+GLOBAL_LIST_EMPTY(all_languages)
+
+GLOBAL_LIST_EMPTY(sentient_disease_instances)
+
+GLOBAL_LIST_EMPTY(latejoin_ai_cores)
+
+GLOBAL_LIST_EMPTY(mob_config_movespeed_type_lookup)
+
+GLOBAL_LIST_EMPTY(latejoiners) //CIT CHANGE - All latejoining people, for traitor-target purposes.
+
+/proc/update_config_movespeed_type_lookup(update_mobs = TRUE)
+ var/list/mob_types = list()
+ var/list/entry_value = CONFIG_GET(keyed_list/multiplicative_movespeed)
+ for(var/path in entry_value)
+ var/value = entry_value[path]
+ if(!value)
+ continue
+ for(var/subpath in typesof(path))
+ mob_types[subpath] = value
+ GLOB.mob_config_movespeed_type_lookup = mob_types
+ if(update_mobs)
+ update_mob_config_movespeeds()
+
+/proc/update_mob_config_movespeeds()
+ for(var/i in GLOB.mob_list)
+ var/mob/M = i
+ M.update_config_movespeed()
+
+ //blood types
+GLOBAL_LIST_INIT(regular_bloods,list(
+ "O-",
+ "O+",
+ "A-",
+ "A+",
+ "B-",
+ "B+",
+ "AB-",
+ "AB+"
+ ))
+
+GLOBAL_LIST_INIT(all_types_bloods,list(
+ "O-",
+ "O+",
+ "A-",
+ "A+",
+ "B-",
+ "B+",
+ "AB-",
+ "AB+",
+ "SY",
+ "X*",
+ "HF",
+ "L",
+ "U",
+ "GEL",
+ "BUG"
+ ))
+
+GLOBAL_LIST_INIT(blood_reagent_types, list(
+ /datum/reagent/blood,
+ /datum/reagent/blood/jellyblood
+ ))
diff --git a/code/_onclick/hud/blob_overmind.dm b/code/_onclick/hud/blob_overmind.dm
index 8257b744d6..82e22a8c4d 100644
--- a/code/_onclick/hud/blob_overmind.dm
+++ b/code/_onclick/hud/blob_overmind.dm
@@ -48,7 +48,7 @@
if(isovermind(usr))
var/mob/camera/blob/B = usr
if(!B.placed)
- B.place_blob_core(B.base_point_rate, 0)
+ B.place_blob_core(0)
B.transport_core()
/obj/screen/blob/Blobbernaut
@@ -91,26 +91,26 @@
var/mob/camera/blob/B = usr
B.create_factory()
-/obj/screen/blob/ReadaptChemical
+/obj/screen/blob/ReadaptStrain
icon_state = "ui_chemswap"
name = "Readapt Chemical (40)"
desc = "Randomly rerolls your chemical for 40 resources."
-/obj/screen/blob/ReadaptChemical/MouseEntered(location,control,params)
+/obj/screen/blob/ReadaptStrain/MouseEntered(location,control,params)
if(hud && hud.mymob && isovermind(hud.mymob))
var/mob/camera/blob/B = hud.mymob
- if(B.free_chem_rerolls)
- name = "Readapt Chemical (FREE)"
- desc = "Randomly rerolls your chemical for free."
+ if(B.free_strain_rerolls)
+ name = "Readapt Strain (FREE)"
+ desc = "Randomly rerolls your strain for free."
else
name = initial(name)
desc = initial(desc)
..()
-/obj/screen/blob/ReadaptChemical/Click()
+/obj/screen/blob/ReadaptStrain/Click()
if(isovermind(usr))
var/mob/camera/blob/B = usr
- B.chemical_reroll()
+ B.strain_reroll()
/obj/screen/blob/RelocateCore
icon_state = "ui_swap"
@@ -175,7 +175,7 @@
using.hud = src
static_inventory += using
- using = new /obj/screen/blob/ReadaptChemical()
+ using = new /obj/screen/blob/ReadaptStrain()
using.screen_loc = ui_storage1
using.hud = src
static_inventory += using
diff --git a/code/controllers/subsystem/mobs.dm b/code/controllers/subsystem/mobs.dm
index 56cdf2fa03..8caf2a4623 100644
--- a/code/controllers/subsystem/mobs.dm
+++ b/code/controllers/subsystem/mobs.dm
@@ -26,18 +26,16 @@ SUBSYSTEM_DEF(mobs)
var/seconds = wait * 0.1
if (!resumed)
src.currentrun = GLOB.mob_living_list.Copy()
- if (GLOB.living_cameras.len)
- src.currentrun += GLOB.living_cameras
//cache for sanic speed (lists are references anyways)
var/list/currentrun = src.currentrun
var/times_fired = src.times_fired
while(currentrun.len)
- var/mob/M = currentrun[currentrun.len]
+ var/mob/living/L = currentrun[currentrun.len]
currentrun.len--
- if(M)
- M.Life(seconds, times_fired)
+ if(L)
+ L.Life(seconds, times_fired)
else
- GLOB.mob_living_list.Remove(M)
+ GLOB.mob_living_list.Remove(L)
if (MC_TICK_CHECK)
return
diff --git a/code/modules/antagonists/blob/blob/blobs/blob_mobs.dm b/code/modules/antagonists/blob/blob/blobs/blob_mobs.dm
index 261677a74b..b720d3590e 100644
--- a/code/modules/antagonists/blob/blob/blobs/blob_mobs.dm
+++ b/code/modules/antagonists/blob/blob/blobs/blob_mobs.dm
@@ -20,7 +20,7 @@
/mob/living/simple_animal/hostile/blob/update_icons()
if(overmind)
- add_atom_colour(overmind.blob_reagent_datum.color, FIXED_COLOUR_PRIORITY)
+ add_atom_colour(overmind.blobstrain.color, FIXED_COLOUR_PRIORITY)
else
remove_atom_colour(FIXED_COLOUR_PRIORITY)
@@ -34,7 +34,7 @@
for(var/i in 1 to 2)
var/obj/effect/temp_visual/heal/H = new /obj/effect/temp_visual/heal(get_turf(src)) //hello yes you are being healed
if(overmind)
- H.color = overmind.blob_reagent_datum.complementary_color
+ H.color = overmind.blobstrain.complementary_color
else
H.color = "#000000"
adjustHealth(-maxHealth*0.0125)
@@ -142,8 +142,10 @@
// Create the reagents to put into the air
create_reagents(10)
- if(overmind && overmind.blob_reagent_datum)
- reagents.add_reagent(overmind.blob_reagent_datum.type, 10)
+
+
+ if(overmind && overmind.blobstrain)
+ overmind.blobstrain.on_sporedeath(src)
else
reagents.add_reagent(/datum/reagent/toxin/spore, 10)
@@ -167,14 +169,14 @@
/mob/living/simple_animal/hostile/blob/blobspore/update_icons()
if(overmind)
- add_atom_colour(overmind.blob_reagent_datum.complementary_color, FIXED_COLOUR_PRIORITY)
+ add_atom_colour(overmind.blobstrain.complementary_color, FIXED_COLOUR_PRIORITY)
else
remove_atom_colour(FIXED_COLOUR_PRIORITY)
if(is_zombie)
copy_overlays(oldguy, TRUE)
var/mutable_appearance/blob_head_overlay = mutable_appearance('icons/mob/blob.dmi', "blob_head")
if(overmind)
- blob_head_overlay.color = overmind.blob_reagent_datum.complementary_color
+ blob_head_overlay.color = overmind.blobstrain.complementary_color
color = initial(color)//looks better.
add_overlay(blob_head_overlay)
@@ -243,14 +245,14 @@
adjustHealth(-maxHealth*0.1)
var/obj/effect/temp_visual/heal/H = new /obj/effect/temp_visual/heal(get_turf(src)) //hello yes you are being healed
if(overmind)
- H.color = overmind.blob_reagent_datum.complementary_color
+ H.color = overmind.blobstrain.complementary_color
else
H.color = "#000000"
if(locate(/obj/structure/blob/node) in blobs_in_area)
adjustHealth(-maxHealth*0.05)
var/obj/effect/temp_visual/heal/H = new /obj/effect/temp_visual/heal(get_turf(src))
if(overmind)
- H.color = overmind.blob_reagent_datum.complementary_color
+ H.color = overmind.blobstrain.complementary_color
else
H.color = "#000000"
if(damagesources)
@@ -259,7 +261,7 @@
var/image/I = new('icons/mob/blob.dmi', src, "nautdamage", MOB_LAYER+0.01)
I.appearance_flags = RESET_COLOR
if(overmind)
- I.color = overmind.blob_reagent_datum.complementary_color
+ I.color = overmind.blobstrain.complementary_color
flick_overlay_view(I, src, 8)
/mob/living/simple_animal/hostile/blob/blobbernaut/adjustHealth(amount, updating_health = TRUE, forced = FALSE)
@@ -274,16 +276,14 @@
/mob/living/simple_animal/hostile/blob/blobbernaut/AttackingTarget()
. = ..()
if(. && isliving(target) && overmind)
- var/mob/living/L = target
- var/mob_protection = L.get_permeability_protection()
- overmind.blob_reagent_datum.reaction_mob(L, VAPOR, 20, 0, mob_protection, overmind)//this will do between 10 and 20 damage(reduced by mob protection), depending on chemical, plus 4 from base brute damage.
+ overmind.blobstrain.blobbernaut_attack(target)
/mob/living/simple_animal/hostile/blob/blobbernaut/update_icons()
..()
if(overmind) //if we have an overmind, we're doing chemical reactions instead of pure damage
melee_damage_lower = 4
melee_damage_upper = 4
- attacktext = overmind.blob_reagent_datum.blobbernaut_message
+ attacktext = overmind.blobstrain.blobbernaut_message
else
melee_damage_lower = initial(melee_damage_lower)
melee_damage_upper = initial(melee_damage_upper)
diff --git a/code/modules/antagonists/blob/blob/blobs/core.dm b/code/modules/antagonists/blob/blob/blobs/core.dm
index 58f79e1c73..38484c70b0 100644
--- a/code/modules/antagonists/blob/blob/blobs/core.dm
+++ b/code/modules/antagonists/blob/blob/blobs/core.dm
@@ -8,12 +8,8 @@
explosion_block = 6
point_return = -1
health_regen = 0 //we regen in Life() instead of when pulsed
- var/core_regen = 2
- var/resource_delay = 0
- var/point_rate = 2
-
-/obj/structure/blob/core/Initialize(mapload, client/new_overmind = null, new_rate = 2, placed = 0)
+/obj/structure/blob/core/Initialize(mapload, client/new_overmind = null, placed = 0)
GLOB.blob_cores += src
START_PROCESSING(SSobj, src)
GLOB.poi_list |= src
@@ -22,7 +18,6 @@
return INITIALIZE_HINT_QDEL
if(overmind)
update_icon()
- point_rate = new_rate
addtimer(CALLBACK(src, .proc/generate_announcement), 1800)
. = ..()
@@ -37,7 +32,7 @@
color = null
var/mutable_appearance/blob_overlay = mutable_appearance('icons/mob/blob.dmi', "blob")
if(overmind)
- blob_overlay.color = overmind.blob_reagent_datum.color
+ blob_overlay.color = overmind.blobstrain.color
add_overlay(blob_overlay)
add_overlay(mutable_appearance('icons/mob/blob.dmi', "blob_core_overlay"))
@@ -60,17 +55,13 @@
if(overmind) //we should have an overmind, but...
overmind.update_health_hud()
-/obj/structure/blob/core/Life()
+/obj/structure/blob/core/process()
if(QDELETED(src))
return
if(!overmind)
qdel(src)
- else
- if(resource_delay <= world.time)
- resource_delay = world.time + 10 // 1 second
- overmind.add_points(point_rate)
- obj_integrity = min(max_integrity, obj_integrity+core_regen)
if(overmind)
+ overmind.blobstrain.core_process()
overmind.update_health_hud()
Pulse_Area(overmind, 12, 4, 3)
for(var/obj/structure/blob/normal/B in range(1, src))
diff --git a/code/modules/antagonists/blob/blob/blobs/node.dm b/code/modules/antagonists/blob/blob/blobs/node.dm
index 23f37bca29..14fbc741c0 100644
--- a/code/modules/antagonists/blob/blob/blobs/node.dm
+++ b/code/modules/antagonists/blob/blob/blobs/node.dm
@@ -22,7 +22,7 @@
color = null
var/mutable_appearance/blob_overlay = mutable_appearance('icons/mob/blob.dmi', "blob")
if(overmind)
- blob_overlay.color = overmind.blob_reagent_datum.color
+ blob_overlay.color = overmind.blobstrain.color
add_overlay(blob_overlay)
add_overlay(mutable_appearance('icons/mob/blob.dmi', "blob_node_overlay"))
@@ -31,6 +31,6 @@
STOP_PROCESSING(SSobj, src)
return ..()
-/obj/structure/blob/node/Life()
+/obj/structure/blob/node/process()
if(overmind)
Pulse_Area(overmind, 10, 3, 2)
diff --git a/code/modules/antagonists/blob/blob/blobstrains/_blobstrain.dm b/code/modules/antagonists/blob/blob/blobstrains/_blobstrain.dm
new file mode 100644
index 0000000000..e592be0c5e
--- /dev/null
+++ b/code/modules/antagonists/blob/blob/blobstrains/_blobstrain.dm
@@ -0,0 +1,61 @@
+GLOBAL_LIST_INIT(valid_blobstrains, subtypesof(/datum/blobstrain) - list(/datum/blobstrain/reagent, /datum/blobstrain/multiplex))
+
+/datum/blobstrain
+ var/name
+ var/description
+ var/color = "#000000"
+ var/complementary_color = "#000000" //a color that's complementary to the normal blob color
+ var/shortdesc = null //just damage and on_mob effects, doesn't include special, blob-tile only effects
+ var/effectdesc = null //any long, blob-tile specific effects
+ var/analyzerdescdamage = "Unknown. Report this bug to a coder, or just adminhelp."
+ var/analyzerdesceffect = "N/A"
+ var/blobbernaut_message = "slams" //blobbernaut attack verb
+ var/message = "The blob strikes you" //message sent to any mob hit by the blob
+ var/message_living = null //extension to first mob sent to only living mobs i.e. silicons have no skin to be burnt
+ var/core_regen = 2
+ var/resource_delay = 0
+ var/point_rate = 2
+ var/mob/camera/blob/overmind
+
+/datum/blobstrain/New(mob/camera/blob/new_overmind)
+ if (!istype(new_overmind))
+ stack_trace("blobstrain created without overmind")
+ overmind = new_overmind
+
+/datum/blobstrain/proc/on_sporedeath(mob/living/spore)
+
+/datum/blobstrain/proc/send_message(mob/living/M)
+ var/totalmessage = message
+ if(message_living && !issilicon(M))
+ totalmessage += message_living
+ totalmessage += "!"
+ to_chat(M, "[totalmessage]")
+
+/datum/blobstrain/proc/core_process()
+ if(resource_delay <= world.time)
+ resource_delay = world.time + 10 // 1 second
+ overmind.add_points(point_rate)
+ overmind.blob_core.obj_integrity = min(overmind.blob_core.max_integrity, overmind.blob_core.obj_integrity+core_regen)
+
+/datum/blobstrain/proc/attack_living(var/mob/living/L) // When the blob attacks people
+ send_message(L)
+
+/datum/blobstrain/proc/blobbernaut_attack(mob/living/L) // When this blob's blobbernaut attacks people
+
+/datum/blobstrain/proc/damage_reaction(obj/structure/blob/B, damage, damage_type, damage_flag, coefficient = 1) //when the blob takes damage, do this
+ return coefficient*damage
+
+/datum/blobstrain/proc/death_reaction(obj/structure/blob/B, damage_flag, coefficient = 1) //when a blob dies, do this
+ return
+
+/datum/blobstrain/proc/expand_reaction(obj/structure/blob/B, obj/structure/blob/newB, turf/T, mob/camera/blob/O, coefficient = 1) //when the blob expands, do this
+ return
+
+/datum/blobstrain/proc/tesla_reaction(obj/structure/blob/B, power, coefficient = 1) //when the blob is hit by a tesla bolt, do this
+ return 1 //return 0 to ignore damage
+
+/datum/blobstrain/proc/extinguish_reaction(obj/structure/blob/B, coefficient = 1) //when the blob is hit with water, do this
+ return
+
+/datum/blobstrain/proc/emp_reaction(obj/structure/blob/B, severity, coefficient = 1) //when the blob is hit with an emp, do this
+ return
diff --git a/code/modules/antagonists/blob/blob/blobstrains/_reagent.dm b/code/modules/antagonists/blob/blob/blobstrains/_reagent.dm
new file mode 100644
index 0000000000..f688cee847
--- /dev/null
+++ b/code/modules/antagonists/blob/blob/blobstrains/_reagent.dm
@@ -0,0 +1,33 @@
+/datum/blobstrain/reagent // Blobs that mess with reagents, all "legacy" ones
+ var/datum/reagent/reagent
+
+/datum/blobstrain/reagent/New(mob/camera/blob/new_overmind)
+ . = ..()
+ reagent = new reagent()
+
+
+/datum/blobstrain/reagent/attack_living(var/mob/living/L)
+ var/mob_protection = L.get_permeability_protection()
+ reagent.reaction_mob(L, VAPOR, 25, 1, mob_protection, overmind)
+ send_message(L)
+
+/datum/blobstrain/reagent/blobbernaut_attack(mob/living/L)
+ var/mob_protection = L.get_permeability_protection()
+ reagent.reaction_mob(L, VAPOR, 20, 0, mob_protection, overmind)//this will do between 10 and 20 damage(reduced by mob protection), depending on chemical, plus 4 from base brute damage.
+
+/datum/blobstrain/reagent/on_sporedeath(mob/living/spore)
+ spore.reagents.add_reagent(reagent.id, 10)
+
+// These can only be applied by blobs. They are what (reagent) blobs are made out of.
+/datum/reagent/blob
+ name = "Unknown"
+ description = "shouldn't exist and you should adminhelp immediately."
+ color = "#FFFFFF"
+ taste_description = "bad code and slime"
+ can_synth = FALSE
+
+
+/datum/reagent/blob/reaction_mob(mob/living/M, method=TOUCH, reac_volume, show_message, touch_protection, mob/camera/blob/O)
+ if(M.stat == DEAD || istype(M, /mob/living/simple_animal/hostile/blob))
+ return 0 //the dead, and blob mobs, don't cause reactions
+ return round(reac_volume * min(1.5 - touch_protection, 1), 0.1) //full touch protection means 50% volume, any prot below 0.5 means 100% volume.
diff --git a/code/modules/antagonists/blob/blob/blobstrains/blazing_oil.dm b/code/modules/antagonists/blob/blob/blobstrains/blazing_oil.dm
new file mode 100644
index 0000000000..7f934afdf6
--- /dev/null
+++ b/code/modules/antagonists/blob/blob/blobstrains/blazing_oil.dm
@@ -0,0 +1,42 @@
+
+//sets you on fire, does burn damage, explodes into flame when burnt, weak to water
+/datum/blobstrain/reagent/blazing_oil
+ name = "Blazing Oil"
+ description = "will do medium burn damage and set targets on fire."
+ effectdesc = "will also release bursts of flame when burnt, but takes damage from water."
+ analyzerdescdamage = "Does medium burn damage and sets targets on fire."
+ analyzerdesceffect = "Releases fire when burnt, but takes damage from water and other extinguishing liquids."
+ color = "#B68D00"
+ complementary_color = "#BE5532"
+ blobbernaut_message = "splashes"
+ message = "The blob splashes you with burning oil"
+ message_living = ", and you feel your skin char and melt"
+ reagent = /datum/reagent/blob/blazing_oil
+
+/datum/blobstrain/reagent/blazing_oil/extinguish_reaction(obj/structure/blob/B)
+ B.take_damage(1.5, BURN, "energy")
+
+/datum/blobstrain/reagent/blazing_oil/damage_reaction(obj/structure/blob/B, damage, damage_type, damage_flag)
+ if(damage_type == BURN && damage_flag != "energy")
+ for(var/turf/open/T in range(1, B))
+ var/obj/structure/blob/C = locate() in T
+ if(!(C && C.overmind && C.overmind.blobstrain.type == B.overmind.blobstrain.type) && prob(80))
+ new /obj/effect/hotspot(T)
+ if(damage_flag == "fire")
+ return 0
+ return ..()
+
+/datum/reagent/blob/blazing_oil
+ name = "Blazing Oil"
+ id = "blazing_oil"
+ taste_description = "burning oil"
+ color = "#B68D00"
+
+/datum/reagent/blob/blazing_oil/reaction_mob(mob/living/M, method=TOUCH, reac_volume, show_message, touch_protection, mob/camera/blob/O)
+ reac_volume = ..()
+ M.adjust_fire_stacks(round(reac_volume/10))
+ M.IgniteMob()
+ if(M)
+ M.apply_damage(0.8*reac_volume, BURN)
+ if(iscarbon(M))
+ M.emote("scream")
diff --git a/code/modules/antagonists/blob/blob/blobstrains/cryogenic_poison.dm b/code/modules/antagonists/blob/blob/blobstrains/cryogenic_poison.dm
new file mode 100644
index 0000000000..74910b8060
--- /dev/null
+++ b/code/modules/antagonists/blob/blob/blobstrains/cryogenic_poison.dm
@@ -0,0 +1,33 @@
+//does brute, burn, and toxin damage, and cools targets down
+/datum/blobstrain/reagent/cryogenic_poison
+ name = "Cryogenic Poison"
+ description = "will inject targets with a freezing poison that does high damage over time."
+ analyzerdescdamage = "Injects targets with a freezing poison that will gradually solidify the target's internal organs."
+ color = "#8BA6E9"
+ complementary_color = "#7D6EB4"
+ blobbernaut_message = "injects"
+ message = "The blob stabs you"
+ message_living = ", and you feel like your insides are solidifying"
+ reagent = /datum/reagent/blob/cryogenic_poison
+
+/datum/reagent/blob/cryogenic_poison
+ name = "Cryogenic Poison"
+ id = "cryogenic_poison"
+ description = "will inject targets with a freezing poison that does high damage over time."
+ color = "#8BA6E9"
+ taste_description = "brain freeze"
+
+/datum/reagent/blob/cryogenic_poison/reaction_mob(mob/living/M, method=TOUCH, reac_volume, show_message, touch_protection, mob/camera/blob/O)
+ reac_volume = ..()
+ if(M.reagents)
+ M.reagents.add_reagent("frostoil", 0.3*reac_volume)
+ M.reagents.add_reagent("ice", 0.3*reac_volume)
+ M.reagents.add_reagent("cryogenic_poison", 0.3*reac_volume)
+ M.apply_damage(0.2*reac_volume, BRUTE)
+
+/datum/reagent/blob/cryogenic_poison/on_mob_life(mob/living/carbon/M)
+ M.adjustBruteLoss(0.3*REAGENTS_EFFECT_MULTIPLIER, 0)
+ M.adjustFireLoss(0.3*REAGENTS_EFFECT_MULTIPLIER, 0)
+ M.adjustToxLoss(0.3*REAGENTS_EFFECT_MULTIPLIER, 0)
+ . = 1
+ ..()
diff --git a/code/modules/antagonists/blob/blob/blobstrains/electromagnetic_web.dm b/code/modules/antagonists/blob/blob/blobstrains/electromagnetic_web.dm
new file mode 100644
index 0000000000..e970588e6a
--- /dev/null
+++ b/code/modules/antagonists/blob/blob/blobstrains/electromagnetic_web.dm
@@ -0,0 +1,34 @@
+//does burn damage and EMPs, slightly fragile
+/datum/blobstrain/reagent/electromagnetic_web
+ name = "Electromagnetic Web"
+ color = "#83ECEC"
+ complementary_color = "#EC8383"
+ reagent = /datum/reagent/blob/electromagnetic_web
+
+/datum/blobstrain/reagent/electromagnetic_web/damage_reaction(obj/structure/blob/B, damage, damage_type, damage_flag)
+ if(damage_type == BRUTE) //take full brute
+ switch(B.brute_resist)
+ if(0.5)
+ return damage * 2
+ if(0.25)
+ return damage * 4
+ if(0.1)
+ return damage * 10
+ return damage * 1.25 //a laser will do 25 damage, which will kill any normal blob
+
+/datum/blobstrain/reagent/electromagnetic_web/death_reaction(obj/structure/blob/B, damage_flag)
+ if(damage_flag == "melee" || damage_flag == "bullet" || damage_flag == "laser")
+ empulse(B.loc, 1, 3) //less than screen range, so you can stand out of range to avoid it
+
+/datum/reagent/blob/electromagnetic_web
+ name = "Electromagnetic Web"
+ id = "electromagnetic_web"
+ taste_description = "pop rocks"
+ color = "#83ECEC"
+
+/datum/reagent/blob/electromagnetic_web/reaction_mob(mob/living/M, method=TOUCH, reac_volume, show_message, touch_protection, mob/camera/blob/O)
+ reac_volume = ..()
+ if(prob(reac_volume*2))
+ M.emp_act(EMP_LIGHT)
+ if(M)
+ M.apply_damage(reac_volume, BURN)
diff --git a/code/modules/antagonists/blob/blob/blobstrains/energized_jelly.dm b/code/modules/antagonists/blob/blob/blobstrains/energized_jelly.dm
new file mode 100644
index 0000000000..8393e8fae7
--- /dev/null
+++ b/code/modules/antagonists/blob/blob/blobstrains/energized_jelly.dm
@@ -0,0 +1,35 @@
+//does tons of oxygen damage and a little stamina, immune to tesla bolts, weak to EMP
+/datum/blobstrain/reagent/energized_jelly
+ name = "Energized Jelly"
+ description = "will cause low stamina and high oxygen damage, and cause targets to be unable to breathe."
+ effectdesc = "will also conduct electricity, but takes damage from EMPs."
+ analyzerdescdamage = "Does low stamina damage, high oxygen damage, and prevents targets from breathing."
+ analyzerdesceffect = "Is immune to electricity and will easily conduct it, but is weak to EMPs."
+ color = "#EFD65A"
+ complementary_color = "#00E5B1"
+ reagent = /datum/reagent/blob/energized_jelly
+
+/datum/blobstrain/reagent/energized_jelly/damage_reaction(obj/structure/blob/B, damage, damage_type, damage_flag)
+ if((damage_flag == "melee" || damage_flag == "bullet" || damage_flag == "laser") && B.obj_integrity - damage <= 0 && prob(10))
+ do_sparks(rand(2, 4), FALSE, B)
+ return ..()
+
+/datum/blobstrain/reagent/energized_jelly/tesla_reaction(obj/structure/blob/B, power)
+ return 0
+
+/datum/blobstrain/reagent/energized_jelly/emp_reaction(obj/structure/blob/B, severity)
+ var/damage = rand(30, 50) - severity * rand(10, 15)
+ B.take_damage(damage, BURN, "energy")
+
+/datum/reagent/blob/energized_jelly
+ name = "Energized Jelly"
+ id = "energized_jelly"
+ taste_description = "gelatin"
+ color = "#EFD65A"
+
+/datum/reagent/blob/energized_jelly/reaction_mob(mob/living/M, method=TOUCH, reac_volume, show_message, touch_protection, mob/camera/blob/O)
+ reac_volume = ..()
+ M.losebreath += round(0.2*reac_volume)
+ M.adjustStaminaLoss(0.4*reac_volume)
+ if(M)
+ M.apply_damage(0.6*reac_volume, OXY)
diff --git a/code/modules/antagonists/blob/blob/blobstrains/explosive_lattice.dm b/code/modules/antagonists/blob/blob/blobstrains/explosive_lattice.dm
new file mode 100644
index 0000000000..5d64ecf5c3
--- /dev/null
+++ b/code/modules/antagonists/blob/blob/blobstrains/explosive_lattice.dm
@@ -0,0 +1,41 @@
+//does aoe brute damage when hitting targets, is immune to explosions
+/datum/blobstrain/reagent/explosive_lattice
+ name = "Explosive Lattice"
+ description = "will do brute damage in an area around targets."
+ effectdesc = "will also resist explosions, but takes increased damage from fire and other energy sources."
+ analyzerdescdamage = "Does medium brute damage and causes damage to everyone near its targets."
+ analyzerdesceffect = "Is highly resistant to explosions, but takes increased damage from fire and other energy sources."
+ color = "#8B2500"
+ complementary_color = "#00668B"
+ blobbernaut_message = "blasts"
+ message = "The blob blasts you"
+ reagent = /datum/reagent/blob/explosive_lattice
+
+/datum/blobstrain/reagent/explosive_lattice/damage_reaction(obj/structure/blob/B, damage, damage_type, damage_flag)
+ if(damage_flag == "bomb")
+ return 0
+ else if(damage_flag != "melee" && damage_flag != "bullet" && damage_flag != "laser")
+ return damage * 1.5
+ return ..()
+
+/datum/reagent/blob/explosive_lattice
+ name = "Explosive Lattice"
+ id = "explosive_lattice"
+ taste_description = "the bomb"
+ color = "#8B2500"
+
+/datum/reagent/blob/explosive_lattice/reaction_mob(mob/living/M, method=TOUCH, reac_volume, show_message, touch_protection, mob/camera/blob/O)
+ var/initial_volume = reac_volume
+ reac_volume = ..()
+ if(reac_volume >= 10) //if it's not a spore cloud, bad time incoming
+ var/obj/effect/temp_visual/explosion/fast/E = new /obj/effect/temp_visual/explosion/fast(get_turf(M))
+ E.alpha = 150
+ for(var/mob/living/L in orange(get_turf(M), 1))
+ if(ROLE_BLOB in L.faction) //no friendly fire
+ continue
+ var/aoe_volume = ..(L, TOUCH, initial_volume, 0, L.get_permeability_protection(), O)
+ L.apply_damage(0.4*aoe_volume, BRUTE)
+ if(M)
+ M.apply_damage(0.6*reac_volume, BRUTE)
+ else
+ M.apply_damage(0.6*reac_volume, BRUTE)
diff --git a/code/modules/antagonists/blob/blob/blobstrains/multiplex.dm b/code/modules/antagonists/blob/blob/blobstrains/multiplex.dm
new file mode 100644
index 0000000000..191da6c51f
--- /dev/null
+++ b/code/modules/antagonists/blob/blob/blobstrains/multiplex.dm
@@ -0,0 +1,40 @@
+/datum/blobstrain/multiplex
+ var/list/blobstrains
+ var/typeshare
+
+/datum/blobstrain/multiplex/New(mob/camera/blob/new_overmind, list/blobstrains)
+ . = ..()
+ for (var/bt in blobstrains)
+ if (ispath(bt, /datum/blobstrain))
+ src.blobstrains += new bt(overmind)
+ else if (istype(bt, /datum/blobstrain))
+ var/datum/blobstrain/bts = bt
+ bts.overmind = overmind
+ src.blobstrains += bt
+ typeshare = (0.8 * length(src.blobstrains)) - (length(src.blobstrains)-1) // 1 is 80%, 2 are 60% etc
+
+/datum/blobstrain/multiplex/damage_reaction(obj/structure/blob/B, damage, damage_type, damage_flag, coefficient = 1) //when the blob takes damage, do this
+ for (var/datum/blobstrain/bt in blobstrains)
+ . += bt.damage_reaction(B, damage, damage_type, damage_flag, coefficient*typeshare)
+
+/datum/blobstrain/multiplex/death_reaction(obj/structure/blob/B, damage_flag, coefficient = 1) //when a blob dies, do this
+ for (var/datum/blobstrain/bt in blobstrains)
+ . += bt.death_reaction(B, damage_flag, coefficient*typeshare)
+
+/datum/blobstrain/multiplex/expand_reaction(obj/structure/blob/B, obj/structure/blob/newB, turf/T, mob/camera/blob/O, coefficient = 1) //when the blob expands, do this
+ for (var/datum/blobstrain/bt in blobstrains)
+ . += bt.expand_reaction(B, newB, T, O, coefficient*typeshare)
+
+/datum/blobstrain/multiplex/tesla_reaction(obj/structure/blob/B, power, coefficient = 1) //when the blob is hit by a tesla bolt, do this
+ for (var/datum/blobstrain/bt in blobstrains)
+ . += bt.tesla_reaction(B, power, coefficient*typeshare)
+ if (prob(. / length(blobstrains) * 100))
+ return 1
+
+/datum/blobstrain/multiplex/extinguish_reaction(obj/structure/blob/B, coefficient = 1) //when the blob is hit with water, do this
+ for (var/datum/blobstrain/bt in blobstrains)
+ . += bt.extinguish_reaction(B, coefficient*typeshare)
+
+/datum/blobstrain/multiplex/emp_reaction(obj/structure/blob/B, severity, coefficient = 1) //when the blob is hit with an emp, do this
+ for (var/datum/blobstrain/bt in blobstrains)
+ . += bt.emp_reaction(B, severity, coefficient*typeshare)
diff --git a/code/modules/antagonists/blob/blob/blobstrains/networked_fibers.dm b/code/modules/antagonists/blob/blob/blobstrains/networked_fibers.dm
new file mode 100644
index 0000000000..d2af3d9eec
--- /dev/null
+++ b/code/modules/antagonists/blob/blob/blobstrains/networked_fibers.dm
@@ -0,0 +1,39 @@
+//does massive brute and burn damage, but can only expand manually
+/datum/blobstrain/reagent/networked_fibers
+ name = "Networked Fibers"
+ description = "will do high brute and burn damage and will generate resources quicker, but can only expand manually."
+ shortdesc = "will do high brute and burn damage."
+ effectdesc = "will move your core when manually expanding near it."
+ analyzerdescdamage = "Does high brute and burn damage."
+ analyzerdesceffect = "Is highly mobile and generates resources rapidly."
+ color = "#CDC0B0"
+ complementary_color = "#FFF68F"
+ reagent = /datum/reagent/blob/networked_fibers
+
+/datum/blobstrain/reagent/networked_fibers/expand_reaction(obj/structure/blob/B, obj/structure/blob/newB, turf/T, mob/camera/blob/O)
+ if(!O && newB.overmind)
+ if(!istype(B, /obj/structure/blob/node))
+ newB.overmind.add_points(1)
+ qdel(newB)
+ else
+ var/area/A = get_area(T)
+ if(!isspaceturf(T) && !istype(A, /area/shuttle))
+ for(var/obj/structure/blob/core/C in range(1, newB))
+ if(C.overmind == O)
+ newB.forceMove(get_turf(C))
+ C.forceMove(T)
+ C.setDir(get_dir(newB, C))
+ O.add_points(1)
+
+//does massive brute and burn damage, but can only expand manually
+/datum/reagent/blob/networked_fibers
+ name = "Networked Fibers"
+ id = "networked_fibers"
+ taste_description = "efficiency"
+ color = "#CDC0B0"
+
+/datum/reagent/blob/networked_fibers/reaction_mob(mob/living/M, method=TOUCH, reac_volume, show_message, touch_protection, mob/camera/blob/O)
+ reac_volume = ..()
+ M.apply_damage(0.6*reac_volume, BRUTE)
+ if(M)
+ M.apply_damage(0.6*reac_volume, BURN)
diff --git a/code/modules/antagonists/blob/blob/blobstrains/pressurized_slime.dm b/code/modules/antagonists/blob/blob/blobstrains/pressurized_slime.dm
new file mode 100644
index 0000000000..ef97ddd2fe
--- /dev/null
+++ b/code/modules/antagonists/blob/blob/blobstrains/pressurized_slime.dm
@@ -0,0 +1,52 @@
+//does low brute damage, oxygen damage, and stamina damage and wets tiles when damaged
+/datum/blobstrain/reagent/pressurized_slime
+ name = "Pressurized Slime"
+ description = "will do low brute, oxygen, and stamina damage, and wet tiles under targets."
+ effectdesc = "will also wet tiles near blobs that are attacked or killed."
+ analyzerdescdamage = "Does low brute damage, low oxygen damage, drains stamina, and wets tiles under targets, extinguishing them."
+ analyzerdesceffect = "When attacked or killed, lubricates nearby tiles, extinguishing anything on them."
+ color = "#AAAABB"
+ complementary_color = "#BBBBAA"
+ blobbernaut_message = "emits slime at"
+ message = "The blob splashes into you"
+ message_living = ", and you gasp for breath"
+ reagent = /datum/reagent/blob/pressurized_slime
+
+/datum/blobstrain/reagent/pressurized_slime/damage_reaction(obj/structure/blob/B, damage, damage_type, damage_flag)
+ if((damage_flag == "melee" || damage_flag == "bullet" || damage_flag == "laser") || damage_type != BURN)
+ extinguisharea(B, damage)
+ return ..()
+
+/datum/blobstrain/reagent/pressurized_slime/death_reaction(obj/structure/blob/B, damage_flag)
+ if(damage_flag == "melee" || damage_flag == "bullet" || damage_flag == "laser")
+ B.visible_message("The blob ruptures, spraying the area with liquid!")
+ extinguisharea(B, 50)
+
+/datum/blobstrain/reagent/pressurized_slime/proc/extinguisharea(obj/structure/blob/B, probchance)
+ for(var/turf/open/T in range(1, B))
+ if(prob(probchance))
+ T.MakeSlippery(TURF_WET_LUBE, min_wet_time = 10 SECONDS, wet_time_to_add = 5 SECONDS)
+ for(var/obj/O in T)
+ O.extinguish()
+ for(var/mob/living/L in T)
+ L.adjust_fire_stacks(-2.5)
+ L.ExtinguishMob()
+
+/datum/reagent/blob/pressurized_slime
+ name = "Pressurized Slime"
+ id = "pressurized_slime"
+ taste_description = "a sponge"
+ color = "#AAAABB"
+
+/datum/reagent/blob/pressurized_slime/reaction_mob(mob/living/M, method=TOUCH, reac_volume, show_message, touch_protection, mob/camera/blob/O)
+ reac_volume = ..()
+ var/turf/open/T = get_turf(M)
+ if(istype(T) && prob(reac_volume))
+ T.MakeSlippery(TURF_WET_LUBE, min_wet_time = 10 SECONDS, wet_time_to_add = 5 SECONDS)
+ M.adjust_fire_stacks(-(reac_volume / 10))
+ M.ExtinguishMob()
+ M.apply_damage(0.4*reac_volume, BRUTE)
+ if(M)
+ M.apply_damage(0.4*reac_volume, OXY)
+ if(M)
+ M.adjustStaminaLoss(0.2*reac_volume)
diff --git a/code/modules/antagonists/blob/blob/blobstrains/reactive_spines.dm b/code/modules/antagonists/blob/blob/blobstrains/reactive_spines.dm
new file mode 100644
index 0000000000..b36c44efea
--- /dev/null
+++ b/code/modules/antagonists/blob/blob/blobstrains/reactive_spines.dm
@@ -0,0 +1,31 @@
+//does brute damage through armor and bio resistance
+/datum/blobstrain/reagent/reactive_spines
+ name = "Reactive Spines"
+ description = "will do medium brute damage through armor and bio resistance."
+ effectdesc = "will also react when attacked with brute damage, attacking all near the attacked blob."
+ analyzerdescdamage = "Does medium brute damage, ignoring armor and bio resistance."
+ analyzerdesceffect = "When attacked with brute damage, will lash out, attacking everything near it."
+ color = "#9ACD32"
+ complementary_color = "#FFA500"
+ blobbernaut_message = "stabs"
+ message = "The blob stabs you"
+ reagent = /datum/reagent/blob/reactive_spines
+
+/datum/blobstrain/reagent/reactive_spines/damage_reaction(obj/structure/blob/B, damage, damage_type, damage_flag)
+ if(damage && damage_type == BRUTE && B.obj_integrity - damage > 0) //is there any damage, is it brute, and will we be alive
+ if(damage_flag == "melee")
+ B.visible_message("The blob retaliates, lashing out!")
+ for(var/atom/A in range(1, B))
+ A.blob_act(B)
+ return ..()
+
+/datum/reagent/blob/reactive_spines
+ name = "Reactive Spines"
+ id = "reactive_spines"
+ taste_description = "rock"
+ color = "#9ACD32"
+
+/datum/reagent/blob/reactive_spines/reaction_mob(mob/living/M, method=TOUCH, reac_volume, show_message, touch_protection, mob/camera/blob/O)
+ if(M.stat == DEAD || istype(M, /mob/living/simple_animal/hostile/blob))
+ return 0 //the dead, and blob mobs, don't cause reactions
+ M.adjustBruteLoss(0.8*reac_volume)
diff --git a/code/modules/antagonists/blob/blob/blobstrains/regenerative_materia.dm b/code/modules/antagonists/blob/blob/blobstrains/regenerative_materia.dm
new file mode 100644
index 0000000000..13f4e2d7db
--- /dev/null
+++ b/code/modules/antagonists/blob/blob/blobstrains/regenerative_materia.dm
@@ -0,0 +1,34 @@
+//does toxin damage, hallucination, targets think they're not hurt at all
+/datum/blobstrain/reagent/regenerative_materia
+ name = "Regenerative Materia"
+ description = "will do toxin damage and cause targets to believe they are fully healed."
+ analyzerdescdamage = "Does toxin damage and injects a toxin that causes the target to believe they are fully healed."
+ color = "#C8A5DC"
+ complementary_color = "#CD7794"
+ message_living = ", and you feel alive"
+ reagent = /datum/reagent/blob/regenerative_materia
+
+/datum/reagent/blob/regenerative_materia
+ name = "Regenerative Materia"
+ id = "regenerative_materia"
+ taste_description = "heaven"
+ color = "#C8A5DC"
+
+/datum/reagent/blob/regenerative_materia/reaction_mob(mob/living/M, method=TOUCH, reac_volume, show_message, touch_protection, mob/camera/blob/O)
+ reac_volume = ..()
+ M.adjust_drugginess(reac_volume)
+ if(M.reagents)
+ M.reagents.add_reagent("regenerative_materia", 0.2*reac_volume)
+ M.reagents.add_reagent("spore", 0.2*reac_volume)
+ M.apply_damage(0.7*reac_volume, TOX)
+
+/datum/reagent/blob/regenerative_materia/on_mob_life(mob/living/carbon/C)
+ C.adjustToxLoss(1*REAGENTS_EFFECT_MULTIPLIER)
+ C.hal_screwyhud = SCREWYHUD_HEALTHY //fully healed, honest
+ ..()
+
+/datum/reagent/blob/regenerative_materia/on_mob_delete(mob/living/M)
+ if(iscarbon(M))
+ var/mob/living/carbon/N = M
+ N.hal_screwyhud = 0
+ ..()
diff --git a/code/modules/antagonists/blob/blob/blobstrains/replicating_foam.dm b/code/modules/antagonists/blob/blob/blobstrains/replicating_foam.dm
new file mode 100644
index 0000000000..4c2a61d45a
--- /dev/null
+++ b/code/modules/antagonists/blob/blob/blobstrains/replicating_foam.dm
@@ -0,0 +1,35 @@
+/datum/blobstrain/reagent/replicating_foam
+ description = "will do medium brute damage and occasionally expand again when expanding."
+ shortdesc = "will do medium brute damage."
+ effectdesc = "will also expand when attacked with burn damage, but takes more brute damage."
+ color = "#7B5A57"
+ complementary_color = "#57787B"
+ analyzerdescdamage = "Does medium brute damage."
+ analyzerdesceffect = "Expands when attacked with burn damage, will occasionally expand again when expanding, and is fragile to brute damage."
+ reagent = /datum/reagent/blob/replicating_foam
+
+
+/datum/blobstrain/reagent/replicating_foam/damage_reaction(obj/structure/blob/B, damage, damage_type, damage_flag)
+ if(damage_type == BRUTE)
+ damage = damage * 2
+ else if(damage_type == BURN && damage > 0 && B.obj_integrity - damage > 0 && prob(60))
+ var/obj/structure/blob/newB = B.expand(null, null, 0)
+ if(newB)
+ newB.obj_integrity = B.obj_integrity - damage
+ newB.update_icon()
+ return ..()
+
+
+/datum/blobstrain/reagent/replicating_foam/expand_reaction(obj/structure/blob/B, obj/structure/blob/newB, turf/T, mob/camera/blob/O)
+ if(prob(30))
+ newB.expand(null, null, 0) //do it again!
+
+/datum/reagent/blob/replicating_foam
+ name = "Replicating Foam"
+ id = "replicating_foam"
+ taste_description = "duplication"
+ color = "#7B5A57"
+
+/datum/reagent/blob/replicating_foam/reaction_mob(mob/living/M, method=TOUCH, reac_volume, show_message, touch_protection, mob/camera/blob/O)
+ reac_volume = ..()
+ M.apply_damage(0.7*reac_volume, BRUTE)
diff --git a/code/modules/antagonists/blob/blob/blobstrains/shifting_fragments.dm b/code/modules/antagonists/blob/blob/blobstrains/shifting_fragments.dm
new file mode 100644
index 0000000000..9a3f93f04b
--- /dev/null
+++ b/code/modules/antagonists/blob/blob/blobstrains/shifting_fragments.dm
@@ -0,0 +1,36 @@
+//does brute damage, shifts away when damaged
+/datum/blobstrain/reagent/shifting_fragments
+ description = "will do medium brute damage."
+ effectdesc = "will also cause blob parts to shift away when attacked."
+ analyzerdescdamage = "Does medium brute damage."
+ analyzerdesceffect = "When attacked, may shift away from the attacker."
+ color = "#C8963C"
+ complementary_color = "#3C6EC8"
+ reagent = /datum/reagent/blob/shifting_fragments
+
+/datum/blobstrain/reagent/shifting_fragments/expand_reaction(obj/structure/blob/B, obj/structure/blob/newB, turf/T, mob/camera/blob/O)
+ if(istype(B, /obj/structure/blob/normal) || (istype(B, /obj/structure/blob/shield) && prob(25)))
+ newB.forceMove(get_turf(B))
+ B.forceMove(T)
+
+/datum/blobstrain/reagent/shifting_fragments/damage_reaction(obj/structure/blob/B, damage, damage_type, damage_flag)
+ if((damage_flag == "melee" || damage_flag == "bullet" || damage_flag == "laser") && damage > 0 && B.obj_integrity - damage > 0 && prob(60-damage))
+ var/list/blobstopick = list()
+ for(var/obj/structure/blob/OB in orange(1, B))
+ if((istype(OB, /obj/structure/blob/normal) || (istype(OB, /obj/structure/blob/shield) && prob(25))) && OB.overmind && OB.overmind.blobstrain.type == B.overmind.blobstrain.type)
+ blobstopick += OB //as long as the blob picked is valid; ie, a normal or shield blob that has the same chemical as we do, we can swap with it
+ if(blobstopick.len)
+ var/obj/structure/blob/targeted = pick(blobstopick) //randomize the blob chosen, because otherwise it'd tend to the lower left
+ var/turf/T = get_turf(targeted)
+ targeted.forceMove(get_turf(B))
+ B.forceMove(T) //swap the blobs
+ return ..()
+
+/datum/reagent/blob/shifting_fragments
+ name = "Shifting Fragments"
+ id = "shifting_fragments"
+ color = "#C8963C"
+
+/datum/reagent/blob/shifting_fragments/reaction_mob(mob/living/M, method=TOUCH, reac_volume, show_message, touch_protection, mob/camera/blob/O)
+ reac_volume = ..()
+ M.apply_damage(0.7*reac_volume, BRUTE)
diff --git a/code/modules/antagonists/blob/blob/blobstrains/synchronous_mesh.dm b/code/modules/antagonists/blob/blob/blobstrains/synchronous_mesh.dm
new file mode 100644
index 0000000000..1a846a5a1d
--- /dev/null
+++ b/code/modules/antagonists/blob/blob/blobstrains/synchronous_mesh.dm
@@ -0,0 +1,39 @@
+//does brute damage, bonus damage for each nearby blob, and spreads damage out
+/datum/blobstrain/reagent/synchronous_mesh
+ name = "Synchronous Mesh"
+ description = "will do massively increased brute damage for each blob near the target."
+ effectdesc = "will also spread damage between each blob near the attacked blob."
+ analyzerdescdamage = "Does brute damage, increasing for each blob near the target."
+ analyzerdesceffect = "When attacked, spreads damage between all blobs near the attacked blob."
+ color = "#65ADA2"
+ complementary_color = "#AD6570"
+ blobbernaut_message = "synchronously strikes"
+ message = "The blobs strike you"
+
+/datum/blobstrain/reagent/synchronous_mesh/damage_reaction(obj/structure/blob/B, damage, damage_type, damage_flag)
+ if(damage_flag == "melee" || damage_flag == "bullet" || damage_flag == "laser") //the cause isn't fire or bombs, so split the damage
+ var/damagesplit = 1 //maximum split is 9, reducing the damage each blob takes to 11% but doing that damage to 9 blobs
+ for(var/obj/structure/blob/C in orange(1, B))
+ if(!istype(C, /obj/structure/blob/core) && !istype(C, /obj/structure/blob/node) && C.overmind && C.overmind.blobstrain.type == B.overmind.blobstrain.type) //if it doesn't have the same chemical or is a core or node, don't split damage to it
+ damagesplit += 1
+ for(var/obj/structure/blob/C in orange(1, B))
+ if(!istype(C, /obj/structure/blob/core) && !istype(C, /obj/structure/blob/node) && C.overmind && C.overmind.blobstrain.type == B.overmind.blobstrain.type) //only hurt blobs that have the same overmind chemical and aren't cores or nodes
+ C.take_damage(damage/damagesplit, CLONE, 0, 0)
+ return damage / damagesplit
+ else
+ return damage * 1.25
+
+/datum/reagent/blob/synchronous_mesh
+ name = "Synchronous Mesh"
+ id = "synchronous_mesh"
+ taste_description = "toxic mold"
+ color = "#65ADA2"
+
+/datum/reagent/blob/synchronous_mesh/reaction_mob(mob/living/M, method=TOUCH, reac_volume, show_message, touch_protection, mob/camera/blob/O)
+ reac_volume = ..()
+ M.apply_damage(0.2*reac_volume, BRUTE)
+ if(M && reac_volume)
+ for(var/obj/structure/blob/B in range(1, M)) //if the target is completely surrounded, this is 2.4*reac_volume bonus damage, total of 2.6*reac_volume
+ if(M)
+ B.blob_attack_animation(M) //show them they're getting a bad time
+ M.apply_damage(0.3*reac_volume, BRUTE)
diff --git a/code/modules/antagonists/blob/blob/blobstrains/zombifying_pods.dm b/code/modules/antagonists/blob/blob/blobstrains/zombifying_pods.dm
new file mode 100644
index 0000000000..6f04a6a79a
--- /dev/null
+++ b/code/modules/antagonists/blob/blob/blobstrains/zombifying_pods.dm
@@ -0,0 +1,47 @@
+//kills sleeping targets and turns them into blob zombies, produces fragile spores when killed or on expanding
+/datum/blobstrain/reagent/zombifying_pods
+ name = "Zombifying Pods"
+ description = "will do very low toxin damage and harvest sleeping targets for additional resources and a blob zombie."
+ effectdesc = "will also produce fragile spores when killed and on expanding."
+ shortdesc = "will do very low toxin damage and harvest sleeping targets for additional resources(for your overmind) and a blob zombie."
+ analyzerdescdamage = "Does very low toxin damage and kills unconscious humans, turning them into blob zombies."
+ analyzerdesceffect = "Produces spores when expanding and when killed."
+ color = "#E88D5D"
+ complementary_color = "#823ABB"
+ message_living = ", and you feel tired"
+ reagent = /datum/reagent/blob/zombifying_pods
+
+/datum/blobstrain/reagent/zombifying_pods/damage_reaction(obj/structure/blob/B, damage, damage_type, damage_flag)
+ if((damage_flag == "melee" || damage_flag == "bullet" || damage_flag == "laser") && damage <= 20 && B.obj_integrity - damage <= 0 && prob(30)) //if the cause isn't fire or a bomb, the damage is less than 21, we're going to die from that damage, 20% chance of a shitty spore.
+ B.visible_message("A spore floats free of the blob!")
+ var/mob/living/simple_animal/hostile/blob/blobspore/weak/BS = new/mob/living/simple_animal/hostile/blob/blobspore/weak(B.loc)
+ BS.overmind = B.overmind
+ BS.update_icons()
+ B.overmind.blob_mobs.Add(BS)
+ return ..()
+
+/datum/blobstrain/reagent/zombifying_pods/expand_reaction(obj/structure/blob/B, obj/structure/blob/newB, turf/T, mob/camera/blob/O)
+ if(prob(10))
+ var/mob/living/simple_animal/hostile/blob/blobspore/weak/BS = new/mob/living/simple_animal/hostile/blob/blobspore/weak(T)
+ BS.overmind = B.overmind
+ BS.update_icons()
+ newB.overmind.blob_mobs.Add(BS)
+
+/datum/reagent/blob/zombifying_pods
+ name = "Zombifying Pods"
+ id = "zombifying_pods"
+ color = "#E88D5D"
+
+/datum/reagent/blob/zombifying_pods/reaction_mob(mob/living/M, method=TOUCH, reac_volume, show_message, touch_protection, mob/camera/blob/O)
+ reac_volume = ..()
+ M.apply_damage(0.6*reac_volume, TOX)
+ if(O && ishuman(M) && M.stat == UNCONSCIOUS)
+ M.death() //sleeping in a fight? bad plan.
+ var/points = rand(5, 10)
+ var/mob/living/simple_animal/hostile/blob/blobspore/BS = new/mob/living/simple_animal/hostile/blob/blobspore/weak(get_turf(M))
+ BS.overmind = O
+ BS.update_icons()
+ O.blob_mobs.Add(BS)
+ BS.Zombify(M)
+ O.add_points(points)
+ to_chat(O, "Gained [points] resources from the zombification of [M].")
diff --git a/code/modules/antagonists/blob/blob/overmind.dm b/code/modules/antagonists/blob/blob/overmind.dm
index 18e13118fe..af68950775 100644
--- a/code/modules/antagonists/blob/blob/overmind.dm
+++ b/code/modules/antagonists/blob/blob/overmind.dm
@@ -20,19 +20,18 @@ GLOBAL_LIST_EMPTY(blob_nodes)
pass_flags = PASSBLOB
faction = list(ROLE_BLOB)
lighting_alpha = LIGHTING_PLANE_ALPHA_MOSTLY_INVISIBLE
- call_life = TRUE
hud_type = /datum/hud/blob_overmind
var/obj/structure/blob/core/blob_core = null // The blob overmind's core
var/blob_points = 0
var/max_blob_points = 250
var/last_attack = 0
- var/datum/reagent/blob/blob_reagent_datum = new/datum/reagent/blob()
+ var/datum/blobstrain/blobstrain
var/list/blob_mobs = list()
var/list/resource_blobs = list()
- var/free_chem_rerolls = 1 //one free chemical reroll
+ var/free_strain_rerolls = 1 //one free strain reroll
+ var/last_reroll_time = 0 //time since we last rerolled, used to give free rerolls
var/nodes_required = 1 //if the blob needs nodes to place resource and factory blobs
var/placed = 0
- var/base_point_rate = 2 //for blob core placement
var/manualplace_min_time = 600 //in deciseconds //a minute, to get bearings
var/autoplace_max_time = 3600 //six minutes, as long as should be needed
var/list/blobs_legit = list()
@@ -50,13 +49,14 @@ GLOBAL_LIST_EMPTY(blob_nodes)
name = new_name
real_name = new_name
last_attack = world.time
- var/datum/reagent/blob/BC = pick((subtypesof(/datum/reagent/blob)))
- blob_reagent_datum = new BC
- color = blob_reagent_datum.complementary_color
+ var/datum/blobstrain/BS = pick(GLOB.valid_blobstrains)
+ blobstrain = new BS(src)
+ color = blobstrain.complementary_color
if(blob_core)
blob_core.update_icon()
SSshuttle.registerHostileEnvironment(src)
- .= ..()
+ . = ..()
+ START_PROCESSING(SSobj, src)
/mob/camera/blob/proc/validate_location()
var/turf/T = get_turf(src)
@@ -76,7 +76,7 @@ GLOBAL_LIST_EMPTY(blob_nodes)
return FALSE
return TRUE
-/mob/camera/blob/Life()
+/mob/camera/blob/process()
if(!blob_core)
if(!placed)
if(manualplace_min_time && world.time >= manualplace_min_time)
@@ -84,7 +84,7 @@ GLOBAL_LIST_EMPTY(blob_nodes)
to_chat(src, "You will automatically place your blob core in [DisplayTimeText(autoplace_max_time - world.time)].")
manualplace_min_time = 0
if(autoplace_max_time && world.time >= autoplace_max_time)
- place_blob_core(base_point_rate, 1)
+ place_blob_core(1)
else
qdel(src)
else if(!victory_in_progress && (blobs_legit.len >= blobwincount))
@@ -94,11 +94,12 @@ GLOBAL_LIST_EMPTY(blob_nodes)
max_blob_points = INFINITY
blob_points = INFINITY
addtimer(CALLBACK(src, .proc/victory), 450)
+ else if(!free_strain_rerolls && (last_reroll_time + BLOB_REROLL_TIMEYou have gained another free strain re-roll.")
+ free_strain_rerolls = 1
if(!victory_in_progress && max_count < blobs_legit.len)
max_count = blobs_legit.len
- ..()
-
/mob/camera/blob/proc/victory()
sound_to_playing_players('sound/machines/alarm.ogg')
@@ -129,7 +130,7 @@ GLOBAL_LIST_EMPTY(blob_nodes)
continue
if(!A.blob_allowed)
continue
- A.color = blob_reagent_datum.color
+ A.color = blobstrain.color
A.name = "blob"
A.icon = 'icons/mob/blob.dmi'
A.icon_state = "blob_shield"
@@ -162,6 +163,7 @@ GLOBAL_LIST_EMPTY(blob_nodes)
blobs_legit = null
SSshuttle.clearHostileEnvironment(src)
+ STOP_PROCESSING(SSobj, src)
return ..()
@@ -173,9 +175,9 @@ GLOBAL_LIST_EMPTY(blob_nodes)
add_points(0)
/mob/camera/blob/examine(mob/user)
- . = ..()
- if(blob_reagent_datum)
- . += "Its chemical is [blob_reagent_datum.name]."
+ ..()
+ if(blobstrain)
+ to_chat(user, "Its strain is [blobstrain.name].")
/mob/camera/blob/update_health_hud()
if(blob_core)
@@ -213,8 +215,8 @@ GLOBAL_LIST_EMPTY(blob_nodes)
src.log_talk(message, LOG_SAY)
- var/message_a = say_quote(message)
- var/rendered = "\[Blob Telepathy\] [name]([blob_reagent_datum.name]) [message_a]"
+ var/message_a = say_quote(message, get_spans())
+ var/rendered = "\[Blob Telepathy\] [name]([blobstrain.name]) [message_a]"
for(var/mob/M in GLOB.mob_list)
if(isovermind(M) || istype(M, /mob/living/simple_animal/hostile/blob))
@@ -233,8 +235,8 @@ GLOBAL_LIST_EMPTY(blob_nodes)
stat(null, "Core Health: [blob_core.obj_integrity]")
stat(null, "Power Stored: [blob_points]/[max_blob_points]")
stat(null, "Blobs to Win: [blobs_legit.len]/[blobwincount]")
- if(free_chem_rerolls)
- stat(null, "You have [free_chem_rerolls] Free Chemical Reroll\s Remaining")
+ if(free_strain_rerolls)
+ stat(null, "You have [free_strain_rerolls] Free Strain Reroll\s Remaining")
if(!placed)
if(manualplace_min_time)
stat(null, "Time Before Manual Placement: [max(round((manualplace_min_time - world.time)*0.1, 0.1), 0)]")
diff --git a/code/modules/antagonists/blob/blob/powers.dm b/code/modules/antagonists/blob/blob/powers.dm
index fe492831b8..1d355be9a4 100644
--- a/code/modules/antagonists/blob/blob/powers.dm
+++ b/code/modules/antagonists/blob/blob/powers.dm
@@ -7,7 +7,7 @@
// Power verbs
-/mob/camera/blob/proc/place_blob_core(point_rate, placement_override , pop_override = FALSE)
+/mob/camera/blob/proc/place_blob_core(placement_override, pop_override = FALSE)
if(placed && placement_override != -1)
return 1
if(!placement_override)
@@ -47,7 +47,7 @@
if(placed && blob_core)
blob_core.forceMove(loc)
else
- var/obj/structure/blob/core/core = new(get_turf(src), src, point_rate, 1)
+ var/obj/structure/blob/core/core = new(get_turf(src), src, 1)
core.overmind = src
blobs_legit += src
blob_core = core
@@ -71,13 +71,13 @@
var/list/nodes = list()
for(var/i in 1 to GLOB.blob_nodes.len)
var/obj/structure/blob/node/B = GLOB.blob_nodes[i]
- nodes["Blob Node #[i] ([B.overmind ? "[B.overmind.blob_reagent_datum.name]":"No Chemical"])"] = B
+ nodes["Blob Node #[i] ([B.overmind ? "[B.overmind.blobstrain.name]":"No Strain"])"] = B
var/node_name = input(src, "Choose a node to jump to.", "Node Jump") in nodes
var/obj/structure/blob/node/chosen_node = nodes[node_name]
if(chosen_node)
forceMove(chosen_node.loc)
-/mob/camera/blob/proc/createSpecial(price, blobType, nearEquals, needsNode, turf/T)
+/mob/camera/blob/proc/createSpecial(price, blobstrain, nearEquals, needsNode, turf/T)
if(!T)
T = get_turf(src)
var/obj/structure/blob/B = (locate(/obj/structure/blob) in T)
@@ -93,12 +93,12 @@
return //handholdotron 2000
if(nearEquals)
for(var/obj/structure/blob/L in orange(nearEquals, T))
- if(L.type == blobType)
+ if(L.type == blobstrain)
to_chat(src, "There is a similar blob nearby, move more than [nearEquals] tiles away from it!")
return
if(!can_buy(price))
return
- var/obj/structure/blob/N = B.change_to(blobType, src)
+ var/obj/structure/blob/N = B.change_to(blobstrain, src)
return N
/mob/camera/blob/verb/toggle_node_req()
@@ -123,6 +123,7 @@
if(!can_buy(15))
return
if(S.obj_integrity < S.max_integrity * 0.5)
+ add_points(BLOB_REFLECTOR_COST)
to_chat(src, "This shield blob is too damaged to be modified properly!")
return
to_chat(src, "You secrete a reflective ooze over the shield blob, allowing it to reflect projectiles at the cost of reduced intregrity.")
@@ -166,7 +167,9 @@
if(!can_buy(40))
return
- var/list/mob/candidates = pollGhostCandidates("Do you want to play as a [blob_reagent_datum.name] blobbernaut?", ROLE_BLOB, null, ROLE_BLOB, 50) //players must answer rapidly
+ B.naut = TRUE //temporary placeholder to prevent creation of more than one per factory.
+ to_chat(src, "You attempt to produce a blobbernaut.")
+ var/list/mob/dead/observer/candidates = pollGhostCandidates("Do you want to play as a [blobstrain.name] blobbernaut?", ROLE_BLOB, null, ROLE_BLOB, 50) //players must answer rapidly
if(LAZYLEN(candidates)) //if we got at least one candidate, they're a blobbernaut now.
B.max_integrity = initial(B.max_integrity) * 0.25 //factories that produced a blobbernaut have much lower health
B.obj_integrity = min(B.obj_integrity, B.max_integrity)
@@ -188,8 +191,8 @@
to_chat(blobber, "You are a blobbernaut!")
to_chat(blobber, "You are powerful, hard to kill, and slowly regenerate near nodes and cores, but will slowly die if not near the blob or if the factory that made you is killed.")
to_chat(blobber, "You can communicate with other blobbernauts and overminds via :b")
- to_chat(blobber, "Your overmind's blob reagent is: [blob_reagent_datum.name]!")
- to_chat(blobber, "The [blob_reagent_datum.name] reagent [blob_reagent_datum.shortdesc ? "[blob_reagent_datum.shortdesc]" : "[blob_reagent_datum.description]"]")
+ to_chat(blobber, "Your overmind's blob reagent is: [blobstrain.name]!")
+ to_chat(blobber, "The [blobstrain.name] reagent [blobstrain.shortdesc ? "[blobstrain.shortdesc]" : "[blobstrain.description]"]")
else
to_chat(src, "You could not conjure a sentience for your blobbernaut. Your points have been refunded. Try again later.")
add_points(40)
@@ -265,9 +268,7 @@
continue
if(L.stat != DEAD)
attacksuccess = TRUE
- var/mob_protection = L.get_permeability_protection()
- blob_reagent_datum.reaction_mob(L, VAPOR, 25, 1, mob_protection, src)
- blob_reagent_datum.send_message(L)
+ blobstrain.attack_living(L)
var/obj/structure/blob/B = locate() in T
if(B)
if(attacksuccess) //if we successfully attacked a turf with a blob on it, don't refund shit
@@ -331,41 +332,42 @@
if(BM.stat == CONSCIOUS)
BM.say(speak_text)
-/mob/camera/blob/verb/chemical_reroll()
+/mob/camera/blob/verb/strain_reroll()
set category = "Blob"
- set name = "Reactive Chemical Adaptation (40)"
- set desc = "Replaces your chemical with a random, different one."
- if(free_chem_rerolls || can_buy(40))
- set_chemical()
- if(free_chem_rerolls)
- free_chem_rerolls--
+ set name = "Reactive Strain Adaptation (40)"
+ set desc = "Replaces your strain with a random, different one."
+ if(free_strain_rerolls || can_buy(40))
+ set_strain()
+ if(free_strain_rerolls)
+ free_strain_rerolls--
+ last_reroll_time = world.time
-/mob/camera/blob/proc/set_chemical()
- var/datum/reagent/blob/BC = pick((subtypesof(/datum/reagent/blob) - blob_reagent_datum.type))
- blob_reagent_datum = new BC
- color = blob_reagent_datum.complementary_color
+/mob/camera/blob/proc/set_strain()
+ var/datum/blobstrain/bs = pick((GLOB.valid_blobstrains - blobstrain.type))
+ blobstrain = new bs(src)
+ color = blobstrain.complementary_color
for(var/BL in GLOB.blobs)
var/obj/structure/blob/B = BL
B.update_icon()
for(var/BLO in blob_mobs)
var/mob/living/simple_animal/hostile/blob/BM = BLO
- BM.update_icons() //If it's getting a new chemical, tell it what it does!
- to_chat(BM, "Your overmind's blob reagent is now: [blob_reagent_datum.name]!")
- to_chat(BM, "The [blob_reagent_datum.name] reagent [blob_reagent_datum.shortdesc ? "[blob_reagent_datum.shortdesc]" : "[blob_reagent_datum.description]"]")
- to_chat(src, "Your reagent is now: [blob_reagent_datum.name]!")
- to_chat(src, "The [blob_reagent_datum.name] reagent [blob_reagent_datum.description]")
- if(blob_reagent_datum.effectdesc)
- to_chat(src, "The [blob_reagent_datum.name] reagent [blob_reagent_datum.effectdesc]")
+ BM.update_icons() //If it's getting a new strain, tell it what it does!
+ to_chat(BM, "Your overmind's blob strain is now: [blobstrain.name]!")
+ to_chat(BM, "The [blobstrain.name] strain [blobstrain.shortdesc ? "[blobstrain.shortdesc]" : "[blobstrain.description]"]")
+ to_chat(src, "Your strain is now: [blobstrain.name]!")
+ to_chat(src, "The [blobstrain.name] strain [blobstrain.description]")
+ if(blobstrain.effectdesc)
+ to_chat(src, "The [blobstrain.name] strain [blobstrain.effectdesc]")
/mob/camera/blob/verb/blob_help()
set category = "Blob"
set name = "*Blob Help*"
set desc = "Help on how to blob."
to_chat(src, "As the overmind, you can control the blob!")
- to_chat(src, "Your blob reagent is: [blob_reagent_datum.name]!")
- to_chat(src, "The [blob_reagent_datum.name] reagent [blob_reagent_datum.description]")
- if(blob_reagent_datum.effectdesc)
- to_chat(src, "The [blob_reagent_datum.name] reagent [blob_reagent_datum.effectdesc]")
+ to_chat(src, "Your blob reagent is: [blobstrain.name]!")
+ to_chat(src, "The [blobstrain.name] reagent [blobstrain.description]")
+ if(blobstrain.effectdesc)
+ to_chat(src, "The [blobstrain.name] reagent [blobstrain.effectdesc]")
to_chat(src, "You can expand, which will attack people, damage objects, or place a Normal Blob if the tile is clear.")
to_chat(src, "Normal Blobs will expand your reach and can be upgraded into special blobs that perform certain functions.")
to_chat(src, "You can upgrade normal blobs into the following types of blob:")
diff --git a/code/modules/antagonists/blob/blob/theblob.dm b/code/modules/antagonists/blob/blob/theblob.dm
index fc78f859f2..da3b338bf4 100644
--- a/code/modules/antagonists/blob/blob/theblob.dm
+++ b/code/modules/antagonists/blob/blob/theblob.dm
@@ -83,16 +83,10 @@
/obj/structure/blob/update_icon() //Updates color based on overmind color if we have an overmind.
if(overmind)
- add_atom_colour(overmind.blob_reagent_datum.color, FIXED_COLOUR_PRIORITY)
+ add_atom_colour(overmind.blobstrain.color, FIXED_COLOUR_PRIORITY)
else
remove_atom_colour(FIXED_COLOUR_PRIORITY)
-/obj/structure/blob/process()
- Life()
-
-/obj/structure/blob/proc/Life()
- return
-
/obj/structure/blob/proc/Pulse_Area(mob/camera/blob/pulsing_overmind, claim_range = 10, pulse_range = 3, expand_range = 2)
if(QDELETED(pulsing_overmind))
pulsing_overmind = overmind
@@ -148,10 +142,10 @@
O.setDir(dir)
if(controller)
var/mob/camera/blob/BO = controller
- O.color = BO.blob_reagent_datum.color
+ O.color = BO.blobstrain.color
O.alpha = 200
else if(overmind)
- O.color = overmind.blob_reagent_datum.color
+ O.color = overmind.blobstrain.color
if(A)
O.do_attack_animation(A) //visually attack the whatever
return O //just in case you want to do something to the animation.
@@ -192,7 +186,7 @@
B.forceMove(T)
B.update_icon()
if(B.overmind && expand_reaction)
- B.overmind.blob_reagent_datum.expand_reaction(src, B, T, controller)
+ B.overmind.blobstrain.expand_reaction(src, B, T, controller)
return B
else
blob_attack_animation(T, controller)
@@ -209,14 +203,14 @@
return
if(severity > 0)
if(overmind)
- overmind.blob_reagent_datum.emp_reaction(src, severity)
+ overmind.blobstrain.emp_reaction(src, severity)
if(prob(100 - severity * 30))
new /obj/effect/temp_visual/emp(get_turf(src))
/obj/structure/blob/tesla_act(power)
..()
if(overmind)
- if(overmind.blob_reagent_datum.tesla_reaction(src, power))
+ if(overmind.blobstrain.tesla_reaction(src, power))
take_damage(power/400, BURN, "energy")
else
take_damage(power/400, BURN, "energy")
@@ -224,7 +218,7 @@
/obj/structure/blob/extinguish()
..()
if(overmind)
- overmind.blob_reagent_datum.extinguish_reaction(src)
+ overmind.blobstrain.extinguish_reaction(src)
/obj/structure/blob/hulk_damage()
return 15
@@ -247,9 +241,9 @@
RETURN_TYPE(/list)
. = list()
if(overmind)
- . += "Material: [overmind.blob_reagent_datum.name]."
- . += "Material Effects: [overmind.blob_reagent_datum.analyzerdescdamage]"
- . += "Material Properties: [overmind.blob_reagent_datum.analyzerdesceffect]
"
+ to_chat(user, "Material: [overmind.blobstrain.name].")
+ to_chat(user, "Material Effects: [overmind.blobstrain.analyzerdescdamage]")
+ to_chat(user, "Material Properties: [overmind.blobstrain.analyzerdesceffect]
")
else
. += "No Material Detected!
"
@@ -288,7 +282,7 @@
armor_protection = armor.getRating(damage_flag)
damage_amount = round(damage_amount * (100 - armor_protection)*0.01, 0.1)
if(overmind && damage_flag)
- damage_amount = overmind.blob_reagent_datum.damage_reaction(src, damage_amount, damage_type, damage_flag)
+ damage_amount = overmind.blobstrain.damage_reaction(src, damage_amount, damage_type, damage_flag)
return damage_amount
/obj/structure/blob/take_damage(damage_amount, damage_type = BRUTE, damage_flag = 0, sound_effect = 1, attack_dir)
@@ -298,7 +292,7 @@
/obj/structure/blob/obj_destruction(damage_flag)
if(overmind)
- overmind.blob_reagent_datum.death_reaction(src, damage_flag)
+ overmind.blobstrain.death_reaction(src, damage_flag)
..()
/obj/structure/blob/proc/change_to(type, controller)
@@ -332,8 +326,8 @@
/obj/structure/blob/proc/get_chem_name()
if(overmind)
- return overmind.blob_reagent_datum.name
- return "an unknown variant"
+ return overmind.blobstrain.name
+ return "some kind of organic tissue"
/obj/structure/blob/normal
name = "normal blob"
diff --git a/code/modules/mob/camera/camera.dm b/code/modules/mob/camera/camera.dm
index ff1d9231f7..b5c5c9a0cb 100644
--- a/code/modules/mob/camera/camera.dm
+++ b/code/modules/mob/camera/camera.dm
@@ -1,38 +1,27 @@
-// Camera mob, used by AI camera and blob.
-
-/mob/camera
- name = "camera mob"
- density = FALSE
- move_force = INFINITY
- move_resist = INFINITY
- status_flags = GODMODE // You can't damage it.
- mouse_opacity = MOUSE_OPACITY_TRANSPARENT
- see_in_dark = 7
- invisibility = INVISIBILITY_ABSTRACT // No one can see us
- sight = SEE_SELF
- move_on_shuttle = FALSE
- var/call_life = FALSE //TRUE if Life() should be called on this camera every tick of the mobs subystem, as if it were a living mob
-
-/mob/camera/Initialize()
- . = ..()
- if(call_life)
- GLOB.living_cameras += src
-
-/mob/camera/Destroy()
- . = ..()
- if(call_life)
- GLOB.living_cameras -= src
-
-/mob/camera/experience_pressure_difference()
- return
-
-/mob/camera/forceMove(atom/destination)
- var/oldloc = loc
- loc = destination
- Moved(oldloc, NONE, TRUE)
-
-/mob/camera/canUseStorage()
- return FALSE
-
-/mob/camera/emote(act, m_type=1, message = null, intentional = FALSE)
- return
+// Camera mob, used by AI camera and blob.
+
+/mob/camera
+ name = "camera mob"
+ density = FALSE
+ move_force = INFINITY
+ move_resist = INFINITY
+ status_flags = GODMODE // You can't damage it.
+ mouse_opacity = MOUSE_OPACITY_TRANSPARENT
+ see_in_dark = 7
+ invisibility = INVISIBILITY_ABSTRACT // No one can see us
+ sight = SEE_SELF
+ move_on_shuttle = FALSE
+
+/mob/camera/experience_pressure_difference()
+ return
+
+/mob/camera/forceMove(atom/destination)
+ var/oldloc = loc
+ loc = destination
+ Moved(oldloc, NONE, TRUE)
+
+/mob/camera/canUseStorage()
+ return FALSE
+
+/mob/camera/emote(act, m_type=1, message = null, intentional = FALSE)
+ return
diff --git a/code/modules/mob/living/life.dm b/code/modules/mob/living/life.dm
index 2bf17bc265..d3199d6f8b 100644
--- a/code/modules/mob/living/life.dm
+++ b/code/modules/mob/living/life.dm
@@ -1,4 +1,5 @@
-/mob/living/Life(seconds, times_fired)
+/mob/living/proc/Life(seconds, times_fired)
+ set waitfor = FALSE
set invisibility = 0
if(digitalinvis)
diff --git a/code/modules/mob/mob.dm b/code/modules/mob/mob.dm
index a523c22d53..70a68a5eaa 100644
--- a/code/modules/mob/mob.dm
+++ b/code/modules/mob/mob.dm
@@ -200,9 +200,6 @@ mob/visible_message(message, self_message, blind_message, vision_distance = DEFA
if(self_message)
show_message(self_message, MSG_AUDIBLE, deaf_message, MSG_VISUAL)
-/mob/proc/Life()
- set waitfor = FALSE
-
/mob/proc/get_item_by_slot(slot_id)
return null
diff --git a/code/modules/reagents/chemistry/reagents/blob_reagents.dm b/code/modules/reagents/chemistry/reagents/blob_reagents.dm
deleted file mode 100644
index fba0b47eb4..0000000000
--- a/code/modules/reagents/chemistry/reagents/blob_reagents.dm
+++ /dev/null
@@ -1,487 +0,0 @@
-// These can only be applied by blobs. They are what blobs are made out of.
-/datum/reagent/blob
- name = "Unknown"
- description = "shouldn't exist and you should adminhelp immediately."
- color = "#FFFFFF"
- taste_description = "bad code and slime"
- var/complementary_color = "#000000" //a color that's complementary to the normal blob color
- var/shortdesc = null //just damage and on_mob effects, doesn't include special, blob-tile only effects
- var/effectdesc = null //any long, blob-tile specific effects
- var/analyzerdescdamage = "Unknown. Report this bug to a coder, or just adminhelp."
- var/analyzerdesceffect = "N/A"
- var/blobbernaut_message = "slams" //blobbernaut attack verb
- var/message = "The blob strikes you" //message sent to any mob hit by the blob
- var/message_living = null //extension to first mob sent to only living mobs i.e. silicons have no skin to be burnt
- can_synth = FALSE
-
-/datum/reagent/blob/proc/send_message(mob/living/M)
- var/totalmessage = message
- if(message_living && !issilicon(M))
- totalmessage += message_living
- totalmessage += "!"
- to_chat(M, "[totalmessage]")
-
-/datum/reagent/blob/reaction_mob(mob/living/M, method=TOUCH, reac_volume, show_message, touch_protection, mob/camera/blob/O)
- if(M.stat == DEAD || istype(M, /mob/living/simple_animal/hostile/blob))
- return 0 //the dead, and blob mobs, don't cause reactions
- return round(reac_volume * min(1.5 - touch_protection, 1), 0.1) //full touch protection means 50% volume, any prot below 0.5 means 100% volume.
-
-/datum/reagent/blob/proc/damage_reaction(obj/structure/blob/B, damage, damage_type, damage_flag) //when the blob takes damage, do this
- return damage
-
-/datum/reagent/blob/proc/death_reaction(obj/structure/blob/B, damage_flag) //when a blob dies, do this
- return
-
-/datum/reagent/blob/proc/expand_reaction(obj/structure/blob/B, obj/structure/blob/newB, turf/T, mob/camera/blob/O) //when the blob expands, do this
- return
-
-/datum/reagent/blob/proc/tesla_reaction(obj/structure/blob/B, power) //when the blob is hit by a tesla bolt, do this
- return 1 //return 0 to ignore damage
-
-/datum/reagent/blob/proc/extinguish_reaction(obj/structure/blob/B) //when the blob is hit with water, do this
- return
-
-/datum/reagent/blob/proc/emp_reaction(obj/structure/blob/B, severity) //when the blob is hit with an emp, do this
- return
-
-//does brute damage but can replicate when damaged and has a chance of expanding again
-/datum/reagent/blob/replicating_foam
- name = "Replicating Foam"
- description = "will do medium brute damage and occasionally expand again when expanding."
- shortdesc = "will do medium brute damage."
- effectdesc = "will also expand when attacked with burn damage, but takes more brute damage."
- taste_description = "duplication"
- analyzerdescdamage = "Does medium brute damage."
- analyzerdesceffect = "Expands when attacked with burn damage, will occasionally expand again when expanding, and is fragile to brute damage."
- color = "#7B5A57"
- complementary_color = "#57787B"
-
-/datum/reagent/blob/replicating_foam/reaction_mob(mob/living/M, method=TOUCH, reac_volume, show_message, touch_protection, mob/camera/blob/O)
- reac_volume = ..()
- M.apply_damage(0.7*reac_volume, BRUTE)
-
-/datum/reagent/blob/replicating_foam/damage_reaction(obj/structure/blob/B, damage, damage_type, damage_flag)
- if(damage_type == BRUTE)
- damage = damage * 2
- else if(damage_type == BURN && damage > 0 && B.obj_integrity - damage > 0 && prob(60))
- var/obj/structure/blob/newB = B.expand(null, null, 0)
- if(newB)
- newB.obj_integrity = B.obj_integrity - damage
- newB.update_icon()
- return ..()
-
-/datum/reagent/blob/replicating_foam/expand_reaction(obj/structure/blob/B, obj/structure/blob/newB, turf/T, mob/camera/blob/O)
- if(prob(30))
- newB.expand(null, null, 0) //do it again!
-
-//does massive brute and burn damage, but can only expand manually
-/datum/reagent/blob/networked_fibers
- name = "Networked Fibers"
- description = "will do high brute and burn damage and will generate resources quicker, but can only expand manually."
- shortdesc = "will do high brute and burn damage."
- taste_description = "efficiency"
- effectdesc = "will move your core when manually expanding near it."
- analyzerdescdamage = "Does high brute and burn damage."
- analyzerdesceffect = "Is highly mobile and generates resources rapidly."
- color = "#CDC0B0"
- complementary_color = "#FFF68F"
-
-/datum/reagent/blob/networked_fibers/reaction_mob(mob/living/M, method=TOUCH, reac_volume, show_message, touch_protection, mob/camera/blob/O)
- reac_volume = ..()
- M.apply_damage(0.6*reac_volume, BRUTE)
- if(M)
- M.apply_damage(0.6*reac_volume, BURN)
-
-/datum/reagent/blob/networked_fibers/expand_reaction(obj/structure/blob/B, obj/structure/blob/newB, turf/T, mob/camera/blob/O)
- if(!O && newB.overmind)
- if(!istype(B, /obj/structure/blob/node))
- newB.overmind.add_points(1)
- qdel(newB)
- else
- var/area/A = get_area(T)
- if(!isspaceturf(T) && !istype(A, /area/shuttle))
- for(var/obj/structure/blob/core/C in range(1, newB))
- if(C.overmind == O)
- newB.forceMove(get_turf(C))
- C.forceMove(T)
- C.setDir(get_dir(newB, C))
- O.add_points(1)
-
-//does brute damage, shifts away when damaged
-/datum/reagent/blob/shifting_fragments
- name = "Shifting Fragments"
- description = "will do medium brute damage."
- effectdesc = "will also cause blob parts to shift away when attacked."
- taste_description = "something other-dimensional"
- analyzerdescdamage = "Does medium brute damage."
- analyzerdesceffect = "When attacked, may shift away from the attacker."
- color = "#C8963C"
- complementary_color = "#3C6EC8"
-
-/datum/reagent/blob/shifting_fragments/reaction_mob(mob/living/M, method=TOUCH, reac_volume, show_message, touch_protection, mob/camera/blob/O)
- reac_volume = ..()
- M.apply_damage(0.7*reac_volume, BRUTE)
-
-/datum/reagent/blob/shifting_fragments/expand_reaction(obj/structure/blob/B, obj/structure/blob/newB, turf/T, mob/camera/blob/O)
- if(istype(B, /obj/structure/blob/normal) || (istype(B, /obj/structure/blob/shield) && prob(25)))
- newB.forceMove(get_turf(B))
- B.forceMove(T)
-
-/datum/reagent/blob/shifting_fragments/damage_reaction(obj/structure/blob/B, damage, damage_type, damage_flag)
- if((damage_flag == "melee" || damage_flag == "bullet" || damage_flag == "laser") && damage > 0 && B.obj_integrity - damage > 0 && prob(60-damage))
- var/list/blobstopick = list()
- for(var/obj/structure/blob/OB in orange(1, B))
- if((istype(OB, /obj/structure/blob/normal) || (istype(OB, /obj/structure/blob/shield) && prob(25))) && OB.overmind && OB.overmind.blob_reagent_datum.type == B.overmind.blob_reagent_datum.type)
- blobstopick += OB //as long as the blob picked is valid; ie, a normal or shield blob that has the same chemical as we do, we can swap with it
- if(blobstopick.len)
- var/obj/structure/blob/targeted = pick(blobstopick) //randomize the blob chosen, because otherwise it'd tend to the lower left
- var/turf/T = get_turf(targeted)
- targeted.forceMove(get_turf(B))
- B.forceMove(T) //swap the blobs
- return ..()
-
-//sets you on fire, does burn damage, explodes into flame when burnt, weak to water
-/datum/reagent/blob/blazing_oil
- name = "Blazing Oil"
- description = "will do medium burn damage and set targets on fire."
- effectdesc = "will also release bursts of flame when burnt, but takes damage from water."
- taste_description = "burning oil"
- analyzerdescdamage = "Does medium burn damage and sets targets on fire."
- analyzerdesceffect = "Releases fire when burnt, but takes damage from water and other extinguishing liquids."
- color = "#B68D00"
- complementary_color = "#BE5532"
- blobbernaut_message = "splashes"
- message = "The blob splashes you with burning oil"
- message_living = ", and you feel your skin char and melt"
-
-/datum/reagent/blob/blazing_oil/reaction_mob(mob/living/M, method=TOUCH, reac_volume, show_message, touch_protection, mob/camera/blob/O)
- reac_volume = ..()
- M.adjust_fire_stacks(round(reac_volume/10))
- M.IgniteMob()
- if(M)
- M.apply_damage(0.8*reac_volume, BURN)
- if(iscarbon(M))
- M.emote("scream")
-
-/datum/reagent/blob/blazing_oil/extinguish_reaction(obj/structure/blob/B)
- B.take_damage(1.5, BURN, "energy")
-
-/datum/reagent/blob/blazing_oil/damage_reaction(obj/structure/blob/B, damage, damage_type, damage_flag)
- if(damage_type == BURN && damage_flag != "energy")
- for(var/turf/open/T in range(1, B))
- var/obj/structure/blob/C = locate() in T
- if(!(C && C.overmind && C.overmind.blob_reagent_datum.type == B.overmind.blob_reagent_datum.type) && prob(80))
- new /obj/effect/hotspot(T)
- if(damage_flag == "fire")
- return 0
- return ..()
-
-//does toxin damage, hallucination, targets think they're not hurt at all
-/datum/reagent/blob/regenerative_materia
- name = "Regenerative Materia"
- description = "will do toxin damage and cause targets to believe they are fully healed."
- analyzerdescdamage = "Does toxin damage and injects a toxin that causes the target to believe they are fully healed."
- taste_description = "heaven"
- color = "#5e7842"
- complementary_color = "#CD7794"
- message_living = ", and you feel alive"
-
-/datum/reagent/blob/regenerative_materia/reaction_mob(mob/living/M, method=TOUCH, reac_volume, show_message, touch_protection, mob/camera/blob/O)
- reac_volume = ..()
- M.adjust_drugginess(reac_volume)
- if(M.reagents)
- M.reagents.add_reagent(/datum/reagent/blob/regenerative_materia, 0.2*reac_volume)
- M.reagents.add_reagent(/datum/reagent/toxin/spore, 0.2*reac_volume)
- M.apply_damage(0.7*reac_volume, TOX)
-
-/datum/reagent/blob/regenerative_materia/on_mob_life(mob/living/carbon/C)
- C.adjustToxLoss(1*REM)
- C.hal_screwyhud = SCREWYHUD_HEALTHY //fully healed, honest
- ..()
-
-/datum/reagent/blob/regenerative_materia/on_mob_end_metabolize(mob/living/M)
- if(iscarbon(M))
- var/mob/living/carbon/N = M
- N.hal_screwyhud = 0
- ..()
-
-//kills sleeping targets and turns them into blob zombies, produces fragile spores when killed or on expanding
-/datum/reagent/blob/zombifying_pods
- name = "Zombifying Pods"
- description = "will do very low toxin damage and harvest sleeping targets for additional resources and a blob zombie."
- effectdesc = "will also produce fragile spores when killed and on expanding."
- taste_description = "fungi"
- shortdesc = "will do very low toxin damage and harvest sleeping targets for additional resources(for your overmind) and a blob zombie."
- analyzerdescdamage = "Does very low toxin damage and kills unconscious humans, turning them into blob zombies."
- analyzerdesceffect = "Produces spores when expanding and when killed."
- color = "#E88D5D"
- complementary_color = "#823ABB"
- message_living = ", and you feel tired"
-
-/datum/reagent/blob/zombifying_pods/reaction_mob(mob/living/M, method=TOUCH, reac_volume, show_message, touch_protection, mob/camera/blob/O)
- reac_volume = ..()
- M.apply_damage(0.6*reac_volume, TOX)
- if(O && ishuman(M) && M.stat == UNCONSCIOUS)
- M.death() //sleeping in a fight? bad plan.
- var/points = rand(5, 10)
- var/mob/living/simple_animal/hostile/blob/blobspore/BS = new/mob/living/simple_animal/hostile/blob/blobspore/weak(get_turf(M))
- BS.overmind = O
- BS.update_icons()
- O.blob_mobs.Add(BS)
- BS.Zombify(M)
- O.add_points(points)
- to_chat(O, "Gained [points] resources from the zombification of [M].")
-
-/datum/reagent/blob/zombifying_pods/damage_reaction(obj/structure/blob/B, damage, damage_type, damage_flag)
- if((damage_flag == "melee" || damage_flag == "bullet" || damage_flag == "laser") && damage <= 20 && B.obj_integrity - damage <= 0 && prob(30)) //if the cause isn't fire or a bomb, the damage is less than 21, we're going to die from that damage, 20% chance of a shitty spore.
- B.visible_message("A spore floats free of the blob!")
- var/mob/living/simple_animal/hostile/blob/blobspore/weak/BS = new/mob/living/simple_animal/hostile/blob/blobspore/weak(B.loc)
- BS.overmind = B.overmind
- BS.update_icons()
- B.overmind.blob_mobs.Add(BS)
- return ..()
-
-/datum/reagent/blob/zombifying_pods/expand_reaction(obj/structure/blob/B, obj/structure/blob/newB, turf/T, mob/camera/blob/O)
- if(prob(10))
- var/mob/living/simple_animal/hostile/blob/blobspore/weak/BS = new/mob/living/simple_animal/hostile/blob/blobspore/weak(T)
- BS.overmind = B.overmind
- BS.update_icons()
- newB.overmind.blob_mobs.Add(BS)
-
-//does tons of oxygen damage and a little stamina, immune to tesla bolts, weak to EMP
-/datum/reagent/blob/energized_jelly
- name = "Energized Jelly"
- description = "will cause low stamina and high oxygen damage, and cause targets to be unable to breathe."
- taste_description = "gelatin"
- effectdesc = "will also conduct electricity, but takes damage from EMPs."
- analyzerdescdamage = "Does low stamina damage, high oxygen damage, and prevents targets from breathing."
- analyzerdesceffect = "Is immune to electricity and will easily conduct it, but is weak to EMPs."
- color = "#EFD65A"
- complementary_color = "#00E5B1"
- message_living = ", and you feel a horrible tingling sensation"
-
-/datum/reagent/blob/energized_jelly/reaction_mob(mob/living/M, method=TOUCH, reac_volume, show_message, touch_protection, mob/camera/blob/O)
- reac_volume = ..()
- M.losebreath += round(0.2*reac_volume)
- M.adjustStaminaLoss(0.4*reac_volume)
- if(M)
- M.apply_damage(0.6*reac_volume, OXY)
-
-/datum/reagent/blob/energized_jelly/damage_reaction(obj/structure/blob/B, damage, damage_type, damage_flag)
- if((damage_flag == "melee" || damage_flag == "bullet" || damage_flag == "laser") && B.obj_integrity - damage <= 0 && prob(10))
- do_sparks(rand(2, 4), FALSE, B)
- return ..()
-
-/datum/reagent/blob/energized_jelly/tesla_reaction(obj/structure/blob/B, power)
- return 0
-
-/datum/reagent/blob/energized_jelly/emp_reaction(obj/structure/blob/B, severity)
- var/damage = rand(30, 50) - severity * rand(10, 15)
- B.take_damage(damage, BURN, "energy")
-
-//does aoe brute damage when hitting targets, is immune to explosions
-/datum/reagent/blob/explosive_lattice
- name = "Explosive Lattice"
- description = "will do brute damage in an area around targets."
- taste_description = "the bomb"
- effectdesc = "will also resist explosions, but takes increased damage from fire and other energy sources."
- analyzerdescdamage = "Does medium brute damage and causes damage to everyone near its targets."
- analyzerdesceffect = "Is highly resistant to explosions, but takes increased damage from fire and other energy sources."
- color = "#8B2500"
- complementary_color = "#00668B"
- blobbernaut_message = "blasts"
- message = "The blob blasts you"
-
-/datum/reagent/blob/explosive_lattice/reaction_mob(mob/living/M, method=TOUCH, reac_volume, show_message, touch_protection, mob/camera/blob/O)
- var/initial_volume = reac_volume
- reac_volume = ..()
- if(reac_volume >= 10) //if it's not a spore cloud, bad time incoming
- var/obj/effect/temp_visual/explosion/fast/E = new /obj/effect/temp_visual/explosion/fast(get_turf(M))
- E.alpha = 150
- for(var/mob/living/L in orange(get_turf(M), 1))
- if(ROLE_BLOB in L.faction) //no friendly fire
- continue
- var/aoe_volume = ..(L, TOUCH, initial_volume, 0, L.get_permeability_protection(), O)
- L.apply_damage(0.4*aoe_volume, BRUTE)
- if(M)
- M.apply_damage(0.6*reac_volume, BRUTE)
- else
- M.apply_damage(0.6*reac_volume, BRUTE)
-
-/datum/reagent/blob/explosive_lattice/damage_reaction(obj/structure/blob/B, damage, damage_type, damage_flag)
- if(damage_flag == "bomb")
- return 0
- else if(damage_flag != "melee" && damage_flag != "bullet" && damage_flag != "laser")
- return damage * 1.5
- return ..()
-
-//does brute, burn, and toxin damage, and cools targets down
-/datum/reagent/blob/cryogenic_poison
- name = "Cryogenic Poison"
- description = "will inject targets with a freezing poison that does high damage over time."
- analyzerdescdamage = "Injects targets with a freezing poison that will gradually solidify the target's internal organs."
- color = "#8BA6E9"
- taste_description = "brain freeze"
- complementary_color = "#7D6EB4"
- blobbernaut_message = "injects"
- message = "The blob stabs you"
- message_living = ", and you feel like your insides are solidifying"
-
-/datum/reagent/blob/cryogenic_poison/reaction_mob(mob/living/M, method=TOUCH, reac_volume, show_message, touch_protection, mob/camera/blob/O)
- reac_volume = ..()
- if(M.reagents)
- M.reagents.add_reagent(/datum/reagent/consumable/frostoil, 0.3*reac_volume)
- M.reagents.add_reagent(/datum/reagent/consumable/ice, 0.3*reac_volume)
- M.reagents.add_reagent(/datum/reagent/blob/cryogenic_poison, 0.3*reac_volume)
- M.apply_damage(0.2*reac_volume, BRUTE)
-
-/datum/reagent/blob/cryogenic_poison/on_mob_life(mob/living/carbon/M)
- M.adjustBruteLoss(0.3*REM, 0)
- M.adjustFireLoss(0.3*REM, 0)
- M.adjustToxLoss(0.3*REM, 0)
- . = 1
- ..()
-
-//does burn damage and EMPs, slightly fragile
-/datum/reagent/blob/electromagnetic_web
- name = "Electromagnetic Web"
- description = "will do high burn damage and EMP targets."
- taste_description = "pop rocks"
- effectdesc = "will also take massively increased damage and release an EMP when killed."
- analyzerdescdamage = "Does low burn damage and EMPs targets."
- analyzerdesceffect = "Is fragile to all types of damage, but takes massive damage from brute. In addition, releases a small EMP when killed."
- color = "#83ECEC"
- complementary_color = "#EC8383"
- blobbernaut_message = "lashes"
- message = "The blob lashes you"
- message_living = ", and you hear a faint buzzing"
-
-/datum/reagent/blob/electromagnetic_web/reaction_mob(mob/living/M, method=TOUCH, reac_volume, show_message, touch_protection, mob/camera/blob/O)
- reac_volume = ..()
- if(prob(reac_volume*2))
- M.emp_act(EMP_LIGHT)
- if(M)
- M.apply_damage(reac_volume, BURN)
-
-/datum/reagent/blob/electromagnetic_web/damage_reaction(obj/structure/blob/B, damage, damage_type, damage_flag)
- if(damage_type == BRUTE) //take full brute
- switch(B.brute_resist)
- if(0.5)
- return damage * 2
- if(0.25)
- return damage * 4
- if(0.1)
- return damage * 10
- return damage * 1.25 //a laser will do 25 damage, which will kill any normal blob
-
-/datum/reagent/blob/electromagnetic_web/death_reaction(obj/structure/blob/B, damage_flag)
- if(damage_flag == "melee" || damage_flag == "bullet" || damage_flag == "laser")
- empulse(B.loc, 1, 3) //less than screen range, so you can stand out of range to avoid it
-
-//does brute damage, bonus damage for each nearby blob, and spreads damage out
-/datum/reagent/blob/synchronous_mesh
- name = "Synchronous Mesh"
- description = "will do massively increased brute damage for each blob near the target."
- effectdesc = "will also spread damage between each blob near the attacked blob."
- taste_description = "toxic mold"
- analyzerdescdamage = "Does brute damage, increasing for each blob near the target."
- analyzerdesceffect = "When attacked, spreads damage between all blobs near the attacked blob."
- color = "#65ADA2"
- complementary_color = "#AD6570"
- blobbernaut_message = "synchronously strikes"
- message = "The blobs strike you"
-
-/datum/reagent/blob/synchronous_mesh/reaction_mob(mob/living/M, method=TOUCH, reac_volume, show_message, touch_protection, mob/camera/blob/O)
- reac_volume = ..()
- M.apply_damage(0.2*reac_volume, BRUTE)
- if(M && reac_volume)
- for(var/obj/structure/blob/B in range(1, M)) //if the target is completely surrounded, this is 2.4*reac_volume bonus damage, total of 2.6*reac_volume
- if(M)
- B.blob_attack_animation(M) //show them they're getting a bad time
- M.apply_damage(0.3*reac_volume, BRUTE)
-
-/datum/reagent/blob/synchronous_mesh/damage_reaction(obj/structure/blob/B, damage, damage_type, damage_flag)
- if(damage_flag == "melee" || damage_flag == "bullet" || damage_flag == "laser") //the cause isn't fire or bombs, so split the damage
- var/damagesplit = 1 //maximum split is 9, reducing the damage each blob takes to 11% but doing that damage to 9 blobs
- for(var/obj/structure/blob/C in orange(1, B))
- if(!istype(C, /obj/structure/blob/core) && !istype(C, /obj/structure/blob/node) && C.overmind && C.overmind.blob_reagent_datum.type == B.overmind.blob_reagent_datum.type) //if it doesn't have the same chemical or is a core or node, don't split damage to it
- damagesplit += 1
- for(var/obj/structure/blob/C in orange(1, B))
- if(!istype(C, /obj/structure/blob/core) && !istype(C, /obj/structure/blob/node) && C.overmind && C.overmind.blob_reagent_datum.type == B.overmind.blob_reagent_datum.type) //only hurt blobs that have the same overmind chemical and aren't cores or nodes
- C.take_damage(damage/damagesplit, CLONE, 0, 0)
- return damage / damagesplit
- else
- return damage * 1.25
-
-//does brute damage through armor and bio resistance
-/datum/reagent/blob/reactive_spines
- name = "Reactive Spines"
- description = "will do medium brute damage through armor and bio resistance."
- taste_description = "rock"
- effectdesc = "will also react when attacked with brute damage, attacking all near the attacked blob."
- analyzerdescdamage = "Does medium brute damage, ignoring armor and bio resistance."
- analyzerdesceffect = "When attacked with brute damage, will lash out, attacking everything near it."
- color = "#9ACD32"
- complementary_color = "#FFA500"
- blobbernaut_message = "stabs"
- message = "The blob stabs you"
-
-/datum/reagent/blob/reactive_spines/reaction_mob(mob/living/M, method=TOUCH, reac_volume, show_message, touch_protection, mob/camera/blob/O)
- if(M.stat == DEAD || istype(M, /mob/living/simple_animal/hostile/blob))
- return 0 //the dead, and blob mobs, don't cause reactions
- M.adjustBruteLoss(0.8*reac_volume)
-
-/datum/reagent/blob/reactive_spines/damage_reaction(obj/structure/blob/B, damage, damage_type, damage_flag)
- if(damage && damage_type == BRUTE && B.obj_integrity - damage > 0) //is there any damage, is it brute, and will we be alive
- if(damage_flag == "melee")
- B.visible_message("The blob retaliates, lashing out!")
- for(var/atom/A in range(1, B))
- A.blob_act(B)
- return ..()
-
-//does low brute damage, oxygen damage, and stamina damage and wets tiles when damaged
-/datum/reagent/blob/pressurized_slime
- name = "Pressurized Slime"
- description = "will do low brute, oxygen, and stamina damage, and wet tiles under targets."
- effectdesc = "will also wet tiles near blobs that are attacked or killed."
- taste_description = "a sponge"
- analyzerdescdamage = "Does low brute damage, low oxygen damage, drains stamina, and wets tiles under targets, extinguishing them."
- analyzerdesceffect = "When attacked or killed, wets nearby tiles, extinguishing anything on them."
- color = "#AAAABB"
- complementary_color = "#BBBBAA"
- blobbernaut_message = "emits slime at"
- message = "The blob splashes into you"
- message_living = ", and you gasp for breath"
-
-/datum/reagent/blob/pressurized_slime/reaction_mob(mob/living/M, method=TOUCH, reac_volume, show_message, touch_protection, mob/camera/blob/O)
- reac_volume = ..()
- var/turf/open/T = get_turf(M)
- if(istype(T) && prob(reac_volume))
- T.MakeSlippery(TURF_WET_WATER, min_wet_time = 10 SECONDS, wet_time_to_add = 5 SECONDS)
- M.adjust_fire_stacks(-(reac_volume / 10))
- M.ExtinguishMob()
- M.apply_damage(0.4*reac_volume, BRUTE)
- if(M)
- M.apply_damage(0.4*reac_volume, OXY)
- if(M)
- M.adjustStaminaLoss(0.2*reac_volume)
-
-/datum/reagent/blob/pressurized_slime/damage_reaction(obj/structure/blob/B, damage, damage_type, damage_flag)
- if((damage_flag == "melee" || damage_flag == "bullet" || damage_flag == "laser") || damage_type != BURN)
- extinguisharea(B, damage)
- return ..()
-
-/datum/reagent/blob/pressurized_slime/death_reaction(obj/structure/blob/B, damage_flag)
- if(damage_flag == "melee" || damage_flag == "bullet" || damage_flag == "laser")
- B.visible_message("The blob ruptures, spraying the area with liquid!")
- extinguisharea(B, 50)
-
-/datum/reagent/blob/pressurized_slime/proc/extinguisharea(obj/structure/blob/B, probchance)
- for(var/turf/open/T in range(1, B))
- if(prob(probchance))
- T.MakeSlippery(TURF_WET_WATER, min_wet_time = 10 SECONDS, wet_time_to_add = 5 SECONDS)
- for(var/obj/O in T)
- O.extinguish()
- for(var/mob/living/L in T)
- L.adjust_fire_stacks(-2.5)
- L.ExtinguishMob()
diff --git a/tgstation.dme b/tgstation.dme
index 7ce9569f9a..5d2e5a02ad 100755
--- a/tgstation.dme
+++ b/tgstation.dme
@@ -1,3264 +1,3279 @@
-
-// DM Environment file for tgstation.dme.
-// All manual changes should be made outside the BEGIN_ and END_ blocks.
-// New source code should be placed in .dm files: choose File/New --> Code File.
-// BEGIN_INTERNALS
-// END_INTERNALS
-
-// BEGIN_FILE_DIR
-#define FILE_DIR .
-// END_FILE_DIR
-
-// BEGIN_PREFERENCES
-#define DEBUG
-// END_PREFERENCES
-
-// BEGIN_INCLUDE
-#include "_maps\_basemap.dm"
-#include "code\_compile_options.dm"
-#include "code\world.dm"
-#include "code\__DEFINES\__513_compatibility.dm"
-#include "code\__DEFINES\_globals.dm"
-#include "code\__DEFINES\_protect.dm"
-#include "code\__DEFINES\_tick.dm"
-#include "code\__DEFINES\access.dm"
-#include "code\__DEFINES\admin.dm"
-#include "code\__DEFINES\antagonists.dm"
-#include "code\__DEFINES\atmospherics.dm"
-#include "code\__DEFINES\atom_hud.dm"
-#include "code\__DEFINES\bsql.config.dm"
-#include "code\__DEFINES\bsql.dm"
-#include "code\__DEFINES\callbacks.dm"
-#include "code\__DEFINES\cargo.dm"
-#include "code\__DEFINES\cinematics.dm"
-#include "code\__DEFINES\citadel_defines.dm"
-#include "code\__DEFINES\cleaning.dm"
-#include "code\__DEFINES\clockcult.dm"
-#include "code\__DEFINES\colors.dm"
-#include "code\__DEFINES\combat.dm"
-#include "code\__DEFINES\components.dm"
-#include "code\__DEFINES\configuration.dm"
-#include "code\__DEFINES\construction.dm"
-#include "code\__DEFINES\contracts.dm"
-#include "code\__DEFINES\cult.dm"
-#include "code\__DEFINES\diseases.dm"
-#include "code\__DEFINES\DNA.dm"
-#include "code\__DEFINES\donator_groupings.dm"
-#include "code\__DEFINES\dynamic.dm"
-#include "code\__DEFINES\events.dm"
-#include "code\__DEFINES\exports.dm"
-#include "code\__DEFINES\fantasy_affixes.dm"
-#include "code\__DEFINES\flags.dm"
-#include "code\__DEFINES\food.dm"
-#include "code\__DEFINES\footsteps.dm"
-#include "code\__DEFINES\hud.dm"
-#include "code\__DEFINES\integrated_electronics.dm"
-#include "code\__DEFINES\interaction_flags.dm"
-#include "code\__DEFINES\inventory.dm"
-#include "code\__DEFINES\is_helpers.dm"
-#include "code\__DEFINES\jobs.dm"
-#include "code\__DEFINES\language.dm"
-#include "code\__DEFINES\layers.dm"
-#include "code\__DEFINES\lighting.dm"
-#include "code\__DEFINES\logging.dm"
-#include "code\__DEFINES\machines.dm"
-#include "code\__DEFINES\maps.dm"
-#include "code\__DEFINES\materials.dm"
-#include "code\__DEFINES\maths.dm"
-#include "code\__DEFINES\MC.dm"
-#include "code\__DEFINES\medal.dm"
-#include "code\__DEFINES\melee.dm"
-#include "code\__DEFINES\menu.dm"
-#include "code\__DEFINES\misc.dm"
-#include "code\__DEFINES\mobs.dm"
-#include "code\__DEFINES\monkeys.dm"
-#include "code\__DEFINES\move_force.dm"
-#include "code\__DEFINES\movespeed_modification.dm"
-#include "code\__DEFINES\nanites.dm"
-#include "code\__DEFINES\networks.dm"
-#include "code\__DEFINES\obj_flags.dm"
-#include "code\__DEFINES\pinpointers.dm"
-#include "code\__DEFINES\pipe_construction.dm"
-#include "code\__DEFINES\pool.dm"
-#include "code\__DEFINES\power.dm"
-#include "code\__DEFINES\preferences.dm"
-#include "code\__DEFINES\procpath.dm"
-#include "code\__DEFINES\profile.dm"
-#include "code\__DEFINES\qdel.dm"
-#include "code\__DEFINES\radiation.dm"
-#include "code\__DEFINES\radio.dm"
-#include "code\__DEFINES\reactions.dm"
-#include "code\__DEFINES\reagents.dm"
-#include "code\__DEFINES\reagents_specific_heat.dm"
-#include "code\__DEFINES\research.dm"
-#include "code\__DEFINES\robots.dm"
-#include "code\__DEFINES\role_preferences.dm"
-#include "code\__DEFINES\rust_g.config.dm"
-#include "code\__DEFINES\rust_g.dm"
-#include "code\__DEFINES\say.dm"
-#include "code\__DEFINES\shuttles.dm"
-#include "code\__DEFINES\sight.dm"
-#include "code\__DEFINES\sound.dm"
-#include "code\__DEFINES\spaceman_dmm.dm"
-#include "code\__DEFINES\stat.dm"
-#include "code\__DEFINES\stat_tracking.dm"
-#include "code\__DEFINES\status_effects.dm"
-#include "code\__DEFINES\subsystems.dm"
-#include "code\__DEFINES\tgs.config.dm"
-#include "code\__DEFINES\tgs.dm"
-#include "code\__DEFINES\tgui.dm"
-#include "code\__DEFINES\time.dm"
-#include "code\__DEFINES\tools.dm"
-#include "code\__DEFINES\traits.dm"
-#include "code\__DEFINES\turf_flags.dm"
-#include "code\__DEFINES\typeids.dm"
-#include "code\__DEFINES\vehicles.dm"
-#include "code\__DEFINES\voreconstants.dm"
-#include "code\__DEFINES\vote.dm"
-#include "code\__DEFINES\vv.dm"
-#include "code\__DEFINES\wall_dents.dm"
-#include "code\__DEFINES\wires.dm"
-#include "code\__HELPERS\_cit_helpers.dm"
-#include "code\__HELPERS\_lists.dm"
-#include "code\__HELPERS\_logging.dm"
-#include "code\__HELPERS\_string_lists.dm"
-#include "code\__HELPERS\areas.dm"
-#include "code\__HELPERS\AStar.dm"
-#include "code\__HELPERS\cmp.dm"
-#include "code\__HELPERS\custom_holoforms.dm"
-#include "code\__HELPERS\dates.dm"
-#include "code\__HELPERS\donator_groupings.dm"
-#include "code\__HELPERS\files.dm"
-#include "code\__HELPERS\game.dm"
-#include "code\__HELPERS\global_lists.dm"
-#include "code\__HELPERS\heap.dm"
-#include "code\__HELPERS\icon_smoothing.dm"
-#include "code\__HELPERS\icons.dm"
-#include "code\__HELPERS\level_traits.dm"
-#include "code\__HELPERS\matrices.dm"
-#include "code\__HELPERS\mobs.dm"
-#include "code\__HELPERS\mouse_control.dm"
-#include "code\__HELPERS\names.dm"
-#include "code\__HELPERS\priority_announce.dm"
-#include "code\__HELPERS\pronouns.dm"
-#include "code\__HELPERS\qdel.dm"
-#include "code\__HELPERS\radiation.dm"
-#include "code\__HELPERS\radio.dm"
-#include "code\__HELPERS\reagents.dm"
-#include "code\__HELPERS\roundend.dm"
-#include "code\__HELPERS\sanitize_values.dm"
-#include "code\__HELPERS\shell.dm"
-#include "code\__HELPERS\stat_tracking.dm"
-#include "code\__HELPERS\text.dm"
-#include "code\__HELPERS\text_vr.dm"
-#include "code\__HELPERS\time.dm"
-#include "code\__HELPERS\type2type.dm"
-#include "code\__HELPERS\type2type_vr.dm"
-#include "code\__HELPERS\typelists.dm"
-#include "code\__HELPERS\unsorted.dm"
-#include "code\__HELPERS\vector.dm"
-#include "code\__HELPERS\view.dm"
-#include "code\__HELPERS\sorts\__main.dm"
-#include "code\__HELPERS\sorts\InsertSort.dm"
-#include "code\__HELPERS\sorts\MergeSort.dm"
-#include "code\__HELPERS\sorts\TimSort.dm"
-#include "code\_globalvars\bitfields.dm"
-#include "code\_globalvars\configuration.dm"
-#include "code\_globalvars\game_modes.dm"
-#include "code\_globalvars\genetics.dm"
-#include "code\_globalvars\logging.dm"
-#include "code\_globalvars\misc.dm"
-#include "code\_globalvars\regexes.dm"
-#include "code\_globalvars\lists\flavor_misc.dm"
-#include "code\_globalvars\lists\maintenance_loot.dm"
-#include "code\_globalvars\lists\mapping.dm"
-#include "code\_globalvars\lists\medals.dm"
-#include "code\_globalvars\lists\misc.dm"
-#include "code\_globalvars\lists\mobs.dm"
-#include "code\_globalvars\lists\names.dm"
-#include "code\_globalvars\lists\objects.dm"
-#include "code\_globalvars\lists\poll_ignore.dm"
-#include "code\_globalvars\lists\typecache.dm"
-#include "code\_js\byjax.dm"
-#include "code\_js\menus.dm"
-#include "code\_onclick\adjacent.dm"
-#include "code\_onclick\ai.dm"
-#include "code\_onclick\click.dm"
-#include "code\_onclick\cyborg.dm"
-#include "code\_onclick\drag_drop.dm"
-#include "code\_onclick\item_attack.dm"
-#include "code\_onclick\observer.dm"
-#include "code\_onclick\other_mobs.dm"
-#include "code\_onclick\overmind.dm"
-#include "code\_onclick\telekinesis.dm"
-#include "code\_onclick\hud\_defines.dm"
-#include "code\_onclick\hud\action_button.dm"
-#include "code\_onclick\hud\ai.dm"
-#include "code\_onclick\hud\alert.dm"
-#include "code\_onclick\hud\alien.dm"
-#include "code\_onclick\hud\alien_larva.dm"
-#include "code\_onclick\hud\blob_overmind.dm"
-#include "code\_onclick\hud\blobbernauthud.dm"
-#include "code\_onclick\hud\constructs.dm"
-#include "code\_onclick\hud\credits.dm"
-#include "code\_onclick\hud\devil.dm"
-#include "code\_onclick\hud\drones.dm"
-#include "code\_onclick\hud\fullscreen.dm"
-#include "code\_onclick\hud\generic_dextrous.dm"
-#include "code\_onclick\hud\ghost.dm"
-#include "code\_onclick\hud\guardian.dm"
-#include "code\_onclick\hud\hud.dm"
-#include "code\_onclick\hud\human.dm"
-#include "code\_onclick\hud\lavaland_elite.dm"
-#include "code\_onclick\hud\monkey.dm"
-#include "code\_onclick\hud\movable_screen_objects.dm"
-#include "code\_onclick\hud\parallax.dm"
-#include "code\_onclick\hud\picture_in_picture.dm"
-#include "code\_onclick\hud\plane_master.dm"
-#include "code\_onclick\hud\radial.dm"
-#include "code\_onclick\hud\radial_persistent.dm"
-#include "code\_onclick\hud\revenanthud.dm"
-#include "code\_onclick\hud\robot.dm"
-#include "code\_onclick\hud\screen_objects.dm"
-#include "code\_onclick\hud\swarmer.dm"
-#include "code\controllers\admin.dm"
-#include "code\controllers\configuration_citadel.dm"
-#include "code\controllers\controller.dm"
-#include "code\controllers\failsafe.dm"
-#include "code\controllers\globals.dm"
-#include "code\controllers\hooks.dm"
-#include "code\controllers\master.dm"
-#include "code\controllers\subsystem.dm"
-#include "code\controllers\configuration\config_entry.dm"
-#include "code\controllers\configuration\configuration.dm"
-#include "code\controllers\configuration\entries\comms.dm"
-#include "code\controllers\configuration\entries\dbconfig.dm"
-#include "code\controllers\configuration\entries\donator.dm"
-#include "code\controllers\configuration\entries\dynamic.dm"
-#include "code\controllers\configuration\entries\fail2topic.dm"
-#include "code\controllers\configuration\entries\game_options.dm"
-#include "code\controllers\configuration\entries\general.dm"
-#include "code\controllers\configuration\entries\plushies.dm"
-#include "code\controllers\subsystem\acid.dm"
-#include "code\controllers\subsystem\adjacent_air.dm"
-#include "code\controllers\subsystem\air.dm"
-#include "code\controllers\subsystem\air_turfs.dm"
-#include "code\controllers\subsystem\assets.dm"
-#include "code\controllers\subsystem\atoms.dm"
-#include "code\controllers\subsystem\augury.dm"
-#include "code\controllers\subsystem\autotransfer.dm"
-#include "code\controllers\subsystem\blackbox.dm"
-#include "code\controllers\subsystem\chat.dm"
-#include "code\controllers\subsystem\communications.dm"
-#include "code\controllers\subsystem\dbcore.dm"
-#include "code\controllers\subsystem\dcs.dm"
-#include "code\controllers\subsystem\disease.dm"
-#include "code\controllers\subsystem\events.dm"
-#include "code\controllers\subsystem\fail2topic.dm"
-#include "code\controllers\subsystem\fire_burning.dm"
-#include "code\controllers\subsystem\garbage.dm"
-#include "code\controllers\subsystem\icon_smooth.dm"
-#include "code\controllers\subsystem\idlenpcpool.dm"
-#include "code\controllers\subsystem\input.dm"
-#include "code\controllers\subsystem\ipintel.dm"
-#include "code\controllers\subsystem\job.dm"
-#include "code\controllers\subsystem\jukeboxes.dm"
-#include "code\controllers\subsystem\language.dm"
-#include "code\controllers\subsystem\lighting.dm"
-#include "code\controllers\subsystem\machines.dm"
-#include "code\controllers\subsystem\mapping.dm"
-#include "code\controllers\subsystem\materials.dm"
-#include "code\controllers\subsystem\medals.dm"
-#include "code\controllers\subsystem\minor_mapping.dm"
-#include "code\controllers\subsystem\mobs.dm"
-#include "code\controllers\subsystem\moods.dm"
-#include "code\controllers\subsystem\nightshift.dm"
-#include "code\controllers\subsystem\npcpool.dm"
-#include "code\controllers\subsystem\overlays.dm"
-#include "code\controllers\subsystem\pai.dm"
-#include "code\controllers\subsystem\parallax.dm"
-#include "code\controllers\subsystem\pathfinder.dm"
-#include "code\controllers\subsystem\persistence.dm"
-#include "code\controllers\subsystem\ping.dm"
-#include "code\controllers\subsystem\profiler.dm"
-#include "code\controllers\subsystem\radiation.dm"
-#include "code\controllers\subsystem\radio.dm"
-#include "code\controllers\subsystem\research.dm"
-#include "code\controllers\subsystem\server_maint.dm"
-#include "code\controllers\subsystem\shuttle.dm"
-#include "code\controllers\subsystem\spacedrift.dm"
-#include "code\controllers\subsystem\stickyban.dm"
-#include "code\controllers\subsystem\sun.dm"
-#include "code\controllers\subsystem\tgui.dm"
-#include "code\controllers\subsystem\throwing.dm"
-#include "code\controllers\subsystem\ticker.dm"
-#include "code\controllers\subsystem\time_track.dm"
-#include "code\controllers\subsystem\timer.dm"
-#include "code\controllers\subsystem\title.dm"
-#include "code\controllers\subsystem\traumas.dm"
-#include "code\controllers\subsystem\vis_overlays.dm"
-#include "code\controllers\subsystem\vore.dm"
-#include "code\controllers\subsystem\vote.dm"
-#include "code\controllers\subsystem\processing\chemistry.dm"
-#include "code\controllers\subsystem\processing\circuit.dm"
-#include "code\controllers\subsystem\processing\fastprocess.dm"
-#include "code\controllers\subsystem\processing\fields.dm"
-#include "code\controllers\subsystem\processing\nanites.dm"
-#include "code\controllers\subsystem\processing\networks.dm"
-#include "code\controllers\subsystem\processing\obj.dm"
-#include "code\controllers\subsystem\processing\processing.dm"
-#include "code\controllers\subsystem\processing\projectiles.dm"
-#include "code\controllers\subsystem\processing\quirks.dm"
-#include "code\controllers\subsystem\processing\weather.dm"
-#include "code\controllers\subsystem\processing\wet_floors.dm"
-#include "code\datums\action.dm"
-#include "code\datums\ai_laws.dm"
-#include "code\datums\armor.dm"
-#include "code\datums\beam.dm"
-#include "code\datums\browser.dm"
-#include "code\datums\callback.dm"
-#include "code\datums\cinematic.dm"
-#include "code\datums\dash_weapon.dm"
-#include "code\datums\datacore.dm"
-#include "code\datums\datum.dm"
-#include "code\datums\datumvars.dm"
-#include "code\datums\dna.dm"
-#include "code\datums\dog_fashion.dm"
-#include "code\datums\embedding_behavior.dm"
-#include "code\datums\emotes.dm"
-#include "code\datums\ert.dm"
-#include "code\datums\explosion.dm"
-#include "code\datums\forced_movement.dm"
-#include "code\datums\holocall.dm"
-#include "code\datums\hud.dm"
-#include "code\datums\map_config.dm"
-#include "code\datums\martial.dm"
-#include "code\datums\mind.dm"
-#include "code\datums\mutable_appearance.dm"
-#include "code\datums\mutations.dm"
-#include "code\datums\numbered_display.dm"
-#include "code\datums\outfit.dm"
-#include "code\datums\position_point_vector.dm"
-#include "code\datums\profiling.dm"
-#include "code\datums\progressbar.dm"
-#include "code\datums\radiation_wave.dm"
-#include "code\datums\recipe.dm"
-#include "code\datums\ruins.dm"
-#include "code\datums\saymode.dm"
-#include "code\datums\shuttles.dm"
-#include "code\datums\soullink.dm"
-#include "code\datums\spawners_menu.dm"
-#include "code\datums\verbs.dm"
-#include "code\datums\weakrefs.dm"
-#include "code\datums\world_topic.dm"
-#include "code\datums\actions\beam_rifle.dm"
-#include "code\datums\actions\ninja.dm"
-#include "code\datums\brain_damage\brain_trauma.dm"
-#include "code\datums\brain_damage\hypnosis.dm"
-#include "code\datums\brain_damage\imaginary_friend.dm"
-#include "code\datums\brain_damage\mild.dm"
-#include "code\datums\brain_damage\phobia.dm"
-#include "code\datums\brain_damage\severe.dm"
-#include "code\datums\brain_damage\special.dm"
-#include "code\datums\brain_damage\split_personality.dm"
-#include "code\datums\components\_component.dm"
-#include "code\datums\components\anti_magic.dm"
-#include "code\datums\components\armor_plate.dm"
-#include "code\datums\components\bane.dm"
-#include "code\datums\components\bouncy.dm"
-#include "code\datums\components\butchering.dm"
-#include "code\datums\components\caltrop.dm"
-#include "code\datums\components\chasm.dm"
-#include "code\datums\components\construction.dm"
-#include "code\datums\components\decal.dm"
-#include "code\datums\components\dejavu.dm"
-#include "code\datums\components\earprotection.dm"
-#include "code\datums\components\edit_complainer.dm"
-#include "code\datums\components\empprotection.dm"
-#include "code\datums\components\explodable.dm"
-#include "code\datums\components\footstep.dm"
-#include "code\datums\components\forced_gravity.dm"
-#include "code\datums\components\igniter.dm"
-#include "code\datums\components\infective.dm"
-#include "code\datums\components\jousting.dm"
-#include "code\datums\components\knockback.dm"
-#include "code\datums\components\knockoff.dm"
-#include "code\datums\components\lifesteal.dm"
-#include "code\datums\components\lockon_aiming.dm"
-#include "code\datums\components\magnetic_catch.dm"
-#include "code\datums\components\material_container.dm"
-#include "code\datums\components\mirage_border.dm"
-#include "code\datums\components\mood.dm"
-#include "code\datums\components\nanites.dm"
-#include "code\datums\components\ntnet_interface.dm"
-#include "code\datums\components\orbiter.dm"
-#include "code\datums\components\paintable.dm"
-#include "code\datums\components\phantomthief.dm"
-#include "code\datums\components\rad_insulation.dm"
-#include "code\datums\components\radioactive.dm"
-#include "code\datums\components\remote_materials.dm"
-#include "code\datums\components\riding.dm"
-#include "code\datums\components\rotation.dm"
-#include "code\datums\components\shrapnel.dm"
-#include "code\datums\components\shrink.dm"
-#include "code\datums\components\sizzle.dm"
-#include "code\datums\components\slippery.dm"
-#include "code\datums\components\spawner.dm"
-#include "code\datums\components\spooky.dm"
-#include "code\datums\components\squeak.dm"
-#include "code\datums\components\stationloving.dm"
-#include "code\datums\components\summoning.dm"
-#include "code\datums\components\swarming.dm"
-#include "code\datums\components\tactical.dm"
-#include "code\datums\components\thermite.dm"
-#include "code\datums\components\uplink.dm"
-#include "code\datums\components\virtual_reality.dm"
-#include "code\datums\components\wearertargeting.dm"
-#include "code\datums\components\wet_floor.dm"
-#include "code\datums\components\crafting\craft.dm"
-#include "code\datums\components\crafting\glassware.dm"
-#include "code\datums\components\crafting\guncrafting.dm"
-#include "code\datums\components\crafting\recipes.dm"
-#include "code\datums\components\crafting\recipes\recipes_clothing.dm"
-#include "code\datums\components\crafting\recipes\recipes_misc.dm"
-#include "code\datums\components\crafting\recipes\recipes_primal.dm"
-#include "code\datums\components\crafting\recipes\recipes_robot.dm"
-#include "code\datums\components\crafting\recipes\recipes_weapon_and_ammo.dm"
-#include "code\datums\components\fantasy\_fantasy.dm"
-#include "code\datums\components\fantasy\affix.dm"
-#include "code\datums\components\fantasy\prefixes.dm"
-#include "code\datums\components\fantasy\suffixes.dm"
-#include "code\datums\components\storage\storage.dm"
-#include "code\datums\components\storage\concrete\_concrete.dm"
-#include "code\datums\components\storage\concrete\bag_of_holding.dm"
-#include "code\datums\components\storage\concrete\bluespace.dm"
-#include "code\datums\components\storage\concrete\emergency.dm"
-#include "code\datums\components\storage\concrete\implant.dm"
-#include "code\datums\components\storage\concrete\pockets.dm"
-#include "code\datums\components\storage\concrete\rped.dm"
-#include "code\datums\components\storage\concrete\special.dm"
-#include "code\datums\components\storage\concrete\stack.dm"
-#include "code\datums\diseases\_disease.dm"
-#include "code\datums\diseases\_MobProcs.dm"
-#include "code\datums\diseases\anxiety.dm"
-#include "code\datums\diseases\appendicitis.dm"
-#include "code\datums\diseases\beesease.dm"
-#include "code\datums\diseases\brainrot.dm"
-#include "code\datums\diseases\cold.dm"
-#include "code\datums\diseases\cold9.dm"
-#include "code\datums\diseases\dna_spread.dm"
-#include "code\datums\diseases\fake_gbs.dm"
-#include "code\datums\diseases\flu.dm"
-#include "code\datums\diseases\fluspanish.dm"
-#include "code\datums\diseases\gbs.dm"
-#include "code\datums\diseases\heart_failure.dm"
-#include "code\datums\diseases\magnitis.dm"
-#include "code\datums\diseases\parrotpossession.dm"
-#include "code\datums\diseases\pierrot_throat.dm"
-#include "code\datums\diseases\retrovirus.dm"
-#include "code\datums\diseases\rhumba_beat.dm"
-#include "code\datums\diseases\transformation.dm"
-#include "code\datums\diseases\tuberculosis.dm"
-#include "code\datums\diseases\wizarditis.dm"
-#include "code\datums\diseases\advance\advance.dm"
-#include "code\datums\diseases\advance\presets.dm"
-#include "code\datums\diseases\advance\symptoms\beard.dm"
-#include "code\datums\diseases\advance\symptoms\choking.dm"
-#include "code\datums\diseases\advance\symptoms\confusion.dm"
-#include "code\datums\diseases\advance\symptoms\cough.dm"
-#include "code\datums\diseases\advance\symptoms\deafness.dm"
-#include "code\datums\diseases\advance\symptoms\disfiguration.dm"
-#include "code\datums\diseases\advance\symptoms\dizzy.dm"
-#include "code\datums\diseases\advance\symptoms\fever.dm"
-#include "code\datums\diseases\advance\symptoms\fire.dm"
-#include "code\datums\diseases\advance\symptoms\flesh_eating.dm"
-#include "code\datums\diseases\advance\symptoms\genetics.dm"
-#include "code\datums\diseases\advance\symptoms\hallucigen.dm"
-#include "code\datums\diseases\advance\symptoms\headache.dm"
-#include "code\datums\diseases\advance\symptoms\heal.dm"
-#include "code\datums\diseases\advance\symptoms\itching.dm"
-#include "code\datums\diseases\advance\symptoms\nanites.dm"
-#include "code\datums\diseases\advance\symptoms\narcolepsy.dm"
-#include "code\datums\diseases\advance\symptoms\oxygen.dm"
-#include "code\datums\diseases\advance\symptoms\sensory.dm"
-#include "code\datums\diseases\advance\symptoms\shedding.dm"
-#include "code\datums\diseases\advance\symptoms\shivering.dm"
-#include "code\datums\diseases\advance\symptoms\skin.dm"
-#include "code\datums\diseases\advance\symptoms\sneeze.dm"
-#include "code\datums\diseases\advance\symptoms\species.dm"
-#include "code\datums\diseases\advance\symptoms\symptoms.dm"
-#include "code\datums\diseases\advance\symptoms\viral.dm"
-#include "code\datums\diseases\advance\symptoms\vision.dm"
-#include "code\datums\diseases\advance\symptoms\voice_change.dm"
-#include "code\datums\diseases\advance\symptoms\vomit.dm"
-#include "code\datums\diseases\advance\symptoms\weight.dm"
-#include "code\datums\diseases\advance\symptoms\youth.dm"
-#include "code\datums\elements\_element.dm"
-#include "code\datums\elements\cleaning.dm"
-#include "code\datums\elements\dusts_on_catatonia.dm"
-#include "code\datums\elements\dusts_on_leaving_area.dm"
-#include "code\datums\elements\earhealing.dm"
-#include "code\datums\elements\firestacker.dm"
-#include "code\datums\elements\ghost_role_eligibility.dm"
-#include "code\datums\elements\mob_holder.dm"
-#include "code\datums\elements\swimming.dm"
-#include "code\datums\elements\sword_point.dm"
-#include "code\datums\elements\update_icon_blocker.dm"
-#include "code\datums\elements\update_icon_updates_onmob.dm"
-#include "code\datums\elements\wuv.dm"
-#include "code\datums\helper_datums\events.dm"
-#include "code\datums\helper_datums\getrev.dm"
-#include "code\datums\helper_datums\icon_snapshot.dm"
-#include "code\datums\helper_datums\teleport.dm"
-#include "code\datums\looping_sounds\_looping_sound.dm"
-#include "code\datums\looping_sounds\item_sounds.dm"
-#include "code\datums\looping_sounds\machinery_sounds.dm"
-#include "code\datums\looping_sounds\weather.dm"
-#include "code\datums\martial\boxing.dm"
-#include "code\datums\martial\cqc.dm"
-#include "code\datums\martial\krav_maga.dm"
-#include "code\datums\martial\mushpunch.dm"
-#include "code\datums\martial\plasma_fist.dm"
-#include "code\datums\martial\psychotic_brawl.dm"
-#include "code\datums\martial\rising_bass.dm"
-#include "code\datums\martial\sleeping_carp.dm"
-#include "code\datums\martial\wrestling.dm"
-#include "code\datums\materials\_material.dm"
-#include "code\datums\materials\basemats.dm"
-#include "code\datums\mood_events\beauty_events.dm"
-#include "code\datums\mood_events\drink_events.dm"
-#include "code\datums\mood_events\drug_events.dm"
-#include "code\datums\mood_events\generic_negative_events.dm"
-#include "code\datums\mood_events\generic_positive_events.dm"
-#include "code\datums\mood_events\mood_event.dm"
-#include "code\datums\mood_events\needs_events.dm"
-#include "code\datums\mutations\body.dm"
-#include "code\datums\mutations\chameleon.dm"
-#include "code\datums\mutations\cold_resistance.dm"
-#include "code\datums\mutations\hulk.dm"
-#include "code\datums\mutations\sight.dm"
-#include "code\datums\mutations\speech.dm"
-#include "code\datums\mutations\telekinesis.dm"
-#include "code\datums\ruins\lavaland.dm"
-#include "code\datums\ruins\space.dm"
-#include "code\datums\ruins\station.dm"
-#include "code\datums\status_effects\buffs.dm"
-#include "code\datums\status_effects\debuffs.dm"
-#include "code\datums\status_effects\gas.dm"
-#include "code\datums\status_effects\neutral.dm"
-#include "code\datums\status_effects\status_effect.dm"
-#include "code\datums\traits\_quirk.dm"
-#include "code\datums\traits\good.dm"
-#include "code\datums\traits\negative.dm"
-#include "code\datums\traits\neutral.dm"
-#include "code\datums\weather\weather.dm"
-#include "code\datums\weather\weather_types\acid_rain.dm"
-#include "code\datums\weather\weather_types\ash_storm.dm"
-#include "code\datums\weather\weather_types\floor_is_lava.dm"
-#include "code\datums\weather\weather_types\radiation_storm.dm"
-#include "code\datums\weather\weather_types\snow_storm.dm"
-#include "code\datums\wires\_wires.dm"
-#include "code\datums\wires\airalarm.dm"
-#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"
-#include "code\datums\wires\mulebot.dm"
-#include "code\datums\wires\particle_accelerator.dm"
-#include "code\datums\wires\r_n_d.dm"
-#include "code\datums\wires\radio.dm"
-#include "code\datums\wires\robot.dm"
-#include "code\datums\wires\suit_storage_unit.dm"
-#include "code\datums\wires\syndicatebomb.dm"
-#include "code\datums\wires\tesla_coil.dm"
-#include "code\datums\wires\vending.dm"
-#include "code\game\alternate_appearance.dm"
-#include "code\game\atoms.dm"
-#include "code\game\atoms_movable.dm"
-#include "code\game\atoms_movement.dm"
-#include "code\game\communications.dm"
-#include "code\game\data_huds.dm"
-#include "code\game\say.dm"
-#include "code\game\shuttle_engines.dm"
-#include "code\game\sound.dm"
-#include "code\game\world.dm"
-#include "code\game\area\ai_monitored.dm"
-#include "code\game\area\areas.dm"
-#include "code\game\area\Space_Station_13_areas.dm"
-#include "code\game\area\areas\away_content.dm"
-#include "code\game\area\areas\centcom.dm"
-#include "code\game\area\areas\holodeck.dm"
-#include "code\game\area\areas\mining.dm"
-#include "code\game\area\areas\shuttles.dm"
-#include "code\game\area\areas\ruins\_ruins.dm"
-#include "code\game\area\areas\ruins\lavaland.dm"
-#include "code\game\area\areas\ruins\space.dm"
-#include "code\game\area\areas\ruins\templates.dm"
-#include "code\game\gamemodes\events.dm"
-#include "code\game\gamemodes\game_mode.dm"
-#include "code\game\gamemodes\objective.dm"
-#include "code\game\gamemodes\objective_items.dm"
-#include "code\game\gamemodes\objective_sabotage.dm"
-#include "code\game\gamemodes\bloodsucker\bloodsucker.dm"
-#include "code\game\gamemodes\bloodsucker\hunter.dm"
-#include "code\game\gamemodes\brother\traitor_bro.dm"
-#include "code\game\gamemodes\changeling\changeling.dm"
-#include "code\game\gamemodes\changeling\traitor_chan.dm"
-#include "code\game\gamemodes\clock_cult\clock_cult.dm"
-#include "code\game\gamemodes\clown_ops\bananium_bomb.dm"
-#include "code\game\gamemodes\clown_ops\clown_ops.dm"
-#include "code\game\gamemodes\clown_ops\clown_weapons.dm"
-#include "code\game\gamemodes\cult\cult.dm"
-#include "code\game\gamemodes\devil\devil_game_mode.dm"
-#include "code\game\gamemodes\devil\game_mode.dm"
-#include "code\game\gamemodes\devil\objectives.dm"
-#include "code\game\gamemodes\devil\devil agent\devil_agent.dm"
-#include "code\game\gamemodes\dynamic\dynamic.dm"
-#include "code\game\gamemodes\dynamic\dynamic_rulesets.dm"
-#include "code\game\gamemodes\dynamic\dynamic_rulesets_events.dm"
-#include "code\game\gamemodes\dynamic\dynamic_rulesets_latejoin.dm"
-#include "code\game\gamemodes\dynamic\dynamic_rulesets_midround.dm"
-#include "code\game\gamemodes\dynamic\dynamic_rulesets_roundstart.dm"
-#include "code\game\gamemodes\dynamic\dynamic_storytellers.dm"
-#include "code\game\gamemodes\extended\extended.dm"
-#include "code\game\gamemodes\gangs\dominator.dm"
-#include "code\game\gamemodes\gangs\dominator_countdown.dm"
-#include "code\game\gamemodes\gangs\gang.dm"
-#include "code\game\gamemodes\gangs\gang_datums.dm"
-#include "code\game\gamemodes\gangs\gang_decals.dm"
-#include "code\game\gamemodes\gangs\gang_hud.dm"
-#include "code\game\gamemodes\gangs\gang_items.dm"
-#include "code\game\gamemodes\gangs\gang_pen.dm"
-#include "code\game\gamemodes\gangs\gangs.dm"
-#include "code\game\gamemodes\gangs\gangtool.dm"
-#include "code\game\gamemodes\gangs\implant_gang.dm"
-#include "code\game\gamemodes\meteor\meteor.dm"
-#include "code\game\gamemodes\meteor\meteors.dm"
-#include "code\game\gamemodes\monkey\monkey.dm"
-#include "code\game\gamemodes\nuclear\nuclear.dm"
-#include "code\game\gamemodes\overthrow\objective.dm"
-#include "code\game\gamemodes\overthrow\overthrow.dm"
-#include "code\game\gamemodes\revolution\revolution.dm"
-#include "code\game\gamemodes\sandbox\airlock_maker.dm"
-#include "code\game\gamemodes\sandbox\h_sandbox.dm"
-#include "code\game\gamemodes\sandbox\sandbox.dm"
-#include "code\game\gamemodes\traitor\double_agents.dm"
-#include "code\game\gamemodes\traitor\traitor.dm"
-#include "code\game\gamemodes\wizard\wizard.dm"
-#include "code\game\machinery\_machinery.dm"
-#include "code\game\machinery\ai_slipper.dm"
-#include "code\game\machinery\airlock_control.dm"
-#include "code\game\machinery\announcement_system.dm"
-#include "code\game\machinery\aug_manipulator.dm"
-#include "code\game\machinery\autolathe.dm"
-#include "code\game\machinery\bank_machine.dm"
-#include "code\game\machinery\Beacon.dm"
-#include "code\game\machinery\bloodbankgen.dm"
-#include "code\game\machinery\buttons.dm"
-#include "code\game\machinery\cell_charger.dm"
-#include "code\game\machinery\cloning.dm"
-#include "code\game\machinery\constructable_frame.dm"
-#include "code\game\machinery\cryopod.dm"
-#include "code\game\machinery\dance_machine.dm"
-#include "code\game\machinery\defibrillator_mount.dm"
-#include "code\game\machinery\deployable.dm"
-#include "code\game\machinery\dish_drive.dm"
-#include "code\game\machinery\dna_scanner.dm"
-#include "code\game\machinery\doppler_array.dm"
-#include "code\game\machinery\droneDispenser.dm"
-#include "code\game\machinery\exp_cloner.dm"
-#include "code\game\machinery\firealarm.dm"
-#include "code\game\machinery\flasher.dm"
-#include "code\game\machinery\gulag_item_reclaimer.dm"
-#include "code\game\machinery\gulag_teleporter.dm"
-#include "code\game\machinery\harvester.dm"
-#include "code\game\machinery\hologram.dm"
-#include "code\game\machinery\igniter.dm"
-#include "code\game\machinery\iv_drip.dm"
-#include "code\game\machinery\launch_pad.dm"
-#include "code\game\machinery\lightswitch.dm"
-#include "code\game\machinery\limbgrower.dm"
-#include "code\game\machinery\magnet.dm"
-#include "code\game\machinery\mass_driver.dm"
-#include "code\game\machinery\navbeacon.dm"
-#include "code\game\machinery\PDApainter.dm"
-#include "code\game\machinery\quantum_pad.dm"
-#include "code\game\machinery\recharger.dm"
-#include "code\game\machinery\rechargestation.dm"
-#include "code\game\machinery\recycler.dm"
-#include "code\game\machinery\requests_console.dm"
-#include "code\game\machinery\shieldgen.dm"
-#include "code\game\machinery\Sleeper.dm"
-#include "code\game\machinery\slotmachine.dm"
-#include "code\game\machinery\spaceheater.dm"
-#include "code\game\machinery\status_display.dm"
-#include "code\game\machinery\suit_storage_unit.dm"
-#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"
-#include "code\game\machinery\wishgranter.dm"
-#include "code\game\machinery\camera\camera.dm"
-#include "code\game\machinery\camera\camera_assembly.dm"
-#include "code\game\machinery\camera\motion.dm"
-#include "code\game\machinery\camera\presets.dm"
-#include "code\game\machinery\camera\tracking.dm"
-#include "code\game\machinery\computer\_computer.dm"
-#include "code\game\machinery\computer\aifixer.dm"
-#include "code\game\machinery\computer\apc_control.dm"
-#include "code\game\machinery\computer\arcade.dm"
-#include "code\game\machinery\computer\atmos_alert.dm"
-#include "code\game\machinery\computer\atmos_control.dm"
-#include "code\game\machinery\computer\buildandrepair.dm"
-#include "code\game\machinery\computer\camera.dm"
-#include "code\game\machinery\computer\camera_advanced.dm"
-#include "code\game\machinery\computer\card.dm"
-#include "code\game\machinery\computer\cloning.dm"
-#include "code\game\machinery\computer\communications.dm"
-#include "code\game\machinery\computer\crew.dm"
-#include "code\game\machinery\computer\dna_console.dm"
-#include "code\game\machinery\computer\launchpad_control.dm"
-#include "code\game\machinery\computer\law.dm"
-#include "code\game\machinery\computer\medical.dm"
-#include "code\game\machinery\computer\Operating.dm"
-#include "code\game\machinery\computer\pod.dm"
-#include "code\game\machinery\computer\robot.dm"
-#include "code\game\machinery\computer\security.dm"
-#include "code\game\machinery\computer\station_alert.dm"
-#include "code\game\machinery\computer\telecrystalconsoles.dm"
-#include "code\game\machinery\computer\teleporter.dm"
-#include "code\game\machinery\computer\arcade\battle.dm"
-#include "code\game\machinery\computer\arcade\minesweeper.dm"
-#include "code\game\machinery\computer\arcade\misc_arcade.dm"
-#include "code\game\machinery\computer\arcade\orion_trail.dm"
-#include "code\game\machinery\computer\prisoner\_prisoner.dm"
-#include "code\game\machinery\computer\prisoner\gulag_teleporter.dm"
-#include "code\game\machinery\computer\prisoner\management.dm"
-#include "code\game\machinery\doors\airlock.dm"
-#include "code\game\machinery\doors\airlock_electronics.dm"
-#include "code\game\machinery\doors\airlock_types.dm"
-#include "code\game\machinery\doors\alarmlock.dm"
-#include "code\game\machinery\doors\brigdoors.dm"
-#include "code\game\machinery\doors\checkForMultipleDoors.dm"
-#include "code\game\machinery\doors\door.dm"
-#include "code\game\machinery\doors\firedoor.dm"
-#include "code\game\machinery\doors\passworddoor.dm"
-#include "code\game\machinery\doors\poddoor.dm"
-#include "code\game\machinery\doors\shutters.dm"
-#include "code\game\machinery\doors\unpowered.dm"
-#include "code\game\machinery\doors\windowdoor.dm"
-#include "code\game\machinery\embedded_controller\access_controller.dm"
-#include "code\game\machinery\embedded_controller\airlock_controller.dm"
-#include "code\game\machinery\embedded_controller\embedded_controller_base.dm"
-#include "code\game\machinery\embedded_controller\simple_vent_controller.dm"
-#include "code\game\machinery\pipe\construction.dm"
-#include "code\game\machinery\pipe\pipe_dispenser.dm"
-#include "code\game\machinery\porta_turret\portable_turret.dm"
-#include "code\game\machinery\porta_turret\portable_turret_construct.dm"
-#include "code\game\machinery\porta_turret\portable_turret_cover.dm"
-#include "code\game\machinery\telecomms\broadcasting.dm"
-#include "code\game\machinery\telecomms\machine_interactions.dm"
-#include "code\game\machinery\telecomms\telecomunications.dm"
-#include "code\game\machinery\telecomms\computers\logbrowser.dm"
-#include "code\game\machinery\telecomms\computers\message.dm"
-#include "code\game\machinery\telecomms\computers\telemonitor.dm"
-#include "code\game\machinery\telecomms\machines\allinone.dm"
-#include "code\game\machinery\telecomms\machines\broadcaster.dm"
-#include "code\game\machinery\telecomms\machines\bus.dm"
-#include "code\game\machinery\telecomms\machines\hub.dm"
-#include "code\game\machinery\telecomms\machines\message_server.dm"
-#include "code\game\machinery\telecomms\machines\processor.dm"
-#include "code\game\machinery\telecomms\machines\receiver.dm"
-#include "code\game\machinery\telecomms\machines\relay.dm"
-#include "code\game\machinery\telecomms\machines\server.dm"
-#include "code\game\mecha\mech_bay.dm"
-#include "code\game\mecha\mech_fabricator.dm"
-#include "code\game\mecha\mecha.dm"
-#include "code\game\mecha\mecha_actions.dm"
-#include "code\game\mecha\mecha_construction_paths.dm"
-#include "code\game\mecha\mecha_control_console.dm"
-#include "code\game\mecha\mecha_defense.dm"
-#include "code\game\mecha\mecha_parts.dm"
-#include "code\game\mecha\mecha_topic.dm"
-#include "code\game\mecha\mecha_wreckage.dm"
-#include "code\game\mecha\combat\combat.dm"
-#include "code\game\mecha\combat\durand.dm"
-#include "code\game\mecha\combat\gygax.dm"
-#include "code\game\mecha\combat\honker.dm"
-#include "code\game\mecha\combat\marauder.dm"
-#include "code\game\mecha\combat\neovgre.dm"
-#include "code\game\mecha\combat\phazon.dm"
-#include "code\game\mecha\combat\reticence.dm"
-#include "code\game\mecha\equipment\mecha_equipment.dm"
-#include "code\game\mecha\equipment\tools\medical_tools.dm"
-#include "code\game\mecha\equipment\tools\mining_tools.dm"
-#include "code\game\mecha\equipment\tools\other_tools.dm"
-#include "code\game\mecha\equipment\tools\work_tools.dm"
-#include "code\game\mecha\equipment\weapons\mecha_ammo.dm"
-#include "code\game\mecha\equipment\weapons\weapons.dm"
-#include "code\game\mecha\medical\medical.dm"
-#include "code\game\mecha\medical\odysseus.dm"
-#include "code\game\mecha\working\ripley.dm"
-#include "code\game\mecha\working\working.dm"
-#include "code\game\objects\buckling.dm"
-#include "code\game\objects\empulse.dm"
-#include "code\game\objects\items.dm"
-#include "code\game\objects\obj_defense.dm"
-#include "code\game\objects\objs.dm"
-#include "code\game\objects\structures.dm"
-#include "code\game\objects\effects\alien_acid.dm"
-#include "code\game\objects\effects\anomalies.dm"
-#include "code\game\objects\effects\blessing.dm"
-#include "code\game\objects\effects\bump_teleporter.dm"
-#include "code\game\objects\effects\contraband.dm"
-#include "code\game\objects\effects\countdown.dm"
-#include "code\game\objects\effects\effects.dm"
-#include "code\game\objects\effects\forcefields.dm"
-#include "code\game\objects\effects\glowshroom.dm"
-#include "code\game\objects\effects\landmarks.dm"
-#include "code\game\objects\effects\mines.dm"
-#include "code\game\objects\effects\misc.dm"
-#include "code\game\objects\effects\overlays.dm"
-#include "code\game\objects\effects\portals.dm"
-#include "code\game\objects\effects\proximity.dm"
-#include "code\game\objects\effects\spiders.dm"
-#include "code\game\objects\effects\step_triggers.dm"
-#include "code\game\objects\effects\wanted_poster.dm"
-#include "code\game\objects\effects\decals\cleanable.dm"
-#include "code\game\objects\effects\decals\crayon.dm"
-#include "code\game\objects\effects\decals\decal.dm"
-#include "code\game\objects\effects\decals\misc.dm"
-#include "code\game\objects\effects\decals\remains.dm"
-#include "code\game\objects\effects\decals\cleanable\aliens.dm"
-#include "code\game\objects\effects\decals\cleanable\gibs.dm"
-#include "code\game\objects\effects\decals\cleanable\humans.dm"
-#include "code\game\objects\effects\decals\cleanable\misc.dm"
-#include "code\game\objects\effects\decals\cleanable\robots.dm"
-#include "code\game\objects\effects\decals\turfdecal\dirt.dm"
-#include "code\game\objects\effects\decals\turfdecal\markings.dm"
-#include "code\game\objects\effects\decals\turfdecal\tilecoloring.dm"
-#include "code\game\objects\effects\decals\turfdecal\weather.dm"
-#include "code\game\objects\effects\effect_system\effect_system.dm"
-#include "code\game\objects\effects\effect_system\effects_explosion.dm"
-#include "code\game\objects\effects\effect_system\effects_foam.dm"
-#include "code\game\objects\effects\effect_system\effects_other.dm"
-#include "code\game\objects\effects\effect_system\effects_smoke.dm"
-#include "code\game\objects\effects\effect_system\effects_sparks.dm"
-#include "code\game\objects\effects\effect_system\effects_water.dm"
-#include "code\game\objects\effects\spawners\bombspawner.dm"
-#include "code\game\objects\effects\spawners\bundle.dm"
-#include "code\game\objects\effects\spawners\gibspawner.dm"
-#include "code\game\objects\effects\spawners\lootdrop.dm"
-#include "code\game\objects\effects\spawners\structure.dm"
-#include "code\game\objects\effects\spawners\traps.dm"
-#include "code\game\objects\effects\spawners\vaultspawner.dm"
-#include "code\game\objects\effects\spawners\xeno_egg_delivery.dm"
-#include "code\game\objects\effects\temporary_visuals\clockcult.dm"
-#include "code\game\objects\effects\temporary_visuals\cult.dm"
-#include "code\game\objects\effects\temporary_visuals\miscellaneous.dm"
-#include "code\game\objects\effects\temporary_visuals\temporary_visual.dm"
-#include "code\game\objects\effects\temporary_visuals\projectiles\impact.dm"
-#include "code\game\objects\effects\temporary_visuals\projectiles\muzzle.dm"
-#include "code\game\objects\effects\temporary_visuals\projectiles\projectile_effects.dm"
-#include "code\game\objects\effects\temporary_visuals\projectiles\tracer.dm"
-#include "code\game\objects\items\AI_modules.dm"
-#include "code\game\objects\items\airlock_painter.dm"
-#include "code\game\objects\items\apc_frame.dm"
-#include "code\game\objects\items\balls.dm"
-#include "code\game\objects\items\blueprints.dm"
-#include "code\game\objects\items\body_egg.dm"
-#include "code\game\objects\items\bodybag.dm"
-#include "code\game\objects\items\boombox.dm"
-#include "code\game\objects\items\candle.dm"
-#include "code\game\objects\items\cardboard_cutouts.dm"
-#include "code\game\objects\items\cards_ids.dm"
-#include "code\game\objects\items\charter.dm"
-#include "code\game\objects\items\chrono_eraser.dm"
-#include "code\game\objects\items\cigs_lighters.dm"
-#include "code\game\objects\items\clown_items.dm"
-#include "code\game\objects\items\control_wand.dm"
-#include "code\game\objects\items\cosmetics.dm"
-#include "code\game\objects\items\courtroom.dm"
-#include "code\game\objects\items\crayons.dm"
-#include "code\game\objects\items\debug_items.dm"
-#include "code\game\objects\items\defib.dm"
-#include "code\game\objects\items\dehy_carp.dm"
-#include "code\game\objects\items\dice.dm"
-#include "code\game\objects\items\dna_injector.dm"
-#include "code\game\objects\items\documents.dm"
-#include "code\game\objects\items\eightball.dm"
-#include "code\game\objects\items\extinguisher.dm"
-#include "code\game\objects\items\flamethrower.dm"
-#include "code\game\objects\items\gift.dm"
-#include "code\game\objects\items\granters.dm"
-#include "code\game\objects\items\handcuffs.dm"
-#include "code\game\objects\items\his_grace.dm"
-#include "code\game\objects\items\holosign_creator.dm"
-#include "code\game\objects\items\holy_weapons.dm"
-#include "code\game\objects\items\hot_potato.dm"
-#include "code\game\objects\items\inducer.dm"
-#include "code\game\objects\items\kitchen.dm"
-#include "code\game\objects\items\latexballoon.dm"
-#include "code\game\objects\items\manuals.dm"
-#include "code\game\objects\items\miscellaneous.dm"
-#include "code\game\objects\items\mop.dm"
-#include "code\game\objects\items\paint.dm"
-#include "code\game\objects\items\paiwire.dm"
-#include "code\game\objects\items\pet_carrier.dm"
-#include "code\game\objects\items\pinpointer.dm"
-#include "code\game\objects\items\plushes.dm"
-#include "code\game\objects\items\pneumaticCannon.dm"
-#include "code\game\objects\items\powerfist.dm"
-#include "code\game\objects\items\RCD.dm"
-#include "code\game\objects\items\RCL.dm"
-#include "code\game\objects\items\religion.dm"
-#include "code\game\objects\items\RPD.dm"
-#include "code\game\objects\items\RSF.dm"
-#include "code\game\objects\items\scrolls.dm"
-#include "code\game\objects\items\sharpener.dm"
-#include "code\game\objects\items\shields.dm"
-#include "code\game\objects\items\shooting_range.dm"
-#include "code\game\objects\items\signs.dm"
-#include "code\game\objects\items\singularityhammer.dm"
-#include "code\game\objects\items\stunbaton.dm"
-#include "code\game\objects\items\taster.dm"
-#include "code\game\objects\items\teleportation.dm"
-#include "code\game\objects\items\teleprod.dm"
-#include "code\game\objects\items\telescopic_iv.dm"
-#include "code\game\objects\items\theft_tools.dm"
-#include "code\game\objects\items\toys.dm"
-#include "code\game\objects\items\trash.dm"
-#include "code\game\objects\items\twohanded.dm"
-#include "code\game\objects\items\vending_items.dm"
-#include "code\game\objects\items\weaponry.dm"
-#include "code\game\objects\items\circuitboards\circuitboard.dm"
-#include "code\game\objects\items\circuitboards\computer_circuitboards.dm"
-#include "code\game\objects\items\circuitboards\machine_circuitboards.dm"
-#include "code\game\objects\items\devices\aicard.dm"
-#include "code\game\objects\items\devices\anomaly_neutralizer.dm"
-#include "code\game\objects\items\devices\beacon.dm"
-#include "code\game\objects\items\devices\camera_bug.dm"
-#include "code\game\objects\items\devices\chameleonproj.dm"
-#include "code\game\objects\items\devices\compressionkit.dm"
-#include "code\game\objects\items\devices\desynchronizer.dm"
-#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\flashlight.dm"
-#include "code\game\objects\items\devices\forcefieldprojector.dm"
-#include "code\game\objects\items\devices\geiger_counter.dm"
-#include "code\game\objects\items\devices\glue.dm"
-#include "code\game\objects\items\devices\gps.dm"
-#include "code\game\objects\items\devices\instruments.dm"
-#include "code\game\objects\items\devices\laserpointer.dm"
-#include "code\game\objects\items\devices\lightreplacer.dm"
-#include "code\game\objects\items\devices\megaphone.dm"
-#include "code\game\objects\items\devices\multitool.dm"
-#include "code\game\objects\items\devices\paicard.dm"
-#include "code\game\objects\items\devices\pipe_painter.dm"
-#include "code\game\objects\items\devices\powersink.dm"
-#include "code\game\objects\items\devices\pressureplates.dm"
-#include "code\game\objects\items\devices\quantum_keycard.dm"
-#include "code\game\objects\items\devices\reverse_bear_trap.dm"
-#include "code\game\objects\items\devices\scanners.dm"
-#include "code\game\objects\items\devices\sensor_device.dm"
-#include "code\game\objects\items\devices\taperecorder.dm"
-#include "code\game\objects\items\devices\traitordevices.dm"
-#include "code\game\objects\items\devices\transfer_valve.dm"
-#include "code\game\objects\items\devices\PDA\cart.dm"
-#include "code\game\objects\items\devices\PDA\PDA.dm"
-#include "code\game\objects\items\devices\PDA\PDA_types.dm"
-#include "code\game\objects\items\devices\PDA\radio.dm"
-#include "code\game\objects\items\devices\PDA\virus_cart.dm"
-#include "code\game\objects\items\devices\radio\electropack.dm"
-#include "code\game\objects\items\devices\radio\encryptionkey.dm"
-#include "code\game\objects\items\devices\radio\headset.dm"
-#include "code\game\objects\items\devices\radio\intercom.dm"
-#include "code\game\objects\items\devices\radio\radio.dm"
-#include "code\game\objects\items\grenades\antigravity.dm"
-#include "code\game\objects\items\grenades\chem_grenade.dm"
-#include "code\game\objects\items\grenades\clusterbuster.dm"
-#include "code\game\objects\items\grenades\emgrenade.dm"
-#include "code\game\objects\items\grenades\flashbang.dm"
-#include "code\game\objects\items\grenades\ghettobomb.dm"
-#include "code\game\objects\items\grenades\grenade.dm"
-#include "code\game\objects\items\grenades\plastic.dm"
-#include "code\game\objects\items\grenades\smokebomb.dm"
-#include "code\game\objects\items\grenades\spawnergrenade.dm"
-#include "code\game\objects\items\grenades\syndieminibomb.dm"
-#include "code\game\objects\items\implants\implant.dm"
-#include "code\game\objects\items\implants\implant_abductor.dm"
-#include "code\game\objects\items\implants\implant_chem.dm"
-#include "code\game\objects\items\implants\implant_clown.dm"
-#include "code\game\objects\items\implants\implant_exile.dm"
-#include "code\game\objects\items\implants\implant_explosive.dm"
-#include "code\game\objects\items\implants\implant_freedom.dm"
-#include "code\game\objects\items\implants\implant_hijack.dm"
-#include "code\game\objects\items\implants\implant_krav_maga.dm"
-#include "code\game\objects\items\implants\implant_mindshield.dm"
-#include "code\game\objects\items\implants\implant_misc.dm"
-#include "code\game\objects\items\implants\implant_radio.dm"
-#include "code\game\objects\items\implants\implant_spell.dm"
-#include "code\game\objects\items\implants\implant_stealth.dm"
-#include "code\game\objects\items\implants\implant_storage.dm"
-#include "code\game\objects\items\implants\implant_track.dm"
-#include "code\game\objects\items\implants\implant_uplink.dm"
-#include "code\game\objects\items\implants\implantcase.dm"
-#include "code\game\objects\items\implants\implantchair.dm"
-#include "code\game\objects\items\implants\implanter.dm"
-#include "code\game\objects\items\implants\implantpad.dm"
-#include "code\game\objects\items\melee\energy.dm"
-#include "code\game\objects\items\melee\misc.dm"
-#include "code\game\objects\items\melee\transforming.dm"
-#include "code\game\objects\items\robot\ai_upgrades.dm"
-#include "code\game\objects\items\robot\robot_items.dm"
-#include "code\game\objects\items\robot\robot_parts.dm"
-#include "code\game\objects\items\robot\robot_upgrades.dm"
-#include "code\game\objects\items\stacks\bscrystal.dm"
-#include "code\game\objects\items\stacks\cash.dm"
-#include "code\game\objects\items\stacks\medical.dm"
-#include "code\game\objects\items\stacks\rods.dm"
-#include "code\game\objects\items\stacks\stack.dm"
-#include "code\game\objects\items\stacks\telecrystal.dm"
-#include "code\game\objects\items\stacks\wrap.dm"
-#include "code\game\objects\items\stacks\sheets\glass.dm"
-#include "code\game\objects\items\stacks\sheets\leather.dm"
-#include "code\game\objects\items\stacks\sheets\light.dm"
-#include "code\game\objects\items\stacks\sheets\mineral.dm"
-#include "code\game\objects\items\stacks\sheets\sheet_types.dm"
-#include "code\game\objects\items\stacks\sheets\sheets.dm"
-#include "code\game\objects\items\stacks\tiles\light.dm"
-#include "code\game\objects\items\stacks\tiles\tile_mineral.dm"
-#include "code\game\objects\items\stacks\tiles\tile_types.dm"
-#include "code\game\objects\items\storage\backpack.dm"
-#include "code\game\objects\items\storage\bags.dm"
-#include "code\game\objects\items\storage\belt.dm"
-#include "code\game\objects\items\storage\book.dm"
-#include "code\game\objects\items\storage\boxes.dm"
-#include "code\game\objects\items\storage\briefcase.dm"
-#include "code\game\objects\items\storage\dakis.dm"
-#include "code\game\objects\items\storage\fancy.dm"
-#include "code\game\objects\items\storage\firstaid.dm"
-#include "code\game\objects\items\storage\lockbox.dm"
-#include "code\game\objects\items\storage\secure.dm"
-#include "code\game\objects\items\storage\storage.dm"
-#include "code\game\objects\items\storage\toolbox.dm"
-#include "code\game\objects\items\storage\uplink_kits.dm"
-#include "code\game\objects\items\storage\wallets.dm"
-#include "code\game\objects\items\tanks\jetpack.dm"
-#include "code\game\objects\items\tanks\tank_types.dm"
-#include "code\game\objects\items\tanks\tanks.dm"
-#include "code\game\objects\items\tanks\watertank.dm"
-#include "code\game\objects\items\tools\crowbar.dm"
-#include "code\game\objects\items\tools\screwdriver.dm"
-#include "code\game\objects\items\tools\weldingtool.dm"
-#include "code\game\objects\items\tools\wirecutters.dm"
-#include "code\game\objects\items\tools\wrench.dm"
-#include "code\game\objects\structures\ai_core.dm"
-#include "code\game\objects\structures\aliens.dm"
-#include "code\game\objects\structures\artstuff.dm"
-#include "code\game\objects\structures\barsigns.dm"
-#include "code\game\objects\structures\bedsheet_bin.dm"
-#include "code\game\objects\structures\chess.dm"
-#include "code\game\objects\structures\destructible_structures.dm"
-#include "code\game\objects\structures\displaycase.dm"
-#include "code\game\objects\structures\divine.dm"
-#include "code\game\objects\structures\door_assembly.dm"
-#include "code\game\objects\structures\door_assembly_types.dm"
-#include "code\game\objects\structures\dresser.dm"
-#include "code\game\objects\structures\electricchair.dm"
-#include "code\game\objects\structures\extinguisher.dm"
-#include "code\game\objects\structures\false_walls.dm"
-#include "code\game\objects\structures\femur_breaker.dm"
-#include "code\game\objects\structures\fence.dm"
-#include "code\game\objects\structures\fireaxe.dm"
-#include "code\game\objects\structures\fireplace.dm"
-#include "code\game\objects\structures\flora.dm"
-#include "code\game\objects\structures\fluff.dm"
-#include "code\game\objects\structures\ghost_role_spawners.dm"
-#include "code\game\objects\structures\girders.dm"
-#include "code\game\objects\structures\grille.dm"
-#include "code\game\objects\structures\guillotine.dm"
-#include "code\game\objects\structures\guncase.dm"
-#include "code\game\objects\structures\headpike.dm"
-#include "code\game\objects\structures\hivebot.dm"
-#include "code\game\objects\structures\holosign.dm"
-#include "code\game\objects\structures\janicart.dm"
-#include "code\game\objects\structures\kitchen_spike.dm"
-#include "code\game\objects\structures\ladders.dm"
-#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\manned_turret.dm"
-#include "code\game\objects\structures\memorial.dm"
-#include "code\game\objects\structures\mineral_doors.dm"
-#include "code\game\objects\structures\mirror.dm"
-#include "code\game\objects\structures\mop_bucket.dm"
-#include "code\game\objects\structures\morgue.dm"
-#include "code\game\objects\structures\musician.dm"
-#include "code\game\objects\structures\noticeboard.dm"
-#include "code\game\objects\structures\petrified_statue.dm"
-#include "code\game\objects\structures\plasticflaps.dm"
-#include "code\game\objects\structures\reflector.dm"
-#include "code\game\objects\structures\safe.dm"
-#include "code\game\objects\structures\showcase.dm"
-#include "code\game\objects\structures\spawner.dm"
-#include "code\game\objects\structures\spirit_board.dm"
-#include "code\game\objects\structures\stairs.dm"
-#include "code\game\objects\structures\statues.dm"
-#include "code\game\objects\structures\table_frames.dm"
-#include "code\game\objects\structures\tables_racks.dm"
-#include "code\game\objects\structures\tank_dispenser.dm"
-#include "code\game\objects\structures\target_stake.dm"
-#include "code\game\objects\structures\traps.dm"
-#include "code\game\objects\structures\watercloset.dm"
-#include "code\game\objects\structures\windoor_assembly.dm"
-#include "code\game\objects\structures\window.dm"
-#include "code\game\objects\structures\beds_chairs\alien_nest.dm"
-#include "code\game\objects\structures\beds_chairs\bed.dm"
-#include "code\game\objects\structures\beds_chairs\chair.dm"
-#include "code\game\objects\structures\beds_chairs\pew.dm"
-#include "code\game\objects\structures\beds_chairs\sofa.dm"
-#include "code\game\objects\structures\crates_lockers\closets.dm"
-#include "code\game\objects\structures\crates_lockers\crates.dm"
-#include "code\game\objects\structures\crates_lockers\closets\bodybag.dm"
-#include "code\game\objects\structures\crates_lockers\closets\cardboardbox.dm"
-#include "code\game\objects\structures\crates_lockers\closets\fitness.dm"
-#include "code\game\objects\structures\crates_lockers\closets\genpop.dm"
-#include "code\game\objects\structures\crates_lockers\closets\gimmick.dm"
-#include "code\game\objects\structures\crates_lockers\closets\job_closets.dm"
-#include "code\game\objects\structures\crates_lockers\closets\l3closet.dm"
-#include "code\game\objects\structures\crates_lockers\closets\syndicate.dm"
-#include "code\game\objects\structures\crates_lockers\closets\utility_closets.dm"
-#include "code\game\objects\structures\crates_lockers\closets\wardrobe.dm"
-#include "code\game\objects\structures\crates_lockers\closets\secure\bar.dm"
-#include "code\game\objects\structures\crates_lockers\closets\secure\cargo.dm"
-#include "code\game\objects\structures\crates_lockers\closets\secure\engineering.dm"
-#include "code\game\objects\structures\crates_lockers\closets\secure\freezer.dm"
-#include "code\game\objects\structures\crates_lockers\closets\secure\hydroponics.dm"
-#include "code\game\objects\structures\crates_lockers\closets\secure\medical.dm"
-#include "code\game\objects\structures\crates_lockers\closets\secure\misc.dm"
-#include "code\game\objects\structures\crates_lockers\closets\secure\personal.dm"
-#include "code\game\objects\structures\crates_lockers\closets\secure\scientist.dm"
-#include "code\game\objects\structures\crates_lockers\closets\secure\secure_closets.dm"
-#include "code\game\objects\structures\crates_lockers\closets\secure\security.dm"
-#include "code\game\objects\structures\crates_lockers\crates\bins.dm"
-#include "code\game\objects\structures\crates_lockers\crates\critter.dm"
-#include "code\game\objects\structures\crates_lockers\crates\large.dm"
-#include "code\game\objects\structures\crates_lockers\crates\secure.dm"
-#include "code\game\objects\structures\crates_lockers\crates\wooden.dm"
-#include "code\game\objects\structures\lavaland\necropolis_tendril.dm"
-#include "code\game\objects\structures\signs\_signs.dm"
-#include "code\game\objects\structures\signs\signs_departments.dm"
-#include "code\game\objects\structures\signs\signs_maps.dm"
-#include "code\game\objects\structures\signs\signs_plaques.dm"
-#include "code\game\objects\structures\signs\signs_warning.dm"
-#include "code\game\objects\structures\transit_tubes\station.dm"
-#include "code\game\objects\structures\transit_tubes\transit_tube.dm"
-#include "code\game\objects\structures\transit_tubes\transit_tube_construction.dm"
-#include "code\game\objects\structures\transit_tubes\transit_tube_pod.dm"
-#include "code\game\turfs\baseturf_skipover.dm"
-#include "code\game\turfs\change_turf.dm"
-#include "code\game\turfs\closed.dm"
-#include "code\game\turfs\open.dm"
-#include "code\game\turfs\turf.dm"
-#include "code\game\turfs\openspace\openspace.dm"
-#include "code\game\turfs\simulated\chasm.dm"
-#include "code\game\turfs\simulated\dirtystation.dm"
-#include "code\game\turfs\simulated\floor.dm"
-#include "code\game\turfs\simulated\lava.dm"
-#include "code\game\turfs\simulated\minerals.dm"
-#include "code\game\turfs\simulated\reebe_void.dm"
-#include "code\game\turfs\simulated\river.dm"
-#include "code\game\turfs\simulated\walls.dm"
-#include "code\game\turfs\simulated\water.dm"
-#include "code\game\turfs\simulated\floor\fancy_floor.dm"
-#include "code\game\turfs\simulated\floor\light_floor.dm"
-#include "code\game\turfs\simulated\floor\mineral_floor.dm"
-#include "code\game\turfs\simulated\floor\misc_floor.dm"
-#include "code\game\turfs\simulated\floor\plasteel_floor.dm"
-#include "code\game\turfs\simulated\floor\plating.dm"
-#include "code\game\turfs\simulated\floor\reinf_floor.dm"
-#include "code\game\turfs\simulated\floor\plating\asteroid.dm"
-#include "code\game\turfs\simulated\floor\plating\dirt.dm"
-#include "code\game\turfs\simulated\floor\plating\misc_plating.dm"
-#include "code\game\turfs\simulated\wall\mineral_walls.dm"
-#include "code\game\turfs\simulated\wall\misc_walls.dm"
-#include "code\game\turfs\simulated\wall\reinf_walls.dm"
-#include "code\game\turfs\space\space.dm"
-#include "code\game\turfs\space\transit.dm"
-#include "code\modules\admin\admin.dm"
-#include "code\modules\admin\admin_investigate.dm"
-#include "code\modules\admin\admin_ranks.dm"
-#include "code\modules\admin\admin_verbs.dm"
-#include "code\modules\admin\adminmenu.dm"
-#include "code\modules\admin\antag_panel.dm"
-#include "code\modules\admin\banjob.dm"
-#include "code\modules\admin\chat_commands.dm"
-#include "code\modules\admin\check_antagonists.dm"
-#include "code\modules\admin\create_mob.dm"
-#include "code\modules\admin\create_object.dm"
-#include "code\modules\admin\create_poll.dm"
-#include "code\modules\admin\create_turf.dm"
-#include "code\modules\admin\fun_balloon.dm"
-#include "code\modules\admin\holder2.dm"
-#include "code\modules\admin\ipintel.dm"
-#include "code\modules\admin\IsBanned.dm"
-#include "code\modules\admin\NewBan.dm"
-#include "code\modules\admin\permissionedit.dm"
-#include "code\modules\admin\player_panel.dm"
-#include "code\modules\admin\secrets.dm"
-#include "code\modules\admin\sound_emitter.dm"
-#include "code\modules\admin\sql_message_system.dm"
-#include "code\modules\admin\stickyban.dm"
-#include "code\modules\admin\topic.dm"
-#include "code\modules\admin\whitelist.dm"
-#include "code\modules\admin\DB_ban\functions.dm"
-#include "code\modules\admin\verbs\adminhelp.dm"
-#include "code\modules\admin\verbs\adminjump.dm"
-#include "code\modules\admin\verbs\adminpm.dm"
-#include "code\modules\admin\verbs\adminsay.dm"
-#include "code\modules\admin\verbs\ak47s.dm"
-#include "code\modules\admin\verbs\atmosdebug.dm"
-#include "code\modules\admin\verbs\bluespacearty.dm"
-#include "code\modules\admin\verbs\borgpanel.dm"
-#include "code\modules\admin\verbs\BrokenInhands.dm"
-#include "code\modules\admin\verbs\cinematic.dm"
-#include "code\modules\admin\verbs\deadsay.dm"
-#include "code\modules\admin\verbs\debug.dm"
-#include "code\modules\admin\verbs\diagnostics.dm"
-#include "code\modules\admin\verbs\dice.dm"
-#include "code\modules\admin\verbs\fps.dm"
-#include "code\modules\admin\verbs\getlogs.dm"
-#include "code\modules\admin\verbs\individual_logging.dm"
-#include "code\modules\admin\verbs\machine_upgrade.dm"
-#include "code\modules\admin\verbs\manipulate_organs.dm"
-#include "code\modules\admin\verbs\map_template_loadverb.dm"
-#include "code\modules\admin\verbs\mapping.dm"
-#include "code\modules\admin\verbs\maprotation.dm"
-#include "code\modules\admin\verbs\massmodvar.dm"
-#include "code\modules\admin\verbs\modifyvariables.dm"
-#include "code\modules\admin\verbs\one_click_antag.dm"
-#include "code\modules\admin\verbs\onlyone.dm"
-#include "code\modules\admin\verbs\panicbunker.dm"
-#include "code\modules\admin\verbs\playsound.dm"
-#include "code\modules\admin\verbs\possess.dm"
-#include "code\modules\admin\verbs\pray.dm"
-#include "code\modules\admin\verbs\randomverbs.dm"
-#include "code\modules\admin\verbs\reestablish_db_connection.dm"
-#include "code\modules\admin\verbs\spawnobjasmob.dm"
-#include "code\modules\admin\verbs\tripAI.dm"
-#include "code\modules\admin\verbs\SDQL2\SDQL_2.dm"
-#include "code\modules\admin\verbs\SDQL2\SDQL_2_parser.dm"
-#include "code\modules\admin\verbs\SDQL2\SDQL_2_wrappers.dm"
-#include "code\modules\antagonists\_common\antag_datum.dm"
-#include "code\modules\antagonists\_common\antag_helpers.dm"
-#include "code\modules\antagonists\_common\antag_hud.dm"
-#include "code\modules\antagonists\_common\antag_spawner.dm"
-#include "code\modules\antagonists\_common\antag_team.dm"
-#include "code\modules\antagonists\abductor\abductor.dm"
-#include "code\modules\antagonists\abductor\abductee\abductee.dm"
-#include "code\modules\antagonists\abductor\abductee\abductee_objectives.dm"
-#include "code\modules\antagonists\abductor\abductee\trauma.dm"
-#include "code\modules\antagonists\abductor\equipment\abduction_gear.dm"
-#include "code\modules\antagonists\abductor\equipment\abduction_outfits.dm"
-#include "code\modules\antagonists\abductor\equipment\abduction_surgery.dm"
-#include "code\modules\antagonists\abductor\equipment\gland.dm"
-#include "code\modules\antagonists\abductor\equipment\glands\access.dm"
-#include "code\modules\antagonists\abductor\equipment\glands\blood.dm"
-#include "code\modules\antagonists\abductor\equipment\glands\chem.dm"
-#include "code\modules\antagonists\abductor\equipment\glands\egg.dm"
-#include "code\modules\antagonists\abductor\equipment\glands\electric.dm"
-#include "code\modules\antagonists\abductor\equipment\glands\heal.dm"
-#include "code\modules\antagonists\abductor\equipment\glands\mindshock.dm"
-#include "code\modules\antagonists\abductor\equipment\glands\plasma.dm"
-#include "code\modules\antagonists\abductor\equipment\glands\quantum.dm"
-#include "code\modules\antagonists\abductor\equipment\glands\slime.dm"
-#include "code\modules\antagonists\abductor\equipment\glands\spider.dm"
-#include "code\modules\antagonists\abductor\equipment\glands\transform.dm"
-#include "code\modules\antagonists\abductor\equipment\glands\trauma.dm"
-#include "code\modules\antagonists\abductor\equipment\glands\ventcrawl.dm"
-#include "code\modules\antagonists\abductor\equipment\glands\viral.dm"
-#include "code\modules\antagonists\abductor\machinery\camera.dm"
-#include "code\modules\antagonists\abductor\machinery\console.dm"
-#include "code\modules\antagonists\abductor\machinery\dispenser.dm"
-#include "code\modules\antagonists\abductor\machinery\experiment.dm"
-#include "code\modules\antagonists\abductor\machinery\pad.dm"
-#include "code\modules\antagonists\blob\blob.dm"
-#include "code\modules\antagonists\blob\blob\blob_report.dm"
-#include "code\modules\antagonists\blob\blob\overmind.dm"
-#include "code\modules\antagonists\blob\blob\powers.dm"
-#include "code\modules\antagonists\blob\blob\theblob.dm"
-#include "code\modules\antagonists\blob\blob\blobs\blob_mobs.dm"
-#include "code\modules\antagonists\blob\blob\blobs\core.dm"
-#include "code\modules\antagonists\blob\blob\blobs\factory.dm"
-#include "code\modules\antagonists\blob\blob\blobs\node.dm"
-#include "code\modules\antagonists\blob\blob\blobs\resource.dm"
-#include "code\modules\antagonists\blob\blob\blobs\shield.dm"
-#include "code\modules\antagonists\blood_contract\blood_contract.dm"
-#include "code\modules\antagonists\bloodsucker\bloodsucker_flaws.dm"
-#include "code\modules\antagonists\bloodsucker\bloodsucker_integration.dm"
-#include "code\modules\antagonists\bloodsucker\bloodsucker_life.dm"
-#include "code\modules\antagonists\bloodsucker\bloodsucker_objectives.dm"
-#include "code\modules\antagonists\bloodsucker\bloodsucker_powers.dm"
-#include "code\modules\antagonists\bloodsucker\bloodsucker_sunlight.dm"
-#include "code\modules\antagonists\bloodsucker\bloodsucker_ui.dm"
-#include "code\modules\antagonists\bloodsucker\datum_bloodsucker.dm"
-#include "code\modules\antagonists\bloodsucker\datum_hunter.dm"
-#include "code\modules\antagonists\bloodsucker\datum_vassal.dm"
-#include "code\modules\antagonists\bloodsucker\items\bloodsucker_organs.dm"
-#include "code\modules\antagonists\bloodsucker\items\bloodsucker_stake.dm"
-#include "code\modules\antagonists\bloodsucker\objects\bloodsucker_coffin.dm"
-#include "code\modules\antagonists\bloodsucker\objects\bloodsucker_crypt.dm"
-#include "code\modules\antagonists\bloodsucker\objects\bloodsucker_lair.dm"
-#include "code\modules\antagonists\bloodsucker\powers\brawn.dm"
-#include "code\modules\antagonists\bloodsucker\powers\cloak.dm"
-#include "code\modules\antagonists\bloodsucker\powers\feed.dm"
-#include "code\modules\antagonists\bloodsucker\powers\fortitude.dm"
-#include "code\modules\antagonists\bloodsucker\powers\go_home.dm"
-#include "code\modules\antagonists\bloodsucker\powers\haste.dm"
-#include "code\modules\antagonists\bloodsucker\powers\lunge.dm"
-#include "code\modules\antagonists\bloodsucker\powers\masquerade.dm"
-#include "code\modules\antagonists\bloodsucker\powers\mesmerize.dm"
-#include "code\modules\antagonists\bloodsucker\powers\recuperate.dm"
-#include "code\modules\antagonists\bloodsucker\powers\trespass.dm"
-#include "code\modules\antagonists\bloodsucker\powers\veil.dm"
-#include "code\modules\antagonists\brainwashing\brainwashing.dm"
-#include "code\modules\antagonists\brother\brother.dm"
-#include "code\modules\antagonists\changeling\cellular_emporium.dm"
-#include "code\modules\antagonists\changeling\changeling.dm"
-#include "code\modules\antagonists\changeling\changeling_power.dm"
-#include "code\modules\antagonists\changeling\powers\absorb.dm"
-#include "code\modules\antagonists\changeling\powers\adrenaline.dm"
-#include "code\modules\antagonists\changeling\powers\augmented_eyesight.dm"
-#include "code\modules\antagonists\changeling\powers\biodegrade.dm"
-#include "code\modules\antagonists\changeling\powers\chameleon_skin.dm"
-#include "code\modules\antagonists\changeling\powers\digitalcamo.dm"
-#include "code\modules\antagonists\changeling\powers\fakedeath.dm"
-#include "code\modules\antagonists\changeling\powers\fleshmend.dm"
-#include "code\modules\antagonists\changeling\powers\headcrab.dm"
-#include "code\modules\antagonists\changeling\powers\hivemind.dm"
-#include "code\modules\antagonists\changeling\powers\humanform.dm"
-#include "code\modules\antagonists\changeling\powers\lesserform.dm"
-#include "code\modules\antagonists\changeling\powers\linglink.dm"
-#include "code\modules\antagonists\changeling\powers\mimic_voice.dm"
-#include "code\modules\antagonists\changeling\powers\mutations.dm"
-#include "code\modules\antagonists\changeling\powers\panacea.dm"
-#include "code\modules\antagonists\changeling\powers\pheromone_receptors.dm"
-#include "code\modules\antagonists\changeling\powers\regenerate.dm"
-#include "code\modules\antagonists\changeling\powers\revive.dm"
-#include "code\modules\antagonists\changeling\powers\shriek.dm"
-#include "code\modules\antagonists\changeling\powers\spiders.dm"
-#include "code\modules\antagonists\changeling\powers\strained_muscles.dm"
-#include "code\modules\antagonists\changeling\powers\tiny_prick.dm"
-#include "code\modules\antagonists\changeling\powers\transform.dm"
-#include "code\modules\antagonists\clockcult\clock_effect.dm"
-#include "code\modules\antagonists\clockcult\clock_item.dm"
-#include "code\modules\antagonists\clockcult\clock_mobs.dm"
-#include "code\modules\antagonists\clockcult\clock_scripture.dm"
-#include "code\modules\antagonists\clockcult\clock_structure.dm"
-#include "code\modules\antagonists\clockcult\clockcult.dm"
-#include "code\modules\antagonists\clockcult\clock_effects\city_of_cogs_rift.dm"
-#include "code\modules\antagonists\clockcult\clock_effects\clock_overlay.dm"
-#include "code\modules\antagonists\clockcult\clock_effects\clock_sigils.dm"
-#include "code\modules\antagonists\clockcult\clock_effects\general_markers.dm"
-#include "code\modules\antagonists\clockcult\clock_effects\servant_blocker.dm"
-#include "code\modules\antagonists\clockcult\clock_effects\spatial_gateway.dm"
-#include "code\modules\antagonists\clockcult\clock_helpers\clock_powerdrain.dm"
-#include "code\modules\antagonists\clockcult\clock_helpers\component_helpers.dm"
-#include "code\modules\antagonists\clockcult\clock_helpers\fabrication_helpers.dm"
-#include "code\modules\antagonists\clockcult\clock_helpers\hierophant_network.dm"
-#include "code\modules\antagonists\clockcult\clock_helpers\power_helpers.dm"
-#include "code\modules\antagonists\clockcult\clock_helpers\ratvarian_language.dm"
-#include "code\modules\antagonists\clockcult\clock_helpers\scripture_checks.dm"
-#include "code\modules\antagonists\clockcult\clock_helpers\slab_abilities.dm"
-#include "code\modules\antagonists\clockcult\clock_items\clock_components.dm"
-#include "code\modules\antagonists\clockcult\clock_items\clockwork_armor.dm"
-#include "code\modules\antagonists\clockcult\clock_items\clockwork_slab.dm"
-#include "code\modules\antagonists\clockcult\clock_items\clockwork_weaponry.dm"
-#include "code\modules\antagonists\clockcult\clock_items\construct_chassis.dm"
-#include "code\modules\antagonists\clockcult\clock_items\integration_cog.dm"
-#include "code\modules\antagonists\clockcult\clock_items\judicial_visor.dm"
-#include "code\modules\antagonists\clockcult\clock_items\replica_fabricator.dm"
-#include "code\modules\antagonists\clockcult\clock_items\soul_vessel.dm"
-#include "code\modules\antagonists\clockcult\clock_items\wraith_spectacles.dm"
-#include "code\modules\antagonists\clockcult\clock_items\clock_weapons\_call_weapon.dm"
-#include "code\modules\antagonists\clockcult\clock_items\clock_weapons\ratvarian_spear.dm"
-#include "code\modules\antagonists\clockcult\clock_mobs\_eminence.dm"
-#include "code\modules\antagonists\clockcult\clock_mobs\clockwork_marauder.dm"
-#include "code\modules\antagonists\clockcult\clock_scriptures\scripture_applications.dm"
-#include "code\modules\antagonists\clockcult\clock_scriptures\scripture_cyborg.dm"
-#include "code\modules\antagonists\clockcult\clock_scriptures\scripture_drivers.dm"
-#include "code\modules\antagonists\clockcult\clock_scriptures\scripture_scripts.dm"
-#include "code\modules\antagonists\clockcult\clock_structures\_trap_object.dm"
-#include "code\modules\antagonists\clockcult\clock_structures\ark_of_the_clockwork_justicar.dm"
-#include "code\modules\antagonists\clockcult\clock_structures\clockwork_obelisk.dm"
-#include "code\modules\antagonists\clockcult\clock_structures\eminence_spire.dm"
-#include "code\modules\antagonists\clockcult\clock_structures\heralds_beacon.dm"
-#include "code\modules\antagonists\clockcult\clock_structures\mania_motor.dm"
-#include "code\modules\antagonists\clockcult\clock_structures\ocular_warden.dm"
-#include "code\modules\antagonists\clockcult\clock_structures\ratvar_the_clockwork_justicar.dm"
-#include "code\modules\antagonists\clockcult\clock_structures\reflector.dm"
-#include "code\modules\antagonists\clockcult\clock_structures\stargazer.dm"
-#include "code\modules\antagonists\clockcult\clock_structures\taunting_trail.dm"
-#include "code\modules\antagonists\clockcult\clock_structures\wall_gear.dm"
-#include "code\modules\antagonists\clockcult\clock_structures\trap_triggers\lever.dm"
-#include "code\modules\antagonists\clockcult\clock_structures\trap_triggers\pressure_sensor.dm"
-#include "code\modules\antagonists\clockcult\clock_structures\trap_triggers\pressure_sensor_mech.dm"
-#include "code\modules\antagonists\clockcult\clock_structures\trap_triggers\repeater.dm"
-#include "code\modules\antagonists\clockcult\clock_structures\traps\brass_skewer.dm"
-#include "code\modules\antagonists\clockcult\clock_structures\traps\power_null.dm"
-#include "code\modules\antagonists\clockcult\clock_structures\traps\steam_vent.dm"
-#include "code\modules\antagonists\collector\collector.dm"
-#include "code\modules\antagonists\cult\blood_magic.dm"
-#include "code\modules\antagonists\cult\cult.dm"
-#include "code\modules\antagonists\cult\cult_comms.dm"
-#include "code\modules\antagonists\cult\cult_items.dm"
-#include "code\modules\antagonists\cult\cult_structures.dm"
-#include "code\modules\antagonists\cult\ritual.dm"
-#include "code\modules\antagonists\cult\rune_spawn_action.dm"
-#include "code\modules\antagonists\cult\runes.dm"
-#include "code\modules\antagonists\devil\devil.dm"
-#include "code\modules\antagonists\devil\devil_helpers.dm"
-#include "code\modules\antagonists\devil\imp\imp.dm"
-#include "code\modules\antagonists\devil\sintouched\objectives.dm"
-#include "code\modules\antagonists\devil\sintouched\sintouched.dm"
-#include "code\modules\antagonists\devil\true_devil\_true_devil.dm"
-#include "code\modules\antagonists\devil\true_devil\inventory.dm"
-#include "code\modules\antagonists\disease\disease_abilities.dm"
-#include "code\modules\antagonists\disease\disease_datum.dm"
-#include "code\modules\antagonists\disease\disease_disease.dm"
-#include "code\modules\antagonists\disease\disease_event.dm"
-#include "code\modules\antagonists\disease\disease_mob.dm"
-#include "code\modules\antagonists\ert\ert.dm"
-#include "code\modules\antagonists\greentext\greentext.dm"
-#include "code\modules\antagonists\greybois\greybois.dm"
-#include "code\modules\antagonists\highlander\highlander.dm"
-#include "code\modules\antagonists\magic_servant\magic_servant.dm"
-#include "code\modules\antagonists\monkey\monkey.dm"
-#include "code\modules\antagonists\morph\morph.dm"
-#include "code\modules\antagonists\morph\morph_antag.dm"
-#include "code\modules\antagonists\nightmare\nightmare.dm"
-#include "code\modules\antagonists\ninja\ninja.dm"
-#include "code\modules\antagonists\nukeop\clownop.dm"
-#include "code\modules\antagonists\nukeop\nukeop.dm"
-#include "code\modules\antagonists\nukeop\equipment\borgchameleon.dm"
-#include "code\modules\antagonists\nukeop\equipment\nuclear_challenge.dm"
-#include "code\modules\antagonists\nukeop\equipment\nuclearbomb.dm"
-#include "code\modules\antagonists\nukeop\equipment\pinpointer.dm"
-#include "code\modules\antagonists\official\official.dm"
-#include "code\modules\antagonists\overthrow\overthrow.dm"
-#include "code\modules\antagonists\overthrow\overthrow_converter.dm"
-#include "code\modules\antagonists\overthrow\overthrow_team.dm"
-#include "code\modules\antagonists\pirate\pirate.dm"
-#include "code\modules\antagonists\revenant\revenant.dm"
-#include "code\modules\antagonists\revenant\revenant_abilities.dm"
-#include "code\modules\antagonists\revenant\revenant_antag.dm"
-#include "code\modules\antagonists\revenant\revenant_blight.dm"
-#include "code\modules\antagonists\revenant\revenant_spawn_event.dm"
-#include "code\modules\antagonists\revolution\revolution.dm"
-#include "code\modules\antagonists\santa\santa.dm"
-#include "code\modules\antagonists\separatist\separatist.dm"
-#include "code\modules\antagonists\slaughter\slaughter.dm"
-#include "code\modules\antagonists\slaughter\slaughter_antag.dm"
-#include "code\modules\antagonists\slaughter\slaughterevent.dm"
-#include "code\modules\antagonists\survivalist\survivalist.dm"
-#include "code\modules\antagonists\swarmer\swarmer.dm"
-#include "code\modules\antagonists\swarmer\swarmer_event.dm"
-#include "code\modules\antagonists\traitor\datum_traitor.dm"
-#include "code\modules\antagonists\traitor\syndicate_contract.dm"
-#include "code\modules\antagonists\traitor\equipment\contractor.dm"
-#include "code\modules\antagonists\traitor\equipment\Malf_Modules.dm"
-#include "code\modules\antagonists\traitor\IAA\internal_affairs.dm"
-#include "code\modules\antagonists\valentines\heartbreaker.dm"
-#include "code\modules\antagonists\valentines\valentine.dm"
-#include "code\modules\antagonists\wishgranter\wishgranter.dm"
-#include "code\modules\antagonists\wizard\wizard.dm"
-#include "code\modules\antagonists\wizard\equipment\artefact.dm"
-#include "code\modules\antagonists\wizard\equipment\soulstone.dm"
-#include "code\modules\antagonists\wizard\equipment\spellbook.dm"
-#include "code\modules\antagonists\xeno\xeno.dm"
-#include "code\modules\assembly\assembly.dm"
-#include "code\modules\assembly\bomb.dm"
-#include "code\modules\assembly\doorcontrol.dm"
-#include "code\modules\assembly\flash.dm"
-#include "code\modules\assembly\health.dm"
-#include "code\modules\assembly\helpers.dm"
-#include "code\modules\assembly\holder.dm"
-#include "code\modules\assembly\igniter.dm"
-#include "code\modules\assembly\infrared.dm"
-#include "code\modules\assembly\mousetrap.dm"
-#include "code\modules\assembly\playback.dm"
-#include "code\modules\assembly\proximity.dm"
-#include "code\modules\assembly\shock_kit.dm"
-#include "code\modules\assembly\signaler.dm"
-#include "code\modules\assembly\timer.dm"
-#include "code\modules\assembly\voice.dm"
-#include "code\modules\atmospherics\multiz.dm"
-#include "code\modules\atmospherics\environmental\LINDA_fire.dm"
-#include "code\modules\atmospherics\environmental\LINDA_system.dm"
-#include "code\modules\atmospherics\environmental\LINDA_turf_tile.dm"
-#include "code\modules\atmospherics\gasmixtures\gas_mixture.dm"
-#include "code\modules\atmospherics\gasmixtures\gas_types.dm"
-#include "code\modules\atmospherics\gasmixtures\immutable_mixtures.dm"
-#include "code\modules\atmospherics\gasmixtures\reactions.dm"
-#include "code\modules\atmospherics\machinery\airalarm.dm"
-#include "code\modules\atmospherics\machinery\atmosmachinery.dm"
-#include "code\modules\atmospherics\machinery\datum_pipeline.dm"
-#include "code\modules\atmospherics\machinery\components\components_base.dm"
-#include "code\modules\atmospherics\machinery\components\binary_devices\binary_devices.dm"
-#include "code\modules\atmospherics\machinery\components\binary_devices\circulator.dm"
-#include "code\modules\atmospherics\machinery\components\binary_devices\dp_vent_pump.dm"
-#include "code\modules\atmospherics\machinery\components\binary_devices\passive_gate.dm"
-#include "code\modules\atmospherics\machinery\components\binary_devices\pump.dm"
-#include "code\modules\atmospherics\machinery\components\binary_devices\relief_valve.dm"
-#include "code\modules\atmospherics\machinery\components\binary_devices\valve.dm"
-#include "code\modules\atmospherics\machinery\components\binary_devices\volume_pump.dm"
-#include "code\modules\atmospherics\machinery\components\trinary_devices\filter.dm"
-#include "code\modules\atmospherics\machinery\components\trinary_devices\mixer.dm"
-#include "code\modules\atmospherics\machinery\components\trinary_devices\trinary_devices.dm"
-#include "code\modules\atmospherics\machinery\components\unary_devices\cryo.dm"
-#include "code\modules\atmospherics\machinery\components\unary_devices\heat_exchanger.dm"
-#include "code\modules\atmospherics\machinery\components\unary_devices\outlet_injector.dm"
-#include "code\modules\atmospherics\machinery\components\unary_devices\passive_vent.dm"
-#include "code\modules\atmospherics\machinery\components\unary_devices\portables_connector.dm"
-#include "code\modules\atmospherics\machinery\components\unary_devices\relief_valve.dm"
-#include "code\modules\atmospherics\machinery\components\unary_devices\tank.dm"
-#include "code\modules\atmospherics\machinery\components\unary_devices\thermomachine.dm"
-#include "code\modules\atmospherics\machinery\components\unary_devices\unary_devices.dm"
-#include "code\modules\atmospherics\machinery\components\unary_devices\vent_pump.dm"
-#include "code\modules\atmospherics\machinery\components\unary_devices\vent_scrubber.dm"
-#include "code\modules\atmospherics\machinery\other\meter.dm"
-#include "code\modules\atmospherics\machinery\other\miner.dm"
-#include "code\modules\atmospherics\machinery\pipes\layermanifold.dm"
-#include "code\modules\atmospherics\machinery\pipes\manifold.dm"
-#include "code\modules\atmospherics\machinery\pipes\manifold4w.dm"
-#include "code\modules\atmospherics\machinery\pipes\mapping.dm"
-#include "code\modules\atmospherics\machinery\pipes\pipes.dm"
-#include "code\modules\atmospherics\machinery\pipes\simple.dm"
-#include "code\modules\atmospherics\machinery\pipes\heat_exchange\he_pipes.dm"
-#include "code\modules\atmospherics\machinery\pipes\heat_exchange\junction.dm"
-#include "code\modules\atmospherics\machinery\pipes\heat_exchange\manifold.dm"
-#include "code\modules\atmospherics\machinery\pipes\heat_exchange\manifold4w.dm"
-#include "code\modules\atmospherics\machinery\pipes\heat_exchange\simple.dm"
-#include "code\modules\atmospherics\machinery\portable\canister.dm"
-#include "code\modules\atmospherics\machinery\portable\portable_atmospherics.dm"
-#include "code\modules\atmospherics\machinery\portable\pump.dm"
-#include "code\modules\atmospherics\machinery\portable\scrubber.dm"
-#include "code\modules\awaymissions\away_props.dm"
-#include "code\modules\awaymissions\bluespaceartillery.dm"
-#include "code\modules\awaymissions\capture_the_flag.dm"
-#include "code\modules\awaymissions\corpse.dm"
-#include "code\modules\awaymissions\exile.dm"
-#include "code\modules\awaymissions\gateway.dm"
-#include "code\modules\awaymissions\pamphlet.dm"
-#include "code\modules\awaymissions\signpost.dm"
-#include "code\modules\awaymissions\super_secret_room.dm"
-#include "code\modules\awaymissions\zlevel.dm"
-#include "code\modules\awaymissions\mission_code\Academy.dm"
-#include "code\modules\awaymissions\mission_code\Cabin.dm"
-#include "code\modules\awaymissions\mission_code\caves.dm"
-#include "code\modules\awaymissions\mission_code\centcomAway.dm"
-#include "code\modules\awaymissions\mission_code\challenge.dm"
-#include "code\modules\awaymissions\mission_code\moonoutpost19.dm"
-#include "code\modules\awaymissions\mission_code\murderdome.dm"
-#include "code\modules\awaymissions\mission_code\research.dm"
-#include "code\modules\awaymissions\mission_code\snowdin.dm"
-#include "code\modules\awaymissions\mission_code\spacebattle.dm"
-#include "code\modules\awaymissions\mission_code\stationCollision.dm"
-#include "code\modules\awaymissions\mission_code\undergroundoutpost45.dm"
-#include "code\modules\awaymissions\mission_code\wildwest.dm"
-#include "code\modules\bsql\includes.dm"
-#include "code\modules\buildmode\bm_mode.dm"
-#include "code\modules\buildmode\buildmode.dm"
-#include "code\modules\buildmode\buttons.dm"
-#include "code\modules\buildmode\effects\line.dm"
-#include "code\modules\buildmode\submodes\advanced.dm"
-#include "code\modules\buildmode\submodes\area_edit.dm"
-#include "code\modules\buildmode\submodes\basic.dm"
-#include "code\modules\buildmode\submodes\boom.dm"
-#include "code\modules\buildmode\submodes\copy.dm"
-#include "code\modules\buildmode\submodes\fill.dm"
-#include "code\modules\buildmode\submodes\mapgen.dm"
-#include "code\modules\buildmode\submodes\throwing.dm"
-#include "code\modules\buildmode\submodes\variable_edit.dm"
-#include "code\modules\cargo\bounty.dm"
-#include "code\modules\cargo\bounty_console.dm"
-#include "code\modules\cargo\centcom_podlauncher.dm"
-#include "code\modules\cargo\console.dm"
-#include "code\modules\cargo\export_scanner.dm"
-#include "code\modules\cargo\exports.dm"
-#include "code\modules\cargo\expressconsole.dm"
-#include "code\modules\cargo\gondolapod.dm"
-#include "code\modules\cargo\order.dm"
-#include "code\modules\cargo\packs.dm"
-#include "code\modules\cargo\supplypod.dm"
-#include "code\modules\cargo\supplypod_beacon.dm"
-#include "code\modules\cargo\bounties\assistant.dm"
-#include "code\modules\cargo\bounties\botany.dm"
-#include "code\modules\cargo\bounties\chef.dm"
-#include "code\modules\cargo\bounties\engineering.dm"
-#include "code\modules\cargo\bounties\gardencook.dm"
-#include "code\modules\cargo\bounties\item.dm"
-#include "code\modules\cargo\bounties\mech.dm"
-#include "code\modules\cargo\bounties\medical.dm"
-#include "code\modules\cargo\bounties\mining.dm"
-#include "code\modules\cargo\bounties\reagent.dm"
-#include "code\modules\cargo\bounties\science.dm"
-#include "code\modules\cargo\bounties\security.dm"
-#include "code\modules\cargo\bounties\silly.dm"
-#include "code\modules\cargo\bounties\slime.dm"
-#include "code\modules\cargo\bounties\special.dm"
-#include "code\modules\cargo\bounties\virus.dm"
-#include "code\modules\cargo\exports\food_wine.dm"
-#include "code\modules\cargo\exports\gear.dm"
-#include "code\modules\cargo\exports\large_objects.dm"
-#include "code\modules\cargo\exports\manifest.dm"
-#include "code\modules\cargo\exports\materials.dm"
-#include "code\modules\cargo\exports\organs_robotics.dm"
-#include "code\modules\cargo\exports\parts.dm"
-#include "code\modules\cargo\exports\seeds.dm"
-#include "code\modules\cargo\exports\sheets.dm"
-#include "code\modules\cargo\exports\tools.dm"
-#include "code\modules\cargo\exports\weapons.dm"
-#include "code\modules\cargo\packs\armory.dm"
-#include "code\modules\cargo\packs\costumes_toys.dm"
-#include "code\modules\cargo\packs\emergency.dm"
-#include "code\modules\cargo\packs\engine.dm"
-#include "code\modules\cargo\packs\engineering.dm"
-#include "code\modules\cargo\packs\livestock.dm"
-#include "code\modules\cargo\packs\materials.dm"
-#include "code\modules\cargo\packs\medical.dm"
-#include "code\modules\cargo\packs\misc.dm"
-#include "code\modules\cargo\packs\organic.dm"
-#include "code\modules\cargo\packs\science.dm"
-#include "code\modules\cargo\packs\security.dm"
-#include "code\modules\cargo\packs\service.dm"
-#include "code\modules\cargo\packs\vending.dm"
-#include "code\modules\chatter\chatter.dm"
-#include "code\modules\client\asset_cache.dm"
-#include "code\modules\client\client_colour.dm"
-#include "code\modules\client\client_defines.dm"
-#include "code\modules\client\client_procs.dm"
-#include "code\modules\client\darkmode.dm"
-#include "code\modules\client\message.dm"
-#include "code\modules\client\player_details.dm"
-#include "code\modules\client\preferences.dm"
-#include "code\modules\client\preferences_savefile.dm"
-#include "code\modules\client\preferences_toggles.dm"
-#include "code\modules\client\preferences_vr.dm"
-#include "code\modules\client\verbs\aooc.dm"
-#include "code\modules\client\verbs\etips.dm"
-#include "code\modules\client\verbs\looc.dm"
-#include "code\modules\client\verbs\ooc.dm"
-#include "code\modules\client\verbs\ping.dm"
-#include "code\modules\client\verbs\suicide.dm"
-#include "code\modules\client\verbs\who.dm"
-#include "code\modules\clothing\chameleon.dm"
-#include "code\modules\clothing\clothing.dm"
-#include "code\modules\clothing\ears\_ears.dm"
-#include "code\modules\clothing\glasses\_glasses.dm"
-#include "code\modules\clothing\glasses\disablerglasses.dm"
-#include "code\modules\clothing\glasses\engine_goggles.dm"
-#include "code\modules\clothing\glasses\hud.dm"
-#include "code\modules\clothing\glasses\phantomthief.dm"
-#include "code\modules\clothing\gloves\_gloves.dm"
-#include "code\modules\clothing\gloves\boxing.dm"
-#include "code\modules\clothing\gloves\color.dm"
-#include "code\modules\clothing\gloves\miscellaneous.dm"
-#include "code\modules\clothing\gloves\ring.dm"
-#include "code\modules\clothing\head\_head.dm"
-#include "code\modules\clothing\head\beanie.dm"
-#include "code\modules\clothing\head\cit_hats.dm"
-#include "code\modules\clothing\head\collectable.dm"
-#include "code\modules\clothing\head\hardhat.dm"
-#include "code\modules\clothing\head\helmet.dm"
-#include "code\modules\clothing\head\jobs.dm"
-#include "code\modules\clothing\head\misc.dm"
-#include "code\modules\clothing\head\misc_special.dm"
-#include "code\modules\clothing\head\soft_caps.dm"
-#include "code\modules\clothing\masks\_masks.dm"
-#include "code\modules\clothing\masks\boxing.dm"
-#include "code\modules\clothing\masks\breath.dm"
-#include "code\modules\clothing\masks\gasmask.dm"
-#include "code\modules\clothing\masks\hailer.dm"
-#include "code\modules\clothing\masks\miscellaneous.dm"
-#include "code\modules\clothing\neck\_neck.dm"
-#include "code\modules\clothing\outfits\ert.dm"
-#include "code\modules\clothing\outfits\event.dm"
-#include "code\modules\clothing\outfits\plasmaman.dm"
-#include "code\modules\clothing\outfits\standard.dm"
-#include "code\modules\clothing\outfits\vr.dm"
-#include "code\modules\clothing\outfits\vv_outfit.dm"
-#include "code\modules\clothing\shoes\_shoes.dm"
-#include "code\modules\clothing\shoes\bananashoes.dm"
-#include "code\modules\clothing\shoes\colour.dm"
-#include "code\modules\clothing\shoes\magboots.dm"
-#include "code\modules\clothing\shoes\miscellaneous.dm"
-#include "code\modules\clothing\shoes\taeclowndo.dm"
-#include "code\modules\clothing\spacesuits\_spacesuits.dm"
-#include "code\modules\clothing\spacesuits\chronosuit.dm"
-#include "code\modules\clothing\spacesuits\hardsuit.dm"
-#include "code\modules\clothing\spacesuits\miscellaneous.dm"
-#include "code\modules\clothing\spacesuits\plasmamen.dm"
-#include "code\modules\clothing\spacesuits\syndi.dm"
-#include "code\modules\clothing\suits\_suits.dm"
-#include "code\modules\clothing\suits\armor.dm"
-#include "code\modules\clothing\suits\bio.dm"
-#include "code\modules\clothing\suits\cloaks.dm"
-#include "code\modules\clothing\suits\jobs.dm"
-#include "code\modules\clothing\suits\labcoat.dm"
-#include "code\modules\clothing\suits\miscellaneous.dm"
-#include "code\modules\clothing\suits\reactive_armour.dm"
-#include "code\modules\clothing\suits\toggles.dm"
-#include "code\modules\clothing\suits\utility.dm"
-#include "code\modules\clothing\suits\wiz_robe.dm"
-#include "code\modules\clothing\under\_under.dm"
-#include "code\modules\clothing\under\accessories.dm"
-#include "code\modules\clothing\under\color.dm"
-#include "code\modules\clothing\under\miscellaneous.dm"
-#include "code\modules\clothing\under\pants.dm"
-#include "code\modules\clothing\under\polychromic_clothes.dm"
-#include "code\modules\clothing\under\shorts.dm"
-#include "code\modules\clothing\under\syndicate.dm"
-#include "code\modules\clothing\under\trek.dm"
-#include "code\modules\clothing\under\jobs\civilian.dm"
-#include "code\modules\clothing\under\jobs\engineering.dm"
-#include "code\modules\clothing\under\jobs\medsci.dm"
-#include "code\modules\clothing\under\jobs\security.dm"
-#include "code\modules\clothing\under\jobs\Plasmaman\civilian_service.dm"
-#include "code\modules\clothing\under\jobs\Plasmaman\engineering.dm"
-#include "code\modules\clothing\under\jobs\Plasmaman\medsci.dm"
-#include "code\modules\clothing\under\jobs\Plasmaman\security.dm"
-#include "code\modules\detectivework\detective_work.dm"
-#include "code\modules\detectivework\evidence.dm"
-#include "code\modules\detectivework\scanner.dm"
-#include "code\modules\emoji\emoji_parse.dm"
-#include "code\modules\error_handler\error_handler.dm"
-#include "code\modules\error_handler\error_viewer.dm"
-#include "code\modules\events\_event.dm"
-#include "code\modules\events\abductor.dm"
-#include "code\modules\events\alien_infestation.dm"
-#include "code\modules\events\anomaly.dm"
-#include "code\modules\events\anomaly_bluespace.dm"
-#include "code\modules\events\anomaly_flux.dm"
-#include "code\modules\events\anomaly_grav.dm"
-#include "code\modules\events\anomaly_pyro.dm"
-#include "code\modules\events\anomaly_vortex.dm"
-#include "code\modules\events\aurora_caelus.dm"
-#include "code\modules\events\blob.dm"
-#include "code\modules\events\brand_intelligence.dm"
-#include "code\modules\events\bureaucratic_error.dm"
-#include "code\modules\events\camerafailure.dm"
-#include "code\modules\events\carp_migration.dm"
-#include "code\modules\events\communications_blackout.dm"
-#include "code\modules\events\devil.dm"
-#include "code\modules\events\disease_outbreak.dm"
-#include "code\modules\events\dust.dm"
-#include "code\modules\events\electrical_storm.dm"
-#include "code\modules\events\false_alarm.dm"
-#include "code\modules\events\ghost_role.dm"
-#include "code\modules\events\grid_check.dm"
-#include "code\modules\events\heart_attack.dm"
-#include "code\modules\events\high_priority_bounty.dm"
-#include "code\modules\events\immovable_rod.dm"
-#include "code\modules\events\ion_storm.dm"
-#include "code\modules\events\major_dust.dm"
-#include "code\modules\events\mass_hallucination.dm"
-#include "code\modules\events\meateor_wave.dm"
-#include "code\modules\events\meteor_wave.dm"
-#include "code\modules\events\mice_migration.dm"
-#include "code\modules\events\nightmare.dm"
-#include "code\modules\events\operative.dm"
-#include "code\modules\events\pirates.dm"
-#include "code\modules\events\portal_storm.dm"
-#include "code\modules\events\prison_break.dm"
-#include "code\modules\events\processor_overload.dm"
-#include "code\modules\events\radiation_storm.dm"
-#include "code\modules\events\sentience.dm"
-#include "code\modules\events\shuttle_loan.dm"
-#include "code\modules\events\spacevine.dm"
-#include "code\modules\events\spider_infestation.dm"
-#include "code\modules\events\spontaneous_appendicitis.dm"
-#include "code\modules\events\vent_clog.dm"
-#include "code\modules\events\wormholes.dm"
-#include "code\modules\events\holiday\halloween.dm"
-#include "code\modules\events\holiday\vday.dm"
-#include "code\modules\events\holiday\xmas.dm"
-#include "code\modules\events\wizard\aid.dm"
-#include "code\modules\events\wizard\blobies.dm"
-#include "code\modules\events\wizard\curseditems.dm"
-#include "code\modules\events\wizard\departmentrevolt.dm"
-#include "code\modules\events\wizard\fakeexplosion.dm"
-#include "code\modules\events\wizard\ghost.dm"
-#include "code\modules\events\wizard\greentext.dm"
-#include "code\modules\events\wizard\imposter.dm"
-#include "code\modules\events\wizard\invincible.dm"
-#include "code\modules\events\wizard\lava.dm"
-#include "code\modules\events\wizard\magicarp.dm"
-#include "code\modules\events\wizard\petsplosion.dm"
-#include "code\modules\events\wizard\race.dm"
-#include "code\modules\events\wizard\rpgloot.dm"
-#include "code\modules\events\wizard\shuffle.dm"
-#include "code\modules\events\wizard\summons.dm"
-#include "code\modules\fields\fields.dm"
-#include "code\modules\fields\gravity.dm"
-#include "code\modules\fields\peaceborg_dampener.dm"
-#include "code\modules\fields\timestop.dm"
-#include "code\modules\fields\turf_objects.dm"
-#include "code\modules\flufftext\Dreaming.dm"
-#include "code\modules\flufftext\Hallucination.dm"
-#include "code\modules\food_and_drinks\autobottler.dm"
-#include "code\modules\food_and_drinks\food.dm"
-#include "code\modules\food_and_drinks\pizzabox.dm"
-#include "code\modules\food_and_drinks\drinks\drinks.dm"
-#include "code\modules\food_and_drinks\drinks\drinks\bottle.dm"
-#include "code\modules\food_and_drinks\drinks\drinks\drinkingglass.dm"
-#include "code\modules\food_and_drinks\food\condiment.dm"
-#include "code\modules\food_and_drinks\food\customizables.dm"
-#include "code\modules\food_and_drinks\food\snacks.dm"
-#include "code\modules\food_and_drinks\food\snacks_bread.dm"
-#include "code\modules\food_and_drinks\food\snacks_burgers.dm"
-#include "code\modules\food_and_drinks\food\snacks_cake.dm"
-#include "code\modules\food_and_drinks\food\snacks_egg.dm"
-#include "code\modules\food_and_drinks\food\snacks_frozen.dm"
-#include "code\modules\food_and_drinks\food\snacks_meat.dm"
-#include "code\modules\food_and_drinks\food\snacks_other.dm"
-#include "code\modules\food_and_drinks\food\snacks_pastry.dm"
-#include "code\modules\food_and_drinks\food\snacks_pie.dm"
-#include "code\modules\food_and_drinks\food\snacks_pizza.dm"
-#include "code\modules\food_and_drinks\food\snacks_salad.dm"
-#include "code\modules\food_and_drinks\food\snacks_sandwichtoast.dm"
-#include "code\modules\food_and_drinks\food\snacks_soup.dm"
-#include "code\modules\food_and_drinks\food\snacks_spaghetti.dm"
-#include "code\modules\food_and_drinks\food\snacks_sushi.dm"
-#include "code\modules\food_and_drinks\food\snacks_vend.dm"
-#include "code\modules\food_and_drinks\food\snacks\dough.dm"
-#include "code\modules\food_and_drinks\food\snacks\meat.dm"
-#include "code\modules\food_and_drinks\kitchen_machinery\deep_fryer.dm"
-#include "code\modules\food_and_drinks\kitchen_machinery\food_cart.dm"
-#include "code\modules\food_and_drinks\kitchen_machinery\gibber.dm"
-#include "code\modules\food_and_drinks\kitchen_machinery\grill.dm"
-#include "code\modules\food_and_drinks\kitchen_machinery\icecream_vat.dm"
-#include "code\modules\food_and_drinks\kitchen_machinery\microwave.dm"
-#include "code\modules\food_and_drinks\kitchen_machinery\monkeyrecycler.dm"
-#include "code\modules\food_and_drinks\kitchen_machinery\processor.dm"
-#include "code\modules\food_and_drinks\kitchen_machinery\smartfridge.dm"
-#include "code\modules\food_and_drinks\recipes\drinks_recipes.dm"
-#include "code\modules\food_and_drinks\recipes\food_mixtures.dm"
-#include "code\modules\food_and_drinks\recipes\processor_recipes.dm"
-#include "code\modules\food_and_drinks\recipes\tablecraft\recipes_bread.dm"
-#include "code\modules\food_and_drinks\recipes\tablecraft\recipes_burger.dm"
-#include "code\modules\food_and_drinks\recipes\tablecraft\recipes_cake.dm"
-#include "code\modules\food_and_drinks\recipes\tablecraft\recipes_donut.dm"
-#include "code\modules\food_and_drinks\recipes\tablecraft\recipes_egg.dm"
-#include "code\modules\food_and_drinks\recipes\tablecraft\recipes_frozen.dm"
-#include "code\modules\food_and_drinks\recipes\tablecraft\recipes_meat.dm"
-#include "code\modules\food_and_drinks\recipes\tablecraft\recipes_mexican.dm"
-#include "code\modules\food_and_drinks\recipes\tablecraft\recipes_misc.dm"
-#include "code\modules\food_and_drinks\recipes\tablecraft\recipes_pastry.dm"
-#include "code\modules\food_and_drinks\recipes\tablecraft\recipes_pies_sweets.dm"
-#include "code\modules\food_and_drinks\recipes\tablecraft\recipes_pizza.dm"
-#include "code\modules\food_and_drinks\recipes\tablecraft\recipes_salad.dm"
-#include "code\modules\food_and_drinks\recipes\tablecraft\recipes_sandwich.dm"
-#include "code\modules\food_and_drinks\recipes\tablecraft\recipes_seafood.dm"
-#include "code\modules\food_and_drinks\recipes\tablecraft\recipes_soup.dm"
-#include "code\modules\food_and_drinks\recipes\tablecraft\recipes_spaghetti.dm"
-#include "code\modules\games\cas.dm"
-#include "code\modules\goonchat\browserOutput.dm"
-#include "code\modules\holiday\easter.dm"
-#include "code\modules\holiday\holidays.dm"
-#include "code\modules\holiday\halloween\bartholomew.dm"
-#include "code\modules\holiday\halloween\jacqueen.dm"
-#include "code\modules\holodeck\area_copy.dm"
-#include "code\modules\holodeck\computer.dm"
-#include "code\modules\holodeck\holo_effect.dm"
-#include "code\modules\holodeck\items.dm"
-#include "code\modules\holodeck\mobs.dm"
-#include "code\modules\holodeck\turfs.dm"
-#include "code\modules\hydroponics\biogenerator.dm"
-#include "code\modules\hydroponics\fermenting_barrel.dm"
-#include "code\modules\hydroponics\gene_modder.dm"
-#include "code\modules\hydroponics\grown.dm"
-#include "code\modules\hydroponics\growninedible.dm"
-#include "code\modules\hydroponics\hydroitemdefines.dm"
-#include "code\modules\hydroponics\hydroponics.dm"
-#include "code\modules\hydroponics\plant_genes.dm"
-#include "code\modules\hydroponics\sample.dm"
-#include "code\modules\hydroponics\seed_extractor.dm"
-#include "code\modules\hydroponics\seeds.dm"
-#include "code\modules\hydroponics\beekeeping\beebox.dm"
-#include "code\modules\hydroponics\beekeeping\beekeeper_suit.dm"
-#include "code\modules\hydroponics\beekeeping\honey_frame.dm"
-#include "code\modules\hydroponics\beekeeping\honeycomb.dm"
-#include "code\modules\hydroponics\grown\ambrosia.dm"
-#include "code\modules\hydroponics\grown\apple.dm"
-#include "code\modules\hydroponics\grown\banana.dm"
-#include "code\modules\hydroponics\grown\beans.dm"
-#include "code\modules\hydroponics\grown\berries.dm"
-#include "code\modules\hydroponics\grown\cannabis.dm"
-#include "code\modules\hydroponics\grown\cereals.dm"
-#include "code\modules\hydroponics\grown\chili.dm"
-#include "code\modules\hydroponics\grown\citrus.dm"
-#include "code\modules\hydroponics\grown\cocoa_vanilla.dm"
-#include "code\modules\hydroponics\grown\corn.dm"
-#include "code\modules\hydroponics\grown\cotton.dm"
-#include "code\modules\hydroponics\grown\eggplant.dm"
-#include "code\modules\hydroponics\grown\flowers.dm"
-#include "code\modules\hydroponics\grown\grass_carpet.dm"
-#include "code\modules\hydroponics\grown\kudzu.dm"
-#include "code\modules\hydroponics\grown\melon.dm"
-#include "code\modules\hydroponics\grown\misc.dm"
-#include "code\modules\hydroponics\grown\mushrooms.dm"
-#include "code\modules\hydroponics\grown\nettle.dm"
-#include "code\modules\hydroponics\grown\onion.dm"
-#include "code\modules\hydroponics\grown\peach.dm"
-#include "code\modules\hydroponics\grown\peanuts.dm"
-#include "code\modules\hydroponics\grown\pineapple.dm"
-#include "code\modules\hydroponics\grown\potato.dm"
-#include "code\modules\hydroponics\grown\pumpkin.dm"
-#include "code\modules\hydroponics\grown\random.dm"
-#include "code\modules\hydroponics\grown\replicapod.dm"
-#include "code\modules\hydroponics\grown\root.dm"
-#include "code\modules\hydroponics\grown\tea_coffee.dm"
-#include "code\modules\hydroponics\grown\tobacco.dm"
-#include "code\modules\hydroponics\grown\tomato.dm"
-#include "code\modules\hydroponics\grown\towercap.dm"
-#include "code\modules\integrated_electronics\_defines.dm"
-#include "code\modules\integrated_electronics\core\analyzer.dm"
-#include "code\modules\integrated_electronics\core\assemblies.dm"
-#include "code\modules\integrated_electronics\core\debugger.dm"
-#include "code\modules\integrated_electronics\core\detailer.dm"
-#include "code\modules\integrated_electronics\core\helpers.dm"
-#include "code\modules\integrated_electronics\core\integrated_circuit.dm"
-#include "code\modules\integrated_electronics\core\pins.dm"
-#include "code\modules\integrated_electronics\core\printer.dm"
-#include "code\modules\integrated_electronics\core\saved_circuits.dm"
-#include "code\modules\integrated_electronics\core\wirer.dm"
-#include "code\modules\integrated_electronics\core\special_pins\boolean_pin.dm"
-#include "code\modules\integrated_electronics\core\special_pins\char_pin.dm"
-#include "code\modules\integrated_electronics\core\special_pins\color_pin.dm"
-#include "code\modules\integrated_electronics\core\special_pins\dir_pin.dm"
-#include "code\modules\integrated_electronics\core\special_pins\index_pin.dm"
-#include "code\modules\integrated_electronics\core\special_pins\list_pin.dm"
-#include "code\modules\integrated_electronics\core\special_pins\number_pin.dm"
-#include "code\modules\integrated_electronics\core\special_pins\ref_pin.dm"
-#include "code\modules\integrated_electronics\core\special_pins\selfref_pin.dm"
-#include "code\modules\integrated_electronics\core\special_pins\string_pin.dm"
-#include "code\modules\integrated_electronics\passive\passive.dm"
-#include "code\modules\integrated_electronics\passive\power.dm"
-#include "code\modules\integrated_electronics\subtypes\access.dm"
-#include "code\modules\integrated_electronics\subtypes\arithmetic.dm"
-#include "code\modules\integrated_electronics\subtypes\atmospherics.dm"
-#include "code\modules\integrated_electronics\subtypes\converters.dm"
-#include "code\modules\integrated_electronics\subtypes\data_transfer.dm"
-#include "code\modules\integrated_electronics\subtypes\input.dm"
-#include "code\modules\integrated_electronics\subtypes\lists.dm"
-#include "code\modules\integrated_electronics\subtypes\logic.dm"
-#include "code\modules\integrated_electronics\subtypes\manipulation.dm"
-#include "code\modules\integrated_electronics\subtypes\memory.dm"
-#include "code\modules\integrated_electronics\subtypes\output.dm"
-#include "code\modules\integrated_electronics\subtypes\power.dm"
-#include "code\modules\integrated_electronics\subtypes\reagents.dm"
-#include "code\modules\integrated_electronics\subtypes\smart.dm"
-#include "code\modules\integrated_electronics\subtypes\text.dm"
-#include "code\modules\integrated_electronics\subtypes\time.dm"
-#include "code\modules\integrated_electronics\subtypes\trig.dm"
-#include "code\modules\integrated_electronics\subtypes\weaponized.dm"
-#include "code\modules\jobs\access.dm"
-#include "code\modules\jobs\job_exp.dm"
-#include "code\modules\jobs\jobs.dm"
-#include "code\modules\jobs\job_types\_job.dm"
-#include "code\modules\jobs\job_types\ai.dm"
-#include "code\modules\jobs\job_types\assistant.dm"
-#include "code\modules\jobs\job_types\atmospheric_technician.dm"
-#include "code\modules\jobs\job_types\bartender.dm"
-#include "code\modules\jobs\job_types\botanist.dm"
-#include "code\modules\jobs\job_types\captain.dm"
-#include "code\modules\jobs\job_types\cargo_technician.dm"
-#include "code\modules\jobs\job_types\chaplain.dm"
-#include "code\modules\jobs\job_types\chemist.dm"
-#include "code\modules\jobs\job_types\chief_engineer.dm"
-#include "code\modules\jobs\job_types\chief_medical_officer.dm"
-#include "code\modules\jobs\job_types\clown.dm"
-#include "code\modules\jobs\job_types\cook.dm"
-#include "code\modules\jobs\job_types\curator.dm"
-#include "code\modules\jobs\job_types\cyborg.dm"
-#include "code\modules\jobs\job_types\detective.dm"
-#include "code\modules\jobs\job_types\geneticist.dm"
-#include "code\modules\jobs\job_types\head_of_personnel.dm"
-#include "code\modules\jobs\job_types\head_of_security.dm"
-#include "code\modules\jobs\job_types\janitor.dm"
-#include "code\modules\jobs\job_types\lawyer.dm"
-#include "code\modules\jobs\job_types\medical_doctor.dm"
-#include "code\modules\jobs\job_types\mime.dm"
-#include "code\modules\jobs\job_types\paramedic.dm"
-#include "code\modules\jobs\job_types\quartermaster.dm"
-#include "code\modules\jobs\job_types\research_director.dm"
-#include "code\modules\jobs\job_types\roboticist.dm"
-#include "code\modules\jobs\job_types\scientist.dm"
-#include "code\modules\jobs\job_types\security_officer.dm"
-#include "code\modules\jobs\job_types\shaft_miner.dm"
-#include "code\modules\jobs\job_types\station_engineer.dm"
-#include "code\modules\jobs\job_types\virologist.dm"
-#include "code\modules\jobs\job_types\warden.dm"
-#include "code\modules\jobs\map_changes\map_changes.dm"
-#include "code\modules\keybindings\bindings_admin.dm"
-#include "code\modules\keybindings\bindings_atom.dm"
-#include "code\modules\keybindings\bindings_carbon.dm"
-#include "code\modules\keybindings\bindings_client.dm"
-#include "code\modules\keybindings\bindings_human.dm"
-#include "code\modules\keybindings\bindings_living.dm"
-#include "code\modules\keybindings\bindings_mob.dm"
-#include "code\modules\keybindings\bindings_robot.dm"
-#include "code\modules\keybindings\focus.dm"
-#include "code\modules\keybindings\setup.dm"
-#include "code\modules\language\aphasia.dm"
-#include "code\modules\language\beachbum.dm"
-#include "code\modules\language\codespeak.dm"
-#include "code\modules\language\common.dm"
-#include "code\modules\language\draconic.dm"
-#include "code\modules\language\drone.dm"
-#include "code\modules\language\dwarven.dm"
-#include "code\modules\language\language.dm"
-#include "code\modules\language\language_holder.dm"
-#include "code\modules\language\language_menu.dm"
-#include "code\modules\language\machine.dm"
-#include "code\modules\language\monkey.dm"
-#include "code\modules\language\mushroom.dm"
-#include "code\modules\language\narsian.dm"
-#include "code\modules\language\ratvarian.dm"
-#include "code\modules\language\slime.dm"
-#include "code\modules\language\swarmer.dm"
-#include "code\modules\language\vampiric.dm"
-#include "code\modules\language\xenocommon.dm"
-#include "code\modules\library\lib_codex_gigas.dm"
-#include "code\modules\library\lib_items.dm"
-#include "code\modules\library\lib_machines.dm"
-#include "code\modules\library\random_books.dm"
-#include "code\modules\library\soapstone.dm"
-#include "code\modules\lighting\lighting_area.dm"
-#include "code\modules\lighting\lighting_atom.dm"
-#include "code\modules\lighting\lighting_corner.dm"
-#include "code\modules\lighting\lighting_object.dm"
-#include "code\modules\lighting\lighting_setup.dm"
-#include "code\modules\lighting\lighting_source.dm"
-#include "code\modules\lighting\lighting_turf.dm"
-#include "code\modules\mapping\dmm_suite.dm"
-#include "code\modules\mapping\map_template.dm"
-#include "code\modules\mapping\preloader.dm"
-#include "code\modules\mapping\reader.dm"
-#include "code\modules\mapping\ruins.dm"
-#include "code\modules\mapping\verify.dm"
-#include "code\modules\mapping\mapping_helpers\_mapping_helpers.dm"
-#include "code\modules\mapping\mapping_helpers\baseturf.dm"
-#include "code\modules\mapping\mapping_helpers\network_builder\_network_builder.dm"
-#include "code\modules\mapping\mapping_helpers\network_builder\atmos_pipe.dm"
-#include "code\modules\mapping\mapping_helpers\network_builder\power_cables.dm"
-#include "code\modules\mapping\space_management\multiz_helpers.dm"
-#include "code\modules\mapping\space_management\space_level.dm"
-#include "code\modules\mapping\space_management\space_reservation.dm"
-#include "code\modules\mapping\space_management\space_transition.dm"
-#include "code\modules\mapping\space_management\traits.dm"
-#include "code\modules\mapping\space_management\zlevel_manager.dm"
-#include "code\modules\mining\abandoned_crates.dm"
-#include "code\modules\mining\aux_base.dm"
-#include "code\modules\mining\aux_base_camera.dm"
-#include "code\modules\mining\fulton.dm"
-#include "code\modules\mining\machine_processing.dm"
-#include "code\modules\mining\machine_redemption.dm"
-#include "code\modules\mining\machine_silo.dm"
-#include "code\modules\mining\machine_stacking.dm"
-#include "code\modules\mining\machine_unloading.dm"
-#include "code\modules\mining\machine_vending.dm"
-#include "code\modules\mining\mine_items.dm"
-#include "code\modules\mining\minebot.dm"
-#include "code\modules\mining\mint.dm"
-#include "code\modules\mining\money_bag.dm"
-#include "code\modules\mining\ores_coins.dm"
-#include "code\modules\mining\point_bank.dm"
-#include "code\modules\mining\satchel_ore_boxdm.dm"
-#include "code\modules\mining\shelters.dm"
-#include "code\modules\mining\equipment\explorer_gear.dm"
-#include "code\modules\mining\equipment\goliath_hide.dm"
-#include "code\modules\mining\equipment\kinetic_crusher.dm"
-#include "code\modules\mining\equipment\lazarus_injector.dm"
-#include "code\modules\mining\equipment\marker_beacons.dm"
-#include "code\modules\mining\equipment\mineral_scanner.dm"
-#include "code\modules\mining\equipment\mining_tools.dm"
-#include "code\modules\mining\equipment\regenerative_core.dm"
-#include "code\modules\mining\equipment\resonator.dm"
-#include "code\modules\mining\equipment\survival_pod.dm"
-#include "code\modules\mining\equipment\vendor_items.dm"
-#include "code\modules\mining\equipment\wormhole_jaunter.dm"
-#include "code\modules\mining\laborcamp\laborshuttle.dm"
-#include "code\modules\mining\laborcamp\laborstacker.dm"
-#include "code\modules\mining\lavaland\ash_flora.dm"
-#include "code\modules\mining\lavaland\necropolis_chests.dm"
-#include "code\modules\mining\lavaland\ruins\gym.dm"
-#include "code\modules\mob\death.dm"
-#include "code\modules\mob\emote.dm"
-#include "code\modules\mob\inventory.dm"
-#include "code\modules\mob\login.dm"
-#include "code\modules\mob\logout.dm"
-#include "code\modules\mob\mob.dm"
-#include "code\modules\mob\mob_defines.dm"
-#include "code\modules\mob\mob_helpers.dm"
-#include "code\modules\mob\mob_movement.dm"
-#include "code\modules\mob\mob_movespeed.dm"
-#include "code\modules\mob\mob_transformation_simple.dm"
-#include "code\modules\mob\say.dm"
-#include "code\modules\mob\say_vr.dm"
-#include "code\modules\mob\status_procs.dm"
-#include "code\modules\mob\transform_procs.dm"
-#include "code\modules\mob\update_icons.dm"
-#include "code\modules\mob\camera\camera.dm"
-#include "code\modules\mob\dead\dead.dm"
-#include "code\modules\mob\dead\new_player\login.dm"
-#include "code\modules\mob\dead\new_player\logout.dm"
-#include "code\modules\mob\dead\new_player\new_player.dm"
-#include "code\modules\mob\dead\new_player\poll.dm"
-#include "code\modules\mob\dead\new_player\preferences_setup.dm"
-#include "code\modules\mob\dead\new_player\sprite_accessories\_sprite_accessories.dm"
-#include "code\modules\mob\dead\new_player\sprite_accessories\alienpeople.dm"
-#include "code\modules\mob\dead\new_player\sprite_accessories\body_markings.dm"
-#include "code\modules\mob\dead\new_player\sprite_accessories\caps.dm"
-#include "code\modules\mob\dead\new_player\sprite_accessories\Citadel_Snowflake.dm"
-#include "code\modules\mob\dead\new_player\sprite_accessories\ears.dm"
-#include "code\modules\mob\dead\new_player\sprite_accessories\frills.dm"
-#include "code\modules\mob\dead\new_player\sprite_accessories\hair_face.dm"
-#include "code\modules\mob\dead\new_player\sprite_accessories\hair_head.dm"
-#include "code\modules\mob\dead\new_player\sprite_accessories\horns.dm"
-#include "code\modules\mob\dead\new_player\sprite_accessories\ipc_synths.dm"
-#include "code\modules\mob\dead\new_player\sprite_accessories\legs_and_taurs.dm"
-#include "code\modules\mob\dead\new_player\sprite_accessories\pines.dm"
-#include "code\modules\mob\dead\new_player\sprite_accessories\snouts.dm"
-#include "code\modules\mob\dead\new_player\sprite_accessories\socks.dm"
-#include "code\modules\mob\dead\new_player\sprite_accessories\tails.dm"
-#include "code\modules\mob\dead\new_player\sprite_accessories\undershirt.dm"
-#include "code\modules\mob\dead\new_player\sprite_accessories\underwear.dm"
-#include "code\modules\mob\dead\new_player\sprite_accessories\wings.dm"
-#include "code\modules\mob\dead\observer\login.dm"
-#include "code\modules\mob\dead\observer\logout.dm"
-#include "code\modules\mob\dead\observer\notificationprefs.dm"
-#include "code\modules\mob\dead\observer\observer.dm"
-#include "code\modules\mob\dead\observer\observer_movement.dm"
-#include "code\modules\mob\dead\observer\say.dm"
-#include "code\modules\mob\living\blood.dm"
-#include "code\modules\mob\living\bloodcrawl.dm"
-#include "code\modules\mob\living\damage_procs.dm"
-#include "code\modules\mob\living\death.dm"
-#include "code\modules\mob\living\emote.dm"
-#include "code\modules\mob\living\life.dm"
-#include "code\modules\mob\living\living.dm"
-#include "code\modules\mob\living\living_defense.dm"
-#include "code\modules\mob\living\living_defines.dm"
-#include "code\modules\mob\living\living_mobility.dm"
-#include "code\modules\mob\living\living_movement.dm"
-#include "code\modules\mob\living\login.dm"
-#include "code\modules\mob\living\logout.dm"
-#include "code\modules\mob\living\say.dm"
-#include "code\modules\mob\living\status_procs.dm"
-#include "code\modules\mob\living\taste.dm"
-#include "code\modules\mob\living\update_icons.dm"
-#include "code\modules\mob\living\ventcrawling.dm"
-#include "code\modules\mob\living\brain\brain.dm"
-#include "code\modules\mob\living\brain\brain_item.dm"
-#include "code\modules\mob\living\brain\death.dm"
-#include "code\modules\mob\living\brain\emote.dm"
-#include "code\modules\mob\living\brain\life.dm"
-#include "code\modules\mob\living\brain\MMI.dm"
-#include "code\modules\mob\living\brain\posibrain.dm"
-#include "code\modules\mob\living\brain\say.dm"
-#include "code\modules\mob\living\brain\status_procs.dm"
-#include "code\modules\mob\living\carbon\carbon.dm"
-#include "code\modules\mob\living\carbon\carbon_defense.dm"
-#include "code\modules\mob\living\carbon\carbon_defines.dm"
-#include "code\modules\mob\living\carbon\carbon_movement.dm"
-#include "code\modules\mob\living\carbon\damage_procs.dm"
-#include "code\modules\mob\living\carbon\death.dm"
-#include "code\modules\mob\living\carbon\emote.dm"
-#include "code\modules\mob\living\carbon\examine.dm"
-#include "code\modules\mob\living\carbon\inventory.dm"
-#include "code\modules\mob\living\carbon\life.dm"
-#include "code\modules\mob\living\carbon\say.dm"
-#include "code\modules\mob\living\carbon\status_procs.dm"
-#include "code\modules\mob\living\carbon\update_icons.dm"
-#include "code\modules\mob\living\carbon\alien\alien.dm"
-#include "code\modules\mob\living\carbon\alien\alien_defense.dm"
-#include "code\modules\mob\living\carbon\alien\damage_procs.dm"
-#include "code\modules\mob\living\carbon\alien\death.dm"
-#include "code\modules\mob\living\carbon\alien\emote.dm"
-#include "code\modules\mob\living\carbon\alien\life.dm"
-#include "code\modules\mob\living\carbon\alien\login.dm"
-#include "code\modules\mob\living\carbon\alien\logout.dm"
-#include "code\modules\mob\living\carbon\alien\organs.dm"
-#include "code\modules\mob\living\carbon\alien\say.dm"
-#include "code\modules\mob\living\carbon\alien\screen.dm"
-#include "code\modules\mob\living\carbon\alien\status_procs.dm"
-#include "code\modules\mob\living\carbon\alien\update_icons.dm"
-#include "code\modules\mob\living\carbon\alien\humanoid\alien_powers.dm"
-#include "code\modules\mob\living\carbon\alien\humanoid\death.dm"
-#include "code\modules\mob\living\carbon\alien\humanoid\humanoid.dm"
-#include "code\modules\mob\living\carbon\alien\humanoid\humanoid_defense.dm"
-#include "code\modules\mob\living\carbon\alien\humanoid\inventory.dm"
-#include "code\modules\mob\living\carbon\alien\humanoid\life.dm"
-#include "code\modules\mob\living\carbon\alien\humanoid\queen.dm"
-#include "code\modules\mob\living\carbon\alien\humanoid\update_icons.dm"
-#include "code\modules\mob\living\carbon\alien\humanoid\caste\drone.dm"
-#include "code\modules\mob\living\carbon\alien\humanoid\caste\hunter.dm"
-#include "code\modules\mob\living\carbon\alien\humanoid\caste\praetorian.dm"
-#include "code\modules\mob\living\carbon\alien\humanoid\caste\sentinel.dm"
-#include "code\modules\mob\living\carbon\alien\larva\death.dm"
-#include "code\modules\mob\living\carbon\alien\larva\inventory.dm"
-#include "code\modules\mob\living\carbon\alien\larva\larva.dm"
-#include "code\modules\mob\living\carbon\alien\larva\larva_defense.dm"
-#include "code\modules\mob\living\carbon\alien\larva\life.dm"
-#include "code\modules\mob\living\carbon\alien\larva\powers.dm"
-#include "code\modules\mob\living\carbon\alien\larva\update_icons.dm"
-#include "code\modules\mob\living\carbon\alien\special\alien_embryo.dm"
-#include "code\modules\mob\living\carbon\alien\special\facehugger.dm"
-#include "code\modules\mob\living\carbon\human\damage_procs.dm"
-#include "code\modules\mob\living\carbon\human\death.dm"
-#include "code\modules\mob\living\carbon\human\dummy.dm"
-#include "code\modules\mob\living\carbon\human\emote.dm"
-#include "code\modules\mob\living\carbon\human\examine.dm"
-#include "code\modules\mob\living\carbon\human\human.dm"
-#include "code\modules\mob\living\carbon\human\human_defense.dm"
-#include "code\modules\mob\living\carbon\human\human_defines.dm"
-#include "code\modules\mob\living\carbon\human\human_helpers.dm"
-#include "code\modules\mob\living\carbon\human\human_mobility.dm"
-#include "code\modules\mob\living\carbon\human\human_movement.dm"
-#include "code\modules\mob\living\carbon\human\inventory.dm"
-#include "code\modules\mob\living\carbon\human\life.dm"
-#include "code\modules\mob\living\carbon\human\physiology.dm"
-#include "code\modules\mob\living\carbon\human\say.dm"
-#include "code\modules\mob\living\carbon\human\species.dm"
-#include "code\modules\mob\living\carbon\human\status_procs.dm"
-#include "code\modules\mob\living\carbon\human\update_icons.dm"
-#include "code\modules\mob\living\carbon\human\species_types\abductors.dm"
-#include "code\modules\mob\living\carbon\human\species_types\android.dm"
-#include "code\modules\mob\living\carbon\human\species_types\angel.dm"
-#include "code\modules\mob\living\carbon\human\species_types\bugmen.dm"
-#include "code\modules\mob\living\carbon\human\species_types\corporate.dm"
-#include "code\modules\mob\living\carbon\human\species_types\dullahan.dm"
-#include "code\modules\mob\living\carbon\human\species_types\dwarves.dm"
-#include "code\modules\mob\living\carbon\human\species_types\felinid.dm"
-#include "code\modules\mob\living\carbon\human\species_types\flypeople.dm"
-#include "code\modules\mob\living\carbon\human\species_types\furrypeople.dm"
-#include "code\modules\mob\living\carbon\human\species_types\golems.dm"
-#include "code\modules\mob\living\carbon\human\species_types\humans.dm"
-#include "code\modules\mob\living\carbon\human\species_types\ipc.dm"
-#include "code\modules\mob\living\carbon\human\species_types\jellypeople.dm"
-#include "code\modules\mob\living\carbon\human\species_types\lizardpeople.dm"
-#include "code\modules\mob\living\carbon\human\species_types\mushpeople.dm"
-#include "code\modules\mob\living\carbon\human\species_types\plasmamen.dm"
-#include "code\modules\mob\living\carbon\human\species_types\podpeople.dm"
-#include "code\modules\mob\living\carbon\human\species_types\shadowpeople.dm"
-#include "code\modules\mob\living\carbon\human\species_types\skeletons.dm"
-#include "code\modules\mob\living\carbon\human\species_types\synths.dm"
-#include "code\modules\mob\living\carbon\human\species_types\vampire.dm"
-#include "code\modules\mob\living\carbon\human\species_types\zombies.dm"
-#include "code\modules\mob\living\carbon\monkey\combat.dm"
-#include "code\modules\mob\living\carbon\monkey\death.dm"
-#include "code\modules\mob\living\carbon\monkey\inventory.dm"
-#include "code\modules\mob\living\carbon\monkey\life.dm"
-#include "code\modules\mob\living\carbon\monkey\monkey.dm"
-#include "code\modules\mob\living\carbon\monkey\monkey_defense.dm"
-#include "code\modules\mob\living\carbon\monkey\punpun.dm"
-#include "code\modules\mob\living\carbon\monkey\update_icons.dm"
-#include "code\modules\mob\living\silicon\custom_holoform.dm"
-#include "code\modules\mob\living\silicon\damage_procs.dm"
-#include "code\modules\mob\living\silicon\death.dm"
-#include "code\modules\mob\living\silicon\examine.dm"
-#include "code\modules\mob\living\silicon\laws.dm"
-#include "code\modules\mob\living\silicon\login.dm"
-#include "code\modules\mob\living\silicon\say.dm"
-#include "code\modules\mob\living\silicon\silicon.dm"
-#include "code\modules\mob\living\silicon\silicon_defense.dm"
-#include "code\modules\mob\living\silicon\silicon_movement.dm"
-#include "code\modules\mob\living\silicon\ai\ai.dm"
-#include "code\modules\mob\living\silicon\ai\ai_defense.dm"
-#include "code\modules\mob\living\silicon\ai\death.dm"
-#include "code\modules\mob\living\silicon\ai\examine.dm"
-#include "code\modules\mob\living\silicon\ai\laws.dm"
-#include "code\modules\mob\living\silicon\ai\life.dm"
-#include "code\modules\mob\living\silicon\ai\login.dm"
-#include "code\modules\mob\living\silicon\ai\logout.dm"
-#include "code\modules\mob\living\silicon\ai\multicam.dm"
-#include "code\modules\mob\living\silicon\ai\say.dm"
-#include "code\modules\mob\living\silicon\ai\vox_sounds.dm"
-#include "code\modules\mob\living\silicon\ai\freelook\cameranet.dm"
-#include "code\modules\mob\living\silicon\ai\freelook\chunk.dm"
-#include "code\modules\mob\living\silicon\ai\freelook\eye.dm"
-#include "code\modules\mob\living\silicon\ai\freelook\read_me.dm"
-#include "code\modules\mob\living\silicon\pai\death.dm"
-#include "code\modules\mob\living\silicon\pai\pai.dm"
-#include "code\modules\mob\living\silicon\pai\pai_defense.dm"
-#include "code\modules\mob\living\silicon\pai\pai_shell.dm"
-#include "code\modules\mob\living\silicon\pai\personality.dm"
-#include "code\modules\mob\living\silicon\pai\say.dm"
-#include "code\modules\mob\living\silicon\pai\software.dm"
-#include "code\modules\mob\living\silicon\pai\update_icon.dm"
-#include "code\modules\mob\living\silicon\robot\death.dm"
-#include "code\modules\mob\living\silicon\robot\emote.dm"
-#include "code\modules\mob\living\silicon\robot\examine.dm"
-#include "code\modules\mob\living\silicon\robot\inventory.dm"
-#include "code\modules\mob\living\silicon\robot\laws.dm"
-#include "code\modules\mob\living\silicon\robot\life.dm"
-#include "code\modules\mob\living\silicon\robot\login.dm"
-#include "code\modules\mob\living\silicon\robot\robot.dm"
-#include "code\modules\mob\living\silicon\robot\robot_defense.dm"
-#include "code\modules\mob\living\silicon\robot\robot_mobility.dm"
-#include "code\modules\mob\living\silicon\robot\robot_modules.dm"
-#include "code\modules\mob\living\silicon\robot\robot_movement.dm"
-#include "code\modules\mob\living\silicon\robot\say.dm"
-#include "code\modules\mob\living\silicon\robot\update_icons.dm"
-#include "code\modules\mob\living\simple_animal\animal_defense.dm"
-#include "code\modules\mob\living\simple_animal\astral.dm"
-#include "code\modules\mob\living\simple_animal\constructs.dm"
-#include "code\modules\mob\living\simple_animal\corpse.dm"
-#include "code\modules\mob\living\simple_animal\damage_procs.dm"
-#include "code\modules\mob\living\simple_animal\parrot.dm"
-#include "code\modules\mob\living\simple_animal\shade.dm"
-#include "code\modules\mob\living\simple_animal\simple_animal.dm"
-#include "code\modules\mob\living\simple_animal\simple_animal_vr.dm"
-#include "code\modules\mob\living\simple_animal\simplemob_vore_values.dm"
-#include "code\modules\mob\living\simple_animal\status_procs.dm"
-#include "code\modules\mob\living\simple_animal\bot\bot.dm"
-#include "code\modules\mob\living\simple_animal\bot\cleanbot.dm"
-#include "code\modules\mob\living\simple_animal\bot\construction.dm"
-#include "code\modules\mob\living\simple_animal\bot\ed209bot.dm"
-#include "code\modules\mob\living\simple_animal\bot\firebot.dm"
-#include "code\modules\mob\living\simple_animal\bot\floorbot.dm"
-#include "code\modules\mob\living\simple_animal\bot\honkbot.dm"
-#include "code\modules\mob\living\simple_animal\bot\medbot.dm"
-#include "code\modules\mob\living\simple_animal\bot\mulebot.dm"
-#include "code\modules\mob\living\simple_animal\bot\secbot.dm"
-#include "code\modules\mob\living\simple_animal\bot\SuperBeepsky.dm"
-#include "code\modules\mob\living\simple_animal\friendly\bumbles.dm"
-#include "code\modules\mob\living\simple_animal\friendly\butterfly.dm"
-#include "code\modules\mob\living\simple_animal\friendly\cat.dm"
-#include "code\modules\mob\living\simple_animal\friendly\cockroach.dm"
-#include "code\modules\mob\living\simple_animal\friendly\crab.dm"
-#include "code\modules\mob\living\simple_animal\friendly\dog.dm"
-#include "code\modules\mob\living\simple_animal\friendly\farm_animals.dm"
-#include "code\modules\mob\living\simple_animal\friendly\fox.dm"
-#include "code\modules\mob\living\simple_animal\friendly\gondola.dm"
-#include "code\modules\mob\living\simple_animal\friendly\lizard.dm"
-#include "code\modules\mob\living\simple_animal\friendly\mouse.dm"
-#include "code\modules\mob\living\simple_animal\friendly\panda.dm"
-#include "code\modules\mob\living\simple_animal\friendly\penguin.dm"
-#include "code\modules\mob\living\simple_animal\friendly\pet.dm"
-#include "code\modules\mob\living\simple_animal\friendly\sloth.dm"
-#include "code\modules\mob\living\simple_animal\friendly\snake.dm"
-#include "code\modules\mob\living\simple_animal\friendly\drone\_drone.dm"
-#include "code\modules\mob\living\simple_animal\friendly\drone\drones_as_items.dm"
-#include "code\modules\mob\living\simple_animal\friendly\drone\extra_drone_types.dm"
-#include "code\modules\mob\living\simple_animal\friendly\drone\interaction.dm"
-#include "code\modules\mob\living\simple_animal\friendly\drone\inventory.dm"
-#include "code\modules\mob\living\simple_animal\friendly\drone\say.dm"
-#include "code\modules\mob\living\simple_animal\friendly\drone\verbs.dm"
-#include "code\modules\mob\living\simple_animal\friendly\drone\visuals_icons.dm"
-#include "code\modules\mob\living\simple_animal\guardian\guardian.dm"
-#include "code\modules\mob\living\simple_animal\guardian\guardiannaming.dm"
-#include "code\modules\mob\living\simple_animal\guardian\types\assassin.dm"
-#include "code\modules\mob\living\simple_animal\guardian\types\charger.dm"
-#include "code\modules\mob\living\simple_animal\guardian\types\dextrous.dm"
-#include "code\modules\mob\living\simple_animal\guardian\types\explosive.dm"
-#include "code\modules\mob\living\simple_animal\guardian\types\fire.dm"
-#include "code\modules\mob\living\simple_animal\guardian\types\lightning.dm"
-#include "code\modules\mob\living\simple_animal\guardian\types\protector.dm"
-#include "code\modules\mob\living\simple_animal\guardian\types\ranged.dm"
-#include "code\modules\mob\living\simple_animal\guardian\types\standard.dm"
-#include "code\modules\mob\living\simple_animal\guardian\types\support.dm"
-#include "code\modules\mob\living\simple_animal\hostile\alien.dm"
-#include "code\modules\mob\living\simple_animal\hostile\banana_spider.dm"
-#include "code\modules\mob\living\simple_animal\hostile\bear.dm"
-#include "code\modules\mob\living\simple_animal\hostile\bees.dm"
-#include "code\modules\mob\living\simple_animal\hostile\carp.dm"
-#include "code\modules\mob\living\simple_animal\hostile\cat_butcher.dm"
-#include "code\modules\mob\living\simple_animal\hostile\dark_wizard.dm"
-#include "code\modules\mob\living\simple_animal\hostile\eyeballs.dm"
-#include "code\modules\mob\living\simple_animal\hostile\faithless.dm"
-#include "code\modules\mob\living\simple_animal\hostile\giant_spider.dm"
-#include "code\modules\mob\living\simple_animal\hostile\goose.dm"
-#include "code\modules\mob\living\simple_animal\hostile\headcrab.dm"
-#include "code\modules\mob\living\simple_animal\hostile\hivebot.dm"
-#include "code\modules\mob\living\simple_animal\hostile\hostile.dm"
-#include "code\modules\mob\living\simple_animal\hostile\illusion.dm"
-#include "code\modules\mob\living\simple_animal\hostile\killertomato.dm"
-#include "code\modules\mob\living\simple_animal\hostile\mecha_pilot.dm"
-#include "code\modules\mob\living\simple_animal\hostile\mimic.dm"
-#include "code\modules\mob\living\simple_animal\hostile\mushroom.dm"
-#include "code\modules\mob\living\simple_animal\hostile\nanotrasen.dm"
-#include "code\modules\mob\living\simple_animal\hostile\netherworld.dm"
-#include "code\modules\mob\living\simple_animal\hostile\pirate.dm"
-#include "code\modules\mob\living\simple_animal\hostile\russian.dm"
-#include "code\modules\mob\living\simple_animal\hostile\sharks.dm"
-#include "code\modules\mob\living\simple_animal\hostile\skeleton.dm"
-#include "code\modules\mob\living\simple_animal\hostile\statue.dm"
-#include "code\modules\mob\living\simple_animal\hostile\stickman.dm"
-#include "code\modules\mob\living\simple_animal\hostile\syndicate.dm"
-#include "code\modules\mob\living\simple_animal\hostile\tree.dm"
-#include "code\modules\mob\living\simple_animal\hostile\venus_human_trap.dm"
-#include "code\modules\mob\living\simple_animal\hostile\wizard.dm"
-#include "code\modules\mob\living\simple_animal\hostile\wumborian_fugu.dm"
-#include "code\modules\mob\living\simple_animal\hostile\zombie.dm"
-#include "code\modules\mob\living\simple_animal\hostile\bosses\boss.dm"
-#include "code\modules\mob\living\simple_animal\hostile\bosses\paperwizard.dm"
-#include "code\modules\mob\living\simple_animal\hostile\gorilla\emotes.dm"
-#include "code\modules\mob\living\simple_animal\hostile\gorilla\gorilla.dm"
-#include "code\modules\mob\living\simple_animal\hostile\gorilla\visuals_icons.dm"
-#include "code\modules\mob\living\simple_animal\hostile\jungle\_jungle_mobs.dm"
-#include "code\modules\mob\living\simple_animal\hostile\jungle\leaper.dm"
-#include "code\modules\mob\living\simple_animal\hostile\jungle\mega_arachnid.dm"
-#include "code\modules\mob\living\simple_animal\hostile\jungle\mook.dm"
-#include "code\modules\mob\living\simple_animal\hostile\jungle\seedling.dm"
-#include "code\modules\mob\living\simple_animal\hostile\megafauna\blood_drunk_miner.dm"
-#include "code\modules\mob\living\simple_animal\hostile\megafauna\bubblegum.dm"
-#include "code\modules\mob\living\simple_animal\hostile\megafauna\colossus.dm"
-#include "code\modules\mob\living\simple_animal\hostile\megafauna\dragon_vore.dm"
-#include "code\modules\mob\living\simple_animal\hostile\megafauna\drake.dm"
-#include "code\modules\mob\living\simple_animal\hostile\megafauna\hierophant.dm"
-#include "code\modules\mob\living\simple_animal\hostile\megafauna\legion.dm"
-#include "code\modules\mob\living\simple_animal\hostile\megafauna\megafauna.dm"
-#include "code\modules\mob\living\simple_animal\hostile\megafauna\swarmer.dm"
-#include "code\modules\mob\living\simple_animal\hostile\mining_mobs\basilisk.dm"
-#include "code\modules\mob\living\simple_animal\hostile\mining_mobs\curse_blob.dm"
-#include "code\modules\mob\living\simple_animal\hostile\mining_mobs\goldgrub.dm"
-#include "code\modules\mob\living\simple_animal\hostile\mining_mobs\goliath.dm"
-#include "code\modules\mob\living\simple_animal\hostile\mining_mobs\gutlunch.dm"
-#include "code\modules\mob\living\simple_animal\hostile\mining_mobs\hivelord.dm"
-#include "code\modules\mob\living\simple_animal\hostile\mining_mobs\mining_mobs.dm"
-#include "code\modules\mob\living\simple_animal\hostile\mining_mobs\elites\elite.dm"
-#include "code\modules\mob\living\simple_animal\hostile\mining_mobs\elites\goliath_broodmother.dm"
-#include "code\modules\mob\living\simple_animal\hostile\mining_mobs\elites\herald.dm"
-#include "code\modules\mob\living\simple_animal\hostile\mining_mobs\elites\legionnaire.dm"
-#include "code\modules\mob\living\simple_animal\hostile\mining_mobs\elites\pandora.dm"
-#include "code\modules\mob\living\simple_animal\hostile\retaliate\bat.dm"
-#include "code\modules\mob\living\simple_animal\hostile\retaliate\clown.dm"
-#include "code\modules\mob\living\simple_animal\hostile\retaliate\frog.dm"
-#include "code\modules\mob\living\simple_animal\hostile\retaliate\ghost.dm"
-#include "code\modules\mob\living\simple_animal\hostile\retaliate\retaliate.dm"
-#include "code\modules\mob\living\simple_animal\hostile\retaliate\spaceman.dm"
-#include "code\modules\mob\living\simple_animal\slime\death.dm"
-#include "code\modules\mob\living\simple_animal\slime\emote.dm"
-#include "code\modules\mob\living\simple_animal\slime\life.dm"
-#include "code\modules\mob\living\simple_animal\slime\powers.dm"
-#include "code\modules\mob\living\simple_animal\slime\say.dm"
-#include "code\modules\mob\living\simple_animal\slime\slime.dm"
-#include "code\modules\mob\living\simple_animal\slime\slime_mobility.dm"
-#include "code\modules\mob\living\simple_animal\slime\subtypes.dm"
-#include "code\modules\modular_computers\laptop_vendor.dm"
-#include "code\modules\modular_computers\computers\item\computer.dm"
-#include "code\modules\modular_computers\computers\item\computer_components.dm"
-#include "code\modules\modular_computers\computers\item\computer_damage.dm"
-#include "code\modules\modular_computers\computers\item\computer_power.dm"
-#include "code\modules\modular_computers\computers\item\computer_ui.dm"
-#include "code\modules\modular_computers\computers\item\laptop.dm"
-#include "code\modules\modular_computers\computers\item\laptop_presets.dm"
-#include "code\modules\modular_computers\computers\item\processor.dm"
-#include "code\modules\modular_computers\computers\item\tablet.dm"
-#include "code\modules\modular_computers\computers\item\tablet_presets.dm"
-#include "code\modules\modular_computers\computers\machinery\console_presets.dm"
-#include "code\modules\modular_computers\computers\machinery\modular_computer.dm"
-#include "code\modules\modular_computers\computers\machinery\modular_console.dm"
-#include "code\modules\modular_computers\file_system\computer_file.dm"
-#include "code\modules\modular_computers\file_system\data.dm"
-#include "code\modules\modular_computers\file_system\program.dm"
-#include "code\modules\modular_computers\file_system\program_events.dm"
-#include "code\modules\modular_computers\file_system\programs\airestorer.dm"
-#include "code\modules\modular_computers\file_system\programs\alarm.dm"
-#include "code\modules\modular_computers\file_system\programs\card.dm"
-#include "code\modules\modular_computers\file_system\programs\configurator.dm"
-#include "code\modules\modular_computers\file_system\programs\file_browser.dm"
-#include "code\modules\modular_computers\file_system\programs\ntdownloader.dm"
-#include "code\modules\modular_computers\file_system\programs\ntmonitor.dm"
-#include "code\modules\modular_computers\file_system\programs\ntnrc_client.dm"
-#include "code\modules\modular_computers\file_system\programs\nttransfer.dm"
-#include "code\modules\modular_computers\file_system\programs\powermonitor.dm"
-#include "code\modules\modular_computers\file_system\programs\sm_monitor.dm"
-#include "code\modules\modular_computers\file_system\programs\antagonist\contract_uplink.dm"
-#include "code\modules\modular_computers\file_system\programs\antagonist\dos.dm"
-#include "code\modules\modular_computers\file_system\programs\antagonist\revelation.dm"
-#include "code\modules\modular_computers\hardware\_hardware.dm"
-#include "code\modules\modular_computers\hardware\ai_slot.dm"
-#include "code\modules\modular_computers\hardware\battery_module.dm"
-#include "code\modules\modular_computers\hardware\card_slot.dm"
-#include "code\modules\modular_computers\hardware\CPU.dm"
-#include "code\modules\modular_computers\hardware\hard_drive.dm"
-#include "code\modules\modular_computers\hardware\network_card.dm"
-#include "code\modules\modular_computers\hardware\portable_disk.dm"
-#include "code\modules\modular_computers\hardware\printer.dm"
-#include "code\modules\modular_computers\hardware\recharger.dm"
-#include "code\modules\modular_computers\NTNet\NTNRC\conversation.dm"
-#include "code\modules\newscaster\_news.dm"
-#include "code\modules\newscaster\feed_channel.dm"
-#include "code\modules\newscaster\feed_comment.dm"
-#include "code\modules\newscaster\feed_message.dm"
-#include "code\modules\newscaster\ghostread.dm"
-#include "code\modules\newscaster\news_network.dm"
-#include "code\modules\newscaster\newscaster_machine.dm"
-#include "code\modules\newscaster\newspaper.dm"
-#include "code\modules\newscaster\wanted_message.dm"
-#include "code\modules\ninja\__ninjaDefines.dm"
-#include "code\modules\ninja\energy_katana.dm"
-#include "code\modules\ninja\ninja_event.dm"
-#include "code\modules\ninja\outfit.dm"
-#include "code\modules\ninja\suit\gloves.dm"
-#include "code\modules\ninja\suit\head.dm"
-#include "code\modules\ninja\suit\mask.dm"
-#include "code\modules\ninja\suit\ninjaDrainAct.dm"
-#include "code\modules\ninja\suit\shoes.dm"
-#include "code\modules\ninja\suit\suit.dm"
-#include "code\modules\ninja\suit\suit_attackby.dm"
-#include "code\modules\ninja\suit\suit_initialisation.dm"
-#include "code\modules\ninja\suit\suit_process.dm"
-#include "code\modules\ninja\suit\n_suit_verbs\energy_net_nets.dm"
-#include "code\modules\ninja\suit\n_suit_verbs\ninja_adrenaline.dm"
-#include "code\modules\ninja\suit\n_suit_verbs\ninja_cost_check.dm"
-#include "code\modules\ninja\suit\n_suit_verbs\ninja_empulse.dm"
-#include "code\modules\ninja\suit\n_suit_verbs\ninja_net.dm"
-#include "code\modules\ninja\suit\n_suit_verbs\ninja_smoke.dm"
-#include "code\modules\ninja\suit\n_suit_verbs\ninja_stars.dm"
-#include "code\modules\ninja\suit\n_suit_verbs\ninja_stealth.dm"
-#include "code\modules\ninja\suit\n_suit_verbs\ninja_sword_recall.dm"
-#include "code\modules\NTNet\netdata.dm"
-#include "code\modules\NTNet\network.dm"
-#include "code\modules\NTNet\relays.dm"
-#include "code\modules\NTNet\services\_service.dm"
-#include "code\modules\oracle_ui\assets.dm"
-#include "code\modules\oracle_ui\hookup_procs.dm"
-#include "code\modules\oracle_ui\oracle_ui.dm"
-#include "code\modules\oracle_ui\themed.dm"
-#include "code\modules\paperwork\clipboard.dm"
-#include "code\modules\paperwork\contract.dm"
-#include "code\modules\paperwork\filingcabinet.dm"
-#include "code\modules\paperwork\folders.dm"
-#include "code\modules\paperwork\handlabeler.dm"
-#include "code\modules\paperwork\paper.dm"
-#include "code\modules\paperwork\paper_cutter.dm"
-#include "code\modules\paperwork\paper_premade.dm"
-#include "code\modules\paperwork\paperbin.dm"
-#include "code\modules\paperwork\paperplane.dm"
-#include "code\modules\paperwork\pen.dm"
-#include "code\modules\paperwork\photocopier.dm"
-#include "code\modules\paperwork\stamps.dm"
-#include "code\modules\photography\_pictures.dm"
-#include "code\modules\photography\camera\camera.dm"
-#include "code\modules\photography\camera\camera_image_capturing.dm"
-#include "code\modules\photography\camera\film.dm"
-#include "code\modules\photography\camera\other.dm"
-#include "code\modules\photography\camera\silicon_camera.dm"
-#include "code\modules\photography\photos\album.dm"
-#include "code\modules\photography\photos\frame.dm"
-#include "code\modules\photography\photos\photo.dm"
-#include "code\modules\pool\pool_controller.dm"
-#include "code\modules\pool\pool_drain.dm"
-#include "code\modules\pool\pool_effects.dm"
-#include "code\modules\pool\pool_main.dm"
-#include "code\modules\pool\pool_noodles.dm"
-#include "code\modules\pool\pool_structures.dm"
-#include "code\modules\pool\pool_wires.dm"
-#include "code\modules\power\apc.dm"
-#include "code\modules\power\cable.dm"
-#include "code\modules\power\cell.dm"
-#include "code\modules\power\floodlight.dm"
-#include "code\modules\power\generator.dm"
-#include "code\modules\power\gravitygenerator.dm"
-#include "code\modules\power\lighting.dm"
-#include "code\modules\power\monitor.dm"
-#include "code\modules\power\multiz.dm"
-#include "code\modules\power\port_gen.dm"
-#include "code\modules\power\power.dm"
-#include "code\modules\power\powernet.dm"
-#include "code\modules\power\rtg.dm"
-#include "code\modules\power\smes.dm"
-#include "code\modules\power\solar.dm"
-#include "code\modules\power\terminal.dm"
-#include "code\modules\power\tracker.dm"
-#include "code\modules\power\turbine.dm"
-#include "code\modules\power\antimatter\containment_jar.dm"
-#include "code\modules\power\antimatter\control.dm"
-#include "code\modules\power\antimatter\shielding.dm"
-#include "code\modules\power\singularity\collector.dm"
-#include "code\modules\power\singularity\containment_field.dm"
-#include "code\modules\power\singularity\emitter.dm"
-#include "code\modules\power\singularity\field_generator.dm"
-#include "code\modules\power\singularity\generator.dm"
-#include "code\modules\power\singularity\investigate.dm"
-#include "code\modules\power\singularity\narsie.dm"
-#include "code\modules\power\singularity\singularity.dm"
-#include "code\modules\power\singularity\particle_accelerator\particle.dm"
-#include "code\modules\power\singularity\particle_accelerator\particle_accelerator.dm"
-#include "code\modules\power\singularity\particle_accelerator\particle_control.dm"
-#include "code\modules\power\singularity\particle_accelerator\particle_emitter.dm"
-#include "code\modules\power\supermatter\supermatter.dm"
-#include "code\modules\power\tesla\coil.dm"
-#include "code\modules\power\tesla\energy_ball.dm"
-#include "code\modules\power\tesla\generator.dm"
-#include "code\modules\procedural_mapping\mapGenerator.dm"
-#include "code\modules\procedural_mapping\mapGeneratorModule.dm"
-#include "code\modules\procedural_mapping\mapGeneratorObj.dm"
-#include "code\modules\procedural_mapping\mapGeneratorReadme.dm"
-#include "code\modules\procedural_mapping\mapGeneratorModules\helpers.dm"
-#include "code\modules\procedural_mapping\mapGeneratorModules\nature.dm"
-#include "code\modules\procedural_mapping\mapGenerators\asteroid.dm"
-#include "code\modules\procedural_mapping\mapGenerators\cellular.dm"
-#include "code\modules\procedural_mapping\mapGenerators\cult.dm"
-#include "code\modules\procedural_mapping\mapGenerators\lava_river.dm"
-#include "code\modules\procedural_mapping\mapGenerators\lavaland.dm"
-#include "code\modules\procedural_mapping\mapGenerators\nature.dm"
-#include "code\modules\procedural_mapping\mapGenerators\repair.dm"
-#include "code\modules\procedural_mapping\mapGenerators\shuttle.dm"
-#include "code\modules\procedural_mapping\mapGenerators\syndicate.dm"
-#include "code\modules\projectiles\gun.dm"
-#include "code\modules\projectiles\pins.dm"
-#include "code\modules\projectiles\projectile.dm"
-#include "code\modules\projectiles\ammunition\_ammunition.dm"
-#include "code\modules\projectiles\ammunition\_firing.dm"
-#include "code\modules\projectiles\ammunition\ballistic\lmg.dm"
-#include "code\modules\projectiles\ammunition\ballistic\pistol.dm"
-#include "code\modules\projectiles\ammunition\ballistic\revolver.dm"
-#include "code\modules\projectiles\ammunition\ballistic\rifle.dm"
-#include "code\modules\projectiles\ammunition\ballistic\shotgun.dm"
-#include "code\modules\projectiles\ammunition\ballistic\smg.dm"
-#include "code\modules\projectiles\ammunition\ballistic\sniper.dm"
-#include "code\modules\projectiles\ammunition\caseless\_caseless.dm"
-#include "code\modules\projectiles\ammunition\caseless\arrow.dm"
-#include "code\modules\projectiles\ammunition\caseless\ferromagnetic.dm"
-#include "code\modules\projectiles\ammunition\caseless\foam.dm"
-#include "code\modules\projectiles\ammunition\caseless\misc.dm"
-#include "code\modules\projectiles\ammunition\caseless\rocket.dm"
-#include "code\modules\projectiles\ammunition\energy\_energy.dm"
-#include "code\modules\projectiles\ammunition\energy\ebow.dm"
-#include "code\modules\projectiles\ammunition\energy\gravity.dm"
-#include "code\modules\projectiles\ammunition\energy\laser.dm"
-#include "code\modules\projectiles\ammunition\energy\lmg.dm"
-#include "code\modules\projectiles\ammunition\energy\plasma.dm"
-#include "code\modules\projectiles\ammunition\energy\plasma_cit.dm"
-#include "code\modules\projectiles\ammunition\energy\portal.dm"
-#include "code\modules\projectiles\ammunition\energy\special.dm"
-#include "code\modules\projectiles\ammunition\energy\stun.dm"
-#include "code\modules\projectiles\ammunition\special\magic.dm"
-#include "code\modules\projectiles\ammunition\special\syringe.dm"
-#include "code\modules\projectiles\boxes_magazines\_box_magazine.dm"
-#include "code\modules\projectiles\boxes_magazines\ammo_boxes.dm"
-#include "code\modules\projectiles\boxes_magazines\external\grenade.dm"
-#include "code\modules\projectiles\boxes_magazines\external\lmg.dm"
-#include "code\modules\projectiles\boxes_magazines\external\magweapon.dm"
-#include "code\modules\projectiles\boxes_magazines\external\pistol.dm"
-#include "code\modules\projectiles\boxes_magazines\external\rechargable.dm"
-#include "code\modules\projectiles\boxes_magazines\external\rifle.dm"
-#include "code\modules\projectiles\boxes_magazines\external\shotgun.dm"
-#include "code\modules\projectiles\boxes_magazines\external\smg.dm"
-#include "code\modules\projectiles\boxes_magazines\external\sniper.dm"
-#include "code\modules\projectiles\boxes_magazines\external\toy.dm"
-#include "code\modules\projectiles\boxes_magazines\internal\_cylinder.dm"
-#include "code\modules\projectiles\boxes_magazines\internal\_internal.dm"
-#include "code\modules\projectiles\boxes_magazines\internal\bow.dm"
-#include "code\modules\projectiles\boxes_magazines\internal\grenade.dm"
-#include "code\modules\projectiles\boxes_magazines\internal\misc.dm"
-#include "code\modules\projectiles\boxes_magazines\internal\revolver.dm"
-#include "code\modules\projectiles\boxes_magazines\internal\rifle.dm"
-#include "code\modules\projectiles\boxes_magazines\internal\shotgun.dm"
-#include "code\modules\projectiles\boxes_magazines\internal\toy.dm"
-#include "code\modules\projectiles\guns\ballistic.dm"
-#include "code\modules\projectiles\guns\energy.dm"
-#include "code\modules\projectiles\guns\magic.dm"
-#include "code\modules\projectiles\guns\ballistic\automatic.dm"
-#include "code\modules\projectiles\guns\ballistic\bow.dm"
-#include "code\modules\projectiles\guns\ballistic\laser_gatling.dm"
-#include "code\modules\projectiles\guns\ballistic\launchers.dm"
-#include "code\modules\projectiles\guns\ballistic\magweapon.dm"
-#include "code\modules\projectiles\guns\ballistic\pistol.dm"
-#include "code\modules\projectiles\guns\ballistic\revolver.dm"
-#include "code\modules\projectiles\guns\ballistic\shotgun.dm"
-#include "code\modules\projectiles\guns\ballistic\toy.dm"
-#include "code\modules\projectiles\guns\energy\dueling.dm"
-#include "code\modules\projectiles\guns\energy\energy_gun.dm"
-#include "code\modules\projectiles\guns\energy\kinetic_accelerator.dm"
-#include "code\modules\projectiles\guns\energy\laser.dm"
-#include "code\modules\projectiles\guns\energy\megabuster.dm"
-#include "code\modules\projectiles\guns\energy\mounted.dm"
-#include "code\modules\projectiles\guns\energy\plasma_cit.dm"
-#include "code\modules\projectiles\guns\energy\pulse.dm"
-#include "code\modules\projectiles\guns\energy\special.dm"
-#include "code\modules\projectiles\guns\energy\stun.dm"
-#include "code\modules\projectiles\guns\magic\staff.dm"
-#include "code\modules\projectiles\guns\magic\wand.dm"
-#include "code\modules\projectiles\guns\misc\beam_rifle.dm"
-#include "code\modules\projectiles\guns\misc\blastcannon.dm"
-#include "code\modules\projectiles\guns\misc\chem_gun.dm"
-#include "code\modules\projectiles\guns\misc\grenade_launcher.dm"
-#include "code\modules\projectiles\guns\misc\medbeam.dm"
-#include "code\modules\projectiles\guns\misc\syringe_gun.dm"
-#include "code\modules\projectiles\projectile\beams.dm"
-#include "code\modules\projectiles\projectile\bullets.dm"
-#include "code\modules\projectiles\projectile\magic.dm"
-#include "code\modules\projectiles\projectile\megabuster.dm"
-#include "code\modules\projectiles\projectile\plasma.dm"
-#include "code\modules\projectiles\projectile\bullets\_incendiary.dm"
-#include "code\modules\projectiles\projectile\bullets\dart_syringe.dm"
-#include "code\modules\projectiles\projectile\bullets\dnainjector.dm"
-#include "code\modules\projectiles\projectile\bullets\ferromagnetic.dm"
-#include "code\modules\projectiles\projectile\bullets\grenade.dm"
-#include "code\modules\projectiles\projectile\bullets\lmg.dm"
-#include "code\modules\projectiles\projectile\bullets\pistol.dm"
-#include "code\modules\projectiles\projectile\bullets\revolver.dm"
-#include "code\modules\projectiles\projectile\bullets\rifle.dm"
-#include "code\modules\projectiles\projectile\bullets\shotgun.dm"
-#include "code\modules\projectiles\projectile\bullets\smg.dm"
-#include "code\modules\projectiles\projectile\bullets\sniper.dm"
-#include "code\modules\projectiles\projectile\bullets\special.dm"
-#include "code\modules\projectiles\projectile\energy\_energy.dm"
-#include "code\modules\projectiles\projectile\energy\ebow.dm"
-#include "code\modules\projectiles\projectile\energy\misc.dm"
-#include "code\modules\projectiles\projectile\energy\net_snare.dm"
-#include "code\modules\projectiles\projectile\energy\nuclear_particle.dm"
-#include "code\modules\projectiles\projectile\energy\stun.dm"
-#include "code\modules\projectiles\projectile\energy\tesla.dm"
-#include "code\modules\projectiles\projectile\magic\spellcard.dm"
-#include "code\modules\projectiles\projectile\reusable\_reusable.dm"
-#include "code\modules\projectiles\projectile\reusable\arrow.dm"
-#include "code\modules\projectiles\projectile\reusable\foam_dart.dm"
-#include "code\modules\projectiles\projectile\reusable\magspear.dm"
-#include "code\modules\projectiles\projectile\special\curse.dm"
-#include "code\modules\projectiles\projectile\special\floral.dm"
-#include "code\modules\projectiles\projectile\special\gravity.dm"
-#include "code\modules\projectiles\projectile\special\hallucination.dm"
-#include "code\modules\projectiles\projectile\special\ion.dm"
-#include "code\modules\projectiles\projectile\special\meteor.dm"
-#include "code\modules\projectiles\projectile\special\mindflayer.dm"
-#include "code\modules\projectiles\projectile\special\neurotoxin.dm"
-#include "code\modules\projectiles\projectile\special\plasma.dm"
-#include "code\modules\projectiles\projectile\special\rocket.dm"
-#include "code\modules\projectiles\projectile\special\temperature.dm"
-#include "code\modules\projectiles\projectile\special\wormhole.dm"
-#include "code\modules\reagents\chem_splash.dm"
-#include "code\modules\reagents\chem_wiki_render.dm"
-#include "code\modules\reagents\reagent_containers.dm"
-#include "code\modules\reagents\reagent_dispenser.dm"
-#include "code\modules\reagents\chemistry\colors.dm"
-#include "code\modules\reagents\chemistry\holder.dm"
-#include "code\modules\reagents\chemistry\reagents.dm"
-#include "code\modules\reagents\chemistry\recipes.dm"
-#include "code\modules\reagents\chemistry\machinery\chem_dispenser.dm"
-#include "code\modules\reagents\chemistry\machinery\chem_heater.dm"
-#include "code\modules\reagents\chemistry\machinery\chem_master.dm"
-#include "code\modules\reagents\chemistry\machinery\chem_synthesizer.dm"
-#include "code\modules\reagents\chemistry\machinery\pandemic.dm"
-#include "code\modules\reagents\chemistry\machinery\reagentgrinder.dm"
-#include "code\modules\reagents\chemistry\machinery\smoke_machine.dm"
-#include "code\modules\reagents\chemistry\reagents\alcohol_reagents.dm"
-#include "code\modules\reagents\chemistry\reagents\blob_reagents.dm"
-#include "code\modules\reagents\chemistry\reagents\drink_reagents.dm"
-#include "code\modules\reagents\chemistry\reagents\drug_reagents.dm"
-#include "code\modules\reagents\chemistry\reagents\food_reagents.dm"
-#include "code\modules\reagents\chemistry\reagents\impure_reagents.dm"
-#include "code\modules\reagents\chemistry\reagents\medicine_reagents.dm"
-#include "code\modules\reagents\chemistry\reagents\other_reagents.dm"
-#include "code\modules\reagents\chemistry\reagents\pyrotechnic_reagents.dm"
-#include "code\modules\reagents\chemistry\reagents\toxin_reagents.dm"
-#include "code\modules\reagents\chemistry\recipes\drugs.dm"
-#include "code\modules\reagents\chemistry\recipes\medicine.dm"
-#include "code\modules\reagents\chemistry\recipes\others.dm"
-#include "code\modules\reagents\chemistry\recipes\pyrotechnics.dm"
-#include "code\modules\reagents\chemistry\recipes\slime_extracts.dm"
-#include "code\modules\reagents\chemistry\recipes\special.dm"
-#include "code\modules\reagents\chemistry\recipes\toxins.dm"
-#include "code\modules\reagents\reagent_containers\blood_pack.dm"
-#include "code\modules\reagents\reagent_containers\borghydro.dm"
-#include "code\modules\reagents\reagent_containers\bottle.dm"
-#include "code\modules\reagents\reagent_containers\dropper.dm"
-#include "code\modules\reagents\reagent_containers\glass.dm"
-#include "code\modules\reagents\reagent_containers\hypospray.dm"
-#include "code\modules\reagents\reagent_containers\hypovial.dm"
-#include "code\modules\reagents\reagent_containers\medspray.dm"
-#include "code\modules\reagents\reagent_containers\patch.dm"
-#include "code\modules\reagents\reagent_containers\pill.dm"
-#include "code\modules\reagents\reagent_containers\rags.dm"
-#include "code\modules\reagents\reagent_containers\sleeper_buffer.dm"
-#include "code\modules\reagents\reagent_containers\spray.dm"
-#include "code\modules\reagents\reagent_containers\syringes.dm"
-#include "code\modules\recycling\conveyor2.dm"
-#include "code\modules\recycling\sortingmachinery.dm"
-#include "code\modules\recycling\disposal\bin.dm"
-#include "code\modules\recycling\disposal\construction.dm"
-#include "code\modules\recycling\disposal\eject.dm"
-#include "code\modules\recycling\disposal\holder.dm"
-#include "code\modules\recycling\disposal\multiz.dm"
-#include "code\modules\recycling\disposal\outlet.dm"
-#include "code\modules\recycling\disposal\pipe.dm"
-#include "code\modules\recycling\disposal\pipe_sorting.dm"
-#include "code\modules\research\designs.dm"
-#include "code\modules\research\destructive_analyzer.dm"
-#include "code\modules\research\experimentor.dm"
-#include "code\modules\research\rdconsole.dm"
-#include "code\modules\research\rdmachines.dm"
-#include "code\modules\research\research_disk.dm"
-#include "code\modules\research\server.dm"
-#include "code\modules\research\stock_parts.dm"
-#include "code\modules\research\designs\AI_module_designs.dm"
-#include "code\modules\research\designs\autobotter_designs.dm"
-#include "code\modules\research\designs\autoylathe_designs.dm"
-#include "code\modules\research\designs\biogenerator_designs.dm"
-#include "code\modules\research\designs\bluespace_designs.dm"
-#include "code\modules\research\designs\computer_part_designs.dm"
-#include "code\modules\research\designs\electronics_designs.dm"
-#include "code\modules\research\designs\equipment_designs.dm"
-#include "code\modules\research\designs\limbgrower_designs.dm"
-#include "code\modules\research\designs\mecha_designs.dm"
-#include "code\modules\research\designs\mechfabricator_designs.dm"
-#include "code\modules\research\designs\medical_designs.dm"
-#include "code\modules\research\designs\mining_designs.dm"
-#include "code\modules\research\designs\misc_designs.dm"
-#include "code\modules\research\designs\nanite_designs.dm"
-#include "code\modules\research\designs\power_designs.dm"
-#include "code\modules\research\designs\smelting_designs.dm"
-#include "code\modules\research\designs\stock_parts_designs.dm"
-#include "code\modules\research\designs\telecomms_designs.dm"
-#include "code\modules\research\designs\tool_designs.dm"
-#include "code\modules\research\designs\weapon_designs.dm"
-#include "code\modules\research\designs\autolathe_desings\autolathe_designs_construction.dm"
-#include "code\modules\research\designs\autolathe_desings\autolathe_designs_electronics.dm"
-#include "code\modules\research\designs\autolathe_desings\autolathe_designs_medical_and_dinnerware.dm"
-#include "code\modules\research\designs\autolathe_desings\autolathe_designs_sec_and_hacked.dm"
-#include "code\modules\research\designs\autolathe_desings\autolathe_designs_tcomms_and_misc.dm"
-#include "code\modules\research\designs\autolathe_desings\autolathe_designs_tools.dm"
-#include "code\modules\research\designs\comp_board_designs\comp_board_designs_all_misc.dm"
-#include "code\modules\research\designs\comp_board_designs\comp_board_designs_cargo.dm"
-#include "code\modules\research\designs\comp_board_designs\comp_board_designs_engi.dm"
-#include "code\modules\research\designs\comp_board_designs\comp_board_designs_medical.dm"
-#include "code\modules\research\designs\comp_board_designs\comp_board_designs_sci.dm"
-#include "code\modules\research\designs\comp_board_designs\comp_board_designs_sec.dm"
-#include "code\modules\research\designs\machine_desings\machine_designs_all_misc.dm"
-#include "code\modules\research\designs\machine_desings\machine_designs_cargo.dm"
-#include "code\modules\research\designs\machine_desings\machine_designs_engi.dm"
-#include "code\modules\research\designs\machine_desings\machine_designs_medical.dm"
-#include "code\modules\research\designs\machine_desings\machine_designs_sci.dm"
-#include "code\modules\research\designs\machine_desings\machine_designs_service.dm"
-#include "code\modules\research\machinery\_production.dm"
-#include "code\modules\research\machinery\circuit_imprinter.dm"
-#include "code\modules\research\machinery\departmental_circuit_imprinter.dm"
-#include "code\modules\research\machinery\departmental_protolathe.dm"
-#include "code\modules\research\machinery\departmental_techfab.dm"
-#include "code\modules\research\machinery\protolathe.dm"
-#include "code\modules\research\machinery\techfab.dm"
-#include "code\modules\research\nanites\nanite_chamber.dm"
-#include "code\modules\research\nanites\nanite_chamber_computer.dm"
-#include "code\modules\research\nanites\nanite_cloud_controller.dm"
-#include "code\modules\research\nanites\nanite_misc_items.dm"
-#include "code\modules\research\nanites\nanite_program_hub.dm"
-#include "code\modules\research\nanites\nanite_programmer.dm"
-#include "code\modules\research\nanites\nanite_programs.dm"
-#include "code\modules\research\nanites\nanite_remote.dm"
-#include "code\modules\research\nanites\program_disks.dm"
-#include "code\modules\research\nanites\public_chamber.dm"
-#include "code\modules\research\nanites\rules.dm"
-#include "code\modules\research\nanites\extra_settings\_extra_setting.dm"
-#include "code\modules\research\nanites\extra_settings\boolean.dm"
-#include "code\modules\research\nanites\extra_settings\number.dm"
-#include "code\modules\research\nanites\extra_settings\text.dm"
-#include "code\modules\research\nanites\extra_settings\type.dm"
-#include "code\modules\research\nanites\nanite_programs\buffing.dm"
-#include "code\modules\research\nanites\nanite_programs\healing.dm"
-#include "code\modules\research\nanites\nanite_programs\rogue.dm"
-#include "code\modules\research\nanites\nanite_programs\sensor.dm"
-#include "code\modules\research\nanites\nanite_programs\suppression.dm"
-#include "code\modules\research\nanites\nanite_programs\utility.dm"
-#include "code\modules\research\nanites\nanite_programs\weapon.dm"
-#include "code\modules\research\techweb\__techweb_helpers.dm"
-#include "code\modules\research\techweb\_techweb.dm"
-#include "code\modules\research\techweb\_techweb_node.dm"
-#include "code\modules\research\techweb\all_nodes.dm"
-#include "code\modules\research\xenobiology\xenobio_camera.dm"
-#include "code\modules\research\xenobiology\xenobiology.dm"
-#include "code\modules\research\xenobiology\crossbreeding\__corecross.dm"
-#include "code\modules\research\xenobiology\crossbreeding\_clothing.dm"
-#include "code\modules\research\xenobiology\crossbreeding\_misc.dm"
-#include "code\modules\research\xenobiology\crossbreeding\_mobs.dm"
-#include "code\modules\research\xenobiology\crossbreeding\_status_effects.dm"
-#include "code\modules\research\xenobiology\crossbreeding\_weapons.dm"
-#include "code\modules\research\xenobiology\crossbreeding\burning.dm"
-#include "code\modules\research\xenobiology\crossbreeding\charged.dm"
-#include "code\modules\research\xenobiology\crossbreeding\chilling.dm"
-#include "code\modules\research\xenobiology\crossbreeding\consuming.dm"
-#include "code\modules\research\xenobiology\crossbreeding\industrial.dm"
-#include "code\modules\research\xenobiology\crossbreeding\prismatic.dm"
-#include "code\modules\research\xenobiology\crossbreeding\recurring.dm"
-#include "code\modules\research\xenobiology\crossbreeding\regenerative.dm"
-#include "code\modules\research\xenobiology\crossbreeding\reproductive.dm"
-#include "code\modules\research\xenobiology\crossbreeding\selfsustaining.dm"
-#include "code\modules\research\xenobiology\crossbreeding\stabilized.dm"
-#include "code\modules\ruins\lavaland_ruin_code.dm"
-#include "code\modules\ruins\lavalandruin_code\alien_nest.dm"
-#include "code\modules\ruins\lavalandruin_code\biodome_clown_planet.dm"
-#include "code\modules\ruins\lavalandruin_code\pizzaparty.dm"
-#include "code\modules\ruins\lavalandruin_code\puzzle.dm"
-#include "code\modules\ruins\lavalandruin_code\sloth.dm"
-#include "code\modules\ruins\lavalandruin_code\surface.dm"
-#include "code\modules\ruins\lavalandruin_code\syndicate_base.dm"
-#include "code\modules\ruins\objects_and_mobs\ash_walker_den.dm"
-#include "code\modules\ruins\objects_and_mobs\necropolis_gate.dm"
-#include "code\modules\ruins\objects_and_mobs\sin_ruins.dm"
-#include "code\modules\ruins\spaceruin_code\asteroid4.dm"
-#include "code\modules\ruins\spaceruin_code\bigderelict1.dm"
-#include "code\modules\ruins\spaceruin_code\caravanambush.dm"
-#include "code\modules\ruins\spaceruin_code\clericsden.dm"
-#include "code\modules\ruins\spaceruin_code\cloning_lab.dm"
-#include "code\modules\ruins\spaceruin_code\crashedclownship.dm"
-#include "code\modules\ruins\spaceruin_code\crashedship.dm"
-#include "code\modules\ruins\spaceruin_code\deepstorage.dm"
-#include "code\modules\ruins\spaceruin_code\DJstation.dm"
-#include "code\modules\ruins\spaceruin_code\hilbertshotel.dm"
-#include "code\modules\ruins\spaceruin_code\listeningstation.dm"
-#include "code\modules\ruins\spaceruin_code\miracle.dm"
-#include "code\modules\ruins\spaceruin_code\oldstation.dm"
-#include "code\modules\ruins\spaceruin_code\originalcontent.dm"
-#include "code\modules\ruins\spaceruin_code\spacehotel.dm"
-#include "code\modules\ruins\spaceruin_code\TheDerelict.dm"
-#include "code\modules\ruins\spaceruin_code\whiteshipruin_box.dm"
-#include "code\modules\security_levels\keycard_authentication.dm"
-#include "code\modules\security_levels\security_levels.dm"
-#include "code\modules\shuttle\arrivals.dm"
-#include "code\modules\shuttle\assault_pod.dm"
-#include "code\modules\shuttle\computer.dm"
-#include "code\modules\shuttle\docking.dm"
-#include "code\modules\shuttle\elevator.dm"
-#include "code\modules\shuttle\emergency.dm"
-#include "code\modules\shuttle\ferry.dm"
-#include "code\modules\shuttle\manipulator.dm"
-#include "code\modules\shuttle\monastery.dm"
-#include "code\modules\shuttle\navigation_computer.dm"
-#include "code\modules\shuttle\on_move.dm"
-#include "code\modules\shuttle\ripple.dm"
-#include "code\modules\shuttle\shuttle.dm"
-#include "code\modules\shuttle\shuttle_rotate.dm"
-#include "code\modules\shuttle\special.dm"
-#include "code\modules\shuttle\supply.dm"
-#include "code\modules\shuttle\syndicate.dm"
-#include "code\modules\shuttle\white_ship.dm"
-#include "code\modules\spells\spell.dm"
-#include "code\modules\spells\spell_types\aimed.dm"
-#include "code\modules\spells\spell_types\area_teleport.dm"
-#include "code\modules\spells\spell_types\barnyard.dm"
-#include "code\modules\spells\spell_types\bloodcrawl.dm"
-#include "code\modules\spells\spell_types\charge.dm"
-#include "code\modules\spells\spell_types\conjure.dm"
-#include "code\modules\spells\spell_types\construct_spells.dm"
-#include "code\modules\spells\spell_types\devil.dm"
-#include "code\modules\spells\spell_types\devil_boons.dm"
-#include "code\modules\spells\spell_types\dumbfire.dm"
-#include "code\modules\spells\spell_types\emplosion.dm"
-#include "code\modules\spells\spell_types\ethereal_jaunt.dm"
-#include "code\modules\spells\spell_types\explosion.dm"
-#include "code\modules\spells\spell_types\forcewall.dm"
-#include "code\modules\spells\spell_types\genetic.dm"
-#include "code\modules\spells\spell_types\godhand.dm"
-#include "code\modules\spells\spell_types\infinite_guns.dm"
-#include "code\modules\spells\spell_types\inflict_handler.dm"
-#include "code\modules\spells\spell_types\knock.dm"
-#include "code\modules\spells\spell_types\lichdom.dm"
-#include "code\modules\spells\spell_types\lightning.dm"
-#include "code\modules\spells\spell_types\mime.dm"
-#include "code\modules\spells\spell_types\mind_transfer.dm"
-#include "code\modules\spells\spell_types\projectile.dm"
-#include "code\modules\spells\spell_types\rightandwrong.dm"
-#include "code\modules\spells\spell_types\rod_form.dm"
-#include "code\modules\spells\spell_types\santa.dm"
-#include "code\modules\spells\spell_types\shadow_walk.dm"
-#include "code\modules\spells\spell_types\shapeshift.dm"
-#include "code\modules\spells\spell_types\spacetime_distortion.dm"
-#include "code\modules\spells\spell_types\summonitem.dm"
-#include "code\modules\spells\spell_types\taeclowndo.dm"
-#include "code\modules\spells\spell_types\telepathy.dm"
-#include "code\modules\spells\spell_types\the_traps.dm"
-#include "code\modules\spells\spell_types\touch_attacks.dm"
-#include "code\modules\spells\spell_types\trigger.dm"
-#include "code\modules\spells\spell_types\turf_teleport.dm"
-#include "code\modules\spells\spell_types\voice_of_god.dm"
-#include "code\modules\spells\spell_types\wizard.dm"
-#include "code\modules\station_goals\bsa.dm"
-#include "code\modules\station_goals\dna_vault.dm"
-#include "code\modules\station_goals\shield.dm"
-#include "code\modules\station_goals\station_goal.dm"
-#include "code\modules\surgery\amputation.dm"
-#include "code\modules\surgery\brain_surgery.dm"
-#include "code\modules\surgery\cavity_implant.dm"
-#include "code\modules\surgery\core_removal.dm"
-#include "code\modules\surgery\coronary_bypass.dm"
-#include "code\modules\surgery\dental_implant.dm"
-#include "code\modules\surgery\embalming.dm"
-#include "code\modules\surgery\emergency_cardioversion_recovery.dm"
-#include "code\modules\surgery\experimental_dissection.dm"
-#include "code\modules\surgery\eye_surgery.dm"
-#include "code\modules\surgery\graft_synthtissue.dm"
-#include "code\modules\surgery\healing.dm"
-#include "code\modules\surgery\helpers.dm"
-#include "code\modules\surgery\implant_removal.dm"
-#include "code\modules\surgery\limb_augmentation.dm"
-#include "code\modules\surgery\lipoplasty.dm"
-#include "code\modules\surgery\lobectomy.dm"
-#include "code\modules\surgery\mechanic_steps.dm"
-#include "code\modules\surgery\nutcracker.dm"
-#include "code\modules\surgery\organ_manipulation.dm"
-#include "code\modules\surgery\organic_steps.dm"
-#include "code\modules\surgery\plastic_surgery.dm"
-#include "code\modules\surgery\prosthetic_replacement.dm"
-#include "code\modules\surgery\remove_embedded_object.dm"
-#include "code\modules\surgery\surgery.dm"
-#include "code\modules\surgery\surgery_step.dm"
-#include "code\modules\surgery\tools.dm"
-#include "code\modules\surgery\advanced\brainwashing.dm"
-#include "code\modules\surgery\advanced\lobotomy.dm"
-#include "code\modules\surgery\advanced\necrotic_revival.dm"
-#include "code\modules\surgery\advanced\pacification.dm"
-#include "code\modules\surgery\advanced\revival.dm"
-#include "code\modules\surgery\advanced\toxichealing.dm"
-#include "code\modules\surgery\advanced\viral_bonding.dm"
-#include "code\modules\surgery\advanced\bioware\bioware.dm"
-#include "code\modules\surgery\advanced\bioware\bioware_surgery.dm"
-#include "code\modules\surgery\advanced\bioware\ligament_hook.dm"
-#include "code\modules\surgery\advanced\bioware\ligament_reinforcement.dm"
-#include "code\modules\surgery\advanced\bioware\muscled_veins.dm"
-#include "code\modules\surgery\advanced\bioware\nerve_grounding.dm"
-#include "code\modules\surgery\advanced\bioware\nerve_splicing.dm"
-#include "code\modules\surgery\advanced\bioware\vein_threading.dm"
-#include "code\modules\surgery\bodyparts\bodyparts.dm"
-#include "code\modules\surgery\bodyparts\dismemberment.dm"
-#include "code\modules\surgery\bodyparts\head.dm"
-#include "code\modules\surgery\bodyparts\helpers.dm"
-#include "code\modules\surgery\bodyparts\robot_bodyparts.dm"
-#include "code\modules\surgery\organs\appendix.dm"
-#include "code\modules\surgery\organs\augments_arms.dm"
-#include "code\modules\surgery\organs\augments_chest.dm"
-#include "code\modules\surgery\organs\augments_eyes.dm"
-#include "code\modules\surgery\organs\augments_internal.dm"
-#include "code\modules\surgery\organs\autosurgeon.dm"
-#include "code\modules\surgery\organs\ears.dm"
-#include "code\modules\surgery\organs\eyes.dm"
-#include "code\modules\surgery\organs\heart.dm"
-#include "code\modules\surgery\organs\helpers.dm"
-#include "code\modules\surgery\organs\liver.dm"
-#include "code\modules\surgery\organs\lungs.dm"
-#include "code\modules\surgery\organs\organ_internal.dm"
-#include "code\modules\surgery\organs\stomach.dm"
-#include "code\modules\surgery\organs\tails.dm"
-#include "code\modules\surgery\organs\tongue.dm"
-#include "code\modules\surgery\organs\vocal_cords.dm"
-#include "code\modules\tgs\includes.dm"
-#include "code\modules\tgui\external.dm"
-#include "code\modules\tgui\states.dm"
-#include "code\modules\tgui\subsystem.dm"
-#include "code\modules\tgui\tgui.dm"
-#include "code\modules\tgui\states\admin.dm"
-#include "code\modules\tgui\states\always.dm"
-#include "code\modules\tgui\states\conscious.dm"
-#include "code\modules\tgui\states\contained.dm"
-#include "code\modules\tgui\states\deep_inventory.dm"
-#include "code\modules\tgui\states\default.dm"
-#include "code\modules\tgui\states\hands.dm"
-#include "code\modules\tgui\states\human_adjacent.dm"
-#include "code\modules\tgui\states\inventory.dm"
-#include "code\modules\tgui\states\language_menu.dm"
-#include "code\modules\tgui\states\not_incapacitated.dm"
-#include "code\modules\tgui\states\notcontained.dm"
-#include "code\modules\tgui\states\observer.dm"
-#include "code\modules\tgui\states\physical.dm"
-#include "code\modules\tgui\states\self.dm"
-#include "code\modules\tgui\states\zlevel.dm"
-#include "code\modules\tooltip\tooltip.dm"
-#include "code\modules\unit_tests\_unit_tests.dm"
-#include "code\modules\uplink\uplink_devices.dm"
-#include "code\modules\uplink\uplink_items.dm"
-#include "code\modules\uplink\uplink_purchase_log.dm"
-#include "code\modules\uplink\uplink_items\uplink_ammo.dm"
-#include "code\modules\uplink\uplink_items\uplink_badass.dm"
-#include "code\modules\uplink\uplink_items\uplink_bundles.dm"
-#include "code\modules\uplink\uplink_items\uplink_clothing.dm"
-#include "code\modules\uplink\uplink_items\uplink_dangerous.dm"
-#include "code\modules\uplink\uplink_items\uplink_devices.dm"
-#include "code\modules\uplink\uplink_items\uplink_explosives.dm"
-#include "code\modules\uplink\uplink_items\uplink_implants.dm"
-#include "code\modules\uplink\uplink_items\uplink_roles.dm"
-#include "code\modules\uplink\uplink_items\uplink_stealth.dm"
-#include "code\modules\uplink\uplink_items\uplink_stealthdevices.dm"
-#include "code\modules\uplink\uplink_items\uplink_support.dm"
-#include "code\modules\vehicles\_vehicle.dm"
-#include "code\modules\vehicles\atv.dm"
-#include "code\modules\vehicles\bicycle.dm"
-#include "code\modules\vehicles\lavaboat.dm"
-#include "code\modules\vehicles\pimpin_ride.dm"
-#include "code\modules\vehicles\ridden.dm"
-#include "code\modules\vehicles\scooter.dm"
-#include "code\modules\vehicles\sealed.dm"
-#include "code\modules\vehicles\secway.dm"
-#include "code\modules\vehicles\speedbike.dm"
-#include "code\modules\vehicles\vehicle_actions.dm"
-#include "code\modules\vehicles\vehicle_key.dm"
-#include "code\modules\vehicles\wheelchair.dm"
-#include "code\modules\vehicles\cars\car.dm"
-#include "code\modules\vehicles\cars\clowncar.dm"
-#include "code\modules\vending\_vending.dm"
-#include "code\modules\vending\assist.dm"
-#include "code\modules\vending\autodrobe.dm"
-#include "code\modules\vending\boozeomat.dm"
-#include "code\modules\vending\cartridge.dm"
-#include "code\modules\vending\cigarette.dm"
-#include "code\modules\vending\clothesmate.dm"
-#include "code\modules\vending\coffee.dm"
-#include "code\modules\vending\cola.dm"
-#include "code\modules\vending\drinnerware.dm"
-#include "code\modules\vending\engineering.dm"
-#include "code\modules\vending\engivend.dm"
-#include "code\modules\vending\games.dm"
-#include "code\modules\vending\kinkmate.dm"
-#include "code\modules\vending\liberation.dm"
-#include "code\modules\vending\liberation_toy.dm"
-#include "code\modules\vending\magivend.dm"
-#include "code\modules\vending\medical.dm"
-#include "code\modules\vending\medical_wall.dm"
-#include "code\modules\vending\megaseed.dm"
-#include "code\modules\vending\nutrimax.dm"
-#include "code\modules\vending\plasmaresearch.dm"
-#include "code\modules\vending\robotics.dm"
-#include "code\modules\vending\security.dm"
-#include "code\modules\vending\snack.dm"
-#include "code\modules\vending\sovietsoda.dm"
-#include "code\modules\vending\sovietvend.dm"
-#include "code\modules\vending\sustenance.dm"
-#include "code\modules\vending\toys.dm"
-#include "code\modules\vending\wardrobes.dm"
-#include "code\modules\vending\youtool.dm"
-#include "code\modules\vore\hook-defs.dm"
-#include "code\modules\vore\persistence.dm"
-#include "code\modules\vore\trycatch.dm"
-#include "code\modules\vore\eating\belly_dat_vr.dm"
-#include "code\modules\vore\eating\belly_obj.dm"
-#include "code\modules\vore\eating\bellymodes.dm"
-#include "code\modules\vore\eating\digest_act.dm"
-#include "code\modules\vore\eating\living.dm"
-#include "code\modules\vore\eating\vore.dm"
-#include "code\modules\vore\eating\voreitems.dm"
-#include "code\modules\vore\eating\vorepanel.dm"
-#include "code\modules\VR\vr_mob.dm"
-#include "code\modules\VR\vr_sleeper.dm"
-#include "code\modules\zombie\items.dm"
-#include "code\modules\zombie\organs.dm"
-#include "interface\interface.dm"
-#include "interface\menu.dm"
-#include "interface\stylesheet.dm"
-#include "modular_citadel\code\__HELPERS\list2list.dm"
-#include "modular_citadel\code\__HELPERS\lists.dm"
-#include "modular_citadel\code\__HELPERS\mobs.dm"
-#include "modular_citadel\code\_onclick\click.dm"
-#include "modular_citadel\code\_onclick\item_attack.dm"
-#include "modular_citadel\code\_onclick\other_mobs.dm"
-#include "modular_citadel\code\_onclick\hud\screen_objects.dm"
-#include "modular_citadel\code\_onclick\hud\sprint.dm"
-#include "modular_citadel\code\_onclick\hud\stamina.dm"
-#include "modular_citadel\code\datums\components\souldeath.dm"
-#include "modular_citadel\code\datums\status_effects\chems.dm"
-#include "modular_citadel\code\game\machinery\wishgranter.dm"
-#include "modular_citadel\code\game\objects\cit_screenshake.dm"
-#include "modular_citadel\code\game\objects\effects\temporary_visuals\souldeath.dm"
-#include "modular_citadel\code\modules\admin\chat_commands.dm"
-#include "modular_citadel\code\modules\admin\holder2.dm"
-#include "modular_citadel\code\modules\admin\secrets.dm"
-#include "modular_citadel\code\modules\arousal\arousal.dm"
-#include "modular_citadel\code\modules\arousal\genitals.dm"
-#include "modular_citadel\code\modules\arousal\genitals_sprite_accessories.dm"
-#include "modular_citadel\code\modules\arousal\organs\breasts.dm"
-#include "modular_citadel\code\modules\arousal\organs\eggsack.dm"
-#include "modular_citadel\code\modules\arousal\organs\ovipositor.dm"
-#include "modular_citadel\code\modules\arousal\organs\penis.dm"
-#include "modular_citadel\code\modules\arousal\organs\testicles.dm"
-#include "modular_citadel\code\modules\arousal\organs\vagina.dm"
-#include "modular_citadel\code\modules\arousal\organs\womb.dm"
-#include "modular_citadel\code\modules\arousal\toys\dildos.dm"
-#include "modular_citadel\code\modules\client\client_defines.dm"
-#include "modular_citadel\code\modules\client\client_procs.dm"
-#include "modular_citadel\code\modules\client\preferences.dm"
-#include "modular_citadel\code\modules\client\preferences_savefile.dm"
-#include "modular_citadel\code\modules\client\preferences_toggles.dm"
-#include "modular_citadel\code\modules\client\loadout\__donator.dm"
-#include "modular_citadel\code\modules\client\loadout\_loadout.dm"
-#include "modular_citadel\code\modules\client\loadout\_medical.dm"
-#include "modular_citadel\code\modules\client\loadout\_security.dm"
-#include "modular_citadel\code\modules\client\loadout\_service.dm"
-#include "modular_citadel\code\modules\client\loadout\backpack.dm"
-#include "modular_citadel\code\modules\client\loadout\glasses.dm"
-#include "modular_citadel\code\modules\client\loadout\gloves.dm"
-#include "modular_citadel\code\modules\client\loadout\hands.dm"
-#include "modular_citadel\code\modules\client\loadout\head.dm"
-#include "modular_citadel\code\modules\client\loadout\mask.dm"
-#include "modular_citadel\code\modules\client\loadout\neck.dm"
-#include "modular_citadel\code\modules\client\loadout\shoes.dm"
-#include "modular_citadel\code\modules\client\loadout\suit.dm"
-#include "modular_citadel\code\modules\client\loadout\uniform.dm"
-#include "modular_citadel\code\modules\client\verbs\who.dm"
-#include "modular_citadel\code\modules\clothing\neck.dm"
-#include "modular_citadel\code\modules\clothing\spacesuits\flightsuit.dm"
-#include "modular_citadel\code\modules\clothing\suits\polychromic_cloaks.dm"
-#include "modular_citadel\code\modules\clothing\suits\suits.dm"
-#include "modular_citadel\code\modules\clothing\under\trek_under.dm"
-#include "modular_citadel\code\modules\clothing\under\turtlenecks.dm"
-#include "modular_citadel\code\modules\clothing\under\under.dm"
-#include "modular_citadel\code\modules\custom_loadout\custom_items.dm"
-#include "modular_citadel\code\modules\custom_loadout\load_to_mob.dm"
-#include "modular_citadel\code\modules\custom_loadout\read_from_file.dm"
-#include "modular_citadel\code\modules\mentor\follow.dm"
-#include "modular_citadel\code\modules\mentor\mentor.dm"
-#include "modular_citadel\code\modules\mentor\mentor_memo.dm"
-#include "modular_citadel\code\modules\mentor\mentor_verbs.dm"
-#include "modular_citadel\code\modules\mentor\mentorhelp.dm"
-#include "modular_citadel\code\modules\mentor\mentorpm.dm"
-#include "modular_citadel\code\modules\mentor\mentorsay.dm"
-#include "modular_citadel\code\modules\mob\cit_emotes.dm"
-#include "modular_citadel\code\modules\mob\living\damage_procs.dm"
-#include "modular_citadel\code\modules\mob\living\living.dm"
-#include "modular_citadel\code\modules\mob\living\carbon\carbon.dm"
-#include "modular_citadel\code\modules\mob\living\carbon\damage_procs.dm"
-#include "modular_citadel\code\modules\mob\living\carbon\life.dm"
-#include "modular_citadel\code\modules\mob\living\carbon\reindex_screams.dm"
-#include "modular_citadel\code\modules\mob\living\carbon\human\human.dm"
-#include "modular_citadel\code\modules\mob\living\carbon\human\human_defense.dm"
-#include "modular_citadel\code\modules\mob\living\carbon\human\human_movement.dm"
-#include "modular_citadel\code\modules\mob\living\silicon\robot\dogborg_equipment.dm"
-#include "modular_citadel\code\modules\mob\living\silicon\robot\robot_movement.dm"
-#include "modular_citadel\code\modules\projectiles\gun.dm"
-#include "modular_citadel\code\modules\projectiles\ammunition\caseless.dm"
-#include "modular_citadel\code\modules\projectiles\ammunition\ballistic\smg\smg.dm"
-#include "modular_citadel\code\modules\projectiles\boxes_magazines\ammo_boxes.dm"
-#include "modular_citadel\code\modules\projectiles\boxes_magazines\external\pistol.dm"
-#include "modular_citadel\code\modules\projectiles\boxes_magazines\external\smg\smg.dm"
-#include "modular_citadel\code\modules\projectiles\bullets\bullets\smg.dm"
-#include "modular_citadel\code\modules\projectiles\guns\pumpenergy.dm"
-#include "modular_citadel\code\modules\projectiles\guns\toys.dm"
-#include "modular_citadel\code\modules\projectiles\guns\ballistic\handguns.dm"
-#include "modular_citadel\code\modules\projectiles\guns\ballistic\rifles.dm"
-#include "modular_citadel\code\modules\projectiles\guns\ballistic\spinfusor.dm"
-#include "modular_citadel\code\modules\projectiles\guns\energy\energy_gun.dm"
-#include "modular_citadel\code\modules\projectiles\projectiles\reusable.dm"
-#include "modular_citadel\code\modules\reagents\chemistry\reagents\astrogen.dm"
-#include "modular_citadel\code\modules\reagents\chemistry\reagents\eigentstasium.dm"
-#include "modular_citadel\code\modules\reagents\chemistry\reagents\enlargement.dm"
-#include "modular_citadel\code\modules\reagents\chemistry\reagents\fermi_reagents.dm"
-#include "modular_citadel\code\modules\reagents\chemistry\reagents\healing.dm"
-#include "modular_citadel\code\modules\reagents\chemistry\reagents\MKUltra.dm"
-#include "modular_citadel\code\modules\reagents\chemistry\reagents\other_reagents.dm"
-#include "modular_citadel\code\modules\reagents\chemistry\reagents\SDGF.dm"
-#include "modular_citadel\code\modules\reagents\chemistry\recipes\fermi.dm"
-#include "modular_citadel\code\modules\reagents\objects\clothes.dm"
-#include "modular_citadel\code\modules\reagents\objects\items.dm"
-#include "modular_citadel\code\modules\reagents\reagents\cit_reagents.dm"
-#include "modular_citadel\interface\skin.dmf"
-// END_INCLUDE
+
+// DM Environment file for tgstation.dme.
+// All manual changes should be made outside the BEGIN_ and END_ blocks.
+// New source code should be placed in .dm files: choose File/New --> Code File.
+// BEGIN_INTERNALS
+// END_INTERNALS
+
+// BEGIN_FILE_DIR
+#define FILE_DIR .
+// END_FILE_DIR
+
+// BEGIN_PREFERENCES
+#define DEBUG
+// END_PREFERENCES
+
+// BEGIN_INCLUDE
+#include "_maps\_basemap.dm"
+#include "code\_compile_options.dm"
+#include "code\world.dm"
+#include "code\__DEFINES\__513_compatibility.dm"
+#include "code\__DEFINES\_globals.dm"
+#include "code\__DEFINES\_protect.dm"
+#include "code\__DEFINES\_tick.dm"
+#include "code\__DEFINES\access.dm"
+#include "code\__DEFINES\admin.dm"
+#include "code\__DEFINES\antagonists.dm"
+#include "code\__DEFINES\atmospherics.dm"
+#include "code\__DEFINES\atom_hud.dm"
+#include "code\__DEFINES\bsql.config.dm"
+#include "code\__DEFINES\bsql.dm"
+#include "code\__DEFINES\callbacks.dm"
+#include "code\__DEFINES\cargo.dm"
+#include "code\__DEFINES\cinematics.dm"
+#include "code\__DEFINES\citadel_defines.dm"
+#include "code\__DEFINES\cleaning.dm"
+#include "code\__DEFINES\clockcult.dm"
+#include "code\__DEFINES\colors.dm"
+#include "code\__DEFINES\combat.dm"
+#include "code\__DEFINES\components.dm"
+#include "code\__DEFINES\configuration.dm"
+#include "code\__DEFINES\construction.dm"
+#include "code\__DEFINES\contracts.dm"
+#include "code\__DEFINES\cult.dm"
+#include "code\__DEFINES\diseases.dm"
+#include "code\__DEFINES\DNA.dm"
+#include "code\__DEFINES\donator_groupings.dm"
+#include "code\__DEFINES\dynamic.dm"
+#include "code\__DEFINES\events.dm"
+#include "code\__DEFINES\exports.dm"
+#include "code\__DEFINES\fantasy_affixes.dm"
+#include "code\__DEFINES\flags.dm"
+#include "code\__DEFINES\food.dm"
+#include "code\__DEFINES\footsteps.dm"
+#include "code\__DEFINES\hud.dm"
+#include "code\__DEFINES\integrated_electronics.dm"
+#include "code\__DEFINES\interaction_flags.dm"
+#include "code\__DEFINES\inventory.dm"
+#include "code\__DEFINES\is_helpers.dm"
+#include "code\__DEFINES\jobs.dm"
+#include "code\__DEFINES\language.dm"
+#include "code\__DEFINES\layers.dm"
+#include "code\__DEFINES\lighting.dm"
+#include "code\__DEFINES\logging.dm"
+#include "code\__DEFINES\machines.dm"
+#include "code\__DEFINES\maps.dm"
+#include "code\__DEFINES\materials.dm"
+#include "code\__DEFINES\maths.dm"
+#include "code\__DEFINES\MC.dm"
+#include "code\__DEFINES\medal.dm"
+#include "code\__DEFINES\melee.dm"
+#include "code\__DEFINES\menu.dm"
+#include "code\__DEFINES\misc.dm"
+#include "code\__DEFINES\mobs.dm"
+#include "code\__DEFINES\monkeys.dm"
+#include "code\__DEFINES\move_force.dm"
+#include "code\__DEFINES\movespeed_modification.dm"
+#include "code\__DEFINES\nanites.dm"
+#include "code\__DEFINES\networks.dm"
+#include "code\__DEFINES\obj_flags.dm"
+#include "code\__DEFINES\pinpointers.dm"
+#include "code\__DEFINES\pipe_construction.dm"
+#include "code\__DEFINES\pool.dm"
+#include "code\__DEFINES\power.dm"
+#include "code\__DEFINES\preferences.dm"
+#include "code\__DEFINES\procpath.dm"
+#include "code\__DEFINES\profile.dm"
+#include "code\__DEFINES\qdel.dm"
+#include "code\__DEFINES\radiation.dm"
+#include "code\__DEFINES\radio.dm"
+#include "code\__DEFINES\reactions.dm"
+#include "code\__DEFINES\reagents.dm"
+#include "code\__DEFINES\reagents_specific_heat.dm"
+#include "code\__DEFINES\research.dm"
+#include "code\__DEFINES\robots.dm"
+#include "code\__DEFINES\role_preferences.dm"
+#include "code\__DEFINES\rust_g.config.dm"
+#include "code\__DEFINES\rust_g.dm"
+#include "code\__DEFINES\say.dm"
+#include "code\__DEFINES\shuttles.dm"
+#include "code\__DEFINES\sight.dm"
+#include "code\__DEFINES\sound.dm"
+#include "code\__DEFINES\spaceman_dmm.dm"
+#include "code\__DEFINES\stat.dm"
+#include "code\__DEFINES\stat_tracking.dm"
+#include "code\__DEFINES\status_effects.dm"
+#include "code\__DEFINES\subsystems.dm"
+#include "code\__DEFINES\tgs.config.dm"
+#include "code\__DEFINES\tgs.dm"
+#include "code\__DEFINES\tgui.dm"
+#include "code\__DEFINES\time.dm"
+#include "code\__DEFINES\tools.dm"
+#include "code\__DEFINES\traits.dm"
+#include "code\__DEFINES\turf_flags.dm"
+#include "code\__DEFINES\typeids.dm"
+#include "code\__DEFINES\vehicles.dm"
+#include "code\__DEFINES\voreconstants.dm"
+#include "code\__DEFINES\vote.dm"
+#include "code\__DEFINES\vv.dm"
+#include "code\__DEFINES\wall_dents.dm"
+#include "code\__DEFINES\wires.dm"
+#include "code\__HELPERS\_cit_helpers.dm"
+#include "code\__HELPERS\_lists.dm"
+#include "code\__HELPERS\_logging.dm"
+#include "code\__HELPERS\_string_lists.dm"
+#include "code\__HELPERS\areas.dm"
+#include "code\__HELPERS\AStar.dm"
+#include "code\__HELPERS\cmp.dm"
+#include "code\__HELPERS\custom_holoforms.dm"
+#include "code\__HELPERS\dates.dm"
+#include "code\__HELPERS\donator_groupings.dm"
+#include "code\__HELPERS\files.dm"
+#include "code\__HELPERS\game.dm"
+#include "code\__HELPERS\global_lists.dm"
+#include "code\__HELPERS\heap.dm"
+#include "code\__HELPERS\icon_smoothing.dm"
+#include "code\__HELPERS\icons.dm"
+#include "code\__HELPERS\level_traits.dm"
+#include "code\__HELPERS\matrices.dm"
+#include "code\__HELPERS\mobs.dm"
+#include "code\__HELPERS\mouse_control.dm"
+#include "code\__HELPERS\names.dm"
+#include "code\__HELPERS\priority_announce.dm"
+#include "code\__HELPERS\pronouns.dm"
+#include "code\__HELPERS\qdel.dm"
+#include "code\__HELPERS\radiation.dm"
+#include "code\__HELPERS\radio.dm"
+#include "code\__HELPERS\reagents.dm"
+#include "code\__HELPERS\roundend.dm"
+#include "code\__HELPERS\sanitize_values.dm"
+#include "code\__HELPERS\shell.dm"
+#include "code\__HELPERS\stat_tracking.dm"
+#include "code\__HELPERS\text.dm"
+#include "code\__HELPERS\text_vr.dm"
+#include "code\__HELPERS\time.dm"
+#include "code\__HELPERS\type2type.dm"
+#include "code\__HELPERS\type2type_vr.dm"
+#include "code\__HELPERS\typelists.dm"
+#include "code\__HELPERS\unsorted.dm"
+#include "code\__HELPERS\vector.dm"
+#include "code\__HELPERS\view.dm"
+#include "code\__HELPERS\sorts\__main.dm"
+#include "code\__HELPERS\sorts\InsertSort.dm"
+#include "code\__HELPERS\sorts\MergeSort.dm"
+#include "code\__HELPERS\sorts\TimSort.dm"
+#include "code\_globalvars\bitfields.dm"
+#include "code\_globalvars\configuration.dm"
+#include "code\_globalvars\game_modes.dm"
+#include "code\_globalvars\genetics.dm"
+#include "code\_globalvars\logging.dm"
+#include "code\_globalvars\misc.dm"
+#include "code\_globalvars\regexes.dm"
+#include "code\_globalvars\lists\flavor_misc.dm"
+#include "code\_globalvars\lists\maintenance_loot.dm"
+#include "code\_globalvars\lists\mapping.dm"
+#include "code\_globalvars\lists\medals.dm"
+#include "code\_globalvars\lists\misc.dm"
+#include "code\_globalvars\lists\mobs.dm"
+#include "code\_globalvars\lists\names.dm"
+#include "code\_globalvars\lists\objects.dm"
+#include "code\_globalvars\lists\poll_ignore.dm"
+#include "code\_globalvars\lists\typecache.dm"
+#include "code\_js\byjax.dm"
+#include "code\_js\menus.dm"
+#include "code\_onclick\adjacent.dm"
+#include "code\_onclick\ai.dm"
+#include "code\_onclick\click.dm"
+#include "code\_onclick\cyborg.dm"
+#include "code\_onclick\drag_drop.dm"
+#include "code\_onclick\item_attack.dm"
+#include "code\_onclick\observer.dm"
+#include "code\_onclick\other_mobs.dm"
+#include "code\_onclick\overmind.dm"
+#include "code\_onclick\telekinesis.dm"
+#include "code\_onclick\hud\_defines.dm"
+#include "code\_onclick\hud\action_button.dm"
+#include "code\_onclick\hud\ai.dm"
+#include "code\_onclick\hud\alert.dm"
+#include "code\_onclick\hud\alien.dm"
+#include "code\_onclick\hud\alien_larva.dm"
+#include "code\_onclick\hud\blob_overmind.dm"
+#include "code\_onclick\hud\blobbernauthud.dm"
+#include "code\_onclick\hud\constructs.dm"
+#include "code\_onclick\hud\credits.dm"
+#include "code\_onclick\hud\devil.dm"
+#include "code\_onclick\hud\drones.dm"
+#include "code\_onclick\hud\fullscreen.dm"
+#include "code\_onclick\hud\generic_dextrous.dm"
+#include "code\_onclick\hud\ghost.dm"
+#include "code\_onclick\hud\guardian.dm"
+#include "code\_onclick\hud\hud.dm"
+#include "code\_onclick\hud\human.dm"
+#include "code\_onclick\hud\lavaland_elite.dm"
+#include "code\_onclick\hud\monkey.dm"
+#include "code\_onclick\hud\movable_screen_objects.dm"
+#include "code\_onclick\hud\parallax.dm"
+#include "code\_onclick\hud\picture_in_picture.dm"
+#include "code\_onclick\hud\plane_master.dm"
+#include "code\_onclick\hud\radial.dm"
+#include "code\_onclick\hud\radial_persistent.dm"
+#include "code\_onclick\hud\revenanthud.dm"
+#include "code\_onclick\hud\robot.dm"
+#include "code\_onclick\hud\screen_objects.dm"
+#include "code\_onclick\hud\swarmer.dm"
+#include "code\controllers\admin.dm"
+#include "code\controllers\configuration_citadel.dm"
+#include "code\controllers\controller.dm"
+#include "code\controllers\failsafe.dm"
+#include "code\controllers\globals.dm"
+#include "code\controllers\hooks.dm"
+#include "code\controllers\master.dm"
+#include "code\controllers\subsystem.dm"
+#include "code\controllers\configuration\config_entry.dm"
+#include "code\controllers\configuration\configuration.dm"
+#include "code\controllers\configuration\entries\comms.dm"
+#include "code\controllers\configuration\entries\dbconfig.dm"
+#include "code\controllers\configuration\entries\donator.dm"
+#include "code\controllers\configuration\entries\dynamic.dm"
+#include "code\controllers\configuration\entries\fail2topic.dm"
+#include "code\controllers\configuration\entries\game_options.dm"
+#include "code\controllers\configuration\entries\general.dm"
+#include "code\controllers\configuration\entries\plushies.dm"
+#include "code\controllers\subsystem\acid.dm"
+#include "code\controllers\subsystem\adjacent_air.dm"
+#include "code\controllers\subsystem\air.dm"
+#include "code\controllers\subsystem\air_turfs.dm"
+#include "code\controllers\subsystem\assets.dm"
+#include "code\controllers\subsystem\atoms.dm"
+#include "code\controllers\subsystem\augury.dm"
+#include "code\controllers\subsystem\autotransfer.dm"
+#include "code\controllers\subsystem\blackbox.dm"
+#include "code\controllers\subsystem\chat.dm"
+#include "code\controllers\subsystem\communications.dm"
+#include "code\controllers\subsystem\dbcore.dm"
+#include "code\controllers\subsystem\dcs.dm"
+#include "code\controllers\subsystem\disease.dm"
+#include "code\controllers\subsystem\events.dm"
+#include "code\controllers\subsystem\fail2topic.dm"
+#include "code\controllers\subsystem\fire_burning.dm"
+#include "code\controllers\subsystem\garbage.dm"
+#include "code\controllers\subsystem\icon_smooth.dm"
+#include "code\controllers\subsystem\idlenpcpool.dm"
+#include "code\controllers\subsystem\input.dm"
+#include "code\controllers\subsystem\ipintel.dm"
+#include "code\controllers\subsystem\job.dm"
+#include "code\controllers\subsystem\jukeboxes.dm"
+#include "code\controllers\subsystem\language.dm"
+#include "code\controllers\subsystem\lighting.dm"
+#include "code\controllers\subsystem\machines.dm"
+#include "code\controllers\subsystem\mapping.dm"
+#include "code\controllers\subsystem\materials.dm"
+#include "code\controllers\subsystem\medals.dm"
+#include "code\controllers\subsystem\minor_mapping.dm"
+#include "code\controllers\subsystem\mobs.dm"
+#include "code\controllers\subsystem\moods.dm"
+#include "code\controllers\subsystem\nightshift.dm"
+#include "code\controllers\subsystem\npcpool.dm"
+#include "code\controllers\subsystem\overlays.dm"
+#include "code\controllers\subsystem\pai.dm"
+#include "code\controllers\subsystem\parallax.dm"
+#include "code\controllers\subsystem\pathfinder.dm"
+#include "code\controllers\subsystem\persistence.dm"
+#include "code\controllers\subsystem\ping.dm"
+#include "code\controllers\subsystem\profiler.dm"
+#include "code\controllers\subsystem\radiation.dm"
+#include "code\controllers\subsystem\radio.dm"
+#include "code\controllers\subsystem\research.dm"
+#include "code\controllers\subsystem\server_maint.dm"
+#include "code\controllers\subsystem\shuttle.dm"
+#include "code\controllers\subsystem\spacedrift.dm"
+#include "code\controllers\subsystem\stickyban.dm"
+#include "code\controllers\subsystem\sun.dm"
+#include "code\controllers\subsystem\tgui.dm"
+#include "code\controllers\subsystem\throwing.dm"
+#include "code\controllers\subsystem\ticker.dm"
+#include "code\controllers\subsystem\time_track.dm"
+#include "code\controllers\subsystem\timer.dm"
+#include "code\controllers\subsystem\title.dm"
+#include "code\controllers\subsystem\traumas.dm"
+#include "code\controllers\subsystem\vis_overlays.dm"
+#include "code\controllers\subsystem\vore.dm"
+#include "code\controllers\subsystem\vote.dm"
+#include "code\controllers\subsystem\processing\chemistry.dm"
+#include "code\controllers\subsystem\processing\circuit.dm"
+#include "code\controllers\subsystem\processing\fastprocess.dm"
+#include "code\controllers\subsystem\processing\fields.dm"
+#include "code\controllers\subsystem\processing\nanites.dm"
+#include "code\controllers\subsystem\processing\networks.dm"
+#include "code\controllers\subsystem\processing\obj.dm"
+#include "code\controllers\subsystem\processing\processing.dm"
+#include "code\controllers\subsystem\processing\projectiles.dm"
+#include "code\controllers\subsystem\processing\quirks.dm"
+#include "code\controllers\subsystem\processing\weather.dm"
+#include "code\controllers\subsystem\processing\wet_floors.dm"
+#include "code\datums\action.dm"
+#include "code\datums\ai_laws.dm"
+#include "code\datums\armor.dm"
+#include "code\datums\beam.dm"
+#include "code\datums\browser.dm"
+#include "code\datums\callback.dm"
+#include "code\datums\cinematic.dm"
+#include "code\datums\dash_weapon.dm"
+#include "code\datums\datacore.dm"
+#include "code\datums\datum.dm"
+#include "code\datums\datumvars.dm"
+#include "code\datums\dna.dm"
+#include "code\datums\dog_fashion.dm"
+#include "code\datums\embedding_behavior.dm"
+#include "code\datums\emotes.dm"
+#include "code\datums\ert.dm"
+#include "code\datums\explosion.dm"
+#include "code\datums\forced_movement.dm"
+#include "code\datums\holocall.dm"
+#include "code\datums\hud.dm"
+#include "code\datums\map_config.dm"
+#include "code\datums\martial.dm"
+#include "code\datums\mind.dm"
+#include "code\datums\mutable_appearance.dm"
+#include "code\datums\mutations.dm"
+#include "code\datums\numbered_display.dm"
+#include "code\datums\outfit.dm"
+#include "code\datums\position_point_vector.dm"
+#include "code\datums\profiling.dm"
+#include "code\datums\progressbar.dm"
+#include "code\datums\radiation_wave.dm"
+#include "code\datums\recipe.dm"
+#include "code\datums\ruins.dm"
+#include "code\datums\saymode.dm"
+#include "code\datums\shuttles.dm"
+#include "code\datums\soullink.dm"
+#include "code\datums\spawners_menu.dm"
+#include "code\datums\verbs.dm"
+#include "code\datums\weakrefs.dm"
+#include "code\datums\world_topic.dm"
+#include "code\datums\actions\beam_rifle.dm"
+#include "code\datums\actions\ninja.dm"
+#include "code\datums\brain_damage\brain_trauma.dm"
+#include "code\datums\brain_damage\hypnosis.dm"
+#include "code\datums\brain_damage\imaginary_friend.dm"
+#include "code\datums\brain_damage\mild.dm"
+#include "code\datums\brain_damage\phobia.dm"
+#include "code\datums\brain_damage\severe.dm"
+#include "code\datums\brain_damage\special.dm"
+#include "code\datums\brain_damage\split_personality.dm"
+#include "code\datums\components\_component.dm"
+#include "code\datums\components\anti_magic.dm"
+#include "code\datums\components\armor_plate.dm"
+#include "code\datums\components\bane.dm"
+#include "code\datums\components\bouncy.dm"
+#include "code\datums\components\butchering.dm"
+#include "code\datums\components\caltrop.dm"
+#include "code\datums\components\chasm.dm"
+#include "code\datums\components\construction.dm"
+#include "code\datums\components\decal.dm"
+#include "code\datums\components\dejavu.dm"
+#include "code\datums\components\earprotection.dm"
+#include "code\datums\components\edit_complainer.dm"
+#include "code\datums\components\empprotection.dm"
+#include "code\datums\components\explodable.dm"
+#include "code\datums\components\footstep.dm"
+#include "code\datums\components\forced_gravity.dm"
+#include "code\datums\components\igniter.dm"
+#include "code\datums\components\infective.dm"
+#include "code\datums\components\jousting.dm"
+#include "code\datums\components\knockback.dm"
+#include "code\datums\components\knockoff.dm"
+#include "code\datums\components\lifesteal.dm"
+#include "code\datums\components\lockon_aiming.dm"
+#include "code\datums\components\magnetic_catch.dm"
+#include "code\datums\components\material_container.dm"
+#include "code\datums\components\mirage_border.dm"
+#include "code\datums\components\mood.dm"
+#include "code\datums\components\nanites.dm"
+#include "code\datums\components\ntnet_interface.dm"
+#include "code\datums\components\orbiter.dm"
+#include "code\datums\components\paintable.dm"
+#include "code\datums\components\phantomthief.dm"
+#include "code\datums\components\rad_insulation.dm"
+#include "code\datums\components\radioactive.dm"
+#include "code\datums\components\remote_materials.dm"
+#include "code\datums\components\riding.dm"
+#include "code\datums\components\rotation.dm"
+#include "code\datums\components\shrapnel.dm"
+#include "code\datums\components\shrink.dm"
+#include "code\datums\components\sizzle.dm"
+#include "code\datums\components\slippery.dm"
+#include "code\datums\components\spawner.dm"
+#include "code\datums\components\spooky.dm"
+#include "code\datums\components\squeak.dm"
+#include "code\datums\components\stationloving.dm"
+#include "code\datums\components\summoning.dm"
+#include "code\datums\components\swarming.dm"
+#include "code\datums\components\tactical.dm"
+#include "code\datums\components\thermite.dm"
+#include "code\datums\components\uplink.dm"
+#include "code\datums\components\virtual_reality.dm"
+#include "code\datums\components\wearertargeting.dm"
+#include "code\datums\components\wet_floor.dm"
+#include "code\datums\components\crafting\craft.dm"
+#include "code\datums\components\crafting\glassware.dm"
+#include "code\datums\components\crafting\guncrafting.dm"
+#include "code\datums\components\crafting\recipes.dm"
+#include "code\datums\components\crafting\recipes\recipes_clothing.dm"
+#include "code\datums\components\crafting\recipes\recipes_misc.dm"
+#include "code\datums\components\crafting\recipes\recipes_primal.dm"
+#include "code\datums\components\crafting\recipes\recipes_robot.dm"
+#include "code\datums\components\crafting\recipes\recipes_weapon_and_ammo.dm"
+#include "code\datums\components\fantasy\_fantasy.dm"
+#include "code\datums\components\fantasy\affix.dm"
+#include "code\datums\components\fantasy\prefixes.dm"
+#include "code\datums\components\fantasy\suffixes.dm"
+#include "code\datums\components\storage\storage.dm"
+#include "code\datums\components\storage\concrete\_concrete.dm"
+#include "code\datums\components\storage\concrete\bag_of_holding.dm"
+#include "code\datums\components\storage\concrete\bluespace.dm"
+#include "code\datums\components\storage\concrete\emergency.dm"
+#include "code\datums\components\storage\concrete\implant.dm"
+#include "code\datums\components\storage\concrete\pockets.dm"
+#include "code\datums\components\storage\concrete\rped.dm"
+#include "code\datums\components\storage\concrete\special.dm"
+#include "code\datums\components\storage\concrete\stack.dm"
+#include "code\datums\diseases\_disease.dm"
+#include "code\datums\diseases\_MobProcs.dm"
+#include "code\datums\diseases\anxiety.dm"
+#include "code\datums\diseases\appendicitis.dm"
+#include "code\datums\diseases\beesease.dm"
+#include "code\datums\diseases\brainrot.dm"
+#include "code\datums\diseases\cold.dm"
+#include "code\datums\diseases\cold9.dm"
+#include "code\datums\diseases\dna_spread.dm"
+#include "code\datums\diseases\fake_gbs.dm"
+#include "code\datums\diseases\flu.dm"
+#include "code\datums\diseases\fluspanish.dm"
+#include "code\datums\diseases\gbs.dm"
+#include "code\datums\diseases\heart_failure.dm"
+#include "code\datums\diseases\magnitis.dm"
+#include "code\datums\diseases\parrotpossession.dm"
+#include "code\datums\diseases\pierrot_throat.dm"
+#include "code\datums\diseases\retrovirus.dm"
+#include "code\datums\diseases\rhumba_beat.dm"
+#include "code\datums\diseases\transformation.dm"
+#include "code\datums\diseases\tuberculosis.dm"
+#include "code\datums\diseases\wizarditis.dm"
+#include "code\datums\diseases\advance\advance.dm"
+#include "code\datums\diseases\advance\presets.dm"
+#include "code\datums\diseases\advance\symptoms\beard.dm"
+#include "code\datums\diseases\advance\symptoms\choking.dm"
+#include "code\datums\diseases\advance\symptoms\confusion.dm"
+#include "code\datums\diseases\advance\symptoms\cough.dm"
+#include "code\datums\diseases\advance\symptoms\deafness.dm"
+#include "code\datums\diseases\advance\symptoms\disfiguration.dm"
+#include "code\datums\diseases\advance\symptoms\dizzy.dm"
+#include "code\datums\diseases\advance\symptoms\fever.dm"
+#include "code\datums\diseases\advance\symptoms\fire.dm"
+#include "code\datums\diseases\advance\symptoms\flesh_eating.dm"
+#include "code\datums\diseases\advance\symptoms\genetics.dm"
+#include "code\datums\diseases\advance\symptoms\hallucigen.dm"
+#include "code\datums\diseases\advance\symptoms\headache.dm"
+#include "code\datums\diseases\advance\symptoms\heal.dm"
+#include "code\datums\diseases\advance\symptoms\itching.dm"
+#include "code\datums\diseases\advance\symptoms\nanites.dm"
+#include "code\datums\diseases\advance\symptoms\narcolepsy.dm"
+#include "code\datums\diseases\advance\symptoms\oxygen.dm"
+#include "code\datums\diseases\advance\symptoms\sensory.dm"
+#include "code\datums\diseases\advance\symptoms\shedding.dm"
+#include "code\datums\diseases\advance\symptoms\shivering.dm"
+#include "code\datums\diseases\advance\symptoms\skin.dm"
+#include "code\datums\diseases\advance\symptoms\sneeze.dm"
+#include "code\datums\diseases\advance\symptoms\species.dm"
+#include "code\datums\diseases\advance\symptoms\symptoms.dm"
+#include "code\datums\diseases\advance\symptoms\viral.dm"
+#include "code\datums\diseases\advance\symptoms\vision.dm"
+#include "code\datums\diseases\advance\symptoms\voice_change.dm"
+#include "code\datums\diseases\advance\symptoms\vomit.dm"
+#include "code\datums\diseases\advance\symptoms\weight.dm"
+#include "code\datums\diseases\advance\symptoms\youth.dm"
+#include "code\datums\elements\_element.dm"
+#include "code\datums\elements\cleaning.dm"
+#include "code\datums\elements\dusts_on_catatonia.dm"
+#include "code\datums\elements\dusts_on_leaving_area.dm"
+#include "code\datums\elements\earhealing.dm"
+#include "code\datums\elements\firestacker.dm"
+#include "code\datums\elements\ghost_role_eligibility.dm"
+#include "code\datums\elements\mob_holder.dm"
+#include "code\datums\elements\swimming.dm"
+#include "code\datums\elements\sword_point.dm"
+#include "code\datums\elements\update_icon_blocker.dm"
+#include "code\datums\elements\update_icon_updates_onmob.dm"
+#include "code\datums\elements\wuv.dm"
+#include "code\datums\helper_datums\events.dm"
+#include "code\datums\helper_datums\getrev.dm"
+#include "code\datums\helper_datums\icon_snapshot.dm"
+#include "code\datums\helper_datums\teleport.dm"
+#include "code\datums\looping_sounds\_looping_sound.dm"
+#include "code\datums\looping_sounds\item_sounds.dm"
+#include "code\datums\looping_sounds\machinery_sounds.dm"
+#include "code\datums\looping_sounds\weather.dm"
+#include "code\datums\martial\boxing.dm"
+#include "code\datums\martial\cqc.dm"
+#include "code\datums\martial\krav_maga.dm"
+#include "code\datums\martial\mushpunch.dm"
+#include "code\datums\martial\plasma_fist.dm"
+#include "code\datums\martial\psychotic_brawl.dm"
+#include "code\datums\martial\rising_bass.dm"
+#include "code\datums\martial\sleeping_carp.dm"
+#include "code\datums\martial\wrestling.dm"
+#include "code\datums\materials\_material.dm"
+#include "code\datums\materials\basemats.dm"
+#include "code\datums\mood_events\beauty_events.dm"
+#include "code\datums\mood_events\drink_events.dm"
+#include "code\datums\mood_events\drug_events.dm"
+#include "code\datums\mood_events\generic_negative_events.dm"
+#include "code\datums\mood_events\generic_positive_events.dm"
+#include "code\datums\mood_events\mood_event.dm"
+#include "code\datums\mood_events\needs_events.dm"
+#include "code\datums\mutations\body.dm"
+#include "code\datums\mutations\chameleon.dm"
+#include "code\datums\mutations\cold_resistance.dm"
+#include "code\datums\mutations\hulk.dm"
+#include "code\datums\mutations\sight.dm"
+#include "code\datums\mutations\speech.dm"
+#include "code\datums\mutations\telekinesis.dm"
+#include "code\datums\ruins\lavaland.dm"
+#include "code\datums\ruins\space.dm"
+#include "code\datums\ruins\station.dm"
+#include "code\datums\status_effects\buffs.dm"
+#include "code\datums\status_effects\debuffs.dm"
+#include "code\datums\status_effects\gas.dm"
+#include "code\datums\status_effects\neutral.dm"
+#include "code\datums\status_effects\status_effect.dm"
+#include "code\datums\traits\_quirk.dm"
+#include "code\datums\traits\good.dm"
+#include "code\datums\traits\negative.dm"
+#include "code\datums\traits\neutral.dm"
+#include "code\datums\weather\weather.dm"
+#include "code\datums\weather\weather_types\acid_rain.dm"
+#include "code\datums\weather\weather_types\ash_storm.dm"
+#include "code\datums\weather\weather_types\floor_is_lava.dm"
+#include "code\datums\weather\weather_types\radiation_storm.dm"
+#include "code\datums\weather\weather_types\snow_storm.dm"
+#include "code\datums\wires\_wires.dm"
+#include "code\datums\wires\airalarm.dm"
+#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"
+#include "code\datums\wires\mulebot.dm"
+#include "code\datums\wires\particle_accelerator.dm"
+#include "code\datums\wires\r_n_d.dm"
+#include "code\datums\wires\radio.dm"
+#include "code\datums\wires\robot.dm"
+#include "code\datums\wires\suit_storage_unit.dm"
+#include "code\datums\wires\syndicatebomb.dm"
+#include "code\datums\wires\tesla_coil.dm"
+#include "code\datums\wires\vending.dm"
+#include "code\game\alternate_appearance.dm"
+#include "code\game\atoms.dm"
+#include "code\game\atoms_movable.dm"
+#include "code\game\atoms_movement.dm"
+#include "code\game\communications.dm"
+#include "code\game\data_huds.dm"
+#include "code\game\say.dm"
+#include "code\game\shuttle_engines.dm"
+#include "code\game\sound.dm"
+#include "code\game\world.dm"
+#include "code\game\area\ai_monitored.dm"
+#include "code\game\area\areas.dm"
+#include "code\game\area\Space_Station_13_areas.dm"
+#include "code\game\area\areas\away_content.dm"
+#include "code\game\area\areas\centcom.dm"
+#include "code\game\area\areas\holodeck.dm"
+#include "code\game\area\areas\mining.dm"
+#include "code\game\area\areas\shuttles.dm"
+#include "code\game\area\areas\ruins\_ruins.dm"
+#include "code\game\area\areas\ruins\lavaland.dm"
+#include "code\game\area\areas\ruins\space.dm"
+#include "code\game\area\areas\ruins\templates.dm"
+#include "code\game\gamemodes\events.dm"
+#include "code\game\gamemodes\game_mode.dm"
+#include "code\game\gamemodes\objective.dm"
+#include "code\game\gamemodes\objective_items.dm"
+#include "code\game\gamemodes\objective_sabotage.dm"
+#include "code\game\gamemodes\bloodsucker\bloodsucker.dm"
+#include "code\game\gamemodes\bloodsucker\hunter.dm"
+#include "code\game\gamemodes\brother\traitor_bro.dm"
+#include "code\game\gamemodes\changeling\changeling.dm"
+#include "code\game\gamemodes\changeling\traitor_chan.dm"
+#include "code\game\gamemodes\clock_cult\clock_cult.dm"
+#include "code\game\gamemodes\clown_ops\bananium_bomb.dm"
+#include "code\game\gamemodes\clown_ops\clown_ops.dm"
+#include "code\game\gamemodes\clown_ops\clown_weapons.dm"
+#include "code\game\gamemodes\cult\cult.dm"
+#include "code\game\gamemodes\devil\devil_game_mode.dm"
+#include "code\game\gamemodes\devil\game_mode.dm"
+#include "code\game\gamemodes\devil\objectives.dm"
+#include "code\game\gamemodes\devil\devil agent\devil_agent.dm"
+#include "code\game\gamemodes\dynamic\dynamic.dm"
+#include "code\game\gamemodes\dynamic\dynamic_rulesets.dm"
+#include "code\game\gamemodes\dynamic\dynamic_rulesets_events.dm"
+#include "code\game\gamemodes\dynamic\dynamic_rulesets_latejoin.dm"
+#include "code\game\gamemodes\dynamic\dynamic_rulesets_midround.dm"
+#include "code\game\gamemodes\dynamic\dynamic_rulesets_roundstart.dm"
+#include "code\game\gamemodes\dynamic\dynamic_storytellers.dm"
+#include "code\game\gamemodes\extended\extended.dm"
+#include "code\game\gamemodes\gangs\dominator.dm"
+#include "code\game\gamemodes\gangs\dominator_countdown.dm"
+#include "code\game\gamemodes\gangs\gang.dm"
+#include "code\game\gamemodes\gangs\gang_datums.dm"
+#include "code\game\gamemodes\gangs\gang_decals.dm"
+#include "code\game\gamemodes\gangs\gang_hud.dm"
+#include "code\game\gamemodes\gangs\gang_items.dm"
+#include "code\game\gamemodes\gangs\gang_pen.dm"
+#include "code\game\gamemodes\gangs\gangs.dm"
+#include "code\game\gamemodes\gangs\gangtool.dm"
+#include "code\game\gamemodes\gangs\implant_gang.dm"
+#include "code\game\gamemodes\meteor\meteor.dm"
+#include "code\game\gamemodes\meteor\meteors.dm"
+#include "code\game\gamemodes\monkey\monkey.dm"
+#include "code\game\gamemodes\nuclear\nuclear.dm"
+#include "code\game\gamemodes\overthrow\objective.dm"
+#include "code\game\gamemodes\overthrow\overthrow.dm"
+#include "code\game\gamemodes\revolution\revolution.dm"
+#include "code\game\gamemodes\sandbox\airlock_maker.dm"
+#include "code\game\gamemodes\sandbox\h_sandbox.dm"
+#include "code\game\gamemodes\sandbox\sandbox.dm"
+#include "code\game\gamemodes\traitor\double_agents.dm"
+#include "code\game\gamemodes\traitor\traitor.dm"
+#include "code\game\gamemodes\wizard\wizard.dm"
+#include "code\game\machinery\_machinery.dm"
+#include "code\game\machinery\ai_slipper.dm"
+#include "code\game\machinery\airlock_control.dm"
+#include "code\game\machinery\announcement_system.dm"
+#include "code\game\machinery\aug_manipulator.dm"
+#include "code\game\machinery\autolathe.dm"
+#include "code\game\machinery\bank_machine.dm"
+#include "code\game\machinery\Beacon.dm"
+#include "code\game\machinery\bloodbankgen.dm"
+#include "code\game\machinery\buttons.dm"
+#include "code\game\machinery\cell_charger.dm"
+#include "code\game\machinery\cloning.dm"
+#include "code\game\machinery\constructable_frame.dm"
+#include "code\game\machinery\cryopod.dm"
+#include "code\game\machinery\dance_machine.dm"
+#include "code\game\machinery\defibrillator_mount.dm"
+#include "code\game\machinery\deployable.dm"
+#include "code\game\machinery\dish_drive.dm"
+#include "code\game\machinery\dna_scanner.dm"
+#include "code\game\machinery\doppler_array.dm"
+#include "code\game\machinery\droneDispenser.dm"
+#include "code\game\machinery\exp_cloner.dm"
+#include "code\game\machinery\firealarm.dm"
+#include "code\game\machinery\flasher.dm"
+#include "code\game\machinery\gulag_item_reclaimer.dm"
+#include "code\game\machinery\gulag_teleporter.dm"
+#include "code\game\machinery\harvester.dm"
+#include "code\game\machinery\hologram.dm"
+#include "code\game\machinery\igniter.dm"
+#include "code\game\machinery\iv_drip.dm"
+#include "code\game\machinery\launch_pad.dm"
+#include "code\game\machinery\lightswitch.dm"
+#include "code\game\machinery\limbgrower.dm"
+#include "code\game\machinery\magnet.dm"
+#include "code\game\machinery\mass_driver.dm"
+#include "code\game\machinery\navbeacon.dm"
+#include "code\game\machinery\PDApainter.dm"
+#include "code\game\machinery\quantum_pad.dm"
+#include "code\game\machinery\recharger.dm"
+#include "code\game\machinery\rechargestation.dm"
+#include "code\game\machinery\recycler.dm"
+#include "code\game\machinery\requests_console.dm"
+#include "code\game\machinery\shieldgen.dm"
+#include "code\game\machinery\Sleeper.dm"
+#include "code\game\machinery\slotmachine.dm"
+#include "code\game\machinery\spaceheater.dm"
+#include "code\game\machinery\status_display.dm"
+#include "code\game\machinery\suit_storage_unit.dm"
+#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"
+#include "code\game\machinery\wishgranter.dm"
+#include "code\game\machinery\camera\camera.dm"
+#include "code\game\machinery\camera\camera_assembly.dm"
+#include "code\game\machinery\camera\motion.dm"
+#include "code\game\machinery\camera\presets.dm"
+#include "code\game\machinery\camera\tracking.dm"
+#include "code\game\machinery\computer\_computer.dm"
+#include "code\game\machinery\computer\aifixer.dm"
+#include "code\game\machinery\computer\apc_control.dm"
+#include "code\game\machinery\computer\arcade.dm"
+#include "code\game\machinery\computer\atmos_alert.dm"
+#include "code\game\machinery\computer\atmos_control.dm"
+#include "code\game\machinery\computer\buildandrepair.dm"
+#include "code\game\machinery\computer\camera.dm"
+#include "code\game\machinery\computer\camera_advanced.dm"
+#include "code\game\machinery\computer\card.dm"
+#include "code\game\machinery\computer\cloning.dm"
+#include "code\game\machinery\computer\communications.dm"
+#include "code\game\machinery\computer\crew.dm"
+#include "code\game\machinery\computer\dna_console.dm"
+#include "code\game\machinery\computer\launchpad_control.dm"
+#include "code\game\machinery\computer\law.dm"
+#include "code\game\machinery\computer\medical.dm"
+#include "code\game\machinery\computer\Operating.dm"
+#include "code\game\machinery\computer\pod.dm"
+#include "code\game\machinery\computer\robot.dm"
+#include "code\game\machinery\computer\security.dm"
+#include "code\game\machinery\computer\station_alert.dm"
+#include "code\game\machinery\computer\telecrystalconsoles.dm"
+#include "code\game\machinery\computer\teleporter.dm"
+#include "code\game\machinery\computer\arcade\battle.dm"
+#include "code\game\machinery\computer\arcade\minesweeper.dm"
+#include "code\game\machinery\computer\arcade\misc_arcade.dm"
+#include "code\game\machinery\computer\arcade\orion_trail.dm"
+#include "code\game\machinery\computer\prisoner\_prisoner.dm"
+#include "code\game\machinery\computer\prisoner\gulag_teleporter.dm"
+#include "code\game\machinery\computer\prisoner\management.dm"
+#include "code\game\machinery\doors\airlock.dm"
+#include "code\game\machinery\doors\airlock_electronics.dm"
+#include "code\game\machinery\doors\airlock_types.dm"
+#include "code\game\machinery\doors\alarmlock.dm"
+#include "code\game\machinery\doors\brigdoors.dm"
+#include "code\game\machinery\doors\checkForMultipleDoors.dm"
+#include "code\game\machinery\doors\door.dm"
+#include "code\game\machinery\doors\firedoor.dm"
+#include "code\game\machinery\doors\passworddoor.dm"
+#include "code\game\machinery\doors\poddoor.dm"
+#include "code\game\machinery\doors\shutters.dm"
+#include "code\game\machinery\doors\unpowered.dm"
+#include "code\game\machinery\doors\windowdoor.dm"
+#include "code\game\machinery\embedded_controller\access_controller.dm"
+#include "code\game\machinery\embedded_controller\airlock_controller.dm"
+#include "code\game\machinery\embedded_controller\embedded_controller_base.dm"
+#include "code\game\machinery\embedded_controller\simple_vent_controller.dm"
+#include "code\game\machinery\pipe\construction.dm"
+#include "code\game\machinery\pipe\pipe_dispenser.dm"
+#include "code\game\machinery\porta_turret\portable_turret.dm"
+#include "code\game\machinery\porta_turret\portable_turret_construct.dm"
+#include "code\game\machinery\porta_turret\portable_turret_cover.dm"
+#include "code\game\machinery\telecomms\broadcasting.dm"
+#include "code\game\machinery\telecomms\machine_interactions.dm"
+#include "code\game\machinery\telecomms\telecomunications.dm"
+#include "code\game\machinery\telecomms\computers\logbrowser.dm"
+#include "code\game\machinery\telecomms\computers\message.dm"
+#include "code\game\machinery\telecomms\computers\telemonitor.dm"
+#include "code\game\machinery\telecomms\machines\allinone.dm"
+#include "code\game\machinery\telecomms\machines\broadcaster.dm"
+#include "code\game\machinery\telecomms\machines\bus.dm"
+#include "code\game\machinery\telecomms\machines\hub.dm"
+#include "code\game\machinery\telecomms\machines\message_server.dm"
+#include "code\game\machinery\telecomms\machines\processor.dm"
+#include "code\game\machinery\telecomms\machines\receiver.dm"
+#include "code\game\machinery\telecomms\machines\relay.dm"
+#include "code\game\machinery\telecomms\machines\server.dm"
+#include "code\game\mecha\mech_bay.dm"
+#include "code\game\mecha\mech_fabricator.dm"
+#include "code\game\mecha\mecha.dm"
+#include "code\game\mecha\mecha_actions.dm"
+#include "code\game\mecha\mecha_construction_paths.dm"
+#include "code\game\mecha\mecha_control_console.dm"
+#include "code\game\mecha\mecha_defense.dm"
+#include "code\game\mecha\mecha_parts.dm"
+#include "code\game\mecha\mecha_topic.dm"
+#include "code\game\mecha\mecha_wreckage.dm"
+#include "code\game\mecha\combat\combat.dm"
+#include "code\game\mecha\combat\durand.dm"
+#include "code\game\mecha\combat\gygax.dm"
+#include "code\game\mecha\combat\honker.dm"
+#include "code\game\mecha\combat\marauder.dm"
+#include "code\game\mecha\combat\neovgre.dm"
+#include "code\game\mecha\combat\phazon.dm"
+#include "code\game\mecha\combat\reticence.dm"
+#include "code\game\mecha\equipment\mecha_equipment.dm"
+#include "code\game\mecha\equipment\tools\medical_tools.dm"
+#include "code\game\mecha\equipment\tools\mining_tools.dm"
+#include "code\game\mecha\equipment\tools\other_tools.dm"
+#include "code\game\mecha\equipment\tools\work_tools.dm"
+#include "code\game\mecha\equipment\weapons\mecha_ammo.dm"
+#include "code\game\mecha\equipment\weapons\weapons.dm"
+#include "code\game\mecha\medical\medical.dm"
+#include "code\game\mecha\medical\odysseus.dm"
+#include "code\game\mecha\working\ripley.dm"
+#include "code\game\mecha\working\working.dm"
+#include "code\game\objects\buckling.dm"
+#include "code\game\objects\empulse.dm"
+#include "code\game\objects\items.dm"
+#include "code\game\objects\obj_defense.dm"
+#include "code\game\objects\objs.dm"
+#include "code\game\objects\structures.dm"
+#include "code\game\objects\effects\alien_acid.dm"
+#include "code\game\objects\effects\anomalies.dm"
+#include "code\game\objects\effects\blessing.dm"
+#include "code\game\objects\effects\bump_teleporter.dm"
+#include "code\game\objects\effects\contraband.dm"
+#include "code\game\objects\effects\countdown.dm"
+#include "code\game\objects\effects\effects.dm"
+#include "code\game\objects\effects\forcefields.dm"
+#include "code\game\objects\effects\glowshroom.dm"
+#include "code\game\objects\effects\landmarks.dm"
+#include "code\game\objects\effects\mines.dm"
+#include "code\game\objects\effects\misc.dm"
+#include "code\game\objects\effects\overlays.dm"
+#include "code\game\objects\effects\portals.dm"
+#include "code\game\objects\effects\proximity.dm"
+#include "code\game\objects\effects\spiders.dm"
+#include "code\game\objects\effects\step_triggers.dm"
+#include "code\game\objects\effects\wanted_poster.dm"
+#include "code\game\objects\effects\decals\cleanable.dm"
+#include "code\game\objects\effects\decals\crayon.dm"
+#include "code\game\objects\effects\decals\decal.dm"
+#include "code\game\objects\effects\decals\misc.dm"
+#include "code\game\objects\effects\decals\remains.dm"
+#include "code\game\objects\effects\decals\cleanable\aliens.dm"
+#include "code\game\objects\effects\decals\cleanable\gibs.dm"
+#include "code\game\objects\effects\decals\cleanable\humans.dm"
+#include "code\game\objects\effects\decals\cleanable\misc.dm"
+#include "code\game\objects\effects\decals\cleanable\robots.dm"
+#include "code\game\objects\effects\decals\turfdecal\dirt.dm"
+#include "code\game\objects\effects\decals\turfdecal\markings.dm"
+#include "code\game\objects\effects\decals\turfdecal\tilecoloring.dm"
+#include "code\game\objects\effects\decals\turfdecal\weather.dm"
+#include "code\game\objects\effects\effect_system\effect_system.dm"
+#include "code\game\objects\effects\effect_system\effects_explosion.dm"
+#include "code\game\objects\effects\effect_system\effects_foam.dm"
+#include "code\game\objects\effects\effect_system\effects_other.dm"
+#include "code\game\objects\effects\effect_system\effects_smoke.dm"
+#include "code\game\objects\effects\effect_system\effects_sparks.dm"
+#include "code\game\objects\effects\effect_system\effects_water.dm"
+#include "code\game\objects\effects\spawners\bombspawner.dm"
+#include "code\game\objects\effects\spawners\bundle.dm"
+#include "code\game\objects\effects\spawners\gibspawner.dm"
+#include "code\game\objects\effects\spawners\lootdrop.dm"
+#include "code\game\objects\effects\spawners\structure.dm"
+#include "code\game\objects\effects\spawners\traps.dm"
+#include "code\game\objects\effects\spawners\vaultspawner.dm"
+#include "code\game\objects\effects\spawners\xeno_egg_delivery.dm"
+#include "code\game\objects\effects\temporary_visuals\clockcult.dm"
+#include "code\game\objects\effects\temporary_visuals\cult.dm"
+#include "code\game\objects\effects\temporary_visuals\miscellaneous.dm"
+#include "code\game\objects\effects\temporary_visuals\temporary_visual.dm"
+#include "code\game\objects\effects\temporary_visuals\projectiles\impact.dm"
+#include "code\game\objects\effects\temporary_visuals\projectiles\muzzle.dm"
+#include "code\game\objects\effects\temporary_visuals\projectiles\projectile_effects.dm"
+#include "code\game\objects\effects\temporary_visuals\projectiles\tracer.dm"
+#include "code\game\objects\items\AI_modules.dm"
+#include "code\game\objects\items\airlock_painter.dm"
+#include "code\game\objects\items\apc_frame.dm"
+#include "code\game\objects\items\balls.dm"
+#include "code\game\objects\items\blueprints.dm"
+#include "code\game\objects\items\body_egg.dm"
+#include "code\game\objects\items\bodybag.dm"
+#include "code\game\objects\items\boombox.dm"
+#include "code\game\objects\items\candle.dm"
+#include "code\game\objects\items\cardboard_cutouts.dm"
+#include "code\game\objects\items\cards_ids.dm"
+#include "code\game\objects\items\charter.dm"
+#include "code\game\objects\items\chrono_eraser.dm"
+#include "code\game\objects\items\cigs_lighters.dm"
+#include "code\game\objects\items\clown_items.dm"
+#include "code\game\objects\items\control_wand.dm"
+#include "code\game\objects\items\cosmetics.dm"
+#include "code\game\objects\items\courtroom.dm"
+#include "code\game\objects\items\crayons.dm"
+#include "code\game\objects\items\debug_items.dm"
+#include "code\game\objects\items\defib.dm"
+#include "code\game\objects\items\dehy_carp.dm"
+#include "code\game\objects\items\dice.dm"
+#include "code\game\objects\items\dna_injector.dm"
+#include "code\game\objects\items\documents.dm"
+#include "code\game\objects\items\eightball.dm"
+#include "code\game\objects\items\extinguisher.dm"
+#include "code\game\objects\items\flamethrower.dm"
+#include "code\game\objects\items\gift.dm"
+#include "code\game\objects\items\granters.dm"
+#include "code\game\objects\items\handcuffs.dm"
+#include "code\game\objects\items\his_grace.dm"
+#include "code\game\objects\items\holosign_creator.dm"
+#include "code\game\objects\items\holy_weapons.dm"
+#include "code\game\objects\items\hot_potato.dm"
+#include "code\game\objects\items\inducer.dm"
+#include "code\game\objects\items\kitchen.dm"
+#include "code\game\objects\items\latexballoon.dm"
+#include "code\game\objects\items\manuals.dm"
+#include "code\game\objects\items\miscellaneous.dm"
+#include "code\game\objects\items\mop.dm"
+#include "code\game\objects\items\paint.dm"
+#include "code\game\objects\items\paiwire.dm"
+#include "code\game\objects\items\pet_carrier.dm"
+#include "code\game\objects\items\pinpointer.dm"
+#include "code\game\objects\items\plushes.dm"
+#include "code\game\objects\items\pneumaticCannon.dm"
+#include "code\game\objects\items\powerfist.dm"
+#include "code\game\objects\items\RCD.dm"
+#include "code\game\objects\items\RCL.dm"
+#include "code\game\objects\items\religion.dm"
+#include "code\game\objects\items\RPD.dm"
+#include "code\game\objects\items\RSF.dm"
+#include "code\game\objects\items\scrolls.dm"
+#include "code\game\objects\items\sharpener.dm"
+#include "code\game\objects\items\shields.dm"
+#include "code\game\objects\items\shooting_range.dm"
+#include "code\game\objects\items\signs.dm"
+#include "code\game\objects\items\singularityhammer.dm"
+#include "code\game\objects\items\stunbaton.dm"
+#include "code\game\objects\items\taster.dm"
+#include "code\game\objects\items\teleportation.dm"
+#include "code\game\objects\items\teleprod.dm"
+#include "code\game\objects\items\telescopic_iv.dm"
+#include "code\game\objects\items\theft_tools.dm"
+#include "code\game\objects\items\toys.dm"
+#include "code\game\objects\items\trash.dm"
+#include "code\game\objects\items\twohanded.dm"
+#include "code\game\objects\items\vending_items.dm"
+#include "code\game\objects\items\weaponry.dm"
+#include "code\game\objects\items\circuitboards\circuitboard.dm"
+#include "code\game\objects\items\circuitboards\computer_circuitboards.dm"
+#include "code\game\objects\items\circuitboards\machine_circuitboards.dm"
+#include "code\game\objects\items\devices\aicard.dm"
+#include "code\game\objects\items\devices\anomaly_neutralizer.dm"
+#include "code\game\objects\items\devices\beacon.dm"
+#include "code\game\objects\items\devices\camera_bug.dm"
+#include "code\game\objects\items\devices\chameleonproj.dm"
+#include "code\game\objects\items\devices\compressionkit.dm"
+#include "code\game\objects\items\devices\desynchronizer.dm"
+#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\flashlight.dm"
+#include "code\game\objects\items\devices\forcefieldprojector.dm"
+#include "code\game\objects\items\devices\geiger_counter.dm"
+#include "code\game\objects\items\devices\glue.dm"
+#include "code\game\objects\items\devices\gps.dm"
+#include "code\game\objects\items\devices\instruments.dm"
+#include "code\game\objects\items\devices\laserpointer.dm"
+#include "code\game\objects\items\devices\lightreplacer.dm"
+#include "code\game\objects\items\devices\megaphone.dm"
+#include "code\game\objects\items\devices\multitool.dm"
+#include "code\game\objects\items\devices\paicard.dm"
+#include "code\game\objects\items\devices\pipe_painter.dm"
+#include "code\game\objects\items\devices\powersink.dm"
+#include "code\game\objects\items\devices\pressureplates.dm"
+#include "code\game\objects\items\devices\quantum_keycard.dm"
+#include "code\game\objects\items\devices\reverse_bear_trap.dm"
+#include "code\game\objects\items\devices\scanners.dm"
+#include "code\game\objects\items\devices\sensor_device.dm"
+#include "code\game\objects\items\devices\taperecorder.dm"
+#include "code\game\objects\items\devices\traitordevices.dm"
+#include "code\game\objects\items\devices\transfer_valve.dm"
+#include "code\game\objects\items\devices\PDA\cart.dm"
+#include "code\game\objects\items\devices\PDA\PDA.dm"
+#include "code\game\objects\items\devices\PDA\PDA_types.dm"
+#include "code\game\objects\items\devices\PDA\radio.dm"
+#include "code\game\objects\items\devices\PDA\virus_cart.dm"
+#include "code\game\objects\items\devices\radio\electropack.dm"
+#include "code\game\objects\items\devices\radio\encryptionkey.dm"
+#include "code\game\objects\items\devices\radio\headset.dm"
+#include "code\game\objects\items\devices\radio\intercom.dm"
+#include "code\game\objects\items\devices\radio\radio.dm"
+#include "code\game\objects\items\grenades\antigravity.dm"
+#include "code\game\objects\items\grenades\chem_grenade.dm"
+#include "code\game\objects\items\grenades\clusterbuster.dm"
+#include "code\game\objects\items\grenades\emgrenade.dm"
+#include "code\game\objects\items\grenades\flashbang.dm"
+#include "code\game\objects\items\grenades\ghettobomb.dm"
+#include "code\game\objects\items\grenades\grenade.dm"
+#include "code\game\objects\items\grenades\plastic.dm"
+#include "code\game\objects\items\grenades\smokebomb.dm"
+#include "code\game\objects\items\grenades\spawnergrenade.dm"
+#include "code\game\objects\items\grenades\syndieminibomb.dm"
+#include "code\game\objects\items\implants\implant.dm"
+#include "code\game\objects\items\implants\implant_abductor.dm"
+#include "code\game\objects\items\implants\implant_chem.dm"
+#include "code\game\objects\items\implants\implant_clown.dm"
+#include "code\game\objects\items\implants\implant_exile.dm"
+#include "code\game\objects\items\implants\implant_explosive.dm"
+#include "code\game\objects\items\implants\implant_freedom.dm"
+#include "code\game\objects\items\implants\implant_hijack.dm"
+#include "code\game\objects\items\implants\implant_krav_maga.dm"
+#include "code\game\objects\items\implants\implant_mindshield.dm"
+#include "code\game\objects\items\implants\implant_misc.dm"
+#include "code\game\objects\items\implants\implant_radio.dm"
+#include "code\game\objects\items\implants\implant_spell.dm"
+#include "code\game\objects\items\implants\implant_stealth.dm"
+#include "code\game\objects\items\implants\implant_storage.dm"
+#include "code\game\objects\items\implants\implant_track.dm"
+#include "code\game\objects\items\implants\implant_uplink.dm"
+#include "code\game\objects\items\implants\implantcase.dm"
+#include "code\game\objects\items\implants\implantchair.dm"
+#include "code\game\objects\items\implants\implanter.dm"
+#include "code\game\objects\items\implants\implantpad.dm"
+#include "code\game\objects\items\melee\energy.dm"
+#include "code\game\objects\items\melee\misc.dm"
+#include "code\game\objects\items\melee\transforming.dm"
+#include "code\game\objects\items\robot\ai_upgrades.dm"
+#include "code\game\objects\items\robot\robot_items.dm"
+#include "code\game\objects\items\robot\robot_parts.dm"
+#include "code\game\objects\items\robot\robot_upgrades.dm"
+#include "code\game\objects\items\stacks\bscrystal.dm"
+#include "code\game\objects\items\stacks\cash.dm"
+#include "code\game\objects\items\stacks\medical.dm"
+#include "code\game\objects\items\stacks\rods.dm"
+#include "code\game\objects\items\stacks\stack.dm"
+#include "code\game\objects\items\stacks\telecrystal.dm"
+#include "code\game\objects\items\stacks\wrap.dm"
+#include "code\game\objects\items\stacks\sheets\glass.dm"
+#include "code\game\objects\items\stacks\sheets\leather.dm"
+#include "code\game\objects\items\stacks\sheets\light.dm"
+#include "code\game\objects\items\stacks\sheets\mineral.dm"
+#include "code\game\objects\items\stacks\sheets\sheet_types.dm"
+#include "code\game\objects\items\stacks\sheets\sheets.dm"
+#include "code\game\objects\items\stacks\tiles\light.dm"
+#include "code\game\objects\items\stacks\tiles\tile_mineral.dm"
+#include "code\game\objects\items\stacks\tiles\tile_types.dm"
+#include "code\game\objects\items\storage\backpack.dm"
+#include "code\game\objects\items\storage\bags.dm"
+#include "code\game\objects\items\storage\belt.dm"
+#include "code\game\objects\items\storage\book.dm"
+#include "code\game\objects\items\storage\boxes.dm"
+#include "code\game\objects\items\storage\briefcase.dm"
+#include "code\game\objects\items\storage\dakis.dm"
+#include "code\game\objects\items\storage\fancy.dm"
+#include "code\game\objects\items\storage\firstaid.dm"
+#include "code\game\objects\items\storage\lockbox.dm"
+#include "code\game\objects\items\storage\secure.dm"
+#include "code\game\objects\items\storage\storage.dm"
+#include "code\game\objects\items\storage\toolbox.dm"
+#include "code\game\objects\items\storage\uplink_kits.dm"
+#include "code\game\objects\items\storage\wallets.dm"
+#include "code\game\objects\items\tanks\jetpack.dm"
+#include "code\game\objects\items\tanks\tank_types.dm"
+#include "code\game\objects\items\tanks\tanks.dm"
+#include "code\game\objects\items\tanks\watertank.dm"
+#include "code\game\objects\items\tools\crowbar.dm"
+#include "code\game\objects\items\tools\screwdriver.dm"
+#include "code\game\objects\items\tools\weldingtool.dm"
+#include "code\game\objects\items\tools\wirecutters.dm"
+#include "code\game\objects\items\tools\wrench.dm"
+#include "code\game\objects\structures\ai_core.dm"
+#include "code\game\objects\structures\aliens.dm"
+#include "code\game\objects\structures\artstuff.dm"
+#include "code\game\objects\structures\barsigns.dm"
+#include "code\game\objects\structures\bedsheet_bin.dm"
+#include "code\game\objects\structures\chess.dm"
+#include "code\game\objects\structures\destructible_structures.dm"
+#include "code\game\objects\structures\displaycase.dm"
+#include "code\game\objects\structures\divine.dm"
+#include "code\game\objects\structures\door_assembly.dm"
+#include "code\game\objects\structures\door_assembly_types.dm"
+#include "code\game\objects\structures\dresser.dm"
+#include "code\game\objects\structures\electricchair.dm"
+#include "code\game\objects\structures\extinguisher.dm"
+#include "code\game\objects\structures\false_walls.dm"
+#include "code\game\objects\structures\femur_breaker.dm"
+#include "code\game\objects\structures\fence.dm"
+#include "code\game\objects\structures\fireaxe.dm"
+#include "code\game\objects\structures\fireplace.dm"
+#include "code\game\objects\structures\flora.dm"
+#include "code\game\objects\structures\fluff.dm"
+#include "code\game\objects\structures\ghost_role_spawners.dm"
+#include "code\game\objects\structures\girders.dm"
+#include "code\game\objects\structures\grille.dm"
+#include "code\game\objects\structures\guillotine.dm"
+#include "code\game\objects\structures\guncase.dm"
+#include "code\game\objects\structures\headpike.dm"
+#include "code\game\objects\structures\hivebot.dm"
+#include "code\game\objects\structures\holosign.dm"
+#include "code\game\objects\structures\janicart.dm"
+#include "code\game\objects\structures\kitchen_spike.dm"
+#include "code\game\objects\structures\ladders.dm"
+#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\manned_turret.dm"
+#include "code\game\objects\structures\memorial.dm"
+#include "code\game\objects\structures\mineral_doors.dm"
+#include "code\game\objects\structures\mirror.dm"
+#include "code\game\objects\structures\mop_bucket.dm"
+#include "code\game\objects\structures\morgue.dm"
+#include "code\game\objects\structures\musician.dm"
+#include "code\game\objects\structures\noticeboard.dm"
+#include "code\game\objects\structures\petrified_statue.dm"
+#include "code\game\objects\structures\plasticflaps.dm"
+#include "code\game\objects\structures\reflector.dm"
+#include "code\game\objects\structures\safe.dm"
+#include "code\game\objects\structures\showcase.dm"
+#include "code\game\objects\structures\spawner.dm"
+#include "code\game\objects\structures\spirit_board.dm"
+#include "code\game\objects\structures\stairs.dm"
+#include "code\game\objects\structures\statues.dm"
+#include "code\game\objects\structures\table_frames.dm"
+#include "code\game\objects\structures\tables_racks.dm"
+#include "code\game\objects\structures\tank_dispenser.dm"
+#include "code\game\objects\structures\target_stake.dm"
+#include "code\game\objects\structures\traps.dm"
+#include "code\game\objects\structures\watercloset.dm"
+#include "code\game\objects\structures\windoor_assembly.dm"
+#include "code\game\objects\structures\window.dm"
+#include "code\game\objects\structures\beds_chairs\alien_nest.dm"
+#include "code\game\objects\structures\beds_chairs\bed.dm"
+#include "code\game\objects\structures\beds_chairs\chair.dm"
+#include "code\game\objects\structures\beds_chairs\pew.dm"
+#include "code\game\objects\structures\beds_chairs\sofa.dm"
+#include "code\game\objects\structures\crates_lockers\closets.dm"
+#include "code\game\objects\structures\crates_lockers\crates.dm"
+#include "code\game\objects\structures\crates_lockers\closets\bodybag.dm"
+#include "code\game\objects\structures\crates_lockers\closets\cardboardbox.dm"
+#include "code\game\objects\structures\crates_lockers\closets\fitness.dm"
+#include "code\game\objects\structures\crates_lockers\closets\genpop.dm"
+#include "code\game\objects\structures\crates_lockers\closets\gimmick.dm"
+#include "code\game\objects\structures\crates_lockers\closets\job_closets.dm"
+#include "code\game\objects\structures\crates_lockers\closets\l3closet.dm"
+#include "code\game\objects\structures\crates_lockers\closets\syndicate.dm"
+#include "code\game\objects\structures\crates_lockers\closets\utility_closets.dm"
+#include "code\game\objects\structures\crates_lockers\closets\wardrobe.dm"
+#include "code\game\objects\structures\crates_lockers\closets\secure\bar.dm"
+#include "code\game\objects\structures\crates_lockers\closets\secure\cargo.dm"
+#include "code\game\objects\structures\crates_lockers\closets\secure\engineering.dm"
+#include "code\game\objects\structures\crates_lockers\closets\secure\freezer.dm"
+#include "code\game\objects\structures\crates_lockers\closets\secure\hydroponics.dm"
+#include "code\game\objects\structures\crates_lockers\closets\secure\medical.dm"
+#include "code\game\objects\structures\crates_lockers\closets\secure\misc.dm"
+#include "code\game\objects\structures\crates_lockers\closets\secure\personal.dm"
+#include "code\game\objects\structures\crates_lockers\closets\secure\scientist.dm"
+#include "code\game\objects\structures\crates_lockers\closets\secure\secure_closets.dm"
+#include "code\game\objects\structures\crates_lockers\closets\secure\security.dm"
+#include "code\game\objects\structures\crates_lockers\crates\bins.dm"
+#include "code\game\objects\structures\crates_lockers\crates\critter.dm"
+#include "code\game\objects\structures\crates_lockers\crates\large.dm"
+#include "code\game\objects\structures\crates_lockers\crates\secure.dm"
+#include "code\game\objects\structures\crates_lockers\crates\wooden.dm"
+#include "code\game\objects\structures\lavaland\necropolis_tendril.dm"
+#include "code\game\objects\structures\signs\_signs.dm"
+#include "code\game\objects\structures\signs\signs_departments.dm"
+#include "code\game\objects\structures\signs\signs_maps.dm"
+#include "code\game\objects\structures\signs\signs_plaques.dm"
+#include "code\game\objects\structures\signs\signs_warning.dm"
+#include "code\game\objects\structures\transit_tubes\station.dm"
+#include "code\game\objects\structures\transit_tubes\transit_tube.dm"
+#include "code\game\objects\structures\transit_tubes\transit_tube_construction.dm"
+#include "code\game\objects\structures\transit_tubes\transit_tube_pod.dm"
+#include "code\game\turfs\baseturf_skipover.dm"
+#include "code\game\turfs\change_turf.dm"
+#include "code\game\turfs\closed.dm"
+#include "code\game\turfs\open.dm"
+#include "code\game\turfs\turf.dm"
+#include "code\game\turfs\openspace\openspace.dm"
+#include "code\game\turfs\simulated\chasm.dm"
+#include "code\game\turfs\simulated\dirtystation.dm"
+#include "code\game\turfs\simulated\floor.dm"
+#include "code\game\turfs\simulated\lava.dm"
+#include "code\game\turfs\simulated\minerals.dm"
+#include "code\game\turfs\simulated\reebe_void.dm"
+#include "code\game\turfs\simulated\river.dm"
+#include "code\game\turfs\simulated\walls.dm"
+#include "code\game\turfs\simulated\water.dm"
+#include "code\game\turfs\simulated\floor\fancy_floor.dm"
+#include "code\game\turfs\simulated\floor\light_floor.dm"
+#include "code\game\turfs\simulated\floor\mineral_floor.dm"
+#include "code\game\turfs\simulated\floor\misc_floor.dm"
+#include "code\game\turfs\simulated\floor\plasteel_floor.dm"
+#include "code\game\turfs\simulated\floor\plating.dm"
+#include "code\game\turfs\simulated\floor\reinf_floor.dm"
+#include "code\game\turfs\simulated\floor\plating\asteroid.dm"
+#include "code\game\turfs\simulated\floor\plating\dirt.dm"
+#include "code\game\turfs\simulated\floor\plating\misc_plating.dm"
+#include "code\game\turfs\simulated\wall\mineral_walls.dm"
+#include "code\game\turfs\simulated\wall\misc_walls.dm"
+#include "code\game\turfs\simulated\wall\reinf_walls.dm"
+#include "code\game\turfs\space\space.dm"
+#include "code\game\turfs\space\transit.dm"
+#include "code\modules\admin\admin.dm"
+#include "code\modules\admin\admin_investigate.dm"
+#include "code\modules\admin\admin_ranks.dm"
+#include "code\modules\admin\admin_verbs.dm"
+#include "code\modules\admin\adminmenu.dm"
+#include "code\modules\admin\antag_panel.dm"
+#include "code\modules\admin\banjob.dm"
+#include "code\modules\admin\chat_commands.dm"
+#include "code\modules\admin\check_antagonists.dm"
+#include "code\modules\admin\create_mob.dm"
+#include "code\modules\admin\create_object.dm"
+#include "code\modules\admin\create_poll.dm"
+#include "code\modules\admin\create_turf.dm"
+#include "code\modules\admin\fun_balloon.dm"
+#include "code\modules\admin\holder2.dm"
+#include "code\modules\admin\ipintel.dm"
+#include "code\modules\admin\IsBanned.dm"
+#include "code\modules\admin\NewBan.dm"
+#include "code\modules\admin\permissionedit.dm"
+#include "code\modules\admin\player_panel.dm"
+#include "code\modules\admin\secrets.dm"
+#include "code\modules\admin\sound_emitter.dm"
+#include "code\modules\admin\sql_message_system.dm"
+#include "code\modules\admin\stickyban.dm"
+#include "code\modules\admin\topic.dm"
+#include "code\modules\admin\whitelist.dm"
+#include "code\modules\admin\DB_ban\functions.dm"
+#include "code\modules\admin\verbs\adminhelp.dm"
+#include "code\modules\admin\verbs\adminjump.dm"
+#include "code\modules\admin\verbs\adminpm.dm"
+#include "code\modules\admin\verbs\adminsay.dm"
+#include "code\modules\admin\verbs\ak47s.dm"
+#include "code\modules\admin\verbs\atmosdebug.dm"
+#include "code\modules\admin\verbs\bluespacearty.dm"
+#include "code\modules\admin\verbs\borgpanel.dm"
+#include "code\modules\admin\verbs\BrokenInhands.dm"
+#include "code\modules\admin\verbs\cinematic.dm"
+#include "code\modules\admin\verbs\deadsay.dm"
+#include "code\modules\admin\verbs\debug.dm"
+#include "code\modules\admin\verbs\diagnostics.dm"
+#include "code\modules\admin\verbs\dice.dm"
+#include "code\modules\admin\verbs\fps.dm"
+#include "code\modules\admin\verbs\getlogs.dm"
+#include "code\modules\admin\verbs\individual_logging.dm"
+#include "code\modules\admin\verbs\machine_upgrade.dm"
+#include "code\modules\admin\verbs\manipulate_organs.dm"
+#include "code\modules\admin\verbs\map_template_loadverb.dm"
+#include "code\modules\admin\verbs\mapping.dm"
+#include "code\modules\admin\verbs\maprotation.dm"
+#include "code\modules\admin\verbs\massmodvar.dm"
+#include "code\modules\admin\verbs\modifyvariables.dm"
+#include "code\modules\admin\verbs\one_click_antag.dm"
+#include "code\modules\admin\verbs\onlyone.dm"
+#include "code\modules\admin\verbs\panicbunker.dm"
+#include "code\modules\admin\verbs\playsound.dm"
+#include "code\modules\admin\verbs\possess.dm"
+#include "code\modules\admin\verbs\pray.dm"
+#include "code\modules\admin\verbs\randomverbs.dm"
+#include "code\modules\admin\verbs\reestablish_db_connection.dm"
+#include "code\modules\admin\verbs\spawnobjasmob.dm"
+#include "code\modules\admin\verbs\tripAI.dm"
+#include "code\modules\admin\verbs\SDQL2\SDQL_2.dm"
+#include "code\modules\admin\verbs\SDQL2\SDQL_2_parser.dm"
+#include "code\modules\admin\verbs\SDQL2\SDQL_2_wrappers.dm"
+#include "code\modules\antagonists\_common\antag_datum.dm"
+#include "code\modules\antagonists\_common\antag_helpers.dm"
+#include "code\modules\antagonists\_common\antag_hud.dm"
+#include "code\modules\antagonists\_common\antag_spawner.dm"
+#include "code\modules\antagonists\_common\antag_team.dm"
+#include "code\modules\antagonists\abductor\abductor.dm"
+#include "code\modules\antagonists\abductor\abductee\abductee.dm"
+#include "code\modules\antagonists\abductor\abductee\abductee_objectives.dm"
+#include "code\modules\antagonists\abductor\abductee\trauma.dm"
+#include "code\modules\antagonists\abductor\equipment\abduction_gear.dm"
+#include "code\modules\antagonists\abductor\equipment\abduction_outfits.dm"
+#include "code\modules\antagonists\abductor\equipment\abduction_surgery.dm"
+#include "code\modules\antagonists\abductor\equipment\gland.dm"
+#include "code\modules\antagonists\abductor\equipment\glands\access.dm"
+#include "code\modules\antagonists\abductor\equipment\glands\blood.dm"
+#include "code\modules\antagonists\abductor\equipment\glands\chem.dm"
+#include "code\modules\antagonists\abductor\equipment\glands\egg.dm"
+#include "code\modules\antagonists\abductor\equipment\glands\electric.dm"
+#include "code\modules\antagonists\abductor\equipment\glands\heal.dm"
+#include "code\modules\antagonists\abductor\equipment\glands\mindshock.dm"
+#include "code\modules\antagonists\abductor\equipment\glands\plasma.dm"
+#include "code\modules\antagonists\abductor\equipment\glands\quantum.dm"
+#include "code\modules\antagonists\abductor\equipment\glands\slime.dm"
+#include "code\modules\antagonists\abductor\equipment\glands\spider.dm"
+#include "code\modules\antagonists\abductor\equipment\glands\transform.dm"
+#include "code\modules\antagonists\abductor\equipment\glands\trauma.dm"
+#include "code\modules\antagonists\abductor\equipment\glands\ventcrawl.dm"
+#include "code\modules\antagonists\abductor\equipment\glands\viral.dm"
+#include "code\modules\antagonists\abductor\machinery\camera.dm"
+#include "code\modules\antagonists\abductor\machinery\console.dm"
+#include "code\modules\antagonists\abductor\machinery\dispenser.dm"
+#include "code\modules\antagonists\abductor\machinery\experiment.dm"
+#include "code\modules\antagonists\abductor\machinery\pad.dm"
+#include "code\modules\antagonists\blob\blob.dm"
+#include "code\modules\antagonists\blob\blob\blob_report.dm"
+#include "code\modules\antagonists\blob\blob\overmind.dm"
+#include "code\modules\antagonists\blob\blob\powers.dm"
+#include "code\modules\antagonists\blob\blob\theblob.dm"
+#include "code\modules\antagonists\blob\blob\blobs\blob_mobs.dm"
+#include "code\modules\antagonists\blob\blob\blobs\core.dm"
+#include "code\modules\antagonists\blob\blob\blobs\factory.dm"
+#include "code\modules\antagonists\blob\blob\blobs\node.dm"
+#include "code\modules\antagonists\blob\blob\blobs\resource.dm"
+#include "code\modules\antagonists\blob\blob\blobs\shield.dm"
+#include "code\modules\antagonists\blob\blob\blobstrains\_blobstrain.dm"
+#include "code\modules\antagonists\blob\blob\blobstrains\_reagent.dm"
+#include "code\modules\antagonists\blob\blob\blobstrains\blazing_oil.dm"
+#include "code\modules\antagonists\blob\blob\blobstrains\cryogenic_poison.dm"
+#include "code\modules\antagonists\blob\blob\blobstrains\electromagnetic_web.dm"
+#include "code\modules\antagonists\blob\blob\blobstrains\energized_jelly.dm"
+#include "code\modules\antagonists\blob\blob\blobstrains\explosive_lattice.dm"
+#include "code\modules\antagonists\blob\blob\blobstrains\multiplex.dm"
+#include "code\modules\antagonists\blob\blob\blobstrains\networked_fibers.dm"
+#include "code\modules\antagonists\blob\blob\blobstrains\pressurized_slime.dm"
+#include "code\modules\antagonists\blob\blob\blobstrains\reactive_spines.dm"
+#include "code\modules\antagonists\blob\blob\blobstrains\regenerative_materia.dm"
+#include "code\modules\antagonists\blob\blob\blobstrains\replicating_foam.dm"
+#include "code\modules\antagonists\blob\blob\blobstrains\shifting_fragments.dm"
+#include "code\modules\antagonists\blob\blob\blobstrains\synchronous_mesh.dm"
+#include "code\modules\antagonists\blob\blob\blobstrains\zombifying_pods.dm"
+#include "code\modules\antagonists\blood_contract\blood_contract.dm"
+#include "code\modules\antagonists\bloodsucker\bloodsucker_flaws.dm"
+#include "code\modules\antagonists\bloodsucker\bloodsucker_integration.dm"
+#include "code\modules\antagonists\bloodsucker\bloodsucker_life.dm"
+#include "code\modules\antagonists\bloodsucker\bloodsucker_objectives.dm"
+#include "code\modules\antagonists\bloodsucker\bloodsucker_powers.dm"
+#include "code\modules\antagonists\bloodsucker\bloodsucker_sunlight.dm"
+#include "code\modules\antagonists\bloodsucker\bloodsucker_ui.dm"
+#include "code\modules\antagonists\bloodsucker\datum_bloodsucker.dm"
+#include "code\modules\antagonists\bloodsucker\datum_hunter.dm"
+#include "code\modules\antagonists\bloodsucker\datum_vassal.dm"
+#include "code\modules\antagonists\bloodsucker\items\bloodsucker_organs.dm"
+#include "code\modules\antagonists\bloodsucker\items\bloodsucker_stake.dm"
+#include "code\modules\antagonists\bloodsucker\objects\bloodsucker_coffin.dm"
+#include "code\modules\antagonists\bloodsucker\objects\bloodsucker_crypt.dm"
+#include "code\modules\antagonists\bloodsucker\objects\bloodsucker_lair.dm"
+#include "code\modules\antagonists\bloodsucker\powers\brawn.dm"
+#include "code\modules\antagonists\bloodsucker\powers\cloak.dm"
+#include "code\modules\antagonists\bloodsucker\powers\feed.dm"
+#include "code\modules\antagonists\bloodsucker\powers\fortitude.dm"
+#include "code\modules\antagonists\bloodsucker\powers\go_home.dm"
+#include "code\modules\antagonists\bloodsucker\powers\haste.dm"
+#include "code\modules\antagonists\bloodsucker\powers\lunge.dm"
+#include "code\modules\antagonists\bloodsucker\powers\masquerade.dm"
+#include "code\modules\antagonists\bloodsucker\powers\mesmerize.dm"
+#include "code\modules\antagonists\bloodsucker\powers\recuperate.dm"
+#include "code\modules\antagonists\bloodsucker\powers\trespass.dm"
+#include "code\modules\antagonists\bloodsucker\powers\veil.dm"
+#include "code\modules\antagonists\brainwashing\brainwashing.dm"
+#include "code\modules\antagonists\brother\brother.dm"
+#include "code\modules\antagonists\changeling\cellular_emporium.dm"
+#include "code\modules\antagonists\changeling\changeling.dm"
+#include "code\modules\antagonists\changeling\changeling_power.dm"
+#include "code\modules\antagonists\changeling\powers\absorb.dm"
+#include "code\modules\antagonists\changeling\powers\adrenaline.dm"
+#include "code\modules\antagonists\changeling\powers\augmented_eyesight.dm"
+#include "code\modules\antagonists\changeling\powers\biodegrade.dm"
+#include "code\modules\antagonists\changeling\powers\chameleon_skin.dm"
+#include "code\modules\antagonists\changeling\powers\digitalcamo.dm"
+#include "code\modules\antagonists\changeling\powers\fakedeath.dm"
+#include "code\modules\antagonists\changeling\powers\fleshmend.dm"
+#include "code\modules\antagonists\changeling\powers\headcrab.dm"
+#include "code\modules\antagonists\changeling\powers\hivemind.dm"
+#include "code\modules\antagonists\changeling\powers\humanform.dm"
+#include "code\modules\antagonists\changeling\powers\lesserform.dm"
+#include "code\modules\antagonists\changeling\powers\linglink.dm"
+#include "code\modules\antagonists\changeling\powers\mimic_voice.dm"
+#include "code\modules\antagonists\changeling\powers\mutations.dm"
+#include "code\modules\antagonists\changeling\powers\panacea.dm"
+#include "code\modules\antagonists\changeling\powers\pheromone_receptors.dm"
+#include "code\modules\antagonists\changeling\powers\regenerate.dm"
+#include "code\modules\antagonists\changeling\powers\revive.dm"
+#include "code\modules\antagonists\changeling\powers\shriek.dm"
+#include "code\modules\antagonists\changeling\powers\spiders.dm"
+#include "code\modules\antagonists\changeling\powers\strained_muscles.dm"
+#include "code\modules\antagonists\changeling\powers\tiny_prick.dm"
+#include "code\modules\antagonists\changeling\powers\transform.dm"
+#include "code\modules\antagonists\clockcult\clock_effect.dm"
+#include "code\modules\antagonists\clockcult\clock_item.dm"
+#include "code\modules\antagonists\clockcult\clock_mobs.dm"
+#include "code\modules\antagonists\clockcult\clock_scripture.dm"
+#include "code\modules\antagonists\clockcult\clock_structure.dm"
+#include "code\modules\antagonists\clockcult\clockcult.dm"
+#include "code\modules\antagonists\clockcult\clock_effects\city_of_cogs_rift.dm"
+#include "code\modules\antagonists\clockcult\clock_effects\clock_overlay.dm"
+#include "code\modules\antagonists\clockcult\clock_effects\clock_sigils.dm"
+#include "code\modules\antagonists\clockcult\clock_effects\general_markers.dm"
+#include "code\modules\antagonists\clockcult\clock_effects\servant_blocker.dm"
+#include "code\modules\antagonists\clockcult\clock_effects\spatial_gateway.dm"
+#include "code\modules\antagonists\clockcult\clock_helpers\clock_powerdrain.dm"
+#include "code\modules\antagonists\clockcult\clock_helpers\component_helpers.dm"
+#include "code\modules\antagonists\clockcult\clock_helpers\fabrication_helpers.dm"
+#include "code\modules\antagonists\clockcult\clock_helpers\hierophant_network.dm"
+#include "code\modules\antagonists\clockcult\clock_helpers\power_helpers.dm"
+#include "code\modules\antagonists\clockcult\clock_helpers\ratvarian_language.dm"
+#include "code\modules\antagonists\clockcult\clock_helpers\scripture_checks.dm"
+#include "code\modules\antagonists\clockcult\clock_helpers\slab_abilities.dm"
+#include "code\modules\antagonists\clockcult\clock_items\clock_components.dm"
+#include "code\modules\antagonists\clockcult\clock_items\clockwork_armor.dm"
+#include "code\modules\antagonists\clockcult\clock_items\clockwork_slab.dm"
+#include "code\modules\antagonists\clockcult\clock_items\clockwork_weaponry.dm"
+#include "code\modules\antagonists\clockcult\clock_items\construct_chassis.dm"
+#include "code\modules\antagonists\clockcult\clock_items\integration_cog.dm"
+#include "code\modules\antagonists\clockcult\clock_items\judicial_visor.dm"
+#include "code\modules\antagonists\clockcult\clock_items\replica_fabricator.dm"
+#include "code\modules\antagonists\clockcult\clock_items\soul_vessel.dm"
+#include "code\modules\antagonists\clockcult\clock_items\wraith_spectacles.dm"
+#include "code\modules\antagonists\clockcult\clock_items\clock_weapons\_call_weapon.dm"
+#include "code\modules\antagonists\clockcult\clock_items\clock_weapons\ratvarian_spear.dm"
+#include "code\modules\antagonists\clockcult\clock_mobs\_eminence.dm"
+#include "code\modules\antagonists\clockcult\clock_mobs\clockwork_marauder.dm"
+#include "code\modules\antagonists\clockcult\clock_scriptures\scripture_applications.dm"
+#include "code\modules\antagonists\clockcult\clock_scriptures\scripture_cyborg.dm"
+#include "code\modules\antagonists\clockcult\clock_scriptures\scripture_drivers.dm"
+#include "code\modules\antagonists\clockcult\clock_scriptures\scripture_scripts.dm"
+#include "code\modules\antagonists\clockcult\clock_structures\_trap_object.dm"
+#include "code\modules\antagonists\clockcult\clock_structures\ark_of_the_clockwork_justicar.dm"
+#include "code\modules\antagonists\clockcult\clock_structures\clockwork_obelisk.dm"
+#include "code\modules\antagonists\clockcult\clock_structures\eminence_spire.dm"
+#include "code\modules\antagonists\clockcult\clock_structures\heralds_beacon.dm"
+#include "code\modules\antagonists\clockcult\clock_structures\mania_motor.dm"
+#include "code\modules\antagonists\clockcult\clock_structures\ocular_warden.dm"
+#include "code\modules\antagonists\clockcult\clock_structures\ratvar_the_clockwork_justicar.dm"
+#include "code\modules\antagonists\clockcult\clock_structures\reflector.dm"
+#include "code\modules\antagonists\clockcult\clock_structures\stargazer.dm"
+#include "code\modules\antagonists\clockcult\clock_structures\taunting_trail.dm"
+#include "code\modules\antagonists\clockcult\clock_structures\wall_gear.dm"
+#include "code\modules\antagonists\clockcult\clock_structures\trap_triggers\lever.dm"
+#include "code\modules\antagonists\clockcult\clock_structures\trap_triggers\pressure_sensor.dm"
+#include "code\modules\antagonists\clockcult\clock_structures\trap_triggers\pressure_sensor_mech.dm"
+#include "code\modules\antagonists\clockcult\clock_structures\trap_triggers\repeater.dm"
+#include "code\modules\antagonists\clockcult\clock_structures\traps\brass_skewer.dm"
+#include "code\modules\antagonists\clockcult\clock_structures\traps\power_null.dm"
+#include "code\modules\antagonists\clockcult\clock_structures\traps\steam_vent.dm"
+#include "code\modules\antagonists\collector\collector.dm"
+#include "code\modules\antagonists\cult\blood_magic.dm"
+#include "code\modules\antagonists\cult\cult.dm"
+#include "code\modules\antagonists\cult\cult_comms.dm"
+#include "code\modules\antagonists\cult\cult_items.dm"
+#include "code\modules\antagonists\cult\cult_structures.dm"
+#include "code\modules\antagonists\cult\ritual.dm"
+#include "code\modules\antagonists\cult\rune_spawn_action.dm"
+#include "code\modules\antagonists\cult\runes.dm"
+#include "code\modules\antagonists\devil\devil.dm"
+#include "code\modules\antagonists\devil\devil_helpers.dm"
+#include "code\modules\antagonists\devil\imp\imp.dm"
+#include "code\modules\antagonists\devil\sintouched\objectives.dm"
+#include "code\modules\antagonists\devil\sintouched\sintouched.dm"
+#include "code\modules\antagonists\devil\true_devil\_true_devil.dm"
+#include "code\modules\antagonists\devil\true_devil\inventory.dm"
+#include "code\modules\antagonists\disease\disease_abilities.dm"
+#include "code\modules\antagonists\disease\disease_datum.dm"
+#include "code\modules\antagonists\disease\disease_disease.dm"
+#include "code\modules\antagonists\disease\disease_event.dm"
+#include "code\modules\antagonists\disease\disease_mob.dm"
+#include "code\modules\antagonists\ert\ert.dm"
+#include "code\modules\antagonists\greentext\greentext.dm"
+#include "code\modules\antagonists\greybois\greybois.dm"
+#include "code\modules\antagonists\highlander\highlander.dm"
+#include "code\modules\antagonists\magic_servant\magic_servant.dm"
+#include "code\modules\antagonists\monkey\monkey.dm"
+#include "code\modules\antagonists\morph\morph.dm"
+#include "code\modules\antagonists\morph\morph_antag.dm"
+#include "code\modules\antagonists\nightmare\nightmare.dm"
+#include "code\modules\antagonists\ninja\ninja.dm"
+#include "code\modules\antagonists\nukeop\clownop.dm"
+#include "code\modules\antagonists\nukeop\nukeop.dm"
+#include "code\modules\antagonists\nukeop\equipment\borgchameleon.dm"
+#include "code\modules\antagonists\nukeop\equipment\nuclear_challenge.dm"
+#include "code\modules\antagonists\nukeop\equipment\nuclearbomb.dm"
+#include "code\modules\antagonists\nukeop\equipment\pinpointer.dm"
+#include "code\modules\antagonists\official\official.dm"
+#include "code\modules\antagonists\overthrow\overthrow.dm"
+#include "code\modules\antagonists\overthrow\overthrow_converter.dm"
+#include "code\modules\antagonists\overthrow\overthrow_team.dm"
+#include "code\modules\antagonists\pirate\pirate.dm"
+#include "code\modules\antagonists\revenant\revenant.dm"
+#include "code\modules\antagonists\revenant\revenant_abilities.dm"
+#include "code\modules\antagonists\revenant\revenant_antag.dm"
+#include "code\modules\antagonists\revenant\revenant_blight.dm"
+#include "code\modules\antagonists\revenant\revenant_spawn_event.dm"
+#include "code\modules\antagonists\revolution\revolution.dm"
+#include "code\modules\antagonists\santa\santa.dm"
+#include "code\modules\antagonists\separatist\separatist.dm"
+#include "code\modules\antagonists\slaughter\slaughter.dm"
+#include "code\modules\antagonists\slaughter\slaughter_antag.dm"
+#include "code\modules\antagonists\slaughter\slaughterevent.dm"
+#include "code\modules\antagonists\survivalist\survivalist.dm"
+#include "code\modules\antagonists\swarmer\swarmer.dm"
+#include "code\modules\antagonists\swarmer\swarmer_event.dm"
+#include "code\modules\antagonists\traitor\datum_traitor.dm"
+#include "code\modules\antagonists\traitor\syndicate_contract.dm"
+#include "code\modules\antagonists\traitor\equipment\contractor.dm"
+#include "code\modules\antagonists\traitor\equipment\Malf_Modules.dm"
+#include "code\modules\antagonists\traitor\IAA\internal_affairs.dm"
+#include "code\modules\antagonists\valentines\heartbreaker.dm"
+#include "code\modules\antagonists\valentines\valentine.dm"
+#include "code\modules\antagonists\wishgranter\wishgranter.dm"
+#include "code\modules\antagonists\wizard\wizard.dm"
+#include "code\modules\antagonists\wizard\equipment\artefact.dm"
+#include "code\modules\antagonists\wizard\equipment\soulstone.dm"
+#include "code\modules\antagonists\wizard\equipment\spellbook.dm"
+#include "code\modules\antagonists\xeno\xeno.dm"
+#include "code\modules\assembly\assembly.dm"
+#include "code\modules\assembly\bomb.dm"
+#include "code\modules\assembly\doorcontrol.dm"
+#include "code\modules\assembly\flash.dm"
+#include "code\modules\assembly\health.dm"
+#include "code\modules\assembly\helpers.dm"
+#include "code\modules\assembly\holder.dm"
+#include "code\modules\assembly\igniter.dm"
+#include "code\modules\assembly\infrared.dm"
+#include "code\modules\assembly\mousetrap.dm"
+#include "code\modules\assembly\playback.dm"
+#include "code\modules\assembly\proximity.dm"
+#include "code\modules\assembly\shock_kit.dm"
+#include "code\modules\assembly\signaler.dm"
+#include "code\modules\assembly\timer.dm"
+#include "code\modules\assembly\voice.dm"
+#include "code\modules\atmospherics\multiz.dm"
+#include "code\modules\atmospherics\environmental\LINDA_fire.dm"
+#include "code\modules\atmospherics\environmental\LINDA_system.dm"
+#include "code\modules\atmospherics\environmental\LINDA_turf_tile.dm"
+#include "code\modules\atmospherics\gasmixtures\gas_mixture.dm"
+#include "code\modules\atmospherics\gasmixtures\gas_types.dm"
+#include "code\modules\atmospherics\gasmixtures\immutable_mixtures.dm"
+#include "code\modules\atmospherics\gasmixtures\reactions.dm"
+#include "code\modules\atmospherics\machinery\airalarm.dm"
+#include "code\modules\atmospherics\machinery\atmosmachinery.dm"
+#include "code\modules\atmospherics\machinery\datum_pipeline.dm"
+#include "code\modules\atmospherics\machinery\components\components_base.dm"
+#include "code\modules\atmospherics\machinery\components\binary_devices\binary_devices.dm"
+#include "code\modules\atmospherics\machinery\components\binary_devices\circulator.dm"
+#include "code\modules\atmospherics\machinery\components\binary_devices\dp_vent_pump.dm"
+#include "code\modules\atmospherics\machinery\components\binary_devices\passive_gate.dm"
+#include "code\modules\atmospherics\machinery\components\binary_devices\pump.dm"
+#include "code\modules\atmospherics\machinery\components\binary_devices\relief_valve.dm"
+#include "code\modules\atmospherics\machinery\components\binary_devices\valve.dm"
+#include "code\modules\atmospherics\machinery\components\binary_devices\volume_pump.dm"
+#include "code\modules\atmospherics\machinery\components\trinary_devices\filter.dm"
+#include "code\modules\atmospherics\machinery\components\trinary_devices\mixer.dm"
+#include "code\modules\atmospherics\machinery\components\trinary_devices\trinary_devices.dm"
+#include "code\modules\atmospherics\machinery\components\unary_devices\cryo.dm"
+#include "code\modules\atmospherics\machinery\components\unary_devices\heat_exchanger.dm"
+#include "code\modules\atmospherics\machinery\components\unary_devices\outlet_injector.dm"
+#include "code\modules\atmospherics\machinery\components\unary_devices\passive_vent.dm"
+#include "code\modules\atmospherics\machinery\components\unary_devices\portables_connector.dm"
+#include "code\modules\atmospherics\machinery\components\unary_devices\relief_valve.dm"
+#include "code\modules\atmospherics\machinery\components\unary_devices\tank.dm"
+#include "code\modules\atmospherics\machinery\components\unary_devices\thermomachine.dm"
+#include "code\modules\atmospherics\machinery\components\unary_devices\unary_devices.dm"
+#include "code\modules\atmospherics\machinery\components\unary_devices\vent_pump.dm"
+#include "code\modules\atmospherics\machinery\components\unary_devices\vent_scrubber.dm"
+#include "code\modules\atmospherics\machinery\other\meter.dm"
+#include "code\modules\atmospherics\machinery\other\miner.dm"
+#include "code\modules\atmospherics\machinery\pipes\layermanifold.dm"
+#include "code\modules\atmospherics\machinery\pipes\manifold.dm"
+#include "code\modules\atmospherics\machinery\pipes\manifold4w.dm"
+#include "code\modules\atmospherics\machinery\pipes\mapping.dm"
+#include "code\modules\atmospherics\machinery\pipes\pipes.dm"
+#include "code\modules\atmospherics\machinery\pipes\simple.dm"
+#include "code\modules\atmospherics\machinery\pipes\heat_exchange\he_pipes.dm"
+#include "code\modules\atmospherics\machinery\pipes\heat_exchange\junction.dm"
+#include "code\modules\atmospherics\machinery\pipes\heat_exchange\manifold.dm"
+#include "code\modules\atmospherics\machinery\pipes\heat_exchange\manifold4w.dm"
+#include "code\modules\atmospherics\machinery\pipes\heat_exchange\simple.dm"
+#include "code\modules\atmospherics\machinery\portable\canister.dm"
+#include "code\modules\atmospherics\machinery\portable\portable_atmospherics.dm"
+#include "code\modules\atmospherics\machinery\portable\pump.dm"
+#include "code\modules\atmospherics\machinery\portable\scrubber.dm"
+#include "code\modules\awaymissions\away_props.dm"
+#include "code\modules\awaymissions\bluespaceartillery.dm"
+#include "code\modules\awaymissions\capture_the_flag.dm"
+#include "code\modules\awaymissions\corpse.dm"
+#include "code\modules\awaymissions\exile.dm"
+#include "code\modules\awaymissions\gateway.dm"
+#include "code\modules\awaymissions\pamphlet.dm"
+#include "code\modules\awaymissions\signpost.dm"
+#include "code\modules\awaymissions\super_secret_room.dm"
+#include "code\modules\awaymissions\zlevel.dm"
+#include "code\modules\awaymissions\mission_code\Academy.dm"
+#include "code\modules\awaymissions\mission_code\Cabin.dm"
+#include "code\modules\awaymissions\mission_code\caves.dm"
+#include "code\modules\awaymissions\mission_code\centcomAway.dm"
+#include "code\modules\awaymissions\mission_code\challenge.dm"
+#include "code\modules\awaymissions\mission_code\moonoutpost19.dm"
+#include "code\modules\awaymissions\mission_code\murderdome.dm"
+#include "code\modules\awaymissions\mission_code\research.dm"
+#include "code\modules\awaymissions\mission_code\snowdin.dm"
+#include "code\modules\awaymissions\mission_code\spacebattle.dm"
+#include "code\modules\awaymissions\mission_code\stationCollision.dm"
+#include "code\modules\awaymissions\mission_code\undergroundoutpost45.dm"
+#include "code\modules\awaymissions\mission_code\wildwest.dm"
+#include "code\modules\bsql\includes.dm"
+#include "code\modules\buildmode\bm_mode.dm"
+#include "code\modules\buildmode\buildmode.dm"
+#include "code\modules\buildmode\buttons.dm"
+#include "code\modules\buildmode\effects\line.dm"
+#include "code\modules\buildmode\submodes\advanced.dm"
+#include "code\modules\buildmode\submodes\area_edit.dm"
+#include "code\modules\buildmode\submodes\basic.dm"
+#include "code\modules\buildmode\submodes\boom.dm"
+#include "code\modules\buildmode\submodes\copy.dm"
+#include "code\modules\buildmode\submodes\fill.dm"
+#include "code\modules\buildmode\submodes\mapgen.dm"
+#include "code\modules\buildmode\submodes\throwing.dm"
+#include "code\modules\buildmode\submodes\variable_edit.dm"
+#include "code\modules\cargo\bounty.dm"
+#include "code\modules\cargo\bounty_console.dm"
+#include "code\modules\cargo\centcom_podlauncher.dm"
+#include "code\modules\cargo\console.dm"
+#include "code\modules\cargo\export_scanner.dm"
+#include "code\modules\cargo\exports.dm"
+#include "code\modules\cargo\expressconsole.dm"
+#include "code\modules\cargo\gondolapod.dm"
+#include "code\modules\cargo\order.dm"
+#include "code\modules\cargo\packs.dm"
+#include "code\modules\cargo\supplypod.dm"
+#include "code\modules\cargo\supplypod_beacon.dm"
+#include "code\modules\cargo\bounties\assistant.dm"
+#include "code\modules\cargo\bounties\botany.dm"
+#include "code\modules\cargo\bounties\chef.dm"
+#include "code\modules\cargo\bounties\engineering.dm"
+#include "code\modules\cargo\bounties\gardencook.dm"
+#include "code\modules\cargo\bounties\item.dm"
+#include "code\modules\cargo\bounties\mech.dm"
+#include "code\modules\cargo\bounties\medical.dm"
+#include "code\modules\cargo\bounties\mining.dm"
+#include "code\modules\cargo\bounties\reagent.dm"
+#include "code\modules\cargo\bounties\science.dm"
+#include "code\modules\cargo\bounties\security.dm"
+#include "code\modules\cargo\bounties\silly.dm"
+#include "code\modules\cargo\bounties\slime.dm"
+#include "code\modules\cargo\bounties\special.dm"
+#include "code\modules\cargo\bounties\virus.dm"
+#include "code\modules\cargo\exports\food_wine.dm"
+#include "code\modules\cargo\exports\gear.dm"
+#include "code\modules\cargo\exports\large_objects.dm"
+#include "code\modules\cargo\exports\manifest.dm"
+#include "code\modules\cargo\exports\materials.dm"
+#include "code\modules\cargo\exports\organs_robotics.dm"
+#include "code\modules\cargo\exports\parts.dm"
+#include "code\modules\cargo\exports\seeds.dm"
+#include "code\modules\cargo\exports\sheets.dm"
+#include "code\modules\cargo\exports\tools.dm"
+#include "code\modules\cargo\exports\weapons.dm"
+#include "code\modules\cargo\packs\armory.dm"
+#include "code\modules\cargo\packs\costumes_toys.dm"
+#include "code\modules\cargo\packs\emergency.dm"
+#include "code\modules\cargo\packs\engine.dm"
+#include "code\modules\cargo\packs\engineering.dm"
+#include "code\modules\cargo\packs\livestock.dm"
+#include "code\modules\cargo\packs\materials.dm"
+#include "code\modules\cargo\packs\medical.dm"
+#include "code\modules\cargo\packs\misc.dm"
+#include "code\modules\cargo\packs\organic.dm"
+#include "code\modules\cargo\packs\science.dm"
+#include "code\modules\cargo\packs\security.dm"
+#include "code\modules\cargo\packs\service.dm"
+#include "code\modules\cargo\packs\vending.dm"
+#include "code\modules\chatter\chatter.dm"
+#include "code\modules\client\asset_cache.dm"
+#include "code\modules\client\client_colour.dm"
+#include "code\modules\client\client_defines.dm"
+#include "code\modules\client\client_procs.dm"
+#include "code\modules\client\darkmode.dm"
+#include "code\modules\client\message.dm"
+#include "code\modules\client\player_details.dm"
+#include "code\modules\client\preferences.dm"
+#include "code\modules\client\preferences_savefile.dm"
+#include "code\modules\client\preferences_toggles.dm"
+#include "code\modules\client\preferences_vr.dm"
+#include "code\modules\client\verbs\aooc.dm"
+#include "code\modules\client\verbs\etips.dm"
+#include "code\modules\client\verbs\looc.dm"
+#include "code\modules\client\verbs\ooc.dm"
+#include "code\modules\client\verbs\ping.dm"
+#include "code\modules\client\verbs\suicide.dm"
+#include "code\modules\client\verbs\who.dm"
+#include "code\modules\clothing\chameleon.dm"
+#include "code\modules\clothing\clothing.dm"
+#include "code\modules\clothing\ears\_ears.dm"
+#include "code\modules\clothing\glasses\_glasses.dm"
+#include "code\modules\clothing\glasses\disablerglasses.dm"
+#include "code\modules\clothing\glasses\engine_goggles.dm"
+#include "code\modules\clothing\glasses\hud.dm"
+#include "code\modules\clothing\glasses\phantomthief.dm"
+#include "code\modules\clothing\gloves\_gloves.dm"
+#include "code\modules\clothing\gloves\boxing.dm"
+#include "code\modules\clothing\gloves\color.dm"
+#include "code\modules\clothing\gloves\miscellaneous.dm"
+#include "code\modules\clothing\gloves\ring.dm"
+#include "code\modules\clothing\head\_head.dm"
+#include "code\modules\clothing\head\beanie.dm"
+#include "code\modules\clothing\head\cit_hats.dm"
+#include "code\modules\clothing\head\collectable.dm"
+#include "code\modules\clothing\head\hardhat.dm"
+#include "code\modules\clothing\head\helmet.dm"
+#include "code\modules\clothing\head\jobs.dm"
+#include "code\modules\clothing\head\misc.dm"
+#include "code\modules\clothing\head\misc_special.dm"
+#include "code\modules\clothing\head\soft_caps.dm"
+#include "code\modules\clothing\masks\_masks.dm"
+#include "code\modules\clothing\masks\boxing.dm"
+#include "code\modules\clothing\masks\breath.dm"
+#include "code\modules\clothing\masks\gasmask.dm"
+#include "code\modules\clothing\masks\hailer.dm"
+#include "code\modules\clothing\masks\miscellaneous.dm"
+#include "code\modules\clothing\neck\_neck.dm"
+#include "code\modules\clothing\outfits\ert.dm"
+#include "code\modules\clothing\outfits\event.dm"
+#include "code\modules\clothing\outfits\plasmaman.dm"
+#include "code\modules\clothing\outfits\standard.dm"
+#include "code\modules\clothing\outfits\vr.dm"
+#include "code\modules\clothing\outfits\vv_outfit.dm"
+#include "code\modules\clothing\shoes\_shoes.dm"
+#include "code\modules\clothing\shoes\bananashoes.dm"
+#include "code\modules\clothing\shoes\colour.dm"
+#include "code\modules\clothing\shoes\magboots.dm"
+#include "code\modules\clothing\shoes\miscellaneous.dm"
+#include "code\modules\clothing\shoes\taeclowndo.dm"
+#include "code\modules\clothing\spacesuits\_spacesuits.dm"
+#include "code\modules\clothing\spacesuits\chronosuit.dm"
+#include "code\modules\clothing\spacesuits\hardsuit.dm"
+#include "code\modules\clothing\spacesuits\miscellaneous.dm"
+#include "code\modules\clothing\spacesuits\plasmamen.dm"
+#include "code\modules\clothing\spacesuits\syndi.dm"
+#include "code\modules\clothing\suits\_suits.dm"
+#include "code\modules\clothing\suits\armor.dm"
+#include "code\modules\clothing\suits\bio.dm"
+#include "code\modules\clothing\suits\cloaks.dm"
+#include "code\modules\clothing\suits\jobs.dm"
+#include "code\modules\clothing\suits\labcoat.dm"
+#include "code\modules\clothing\suits\miscellaneous.dm"
+#include "code\modules\clothing\suits\reactive_armour.dm"
+#include "code\modules\clothing\suits\toggles.dm"
+#include "code\modules\clothing\suits\utility.dm"
+#include "code\modules\clothing\suits\wiz_robe.dm"
+#include "code\modules\clothing\under\_under.dm"
+#include "code\modules\clothing\under\accessories.dm"
+#include "code\modules\clothing\under\color.dm"
+#include "code\modules\clothing\under\miscellaneous.dm"
+#include "code\modules\clothing\under\pants.dm"
+#include "code\modules\clothing\under\polychromic_clothes.dm"
+#include "code\modules\clothing\under\shorts.dm"
+#include "code\modules\clothing\under\syndicate.dm"
+#include "code\modules\clothing\under\trek.dm"
+#include "code\modules\clothing\under\jobs\civilian.dm"
+#include "code\modules\clothing\under\jobs\engineering.dm"
+#include "code\modules\clothing\under\jobs\medsci.dm"
+#include "code\modules\clothing\under\jobs\security.dm"
+#include "code\modules\clothing\under\jobs\Plasmaman\civilian_service.dm"
+#include "code\modules\clothing\under\jobs\Plasmaman\engineering.dm"
+#include "code\modules\clothing\under\jobs\Plasmaman\medsci.dm"
+#include "code\modules\clothing\under\jobs\Plasmaman\security.dm"
+#include "code\modules\detectivework\detective_work.dm"
+#include "code\modules\detectivework\evidence.dm"
+#include "code\modules\detectivework\scanner.dm"
+#include "code\modules\emoji\emoji_parse.dm"
+#include "code\modules\error_handler\error_handler.dm"
+#include "code\modules\error_handler\error_viewer.dm"
+#include "code\modules\events\_event.dm"
+#include "code\modules\events\abductor.dm"
+#include "code\modules\events\alien_infestation.dm"
+#include "code\modules\events\anomaly.dm"
+#include "code\modules\events\anomaly_bluespace.dm"
+#include "code\modules\events\anomaly_flux.dm"
+#include "code\modules\events\anomaly_grav.dm"
+#include "code\modules\events\anomaly_pyro.dm"
+#include "code\modules\events\anomaly_vortex.dm"
+#include "code\modules\events\aurora_caelus.dm"
+#include "code\modules\events\blob.dm"
+#include "code\modules\events\brand_intelligence.dm"
+#include "code\modules\events\bureaucratic_error.dm"
+#include "code\modules\events\camerafailure.dm"
+#include "code\modules\events\carp_migration.dm"
+#include "code\modules\events\communications_blackout.dm"
+#include "code\modules\events\devil.dm"
+#include "code\modules\events\disease_outbreak.dm"
+#include "code\modules\events\dust.dm"
+#include "code\modules\events\electrical_storm.dm"
+#include "code\modules\events\false_alarm.dm"
+#include "code\modules\events\ghost_role.dm"
+#include "code\modules\events\grid_check.dm"
+#include "code\modules\events\heart_attack.dm"
+#include "code\modules\events\high_priority_bounty.dm"
+#include "code\modules\events\immovable_rod.dm"
+#include "code\modules\events\ion_storm.dm"
+#include "code\modules\events\major_dust.dm"
+#include "code\modules\events\mass_hallucination.dm"
+#include "code\modules\events\meateor_wave.dm"
+#include "code\modules\events\meteor_wave.dm"
+#include "code\modules\events\mice_migration.dm"
+#include "code\modules\events\nightmare.dm"
+#include "code\modules\events\operative.dm"
+#include "code\modules\events\pirates.dm"
+#include "code\modules\events\portal_storm.dm"
+#include "code\modules\events\prison_break.dm"
+#include "code\modules\events\processor_overload.dm"
+#include "code\modules\events\radiation_storm.dm"
+#include "code\modules\events\sentience.dm"
+#include "code\modules\events\shuttle_loan.dm"
+#include "code\modules\events\spacevine.dm"
+#include "code\modules\events\spider_infestation.dm"
+#include "code\modules\events\spontaneous_appendicitis.dm"
+#include "code\modules\events\vent_clog.dm"
+#include "code\modules\events\wormholes.dm"
+#include "code\modules\events\holiday\halloween.dm"
+#include "code\modules\events\holiday\vday.dm"
+#include "code\modules\events\holiday\xmas.dm"
+#include "code\modules\events\wizard\aid.dm"
+#include "code\modules\events\wizard\blobies.dm"
+#include "code\modules\events\wizard\curseditems.dm"
+#include "code\modules\events\wizard\departmentrevolt.dm"
+#include "code\modules\events\wizard\fakeexplosion.dm"
+#include "code\modules\events\wizard\ghost.dm"
+#include "code\modules\events\wizard\greentext.dm"
+#include "code\modules\events\wizard\imposter.dm"
+#include "code\modules\events\wizard\invincible.dm"
+#include "code\modules\events\wizard\lava.dm"
+#include "code\modules\events\wizard\magicarp.dm"
+#include "code\modules\events\wizard\petsplosion.dm"
+#include "code\modules\events\wizard\race.dm"
+#include "code\modules\events\wizard\rpgloot.dm"
+#include "code\modules\events\wizard\shuffle.dm"
+#include "code\modules\events\wizard\summons.dm"
+#include "code\modules\fields\fields.dm"
+#include "code\modules\fields\gravity.dm"
+#include "code\modules\fields\peaceborg_dampener.dm"
+#include "code\modules\fields\timestop.dm"
+#include "code\modules\fields\turf_objects.dm"
+#include "code\modules\flufftext\Dreaming.dm"
+#include "code\modules\flufftext\Hallucination.dm"
+#include "code\modules\food_and_drinks\autobottler.dm"
+#include "code\modules\food_and_drinks\food.dm"
+#include "code\modules\food_and_drinks\pizzabox.dm"
+#include "code\modules\food_and_drinks\drinks\drinks.dm"
+#include "code\modules\food_and_drinks\drinks\drinks\bottle.dm"
+#include "code\modules\food_and_drinks\drinks\drinks\drinkingglass.dm"
+#include "code\modules\food_and_drinks\food\condiment.dm"
+#include "code\modules\food_and_drinks\food\customizables.dm"
+#include "code\modules\food_and_drinks\food\snacks.dm"
+#include "code\modules\food_and_drinks\food\snacks_bread.dm"
+#include "code\modules\food_and_drinks\food\snacks_burgers.dm"
+#include "code\modules\food_and_drinks\food\snacks_cake.dm"
+#include "code\modules\food_and_drinks\food\snacks_egg.dm"
+#include "code\modules\food_and_drinks\food\snacks_frozen.dm"
+#include "code\modules\food_and_drinks\food\snacks_meat.dm"
+#include "code\modules\food_and_drinks\food\snacks_other.dm"
+#include "code\modules\food_and_drinks\food\snacks_pastry.dm"
+#include "code\modules\food_and_drinks\food\snacks_pie.dm"
+#include "code\modules\food_and_drinks\food\snacks_pizza.dm"
+#include "code\modules\food_and_drinks\food\snacks_salad.dm"
+#include "code\modules\food_and_drinks\food\snacks_sandwichtoast.dm"
+#include "code\modules\food_and_drinks\food\snacks_soup.dm"
+#include "code\modules\food_and_drinks\food\snacks_spaghetti.dm"
+#include "code\modules\food_and_drinks\food\snacks_sushi.dm"
+#include "code\modules\food_and_drinks\food\snacks_vend.dm"
+#include "code\modules\food_and_drinks\food\snacks\dough.dm"
+#include "code\modules\food_and_drinks\food\snacks\meat.dm"
+#include "code\modules\food_and_drinks\kitchen_machinery\deep_fryer.dm"
+#include "code\modules\food_and_drinks\kitchen_machinery\food_cart.dm"
+#include "code\modules\food_and_drinks\kitchen_machinery\gibber.dm"
+#include "code\modules\food_and_drinks\kitchen_machinery\grill.dm"
+#include "code\modules\food_and_drinks\kitchen_machinery\icecream_vat.dm"
+#include "code\modules\food_and_drinks\kitchen_machinery\microwave.dm"
+#include "code\modules\food_and_drinks\kitchen_machinery\monkeyrecycler.dm"
+#include "code\modules\food_and_drinks\kitchen_machinery\processor.dm"
+#include "code\modules\food_and_drinks\kitchen_machinery\smartfridge.dm"
+#include "code\modules\food_and_drinks\recipes\drinks_recipes.dm"
+#include "code\modules\food_and_drinks\recipes\food_mixtures.dm"
+#include "code\modules\food_and_drinks\recipes\processor_recipes.dm"
+#include "code\modules\food_and_drinks\recipes\tablecraft\recipes_bread.dm"
+#include "code\modules\food_and_drinks\recipes\tablecraft\recipes_burger.dm"
+#include "code\modules\food_and_drinks\recipes\tablecraft\recipes_cake.dm"
+#include "code\modules\food_and_drinks\recipes\tablecraft\recipes_donut.dm"
+#include "code\modules\food_and_drinks\recipes\tablecraft\recipes_egg.dm"
+#include "code\modules\food_and_drinks\recipes\tablecraft\recipes_frozen.dm"
+#include "code\modules\food_and_drinks\recipes\tablecraft\recipes_meat.dm"
+#include "code\modules\food_and_drinks\recipes\tablecraft\recipes_mexican.dm"
+#include "code\modules\food_and_drinks\recipes\tablecraft\recipes_misc.dm"
+#include "code\modules\food_and_drinks\recipes\tablecraft\recipes_pastry.dm"
+#include "code\modules\food_and_drinks\recipes\tablecraft\recipes_pies_sweets.dm"
+#include "code\modules\food_and_drinks\recipes\tablecraft\recipes_pizza.dm"
+#include "code\modules\food_and_drinks\recipes\tablecraft\recipes_salad.dm"
+#include "code\modules\food_and_drinks\recipes\tablecraft\recipes_sandwich.dm"
+#include "code\modules\food_and_drinks\recipes\tablecraft\recipes_seafood.dm"
+#include "code\modules\food_and_drinks\recipes\tablecraft\recipes_soup.dm"
+#include "code\modules\food_and_drinks\recipes\tablecraft\recipes_spaghetti.dm"
+#include "code\modules\games\cas.dm"
+#include "code\modules\goonchat\browserOutput.dm"
+#include "code\modules\holiday\easter.dm"
+#include "code\modules\holiday\holidays.dm"
+#include "code\modules\holiday\halloween\bartholomew.dm"
+#include "code\modules\holiday\halloween\jacqueen.dm"
+#include "code\modules\holodeck\area_copy.dm"
+#include "code\modules\holodeck\computer.dm"
+#include "code\modules\holodeck\holo_effect.dm"
+#include "code\modules\holodeck\items.dm"
+#include "code\modules\holodeck\mobs.dm"
+#include "code\modules\holodeck\turfs.dm"
+#include "code\modules\hydroponics\biogenerator.dm"
+#include "code\modules\hydroponics\fermenting_barrel.dm"
+#include "code\modules\hydroponics\gene_modder.dm"
+#include "code\modules\hydroponics\grown.dm"
+#include "code\modules\hydroponics\growninedible.dm"
+#include "code\modules\hydroponics\hydroitemdefines.dm"
+#include "code\modules\hydroponics\hydroponics.dm"
+#include "code\modules\hydroponics\plant_genes.dm"
+#include "code\modules\hydroponics\sample.dm"
+#include "code\modules\hydroponics\seed_extractor.dm"
+#include "code\modules\hydroponics\seeds.dm"
+#include "code\modules\hydroponics\beekeeping\beebox.dm"
+#include "code\modules\hydroponics\beekeeping\beekeeper_suit.dm"
+#include "code\modules\hydroponics\beekeeping\honey_frame.dm"
+#include "code\modules\hydroponics\beekeeping\honeycomb.dm"
+#include "code\modules\hydroponics\grown\ambrosia.dm"
+#include "code\modules\hydroponics\grown\apple.dm"
+#include "code\modules\hydroponics\grown\banana.dm"
+#include "code\modules\hydroponics\grown\beans.dm"
+#include "code\modules\hydroponics\grown\berries.dm"
+#include "code\modules\hydroponics\grown\cannabis.dm"
+#include "code\modules\hydroponics\grown\cereals.dm"
+#include "code\modules\hydroponics\grown\chili.dm"
+#include "code\modules\hydroponics\grown\citrus.dm"
+#include "code\modules\hydroponics\grown\cocoa_vanilla.dm"
+#include "code\modules\hydroponics\grown\corn.dm"
+#include "code\modules\hydroponics\grown\cotton.dm"
+#include "code\modules\hydroponics\grown\eggplant.dm"
+#include "code\modules\hydroponics\grown\flowers.dm"
+#include "code\modules\hydroponics\grown\grass_carpet.dm"
+#include "code\modules\hydroponics\grown\kudzu.dm"
+#include "code\modules\hydroponics\grown\melon.dm"
+#include "code\modules\hydroponics\grown\misc.dm"
+#include "code\modules\hydroponics\grown\mushrooms.dm"
+#include "code\modules\hydroponics\grown\nettle.dm"
+#include "code\modules\hydroponics\grown\onion.dm"
+#include "code\modules\hydroponics\grown\peach.dm"
+#include "code\modules\hydroponics\grown\peanuts.dm"
+#include "code\modules\hydroponics\grown\pineapple.dm"
+#include "code\modules\hydroponics\grown\potato.dm"
+#include "code\modules\hydroponics\grown\pumpkin.dm"
+#include "code\modules\hydroponics\grown\random.dm"
+#include "code\modules\hydroponics\grown\replicapod.dm"
+#include "code\modules\hydroponics\grown\root.dm"
+#include "code\modules\hydroponics\grown\tea_coffee.dm"
+#include "code\modules\hydroponics\grown\tobacco.dm"
+#include "code\modules\hydroponics\grown\tomato.dm"
+#include "code\modules\hydroponics\grown\towercap.dm"
+#include "code\modules\integrated_electronics\_defines.dm"
+#include "code\modules\integrated_electronics\core\analyzer.dm"
+#include "code\modules\integrated_electronics\core\assemblies.dm"
+#include "code\modules\integrated_electronics\core\debugger.dm"
+#include "code\modules\integrated_electronics\core\detailer.dm"
+#include "code\modules\integrated_electronics\core\helpers.dm"
+#include "code\modules\integrated_electronics\core\integrated_circuit.dm"
+#include "code\modules\integrated_electronics\core\pins.dm"
+#include "code\modules\integrated_electronics\core\printer.dm"
+#include "code\modules\integrated_electronics\core\saved_circuits.dm"
+#include "code\modules\integrated_electronics\core\wirer.dm"
+#include "code\modules\integrated_electronics\core\special_pins\boolean_pin.dm"
+#include "code\modules\integrated_electronics\core\special_pins\char_pin.dm"
+#include "code\modules\integrated_electronics\core\special_pins\color_pin.dm"
+#include "code\modules\integrated_electronics\core\special_pins\dir_pin.dm"
+#include "code\modules\integrated_electronics\core\special_pins\index_pin.dm"
+#include "code\modules\integrated_electronics\core\special_pins\list_pin.dm"
+#include "code\modules\integrated_electronics\core\special_pins\number_pin.dm"
+#include "code\modules\integrated_electronics\core\special_pins\ref_pin.dm"
+#include "code\modules\integrated_electronics\core\special_pins\selfref_pin.dm"
+#include "code\modules\integrated_electronics\core\special_pins\string_pin.dm"
+#include "code\modules\integrated_electronics\passive\passive.dm"
+#include "code\modules\integrated_electronics\passive\power.dm"
+#include "code\modules\integrated_electronics\subtypes\access.dm"
+#include "code\modules\integrated_electronics\subtypes\arithmetic.dm"
+#include "code\modules\integrated_electronics\subtypes\atmospherics.dm"
+#include "code\modules\integrated_electronics\subtypes\converters.dm"
+#include "code\modules\integrated_electronics\subtypes\data_transfer.dm"
+#include "code\modules\integrated_electronics\subtypes\input.dm"
+#include "code\modules\integrated_electronics\subtypes\lists.dm"
+#include "code\modules\integrated_electronics\subtypes\logic.dm"
+#include "code\modules\integrated_electronics\subtypes\manipulation.dm"
+#include "code\modules\integrated_electronics\subtypes\memory.dm"
+#include "code\modules\integrated_electronics\subtypes\output.dm"
+#include "code\modules\integrated_electronics\subtypes\power.dm"
+#include "code\modules\integrated_electronics\subtypes\reagents.dm"
+#include "code\modules\integrated_electronics\subtypes\smart.dm"
+#include "code\modules\integrated_electronics\subtypes\text.dm"
+#include "code\modules\integrated_electronics\subtypes\time.dm"
+#include "code\modules\integrated_electronics\subtypes\trig.dm"
+#include "code\modules\integrated_electronics\subtypes\weaponized.dm"
+#include "code\modules\jobs\access.dm"
+#include "code\modules\jobs\job_exp.dm"
+#include "code\modules\jobs\jobs.dm"
+#include "code\modules\jobs\job_types\_job.dm"
+#include "code\modules\jobs\job_types\ai.dm"
+#include "code\modules\jobs\job_types\assistant.dm"
+#include "code\modules\jobs\job_types\atmospheric_technician.dm"
+#include "code\modules\jobs\job_types\bartender.dm"
+#include "code\modules\jobs\job_types\botanist.dm"
+#include "code\modules\jobs\job_types\captain.dm"
+#include "code\modules\jobs\job_types\cargo_technician.dm"
+#include "code\modules\jobs\job_types\chaplain.dm"
+#include "code\modules\jobs\job_types\chemist.dm"
+#include "code\modules\jobs\job_types\chief_engineer.dm"
+#include "code\modules\jobs\job_types\chief_medical_officer.dm"
+#include "code\modules\jobs\job_types\clown.dm"
+#include "code\modules\jobs\job_types\cook.dm"
+#include "code\modules\jobs\job_types\curator.dm"
+#include "code\modules\jobs\job_types\cyborg.dm"
+#include "code\modules\jobs\job_types\detective.dm"
+#include "code\modules\jobs\job_types\geneticist.dm"
+#include "code\modules\jobs\job_types\head_of_personnel.dm"
+#include "code\modules\jobs\job_types\head_of_security.dm"
+#include "code\modules\jobs\job_types\janitor.dm"
+#include "code\modules\jobs\job_types\lawyer.dm"
+#include "code\modules\jobs\job_types\medical_doctor.dm"
+#include "code\modules\jobs\job_types\mime.dm"
+#include "code\modules\jobs\job_types\paramedic.dm"
+#include "code\modules\jobs\job_types\quartermaster.dm"
+#include "code\modules\jobs\job_types\research_director.dm"
+#include "code\modules\jobs\job_types\roboticist.dm"
+#include "code\modules\jobs\job_types\scientist.dm"
+#include "code\modules\jobs\job_types\security_officer.dm"
+#include "code\modules\jobs\job_types\shaft_miner.dm"
+#include "code\modules\jobs\job_types\station_engineer.dm"
+#include "code\modules\jobs\job_types\virologist.dm"
+#include "code\modules\jobs\job_types\warden.dm"
+#include "code\modules\jobs\map_changes\map_changes.dm"
+#include "code\modules\keybindings\bindings_admin.dm"
+#include "code\modules\keybindings\bindings_atom.dm"
+#include "code\modules\keybindings\bindings_carbon.dm"
+#include "code\modules\keybindings\bindings_client.dm"
+#include "code\modules\keybindings\bindings_human.dm"
+#include "code\modules\keybindings\bindings_living.dm"
+#include "code\modules\keybindings\bindings_mob.dm"
+#include "code\modules\keybindings\bindings_robot.dm"
+#include "code\modules\keybindings\focus.dm"
+#include "code\modules\keybindings\setup.dm"
+#include "code\modules\language\aphasia.dm"
+#include "code\modules\language\beachbum.dm"
+#include "code\modules\language\codespeak.dm"
+#include "code\modules\language\common.dm"
+#include "code\modules\language\draconic.dm"
+#include "code\modules\language\drone.dm"
+#include "code\modules\language\dwarven.dm"
+#include "code\modules\language\language.dm"
+#include "code\modules\language\language_holder.dm"
+#include "code\modules\language\language_menu.dm"
+#include "code\modules\language\machine.dm"
+#include "code\modules\language\monkey.dm"
+#include "code\modules\language\mushroom.dm"
+#include "code\modules\language\narsian.dm"
+#include "code\modules\language\ratvarian.dm"
+#include "code\modules\language\slime.dm"
+#include "code\modules\language\swarmer.dm"
+#include "code\modules\language\vampiric.dm"
+#include "code\modules\language\xenocommon.dm"
+#include "code\modules\library\lib_codex_gigas.dm"
+#include "code\modules\library\lib_items.dm"
+#include "code\modules\library\lib_machines.dm"
+#include "code\modules\library\random_books.dm"
+#include "code\modules\library\soapstone.dm"
+#include "code\modules\lighting\lighting_area.dm"
+#include "code\modules\lighting\lighting_atom.dm"
+#include "code\modules\lighting\lighting_corner.dm"
+#include "code\modules\lighting\lighting_object.dm"
+#include "code\modules\lighting\lighting_setup.dm"
+#include "code\modules\lighting\lighting_source.dm"
+#include "code\modules\lighting\lighting_turf.dm"
+#include "code\modules\mapping\dmm_suite.dm"
+#include "code\modules\mapping\map_template.dm"
+#include "code\modules\mapping\preloader.dm"
+#include "code\modules\mapping\reader.dm"
+#include "code\modules\mapping\ruins.dm"
+#include "code\modules\mapping\verify.dm"
+#include "code\modules\mapping\mapping_helpers\_mapping_helpers.dm"
+#include "code\modules\mapping\mapping_helpers\baseturf.dm"
+#include "code\modules\mapping\mapping_helpers\network_builder\_network_builder.dm"
+#include "code\modules\mapping\mapping_helpers\network_builder\atmos_pipe.dm"
+#include "code\modules\mapping\mapping_helpers\network_builder\power_cables.dm"
+#include "code\modules\mapping\space_management\multiz_helpers.dm"
+#include "code\modules\mapping\space_management\space_level.dm"
+#include "code\modules\mapping\space_management\space_reservation.dm"
+#include "code\modules\mapping\space_management\space_transition.dm"
+#include "code\modules\mapping\space_management\traits.dm"
+#include "code\modules\mapping\space_management\zlevel_manager.dm"
+#include "code\modules\mining\abandoned_crates.dm"
+#include "code\modules\mining\aux_base.dm"
+#include "code\modules\mining\aux_base_camera.dm"
+#include "code\modules\mining\fulton.dm"
+#include "code\modules\mining\machine_processing.dm"
+#include "code\modules\mining\machine_redemption.dm"
+#include "code\modules\mining\machine_silo.dm"
+#include "code\modules\mining\machine_stacking.dm"
+#include "code\modules\mining\machine_unloading.dm"
+#include "code\modules\mining\machine_vending.dm"
+#include "code\modules\mining\mine_items.dm"
+#include "code\modules\mining\minebot.dm"
+#include "code\modules\mining\mint.dm"
+#include "code\modules\mining\money_bag.dm"
+#include "code\modules\mining\ores_coins.dm"
+#include "code\modules\mining\point_bank.dm"
+#include "code\modules\mining\satchel_ore_boxdm.dm"
+#include "code\modules\mining\shelters.dm"
+#include "code\modules\mining\equipment\explorer_gear.dm"
+#include "code\modules\mining\equipment\goliath_hide.dm"
+#include "code\modules\mining\equipment\kinetic_crusher.dm"
+#include "code\modules\mining\equipment\lazarus_injector.dm"
+#include "code\modules\mining\equipment\marker_beacons.dm"
+#include "code\modules\mining\equipment\mineral_scanner.dm"
+#include "code\modules\mining\equipment\mining_tools.dm"
+#include "code\modules\mining\equipment\regenerative_core.dm"
+#include "code\modules\mining\equipment\resonator.dm"
+#include "code\modules\mining\equipment\survival_pod.dm"
+#include "code\modules\mining\equipment\vendor_items.dm"
+#include "code\modules\mining\equipment\wormhole_jaunter.dm"
+#include "code\modules\mining\laborcamp\laborshuttle.dm"
+#include "code\modules\mining\laborcamp\laborstacker.dm"
+#include "code\modules\mining\lavaland\ash_flora.dm"
+#include "code\modules\mining\lavaland\necropolis_chests.dm"
+#include "code\modules\mining\lavaland\ruins\gym.dm"
+#include "code\modules\mob\death.dm"
+#include "code\modules\mob\emote.dm"
+#include "code\modules\mob\inventory.dm"
+#include "code\modules\mob\login.dm"
+#include "code\modules\mob\logout.dm"
+#include "code\modules\mob\mob.dm"
+#include "code\modules\mob\mob_defines.dm"
+#include "code\modules\mob\mob_helpers.dm"
+#include "code\modules\mob\mob_movement.dm"
+#include "code\modules\mob\mob_movespeed.dm"
+#include "code\modules\mob\mob_transformation_simple.dm"
+#include "code\modules\mob\say.dm"
+#include "code\modules\mob\say_vr.dm"
+#include "code\modules\mob\status_procs.dm"
+#include "code\modules\mob\transform_procs.dm"
+#include "code\modules\mob\update_icons.dm"
+#include "code\modules\mob\camera\camera.dm"
+#include "code\modules\mob\dead\dead.dm"
+#include "code\modules\mob\dead\new_player\login.dm"
+#include "code\modules\mob\dead\new_player\logout.dm"
+#include "code\modules\mob\dead\new_player\new_player.dm"
+#include "code\modules\mob\dead\new_player\poll.dm"
+#include "code\modules\mob\dead\new_player\preferences_setup.dm"
+#include "code\modules\mob\dead\new_player\sprite_accessories\_sprite_accessories.dm"
+#include "code\modules\mob\dead\new_player\sprite_accessories\alienpeople.dm"
+#include "code\modules\mob\dead\new_player\sprite_accessories\body_markings.dm"
+#include "code\modules\mob\dead\new_player\sprite_accessories\caps.dm"
+#include "code\modules\mob\dead\new_player\sprite_accessories\Citadel_Snowflake.dm"
+#include "code\modules\mob\dead\new_player\sprite_accessories\ears.dm"
+#include "code\modules\mob\dead\new_player\sprite_accessories\frills.dm"
+#include "code\modules\mob\dead\new_player\sprite_accessories\hair_face.dm"
+#include "code\modules\mob\dead\new_player\sprite_accessories\hair_head.dm"
+#include "code\modules\mob\dead\new_player\sprite_accessories\horns.dm"
+#include "code\modules\mob\dead\new_player\sprite_accessories\ipc_synths.dm"
+#include "code\modules\mob\dead\new_player\sprite_accessories\legs_and_taurs.dm"
+#include "code\modules\mob\dead\new_player\sprite_accessories\pines.dm"
+#include "code\modules\mob\dead\new_player\sprite_accessories\snouts.dm"
+#include "code\modules\mob\dead\new_player\sprite_accessories\socks.dm"
+#include "code\modules\mob\dead\new_player\sprite_accessories\tails.dm"
+#include "code\modules\mob\dead\new_player\sprite_accessories\undershirt.dm"
+#include "code\modules\mob\dead\new_player\sprite_accessories\underwear.dm"
+#include "code\modules\mob\dead\new_player\sprite_accessories\wings.dm"
+#include "code\modules\mob\dead\observer\login.dm"
+#include "code\modules\mob\dead\observer\logout.dm"
+#include "code\modules\mob\dead\observer\notificationprefs.dm"
+#include "code\modules\mob\dead\observer\observer.dm"
+#include "code\modules\mob\dead\observer\observer_movement.dm"
+#include "code\modules\mob\dead\observer\say.dm"
+#include "code\modules\mob\living\blood.dm"
+#include "code\modules\mob\living\bloodcrawl.dm"
+#include "code\modules\mob\living\damage_procs.dm"
+#include "code\modules\mob\living\death.dm"
+#include "code\modules\mob\living\emote.dm"
+#include "code\modules\mob\living\life.dm"
+#include "code\modules\mob\living\living.dm"
+#include "code\modules\mob\living\living_defense.dm"
+#include "code\modules\mob\living\living_defines.dm"
+#include "code\modules\mob\living\living_mobility.dm"
+#include "code\modules\mob\living\living_movement.dm"
+#include "code\modules\mob\living\login.dm"
+#include "code\modules\mob\living\logout.dm"
+#include "code\modules\mob\living\say.dm"
+#include "code\modules\mob\living\status_procs.dm"
+#include "code\modules\mob\living\taste.dm"
+#include "code\modules\mob\living\update_icons.dm"
+#include "code\modules\mob\living\ventcrawling.dm"
+#include "code\modules\mob\living\brain\brain.dm"
+#include "code\modules\mob\living\brain\brain_item.dm"
+#include "code\modules\mob\living\brain\death.dm"
+#include "code\modules\mob\living\brain\emote.dm"
+#include "code\modules\mob\living\brain\life.dm"
+#include "code\modules\mob\living\brain\MMI.dm"
+#include "code\modules\mob\living\brain\posibrain.dm"
+#include "code\modules\mob\living\brain\say.dm"
+#include "code\modules\mob\living\brain\status_procs.dm"
+#include "code\modules\mob\living\carbon\carbon.dm"
+#include "code\modules\mob\living\carbon\carbon_defense.dm"
+#include "code\modules\mob\living\carbon\carbon_defines.dm"
+#include "code\modules\mob\living\carbon\carbon_movement.dm"
+#include "code\modules\mob\living\carbon\damage_procs.dm"
+#include "code\modules\mob\living\carbon\death.dm"
+#include "code\modules\mob\living\carbon\emote.dm"
+#include "code\modules\mob\living\carbon\examine.dm"
+#include "code\modules\mob\living\carbon\inventory.dm"
+#include "code\modules\mob\living\carbon\life.dm"
+#include "code\modules\mob\living\carbon\say.dm"
+#include "code\modules\mob\living\carbon\status_procs.dm"
+#include "code\modules\mob\living\carbon\update_icons.dm"
+#include "code\modules\mob\living\carbon\alien\alien.dm"
+#include "code\modules\mob\living\carbon\alien\alien_defense.dm"
+#include "code\modules\mob\living\carbon\alien\damage_procs.dm"
+#include "code\modules\mob\living\carbon\alien\death.dm"
+#include "code\modules\mob\living\carbon\alien\emote.dm"
+#include "code\modules\mob\living\carbon\alien\life.dm"
+#include "code\modules\mob\living\carbon\alien\login.dm"
+#include "code\modules\mob\living\carbon\alien\logout.dm"
+#include "code\modules\mob\living\carbon\alien\organs.dm"
+#include "code\modules\mob\living\carbon\alien\say.dm"
+#include "code\modules\mob\living\carbon\alien\screen.dm"
+#include "code\modules\mob\living\carbon\alien\status_procs.dm"
+#include "code\modules\mob\living\carbon\alien\update_icons.dm"
+#include "code\modules\mob\living\carbon\alien\humanoid\alien_powers.dm"
+#include "code\modules\mob\living\carbon\alien\humanoid\death.dm"
+#include "code\modules\mob\living\carbon\alien\humanoid\humanoid.dm"
+#include "code\modules\mob\living\carbon\alien\humanoid\humanoid_defense.dm"
+#include "code\modules\mob\living\carbon\alien\humanoid\inventory.dm"
+#include "code\modules\mob\living\carbon\alien\humanoid\life.dm"
+#include "code\modules\mob\living\carbon\alien\humanoid\queen.dm"
+#include "code\modules\mob\living\carbon\alien\humanoid\update_icons.dm"
+#include "code\modules\mob\living\carbon\alien\humanoid\caste\drone.dm"
+#include "code\modules\mob\living\carbon\alien\humanoid\caste\hunter.dm"
+#include "code\modules\mob\living\carbon\alien\humanoid\caste\praetorian.dm"
+#include "code\modules\mob\living\carbon\alien\humanoid\caste\sentinel.dm"
+#include "code\modules\mob\living\carbon\alien\larva\death.dm"
+#include "code\modules\mob\living\carbon\alien\larva\inventory.dm"
+#include "code\modules\mob\living\carbon\alien\larva\larva.dm"
+#include "code\modules\mob\living\carbon\alien\larva\larva_defense.dm"
+#include "code\modules\mob\living\carbon\alien\larva\life.dm"
+#include "code\modules\mob\living\carbon\alien\larva\powers.dm"
+#include "code\modules\mob\living\carbon\alien\larva\update_icons.dm"
+#include "code\modules\mob\living\carbon\alien\special\alien_embryo.dm"
+#include "code\modules\mob\living\carbon\alien\special\facehugger.dm"
+#include "code\modules\mob\living\carbon\human\damage_procs.dm"
+#include "code\modules\mob\living\carbon\human\death.dm"
+#include "code\modules\mob\living\carbon\human\dummy.dm"
+#include "code\modules\mob\living\carbon\human\emote.dm"
+#include "code\modules\mob\living\carbon\human\examine.dm"
+#include "code\modules\mob\living\carbon\human\human.dm"
+#include "code\modules\mob\living\carbon\human\human_defense.dm"
+#include "code\modules\mob\living\carbon\human\human_defines.dm"
+#include "code\modules\mob\living\carbon\human\human_helpers.dm"
+#include "code\modules\mob\living\carbon\human\human_mobility.dm"
+#include "code\modules\mob\living\carbon\human\human_movement.dm"
+#include "code\modules\mob\living\carbon\human\inventory.dm"
+#include "code\modules\mob\living\carbon\human\life.dm"
+#include "code\modules\mob\living\carbon\human\physiology.dm"
+#include "code\modules\mob\living\carbon\human\say.dm"
+#include "code\modules\mob\living\carbon\human\species.dm"
+#include "code\modules\mob\living\carbon\human\status_procs.dm"
+#include "code\modules\mob\living\carbon\human\update_icons.dm"
+#include "code\modules\mob\living\carbon\human\species_types\abductors.dm"
+#include "code\modules\mob\living\carbon\human\species_types\android.dm"
+#include "code\modules\mob\living\carbon\human\species_types\angel.dm"
+#include "code\modules\mob\living\carbon\human\species_types\bugmen.dm"
+#include "code\modules\mob\living\carbon\human\species_types\corporate.dm"
+#include "code\modules\mob\living\carbon\human\species_types\dullahan.dm"
+#include "code\modules\mob\living\carbon\human\species_types\dwarves.dm"
+#include "code\modules\mob\living\carbon\human\species_types\felinid.dm"
+#include "code\modules\mob\living\carbon\human\species_types\flypeople.dm"
+#include "code\modules\mob\living\carbon\human\species_types\furrypeople.dm"
+#include "code\modules\mob\living\carbon\human\species_types\golems.dm"
+#include "code\modules\mob\living\carbon\human\species_types\humans.dm"
+#include "code\modules\mob\living\carbon\human\species_types\ipc.dm"
+#include "code\modules\mob\living\carbon\human\species_types\jellypeople.dm"
+#include "code\modules\mob\living\carbon\human\species_types\lizardpeople.dm"
+#include "code\modules\mob\living\carbon\human\species_types\mushpeople.dm"
+#include "code\modules\mob\living\carbon\human\species_types\plasmamen.dm"
+#include "code\modules\mob\living\carbon\human\species_types\podpeople.dm"
+#include "code\modules\mob\living\carbon\human\species_types\shadowpeople.dm"
+#include "code\modules\mob\living\carbon\human\species_types\skeletons.dm"
+#include "code\modules\mob\living\carbon\human\species_types\synths.dm"
+#include "code\modules\mob\living\carbon\human\species_types\vampire.dm"
+#include "code\modules\mob\living\carbon\human\species_types\zombies.dm"
+#include "code\modules\mob\living\carbon\monkey\combat.dm"
+#include "code\modules\mob\living\carbon\monkey\death.dm"
+#include "code\modules\mob\living\carbon\monkey\inventory.dm"
+#include "code\modules\mob\living\carbon\monkey\life.dm"
+#include "code\modules\mob\living\carbon\monkey\monkey.dm"
+#include "code\modules\mob\living\carbon\monkey\monkey_defense.dm"
+#include "code\modules\mob\living\carbon\monkey\punpun.dm"
+#include "code\modules\mob\living\carbon\monkey\update_icons.dm"
+#include "code\modules\mob\living\silicon\custom_holoform.dm"
+#include "code\modules\mob\living\silicon\damage_procs.dm"
+#include "code\modules\mob\living\silicon\death.dm"
+#include "code\modules\mob\living\silicon\examine.dm"
+#include "code\modules\mob\living\silicon\laws.dm"
+#include "code\modules\mob\living\silicon\login.dm"
+#include "code\modules\mob\living\silicon\say.dm"
+#include "code\modules\mob\living\silicon\silicon.dm"
+#include "code\modules\mob\living\silicon\silicon_defense.dm"
+#include "code\modules\mob\living\silicon\silicon_movement.dm"
+#include "code\modules\mob\living\silicon\ai\ai.dm"
+#include "code\modules\mob\living\silicon\ai\ai_defense.dm"
+#include "code\modules\mob\living\silicon\ai\death.dm"
+#include "code\modules\mob\living\silicon\ai\examine.dm"
+#include "code\modules\mob\living\silicon\ai\laws.dm"
+#include "code\modules\mob\living\silicon\ai\life.dm"
+#include "code\modules\mob\living\silicon\ai\login.dm"
+#include "code\modules\mob\living\silicon\ai\logout.dm"
+#include "code\modules\mob\living\silicon\ai\multicam.dm"
+#include "code\modules\mob\living\silicon\ai\say.dm"
+#include "code\modules\mob\living\silicon\ai\vox_sounds.dm"
+#include "code\modules\mob\living\silicon\ai\freelook\cameranet.dm"
+#include "code\modules\mob\living\silicon\ai\freelook\chunk.dm"
+#include "code\modules\mob\living\silicon\ai\freelook\eye.dm"
+#include "code\modules\mob\living\silicon\ai\freelook\read_me.dm"
+#include "code\modules\mob\living\silicon\pai\death.dm"
+#include "code\modules\mob\living\silicon\pai\pai.dm"
+#include "code\modules\mob\living\silicon\pai\pai_defense.dm"
+#include "code\modules\mob\living\silicon\pai\pai_shell.dm"
+#include "code\modules\mob\living\silicon\pai\personality.dm"
+#include "code\modules\mob\living\silicon\pai\say.dm"
+#include "code\modules\mob\living\silicon\pai\software.dm"
+#include "code\modules\mob\living\silicon\pai\update_icon.dm"
+#include "code\modules\mob\living\silicon\robot\death.dm"
+#include "code\modules\mob\living\silicon\robot\emote.dm"
+#include "code\modules\mob\living\silicon\robot\examine.dm"
+#include "code\modules\mob\living\silicon\robot\inventory.dm"
+#include "code\modules\mob\living\silicon\robot\laws.dm"
+#include "code\modules\mob\living\silicon\robot\life.dm"
+#include "code\modules\mob\living\silicon\robot\login.dm"
+#include "code\modules\mob\living\silicon\robot\robot.dm"
+#include "code\modules\mob\living\silicon\robot\robot_defense.dm"
+#include "code\modules\mob\living\silicon\robot\robot_mobility.dm"
+#include "code\modules\mob\living\silicon\robot\robot_modules.dm"
+#include "code\modules\mob\living\silicon\robot\robot_movement.dm"
+#include "code\modules\mob\living\silicon\robot\say.dm"
+#include "code\modules\mob\living\silicon\robot\update_icons.dm"
+#include "code\modules\mob\living\simple_animal\animal_defense.dm"
+#include "code\modules\mob\living\simple_animal\astral.dm"
+#include "code\modules\mob\living\simple_animal\constructs.dm"
+#include "code\modules\mob\living\simple_animal\corpse.dm"
+#include "code\modules\mob\living\simple_animal\damage_procs.dm"
+#include "code\modules\mob\living\simple_animal\parrot.dm"
+#include "code\modules\mob\living\simple_animal\shade.dm"
+#include "code\modules\mob\living\simple_animal\simple_animal.dm"
+#include "code\modules\mob\living\simple_animal\simple_animal_vr.dm"
+#include "code\modules\mob\living\simple_animal\simplemob_vore_values.dm"
+#include "code\modules\mob\living\simple_animal\status_procs.dm"
+#include "code\modules\mob\living\simple_animal\bot\bot.dm"
+#include "code\modules\mob\living\simple_animal\bot\cleanbot.dm"
+#include "code\modules\mob\living\simple_animal\bot\construction.dm"
+#include "code\modules\mob\living\simple_animal\bot\ed209bot.dm"
+#include "code\modules\mob\living\simple_animal\bot\firebot.dm"
+#include "code\modules\mob\living\simple_animal\bot\floorbot.dm"
+#include "code\modules\mob\living\simple_animal\bot\honkbot.dm"
+#include "code\modules\mob\living\simple_animal\bot\medbot.dm"
+#include "code\modules\mob\living\simple_animal\bot\mulebot.dm"
+#include "code\modules\mob\living\simple_animal\bot\secbot.dm"
+#include "code\modules\mob\living\simple_animal\bot\SuperBeepsky.dm"
+#include "code\modules\mob\living\simple_animal\friendly\bumbles.dm"
+#include "code\modules\mob\living\simple_animal\friendly\butterfly.dm"
+#include "code\modules\mob\living\simple_animal\friendly\cat.dm"
+#include "code\modules\mob\living\simple_animal\friendly\cockroach.dm"
+#include "code\modules\mob\living\simple_animal\friendly\crab.dm"
+#include "code\modules\mob\living\simple_animal\friendly\dog.dm"
+#include "code\modules\mob\living\simple_animal\friendly\farm_animals.dm"
+#include "code\modules\mob\living\simple_animal\friendly\fox.dm"
+#include "code\modules\mob\living\simple_animal\friendly\gondola.dm"
+#include "code\modules\mob\living\simple_animal\friendly\lizard.dm"
+#include "code\modules\mob\living\simple_animal\friendly\mouse.dm"
+#include "code\modules\mob\living\simple_animal\friendly\panda.dm"
+#include "code\modules\mob\living\simple_animal\friendly\penguin.dm"
+#include "code\modules\mob\living\simple_animal\friendly\pet.dm"
+#include "code\modules\mob\living\simple_animal\friendly\sloth.dm"
+#include "code\modules\mob\living\simple_animal\friendly\snake.dm"
+#include "code\modules\mob\living\simple_animal\friendly\drone\_drone.dm"
+#include "code\modules\mob\living\simple_animal\friendly\drone\drones_as_items.dm"
+#include "code\modules\mob\living\simple_animal\friendly\drone\extra_drone_types.dm"
+#include "code\modules\mob\living\simple_animal\friendly\drone\interaction.dm"
+#include "code\modules\mob\living\simple_animal\friendly\drone\inventory.dm"
+#include "code\modules\mob\living\simple_animal\friendly\drone\say.dm"
+#include "code\modules\mob\living\simple_animal\friendly\drone\verbs.dm"
+#include "code\modules\mob\living\simple_animal\friendly\drone\visuals_icons.dm"
+#include "code\modules\mob\living\simple_animal\guardian\guardian.dm"
+#include "code\modules\mob\living\simple_animal\guardian\guardiannaming.dm"
+#include "code\modules\mob\living\simple_animal\guardian\types\assassin.dm"
+#include "code\modules\mob\living\simple_animal\guardian\types\charger.dm"
+#include "code\modules\mob\living\simple_animal\guardian\types\dextrous.dm"
+#include "code\modules\mob\living\simple_animal\guardian\types\explosive.dm"
+#include "code\modules\mob\living\simple_animal\guardian\types\fire.dm"
+#include "code\modules\mob\living\simple_animal\guardian\types\lightning.dm"
+#include "code\modules\mob\living\simple_animal\guardian\types\protector.dm"
+#include "code\modules\mob\living\simple_animal\guardian\types\ranged.dm"
+#include "code\modules\mob\living\simple_animal\guardian\types\standard.dm"
+#include "code\modules\mob\living\simple_animal\guardian\types\support.dm"
+#include "code\modules\mob\living\simple_animal\hostile\alien.dm"
+#include "code\modules\mob\living\simple_animal\hostile\banana_spider.dm"
+#include "code\modules\mob\living\simple_animal\hostile\bear.dm"
+#include "code\modules\mob\living\simple_animal\hostile\bees.dm"
+#include "code\modules\mob\living\simple_animal\hostile\carp.dm"
+#include "code\modules\mob\living\simple_animal\hostile\cat_butcher.dm"
+#include "code\modules\mob\living\simple_animal\hostile\dark_wizard.dm"
+#include "code\modules\mob\living\simple_animal\hostile\eyeballs.dm"
+#include "code\modules\mob\living\simple_animal\hostile\faithless.dm"
+#include "code\modules\mob\living\simple_animal\hostile\giant_spider.dm"
+#include "code\modules\mob\living\simple_animal\hostile\goose.dm"
+#include "code\modules\mob\living\simple_animal\hostile\headcrab.dm"
+#include "code\modules\mob\living\simple_animal\hostile\hivebot.dm"
+#include "code\modules\mob\living\simple_animal\hostile\hostile.dm"
+#include "code\modules\mob\living\simple_animal\hostile\illusion.dm"
+#include "code\modules\mob\living\simple_animal\hostile\killertomato.dm"
+#include "code\modules\mob\living\simple_animal\hostile\mecha_pilot.dm"
+#include "code\modules\mob\living\simple_animal\hostile\mimic.dm"
+#include "code\modules\mob\living\simple_animal\hostile\mushroom.dm"
+#include "code\modules\mob\living\simple_animal\hostile\nanotrasen.dm"
+#include "code\modules\mob\living\simple_animal\hostile\netherworld.dm"
+#include "code\modules\mob\living\simple_animal\hostile\pirate.dm"
+#include "code\modules\mob\living\simple_animal\hostile\russian.dm"
+#include "code\modules\mob\living\simple_animal\hostile\sharks.dm"
+#include "code\modules\mob\living\simple_animal\hostile\skeleton.dm"
+#include "code\modules\mob\living\simple_animal\hostile\statue.dm"
+#include "code\modules\mob\living\simple_animal\hostile\stickman.dm"
+#include "code\modules\mob\living\simple_animal\hostile\syndicate.dm"
+#include "code\modules\mob\living\simple_animal\hostile\tree.dm"
+#include "code\modules\mob\living\simple_animal\hostile\venus_human_trap.dm"
+#include "code\modules\mob\living\simple_animal\hostile\wizard.dm"
+#include "code\modules\mob\living\simple_animal\hostile\wumborian_fugu.dm"
+#include "code\modules\mob\living\simple_animal\hostile\zombie.dm"
+#include "code\modules\mob\living\simple_animal\hostile\bosses\boss.dm"
+#include "code\modules\mob\living\simple_animal\hostile\bosses\paperwizard.dm"
+#include "code\modules\mob\living\simple_animal\hostile\gorilla\emotes.dm"
+#include "code\modules\mob\living\simple_animal\hostile\gorilla\gorilla.dm"
+#include "code\modules\mob\living\simple_animal\hostile\gorilla\visuals_icons.dm"
+#include "code\modules\mob\living\simple_animal\hostile\jungle\_jungle_mobs.dm"
+#include "code\modules\mob\living\simple_animal\hostile\jungle\leaper.dm"
+#include "code\modules\mob\living\simple_animal\hostile\jungle\mega_arachnid.dm"
+#include "code\modules\mob\living\simple_animal\hostile\jungle\mook.dm"
+#include "code\modules\mob\living\simple_animal\hostile\jungle\seedling.dm"
+#include "code\modules\mob\living\simple_animal\hostile\megafauna\blood_drunk_miner.dm"
+#include "code\modules\mob\living\simple_animal\hostile\megafauna\bubblegum.dm"
+#include "code\modules\mob\living\simple_animal\hostile\megafauna\colossus.dm"
+#include "code\modules\mob\living\simple_animal\hostile\megafauna\dragon_vore.dm"
+#include "code\modules\mob\living\simple_animal\hostile\megafauna\drake.dm"
+#include "code\modules\mob\living\simple_animal\hostile\megafauna\hierophant.dm"
+#include "code\modules\mob\living\simple_animal\hostile\megafauna\legion.dm"
+#include "code\modules\mob\living\simple_animal\hostile\megafauna\megafauna.dm"
+#include "code\modules\mob\living\simple_animal\hostile\megafauna\swarmer.dm"
+#include "code\modules\mob\living\simple_animal\hostile\mining_mobs\basilisk.dm"
+#include "code\modules\mob\living\simple_animal\hostile\mining_mobs\curse_blob.dm"
+#include "code\modules\mob\living\simple_animal\hostile\mining_mobs\goldgrub.dm"
+#include "code\modules\mob\living\simple_animal\hostile\mining_mobs\goliath.dm"
+#include "code\modules\mob\living\simple_animal\hostile\mining_mobs\gutlunch.dm"
+#include "code\modules\mob\living\simple_animal\hostile\mining_mobs\hivelord.dm"
+#include "code\modules\mob\living\simple_animal\hostile\mining_mobs\mining_mobs.dm"
+#include "code\modules\mob\living\simple_animal\hostile\mining_mobs\elites\elite.dm"
+#include "code\modules\mob\living\simple_animal\hostile\mining_mobs\elites\goliath_broodmother.dm"
+#include "code\modules\mob\living\simple_animal\hostile\mining_mobs\elites\herald.dm"
+#include "code\modules\mob\living\simple_animal\hostile\mining_mobs\elites\legionnaire.dm"
+#include "code\modules\mob\living\simple_animal\hostile\mining_mobs\elites\pandora.dm"
+#include "code\modules\mob\living\simple_animal\hostile\retaliate\bat.dm"
+#include "code\modules\mob\living\simple_animal\hostile\retaliate\clown.dm"
+#include "code\modules\mob\living\simple_animal\hostile\retaliate\frog.dm"
+#include "code\modules\mob\living\simple_animal\hostile\retaliate\ghost.dm"
+#include "code\modules\mob\living\simple_animal\hostile\retaliate\retaliate.dm"
+#include "code\modules\mob\living\simple_animal\hostile\retaliate\spaceman.dm"
+#include "code\modules\mob\living\simple_animal\slime\death.dm"
+#include "code\modules\mob\living\simple_animal\slime\emote.dm"
+#include "code\modules\mob\living\simple_animal\slime\life.dm"
+#include "code\modules\mob\living\simple_animal\slime\powers.dm"
+#include "code\modules\mob\living\simple_animal\slime\say.dm"
+#include "code\modules\mob\living\simple_animal\slime\slime.dm"
+#include "code\modules\mob\living\simple_animal\slime\slime_mobility.dm"
+#include "code\modules\mob\living\simple_animal\slime\subtypes.dm"
+#include "code\modules\modular_computers\laptop_vendor.dm"
+#include "code\modules\modular_computers\computers\item\computer.dm"
+#include "code\modules\modular_computers\computers\item\computer_components.dm"
+#include "code\modules\modular_computers\computers\item\computer_damage.dm"
+#include "code\modules\modular_computers\computers\item\computer_power.dm"
+#include "code\modules\modular_computers\computers\item\computer_ui.dm"
+#include "code\modules\modular_computers\computers\item\laptop.dm"
+#include "code\modules\modular_computers\computers\item\laptop_presets.dm"
+#include "code\modules\modular_computers\computers\item\processor.dm"
+#include "code\modules\modular_computers\computers\item\tablet.dm"
+#include "code\modules\modular_computers\computers\item\tablet_presets.dm"
+#include "code\modules\modular_computers\computers\machinery\console_presets.dm"
+#include "code\modules\modular_computers\computers\machinery\modular_computer.dm"
+#include "code\modules\modular_computers\computers\machinery\modular_console.dm"
+#include "code\modules\modular_computers\file_system\computer_file.dm"
+#include "code\modules\modular_computers\file_system\data.dm"
+#include "code\modules\modular_computers\file_system\program.dm"
+#include "code\modules\modular_computers\file_system\program_events.dm"
+#include "code\modules\modular_computers\file_system\programs\airestorer.dm"
+#include "code\modules\modular_computers\file_system\programs\alarm.dm"
+#include "code\modules\modular_computers\file_system\programs\card.dm"
+#include "code\modules\modular_computers\file_system\programs\configurator.dm"
+#include "code\modules\modular_computers\file_system\programs\file_browser.dm"
+#include "code\modules\modular_computers\file_system\programs\ntdownloader.dm"
+#include "code\modules\modular_computers\file_system\programs\ntmonitor.dm"
+#include "code\modules\modular_computers\file_system\programs\ntnrc_client.dm"
+#include "code\modules\modular_computers\file_system\programs\nttransfer.dm"
+#include "code\modules\modular_computers\file_system\programs\powermonitor.dm"
+#include "code\modules\modular_computers\file_system\programs\sm_monitor.dm"
+#include "code\modules\modular_computers\file_system\programs\antagonist\contract_uplink.dm"
+#include "code\modules\modular_computers\file_system\programs\antagonist\dos.dm"
+#include "code\modules\modular_computers\file_system\programs\antagonist\revelation.dm"
+#include "code\modules\modular_computers\hardware\_hardware.dm"
+#include "code\modules\modular_computers\hardware\ai_slot.dm"
+#include "code\modules\modular_computers\hardware\battery_module.dm"
+#include "code\modules\modular_computers\hardware\card_slot.dm"
+#include "code\modules\modular_computers\hardware\CPU.dm"
+#include "code\modules\modular_computers\hardware\hard_drive.dm"
+#include "code\modules\modular_computers\hardware\network_card.dm"
+#include "code\modules\modular_computers\hardware\portable_disk.dm"
+#include "code\modules\modular_computers\hardware\printer.dm"
+#include "code\modules\modular_computers\hardware\recharger.dm"
+#include "code\modules\modular_computers\NTNet\NTNRC\conversation.dm"
+#include "code\modules\newscaster\_news.dm"
+#include "code\modules\newscaster\feed_channel.dm"
+#include "code\modules\newscaster\feed_comment.dm"
+#include "code\modules\newscaster\feed_message.dm"
+#include "code\modules\newscaster\ghostread.dm"
+#include "code\modules\newscaster\news_network.dm"
+#include "code\modules\newscaster\newscaster_machine.dm"
+#include "code\modules\newscaster\newspaper.dm"
+#include "code\modules\newscaster\wanted_message.dm"
+#include "code\modules\ninja\__ninjaDefines.dm"
+#include "code\modules\ninja\energy_katana.dm"
+#include "code\modules\ninja\ninja_event.dm"
+#include "code\modules\ninja\outfit.dm"
+#include "code\modules\ninja\suit\gloves.dm"
+#include "code\modules\ninja\suit\head.dm"
+#include "code\modules\ninja\suit\mask.dm"
+#include "code\modules\ninja\suit\ninjaDrainAct.dm"
+#include "code\modules\ninja\suit\shoes.dm"
+#include "code\modules\ninja\suit\suit.dm"
+#include "code\modules\ninja\suit\suit_attackby.dm"
+#include "code\modules\ninja\suit\suit_initialisation.dm"
+#include "code\modules\ninja\suit\suit_process.dm"
+#include "code\modules\ninja\suit\n_suit_verbs\energy_net_nets.dm"
+#include "code\modules\ninja\suit\n_suit_verbs\ninja_adrenaline.dm"
+#include "code\modules\ninja\suit\n_suit_verbs\ninja_cost_check.dm"
+#include "code\modules\ninja\suit\n_suit_verbs\ninja_empulse.dm"
+#include "code\modules\ninja\suit\n_suit_verbs\ninja_net.dm"
+#include "code\modules\ninja\suit\n_suit_verbs\ninja_smoke.dm"
+#include "code\modules\ninja\suit\n_suit_verbs\ninja_stars.dm"
+#include "code\modules\ninja\suit\n_suit_verbs\ninja_stealth.dm"
+#include "code\modules\ninja\suit\n_suit_verbs\ninja_sword_recall.dm"
+#include "code\modules\NTNet\netdata.dm"
+#include "code\modules\NTNet\network.dm"
+#include "code\modules\NTNet\relays.dm"
+#include "code\modules\NTNet\services\_service.dm"
+#include "code\modules\oracle_ui\assets.dm"
+#include "code\modules\oracle_ui\hookup_procs.dm"
+#include "code\modules\oracle_ui\oracle_ui.dm"
+#include "code\modules\oracle_ui\themed.dm"
+#include "code\modules\paperwork\clipboard.dm"
+#include "code\modules\paperwork\contract.dm"
+#include "code\modules\paperwork\filingcabinet.dm"
+#include "code\modules\paperwork\folders.dm"
+#include "code\modules\paperwork\handlabeler.dm"
+#include "code\modules\paperwork\paper.dm"
+#include "code\modules\paperwork\paper_cutter.dm"
+#include "code\modules\paperwork\paper_premade.dm"
+#include "code\modules\paperwork\paperbin.dm"
+#include "code\modules\paperwork\paperplane.dm"
+#include "code\modules\paperwork\pen.dm"
+#include "code\modules\paperwork\photocopier.dm"
+#include "code\modules\paperwork\stamps.dm"
+#include "code\modules\photography\_pictures.dm"
+#include "code\modules\photography\camera\camera.dm"
+#include "code\modules\photography\camera\camera_image_capturing.dm"
+#include "code\modules\photography\camera\film.dm"
+#include "code\modules\photography\camera\other.dm"
+#include "code\modules\photography\camera\silicon_camera.dm"
+#include "code\modules\photography\photos\album.dm"
+#include "code\modules\photography\photos\frame.dm"
+#include "code\modules\photography\photos\photo.dm"
+#include "code\modules\pool\pool_controller.dm"
+#include "code\modules\pool\pool_drain.dm"
+#include "code\modules\pool\pool_effects.dm"
+#include "code\modules\pool\pool_main.dm"
+#include "code\modules\pool\pool_noodles.dm"
+#include "code\modules\pool\pool_structures.dm"
+#include "code\modules\pool\pool_wires.dm"
+#include "code\modules\power\apc.dm"
+#include "code\modules\power\cable.dm"
+#include "code\modules\power\cell.dm"
+#include "code\modules\power\floodlight.dm"
+#include "code\modules\power\generator.dm"
+#include "code\modules\power\gravitygenerator.dm"
+#include "code\modules\power\lighting.dm"
+#include "code\modules\power\monitor.dm"
+#include "code\modules\power\multiz.dm"
+#include "code\modules\power\port_gen.dm"
+#include "code\modules\power\power.dm"
+#include "code\modules\power\powernet.dm"
+#include "code\modules\power\rtg.dm"
+#include "code\modules\power\smes.dm"
+#include "code\modules\power\solar.dm"
+#include "code\modules\power\terminal.dm"
+#include "code\modules\power\tracker.dm"
+#include "code\modules\power\turbine.dm"
+#include "code\modules\power\antimatter\containment_jar.dm"
+#include "code\modules\power\antimatter\control.dm"
+#include "code\modules\power\antimatter\shielding.dm"
+#include "code\modules\power\singularity\collector.dm"
+#include "code\modules\power\singularity\containment_field.dm"
+#include "code\modules\power\singularity\emitter.dm"
+#include "code\modules\power\singularity\field_generator.dm"
+#include "code\modules\power\singularity\generator.dm"
+#include "code\modules\power\singularity\investigate.dm"
+#include "code\modules\power\singularity\narsie.dm"
+#include "code\modules\power\singularity\singularity.dm"
+#include "code\modules\power\singularity\particle_accelerator\particle.dm"
+#include "code\modules\power\singularity\particle_accelerator\particle_accelerator.dm"
+#include "code\modules\power\singularity\particle_accelerator\particle_control.dm"
+#include "code\modules\power\singularity\particle_accelerator\particle_emitter.dm"
+#include "code\modules\power\supermatter\supermatter.dm"
+#include "code\modules\power\tesla\coil.dm"
+#include "code\modules\power\tesla\energy_ball.dm"
+#include "code\modules\power\tesla\generator.dm"
+#include "code\modules\procedural_mapping\mapGenerator.dm"
+#include "code\modules\procedural_mapping\mapGeneratorModule.dm"
+#include "code\modules\procedural_mapping\mapGeneratorObj.dm"
+#include "code\modules\procedural_mapping\mapGeneratorReadme.dm"
+#include "code\modules\procedural_mapping\mapGeneratorModules\helpers.dm"
+#include "code\modules\procedural_mapping\mapGeneratorModules\nature.dm"
+#include "code\modules\procedural_mapping\mapGenerators\asteroid.dm"
+#include "code\modules\procedural_mapping\mapGenerators\cellular.dm"
+#include "code\modules\procedural_mapping\mapGenerators\cult.dm"
+#include "code\modules\procedural_mapping\mapGenerators\lava_river.dm"
+#include "code\modules\procedural_mapping\mapGenerators\lavaland.dm"
+#include "code\modules\procedural_mapping\mapGenerators\nature.dm"
+#include "code\modules\procedural_mapping\mapGenerators\repair.dm"
+#include "code\modules\procedural_mapping\mapGenerators\shuttle.dm"
+#include "code\modules\procedural_mapping\mapGenerators\syndicate.dm"
+#include "code\modules\projectiles\gun.dm"
+#include "code\modules\projectiles\pins.dm"
+#include "code\modules\projectiles\projectile.dm"
+#include "code\modules\projectiles\ammunition\_ammunition.dm"
+#include "code\modules\projectiles\ammunition\_firing.dm"
+#include "code\modules\projectiles\ammunition\ballistic\lmg.dm"
+#include "code\modules\projectiles\ammunition\ballistic\pistol.dm"
+#include "code\modules\projectiles\ammunition\ballistic\revolver.dm"
+#include "code\modules\projectiles\ammunition\ballistic\rifle.dm"
+#include "code\modules\projectiles\ammunition\ballistic\shotgun.dm"
+#include "code\modules\projectiles\ammunition\ballistic\smg.dm"
+#include "code\modules\projectiles\ammunition\ballistic\sniper.dm"
+#include "code\modules\projectiles\ammunition\caseless\_caseless.dm"
+#include "code\modules\projectiles\ammunition\caseless\arrow.dm"
+#include "code\modules\projectiles\ammunition\caseless\ferromagnetic.dm"
+#include "code\modules\projectiles\ammunition\caseless\foam.dm"
+#include "code\modules\projectiles\ammunition\caseless\misc.dm"
+#include "code\modules\projectiles\ammunition\caseless\rocket.dm"
+#include "code\modules\projectiles\ammunition\energy\_energy.dm"
+#include "code\modules\projectiles\ammunition\energy\ebow.dm"
+#include "code\modules\projectiles\ammunition\energy\gravity.dm"
+#include "code\modules\projectiles\ammunition\energy\laser.dm"
+#include "code\modules\projectiles\ammunition\energy\lmg.dm"
+#include "code\modules\projectiles\ammunition\energy\plasma.dm"
+#include "code\modules\projectiles\ammunition\energy\plasma_cit.dm"
+#include "code\modules\projectiles\ammunition\energy\portal.dm"
+#include "code\modules\projectiles\ammunition\energy\special.dm"
+#include "code\modules\projectiles\ammunition\energy\stun.dm"
+#include "code\modules\projectiles\ammunition\special\magic.dm"
+#include "code\modules\projectiles\ammunition\special\syringe.dm"
+#include "code\modules\projectiles\boxes_magazines\_box_magazine.dm"
+#include "code\modules\projectiles\boxes_magazines\ammo_boxes.dm"
+#include "code\modules\projectiles\boxes_magazines\external\grenade.dm"
+#include "code\modules\projectiles\boxes_magazines\external\lmg.dm"
+#include "code\modules\projectiles\boxes_magazines\external\magweapon.dm"
+#include "code\modules\projectiles\boxes_magazines\external\pistol.dm"
+#include "code\modules\projectiles\boxes_magazines\external\rechargable.dm"
+#include "code\modules\projectiles\boxes_magazines\external\rifle.dm"
+#include "code\modules\projectiles\boxes_magazines\external\shotgun.dm"
+#include "code\modules\projectiles\boxes_magazines\external\smg.dm"
+#include "code\modules\projectiles\boxes_magazines\external\sniper.dm"
+#include "code\modules\projectiles\boxes_magazines\external\toy.dm"
+#include "code\modules\projectiles\boxes_magazines\internal\_cylinder.dm"
+#include "code\modules\projectiles\boxes_magazines\internal\_internal.dm"
+#include "code\modules\projectiles\boxes_magazines\internal\bow.dm"
+#include "code\modules\projectiles\boxes_magazines\internal\grenade.dm"
+#include "code\modules\projectiles\boxes_magazines\internal\misc.dm"
+#include "code\modules\projectiles\boxes_magazines\internal\revolver.dm"
+#include "code\modules\projectiles\boxes_magazines\internal\rifle.dm"
+#include "code\modules\projectiles\boxes_magazines\internal\shotgun.dm"
+#include "code\modules\projectiles\boxes_magazines\internal\toy.dm"
+#include "code\modules\projectiles\guns\ballistic.dm"
+#include "code\modules\projectiles\guns\energy.dm"
+#include "code\modules\projectiles\guns\magic.dm"
+#include "code\modules\projectiles\guns\ballistic\automatic.dm"
+#include "code\modules\projectiles\guns\ballistic\bow.dm"
+#include "code\modules\projectiles\guns\ballistic\laser_gatling.dm"
+#include "code\modules\projectiles\guns\ballistic\launchers.dm"
+#include "code\modules\projectiles\guns\ballistic\magweapon.dm"
+#include "code\modules\projectiles\guns\ballistic\pistol.dm"
+#include "code\modules\projectiles\guns\ballistic\revolver.dm"
+#include "code\modules\projectiles\guns\ballistic\shotgun.dm"
+#include "code\modules\projectiles\guns\ballistic\toy.dm"
+#include "code\modules\projectiles\guns\energy\dueling.dm"
+#include "code\modules\projectiles\guns\energy\energy_gun.dm"
+#include "code\modules\projectiles\guns\energy\kinetic_accelerator.dm"
+#include "code\modules\projectiles\guns\energy\laser.dm"
+#include "code\modules\projectiles\guns\energy\megabuster.dm"
+#include "code\modules\projectiles\guns\energy\mounted.dm"
+#include "code\modules\projectiles\guns\energy\plasma_cit.dm"
+#include "code\modules\projectiles\guns\energy\pulse.dm"
+#include "code\modules\projectiles\guns\energy\special.dm"
+#include "code\modules\projectiles\guns\energy\stun.dm"
+#include "code\modules\projectiles\guns\magic\staff.dm"
+#include "code\modules\projectiles\guns\magic\wand.dm"
+#include "code\modules\projectiles\guns\misc\beam_rifle.dm"
+#include "code\modules\projectiles\guns\misc\blastcannon.dm"
+#include "code\modules\projectiles\guns\misc\chem_gun.dm"
+#include "code\modules\projectiles\guns\misc\grenade_launcher.dm"
+#include "code\modules\projectiles\guns\misc\medbeam.dm"
+#include "code\modules\projectiles\guns\misc\syringe_gun.dm"
+#include "code\modules\projectiles\projectile\beams.dm"
+#include "code\modules\projectiles\projectile\bullets.dm"
+#include "code\modules\projectiles\projectile\magic.dm"
+#include "code\modules\projectiles\projectile\megabuster.dm"
+#include "code\modules\projectiles\projectile\plasma.dm"
+#include "code\modules\projectiles\projectile\bullets\_incendiary.dm"
+#include "code\modules\projectiles\projectile\bullets\dart_syringe.dm"
+#include "code\modules\projectiles\projectile\bullets\dnainjector.dm"
+#include "code\modules\projectiles\projectile\bullets\ferromagnetic.dm"
+#include "code\modules\projectiles\projectile\bullets\grenade.dm"
+#include "code\modules\projectiles\projectile\bullets\lmg.dm"
+#include "code\modules\projectiles\projectile\bullets\pistol.dm"
+#include "code\modules\projectiles\projectile\bullets\revolver.dm"
+#include "code\modules\projectiles\projectile\bullets\rifle.dm"
+#include "code\modules\projectiles\projectile\bullets\shotgun.dm"
+#include "code\modules\projectiles\projectile\bullets\smg.dm"
+#include "code\modules\projectiles\projectile\bullets\sniper.dm"
+#include "code\modules\projectiles\projectile\bullets\special.dm"
+#include "code\modules\projectiles\projectile\energy\_energy.dm"
+#include "code\modules\projectiles\projectile\energy\ebow.dm"
+#include "code\modules\projectiles\projectile\energy\misc.dm"
+#include "code\modules\projectiles\projectile\energy\net_snare.dm"
+#include "code\modules\projectiles\projectile\energy\nuclear_particle.dm"
+#include "code\modules\projectiles\projectile\energy\stun.dm"
+#include "code\modules\projectiles\projectile\energy\tesla.dm"
+#include "code\modules\projectiles\projectile\magic\spellcard.dm"
+#include "code\modules\projectiles\projectile\reusable\_reusable.dm"
+#include "code\modules\projectiles\projectile\reusable\arrow.dm"
+#include "code\modules\projectiles\projectile\reusable\foam_dart.dm"
+#include "code\modules\projectiles\projectile\reusable\magspear.dm"
+#include "code\modules\projectiles\projectile\special\curse.dm"
+#include "code\modules\projectiles\projectile\special\floral.dm"
+#include "code\modules\projectiles\projectile\special\gravity.dm"
+#include "code\modules\projectiles\projectile\special\hallucination.dm"
+#include "code\modules\projectiles\projectile\special\ion.dm"
+#include "code\modules\projectiles\projectile\special\meteor.dm"
+#include "code\modules\projectiles\projectile\special\mindflayer.dm"
+#include "code\modules\projectiles\projectile\special\neurotoxin.dm"
+#include "code\modules\projectiles\projectile\special\plasma.dm"
+#include "code\modules\projectiles\projectile\special\rocket.dm"
+#include "code\modules\projectiles\projectile\special\temperature.dm"
+#include "code\modules\projectiles\projectile\special\wormhole.dm"
+#include "code\modules\reagents\chem_splash.dm"
+#include "code\modules\reagents\chem_wiki_render.dm"
+#include "code\modules\reagents\reagent_containers.dm"
+#include "code\modules\reagents\reagent_dispenser.dm"
+#include "code\modules\reagents\chemistry\colors.dm"
+#include "code\modules\reagents\chemistry\holder.dm"
+#include "code\modules\reagents\chemistry\reagents.dm"
+#include "code\modules\reagents\chemistry\recipes.dm"
+#include "code\modules\reagents\chemistry\machinery\chem_dispenser.dm"
+#include "code\modules\reagents\chemistry\machinery\chem_heater.dm"
+#include "code\modules\reagents\chemistry\machinery\chem_master.dm"
+#include "code\modules\reagents\chemistry\machinery\chem_synthesizer.dm"
+#include "code\modules\reagents\chemistry\machinery\pandemic.dm"
+#include "code\modules\reagents\chemistry\machinery\reagentgrinder.dm"
+#include "code\modules\reagents\chemistry\machinery\smoke_machine.dm"
+#include "code\modules\reagents\chemistry\reagents\alcohol_reagents.dm"
+#include "code\modules\reagents\chemistry\reagents\drink_reagents.dm"
+#include "code\modules\reagents\chemistry\reagents\drug_reagents.dm"
+#include "code\modules\reagents\chemistry\reagents\food_reagents.dm"
+#include "code\modules\reagents\chemistry\reagents\impure_reagents.dm"
+#include "code\modules\reagents\chemistry\reagents\medicine_reagents.dm"
+#include "code\modules\reagents\chemistry\reagents\other_reagents.dm"
+#include "code\modules\reagents\chemistry\reagents\pyrotechnic_reagents.dm"
+#include "code\modules\reagents\chemistry\reagents\toxin_reagents.dm"
+#include "code\modules\reagents\chemistry\recipes\drugs.dm"
+#include "code\modules\reagents\chemistry\recipes\medicine.dm"
+#include "code\modules\reagents\chemistry\recipes\others.dm"
+#include "code\modules\reagents\chemistry\recipes\pyrotechnics.dm"
+#include "code\modules\reagents\chemistry\recipes\slime_extracts.dm"
+#include "code\modules\reagents\chemistry\recipes\special.dm"
+#include "code\modules\reagents\chemistry\recipes\toxins.dm"
+#include "code\modules\reagents\reagent_containers\blood_pack.dm"
+#include "code\modules\reagents\reagent_containers\borghydro.dm"
+#include "code\modules\reagents\reagent_containers\bottle.dm"
+#include "code\modules\reagents\reagent_containers\dropper.dm"
+#include "code\modules\reagents\reagent_containers\glass.dm"
+#include "code\modules\reagents\reagent_containers\hypospray.dm"
+#include "code\modules\reagents\reagent_containers\hypovial.dm"
+#include "code\modules\reagents\reagent_containers\medspray.dm"
+#include "code\modules\reagents\reagent_containers\patch.dm"
+#include "code\modules\reagents\reagent_containers\pill.dm"
+#include "code\modules\reagents\reagent_containers\rags.dm"
+#include "code\modules\reagents\reagent_containers\sleeper_buffer.dm"
+#include "code\modules\reagents\reagent_containers\spray.dm"
+#include "code\modules\reagents\reagent_containers\syringes.dm"
+#include "code\modules\recycling\conveyor2.dm"
+#include "code\modules\recycling\sortingmachinery.dm"
+#include "code\modules\recycling\disposal\bin.dm"
+#include "code\modules\recycling\disposal\construction.dm"
+#include "code\modules\recycling\disposal\eject.dm"
+#include "code\modules\recycling\disposal\holder.dm"
+#include "code\modules\recycling\disposal\multiz.dm"
+#include "code\modules\recycling\disposal\outlet.dm"
+#include "code\modules\recycling\disposal\pipe.dm"
+#include "code\modules\recycling\disposal\pipe_sorting.dm"
+#include "code\modules\research\designs.dm"
+#include "code\modules\research\destructive_analyzer.dm"
+#include "code\modules\research\experimentor.dm"
+#include "code\modules\research\rdconsole.dm"
+#include "code\modules\research\rdmachines.dm"
+#include "code\modules\research\research_disk.dm"
+#include "code\modules\research\server.dm"
+#include "code\modules\research\stock_parts.dm"
+#include "code\modules\research\designs\AI_module_designs.dm"
+#include "code\modules\research\designs\autobotter_designs.dm"
+#include "code\modules\research\designs\autoylathe_designs.dm"
+#include "code\modules\research\designs\biogenerator_designs.dm"
+#include "code\modules\research\designs\bluespace_designs.dm"
+#include "code\modules\research\designs\computer_part_designs.dm"
+#include "code\modules\research\designs\electronics_designs.dm"
+#include "code\modules\research\designs\equipment_designs.dm"
+#include "code\modules\research\designs\limbgrower_designs.dm"
+#include "code\modules\research\designs\mecha_designs.dm"
+#include "code\modules\research\designs\mechfabricator_designs.dm"
+#include "code\modules\research\designs\medical_designs.dm"
+#include "code\modules\research\designs\mining_designs.dm"
+#include "code\modules\research\designs\misc_designs.dm"
+#include "code\modules\research\designs\nanite_designs.dm"
+#include "code\modules\research\designs\power_designs.dm"
+#include "code\modules\research\designs\smelting_designs.dm"
+#include "code\modules\research\designs\stock_parts_designs.dm"
+#include "code\modules\research\designs\telecomms_designs.dm"
+#include "code\modules\research\designs\tool_designs.dm"
+#include "code\modules\research\designs\weapon_designs.dm"
+#include "code\modules\research\designs\autolathe_desings\autolathe_designs_construction.dm"
+#include "code\modules\research\designs\autolathe_desings\autolathe_designs_electronics.dm"
+#include "code\modules\research\designs\autolathe_desings\autolathe_designs_medical_and_dinnerware.dm"
+#include "code\modules\research\designs\autolathe_desings\autolathe_designs_sec_and_hacked.dm"
+#include "code\modules\research\designs\autolathe_desings\autolathe_designs_tcomms_and_misc.dm"
+#include "code\modules\research\designs\autolathe_desings\autolathe_designs_tools.dm"
+#include "code\modules\research\designs\comp_board_designs\comp_board_designs_all_misc.dm"
+#include "code\modules\research\designs\comp_board_designs\comp_board_designs_cargo.dm"
+#include "code\modules\research\designs\comp_board_designs\comp_board_designs_engi.dm"
+#include "code\modules\research\designs\comp_board_designs\comp_board_designs_medical.dm"
+#include "code\modules\research\designs\comp_board_designs\comp_board_designs_sci.dm"
+#include "code\modules\research\designs\comp_board_designs\comp_board_designs_sec.dm"
+#include "code\modules\research\designs\machine_desings\machine_designs_all_misc.dm"
+#include "code\modules\research\designs\machine_desings\machine_designs_cargo.dm"
+#include "code\modules\research\designs\machine_desings\machine_designs_engi.dm"
+#include "code\modules\research\designs\machine_desings\machine_designs_medical.dm"
+#include "code\modules\research\designs\machine_desings\machine_designs_sci.dm"
+#include "code\modules\research\designs\machine_desings\machine_designs_service.dm"
+#include "code\modules\research\machinery\_production.dm"
+#include "code\modules\research\machinery\circuit_imprinter.dm"
+#include "code\modules\research\machinery\departmental_circuit_imprinter.dm"
+#include "code\modules\research\machinery\departmental_protolathe.dm"
+#include "code\modules\research\machinery\departmental_techfab.dm"
+#include "code\modules\research\machinery\protolathe.dm"
+#include "code\modules\research\machinery\techfab.dm"
+#include "code\modules\research\nanites\nanite_chamber.dm"
+#include "code\modules\research\nanites\nanite_chamber_computer.dm"
+#include "code\modules\research\nanites\nanite_cloud_controller.dm"
+#include "code\modules\research\nanites\nanite_misc_items.dm"
+#include "code\modules\research\nanites\nanite_program_hub.dm"
+#include "code\modules\research\nanites\nanite_programmer.dm"
+#include "code\modules\research\nanites\nanite_programs.dm"
+#include "code\modules\research\nanites\nanite_remote.dm"
+#include "code\modules\research\nanites\program_disks.dm"
+#include "code\modules\research\nanites\public_chamber.dm"
+#include "code\modules\research\nanites\rules.dm"
+#include "code\modules\research\nanites\extra_settings\_extra_setting.dm"
+#include "code\modules\research\nanites\extra_settings\boolean.dm"
+#include "code\modules\research\nanites\extra_settings\number.dm"
+#include "code\modules\research\nanites\extra_settings\text.dm"
+#include "code\modules\research\nanites\extra_settings\type.dm"
+#include "code\modules\research\nanites\nanite_programs\buffing.dm"
+#include "code\modules\research\nanites\nanite_programs\healing.dm"
+#include "code\modules\research\nanites\nanite_programs\rogue.dm"
+#include "code\modules\research\nanites\nanite_programs\sensor.dm"
+#include "code\modules\research\nanites\nanite_programs\suppression.dm"
+#include "code\modules\research\nanites\nanite_programs\utility.dm"
+#include "code\modules\research\nanites\nanite_programs\weapon.dm"
+#include "code\modules\research\techweb\__techweb_helpers.dm"
+#include "code\modules\research\techweb\_techweb.dm"
+#include "code\modules\research\techweb\_techweb_node.dm"
+#include "code\modules\research\techweb\all_nodes.dm"
+#include "code\modules\research\xenobiology\xenobio_camera.dm"
+#include "code\modules\research\xenobiology\xenobiology.dm"
+#include "code\modules\research\xenobiology\crossbreeding\__corecross.dm"
+#include "code\modules\research\xenobiology\crossbreeding\_clothing.dm"
+#include "code\modules\research\xenobiology\crossbreeding\_misc.dm"
+#include "code\modules\research\xenobiology\crossbreeding\_mobs.dm"
+#include "code\modules\research\xenobiology\crossbreeding\_status_effects.dm"
+#include "code\modules\research\xenobiology\crossbreeding\_weapons.dm"
+#include "code\modules\research\xenobiology\crossbreeding\burning.dm"
+#include "code\modules\research\xenobiology\crossbreeding\charged.dm"
+#include "code\modules\research\xenobiology\crossbreeding\chilling.dm"
+#include "code\modules\research\xenobiology\crossbreeding\consuming.dm"
+#include "code\modules\research\xenobiology\crossbreeding\industrial.dm"
+#include "code\modules\research\xenobiology\crossbreeding\prismatic.dm"
+#include "code\modules\research\xenobiology\crossbreeding\recurring.dm"
+#include "code\modules\research\xenobiology\crossbreeding\regenerative.dm"
+#include "code\modules\research\xenobiology\crossbreeding\reproductive.dm"
+#include "code\modules\research\xenobiology\crossbreeding\selfsustaining.dm"
+#include "code\modules\research\xenobiology\crossbreeding\stabilized.dm"
+#include "code\modules\ruins\lavaland_ruin_code.dm"
+#include "code\modules\ruins\lavalandruin_code\alien_nest.dm"
+#include "code\modules\ruins\lavalandruin_code\biodome_clown_planet.dm"
+#include "code\modules\ruins\lavalandruin_code\pizzaparty.dm"
+#include "code\modules\ruins\lavalandruin_code\puzzle.dm"
+#include "code\modules\ruins\lavalandruin_code\sloth.dm"
+#include "code\modules\ruins\lavalandruin_code\surface.dm"
+#include "code\modules\ruins\lavalandruin_code\syndicate_base.dm"
+#include "code\modules\ruins\objects_and_mobs\ash_walker_den.dm"
+#include "code\modules\ruins\objects_and_mobs\necropolis_gate.dm"
+#include "code\modules\ruins\objects_and_mobs\sin_ruins.dm"
+#include "code\modules\ruins\spaceruin_code\asteroid4.dm"
+#include "code\modules\ruins\spaceruin_code\bigderelict1.dm"
+#include "code\modules\ruins\spaceruin_code\caravanambush.dm"
+#include "code\modules\ruins\spaceruin_code\clericsden.dm"
+#include "code\modules\ruins\spaceruin_code\cloning_lab.dm"
+#include "code\modules\ruins\spaceruin_code\crashedclownship.dm"
+#include "code\modules\ruins\spaceruin_code\crashedship.dm"
+#include "code\modules\ruins\spaceruin_code\deepstorage.dm"
+#include "code\modules\ruins\spaceruin_code\DJstation.dm"
+#include "code\modules\ruins\spaceruin_code\hilbertshotel.dm"
+#include "code\modules\ruins\spaceruin_code\listeningstation.dm"
+#include "code\modules\ruins\spaceruin_code\miracle.dm"
+#include "code\modules\ruins\spaceruin_code\oldstation.dm"
+#include "code\modules\ruins\spaceruin_code\originalcontent.dm"
+#include "code\modules\ruins\spaceruin_code\spacehotel.dm"
+#include "code\modules\ruins\spaceruin_code\TheDerelict.dm"
+#include "code\modules\ruins\spaceruin_code\whiteshipruin_box.dm"
+#include "code\modules\security_levels\keycard_authentication.dm"
+#include "code\modules\security_levels\security_levels.dm"
+#include "code\modules\shuttle\arrivals.dm"
+#include "code\modules\shuttle\assault_pod.dm"
+#include "code\modules\shuttle\computer.dm"
+#include "code\modules\shuttle\docking.dm"
+#include "code\modules\shuttle\elevator.dm"
+#include "code\modules\shuttle\emergency.dm"
+#include "code\modules\shuttle\ferry.dm"
+#include "code\modules\shuttle\manipulator.dm"
+#include "code\modules\shuttle\monastery.dm"
+#include "code\modules\shuttle\navigation_computer.dm"
+#include "code\modules\shuttle\on_move.dm"
+#include "code\modules\shuttle\ripple.dm"
+#include "code\modules\shuttle\shuttle.dm"
+#include "code\modules\shuttle\shuttle_rotate.dm"
+#include "code\modules\shuttle\special.dm"
+#include "code\modules\shuttle\supply.dm"
+#include "code\modules\shuttle\syndicate.dm"
+#include "code\modules\shuttle\white_ship.dm"
+#include "code\modules\spells\spell.dm"
+#include "code\modules\spells\spell_types\aimed.dm"
+#include "code\modules\spells\spell_types\area_teleport.dm"
+#include "code\modules\spells\spell_types\barnyard.dm"
+#include "code\modules\spells\spell_types\bloodcrawl.dm"
+#include "code\modules\spells\spell_types\charge.dm"
+#include "code\modules\spells\spell_types\conjure.dm"
+#include "code\modules\spells\spell_types\construct_spells.dm"
+#include "code\modules\spells\spell_types\devil.dm"
+#include "code\modules\spells\spell_types\devil_boons.dm"
+#include "code\modules\spells\spell_types\dumbfire.dm"
+#include "code\modules\spells\spell_types\emplosion.dm"
+#include "code\modules\spells\spell_types\ethereal_jaunt.dm"
+#include "code\modules\spells\spell_types\explosion.dm"
+#include "code\modules\spells\spell_types\forcewall.dm"
+#include "code\modules\spells\spell_types\genetic.dm"
+#include "code\modules\spells\spell_types\godhand.dm"
+#include "code\modules\spells\spell_types\infinite_guns.dm"
+#include "code\modules\spells\spell_types\inflict_handler.dm"
+#include "code\modules\spells\spell_types\knock.dm"
+#include "code\modules\spells\spell_types\lichdom.dm"
+#include "code\modules\spells\spell_types\lightning.dm"
+#include "code\modules\spells\spell_types\mime.dm"
+#include "code\modules\spells\spell_types\mind_transfer.dm"
+#include "code\modules\spells\spell_types\projectile.dm"
+#include "code\modules\spells\spell_types\rightandwrong.dm"
+#include "code\modules\spells\spell_types\rod_form.dm"
+#include "code\modules\spells\spell_types\santa.dm"
+#include "code\modules\spells\spell_types\shadow_walk.dm"
+#include "code\modules\spells\spell_types\shapeshift.dm"
+#include "code\modules\spells\spell_types\spacetime_distortion.dm"
+#include "code\modules\spells\spell_types\summonitem.dm"
+#include "code\modules\spells\spell_types\taeclowndo.dm"
+#include "code\modules\spells\spell_types\telepathy.dm"
+#include "code\modules\spells\spell_types\the_traps.dm"
+#include "code\modules\spells\spell_types\touch_attacks.dm"
+#include "code\modules\spells\spell_types\trigger.dm"
+#include "code\modules\spells\spell_types\turf_teleport.dm"
+#include "code\modules\spells\spell_types\voice_of_god.dm"
+#include "code\modules\spells\spell_types\wizard.dm"
+#include "code\modules\station_goals\bsa.dm"
+#include "code\modules\station_goals\dna_vault.dm"
+#include "code\modules\station_goals\shield.dm"
+#include "code\modules\station_goals\station_goal.dm"
+#include "code\modules\surgery\amputation.dm"
+#include "code\modules\surgery\brain_surgery.dm"
+#include "code\modules\surgery\cavity_implant.dm"
+#include "code\modules\surgery\core_removal.dm"
+#include "code\modules\surgery\coronary_bypass.dm"
+#include "code\modules\surgery\dental_implant.dm"
+#include "code\modules\surgery\embalming.dm"
+#include "code\modules\surgery\emergency_cardioversion_recovery.dm"
+#include "code\modules\surgery\experimental_dissection.dm"
+#include "code\modules\surgery\eye_surgery.dm"
+#include "code\modules\surgery\graft_synthtissue.dm"
+#include "code\modules\surgery\healing.dm"
+#include "code\modules\surgery\helpers.dm"
+#include "code\modules\surgery\implant_removal.dm"
+#include "code\modules\surgery\limb_augmentation.dm"
+#include "code\modules\surgery\lipoplasty.dm"
+#include "code\modules\surgery\lobectomy.dm"
+#include "code\modules\surgery\mechanic_steps.dm"
+#include "code\modules\surgery\nutcracker.dm"
+#include "code\modules\surgery\organ_manipulation.dm"
+#include "code\modules\surgery\organic_steps.dm"
+#include "code\modules\surgery\plastic_surgery.dm"
+#include "code\modules\surgery\prosthetic_replacement.dm"
+#include "code\modules\surgery\remove_embedded_object.dm"
+#include "code\modules\surgery\surgery.dm"
+#include "code\modules\surgery\surgery_step.dm"
+#include "code\modules\surgery\tools.dm"
+#include "code\modules\surgery\advanced\brainwashing.dm"
+#include "code\modules\surgery\advanced\lobotomy.dm"
+#include "code\modules\surgery\advanced\necrotic_revival.dm"
+#include "code\modules\surgery\advanced\pacification.dm"
+#include "code\modules\surgery\advanced\revival.dm"
+#include "code\modules\surgery\advanced\toxichealing.dm"
+#include "code\modules\surgery\advanced\viral_bonding.dm"
+#include "code\modules\surgery\advanced\bioware\bioware.dm"
+#include "code\modules\surgery\advanced\bioware\bioware_surgery.dm"
+#include "code\modules\surgery\advanced\bioware\ligament_hook.dm"
+#include "code\modules\surgery\advanced\bioware\ligament_reinforcement.dm"
+#include "code\modules\surgery\advanced\bioware\muscled_veins.dm"
+#include "code\modules\surgery\advanced\bioware\nerve_grounding.dm"
+#include "code\modules\surgery\advanced\bioware\nerve_splicing.dm"
+#include "code\modules\surgery\advanced\bioware\vein_threading.dm"
+#include "code\modules\surgery\bodyparts\bodyparts.dm"
+#include "code\modules\surgery\bodyparts\dismemberment.dm"
+#include "code\modules\surgery\bodyparts\head.dm"
+#include "code\modules\surgery\bodyparts\helpers.dm"
+#include "code\modules\surgery\bodyparts\robot_bodyparts.dm"
+#include "code\modules\surgery\organs\appendix.dm"
+#include "code\modules\surgery\organs\augments_arms.dm"
+#include "code\modules\surgery\organs\augments_chest.dm"
+#include "code\modules\surgery\organs\augments_eyes.dm"
+#include "code\modules\surgery\organs\augments_internal.dm"
+#include "code\modules\surgery\organs\autosurgeon.dm"
+#include "code\modules\surgery\organs\ears.dm"
+#include "code\modules\surgery\organs\eyes.dm"
+#include "code\modules\surgery\organs\heart.dm"
+#include "code\modules\surgery\organs\helpers.dm"
+#include "code\modules\surgery\organs\liver.dm"
+#include "code\modules\surgery\organs\lungs.dm"
+#include "code\modules\surgery\organs\organ_internal.dm"
+#include "code\modules\surgery\organs\stomach.dm"
+#include "code\modules\surgery\organs\tails.dm"
+#include "code\modules\surgery\organs\tongue.dm"
+#include "code\modules\surgery\organs\vocal_cords.dm"
+#include "code\modules\tgs\includes.dm"
+#include "code\modules\tgui\external.dm"
+#include "code\modules\tgui\states.dm"
+#include "code\modules\tgui\subsystem.dm"
+#include "code\modules\tgui\tgui.dm"
+#include "code\modules\tgui\states\admin.dm"
+#include "code\modules\tgui\states\always.dm"
+#include "code\modules\tgui\states\conscious.dm"
+#include "code\modules\tgui\states\contained.dm"
+#include "code\modules\tgui\states\deep_inventory.dm"
+#include "code\modules\tgui\states\default.dm"
+#include "code\modules\tgui\states\hands.dm"
+#include "code\modules\tgui\states\human_adjacent.dm"
+#include "code\modules\tgui\states\inventory.dm"
+#include "code\modules\tgui\states\language_menu.dm"
+#include "code\modules\tgui\states\not_incapacitated.dm"
+#include "code\modules\tgui\states\notcontained.dm"
+#include "code\modules\tgui\states\observer.dm"
+#include "code\modules\tgui\states\physical.dm"
+#include "code\modules\tgui\states\self.dm"
+#include "code\modules\tgui\states\zlevel.dm"
+#include "code\modules\tooltip\tooltip.dm"
+#include "code\modules\unit_tests\_unit_tests.dm"
+#include "code\modules\uplink\uplink_devices.dm"
+#include "code\modules\uplink\uplink_items.dm"
+#include "code\modules\uplink\uplink_purchase_log.dm"
+#include "code\modules\uplink\uplink_items\uplink_ammo.dm"
+#include "code\modules\uplink\uplink_items\uplink_badass.dm"
+#include "code\modules\uplink\uplink_items\uplink_bundles.dm"
+#include "code\modules\uplink\uplink_items\uplink_clothing.dm"
+#include "code\modules\uplink\uplink_items\uplink_dangerous.dm"
+#include "code\modules\uplink\uplink_items\uplink_devices.dm"
+#include "code\modules\uplink\uplink_items\uplink_explosives.dm"
+#include "code\modules\uplink\uplink_items\uplink_implants.dm"
+#include "code\modules\uplink\uplink_items\uplink_roles.dm"
+#include "code\modules\uplink\uplink_items\uplink_stealth.dm"
+#include "code\modules\uplink\uplink_items\uplink_stealthdevices.dm"
+#include "code\modules\uplink\uplink_items\uplink_support.dm"
+#include "code\modules\vehicles\_vehicle.dm"
+#include "code\modules\vehicles\atv.dm"
+#include "code\modules\vehicles\bicycle.dm"
+#include "code\modules\vehicles\lavaboat.dm"
+#include "code\modules\vehicles\pimpin_ride.dm"
+#include "code\modules\vehicles\ridden.dm"
+#include "code\modules\vehicles\scooter.dm"
+#include "code\modules\vehicles\sealed.dm"
+#include "code\modules\vehicles\secway.dm"
+#include "code\modules\vehicles\speedbike.dm"
+#include "code\modules\vehicles\vehicle_actions.dm"
+#include "code\modules\vehicles\vehicle_key.dm"
+#include "code\modules\vehicles\wheelchair.dm"
+#include "code\modules\vehicles\cars\car.dm"
+#include "code\modules\vehicles\cars\clowncar.dm"
+#include "code\modules\vending\_vending.dm"
+#include "code\modules\vending\assist.dm"
+#include "code\modules\vending\autodrobe.dm"
+#include "code\modules\vending\boozeomat.dm"
+#include "code\modules\vending\cartridge.dm"
+#include "code\modules\vending\cigarette.dm"
+#include "code\modules\vending\clothesmate.dm"
+#include "code\modules\vending\coffee.dm"
+#include "code\modules\vending\cola.dm"
+#include "code\modules\vending\drinnerware.dm"
+#include "code\modules\vending\engineering.dm"
+#include "code\modules\vending\engivend.dm"
+#include "code\modules\vending\games.dm"
+#include "code\modules\vending\kinkmate.dm"
+#include "code\modules\vending\liberation.dm"
+#include "code\modules\vending\liberation_toy.dm"
+#include "code\modules\vending\magivend.dm"
+#include "code\modules\vending\medical.dm"
+#include "code\modules\vending\medical_wall.dm"
+#include "code\modules\vending\megaseed.dm"
+#include "code\modules\vending\nutrimax.dm"
+#include "code\modules\vending\plasmaresearch.dm"
+#include "code\modules\vending\robotics.dm"
+#include "code\modules\vending\security.dm"
+#include "code\modules\vending\snack.dm"
+#include "code\modules\vending\sovietsoda.dm"
+#include "code\modules\vending\sovietvend.dm"
+#include "code\modules\vending\sustenance.dm"
+#include "code\modules\vending\toys.dm"
+#include "code\modules\vending\wardrobes.dm"
+#include "code\modules\vending\youtool.dm"
+#include "code\modules\vore\hook-defs.dm"
+#include "code\modules\vore\persistence.dm"
+#include "code\modules\vore\trycatch.dm"
+#include "code\modules\vore\eating\belly_dat_vr.dm"
+#include "code\modules\vore\eating\belly_obj.dm"
+#include "code\modules\vore\eating\bellymodes.dm"
+#include "code\modules\vore\eating\digest_act.dm"
+#include "code\modules\vore\eating\living.dm"
+#include "code\modules\vore\eating\vore.dm"
+#include "code\modules\vore\eating\voreitems.dm"
+#include "code\modules\vore\eating\vorepanel.dm"
+#include "code\modules\VR\vr_mob.dm"
+#include "code\modules\VR\vr_sleeper.dm"
+#include "code\modules\zombie\items.dm"
+#include "code\modules\zombie\organs.dm"
+#include "interface\interface.dm"
+#include "interface\menu.dm"
+#include "interface\stylesheet.dm"
+#include "modular_citadel\code\__HELPERS\list2list.dm"
+#include "modular_citadel\code\__HELPERS\lists.dm"
+#include "modular_citadel\code\__HELPERS\mobs.dm"
+#include "modular_citadel\code\_onclick\click.dm"
+#include "modular_citadel\code\_onclick\item_attack.dm"
+#include "modular_citadel\code\_onclick\other_mobs.dm"
+#include "modular_citadel\code\_onclick\hud\screen_objects.dm"
+#include "modular_citadel\code\_onclick\hud\sprint.dm"
+#include "modular_citadel\code\_onclick\hud\stamina.dm"
+#include "modular_citadel\code\datums\components\souldeath.dm"
+#include "modular_citadel\code\datums\status_effects\chems.dm"
+#include "modular_citadel\code\game\machinery\wishgranter.dm"
+#include "modular_citadel\code\game\objects\cit_screenshake.dm"
+#include "modular_citadel\code\game\objects\effects\temporary_visuals\souldeath.dm"
+#include "modular_citadel\code\modules\admin\chat_commands.dm"
+#include "modular_citadel\code\modules\admin\holder2.dm"
+#include "modular_citadel\code\modules\admin\secrets.dm"
+#include "modular_citadel\code\modules\arousal\arousal.dm"
+#include "modular_citadel\code\modules\arousal\genitals.dm"
+#include "modular_citadel\code\modules\arousal\genitals_sprite_accessories.dm"
+#include "modular_citadel\code\modules\arousal\organs\breasts.dm"
+#include "modular_citadel\code\modules\arousal\organs\eggsack.dm"
+#include "modular_citadel\code\modules\arousal\organs\ovipositor.dm"
+#include "modular_citadel\code\modules\arousal\organs\penis.dm"
+#include "modular_citadel\code\modules\arousal\organs\testicles.dm"
+#include "modular_citadel\code\modules\arousal\organs\vagina.dm"
+#include "modular_citadel\code\modules\arousal\organs\womb.dm"
+#include "modular_citadel\code\modules\arousal\toys\dildos.dm"
+#include "modular_citadel\code\modules\client\client_defines.dm"
+#include "modular_citadel\code\modules\client\client_procs.dm"
+#include "modular_citadel\code\modules\client\preferences.dm"
+#include "modular_citadel\code\modules\client\preferences_savefile.dm"
+#include "modular_citadel\code\modules\client\preferences_toggles.dm"
+#include "modular_citadel\code\modules\client\loadout\__donator.dm"
+#include "modular_citadel\code\modules\client\loadout\_loadout.dm"
+#include "modular_citadel\code\modules\client\loadout\_medical.dm"
+#include "modular_citadel\code\modules\client\loadout\_security.dm"
+#include "modular_citadel\code\modules\client\loadout\_service.dm"
+#include "modular_citadel\code\modules\client\loadout\backpack.dm"
+#include "modular_citadel\code\modules\client\loadout\glasses.dm"
+#include "modular_citadel\code\modules\client\loadout\gloves.dm"
+#include "modular_citadel\code\modules\client\loadout\hands.dm"
+#include "modular_citadel\code\modules\client\loadout\head.dm"
+#include "modular_citadel\code\modules\client\loadout\mask.dm"
+#include "modular_citadel\code\modules\client\loadout\neck.dm"
+#include "modular_citadel\code\modules\client\loadout\shoes.dm"
+#include "modular_citadel\code\modules\client\loadout\suit.dm"
+#include "modular_citadel\code\modules\client\loadout\uniform.dm"
+#include "modular_citadel\code\modules\client\verbs\who.dm"
+#include "modular_citadel\code\modules\clothing\neck.dm"
+#include "modular_citadel\code\modules\clothing\spacesuits\flightsuit.dm"
+#include "modular_citadel\code\modules\clothing\suits\polychromic_cloaks.dm"
+#include "modular_citadel\code\modules\clothing\suits\suits.dm"
+#include "modular_citadel\code\modules\clothing\under\trek_under.dm"
+#include "modular_citadel\code\modules\clothing\under\turtlenecks.dm"
+#include "modular_citadel\code\modules\clothing\under\under.dm"
+#include "modular_citadel\code\modules\custom_loadout\custom_items.dm"
+#include "modular_citadel\code\modules\custom_loadout\load_to_mob.dm"
+#include "modular_citadel\code\modules\custom_loadout\read_from_file.dm"
+#include "modular_citadel\code\modules\mentor\follow.dm"
+#include "modular_citadel\code\modules\mentor\mentor.dm"
+#include "modular_citadel\code\modules\mentor\mentor_memo.dm"
+#include "modular_citadel\code\modules\mentor\mentor_verbs.dm"
+#include "modular_citadel\code\modules\mentor\mentorhelp.dm"
+#include "modular_citadel\code\modules\mentor\mentorpm.dm"
+#include "modular_citadel\code\modules\mentor\mentorsay.dm"
+#include "modular_citadel\code\modules\mob\cit_emotes.dm"
+#include "modular_citadel\code\modules\mob\living\damage_procs.dm"
+#include "modular_citadel\code\modules\mob\living\living.dm"
+#include "modular_citadel\code\modules\mob\living\carbon\carbon.dm"
+#include "modular_citadel\code\modules\mob\living\carbon\damage_procs.dm"
+#include "modular_citadel\code\modules\mob\living\carbon\life.dm"
+#include "modular_citadel\code\modules\mob\living\carbon\reindex_screams.dm"
+#include "modular_citadel\code\modules\mob\living\carbon\human\human.dm"
+#include "modular_citadel\code\modules\mob\living\carbon\human\human_defense.dm"
+#include "modular_citadel\code\modules\mob\living\carbon\human\human_movement.dm"
+#include "modular_citadel\code\modules\mob\living\silicon\robot\dogborg_equipment.dm"
+#include "modular_citadel\code\modules\mob\living\silicon\robot\robot_movement.dm"
+#include "modular_citadel\code\modules\projectiles\gun.dm"
+#include "modular_citadel\code\modules\projectiles\ammunition\caseless.dm"
+#include "modular_citadel\code\modules\projectiles\ammunition\ballistic\smg\smg.dm"
+#include "modular_citadel\code\modules\projectiles\boxes_magazines\ammo_boxes.dm"
+#include "modular_citadel\code\modules\projectiles\boxes_magazines\external\pistol.dm"
+#include "modular_citadel\code\modules\projectiles\boxes_magazines\external\smg\smg.dm"
+#include "modular_citadel\code\modules\projectiles\bullets\bullets\smg.dm"
+#include "modular_citadel\code\modules\projectiles\guns\pumpenergy.dm"
+#include "modular_citadel\code\modules\projectiles\guns\toys.dm"
+#include "modular_citadel\code\modules\projectiles\guns\ballistic\handguns.dm"
+#include "modular_citadel\code\modules\projectiles\guns\ballistic\rifles.dm"
+#include "modular_citadel\code\modules\projectiles\guns\ballistic\spinfusor.dm"
+#include "modular_citadel\code\modules\projectiles\guns\energy\energy_gun.dm"
+#include "modular_citadel\code\modules\projectiles\projectiles\reusable.dm"
+#include "modular_citadel\code\modules\reagents\chemistry\reagents\astrogen.dm"
+#include "modular_citadel\code\modules\reagents\chemistry\reagents\eigentstasium.dm"
+#include "modular_citadel\code\modules\reagents\chemistry\reagents\enlargement.dm"
+#include "modular_citadel\code\modules\reagents\chemistry\reagents\fermi_reagents.dm"
+#include "modular_citadel\code\modules\reagents\chemistry\reagents\healing.dm"
+#include "modular_citadel\code\modules\reagents\chemistry\reagents\MKUltra.dm"
+#include "modular_citadel\code\modules\reagents\chemistry\reagents\other_reagents.dm"
+#include "modular_citadel\code\modules\reagents\chemistry\reagents\SDGF.dm"
+#include "modular_citadel\code\modules\reagents\chemistry\recipes\fermi.dm"
+#include "modular_citadel\code\modules\reagents\objects\clothes.dm"
+#include "modular_citadel\code\modules\reagents\objects\items.dm"
+#include "modular_citadel\code\modules\reagents\reagents\cit_reagents.dm"
+#include "modular_citadel\interface\skin.dmf"
+// END_INCLUDE
From f4e3d750889e15e15878f89c25dcd25915c63b38 Mon Sep 17 00:00:00 2001
From: keronshb
Date: Fri, 6 Mar 2020 17:37:07 -0500
Subject: [PATCH 13/79] Blob Reroll
Part of blob reroll
---
code/__DEFINES/antagonists.dm | 5 +++++
code/modules/antagonists/blob/blob/blobstrains/_reagent.dm | 2 +-
.../modules/antagonists/blob/blob/blobstrains/blazing_oil.dm | 1 -
.../antagonists/blob/blob/blobstrains/cryogenic_poison.dm | 1 -
.../antagonists/blob/blob/blobstrains/electromagnetic_web.dm | 1 -
.../antagonists/blob/blob/blobstrains/energized_jelly.dm | 1 -
.../antagonists/blob/blob/blobstrains/explosive_lattice.dm | 1 -
.../antagonists/blob/blob/blobstrains/networked_fibers.dm | 1 -
.../antagonists/blob/blob/blobstrains/pressurized_slime.dm | 1 -
.../antagonists/blob/blob/blobstrains/reactive_spines.dm | 1 -
.../blob/blob/blobstrains/regenerative_materia.dm | 1 -
.../antagonists/blob/blob/blobstrains/replicating_foam.dm | 1 -
.../antagonists/blob/blob/blobstrains/shifting_fragments.dm | 1 -
.../antagonists/blob/blob/blobstrains/synchronous_mesh.dm | 1 -
.../antagonists/blob/blob/blobstrains/zombifying_pods.dm | 1 -
code/modules/antagonists/blob/blob/overmind.dm | 2 +-
code/modules/antagonists/blob/blob/theblob.dm | 2 +-
17 files changed, 8 insertions(+), 16 deletions(-)
diff --git a/code/__DEFINES/antagonists.dm b/code/__DEFINES/antagonists.dm
index b849e272e7..7a3f872666 100644
--- a/code/__DEFINES/antagonists.dm
+++ b/code/__DEFINES/antagonists.dm
@@ -72,3 +72,8 @@
#define CAT_STRUCTURE "Structures"
#define MARTIALART_HUNTER "hunter-fu"
+
+//Blob
+/// blob gets a free reroll every X time
+#define BLOB_REROLL_TIME 2400
+#define BLOB_REFLECTOR_COST 15
\ No newline at end of file
diff --git a/code/modules/antagonists/blob/blob/blobstrains/_reagent.dm b/code/modules/antagonists/blob/blob/blobstrains/_reagent.dm
index f688cee847..f47c3b3378 100644
--- a/code/modules/antagonists/blob/blob/blobstrains/_reagent.dm
+++ b/code/modules/antagonists/blob/blob/blobstrains/_reagent.dm
@@ -16,7 +16,7 @@
reagent.reaction_mob(L, VAPOR, 20, 0, mob_protection, overmind)//this will do between 10 and 20 damage(reduced by mob protection), depending on chemical, plus 4 from base brute damage.
/datum/blobstrain/reagent/on_sporedeath(mob/living/spore)
- spore.reagents.add_reagent(reagent.id, 10)
+ spore.reagents.add_reagent(reagent.type, 10)
// These can only be applied by blobs. They are what (reagent) blobs are made out of.
/datum/reagent/blob
diff --git a/code/modules/antagonists/blob/blob/blobstrains/blazing_oil.dm b/code/modules/antagonists/blob/blob/blobstrains/blazing_oil.dm
index 7f934afdf6..97b974e28f 100644
--- a/code/modules/antagonists/blob/blob/blobstrains/blazing_oil.dm
+++ b/code/modules/antagonists/blob/blob/blobstrains/blazing_oil.dm
@@ -28,7 +28,6 @@
/datum/reagent/blob/blazing_oil
name = "Blazing Oil"
- id = "blazing_oil"
taste_description = "burning oil"
color = "#B68D00"
diff --git a/code/modules/antagonists/blob/blob/blobstrains/cryogenic_poison.dm b/code/modules/antagonists/blob/blob/blobstrains/cryogenic_poison.dm
index 74910b8060..9b8edcd0e5 100644
--- a/code/modules/antagonists/blob/blob/blobstrains/cryogenic_poison.dm
+++ b/code/modules/antagonists/blob/blob/blobstrains/cryogenic_poison.dm
@@ -12,7 +12,6 @@
/datum/reagent/blob/cryogenic_poison
name = "Cryogenic Poison"
- id = "cryogenic_poison"
description = "will inject targets with a freezing poison that does high damage over time."
color = "#8BA6E9"
taste_description = "brain freeze"
diff --git a/code/modules/antagonists/blob/blob/blobstrains/electromagnetic_web.dm b/code/modules/antagonists/blob/blob/blobstrains/electromagnetic_web.dm
index e970588e6a..0e665603c9 100644
--- a/code/modules/antagonists/blob/blob/blobstrains/electromagnetic_web.dm
+++ b/code/modules/antagonists/blob/blob/blobstrains/electromagnetic_web.dm
@@ -22,7 +22,6 @@
/datum/reagent/blob/electromagnetic_web
name = "Electromagnetic Web"
- id = "electromagnetic_web"
taste_description = "pop rocks"
color = "#83ECEC"
diff --git a/code/modules/antagonists/blob/blob/blobstrains/energized_jelly.dm b/code/modules/antagonists/blob/blob/blobstrains/energized_jelly.dm
index 8393e8fae7..66ce3c303d 100644
--- a/code/modules/antagonists/blob/blob/blobstrains/energized_jelly.dm
+++ b/code/modules/antagonists/blob/blob/blobstrains/energized_jelly.dm
@@ -23,7 +23,6 @@
/datum/reagent/blob/energized_jelly
name = "Energized Jelly"
- id = "energized_jelly"
taste_description = "gelatin"
color = "#EFD65A"
diff --git a/code/modules/antagonists/blob/blob/blobstrains/explosive_lattice.dm b/code/modules/antagonists/blob/blob/blobstrains/explosive_lattice.dm
index 5d64ecf5c3..f8fd2e2f0d 100644
--- a/code/modules/antagonists/blob/blob/blobstrains/explosive_lattice.dm
+++ b/code/modules/antagonists/blob/blob/blobstrains/explosive_lattice.dm
@@ -20,7 +20,6 @@
/datum/reagent/blob/explosive_lattice
name = "Explosive Lattice"
- id = "explosive_lattice"
taste_description = "the bomb"
color = "#8B2500"
diff --git a/code/modules/antagonists/blob/blob/blobstrains/networked_fibers.dm b/code/modules/antagonists/blob/blob/blobstrains/networked_fibers.dm
index d2af3d9eec..fac3470c7a 100644
--- a/code/modules/antagonists/blob/blob/blobstrains/networked_fibers.dm
+++ b/code/modules/antagonists/blob/blob/blobstrains/networked_fibers.dm
@@ -28,7 +28,6 @@
//does massive brute and burn damage, but can only expand manually
/datum/reagent/blob/networked_fibers
name = "Networked Fibers"
- id = "networked_fibers"
taste_description = "efficiency"
color = "#CDC0B0"
diff --git a/code/modules/antagonists/blob/blob/blobstrains/pressurized_slime.dm b/code/modules/antagonists/blob/blob/blobstrains/pressurized_slime.dm
index ef97ddd2fe..6a984e66a2 100644
--- a/code/modules/antagonists/blob/blob/blobstrains/pressurized_slime.dm
+++ b/code/modules/antagonists/blob/blob/blobstrains/pressurized_slime.dm
@@ -34,7 +34,6 @@
/datum/reagent/blob/pressurized_slime
name = "Pressurized Slime"
- id = "pressurized_slime"
taste_description = "a sponge"
color = "#AAAABB"
diff --git a/code/modules/antagonists/blob/blob/blobstrains/reactive_spines.dm b/code/modules/antagonists/blob/blob/blobstrains/reactive_spines.dm
index b36c44efea..fca56d1402 100644
--- a/code/modules/antagonists/blob/blob/blobstrains/reactive_spines.dm
+++ b/code/modules/antagonists/blob/blob/blobstrains/reactive_spines.dm
@@ -21,7 +21,6 @@
/datum/reagent/blob/reactive_spines
name = "Reactive Spines"
- id = "reactive_spines"
taste_description = "rock"
color = "#9ACD32"
diff --git a/code/modules/antagonists/blob/blob/blobstrains/regenerative_materia.dm b/code/modules/antagonists/blob/blob/blobstrains/regenerative_materia.dm
index 13f4e2d7db..25511e01ff 100644
--- a/code/modules/antagonists/blob/blob/blobstrains/regenerative_materia.dm
+++ b/code/modules/antagonists/blob/blob/blobstrains/regenerative_materia.dm
@@ -10,7 +10,6 @@
/datum/reagent/blob/regenerative_materia
name = "Regenerative Materia"
- id = "regenerative_materia"
taste_description = "heaven"
color = "#C8A5DC"
diff --git a/code/modules/antagonists/blob/blob/blobstrains/replicating_foam.dm b/code/modules/antagonists/blob/blob/blobstrains/replicating_foam.dm
index 4c2a61d45a..00743c671e 100644
--- a/code/modules/antagonists/blob/blob/blobstrains/replicating_foam.dm
+++ b/code/modules/antagonists/blob/blob/blobstrains/replicating_foam.dm
@@ -26,7 +26,6 @@
/datum/reagent/blob/replicating_foam
name = "Replicating Foam"
- id = "replicating_foam"
taste_description = "duplication"
color = "#7B5A57"
diff --git a/code/modules/antagonists/blob/blob/blobstrains/shifting_fragments.dm b/code/modules/antagonists/blob/blob/blobstrains/shifting_fragments.dm
index 9a3f93f04b..dbb3d6fb9b 100644
--- a/code/modules/antagonists/blob/blob/blobstrains/shifting_fragments.dm
+++ b/code/modules/antagonists/blob/blob/blobstrains/shifting_fragments.dm
@@ -28,7 +28,6 @@
/datum/reagent/blob/shifting_fragments
name = "Shifting Fragments"
- id = "shifting_fragments"
color = "#C8963C"
/datum/reagent/blob/shifting_fragments/reaction_mob(mob/living/M, method=TOUCH, reac_volume, show_message, touch_protection, mob/camera/blob/O)
diff --git a/code/modules/antagonists/blob/blob/blobstrains/synchronous_mesh.dm b/code/modules/antagonists/blob/blob/blobstrains/synchronous_mesh.dm
index 1a846a5a1d..d58fb5b37d 100644
--- a/code/modules/antagonists/blob/blob/blobstrains/synchronous_mesh.dm
+++ b/code/modules/antagonists/blob/blob/blobstrains/synchronous_mesh.dm
@@ -25,7 +25,6 @@
/datum/reagent/blob/synchronous_mesh
name = "Synchronous Mesh"
- id = "synchronous_mesh"
taste_description = "toxic mold"
color = "#65ADA2"
diff --git a/code/modules/antagonists/blob/blob/blobstrains/zombifying_pods.dm b/code/modules/antagonists/blob/blob/blobstrains/zombifying_pods.dm
index 6f04a6a79a..b2bb9d5115 100644
--- a/code/modules/antagonists/blob/blob/blobstrains/zombifying_pods.dm
+++ b/code/modules/antagonists/blob/blob/blobstrains/zombifying_pods.dm
@@ -29,7 +29,6 @@
/datum/reagent/blob/zombifying_pods
name = "Zombifying Pods"
- id = "zombifying_pods"
color = "#E88D5D"
/datum/reagent/blob/zombifying_pods/reaction_mob(mob/living/M, method=TOUCH, reac_volume, show_message, touch_protection, mob/camera/blob/O)
diff --git a/code/modules/antagonists/blob/blob/overmind.dm b/code/modules/antagonists/blob/blob/overmind.dm
index af68950775..4997166325 100644
--- a/code/modules/antagonists/blob/blob/overmind.dm
+++ b/code/modules/antagonists/blob/blob/overmind.dm
@@ -215,7 +215,7 @@ GLOBAL_LIST_EMPTY(blob_nodes)
src.log_talk(message, LOG_SAY)
- var/message_a = say_quote(message, get_spans())
+ var/message_a = say_quote(message)
var/rendered = "\[Blob Telepathy\] [name]([blobstrain.name]) [message_a]"
for(var/mob/M in GLOB.mob_list)
diff --git a/code/modules/antagonists/blob/blob/theblob.dm b/code/modules/antagonists/blob/blob/theblob.dm
index da3b338bf4..444b10684b 100644
--- a/code/modules/antagonists/blob/blob/theblob.dm
+++ b/code/modules/antagonists/blob/blob/theblob.dm
@@ -237,7 +237,7 @@
else
return ..()
-/obj/structure/blob/proc/chemeffectreport()
+/obj/structure/blob/proc/chemeffectreport(mob/user)
RETURN_TYPE(/list)
. = list()
if(overmind)
From 930643b01a77712f5da5994059a8e0ed9fed9376 Mon Sep 17 00:00:00 2001
From: keronshb
Date: Fri, 6 Mar 2020 19:06:50 -0500
Subject: [PATCH 14/79] Blob Reroll
Also ports blob reroll
---
code/_onclick/hud/blob_overmind.dm | 4 +--
.../blob/blob/blobstrains/_blobstrain.dm | 13 ++++++++
.../modules/antagonists/blob/blob/overmind.dm | 18 ++++++++++-
code/modules/antagonists/blob/blob/powers.dm | 32 ++++++++-----------
tgstation.dme | 2 ++
5 files changed, 48 insertions(+), 21 deletions(-)
diff --git a/code/_onclick/hud/blob_overmind.dm b/code/_onclick/hud/blob_overmind.dm
index 82e22a8c4d..b9118da5f1 100644
--- a/code/_onclick/hud/blob_overmind.dm
+++ b/code/_onclick/hud/blob_overmind.dm
@@ -93,8 +93,8 @@
/obj/screen/blob/ReadaptStrain
icon_state = "ui_chemswap"
- name = "Readapt Chemical (40)"
- desc = "Randomly rerolls your chemical for 40 resources."
+ name = "Readapt Strain (40)"
+ desc = "Allows you to choose a new strain from 4 random choices for 40 resources."
/obj/screen/blob/ReadaptStrain/MouseEntered(location,control,params)
if(hud && hud.mymob && isovermind(hud.mymob))
diff --git a/code/modules/antagonists/blob/blob/blobstrains/_blobstrain.dm b/code/modules/antagonists/blob/blob/blobstrains/_blobstrain.dm
index e592be0c5e..8b6f4bd687 100644
--- a/code/modules/antagonists/blob/blob/blobstrains/_blobstrain.dm
+++ b/code/modules/antagonists/blob/blob/blobstrains/_blobstrain.dm
@@ -22,6 +22,19 @@ GLOBAL_LIST_INIT(valid_blobstrains, subtypesof(/datum/blobstrain) - list(/datum/
stack_trace("blobstrain created without overmind")
overmind = new_overmind
+/datum/blobstrain/proc/on_gain()
+ overmind.color = complementary_color
+ for(var/BL in GLOB.blobs)
+ var/obj/structure/blob/B = BL
+ B.update_icon()
+ for(var/BLO in overmind.blob_mobs)
+ var/mob/living/simple_animal/hostile/blob/BM = BLO
+ BM.update_icons() //If it's getting a new strain, tell it what it does!
+ to_chat(BM, "Your overmind's blob strain is now: [name]!")
+ to_chat(BM, "The [name] strain [shortdesc ? "[shortdesc]" : "[description]"]")
+
+/datum/blobstrain/proc/on_lose()
+
/datum/blobstrain/proc/on_sporedeath(mob/living/spore)
/datum/blobstrain/proc/send_message(mob/living/M)
diff --git a/code/modules/antagonists/blob/blob/overmind.dm b/code/modules/antagonists/blob/blob/overmind.dm
index 4997166325..aed64e4039 100644
--- a/code/modules/antagonists/blob/blob/overmind.dm
+++ b/code/modules/antagonists/blob/blob/overmind.dm
@@ -38,6 +38,7 @@ GLOBAL_LIST_EMPTY(blob_nodes)
var/max_count = 0 //The biggest it got before death
var/blobwincount = 400
var/victory_in_progress = FALSE
+ var/rerolling = FALSE
/mob/camera/blob/Initialize(mapload, starting_points = 60)
validate_location()
@@ -50,7 +51,7 @@ GLOBAL_LIST_EMPTY(blob_nodes)
real_name = new_name
last_attack = world.time
var/datum/blobstrain/BS = pick(GLOB.valid_blobstrains)
- blobstrain = new BS(src)
+ set_strain(BS)
color = blobstrain.complementary_color
if(blob_core)
blob_core.update_icon()
@@ -70,6 +71,21 @@ GLOBAL_LIST_EMPTY(blob_nodes)
CRASH("No blobspawnpoints and blob spawned in nullspace.")
forceMove(T)
+/mob/camera/blob/proc/set_strain(datum/blobstrain/new_strain)
+ if (ispath(new_strain))
+ var/hadstrain = FALSE
+ if (istype(blobstrain))
+ blobstrain.on_lose()
+ qdel(blobstrain)
+ hadstrain = TRUE
+ blobstrain = new new_strain(src)
+ blobstrain.on_gain()
+ if (hadstrain)
+ to_chat(src, "Your strain is now: [blobstrain.name]!")
+ to_chat(src, "The [blobstrain.name] strain [blobstrain.description]")
+ if(blobstrain.effectdesc)
+ to_chat(src, "The [blobstrain.name] strain [blobstrain.effectdesc]")
+
/mob/camera/blob/proc/is_valid_turf(turf/T)
var/area/A = get_area(T)
if((A && !A.blob_allowed) || !T || !is_station_level(T.z) || isspaceturf(T))
diff --git a/code/modules/antagonists/blob/blob/powers.dm b/code/modules/antagonists/blob/blob/powers.dm
index 1d355be9a4..641019ef33 100644
--- a/code/modules/antagonists/blob/blob/powers.dm
+++ b/code/modules/antagonists/blob/blob/powers.dm
@@ -336,28 +336,24 @@
set category = "Blob"
set name = "Reactive Strain Adaptation (40)"
set desc = "Replaces your strain with a random, different one."
- if(free_strain_rerolls || can_buy(40))
- set_strain()
+ if(!rerolling && (free_strain_rerolls || can_buy(40)))
+ rerolling = TRUE
+ reroll_strain()
+ rerolling = FALSE
if(free_strain_rerolls)
free_strain_rerolls--
last_reroll_time = world.time
-/mob/camera/blob/proc/set_strain()
- var/datum/blobstrain/bs = pick((GLOB.valid_blobstrains - blobstrain.type))
- blobstrain = new bs(src)
- color = blobstrain.complementary_color
- for(var/BL in GLOB.blobs)
- var/obj/structure/blob/B = BL
- B.update_icon()
- for(var/BLO in blob_mobs)
- var/mob/living/simple_animal/hostile/blob/BM = BLO
- BM.update_icons() //If it's getting a new strain, tell it what it does!
- to_chat(BM, "Your overmind's blob strain is now: [blobstrain.name]!")
- to_chat(BM, "The [blobstrain.name] strain [blobstrain.shortdesc ? "[blobstrain.shortdesc]" : "[blobstrain.description]"]")
- to_chat(src, "Your strain is now: [blobstrain.name]!")
- to_chat(src, "The [blobstrain.name] strain [blobstrain.description]")
- if(blobstrain.effectdesc)
- to_chat(src, "The [blobstrain.name] strain [blobstrain.effectdesc]")
+/mob/camera/blob/proc/reroll_strain()
+ var/list/choices = list()
+ while (length(choices) < 4)
+ var/datum/blobstrain/bs = pick((GLOB.valid_blobstrains))
+ choices[initial(bs.name)] = bs
+
+ var/choice = input(usr, "Please choose a new strain","Strain") as anything in choices
+ if (choice && choices[choice] && !QDELETED(src))
+ var/datum/blobstrain/bs = choices[choice]
+ set_strain(bs)
/mob/camera/blob/verb/blob_help()
set category = "Blob"
diff --git a/tgstation.dme b/tgstation.dme
index 5d2e5a02ad..3261d8c7c0 100755
--- a/tgstation.dme
+++ b/tgstation.dme
@@ -1291,6 +1291,7 @@
#include "code\modules\antagonists\abductor\machinery\experiment.dm"
#include "code\modules\antagonists\abductor\machinery\pad.dm"
#include "code\modules\antagonists\blob\blob.dm"
+#include "code\modules\antagonists\blob\blob\overmind.dm"
#include "code\modules\antagonists\blob\blob\blob_report.dm"
#include "code\modules\antagonists\blob\blob\overmind.dm"
#include "code\modules\antagonists\blob\blob\powers.dm"
@@ -1315,6 +1316,7 @@
#include "code\modules\antagonists\blob\blob\blobstrains\regenerative_materia.dm"
#include "code\modules\antagonists\blob\blob\blobstrains\replicating_foam.dm"
#include "code\modules\antagonists\blob\blob\blobstrains\shifting_fragments.dm"
+#include "code\modules\antagonists\blob\blob\blobstrains\_blobstrain.dm"
#include "code\modules\antagonists\blob\blob\blobstrains\synchronous_mesh.dm"
#include "code\modules\antagonists\blob\blob\blobstrains\zombifying_pods.dm"
#include "code\modules\antagonists\blood_contract\blood_contract.dm"
From 171a998a8e81e3c9904e76031defafa3c9514b45 Mon Sep 17 00:00:00 2001
From: keronshb
Date: Fri, 6 Mar 2020 20:31:46 -0500
Subject: [PATCH 15/79] TG Compile
Whoops
---
tgstation.dme | 2 --
1 file changed, 2 deletions(-)
diff --git a/tgstation.dme b/tgstation.dme
index 3261d8c7c0..5d2e5a02ad 100755
--- a/tgstation.dme
+++ b/tgstation.dme
@@ -1291,7 +1291,6 @@
#include "code\modules\antagonists\abductor\machinery\experiment.dm"
#include "code\modules\antagonists\abductor\machinery\pad.dm"
#include "code\modules\antagonists\blob\blob.dm"
-#include "code\modules\antagonists\blob\blob\overmind.dm"
#include "code\modules\antagonists\blob\blob\blob_report.dm"
#include "code\modules\antagonists\blob\blob\overmind.dm"
#include "code\modules\antagonists\blob\blob\powers.dm"
@@ -1316,7 +1315,6 @@
#include "code\modules\antagonists\blob\blob\blobstrains\regenerative_materia.dm"
#include "code\modules\antagonists\blob\blob\blobstrains\replicating_foam.dm"
#include "code\modules\antagonists\blob\blob\blobstrains\shifting_fragments.dm"
-#include "code\modules\antagonists\blob\blob\blobstrains\_blobstrain.dm"
#include "code\modules\antagonists\blob\blob\blobstrains\synchronous_mesh.dm"
#include "code\modules\antagonists\blob\blob\blobstrains\zombifying_pods.dm"
#include "code\modules\antagonists\blood_contract\blood_contract.dm"
From c8535275cef034cb2639dff0c03b503a213d0ca1 Mon Sep 17 00:00:00 2001
From: monster860
Date: Fri, 6 Mar 2020 22:05:56 -0500
Subject: [PATCH 16/79] In case it wasn't shitcode enough, makes it reset on
move
---
code/modules/mob/living/living_movement.dm | 4 ++++
code/modules/mob/mob.dm | 4 ++++
code/modules/mob/mob_defines.dm | 1 +
3 files changed, 9 insertions(+)
diff --git a/code/modules/mob/living/living_movement.dm b/code/modules/mob/living/living_movement.dm
index f278d22891..410e5b28db 100644
--- a/code/modules/mob/living/living_movement.dm
+++ b/code/modules/mob/living/living_movement.dm
@@ -1,6 +1,10 @@
/mob/living/Moved()
. = ..()
update_turf_movespeed(loc)
+ if(is_shifted)
+ is_shifted = FALSE
+ pixel_x = get_standard_pixel_x_offset(lying)
+ pixel_y = get_standard_pixel_y_offset(lying)
/mob/living/CanPass(atom/movable/mover, turf/target)
if((mover.pass_flags & PASSMOB))
diff --git a/code/modules/mob/mob.dm b/code/modules/mob/mob.dm
index baab7ead40..07a01fcd88 100644
--- a/code/modules/mob/mob.dm
+++ b/code/modules/mob/mob.dm
@@ -712,6 +712,7 @@ GLOBAL_VAR_INIT(exploit_warn_spam_prevention, 0)
return FALSE
if(pixel_x <= 16)
pixel_x++
+ is_shifted = TRUE
/mob/verb/westshift()
set hidden = TRUE
@@ -719,6 +720,7 @@ GLOBAL_VAR_INIT(exploit_warn_spam_prevention, 0)
return FALSE
if(pixel_x >= -16)
pixel_x--
+ is_shifted = TRUE
/mob/verb/northshift()
set hidden = TRUE
@@ -726,6 +728,7 @@ GLOBAL_VAR_INIT(exploit_warn_spam_prevention, 0)
return FALSE
if(pixel_y <= 16)
pixel_y++
+ is_shifted = TRUE
/mob/verb/southshift()
set hidden = TRUE
@@ -733,6 +736,7 @@ GLOBAL_VAR_INIT(exploit_warn_spam_prevention, 0)
return FALSE
if(pixel_y >= -16)
pixel_y--
+ is_shifted = TRUE
/mob/proc/IsAdvancedToolUser()//This might need a rename but it should replace the can this mob use things check
return FALSE
diff --git a/code/modules/mob/mob_defines.dm b/code/modules/mob/mob_defines.dm
index 638a3aa0e2..a9f2c09998 100644
--- a/code/modules/mob/mob_defines.dm
+++ b/code/modules/mob/mob_defines.dm
@@ -38,6 +38,7 @@
var/resting = 0 //Carbon
var/lying = 0
var/lying_prev = 0
+ var/is_shifted = 0
//MOVEMENT SPEED
var/list/movespeed_modification //Lazy list, see mob_movespeed.dm
From ec0d0f9ada5482e6c603a0390c336b5f411dbfba Mon Sep 17 00:00:00 2001
From: Ghom <42542238+Ghommie@users.noreply.github.com>
Date: Sun, 8 Mar 2020 01:27:14 +0100
Subject: [PATCH 17/79] Update flavor_text.dm
---
code/datums/elements/flavor_text.dm | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/code/datums/elements/flavor_text.dm b/code/datums/elements/flavor_text.dm
index 61c549d222..cf1154299b 100644
--- a/code/datums/elements/flavor_text.dm
+++ b/code/datums/elements/flavor_text.dm
@@ -9,7 +9,7 @@ GLOBAL_LIST_EMPTY(mobs_with_editable_flavor_text) //et tu, hacky code
var/always_show = FALSE
var/max_len = MAX_FAVOR_LEN
-/datum/element/flavor_text/Attach(datum/target, text = "", _name = "Flavor Text", _desc = "Sets an extended description of your character's features.", _addendum, _max_len = MAX_FAVOR_LEN, _always_show = FALSE, can_edit = TRUE)
+/datum/element/flavor_text/Attach(datum/target, text = "", _name = "Flavor Text", _addendum, _max_len = MAX_FAVOR_LEN, _always_show = FALSE, can_edit = TRUE)
. = ..()
if(. == ELEMENT_INCOMPATIBLE || !isatom(target)) //no reason why this shouldn't work on atoms too.
@@ -113,7 +113,7 @@ GLOBAL_LIST_EMPTY(mobs_with_editable_flavor_text) //et tu, hacky code
//subtypes with additional hooks for DNA and preferences.
/datum/element/flavor_text/carbon
-/datum/element/flavor_text/carbon/Attach(datum/target, text = "", _proc, _name = "Flavor Text", _desc = "Sets an extended description of your character's features.", _addendum, _max_len = MAX_FAVOR_LEN, _always_show = FALSE, can_edit = TRUE)
+/datum/element/flavor_text/carbon/Attach(datum/target, text = "", _proc, _name = "Flavor Text", _addendum, _max_len = MAX_FAVOR_LEN, _always_show = FALSE, can_edit = TRUE)
if(!iscarbon(target))
return ELEMENT_INCOMPATIBLE
. = ..()
@@ -137,4 +137,4 @@ GLOBAL_LIST_EMPTY(mobs_with_editable_flavor_text) //et tu, hacky code
/datum/element/flavor_text/carbon/set_flavor(mob/living/carbon/user)
. = ..()
if(. && user.dna)
- user.dna.features["flavor_text"] = texts_by_mob[user]
\ No newline at end of file
+ user.dna.features["flavor_text"] = texts_by_mob[user]
From 5f3496e908b29b1ef9155c0e33d998274ec824ca Mon Sep 17 00:00:00 2001
From: Ghom <42542238+Ghommie@users.noreply.github.com>
Date: Sun, 8 Mar 2020 01:27:35 +0100
Subject: [PATCH 18/79] Update human.dm
---
code/modules/mob/living/carbon/human/human.dm | 4 +---
1 file changed, 1 insertion(+), 3 deletions(-)
diff --git a/code/modules/mob/living/carbon/human/human.dm b/code/modules/mob/living/carbon/human/human.dm
index 78f97c69bc..99ad0ea4a1 100644
--- a/code/modules/mob/living/carbon/human/human.dm
+++ b/code/modules/mob/living/carbon/human/human.dm
@@ -39,9 +39,7 @@
if(!CONFIG_GET(flag/disable_human_mood))
AddComponent(/datum/component/mood)
AddElement(/datum/element/flavor_text/carbon)
- AddElement(/datum/element/flavor_text, "", "Temporary Flavor Text",
- "Sets a description of your character's current appearance. Use this for emotions, poses etc.",
- "This should be used only for things pertaining to the current round!")
+ AddElement(/datum/element/flavor_text, "", "Temporary Flavor Text", "This should be used only for things pertaining to the current round!")
/mob/living/carbon/human/Destroy()
QDEL_NULL(physiology)
From d10f0b0e2f9b0b445e753cecc8cb94bca9b17c0e Mon Sep 17 00:00:00 2001
From: Ghom <42542238+Ghommie@users.noreply.github.com>
Date: Sun, 8 Mar 2020 01:28:42 +0100
Subject: [PATCH 19/79] Update flavor_text.dm
---
code/datums/elements/flavor_text.dm | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/code/datums/elements/flavor_text.dm b/code/datums/elements/flavor_text.dm
index cf1154299b..2da9bc994a 100644
--- a/code/datums/elements/flavor_text.dm
+++ b/code/datums/elements/flavor_text.dm
@@ -113,7 +113,7 @@ GLOBAL_LIST_EMPTY(mobs_with_editable_flavor_text) //et tu, hacky code
//subtypes with additional hooks for DNA and preferences.
/datum/element/flavor_text/carbon
-/datum/element/flavor_text/carbon/Attach(datum/target, text = "", _proc, _name = "Flavor Text", _addendum, _max_len = MAX_FAVOR_LEN, _always_show = FALSE, can_edit = TRUE)
+/datum/element/flavor_text/carbon/Attach(datum/target, text = "", _name = "Flavor Text", _addendum, _max_len = MAX_FAVOR_LEN, _always_show = FALSE, can_edit = TRUE)
if(!iscarbon(target))
return ELEMENT_INCOMPATIBLE
. = ..()
From 991f9a75b787157642af496c99933979da15d71f Mon Sep 17 00:00:00 2001
From: Ghom <42542238+Ghommie@users.noreply.github.com>
Date: Sun, 8 Mar 2020 01:33:02 +0100
Subject: [PATCH 20/79] Update flavor_text.dm
---
code/datums/elements/flavor_text.dm | 22 ++++++++++++----------
1 file changed, 12 insertions(+), 10 deletions(-)
diff --git a/code/datums/elements/flavor_text.dm b/code/datums/elements/flavor_text.dm
index 2da9bc994a..43b2b601f3 100644
--- a/code/datums/elements/flavor_text.dm
+++ b/code/datums/elements/flavor_text.dm
@@ -4,12 +4,13 @@ GLOBAL_LIST_EMPTY(mobs_with_editable_flavor_text) //et tu, hacky code
element_flags = ELEMENT_BESPOKE|ELEMENT_DETACH
id_arg_index = 3
var/flavor_name = "Flavor Text"
- var/list/texts_by_mob = list()
+ var/list/texts_by_atom = list()
var/addendum = "This can also be used for OOC notes and preferences!"
var/always_show = FALSE
var/max_len = MAX_FAVOR_LEN
+ var/can_edit = TRUE
-/datum/element/flavor_text/Attach(datum/target, text = "", _name = "Flavor Text", _addendum, _max_len = MAX_FAVOR_LEN, _always_show = FALSE, can_edit = TRUE)
+/datum/element/flavor_text/Attach(datum/target, text = "", _name = "Flavor Text", _addendum, _max_len = MAX_FAVOR_LEN, _always_show = FALSE, _edit = TRUE)
. = ..()
if(. == ELEMENT_INCOMPATIBLE || !isatom(target)) //no reason why this shouldn't work on atoms too.
@@ -17,12 +18,13 @@ GLOBAL_LIST_EMPTY(mobs_with_editable_flavor_text) //et tu, hacky code
if(_max_len)
max_len = _max_len
- texts_by_mob[target] = copytext(text, 1, max_len)
+ texts_by_atom[target] = copytext(text, 1, max_len)
if(_name)
flavor_name = _name
if(!isnull(addendum))
addendum = _addendum
always_show = _always_show
+ can_edit = _edit
RegisterSignal(target, COMSIG_PARENT_EXAMINE, .proc/show_flavor)
@@ -34,12 +36,12 @@ GLOBAL_LIST_EMPTY(mobs_with_editable_flavor_text) //et tu, hacky code
/datum/element/flavor_text/Detach(atom/A)
. = ..()
UnregisterSignal(A, COMSIG_PARENT_EXAMINE)
- texts_by_mob -= A
- LAZYREMOVE(GLOB.mobs_with_editable_flavor_text[A], src)
- if(!GLOB.mobs_with_editable_flavor_text[A])
- GLOB.mobs_with_editable_flavor_text -= A
- if(ismob(A))
- var/mob/M = A
+ texts_by_atom -= A
+ if(can_edit && ismob(A))
+ var/mob/M = A
+ LAZYREMOVE(GLOB.mobs_with_editable_flavor_text[M], src)
+ if(!GLOB.mobs_with_editable_flavor_text[M])
+ GLOB.mobs_with_editable_flavor_text -= M
M.verbs -= /mob/proc/manage_flavor_tests
/datum/element/flavor_text/proc/show_flavor(atom/target, mob/user, list/examine_list)
@@ -113,7 +115,7 @@ GLOBAL_LIST_EMPTY(mobs_with_editable_flavor_text) //et tu, hacky code
//subtypes with additional hooks for DNA and preferences.
/datum/element/flavor_text/carbon
-/datum/element/flavor_text/carbon/Attach(datum/target, text = "", _name = "Flavor Text", _addendum, _max_len = MAX_FAVOR_LEN, _always_show = FALSE, can_edit = TRUE)
+/datum/element/flavor_text/carbon/Attach(datum/target, text = "", _name = "Flavor Text", _addendum, _max_len = MAX_FAVOR_LEN, _always_show = FALSE, _edit = TRUE)
if(!iscarbon(target))
return ELEMENT_INCOMPATIBLE
. = ..()
From a139f0adc64b85701786e81b6007df1d1893f28b Mon Sep 17 00:00:00 2001
From: Ghom <42542238+Ghommie@users.noreply.github.com>
Date: Sun, 8 Mar 2020 01:38:42 +0100
Subject: [PATCH 21/79] Update flavor_text.dm
---
code/datums/elements/flavor_text.dm | 20 ++++++++++----------
1 file changed, 10 insertions(+), 10 deletions(-)
diff --git a/code/datums/elements/flavor_text.dm b/code/datums/elements/flavor_text.dm
index 43b2b601f3..232d338a05 100644
--- a/code/datums/elements/flavor_text.dm
+++ b/code/datums/elements/flavor_text.dm
@@ -55,7 +55,7 @@ GLOBAL_LIST_EMPTY(mobs_with_editable_flavor_text) //et tu, hacky code
if(!("...?" in examine_list)) //can't think of anything better in case of multiple flavor texts.
examine_list += "...?"
return
- var/text = texts_by_mob[target]
+ var/text = texts_by_atom[target]
if(!text)
return
var/msg = replacetext(text, "\n", " ")
@@ -70,9 +70,9 @@ GLOBAL_LIST_EMPTY(mobs_with_editable_flavor_text) //et tu, hacky code
return
if(href_list["show_flavor"])
var/atom/target = href_list["show_flavor"]
- var/text = texts_by_mob[target]
+ var/text = texts_by_atom[target]
if(text)
- usr << browse("[target.name][replacetext(texts_by_mob[target], "\n", "
")]", "window=[target.name];size=500x200")
+ usr << browse("[target.name][replacetext(texts_by_atom[target], "\n", "
")]", "window=[target.name];size=500x200")
onclose(usr, "[target.name]")
return TRUE
@@ -101,13 +101,13 @@ GLOBAL_LIST_EMPTY(mobs_with_editable_flavor_text) //et tu, hacky code
F.set_flavor(src)
/datum/element/flavor_text/proc/set_flavor(mob/user)
- if(!(user in texts_by_mob))
+ if(!(user in texts_by_atom))
return FALSE
var/lower_name = lowertext(flavor_name)
- var/new_text = stripped_multiline_input(user, "Set the [lower_name] displayed on 'examine'. [addendum]", flavor_name, texts_by_mob[usr], max_len, TRUE)
- if(!isnull(new_text) && (user in texts_by_mob))
- texts_by_mob[user] = html_decode(new_text)
+ var/new_text = stripped_multiline_input(user, "Set the [lower_name] displayed on 'examine'. [addendum]", flavor_name, texts_by_atom[usr], max_len, TRUE)
+ if(!isnull(new_text) && (user in texts_by_atom))
+ texts_by_atom[user] = html_decode(new_text)
to_chat(src, "Your [lower_name] has been updated.")
return TRUE
return FALSE
@@ -131,12 +131,12 @@ GLOBAL_LIST_EMPTY(mobs_with_editable_flavor_text) //et tu, hacky code
UnregisterSignal(C, list(COMSIG_CARBON_IDENTITY_TRANSFERRED_TO, COMSIG_HUMAN_PREFS_COPIED_TO, COMSIG_HUMAN_HARDSET_DNA))
/datum/element/flavor_text/carbon/proc/update_dna_flavor_text(mob/living/carbon/C)
- texts_by_mob[C] = C.dna.features["flavor_text"]
+ texts_by_atom[C] = C.dna.features["flavor_text"]
/datum/element/flavor_text/carbon/proc/update_prefs_flavor_text(mob/living/carbon/human/H, datum/preferences/P, icon_updates = TRUE, roundstart_checks = TRUE)
- texts_by_mob[H] = P.features["flavor_text"]
+ texts_by_atom[H] = P.features["flavor_text"]
/datum/element/flavor_text/carbon/set_flavor(mob/living/carbon/user)
. = ..()
if(. && user.dna)
- user.dna.features["flavor_text"] = texts_by_mob[user]
+ user.dna.features["flavor_text"] = texts_by_atom[user]
From 26df8eb9c6cdbf0b3707018a9dab53393ed0807d Mon Sep 17 00:00:00 2001
From: keronshb
Date: Sat, 7 Mar 2020 23:05:00 -0400
Subject: [PATCH 22/79] Ok the real fix this time
This should fix all the .dme issues
---
tgstation.dme | 1 -
1 file changed, 1 deletion(-)
diff --git a/tgstation.dme b/tgstation.dme
index 5d2e5a02ad..7ea7574fb8 100755
--- a/tgstation.dme
+++ b/tgstation.dme
@@ -153,7 +153,6 @@
#include "code\__HELPERS\text_vr.dm"
#include "code\__HELPERS\time.dm"
#include "code\__HELPERS\type2type.dm"
-#include "code\__HELPERS\type2type_vr.dm"
#include "code\__HELPERS\typelists.dm"
#include "code\__HELPERS\unsorted.dm"
#include "code\__HELPERS\vector.dm"
From d5cca4897aab57f3c766a60657b2f1f2815d25f5 Mon Sep 17 00:00:00 2001
From: keronshb
Date: Sat, 7 Mar 2020 23:18:03 -0400
Subject: [PATCH 23/79] Fixed conflict?
I think this SHOULD be it...
---
tgstation.dme | 1 +
1 file changed, 1 insertion(+)
diff --git a/tgstation.dme b/tgstation.dme
index 7ea7574fb8..5d2e5a02ad 100755
--- a/tgstation.dme
+++ b/tgstation.dme
@@ -153,6 +153,7 @@
#include "code\__HELPERS\text_vr.dm"
#include "code\__HELPERS\time.dm"
#include "code\__HELPERS\type2type.dm"
+#include "code\__HELPERS\type2type_vr.dm"
#include "code\__HELPERS\typelists.dm"
#include "code\__HELPERS\unsorted.dm"
#include "code\__HELPERS\vector.dm"
From 5015726a489cb73a125645c62f6821a6cb05fccc Mon Sep 17 00:00:00 2001
From: keronshb
Date: Sat, 7 Mar 2020 23:52:01 -0400
Subject: [PATCH 24/79] Uncheck
Testing something
---
tgstation.dme | 1 -
1 file changed, 1 deletion(-)
diff --git a/tgstation.dme b/tgstation.dme
index 5d2e5a02ad..4edffe1316 100755
--- a/tgstation.dme
+++ b/tgstation.dme
@@ -120,7 +120,6 @@
#include "code\__DEFINES\wires.dm"
#include "code\__HELPERS\_cit_helpers.dm"
#include "code\__HELPERS\_lists.dm"
-#include "code\__HELPERS\_logging.dm"
#include "code\__HELPERS\_string_lists.dm"
#include "code\__HELPERS\areas.dm"
#include "code\__HELPERS\AStar.dm"
From 4a3b4372417b5e560985e30abc9cce4b439445cc Mon Sep 17 00:00:00 2001
From: keronshb
Date: Sat, 7 Mar 2020 23:54:25 -0400
Subject: [PATCH 25/79] Check
testing something
---
tgstation.dme | 1 +
1 file changed, 1 insertion(+)
diff --git a/tgstation.dme b/tgstation.dme
index 4edffe1316..5d2e5a02ad 100755
--- a/tgstation.dme
+++ b/tgstation.dme
@@ -120,6 +120,7 @@
#include "code\__DEFINES\wires.dm"
#include "code\__HELPERS\_cit_helpers.dm"
#include "code\__HELPERS\_lists.dm"
+#include "code\__HELPERS\_logging.dm"
#include "code\__HELPERS\_string_lists.dm"
#include "code\__HELPERS\areas.dm"
#include "code\__HELPERS\AStar.dm"
From 038f37d3094ac4aede0e4d83488abdaf53033650 Mon Sep 17 00:00:00 2001
From: Ghom <42542238+Ghommie@users.noreply.github.com>
Date: Sun, 8 Mar 2020 05:10:03 +0100
Subject: [PATCH 26/79] Something about layers.
---
modular_citadel/code/modules/arousal/genitals.dm | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/modular_citadel/code/modules/arousal/genitals.dm b/modular_citadel/code/modules/arousal/genitals.dm
index d5191b0532..7cf8fb8ff9 100644
--- a/modular_citadel/code/modules/arousal/genitals.dm
+++ b/modular_citadel/code/modules/arousal/genitals.dm
@@ -312,7 +312,7 @@
genital_overlay.icon_state = "[G.slot]_[S.icon_state]_[size][dna.species.use_skintones ? "_s" : ""]_[aroused_state]_[layertext]"
- if(layer == GENITALS_FRONT_LAYER && CHECK_BITFIELD(G.genital_flags, GENITAL_THROUGH_CLOTHES))
+ if(layers_num[layer] == GENITALS_FRONT_LAYER && CHECK_BITFIELD(G.genital_flags, GENITAL_THROUGH_CLOTHES))
genital_overlay.layer = -GENITALS_EXPOSED_LAYER
LAZYADD(fully_exposed, genital_overlay) // to be added to a layer with higher priority than clothes, hence the name of the bitflag.
else
From a431bdb0debd72c10549778f3e7e8c14d8ee2e36 Mon Sep 17 00:00:00 2001
From: ZeroMan
Date: Sat, 7 Mar 2020 23:20:01 -0500
Subject: [PATCH 27/79] okay here we go
---
code/modules/clothing/spacesuits/syndi.dm | 1 +
icons/mob/head_muzzled.dmi | Bin 83445 -> 84448 bytes
icons/mob/suit_digi.dmi | Bin 437432 -> 439126 bytes
icons/mob/taur_canine.dmi | Bin 128671 -> 132197 bytes
icons/mob/taur_naga.dmi | Bin 118192 -> 125412 bytes
5 files changed, 1 insertion(+)
diff --git a/code/modules/clothing/spacesuits/syndi.dm b/code/modules/clothing/spacesuits/syndi.dm
index aca98df232..7458f4c0a0 100644
--- a/code/modules/clothing/spacesuits/syndi.dm
+++ b/code/modules/clothing/spacesuits/syndi.dm
@@ -91,6 +91,7 @@
w_class = WEIGHT_CLASS_SMALL
icon_state = "syndicate-contract"
item_state = "syndicate-contract"
+ mutantrace_variation = STYLE_DIGITIGRADE|STYLE_SNEK_TAURIC|STYLE_PAW_TAURIC
//Black-green syndicate space suit
/obj/item/clothing/head/helmet/space/syndicate/black/green
diff --git a/icons/mob/head_muzzled.dmi b/icons/mob/head_muzzled.dmi
index 4b8263469f7667da9fcb466f52261eb7ea7cd142..f1fb09651f64a2ad3c99099c2121cf8f7b2c95fd 100644
GIT binary patch
delta 11378
zcmcJVbyyYO_wR>Bi32Jf2M|6;gGvehAfTjlN*zF2MM}D*
zTl&B`bBFJZ=l8pR-GA;p53`3k^E`X@d#%0JYwtD3u|x~WL`j^WxUaVUYb7gpi&u88
zukBo%0l+)!efp1t5n-yH!5u9nSL3`eBDYN<0R=yRl|4f$RAv;}?rD%(u=Y!EHuv*~
zK9S+Qy~>`$m1ZYd@Emj5;)6M9p0nt`rC4nz+w3r2LO{_ambrR>^|g8vCs2@Rlw($H
zH^&*X^21kDqyGo^`MkmetF|B_p82^cV)U6xcZ@y_0ajb
zI{HT?AJY?73p=r=rw5Axr~BE`c^_`1-X8cZM5=9WUg@Vgq}-`5fpPj!7|11L23BY%
zCEAQSo<&;Be1G?&@S=B-=j6rB2!(gl-iMWLdxD3gjFL@#;O+IVhxg;8g^`_djMsT%
zfAS?$ZB4#rgt;X?}h6?0}6d%~E2
ze2lJiI#0Fg=aXZQII8^*_5Bmt_dULM9d0cOsXNn@uQcz!PjaClR>TvTJvgJ_d!qeC
z>KC%_G2!bHX`)H$un^r93;IW9a^3a)-M-!?x@o_@gydW!K3IjElyuv?AuGx7_0ybmu0MaP<$E-4tmp22`a8Wka9XgsF@1;;T4KI+Uq6(6
zG1QQt-jD!~m>E2HI(CXfn-;N!=L>v#42BKUK7T$XRZ)Xxsp06*3G8RqgI$m0W*J>s
zOjGC6cc}W{z{tb7XlIGK_SZ&redChd2#;jEyqpx>Tb~};ZXl*=o<7H~`Di6Kh`o)?
z`Ue{vvEu&R(`2xxQ)Ox->6AO$OZ_Kbc9s&c83%j}gEar^;(xcPcyCzIV^#Y6F=vxI
zo=hB?C=n5A!L%obnBY^EsPEXlXUl9H0WYeK!{aY6Vg1XG*
zeS8{^MEAlU(Axp8e`kSXijBrKh9AE+b?7
zhDB*)WF&Qa+mY}mC~s~3`JdWo>+cyQYW%&3skgQw7Tu+dF|>G&eZwTFO0kV9Sgt2X
z?HbaYd%4J0@r>kc0)BW{r=dOtuuQ|5|-SI*ivbYNE>a`%R
z`2f25SPigcng@!@6}Ce%
z{pEqj4t5WMrgtLxEJJ#hgC}Q>IsY7Z!+NplMp#LKIB8-^W>Ub`-X0$?YV~K>+1VL(
zAV8yo3C8vfO-v}0`v?Ky%pauWpQ{L4&wwD<%RKmRt0bft_^p0_*I#MTdp(Cww-jCHG(GC1qoV@^!AccbP%VmA{Ijsv
z8AHQIAM#krOY63(>VR;-gdx4?3BNjPwBlns#+j$_8KdQ8Me?~_aj;4Yulz=-^o_Oh
z9tY$&bm>tozwmJoDE9osce`LM
zfR75~{C5(3=-!Kp62w^lQ0TAl_P9{wV@<=!eedhjoSK>f&J@!~17|^`w0A{{7W=m%
z#FsB$qGC4BC*>=7$$KSf6iRX3-QDxcRTS+zwSJRWB9`S{#p-f`P?P})8st?qFkl20W*XfKOG?Ntil{g)t!-?U
z;h82v*h*olrDd^>J9YiNYtmLvvtC@x+gplwP2|cZ5o8~L38(Vrjq*OIc3)H9C{Qf@
zV5{-rjwX2kwoJT)n=z%20UZq5Lwi-L=Eq8*_(1O4-|n&&zm1fc*ZCj!>BCxmfV9Tj
z2mejsKXy8ETPC|aMd1`L+uuZ#PdJPX5X>C_z$9PJz-JYn+_wWeu;}DZp5MJYJc0*6
zZ)*`F&{kB6$TlXsvfm|v4sV|%&`T>%iWrR&+Vb>R_e60vT5dz}D}IW#!T}O9xQ_
zpy09F{f!zLBrV?bE85zajCESVWR)2(EV9M+9
zgFI3mOM;GyaUgxHuxIg=PavsL+{t<;Cq&NhP|zLZJC?!dlB)vjHtIzZKcVQiS1
z3s^DiR&_j`zEu!HYOWSs5Yc;A^0vg$)1OHuRi=KqN+R2>11RLk-@`v+FOni>ts=)V
zhOZm9hean>xKHagWHKIn`E1#cDT@z${~&IftfQYc9SWivMt->#PXWLdkRR8p5md%@
zX9US?2VC-%H;T^$MH8J*R9cYqC;E^2#GiWy{x%|#n=m2&zTVstcf_$hQ%4hoa{T`8
z9tqbcD+$a-0j{!fq(YFHsNC#$b4*oUK3LyJ6wsIpI5kdr`*tas`@=7%v%u3?uhbyP
zH;*@r&Ouz{1f+Pq^7kmG|9LjVP@)G3b1cGfokl=FKt1bAi+}Fi15!YJ)Q@D*acAZ2
zTiOEB!n;pfjSz`F1m)voc|)Y|Ik6|SFKz47ZtDt5jqYosfIrU5Yxiz6f@C0~}jPfiXcJ6vtwcx}E8mVNqsxk;zCHsA1o7$Bx#40B)mSv3Bo
zxVU3uq@Yu`scEv>=Jbqe3LfKFs^;W39(oSKy_v?F!39>mWi7B{$1zLZc;L0GjYPmP
zCam2|W9`pdL+5K4?4Fe{eTt!TBiFhYbzn(xaY%Q5m$aInqDWMQxMU~Pbd-zDN(V#7
zTv*@gD$aQ3uTIa7Mr~#=@_z+ItOqj@urI?+qVlPbt{!JCTZfBj+khqGjd-P42G}w=
ztt^g@Rl9R9=q!e?v3PRE6qMXP9vC-Y(+Znb4qP{G?9@u%BT5K
zww36W>#9C^f`_i~J>IO4*#l2?NrFDs)ZDteb)?*lLk{y$4SosKb^9&)y18oCW<1=8
zhx}XQ!Z+S6bh)!Xc4@E8O=tnpQ`L5@!@8O$lmyWoghwE3`-|7qoBm)4}6IfL)Y`D=bNXZWC1$G69iYSJ~I8$`gq?%F6Lq5Vn&vq6F#ihJRnnvqPCF6AUu
z>|ifk$%cf5EtGr_e6t5dHsBxklQAzpv0vNe!EG59Kd(InOyT!O{)YsBN7o3O;BAoz
z+{4wZqqK9%|75^1lu|}b^ZFN=(hTuA!-kgwk=cbpCZ%nx2dV0&irNn{Q1Mi&W@*Ea5I#c
z0u~TgE&mybq6G9&W^xl9U@?_wtWfcdC%#uadrq+OAV
zgkA8MK9GnyWJJX(cQqf%eAz)07(VpE;uc^Z|0rT!eTlF4OvlpL^5^5WcYCh8klwKj
z`VFVTe$A@&HoY{x`_xp$19o}eGa4n*U3Jeh@Twh%yJwRhNV?ndQSsukX?ve9O1KWT
zY4h1qEKnoEEipVF$|svdXNwNPqZdYlF|DPnmR43gfa}IEm(ixb2xsr*K2pKZz*E2p~
z&khg--=q%mBvEi%AS*RB)(SnHn=5+}plLWd{t7nmV(cuP-Jq#$|{Bda=NW
zyW875SqV&dZa$dK)BBka-xz|qfdA^5qH>q@%9h-}4ga_&*$r$S=kQeH)=r^F_olM<
zZMQFP-^sik$S8)Z+`+a%#>*`r=6oG1#xVV2xc6n(|hy#zLycx5vQj
zaw3ZOpGjL0&G^lh8=7sh)C*sImP3Y$X=bnZGqW&J_Th($@B^%1tFt@9;FMwnMyc%Aj64Z4w@Uy^^
zcV916=qp?Z1Zif=O{}M?ZVBKotc~pnq=z-h0{(XAi6M1<4$K+f<>6-^zlVUOk)4d+
zZO@^e*=lkJQ(yOszbdr;gW%5HFmb}PA9%v;rr_c|Y!j5(MHYMwZ&_viaL6OO$(caE
z%JRnv=yU1D45E;i%!O8vIA_K|l?(ymLGjoVfm2w|@nVQ6PBEk|J1*g&YL(74QNl>(
zpb`grIQm}MvSEhxm`%f2>*nTDW6{c`+ffIl&9$^TO~a{gMjY~`sjh&K@4sRo|L*69
zDJgGXVk+u|?YCcKN#BV4cldq-n8_$wG>EH)w%bmyr{@N+&7Mafo(0!;<8`fsvoE|l
z+rPCz(vHTw4ceIt!pNG&mj0EmN14q>5y*Ge-Q85V#bGLd)cJCNw*DkWm`+Gy$R_QN2Vp&9HJB
ze6Qf-x(!FzHaC!NalQfpqjOQf-$%@W?#-k@Bx9nYaH=b|pt4A|gV!O~7ZCD;5Dx{P
zX6za?N)u>V9#jc!qtG~&T(3qi+36hqY+u`p!kyoQ5;ALB6Q-Bz@>?wG3?ZY`m0*@8z_iZfu>7L5+zxCh2VE
zAQE)xyX4A~PvUf*WrWY<)<2euo3D5+ijG1>FYkym28k|sImidI$dQ@Vn=gg&XSv?T
z`_&5Z;pI%uE$WE{(zW2VVBm=|E)y;Zq6VZ3-n*-T_*9Our?6hiRl2YfYXrX;G4_+ZuHR;lB%6|4U@hkCld1=A}T}%
zbkpS+=?0B%c1qXI$O5#6FalKF5If$PL=&XMx#e>jrgn5Zmhf+2UNV~rkTt1r(kVxl
zu~B*dT&w3>vq(G?*k;(%f}HE8-=xzc(gyfeT1|@}o6HjG=^KcxH%1c7qTWYC;hA_@
zfa{$ZJ~U6?A+3oac7CRjG2x~huKJ@6pC9deJ~YV*Sf%0E5*ULw1`1>^A_fx7$NfG5
zK|^^ew|VT+t+CK9g85Dcv1NX9!e)eDrHlCfjMmg1G;e!iZlU1+?E)!*wChVO8izP6
z8j4+l*KwTlFz!-$oBi8&pOaBB?w{iY)8_`CS>phxSmU9u@5KDSKOQ|J0j?+v$jPrE
z|35SZGA%gUfAcYQ(0B0Uru-YbYf7Fr-F98{Pzav3Vh!u+PwX7Z
zC4MG?jEt${5E3HUtx*_tGDiOXT6BmE`UKX|3r*B@91UEjkH<;UeI%(+{C%Dna13b-
z>81y6$hCiNa^3op=7vSf%jtItEwr&f=jG!Hkh1XJHWd96^jzmvErLGRj0W2uI!Qp|
z;|Gi4sLp)Thl`=7#+yw5{5Hg)o>*{~XQ2t@y71XWCSnZQLA1S@fW#N1vTQ+5m1f9X
z)>@|a`a_F2#)P)0B>eqUT`$Wre(!W(5xyxVzcrC@GD66xLz^FN2RY
zQ?O)z@FbcW90b47Z*DQ={{&sIbT7RlU640!M0{**WkrVwN0_!FL(1E6$W2DD@M{S4
z<{9tMJnyd#n)M*L`fxAV$JJ6}=*C-@{egYK2Kr>o6#3xGRha1B?
z#$)3-$Kp$D>F}6j^gU1-xR!@D@tQ!P=&*{F{YkCfY&=XJYUvW!B2_6BjO-b{VVJJ+
z^Akwx-!IpJ^n$tQuthuDvhr}7JzBtYTcFK#Z0{-O79Fkn^Ui0pzmH!+s=Nny5vHw{?VA@eM(o1kUl#=DE|qo)6m*CcXH;Upci9I#7qA*3?&R}{M|
zd;0Ld)0(LvvC$8d>f<`zhZdmPFEJQ#Vmm}~WgXR`^jx6Nf2dJ0!azbR_ixX{xj-wwK}-SpY!A;scbIo+l@*c90-S;F-3oJRVX9<~6sV@%p#R^*sS+25+gM!+8hMdFY}TDWU!%S9U7e
zFuRWMIAEd^wO0wh~gVu)((xbV`JY#F8rqeLxotn|Z=7WA9lhfT
zgd_mxiPW{5AV0l_@&3|5-@5Hp_+Ox+l|4SD04@@_i-n{YaZLO)7EMsRW=XVA&*y1Q6L-uJG>DF7)JW>168;xBIUl
z>RFWlCk(U@iZGw&+goZUaq0XpyJy!5o$8o+La}elH5oUVG!C#XgibC
zsUWP|`Q-9Ik_Ckc@WvQY#iG3G3=U!aPQb6DSm;4{U=0?`ZX~h0#uG4_c5%k!AbjUs
zQ&WPeLZHn3Vk~SS3BQ80jp^nR^~5@yBVb;Vp7&v4VDDXXxWZKiS!p8f%of+iW(l80
zf;`8*h7{}eSAHPxf8(>-n}vw5p?7uRWXf1MZXqu-82>C`4$dxL*%O+KL{Ec~Lfq>v
z#)l{uKgH#`Jv{o^o$N>{x|?6;yAuOz&flrD`QN5QM0ew2L3q^2D<%<4qqEtP4IUWF
zHHkS-^PwUyMfR@zwV#7*#F@81u?X5`T)OclbJTv*D=o6kt$FSGiwmLpKvQgDjJ?XM
z7>1%E+8-wnZWi=lm+Qwt->ag%_j-x8=OMRxtZ5UD09_fOo8>9#R{D_!cwGt637F<-
zHy>C4==abol|+%t?fU8b2rBBpv;ZfQ@*eQr6`mH2#8+4uP$OMHOyoS&rVouf&DVQ=
zO~Hbl)7;tTC*v;dCs12u8rBrIEF^rX`}%d^^u4^?BqWW84!gu3nuXLK&N-9uFs*D7
zd~7&li|eK@O_}h|6Csv0C1XyYEhP-H7T3ksf5{MXI^_=py|~A1vGc@5aND0t0`H@E
zi}+INe8*y^)&l4%5kwfvi0)#RV5aoQsyg!*sF>bym0-T2pjofFRAZDng<|6nP>R=P
z$PJ!9kwCDKp}$>wA+czSpA!J#nYE9QekBZo-(;9FWT|g_(G|u_5+c_e@CfB9XgOxO
zUjuUG)MLT+5lXvSc<2ew4)N~i!SxMzg~hlIw$)%E?FUI#djSx<#K
zk8asELSBdkgQK>kc%*41G}2>p4(ju*37o}<2gYr@$18>Px5l<&peB9j!JFFJDHiAg
zgbJQaLOtIwu1mcpmXlvvcA+XH7`!-cF3e0l%_k+*9Ye)jEOaXf&R3g~bhThSO39tT99H{vgG1V221OIN9@S;n0;3hAxxQqJZ5B0xnG#th0)_xxW$ytZQVf6ga409dd^DKnR;w51FF6f;Qg{?vGfhjKN((
z{g6L!RsiCER>M2lBauA=>axqmy`jAu8#t1mkw4yk`tT22yu)8QfyL3*WhFV;Q#lBE
zFxIA01^M;Q_k`V3|KqbMItOnDw&8@D830(B$N&gBOfd|e(vmos9n08(6wJTAc%HI=jv#=+Mc_Z+G
z#_WDK8yqXF-($|XWWh~$UeiSGw=GTo
z@;7kuhBu4gcZPl4?pX&gsuu_@rP`jJ3o}}n)lYYgJ(GK%n8b1e!qvA;$5SxPcMpGp
zLYswTBC4uh`S0TnqK?}xi^<-ATkxqw8$VW?soYV)%|P&Px?
z5*}oEd-SPqf8p&W*+VAkLry4Tg#SKXKa;`Oe#tQoN}F$ssJrKUxpG>L7v%_b`A;~$
zC@hptaO$#p^sZXMQB)-W>*mNOs0im<_$M?8Qt35>*oG475euUc;`iai=?7gs!=`ot
z?alK(1TPE0_CGwauJ(Q4qJ~}L=L^uZRCjA0`{O42d;B*U_R7ZZZ^AN14vyb=U9h#q
z0d`3BS9fJ_e-Cqu)wRSg~kFP`@a&Y>{<9Fi`+Zk?0{BUPOcYj(5Kk5
zgP>qr`&Y%&RO4~E}H@k
zy)5vf%QHQKS}4eb!Gp{R>S!!9wGQf^z&kn=kkk*z+4gtWVFP$dsrT)oyi`B9yydT8
z3JqV<-;UUfJ*eLQSk}?Fo(OK$OEK-6QK$1KBge4RWvyI7op8j5lfBAkffDc-HCcR)
z1LKcS{1>41Y8u|z1r%#~Dae5(37Tq_&M77D`8T=8;EQgTeJw`O_0`?)6co6&$ljbg
zru<5=^&mTtQ}#3ZaLsRi$Pxv7o34bH^lG2!YwGF>ZwfVenqlXZs#;;si7;g-S0K39
zJN8}lZ1QXQpo@hzZreRlt;i{wjEDS-bd#rokNs};VO#=HZG4wA5FZZ~bm`;(a8&$1
ziFOmPiE04?7}F{XB49y#@qd{VLRFs03
z4j+Y11o8!XYmS
zI-#dBF`NziLI>z~B-i3$Cc1w{eZ4@9h!nPfS%(b3W5ZAwbxNl66z`l0fD
zaWM+MXhSd2n2<{1P>u(LR|Xu$cn`SxYNzBX1Mx@nVop=}e^yr5d3YYr{vI6-dzvZ6
zV-RL0>QAXo5?3T=B)c$kJ+$%B5C_2cUHQ869LZ@3tNz;z@XZ^|IJn+k2nq=b>RN^`
zEG?NUk22n~CYQa~zL&Eg>cMaDUEauu`DEVfmb#GZi$?N-dOq@O89!ZXyDOv62^kRr
z5-l1+U1HQ>R&ZfQ(aA|*czF2N++2dn$*TFl&Q!P=bs!#i=H%jnVAOJQ`ttp+lG3ez
z*oolV%OH@Y`8C1A4Y-?^n;)@&USRM}FJE6z(ky%CtQ_2Q*lP38^NsJ*B
zL|duPOfz#M<_nvJ@|O269;vD-n3%AV6K&CaI>NKVW4m+t)r-I>4;TzY*BN1(z5}+x
zbUYPmp%*#`0F5msdHVF=KV^GPF0Pl~(?uje8S|RE+oRDH3Cl-OL;dNUdjvrSLb9^5
zw)}5%?S@y)e)xxm6l#ke5#M-8uZi0VuqkP#%Y{o8%CIItPD_i7ZIk2>e@Q8?uHf9l#!7^m3nFgM}wKsQNr@^3rXlMxzZVpRHzVumO@sjC7U9H
ztXB81X-`54^cI?X*;b{J=tJp~=`9*sE?@GpwpLQYW%%?XRdQ!cBLiz1i8yv9?s56I
z9Js29nAeX?L#d@c2N!aJ_rV6~sDy-Wg2q%J$jR$m2-*8Z>GkXT(t-$LO2#{%0%6bn
z`=^FhNkyeZe#E-E-MX3`g)+rHt3w;)$}S*QhlYl{Um1`+3uoi_N*q>$@2{Wh0z(
z!Suyu5rMX$IUl^p^;A|NQKEwRK}6kmQ9bwfQDI@?gB}sFd%UXeL4p_GHXS^UslN5}
zTp4upx^PCuQQ9CW
zp}SFyC*wQ*?V7$wexmn!!q4!g?DI#7gXk#J@oGvwI;{Wt2n5};`I%EzMk&NBd|S#u
z-3fL`Gpr`lZzQu1)FuOX`S{+Xr$?=?+s-&Vh|y`Xz%&qXaBMzPFsa(v;#X|6L7o`r`JL4oe2E#e
zr*OEjwKS-q
z>C>)vWkTJZg!Z@7i5yZ=jCOW*a5*nV6(l{J0iRvsZEom4UPUo4xUt{Fv
zshzqj^Yj}O0i%szZ%gWNBmWUTnNtJHg9
zK;l8*rG83kc#Cc}?>PQCh8Uk3#C+RZ+8g#hxtL$_+B?bKHB;M}V)f?HGK>ei&X-;A
z#rFsjWaF>GFUE<=T<|&>S*JnW*RPClRE7h!94rk))U)uK?eqfufrD+CwWy>G2%=ml
zhj!cZ^~^P1yoiQFZQ)uTtA8O;Jys;k2Of*RZK617^4*viVkOJ3G2cdoO_+jM#M!j<3GNTw(jXt+?;Q1NCfCh={&R
zDkD?&26r%A7dyN0x|m&**|!N+DrR{2d2P2|d6PQcr4Vs`0BPBwqM7~vcW+}
zXoJFc`I_KF)Zl-97s!FvfB~9p%eP3~ra1^ry=FaJ8;#`0$!Y~56?!G5H`LDoT8?uW
zbig%fW%jH^y^?7tH>5SXU1}cLI%R+Vf^{lq4-kvL?mJ*wvWG8bIa6>XF(#Ll4LW|n
zKikY$EjXfyr`L$;0=
zp?K+0ckY()0$P8H_&ze0N}2F|izRq*$R1Mv78*fddb$BMrCSW-@V+5+$A2!T0^NkJ
s5JWRf1h@&eZ_0$>HcdhfFO2pQxt`oEo>qDE
zRmj!Bb^xuOtg3PCYwb$csH3`UeEYWghIFQ?kZ{7vBF?q`LH~36G8;~rd|l>0W6r0a
zs4m%y_S8NusWT`ddkR*M3nNGKP?SNq>olirew9Z#Ph4Ete^oy`NY`>ca9QPj|UiCoW
z0y6x)rP5xt$Z{-N^x7*5CV<)cLVBp)bO~>id)aj&blAr`%{jmg&;_6IQap
z=g(ihHU9oV4=phI*w(K+=9am?No#^sj;Aqq)lW?NLP0`n!t{gwg(`cFf77Kc;>s-B
zS{@clb0YJlWl}annlGq>m_5w|KloqD{>(fWedE^p0-GD7`>SQ*n)m+S9iQ{FEV^r7
zeZF~hq;jE2^}F`H3b07*AvJGQN=fBEslRv26d4GNOFFyyy;QT5CpxBrm*|HgLQrpB
zrrM6YCnz;MepuQ0BHG9Qd4H}qH8CZ%g?FBPe%9*7I%ADCy|C%rs!_YnzduYKI$rEb
zeSMLmkt*5NOqY=R)eKV2$`C&ggq+=Rwgm54
z=_y%5??)r^2REXtD(^v7o)J=3^>jGvXbGy&h^tKI~>(
z^b0;y=FZQzO)e!}fA<-poiyu=b6xm_EgIo>>d1b1KfwRFkF>;{+oi@g8`wFRCGK8A
zePjs#XgT3O5g97Ta>cy-c2f%kSP)lQ
z5F^Og!TD!j-Jr(V94^_1kp^gFMXr#5~`Hvd>6u|mgd=xeI_w&mIP
z{nf`s^JAC9-bh^>-Yw3Fk|)y|vuM0|GovDGVxoVryxb5DPNEZS4Xv_`gs7d+hX6qDv|2epPnO7waw+q%<5A
z6%{;*`CHep*FgNK8p7MKKTf}^^6gG+vKQfaZ(9VM34QCc%zB`oe86vrOP2ebeiyA1
z9n9(Z@O0vElt&0*ZGA5#^KW1%;M}JJ4vA?33x~Q#O9P?e}l9j%e<^Uo|xkfC?p@f~?fhIuCtXD?2q=)xw$AYv`Tw!lJRXSpri{i-duk)8dCoF3Gl_usgoNef
zA8I%5-M@cbM1Chu$oyK&pAV6dv~jAutkh)iCpE`|OB$et2J8J-AJbn^h$i%CIy>K+
zn4Hwm)eY|MR!x-l(n%tQXP?9Ium@g|bwp$TPk9X;ouIKXy=yma*FD7@})x*hCYaX-bAn*o)d6
z{2O@QE9VJ%*6>z@X7Y)3NNVcCnlj$Ti>PCDp+
zP4nfN!huSNW9%f0653-+$a`&ZTg26$FNr9mdI)jiTuY(4N}Ft3Q9T*1+}
zxZ7xP?`L)OTe*Sl(dd0#bhc(vkUP6?_Z;T!8XpIW2q|-mZ(@?&BkHxV^}aL_~t-(7|P{PWU99l)SvWpRasU`2C3ABeXV#?vgC$a4oc{%gMc8&yvsY6;X=1
zq#QKkJDM<3O=e?u%c)}xgp3NR^?ukz0}qD>J$tiYLkuPUA<^UyYqcbO}z1ENMRa)0Hhv*K$OB8Q>)}HVqBge#)gw>~a
z6je35B~Fe!x4DMqlf88@H9Stg+uG*OPWJb(?}^EqF|KY@EAztM$4(y0mx0vOR6*;0
zF5qD|&5PW1sRCUt*(<+B_msDdd_>mQ*PHh&z9c5zekS?u!s<%*`_<0vN`&9L
zbma#I4MO@KK?PQEC$1nmBxhu4Z2IBTG>S^t7Qg5wwqar83o*H+lQEKF=%Zcui@eA?
zuY~c6cfx`ez1&A-58DuZ-b}KfhR~ec*v(N+zR%QN=*8qHgVM6$y!*0LUMf$Q<8zs6
zKI~Rsd|vExMe13^v2qM)Qf3qY++Xb;v0(a(vH2|tCS4LvbYcTcr2Sg$G_R-dQ{=93
zJh=csof~l*h4Qb}L|wP0LQB(-?~KjwB>fOFAfo@pLOk@q@$SgCD1Xc(aNP1c|7F>8
z*ctj{@WZmA>KFb7r_Ei@H?G(3{PTx_zlaPN+?uY{Ff{!5gwx}3<-FI?*7RpHwc%^;
z3caBx;3mW!sAuO)^!n^{w8ZnUh=90k6YI@u6XEUa^#Q<~UcDQ=+NiO;gTuQ}
zzue4FmW_d_De9t8sGESlBo!j{uDWJmz9s+)3Ef3
zQXcp0D*}2FCCVm)`!m&(?-YH^eU|9Y{m4m94)G<+GTW#&B?W+^??c$U&)ivs%t)xo
z0;F!d$W)~~#?M*`vZnLB$Rs(t)9eU4PGekoT(H5+7iyl(XR3!#q33|FT6fcWC8(mE
z$NgGTb01@4`=Kn8EPU(b$L}sH&50&W-4ZS(|B~AF!qS-^A7e0XBHx2(73(Bu%?oSQ
zd?m-=J5s%v%?G5z5f6=NXm7kpNR5R3CUt?)J)TWyrDlWPF*3mB-(2x1O(sP(BG!`@
zou^y$Ei617(OB$xxLz#1eWXPW`u(h`VzvFd7QqI`=&XlQWv7&Xv`71QYY)LHo~5Uz
zTrwm#bY7DC+6`^2LZ<<>04T15OW+zD988D9j!B~*f>qd>p6$vN(-J+Wttkn^DklV-
zm$P$oH4A(d6@x6`?v?J#hVMqS5vxG5EXZkNW8-}D4nIHD#)V=EaCo)%hrG7-*E%+V
zUIeqbt-bwY1%<%eEI>WDASD3O?7=lzq9tlUL}u$`<|_&K_{0;5`H
zI3knKSM8ncb=|!xCdLv>hotS&<5i90Vq#)4T^r2U`!(~M%kyGnO)QU^S3hoz?x}va
zLi(!LW)-`Q_ZCRfny`3oy;F(yRnk4;ns4I$C{h_@s
z&VXxTV#4WgM0asG=LP*N@oitR@2a`JO!}~(OZz9V9f!gUP-S?BnoXEuwfCft?7O}O
z0vHoCc{tWw6b*-)X|H)Az(ie<4CtsR(BaqD*MF{~LzXs>tq+jZ$dKqff6hhT_x-*V
zXoi`nh)-nxNj=X4*fBH&&e7+?;YM@u62_^~z)vD$q!CQ;^lzxU+KhIaj9ACKS%k+{(WHo)Z+fDoklJTK)x)w_Bt)fEZ
zN_*M=B?dEgw0sk+ngJkU?UjTpfBCg(Gd;IH3w2v^`Dq2J>PEuA2+p<4+4j>?yeGXqUOJ}
zjA}0O+WoTK7jiX>9A3HA6q5h)6D>O3Wqty>TMMX4tEj1c15Da_J|vAjzJ1GHI=m_k
zeJU(s58&K*;z_t_gpweW9)>1l0uBaxG#_tS-7IId0u!k!+J}+bF6v|8ySfLj^2`5~
zMd3z#wnCW~sjX-Nt|_B@3%JgSnz+S{``h)fpt3xXj2x~N3ffO{)kQA#z3Po!~iu?>=~QyDTx|w
zE!o1}Qt-BoC={Dp#Ga+kJNvdw3pLyC;AN>D$mE5C%KReil2?m
zhJV9hAA^gVKK{>U}UKq-}@qI*9G#KUmJ?R^_4FiDA_f>DYHg$-Y
zJ7q%Cj%^jZvA##XW^-9{Z_10oyv$A?(!?XZR`2C|&0{$Dx00cBXyQ7BBgLKXq$YJ}
zLUTLL4XO-bAzEZweDZI9;9YX!#eP3bJ2{2_
z-s=K|L(T+YGuwz;bRX8GMQuh3T8gvwWoo5+>LZl}U`V;d6l=1+Q^4xcV#6-`fLfuA
zZ$}suvDHk*TS4O>2DiOm!6Pjo|Mcn850$?We=vb^Z@z!|l6@-o{N-%^*p~M2(TV=Z
zEu<5UnAV>9IAICPft$6YAgDbPfMBJ!!aK~*ty1kOix<_du7M665)eeyrTcbh6pwgM}WeFi%mN`)7M
z!BQ$5)|ccVj(~LBZN^|1j@xMeBaVBxm`QDEgAN`P;=e!V__~s%kBB>XE}CcuE)p04
zcRD=dwz%fbGcN&A%mK=?Zc+FpB7t?Eo0jPWboGj7fU_5z&a@I}KSs!DRTGPzC|#R&ym{
zVCO`C-l?1@vVssH7wh41QA?5{EFigM{-I(dP=ThUmQ^%rKc;D!S+G*P0miNug
zEz?C@EAnlpOa?V86Cegle%?nQWb2_T34OjhUe<&q`glZloD9Q;vAdV)>eC(f51gl-
zJUYHC#)|l4_8{jpK#vJ+;NrXq=p$;Gsu%A&bq|~iRYc^+tX`>7fCXFQiHXEhd>|E-
zE_(J~x`*?k@(;+};mo9*?+IgBXH25|vs{v6T{Cc41_;v!1mUzEoe&f8L(;92+hirN
zde2s?s@ac%Ge`8wgU1XK8Bz~iRiG(
zF3_>>7Tt5(k5>oGzV7Yurj(acFPN}PA^S2MVv3N3Tq#nk`&rs9C4Ci4xZfvB=t+!g
zYkPYm2Ak_Vdv^pH5>PW7VI$rc5ONZ?-I)uZsszNz=9H>*{Voc)FdG}=X9ugG(j1Xedt)8SV!`g($G83JIQE@K7GdEkFIYR<;C6?};@(6b}ENPePlbUSEr
z5f#XmEQ#1%5%;*QZvu@&bF<^%;puGuzk4A8>N+~SPg#hUi^Pi^r(Rt<%Ro4UV+fcG
z%iLj>rPB;cCvo-=m3#%4RXL?~{onN4)H3G)<;1d&l@0$CT%Wf}w;HJ^kMus$<7?
zkg&1b4>EL1;=ugY!v`|nb1tgx*DoOJw!h7i!lMynE#H9d
zM-jfpcv$O_O5_qotQ9rr<}P(bXMsQagD;0
z9Nn}l@;^^?5q&@Wt||m`->INB!_&Z-c_RY~WzHi3-o&tQiSm&O99CG*K+Jwc*l(z+
z^`mQ_5BK+YJLa=qPX-l(*S{VE>_D6ym6r@T(|R8QhpZ-qgN{k8PA2B9I7eZ{7K<=N
z1A{zv@53puWRHp~UHcyt0#F~*`Hy5snwGxGVD2^85!KKV_vQ0~YP?a>GPcB(dN3?lG}Ukbj5goF@rA#nSb
z7ZP>=gn;Mg<*k6~W4P5c|9?M%|8Eaw`~{q?$CYSSz2;}EMBdT=SSH&WIAQL2wq=K#
z{tt3(M!EdN#+@$uY*FHhBF~uYPXEt-(BpD{EcgYEk&5PT8%2|gn8Lwkp;Tl0u!v8N
z5O0^r=PvO}IlBs7|l1R;Y
zH|Pip*HBBt9Q7ZJN`-K_0(*ThoeUoBQy(WkqFg8~&24rH1vz#8i)dJFgJ{lS5Qy)Q
zQ?EeGDKmj~z8+Ae^)DzZOJHgM!WGRB;KcUCM+=ygSe3sQpSd<*8X;u%(KLwFYQ
z$~z~$RGC|i1ySFLJ^Ot-1Bf?#GykwJ73p22sh-GJ;2V!ULQUe)&=IO0FUyG6t!Xm(
zhdp!A`h0pYMkfK>(9a(%D|z*?j>l>D_!yjPQYzQWXryPBIXt8R&gcmLgFTQdZ
z14=M2q?OvLthzW+HrHPK(oG~dg97Iln+~^K#6Q85rmdsR+A2Q6Lo0J7LZ0}STMy*A
z`&iIe$oGQ`(&(sqL)1@l%iXy>dF5H#S8`cQM#Cw-ud}n&twEB_5^Qij(dv_22+9s3e(zH}3{SpVgRcylt7<`H;&7m4wU#r7y#5f!k#|0{dncAeQ+F$|dsV?1S<^Dg~d6MHb0u
z_**a#|5>%eAE{s;dEoB8vLrhzup_K)T3b&MuK8)mK~lrjtVr)GXu{#Qc4XbI-A#@M
ztmJ(V5{to8_+jyGwe{jgN0d`rI_Cn%lgnB9T(6wW^MI1a^f-lsbm|DvMk5j+{k+@A
ziq7yTTEOw>2sM3Le<*uvol1{!F*?!yuRXLqi;ra?(i(@5sBhs%kx4C00Z4KTG;xRo
zI<3aENb*u4vszSLH13H
zCklsrB*Aq=b-8WCK!#tQc0pHBcJ?xwjJueTqy{{4{b1Uh)5U0u=_pOG9TTZ!wiQ4*IEv^J0ruA
zVrE?D9bR05dRY-se9N~|t!~#dku(~?<>pNmDG?7?&w@Z4#7cAr!FAWs-TLzJgvWGIy3p?m+(wm2yCt{=5m
zABaQi;N8Ui_+GjKjbCV@Iz|VaAv)SQ{R8w~&+6TAC};8BnQZ=xRe|G9vE=sQUf}N#
z;Xh(RzqJW&Ja%>!l7u6OpssBRp|Q7+ksQ-e)U_4ucoe2R`QBMPO;DPdm*tao8Xl71
zb$-&h$Kl#CtEs>I=E{IRzN=Dy?N=*v@kVa@+_X{fIp;~D5DQ9iok)aWL#b`ox5r(Hfr{qBNrVNeYkY+}
z2P~)#No!5b)Z8p07#C9-WY`ElN^sukdYq3^Eqi-_{{AYX?zR${FW_gW=Vw6j?Mt%i
zaTZNEe+#O>mjP3D1vp2~w)X?rw^Q~%f_(}LZn|luI+Sn(1_uB9Tc>*-Z>swUBTTWY`T%^MlJP(^&`-
zTGL6vl0@RYD_-HyDb#4M2M>OSVP2%A$}n?_gIcH))ELHg5eW(l9u`B7-d$!vrhFoMw%qLG$A%uu-3>B
z&$@I%G0w2N4ek9lwx2q<^X(2^ptKOAxPIO8cn%*Ha)^etUygh#WjcO47$pSRYGTnj
zZNzXjmB~!!*MUWKx4YO(!XEG`R*ZY|9n3t9uPYZ}x`mewe(twQ3HHd4L$K?HO
zpTQ}BFaw?6Loq~vMhgN%E}uB4CYDp&_;v=eJ_+j*o`$^4EA%0ZV-f|tIkRNJzrJn=
zmmQMc4S)S4jm}@GD9a?m??HlK_i?VRhl|eL?ljkH*RL;pe}YKf2F%QZ(;6B$8_xt~
zjsrJ;JPh?t_G!?$c1`b1U*NvGZ{tH@k?JLkt;{h3noL<3$&B+7Li$05;(=E|qeZ%}
zkPLC-pBUrBZ0UfwI9B(1V=4F9?;%IXa7;&6*W|*JSt;;lxkZD#ea~kRZs*l(ga@(C8yBvy#_Wpr-STMPWW468x
zdTsstq^!y=Npb-nt5evDL4%VtHp@@1$yDm>3>69ZfqcndjC}g^}*iknsd;
z#urWmJVd^TmH#ZwC4%7wp9eALt>7TbL8y2W(pVEC+Bt%vK<}$Ocyhmq{M#w%B+JZQ
zG&*_OrTPT~dixTt!kcbT`GyQC`%hc)yR@kmb?|p>s&G_+cmsFSaiSCN
z=h8>$pJ2&`_pn#858oy#)OEu=A)V#hiMki-59>#%Z4--!V^GJiE*2sjI?iva|Z
zA6@x66>e6x1lmOJxnWT#f9M8@tf)BWOzMZcSws$t$5QOskFS@_wJ=l)m;(=Su$JhtTh-i>H1V;ITZWF=Bo)qUC
z-@;^aetGb#OaU-!BB<0f8Ts@xugXg}=+umm`AKtd#0z97cv2^bId17dk&;{en}jP1
zd$l96@pRS(v%-wPPF5D07EpTjj1*W}Ue0+C+1&hy5=d0L0nGKH&RU@0UyJd*i1YWT
zKjc1xp54y%FlI&%rlp#^sC#E{RXKa}-*aga^@y;~nw}nARXU%ADN{aiwyg9dWaQ`H
zzIN?e$7Fnb{BwQ%TxE)HEvxibOjOB&EQt#p{H%(25&iVBcjs4#cj~67_Xow<-BajC
zjlBxaj{0OF!wPysJ-wTxqn)6PIwuu&IarDulp^&H2~qOmCN*L34L;nd9P-QM*1IgF
z&i_l-^=*f&UCD(4L%dql`h$SS-J$W^W6@=Drw0|v&c_j*H4GdX+r&G;a~oSS6gkJn
zBP(27XP($c`OQ2IfxO&f@JO1xsieqt{xjgEf;WMgV7~
zML9W?#zngL1)j4DHb!!n{#N^)FduFZ3#vnTkh6_pBmBTrGNI9@X4Gb?d*MXzs;*Z)
zdYYdlsT;0N?nrl98~?Zf?2M$9__($9kF_={%{+g-4H2TB`ir8e$%XNCP?a}j5Bai-
zdYf%})!PR@9_}}B_Vv*i;7zhrYVN4V0vM6pk=V;I?^gl@SMy22wu44DXeb~vncuH_q6SkfZWOZoMq{TMU=BNw3SY8VgR@(+e7Z
zppS#=E=*~hHq@PZt==UtRPp2mRVfo*AW2Y0qkTQ(cu@Dn~9
z!M5sf{rofEanPfJCq=(Nr^>Lfc(hW#z?mkt%M$P#TKp|4wxJCGL>JDt#;5&0e=Z(f
z*B*HQ7|lN9dX#)@bY>(156E%X3wx^WM$ezrLr#2mWY~BSX_Y
zArDDgUy8y?`l;$i{Lq$j^-?q&t@L!mh^@k#HzkIP2D*ma2m%Xnt`9}wzPyR^j%q!N
z)9W2*GjC{9-Wnj9-D2TyV)MTEf&1{avJBn$gUStI>I~EIXsku>JNBTQ>za-ga}z5N
zSY1!{d0)hriiCkdLzZQ4GzIYq&p9`9Q(c3?>Ud-wi_Z0PG%M~s3@*a5^)v*F&atD0
zI{YfnDo!~K<=3Y*D__vG2KO!SA{rhjEvpBL0a3oHjH^iEf4;c^HWnT8EG7Ui4^P+!
z8B&ulDUa*rba|0bPHQ-E#fm)1wi6kL57~LV!3Y5t73j}@f%FMmj$bf_yLeJ5%wwNF
hL1^$>0Z5i?X`Ov7K!F|iM~?-D9D~F8qS|goQxbT?42#_Y#|W$wDeS2
zI}%>Zkn!6J`VpPg2#41rY2FLL$Pp0!nms|hh1Vt2_0($gs)_vVzF5yT%{l7+@Yn_aTlDk(5HwS#(EbjX
zd1iCp(LX&aonH}j0nbQz1C3sXWaASlHm)OiFSVGg!`CmvIl|TMk-|lN{@#$lCrXKj
zyg#C*`l2Y;rz&*=|79Gl>zayA?Im{e&HImiq%X|4Y90bQnd7|S-a&OHwlmc7t6#_ZWZ@hOk=LHCrg#x8HQR+
zr>hyYAO7O)KVIc=)M4cbv*H#^)<@1XIpwew#M9XD=4NUL+p}q3aNq6?Kd0}AG@lkd
zUY{RqPIm_%jf)S)lwUI&bNM+jM{~m44zk)DG0`#ytk#CF?vw%WXwG>yB$<)6!U-5t-!$6BhUBx+>BlHf>8y)xnZMjt
zKKsOA&)T*LC*$$qRT2YL-@^|=mW&vjl1w9Vnpx7mH|{Mio^8i=U1VsXVMLPuKutIp~a2;AC_Pp
z(Jv-yFzzY@3O9%h6zNWeogfb_rb_*ExcR+YID%>%&-nSY>X@D@1W;8#I*x)=(sdTR
za$@(NlPG+;6CS5u8ty3y=2j%S*rn_zo0n+u$sy@iYxDU2wj#=X7(2(2cv%RD
zv#t)IZ5l+eAJxVJ${%z3Rf+p=zKrht*eZ@_;qqC+h(#)lXXGgPiRRTVd^C)a_
zTO+h>TFqD4F44W7ec2Kp9Pa;`S9Is^XX}8Et154?7cxF8e9)R`HJH4|gjWq=(onei
zqYQWF9+R!#IriSv$kq(6jI(BnYwij2)c9h_B;Pmxn
z-kM<3j*cgl14gb%z6h^UZqRJUoc{>Y@gwS&-c9*i!Kj^|V+_W_(*o$F!j@A_PD+>5
zd0vOUz~8OSbcTko{Xphier)bs9F0QibWbr4iLN8|h~I(`4E2mGXNc@Z_sMqH_mDS|
zY6IG5t{AtttQZoXE9l-+Ypwjo4Ooc
z*5@o?ZT*hj*V#sv{T#-Ci$r3awmnGj5{@Mz5Jf9=Oez7zThOj}k3_2pnGBFH-&Fcx4Jw)eqqKtu?=c320p4m6LN+H?Ux*&UBiF$<
zY%$^F6x3=+O_mb8Bs`x_JqPOoR__2-;dkyw?5F*gxOxn2gnOp+yeY%hyz#uVkA5Si
zLAhaoBx*+Zkt}wW`eQiK?N`%EzV^G{3e4@QY)%yPTD5%iS8k`2o^gLD>>YDOZ|41C
zb-Xt+rt5?nVs$)^`#r?6jwz1#etZt3we#11d7h9pT{=pG}UTe<-pYQ^wOzpr5n}hj(WH!X07FUMAaW6dpfV5ccAc@RsK@ii@a}s
zi#D$xNibe)jZ*1Sjr&V%UixsW8+j1h{3^gXRyG%R(X&SMX(>5`>6aCWLwUhE9Fdgx
zAms}7y|WypukYWdb9b24-QN26>Xp9!84RoU;-|;6P)TJVB}ynI3LJRAg9ie5yZ{fx
zdP)?eK_%cg-OF8Nwh`8zYCI67^O@rAI~uh@SdTrcIYSl(l61ThaVdq~%TNu0ybQ@`
zwF!l6!`i>*H=&%kmaIC(@AAxl94U%qBlTdT;?jOMra+bYEJ}O#J?Q4qXnd*WHX~W*
zF2zqbb1&J<^meVL{Y>uz`=Iw#+fh1;uYl#zp@Jfy=wDgMqC37$-qqDLF)`scF`@9{
z@8g#9SIU&sRF_#42+L~-BVQp3mLzr!5uIkY>;S`Spw@_E8hcBwpX#MGKCP68x@@=IH
zRPzczgy={N(MB?*MBe{-jo!dQ8z@uR#1NOlHWM`2?U$|7zQH4u_^M+&aFd63nD-1e
zh}_+o(6bZ~FUhrHFb-5ilXsdyNe?Y{*WaAMGIsUlxylObo}WTb_F#G%!hpZ!{S~(u
z@cgn6gVnO(SW7V~py=Ufnh`%{N(|$JSUm`^~6EBdF+@N0B
z6%RhPT?(+AXFpaVRaLyOh={;R^G{ArIj8z_xPYUQ
zlgug^X+gG3ohItUj%k-k9o@%OBZ)luc?|@EdGDO%#hZl(OQPFP!02bQY_nZTh`{4<
zjr&1fqW$Hv9qY(&iF$>Di$mw2T{|M>3+A@JfBf1|E3|5hwV&5v&^w)*+P{yFTO*qH
zkwzr
zG8WDJp6?5Iyr5!mm55v|*IuIhFoN#x3r4@khpKWXy9Fy2`bF|v!wKTLG~mROl7(Z<
zvij30cNU>b*ovJ(GPADg;XD>K+I#N?VTVa;V#|ASg(KE`BnX)szi%sf7B3Lz0%!H6)YNNBX8Svwp)Ro#>)Iw^AN
zu6{($eSxNh$;K5F>mHaJ2UbALV42^(f-IE!yAJuiof))(%lOV+brds*&VV*V`zSr=
zSKR0I1+Gt-Zu^*fneckBOM0jGFixqxKVq(2gbisV0eTvVgarG3yS0dX=2N5y2*m*%?
zVawcY1ZqslJ7qSCmvZw$LzbxZn)IWQAwlPSG_qZ!#Fi{8?9s``fP*XS9_wWA6PEWLWi%
z#JfN8MuXYn5e)}>dwU3eKj9>06k^B(!w(B&TxQK0J#XHdj-`DY8j@B~SO2i}Wmq&_
z%2@?hT3QBfAlbv;-ya1Nvv0FI)P)xqt;T2bOm_LPS)ND)(9~V!RqR6HOLYqu>aID>
z57edP+0IspOp1b)mI
zNV?V8p6oDWigARf{^YAOw7oH5U07MceWr>Uk~K+TiVtmk{5z{Q7j76b+w-7ED(eh`
z6(!v-GT3L}FV0-h50|o-3WA}&7`-b%I!Au^RcPOGitRjFS;WLu5+K6GGelOEpsRQ~
z;0Apphscdpj|nrPqOV&{(0nLXztZ1+x<4zf;@p5(u}4>1x%?akj)Y;?W)%hZ!ts4)
z&%pb#FRGr0=Fl7Z_A<>mQK9uiIhqgBHpWkd7U*s?&YTfTCXj8shlKO@ylFV`M$nqx^y;J(O}g=
z1B^P26&6R3*$|)(eH|GwJhs$Y_Y=lP6}85bfo{@dl6dlE59e0)R<
z^3PvAJTKWS*TF%i5}D_8g;`l&6%`c$5Wkrj6>3`A?AlsYHy_5WzNl`ub)V2Cz9XO^
zFfdS2Nh>_d;9mQqWGEMwr0{}MVqC&o9v(u|nl~;kE`=o}VlFP6eNn`r$^~*58WFl%
z!AfYnkNNO(mlE8SN0keJ4NR?c@6Fq(3u8>$^E%UsEO`
z3D%hji@?0)HG;xf(Z;o&MC(<|KYiFM`K^mk+B|>6Nq##*;MEj(4`ues6^nnziOuL0
zc2B-??-sQM<)0kgq`>aKaN(z7nCRZ2H62)a?4F3EJ>wa*v98pw
zd!CHB!=^oW#*U4IVg0ao)*Zl6`;95o0%@g80Os?MkBg5FpEH@_GCeaBR#}N1mx$0G
zy|c&=SB5-ep2hcjJ0>^*zPkSa56i|{BnrvqmSDEv4bL@?-quH>YP};oRe`TxpQK;)
zK1JNS%{@uNJm7yx$cc-K*Y6VV{Hd;)+K<{owNg1~#7yNPF0XjJ2}l8cKsNUJi*7WS
zvzEkAK8hF^U`gJkSMT)sjxO)$r_Y)nZ3|X5SG2kbB~e6p
zoR0v#uB%%35>JLg4c7M>GSXglg)w&h?SA8#cSw@*7_S!Qqe%TIc^4kE_Q}`Q+1|*r
zrWoB4q3g(CFFMVKhUNfCi^AUq!=?f|$zYvx^HZt!uqgwP*9G_UL{=?(!jA192kqY*
z4jp>3i5SWaI=HIB<|>K2*OI9KvF?G;z@4t-Bn!hi+72800y8H6y&ssh}iB1rAyK$(y(vdUaV
z0wBC!I9_cb&ROhh3cG?qAT0AjA=7)pg50BiC85vbFxd~+nxJd>H|N#zEVf
zwbjn<#6~v4W8nrZv0OIba$8CV9-92eU}GbL3z^!~ZWQ8YyMSgfmQt({a_$+*?b5=1
zMREN4&=@$6mrA&<&Mx)p8gUL{JZ@F-VkU#hE5o12
zZ#DTx;E!jCUrVJIQWg4VNVxuX;;$e)p4a9v{i?#c#g9qobwZH%d!&I74KTEN0cnFi
zSP?o82ppgWc4j#Xl$DnL{wB$cQ+|{uQPd86j{Z8d-lTV!`A%rz;kJR0EIK!m?;B?)
zz-0Uo%lci00%9dai?!gSEUQ|yDRI+ef$+7mAE>-JnM}RkYve0*@weF<0UY$BUJM85
zif6KH0WGjAyX*%VAFncL{r>w*Zx)h&w188ii}^236Ga<4{xfnZ8ce^PB2ni(KUeX*
z4Ka!#)aJkf>cRafi^mFDo7q0TFbMb&o6sRd&+oz5TSxr)`pNMRb$J#gTrX5}h
z-}(YwuB7R(I-ym`laJ%0T)zx}xvI$~+a(dB{n4jp057cI*tla=`f9zvu7HEMu((+C
z9WTEt1J*wjZ2oXC$0Eh553ljzHK}LNxn}XjX8U4t8WbGdVSS6#3{_JA6zIKuLOadl
z*kgo-x&I(jc30X@b~o)a>o(#;Dt(rt$!?17^Fw{zSSMM3>9QWIknkta-AV5H<=mU~
zrxL|`Rx->Yw{6ycHKRQ@2q_(nhFuB|^;_%#X1m6JL)Jq~iV(C3q7Dma5&W#XZa82w
z-qT|3%}M)76ZiU1$-PkkwAWJ_73N=?DV&KFJ`O{gSlV*%oJw~n&^;SfGz!TWo6gjD
zu$17#ne(3UdTt&V_#8>hjVT#T(wW3+v~hNZ1^)f6tIIAg$0T6V>4<#8ZhyMMtLswx
z@OXD7>FwPT<@@z3rINC8q($!toS^~9fJVDQ=r9Sf4I
zpA@p-AG}8Bd0O5Qwtz08Q$s|MD(9<_NK)Z;7<_K8GDrRX6qO0W=87C~3egg**7KBa
zlLhx1-O394078wXbgSQ7WgFa>OBc)%wLjr}OU8iAR2Il3pZfiM_2ll(PShFZ8Db>?
zba!~70G2$`^p*MZxWE=w5qVzn*p+!}2#lDR#$8ZVWayHaw2oD5fJo
zl7CUN>35u~nEhKlgPZ2SM4@4YO^i%y+u2EU`f}S}W
z+z+g3GU=`HiS%s%(V8*Cvpc#5{j!r|bRH2>d3CmShlw%aW^nc7gCR&OXXz5IrkJpo
zzj;W7%=Cm0rHGg(lj~kZaDjmoWV-o?y2MU*>-`IV|87NHAKAu&<(oOc>=$hu*Kp)X
z*a3rvEEid8MS6_}y8Eqy7^_uNFpAo(G_E2+o2eX6KTDM&hb%2Gzrw={Ry>QMQdCq7i;V06%do*G
zx3{+$@>$C05CgVk1ud=cH|(Yc4{eJdN!BWzSGd2BsVt$5fPfLC=Lu`~N%^ER3C7J}6$6)0%gp%3{*uo)!6%J9
zOT#Ax&O{eEN*`(NAjN6QAMcWf+|Rq6Q+dtI^tb$c+7=h=dc~O}ZXA#iAZEB&N$jLU
zI{7<|-k=S5K=bN^%AH|X$fe_7j|6+!eIZA?R{tGoxe_T;49ArI>r)ZxEbhL?9W}36tY>RC+
zq178g#K_}T`s(k^vTgV!NXB5<%_bIP$!0Tt(+R*6{M@~p1g)0J+zZFMRVl)=8#{xv9(Yisna^mo}u
zMel&%nhB?s6V}64hw!SG1EVMlgsCj8bH=-rGiOf$CL|Fu9KqV!iHkYIGjc4?=x&2(n8DGV2^7v(
z7$JI>j4R>f7yD4mO8f
zlAU2UaQtY;(gMG+?_~)(d+W>1(y4K_epz$h!e9Uwwtr)&qNjTN5k278ML(G|nf+
z|NWbUydfY@Z*^4Ii-Z}h#kzL14w|a=QL#D*fcHOANQQTo-W^GwQG=DvFE1qw|G1ls
zD90N8vn;OGX)P)%KfR}b!1?>@e4!9ws>-u=aSo`Fh
z$K=9$zOIA2F>m$sg^mwu&S$XD(3Cm$Wo5vg*3s2HfmW3ha1LvQm6VjM0>X8*Rg+0K
zhAjWsmgWg4&aJsmriXBGwf28(fq7-Xz#yIG0t$nU0{UyPmRD!6R5vKxqiMR{gws01
zRmJSyuVL->ahk%~okWO66C)Sr`*Ap4oG^9Nwe|{*&E}fb#QK3ps+$D0tUiR)=TA~!
zNU)li$e7JKDhQ+I>bjEnWyr#=7#CJCFvxA{L}6o=nwn-^c3vyN>=4
z=yL*aAU(LV7=qoJQS0FYm$!$123$aqdmh(Mp&v6~OdNbPA#1+)7gKI^O!CjZiCJr4
zJb!sLUM#I}*2XV&$HwteJ3x9qBiqUlu9~;2<^^75xft>Q4WOdm92Lqni##*m)3MJqW0kS%#oJnN=?b|nq-!ZwdlrwQ~;(cC}|16;Wbmj~X
zxxc@c`}UCn8|4MOzX(Nx>VXr|O8lc!E~<9HkHbSN6g0GtHIpef%DO%n4h{}F)md{O
znaX}+aO|n==b~GFvg~Sq_98inXD!>#MYOw1)Orqanz-qfc=lHm)_&d7Q_adKw@60l
zsvhjEGsyxHy0fkO2&}lULIt=QH|>0Qz!bB#e!+FRX9QK+*Wgb9tk^N1lPg_P98Y$3
zsxRhNR#04t?XEDsbJlstQeCHTpVqsI#n&GsBF@JS=5ns@TV=xp{P&Y-B*u3JP;x7q
zJk0`E_xD9?TxvJmm+6y
zi|#Vg(n@t#hkiuu&zL`xlER*zyh(T+Ke58hEl#1&j~5lqLVuu6iVf!t*Rjk5-$CKT
z`@9pG@Meui)ac^k;-jJA+duVJ!vQ$|(~a0Dwk8j=h_#K4peLQ%4OJ6a%I|{g96sLa7JcP`#7A&VNBGxoEDsp0S;CmV6&;<%YK@Y5;=iB>BNPa(Q
zy8k$7+GZ@E4R-MOJVK?fy#}k~7aGgwk1b_Zm@cVbG%aNsU7L(F-xd=PL7T7l6Dmm@H~)B0(?+ZF*(?3|^XEH|
z#6w2Fl+h2CFhyX?E%248Kj75KZPlR|>gbRN@w&cNfB&J9hCyuwT!eAmVa0Fitn
zow@fE8XUY4xcA3?pE|Gy-zLMQ~Z^Ow
z@m?qPUvxS-tgOKTJ9|yc@}NZe2p(k}3IC|O+nNV5zw2>jGteJR>b{rmhJ81`-1z)-
zwp5D-Mrn#8+|t_G#L*2}fbirsbGK<0kKh2Y^Hi53K*Irw+)^wOT2n0wep
zBTtJ*M{WN-Ec21?V&6)F=?Y*wR=j+glSuV&{jDo+b0X0G5XMcL2pF)#oSQS2;Nj48
z-J)~@qxP1pqMd8+#=^z^b2Qj1K+1K~3vh-g*7j*02v!g7nm1=u5`l4;;s{oU7PP_Q
znaI|vl9QWT)XTR_2tpX;=-ncH4!-2~NC~R13GGL&%^Bu<$tl*+byrhlXFCWvRh_0!
zcY6;YRYYpd!+U;i6feHwPk~+N39ak`j`zqvCwV$eGe~XbaZUu}nE+uUH|T+@zaK&A
z;Lexs;f(TIz5oC1P)H{CmM|MQ>!o$Nmm+W#N5
z;UxceGvHr4{||QmcQbH-%@_Vv-x(e3$lgc&*SEUGI&U?TRdU&5A0Pof=iN9wQT}1@
zAwp>7mAO(26aViU?xO-lj5)TIMxd)gHC&gcNMzPWf{Y}yBRA*U#_ncne7ZedMT3Ne
zg^5h!AikD=&WPSDI?FhafBW`rTDcXLq>;n@rO9uT8D38O&O36;^N|ce;>X*Q?&i%S
z8dvgFOp)4{MCkEiO}x)Fue?t}W240j$kg<-Ou%+%YSn@bveM_)#4e
zj+8QB#6LnhuXtC2wqi*515YyL@NnYRJ1Q#Vkv!mAeFbwl6aTmmS)X0|XmB*b0X4m*
zXI(^nzF;=0@inqO^gWCe2R0imJD0fB)RCR2goW4a#v
zQYI!eTH4wUk07}UmBXy+b+l9R|YrZ}8g?)z4a&sWxeZgyV+
z-)B=5z}#bCr{9&Z9&OZsZ~P2{@7lX7`Px3;rXSAE&J>{9KlMRo@=4gviIZ$~4wH_F
z>Dxj(3mU-pkWl@sKAkCXc
zuXxZbYij2U~IsV|vdGck;Nl^?Q=^X|ZJq&%!{ZOy8
zYr3gFYqr0V@MtUFaEFrF$A$sYaCD7t){E2ZBn0P|jqJ9#?_7WOm<`Ls1Y$1SPMoms
z9&uK%Hsav)gX7>J0RaIDwWZ-a!$CQ_+8}3#Y>a)_>_CN_(}`!EKmM_?wd_9Dl;XKL
zla73F5_ogUjXQr>VPveq65zXmn(K*$EtkMG~vQNbp*rT{!X6X?MLa!6zk_O}hCMZBa`zkS&)
z#p-K@M8ZE?Tk*_Z;0*1aM{wM+JbL>3bHG(h3nx-kw&?F)
zccupwx3M%{Fz+X!pn&ZQdt6_R@~68kht;<~GZq&YgTr1l0tAa>Av-xufA;ijvLt>c
zG02pZka$0CHl7jHsA=&jCbG11&g|DN@$gR?83hFeh_JBm2AW~9N0FU?I%Ivd8Ps|jTDYLJmBJ6&k8-R%PtgpWXv-I{MsN8QKRbOLc`-Qc)
zi-X{XgLHOwf>=g&cS1BwXtCxNbI8J7bMgDqCkCdnP7Xk1$}A=}3F^A&JSE=woL#?z
zvwI5B;Ys&*G=ftTWW$P8CJ&%~e$}C#%ebXj06abKW!%HTK}74ewxL*XaRy?hNbt6g
z7)3t2F*-(Jk?57I%e$HPuf9d1Z@jbWeqt9^T7!+TKnwHdHawdw;8>F_)A13AWsHse
zqTmL)QJ$IDe=yLm1dd>2!cm>UY018y#^^SL#C+a3+|#HufNP78r^aEwbcyJcSpPs$
z2n@z^YRihu7-ls_rV0&5k6ajk+@##z+cVPr(ThuhkHCRf@0Enrc1_|XBnRkZ6b3v#{EsYao)waSDFsXIX
z_29Yn$@k=wYB!p;E26(P;7Vn^C0G7zW5X!=wtHf65j8NvDd8#yN&Pzi;srQuo>**0
z1kG(KI`&6dxBvV!EH`5DbV5(Q6L~4HBI8!
z{4TvgaMLp|Y?Jkm4mA4$G{Z;a1TeViAD}`GlGS&~dbF{qH#axMcRD^kf)IL5b1kuB
zwYmA92?5A&r37lTUf^Kh^6
z6CscWhb;&6H<#-12jcYzA{sjIFMm~_axFaIE_!R{?Z*+L**n5QDYm)knK(NI9}rGy
z)4X<(w+#p7U*X_cu&!@wKsLG#R99qqVvE#Fx)iAfjEfOz&y`e<#zU9Rl}C7@ADA&T
zE$0`eqLJHCNo?-DcXS%PVVB_I(^y9FniUWEz8xNG=K0l
zU~zifcM0d)xAC{oDjnmBXt96c4*4*mmXS)u^m5Sh58jL~e#BaT_TU$pshnhrX1#-~
zBQLl%aj!7rZvf_a2yK{etg3bLir&$
zt9{Es(s=?q24{j#d
ztRrNzYFoXEkt!xkXd?}ilpA2Z%#A?*XxoYE?Nv@9%dMlhXxaDcO21>+i(daL8X1`w
zE343JZoqa$q$dp9{n6cMW`PC$N18UGR`qqMil!n0WXPQ-!frgCs$L{xe<+-&AlWW1
zbT?fB%%*^>C<08Sf9m0E4T==!g}87t|4nZgD>;~5s{LH22oz%BFIpp>hWf#
zz9{UW3FOG{c4$4sDQ6=2kFc)U=B
zviJl)a3~9|TfO5l*BVW-SU#3*Rf{IqPowq_DB*tB
zw)=+{FG4QEK7pA2k(n9ORlf=cxro^T{^-AnDblMb@pXC=9v=QZ
zGZPC^-0yj0Wt6N%4~sqWz8%(h>iTGP@PRbuE9>EiNV;OO-3*G&`@TN}n18@hh+k1~
zsB^2W*WZVS0M0DYu51TBH*R^U=7;OK^mn-gORr@-$NRbjQE2hY?)&zG#&VjN#`4yjd_gYkMW0gv@a@s)w#!FvNPUyp{}mo`BN<9v!pd2JxN5*Cj1WTQWl$wi8XU;kVl^8hIc;*<9r-9N{Zh?j4MLGf&P#QL`8_Igf8QL^0eUo6nB3zr-W70XM#$sZDfD$}ND$r^cOP{Q{_OEy5$*xyuW2L_3)z;#@0)Pk(
z4i5UN{eMz}@qV`336$j3C9%w6-cv)f)BbDpz{GhecaL-xGMr1|oqG|Z2{Nm*+L?W}
zzmcCBt3(!|x|=es@o!j4)xbNv*n~A5WjiS$p5PZDOR#EU!o!H|KtQ>(M=Z7|hrxP+_ghfxA
zbou~cy9*jbBHTu=?6s@axZ_Twbdpc9ePAH>x&C3@)@m3xTK|=`Bh1*NAbmu{R-x?G
zp!EIGAN5F{%x5;C2VkFSulFmZ9qbX}Clef+o_}z3RI-xRJ6heglGoLZS+T6is&q9z
zKkp`TwN8g{DkYPzIpWKU6YbLmChAu}huZ);;s=sXcE9$_I5U6ubP4VC{#*Vt-h8uX
zC7b|fepj|7VTe0CWF=7aA03$2?+{+#jsF|`H@meJ10W?Ob$l0+`C(;s_0=1E|7F+p
z183s$)>hp&F@1fsr=C$!vgQ^R{t=yix3{k4T37N6Z&6WE!wM@FUdktfw)`8WlpwO0rvhg`Y@~Xhx)e;6`G7n|e1kXs&k_
zT)ckrf+E#UR+bzBNl6i^WZgXOT_rC3xKroKb0Bk!v!&nD`!n-ariNLE;oc&%`UD8O
zz?9P`B@&(Io##0*Su9vuDkn2Vu>q4b$$&!h!~aMy1Hw
zgym0JI++8imM*yUL6Lod#-|x7rL}cS_z}7)gHCvGnY!gC9{wc+;Yg%>+|h(&tsqn$
zA|TAw_Xi-NeNRd<=j_d^^~IDw2IDUhfuNq(;Vk69N*T{j3YoI!!r+@
zPdbA}1Dx_-p+E|p+?<#jPZ$xBVR}G>;P(T0*IalrKoxVkmGtlXT=agrxXr6fp9qAa
zj&i)&h1zVQOxW?V5b~t95NxqNe9T|v{{8~h9GCU?y-LUgE{|Y&M@z4l3UopPP5q
zn%I&y!S}^wTbsLm?dbEPHuNteiXFOV5%Ff9qOdG|tE`I4hFbjTGTggp5ilXHva7U<
zA0kLlw0t_a5ade6aZZ3*3{#}EoFwBOoB8
z+lnaJWbD$7ipWSwRi!%gnr2ymPEb@@I-Kc^{p~fWNykA^#m?&a&1=qe(0P_l<$-S}
zt)MymBN{R49Sw~*!E_bq(ZD6!AQf!_Gq?1>NRM1MjH1;)q6)k(=gq-LU3-%k@Ggb9WmdYz@AkLR-N
z%r)FuaR8^!TC8_`>u%!D{L6T{5R}93QGABpi0NyatwdOs0!^QyKnGULX#b6<$kRqy
z83#!zs&?Aq`gb(AQ9M}8sBA8
zEl@?=+T7F^HUal)w!_x~xV@td;VS(AWOt-u{w-S6kbY>$i35@Y#U
z4&fRL06V}SL
zk>SCQ?WT$UFzdV6YS-?a3Uj5HzpMw@>HS*e8xBg%nMa*i)%x`klF)oLswXQRiGeGG~(`;OHpQ{7VAV99VhLJX>di
z(geM@z^b@7a#-b0hIzR@!oB_dTV26u;jEH&AbuO{Hv?pm4?&qv=e~EyH`!m^w@T@~
zUIUR|Z55wg<@#7b+#=(SN_%
z%J1wJ{?s@>m5y4ls&32B(Jzc
z@|NJn9-6anAeG?G{Byu&k@uyV3CC>tjqoj9iVZZ24=ZlfPidS%44U>sM>jLb3hvv2
zjl`BSh6dY$mrnS@7YMWS*~T4{?nzcmD?ibL#->%rnSNc(Y{?s$b2^Os@uxpt_}v2Q
zhY#Fn99tuc=Y%jlw~wp8vx!uNV__7}Tq_TK5peb*9%@lnAJ7S7JNF2#JObgGllE><
zkRO3>px7u~I}tjEe}$c8(Bh5CB2x^mJ~Z)Y6u~^W241a3*r#Tm`^fZ
z{1VY5-(D-TFA1h7=(|RFp)=6Pj7tOGGDj$!1&TkEc==93ib_lSFu2t}A*yGU6-8Jf
zgbXJ#f1sV-8BUC6=Hb|iNEszRMe=*U!z02Ku)hUW($FX*lr9xA&?S(wa<6%SKuG65
z%|s&yM~AY{8Rn#GsGF$0t@lSJBS
zH@I%1J0b4hd2XlUl}t&Emw?dAVtf1es74{1zoF#}JUlv5mBj|Pe^k=(7U*BxJfd-0sis0L~05A!kO8j0l^_+$VLdt?|Yt9o-8&EHhEA_RqDlv4QB*Z`p
z%$AqsPC+d|=8VWpd<%u*zhh!ji*Jkuwc0P~e0X$nX&Y1iDiJX;Se8~+A2}C!kSyVw
zz%1F)yiRPBbcJ-s=P4y;1jg^M1jdIa0j26Q5vLk!TiJ{!L_cPLp(3uHhL-lv#Gfsc
zX34QJ+mEE)hGl#8ruvL$ssgLYc1%WwDztAbcW5s;`tKdltkKnC5+3gil7ljTsy0`uJ|saQ1(WWl~$N0fmx6Kt)F$9MZc_<
z>@%g?9QW(yUBXlsKu!0n#A&HrLxPyajb`|mYW8_2`^q&Mxd2t~S(=CjM)Ou@BaXGa
zQF&BVJ1Ff=H3izeit|N+d`_Z(8JVq(IJ$@-T}kx_BN>k{_MdiNvLc#=`{x^y2)Hw=
zZ65gcR=<>&ktzXX$y%KF%GD&gbXJ2s*d-Ale*oyOS@&w7R4lPd1m2$6mAnmQz2kEv
zIug|D#%mz;KAK4wr{w(i@6(+6fzxgRRv$}r2_(9$E;q?C*2yn|YbwVQPez*qNgsf<
z6Cv+cMr3-CCGjR2zn@e`QhA%!jn+v2DI5~L<8+BHO=3+{p3qImIrYH%jU~kR*?MGo
zA4yi;5&$(wFikU{m=w1BlU(5z!x-vi)4}M&kNvlwI<1_SZndA#y6WyRmT6eI;>vM%
z@gSuwXu@k(n{7Fze@G%GLRjHiD*Yya8@@h@Q1aZBB9X8~(EqD#`QKX|(tKHxZ(T>H
z^j0ie5@vKE4NYC$!Dr*5W@dD41MTqo%m^X1t3byMZgn
zwP^^KjF`L+BN!|sa|LZpL(bFi-6-Q8?3GG+Y(s&sg<;h{nh0oc>k
z(3ZNskE+Rw!=iD~niY+!C`QDxiV8_lQP^C@AqE&8(9_fVf%4w_qiEd-`SC9TTwcdR
z%xdrR(tCS*_m7WNA}dnp^bsg36eR%t9MCOL`EWf(3Y~!^2UhwO$Qc0wLjYohgLEPY
zS!uMdx+EI^`YFB0l(muwtIWeY^aq^-(Z{qJj#^WfOLiQ$Ws$NG0k
zAal&^UD-pMs1KV6+if*EA)EiHzV^s0L`0Ho-!jTA`GA|TtL;X#njFxwZ#!~B61p17
zY&f^#aSrZR5EDZHie==%fRXTJJ+(GQ!Gs6B_cH0lho$d++^+~-_{q|ENHH)l7JUBV
zs*RGklk8gFvr{|8JV6biSyFU{NP9GOmQmzGCC{&L;$a)j&*W
z6lD=XLra$xDeQMJc}U(0O5$Hxh_lZR;=Q>yh<==YImWVBj~-thA4Ao-Hy;
zCs8nw-S+wR&@~N34E+w;8tWq!3RIEV=ewMXSa}G9(S;(z?&G{Z3Zs1B@nvEZ_u1o_
z-DsQ*(3LT{YFPbFgqjh>C+2PBx~|X&o~!w1HKwL
zs%?EsWkj%Lnfsc9zDr~;@D0>6@Ne{ME#rUs1FqNmiX?)bD*vmNua2tf>()MpMoI*!
zgMiW{oq~V?(hbr`cL)ebY!DQcQlt-!lyr9rDBuCv@BQ9yjQj6poB^A)
z_t~rVUTe;0KF?eaeiDhD<}RzOsHhnx(0GKh5-|2V(vEpJiLcFbxwDW6>>^{IZJ}Xt
z7w~}BS*MkP&8H(c(_G!eq&PlWVl*vNnKVo`bHIjyfdK|4&Bn$?T22lZjY60EU{c$V
z1?(K!QfiFY*xA?wfV~0(1EXdg6WYKbA=f8XSe%~@ZXFyPlqCz`AS-HK)#V@hR`r}e
zdr7m@irmz(?YEHt&`wm2*1>1y+nIG8BW!I?y^_rU`G-w5=R_Rirxhtn@b_@B5q04>
zql0ZFsdA0pXgFEh^0`>RXt&jzX9P;9malE;%J%3pK=L?<*tX^?2lhRoyFNtX3tZ*f
zR>PwUzr2$CwgvO6>ki3pd^7)4nl=ThOw^**OQ7#yfalB!xQhGw`liWAs(~lh7t`E=
ztf-cdnt-Xj&r4&*Te~SVbx({xrH(Rzp0q_#xYNs**jj?wdJNt&+|3`#$7bSl(I-{G
z9<%%?U%u;a&lFj9{1?a}Od>s*XWQ}m;p6h@El2v>yHk~OxqB;YlVR36Nizqt_Lw^f
z)tLPfRW$dnu7a(SJ7#uOU8ESSTl_FCs*|v-X&=&V|E{Ke`S;KKv$A&SO2Z2{ni^e3
ziy28MYE7jy{o>;3mGV(2C9FH{wwPpgYhnn91YqIf0(k9~GvrLz-gu&qQ`0KSn^3KVm!mHEF`6{L|4m!`91W%YdN^HI5Ms3A5Z0Wo(A(kP2afkJS0z>4g
z?ndgfk$C4vJ%^r?Jsq|hJ)fMQAs{7-es>;PN!&$Y