From 74018ebd34cebde075ddfa043f3c5c047d417bb6 Mon Sep 17 00:00:00 2001 From: Arokha Sieyes Date: Sun, 19 Feb 2017 00:01:14 -0500 Subject: [PATCH] Basically replaced biological cloning so far --- code/game/area/Space Station 13 areas_vr.dm | 6 +- .../client/preference_setup/vore/02_size.dm | 3 + code/modules/resleeving/computers.dm | 259 ++++++++++++++++++ code/modules/resleeving/consoles.dm | 9 + code/modules/resleeving/general.dm | 53 ++++ code/modules/resleeving/infocore.dm | 147 ++++++++++ code/modules/resleeving/machines.dm | 238 ++++++++++++++++ maps/virgo-1.dmm | 255 +++++++++-------- nano/templates/sleever.tmpl | 112 ++++++++ vorestation.dme | 5 + 10 files changed, 956 insertions(+), 131 deletions(-) create mode 100644 code/modules/resleeving/computers.dm create mode 100644 code/modules/resleeving/consoles.dm create mode 100644 code/modules/resleeving/general.dm create mode 100644 code/modules/resleeving/infocore.dm create mode 100644 code/modules/resleeving/machines.dm create mode 100644 nano/templates/sleever.tmpl diff --git a/code/game/area/Space Station 13 areas_vr.dm b/code/game/area/Space Station 13 areas_vr.dm index f210187668..0e639737ae 100644 --- a/code/game/area/Space Station 13 areas_vr.dm +++ b/code/game/area/Space Station 13 areas_vr.dm @@ -107,4 +107,8 @@ /area/asteroid/rogue/zone4 name = "Asteroid Belt Zone 4" icon_state = "red2" - shuttle_area = /area/shuttle/belter/belt/zone4 \ No newline at end of file + shuttle_area = /area/shuttle/belter/belt/zone4 + +/area/medical/resleeving + name = "Resleeving Lab" + icon_state = "genetics" \ No newline at end of file diff --git a/code/modules/client/preference_setup/vore/02_size.dm b/code/modules/client/preference_setup/vore/02_size.dm index ca6b87c5fc..99acc59192 100644 --- a/code/modules/client/preference_setup/vore/02_size.dm +++ b/code/modules/client/preference_setup/vore/02_size.dm @@ -42,6 +42,9 @@ character.weight = pref.weight_vr character.weight_gain = pref.weight_gain character.weight_loss = pref.weight_loss + spawn(50) + if(character && !istype(character,/mob/living/carbon/human/dummy)) + new/datum/transhuman/body_record/(character,1) //Clearly related to size. /datum/category_item/player_setup_item/vore/size/content(var/mob/user) . += "
" diff --git a/code/modules/resleeving/computers.dm b/code/modules/resleeving/computers.dm new file mode 100644 index 0000000000..a06b306e41 --- /dev/null +++ b/code/modules/resleeving/computers.dm @@ -0,0 +1,259 @@ +/obj/machinery/computer/transhuman/resleeving + name = "resleeving control console" + icon = 'icons/obj/computer.dmi' + icon_keyboard = "med_key" + icon_screen = "dna" + light_color = "#315ab4" + circuit = /obj/item/weapon/circuitboard/cloning + req_access = list(access_heads) //Only used for record deletion right now. + var/list/pods = list() //Linked grower pods. + var/list/sleevers = list() //Linked resleeving booths. + var/temp = "" + var/menu = 1 //Which menu screen to display + var/datum/transhuman/body_record/active_br = null + var/datum/transhuman/mind_record/active_mr = null + var/datum/transhuman/infocore/TC //Easy debugging access + var/organic_capable = 1 + var/synthetic_capable = 0 + +/obj/machinery/computer/transhuman/resleeving/initialize() + ..() + updatemodules() + TC = transcore + +/obj/machinery/computer/transhuman/resleeving/Destroy() + releasepods() + ..() + +/obj/machinery/computer/transhuman/resleeving/proc/updatemodules() + releasepods() + findpods() + +/obj/machinery/computer/transhuman/resleeving/proc/releasepods() + for(var/obj/machinery/clonepod/transhuman/P in pods) + P.connected = null + P.name = initial(P.name) + pods.Cut() + for(var/obj/machinery/transhuman/resleever/P in sleevers) + P.connected = null + P.name = initial(P.name) + sleevers.Cut() + +/obj/machinery/computer/transhuman/resleeving/proc/findpods() + var/num = 1 + var/area/A = get_area(src) + for(var/obj/machinery/clonepod/transhuman/P in A.get_contents()) + if(!P.connected) + pods += P + P.connected = src + P.name = "[initial(P.name)] #[num++]" + for(var/obj/machinery/transhuman/resleever/P in A.get_contents()) + if(!P.connected) + sleevers += P + P.connected = src + P.name = "[initial(P.name)] #[num++]" + +/obj/machinery/computer/transhuman/resleeving/attackby(obj/item/W as obj, mob/user as mob) + if(istype(W, /obj/item/device/multitool)) + var/obj/item/device/multitool/M = W + var/obj/machinery/clonepod/transhuman/P = M.connecting + if(P && !(P in pods)) + pods += P + P.connected = src + P.name = "[initial(P.name)] #[pods.len]" + user << "You connect [P] to [src]." + else + ..() + return + +/obj/machinery/computer/transhuman/resleeving/attack_ai(mob/user as mob) + return attack_hand(user) + +/obj/machinery/computer/transhuman/resleeving/attack_hand(mob/user as mob) + user.set_machine(src) + add_fingerprint(user) + + if(stat & (BROKEN|NOPOWER)) + return + + updatemodules() + + ui_interact(user) + +/obj/machinery/computer/transhuman/resleeving/ui_interact(mob/user, ui_key = "main", var/datum/nanoui/ui = null, var/force_open = 1) + user.set_machine(src) + + var/data[0] + + var/bodyrecords_list_ui[0] + for(var/N in TC.body_scans) + var/datum/transhuman/body_record/BR = TC.body_scans[N] + bodyrecords_list_ui[++bodyrecords_list_ui.len] = list("name" = N, "recref" = "\ref[BR]") + + var/mindrecords_list_ui[0] + for(var/N in TC.backed_up) + var/datum/transhuman/mind_record/MR = TC.backed_up[N] + mindrecords_list_ui[++mindrecords_list_ui.len] = list("name" = N, "recref" = "\ref[MR]") + + var/pods_list_ui[0] + for(var/obj/machinery/clonepod/transhuman/pod in pods) + pods_list_ui[++pods_list_ui.len] = list("pod" = pod, "biomass" = pod.biomass) + + var/sleevers_list_ui[0] + for(var/obj/machinery/transhuman/resleever/resleever in sleevers) + sleevers_list_ui[++sleevers_list_ui.len] = list("sleever" = resleever, "occupant" = resleever.occupant ? resleever.occupant.real_name : "None") + + if(pods) + data["pods"] = pods_list_ui + else + data["pods"] = null + + if(sleevers) + data["sleevers"] = sleevers_list_ui + else + data["pods"] = null + + if(bodyrecords_list_ui.len) + data["bodyrecords"] = bodyrecords_list_ui + else + data["bodyrecords"] = null + + if(mindrecords_list_ui.len) + data["mindrecords"] = mindrecords_list_ui + else + data["mindrecords"] = null + + + if(active_br) + var/can_grow_active = 1 + if(!synthetic_capable && active_br.synthetic) //Disqualified due to being synthetic in an organic pod. + can_grow_active = 0 + else if(!organic_capable && !active_br.synthetic) //Disqualified for the opposite. + can_grow_active = 0 + else if(!synthetic_capable && !organic_capable) //What have you done?? + can_grow_active = 0 + else if(!pods.len) + can_grow_active = 0 + + data["activeBodyRecord"] = list("real_name" = active_br.mydna.name, \ + "speciesname" = active_br.speciesname, \ + "gender" = active_br.bodygender, \ + "synthetic" = active_br.synthetic ? "Yes" : "No", \ + "cando" = can_grow_active) + else + data["activeRecord"] = null + + if(active_mr) + var/can_sleeve_current = 1 + if(!sleevers.len) + can_sleeve_current = 0 + data["activeMindRecord"] = list("charname" = active_mr.charname, \ + "obviously_dead" = active_mr.obviously_dead ? "Past-due" : "Current", \ + "cando" = can_sleeve_current) + else + data["activeMindRecord"] = null + + + data["menu"] = menu + data["podsLen"] = pods.len + data["sleeversLen"] = sleevers.len + data["temp"] = temp + + ui = nanomanager.try_update_ui(user, src, ui_key, ui, data, force_open) + if (!ui) + ui = new(user, src, ui_key, "sleever.tmpl", src.name, 400, 450) + ui.set_initial_data(data) + ui.open() + ui.set_auto_update(5) + +/obj/machinery/computer/transhuman/resleeving/Topic(href, href_list) + if(..()) + return 1 + + else if (href_list["view_brec"]) + active_br = locate(href_list["view_brec"]) + if(active_br && istype(active_br.mydna)) + menu = 4 + else + active_br = null + temp = "ERROR: Record missing." + + else if (href_list["view_mrec"]) + active_mr = locate(href_list["view_mrec"]) + if(active_mr && istype(active_mr)) + menu = 5 + else + active_mr = null + temp = "ERROR: Record missing." + + else if (href_list["refresh"]) + updateUsrDialog() + + else if (href_list["grow"]) + if(istype(active_br)) + if(!pods.len) + temp = "Error: No growpods detected." + else + var/obj/machinery/clonepod/transhuman/pod = pods[1] + if (pods.len > 1) + pod = input(usr,"Select a growing pod to use", "Pod selection") as anything in pods + if(pod.occupant) + temp = "Error: Growpod is currently occupied." + else if(pod.biomass < CLONE_BIOMASS) + temp = "Error: Not enough biomass." + else if(pod.mess) + temp = "Error: Growpod malfunction." + else if(!config.revival_cloning) + temp = "Error: Unable to initiate growing cycle." + else if(pod.growclone(active_br.mydna)) + temp = "Initiating growing cycle..." + menu = 1 + else + temp = "Initiating growing cycle...
Error: Post-initialisation failed. Growing cycle aborted." + else + temp = "Error: Data corruption." + + else if (href_list["sleeve"]) + if(istype(active_mr)) + if(!sleevers.len) + temp = "Error: No sleevers detected." + else + var/obj/machinery/transhuman/resleever/sleever = sleevers[1] + if (sleevers.len > 1) + sleever = input(usr,"Select a resleeving pod to use", "Resleever selection") as anything in sleevers + + //No body to sleeve into. + if(!sleever.occupant) + temp = "Error: Resleeving pod is not occupied." + + //Body to sleeve into, but mind is in another living body. + else if(active_mr.mind.current && active_mr.mind.current.stat != DEAD) //Mind is in a body already that's alive + var/answer = alert(active_mr.mind.current,"Someone is attempting to restore a CURRENT backup of your mind into another body. Do you want to move to that body? You should suffer no memory loss.","Resleeving","Yes","No") + + //They declined to be moved. + if(answer == "No") + temp = "Initiating resleeving...
Error: Post-initialisation failed. Resleeving cycle aborted." + menu = 1 + + //They approved being moved. + else + sleever.putmind(active_mr) + temp = "Initiating current backup & resleeving..." + menu = 1 + + //They were dead, or otherwise available. + else + sleever.putmind(active_mr) + temp = "Initiating resleeving..." + menu = 1 + + //IDK but it broke somehow. + else + temp = "Error: Data corruption." + + else if (href_list["menu"]) + menu = href_list["menu"] + temp = "" + + nanomanager.update_uis(src) + add_fingerprint(usr) diff --git a/code/modules/resleeving/consoles.dm b/code/modules/resleeving/consoles.dm new file mode 100644 index 0000000000..cc90ccf063 --- /dev/null +++ b/code/modules/resleeving/consoles.dm @@ -0,0 +1,9 @@ +//////////////////////////////// +//// Consoles for resleeving tech +//// for printing bodies and 'decanting' +//////////////////////////////// + +//TODO Tweaked cloning console +//TODO Subtype for synths + +//TODO Mind-backup management console \ No newline at end of file diff --git a/code/modules/resleeving/general.dm b/code/modules/resleeving/general.dm new file mode 100644 index 0000000000..73a86a1a63 --- /dev/null +++ b/code/modules/resleeving/general.dm @@ -0,0 +1,53 @@ +//////////////////////////////// +//// General resleeving stuff common to +//// robotics and medical both +//////////////////////////////// + +//The backup implant itself +/obj/item/weapon/implant/backup + name = "backup implant" + desc = "Do you wanna live forever?" + var/datum/transhuman/mind_record/my_record + +/obj/item/weapon/implant/backup/get_data() + var/dat = {" +Implant Specifications:
+Name: [company_name] Employee Backup Implant
+Life: ~8 hours.
+Important Notes: Implant is life-limited due to KHI licensing restrictions. Dissolves into harmless biomaterial after around ~8 hours, the typical work shift.
+
+Implant Details:
+Function: Contains a small swarm of nanobots that perform neuron scanning to create mind-backups.
+Special Features: Will allow restoring of backups during the 8-hour period it is active.
+Integrity: Generally very survivable. Susceptible to being destroyed by acid."} + return dat + +/obj/item/weapon/implant/backup/implanted(var/mob/living/carbon/human/H) + ..() + if(istype(H)) + my_record = new(H,src,1) + return 1 + +//The glass case for the implant +/obj/item/weapon/implantcase/backup + name = "glass case - 'backup'" + desc = "A case containing a backup implant." + icon_state = "implantcase-b" + +/obj/item/weapon/implantcase/backup/New() + src.imp = new /obj/item/weapon/implant/backup(src) + ..() + return + +//The box of backup implants +/obj/item/weapon/storage/box/backup_kit + name = "backup implant kit" + desc = "Box of stuff used to implant backup implants." + icon_state = "implant" + item_state_slots = list(slot_r_hand_str = "syringe_kit", slot_l_hand_str = "syringe_kit") + +/obj/item/weapon/storage/box/backup_kit/New() + ..() + for(var/i = 1 to 7) + new /obj/item/weapon/implantcase/backup(src) + new /obj/item/weapon/implanter(src) \ No newline at end of file diff --git a/code/modules/resleeving/infocore.dm b/code/modules/resleeving/infocore.dm new file mode 100644 index 0000000000..c8d6d31519 --- /dev/null +++ b/code/modules/resleeving/infocore.dm @@ -0,0 +1,147 @@ +//////////////////////////////// +//// Mind/body data storage system +//// for the resleeving tech +//////////////////////////////// + +var/datum/transhuman/infocore/transcore = new/datum/transhuman/infocore + +//Mind-backup database +/datum/transhuman/infocore + var/notify_min = 5 MINUTES + var/notify_max = 15 MINUTES + var/ping_time = 3 MINUTES + + var/datum/transhuman/mind_record/list/backed_up = list() + var/datum/transhuman/mind_record/list/has_left = list() + var/datum/transhuman/body_record/list/body_scans = list() + + var/in_use = 1 //Whether to use this thing at all + var/time_to_ping = 0 //When to do the next backup 'ping', in world.time + +/datum/transhuman/infocore/New() + process() + +/datum/transhuman/infocore/proc/process() + if(!in_use) + return + + for(var/N in backed_up) + var/datum/transhuman/mind_record/curr_MR = backed_up[N] + if(!curr_MR) + log_debug("Tried to process [N] in transcore w/o a record!") + else + if(!curr_MR.imp_ref || curr_MR.imp_ref.loc != curr_MR.mob_ref) //Implant gone + curr_MR.secretly_dead = DEAD + spawn(rand(notify_min,notify_max)) + curr_MR.obviously_dead = curr_MR.secretly_dead + + else if(!curr_MR.secretly_dead && (!curr_MR.mob_ref || curr_MR.mob_ref.stat >= DEAD)) //Mob appears to be dead + curr_MR.secretly_dead = curr_MR.mob_ref.stat + spawn(rand(notify_min,notify_max)) + if(!curr_MR.mob_ref || curr_MR.mob_ref.stat >= DEAD) //Still dead + curr_MR.obviously_dead = curr_MR.secretly_dead + else + curr_MR.secretly_dead = curr_MR.mob_ref.stat //Not dead now, restore status. + + spawn(ping_time) + process() + +/datum/transhuman/infocore/proc/add_backup(var/datum/transhuman/mind_record/MR) + ASSERT(MR) + backed_up[MR.charname] = MR + log_debug("Added [MR.charname] to transcore DB.") + +/datum/transhuman/infocore/proc/stop_backup(var/datum/transhuman/mind_record/MR) + ASSERT(MR) + has_left[MR.charname] = MR + backed_up.Remove("[MR.charname]") + log_debug("Put [MR.charname] in transcore suspended DB.") + +/datum/transhuman/infocore/proc/add_body(var/datum/transhuman/body_record/BR) + ASSERT(BR) + body_scans[BR.mydna.name] = BR + log_debug("Added [BR.mydna.name] to transcore body DB.") + +/////// Mind-backup record /////// +/datum/transhuman/mind_record + //User visible + var/charname = "!!ERROR!!" + var/implanted_at + var/body_type + var/obviously_dead + var/id_gender + + //Backend + var/obj/item/weapon/implant/backup/imp_ref + var/ckey = "" + var/mob/living/carbon/human/mob_ref + var/client/client + var/datum/mind/mind + var/cryo_at + var/secretly_dead + var/languages + +/datum/transhuman/mind_record/New(var/mob/living/carbon/human/M,var/obj/item/weapon/implant/backup/imp,var/add_to_db = 1) + ASSERT(M && imp) + + if(!istype(M)) + return //Only works with humanoids. + + //Scrape info from mob. + mob_ref = M + charname = M.name + implanted_at = world.time + body_type = M.isSynthetic() + id_gender = M.identifying_gender + + imp_ref = imp + ckey = M.ckey + cryo_at = 0 + languages = M.languages.Copy() + + //If these are gone then it's a problemmmm. + client = M.client + mind = M.mind + + if(add_to_db) + transcore.add_backup(src) + + +/////// Body Record /////// +/datum/transhuman/body_record + var/datum/dna2/record/mydna + + //These may or may not be set, mostly irrelevant since it's just a body record. + var/ckey + var/client/client_ref + var/datum/mind/mind_ref + var/synthetic + var/speciesname + var/bodygender + +/datum/transhuman/body_record/New(var/mob/living/carbon/human/M,var/add_to_db = 1) + ASSERT(M) + + synthetic = M.isSynthetic() + speciesname = M.custom_species ? M.custom_species : M.dna.species + bodygender = M.gender + + //Probably should + M.dna.check_integrity() + + //The DNA2 stuff + mydna = new () + mydna.dna = M.dna.Clone() + mydna.ckey = M.ckey + mydna.id = copytext(md5(M.real_name), 2, 6) + mydna.name = M.dna.real_name + mydna.types = DNA2_BUF_UI|DNA2_BUF_UE|DNA2_BUF_SE + mydna.flavor = M.flavor_texts.Copy() + + //My stuff + client_ref = M.client + ckey = M.ckey + mind_ref = M.mind + + if(add_to_db) + transcore.add_body(src) \ No newline at end of file diff --git a/code/modules/resleeving/machines.dm b/code/modules/resleeving/machines.dm new file mode 100644 index 0000000000..f190eabf29 --- /dev/null +++ b/code/modules/resleeving/machines.dm @@ -0,0 +1,238 @@ +//////////////////////////////// +//// Machines required for body printing +//// and decanting into bodies +//////////////////////////////// + +/////// Grower Pod /////// +/obj/machinery/clonepod/transhuman + name = "grower pod" + +/obj/machinery/clonepod/transhuman/growclone(var/datum/dna2/record/R) + if(mess || attempting) + return 0 + + attempting = 1 //One at a time!! + locked = 1 + + eject_wait = 1 + spawn(30) + eject_wait = 0 + + var/mob/living/carbon/human/H = new /mob/living/carbon/human(src, R.dna.species) + occupant = H + + if(!R.dna.real_name) + R.dna.real_name = "clone ([rand(0,999)])" + H.real_name = R.dna.real_name + + H.adjustCloneLoss(150) + H.Paralyse(4) + H.updatehealth() + + if(!R.dna) + H.dna = new /datum/dna() + H.dna.real_name = H.real_name + else + H.dna = R.dna + H.UpdateAppearance() + H.sync_organ_dna() + if(heal_level < 60) + randmutb(H) + H.dna.UpdateSE() + H.dna.UpdateUI() + + H.set_cloned_appearance() + update_icon() + + H.flavor_texts = R.flavor.Copy() + H.suiciding = 0 + attempting = 0 + return 1 + +/obj/machinery/clonepod/transhuman/process() + if(stat & NOPOWER) + if(occupant) + locked = 0 + go_out() + return + + if((occupant) && (occupant.loc == src)) + if(occupant.stat == DEAD) + locked = 0 + go_out() + connected_message("Clone Rejected: Deceased.") + return + + else if(occupant.health < heal_level && occupant.getCloneLoss() > 0) + occupant.Paralyse(4) + + //Slowly get that clone healed and finished. + occupant.adjustCloneLoss(-2 * heal_rate) + + //Premature clones may have brain damage. + occupant.adjustBrainLoss(-(ceil(0.5*heal_rate))) + + //So clones don't die of oxyloss in a running pod. + if(occupant.reagents.get_reagent_amount("inaprovaline") < 30) + occupant.reagents.add_reagent("inaprovaline", 60) + occupant.Sleeping(30) + //Also heal some oxyloss ourselves because inaprovaline is so bad at preventing it!! + occupant.adjustOxyLoss(-4) + + use_power(7500) //This might need tweaking. + return + + else if((occupant.health >= heal_level) && (!eject_wait)) + playsound(src.loc, 'sound/machines/ding.ogg', 50, 1) + audible_message("\The [src] signals that the growing process is complete.") + connected_message("Growing Process Complete.") + locked = 0 + go_out() + return + + else if((!occupant) || (occupant.loc != src)) + occupant = null + if(locked) + locked = 0 + return + + return + + + +/////// Resleever Pod /////// +/obj/machinery/transhuman/resleever + name = "resleeving pod" + desc = "Used to combine mind and body into one unit." + icon = 'icons/obj/machines/implantchair.dmi' + icon_state = "implantchair" + density = 1 + opacity = 0 + anchored = 1 + + var/mob/living/carbon/human/occupant = null + var/connected = null + +/obj/machinery/transhuman/resleever/attack_hand(mob/user as mob) + user.set_machine(src) + var/health_text = "" + var/mind_text = "" + if(src.occupant) + if(src.occupant.stat >= DEAD) + health_text = "DEAD" + else if(src.occupant.health < 0) + health_text = "[round(src.occupant.health,0.1)]" + else + health_text = "[round(src.occupant.health,0.1)]" + + if(src.occupant.client) + mind_text = "Mind present" + else + mind_text = "Mind absent" + + var/dat ="Resleever Status
" + dat +="Current occupant: [src.occupant ? "
Name: [src.occupant]
Health: [health_text]
" : "None"]
" + dat +="Mind status: [mind_text]
" + user.set_machine(src) + user << browse(dat, "window=resleever") + onclose(user, "resleever") + +/obj/machinery/transhuman/resleever/attackby(var/obj/item/weapon/G as obj, var/mob/user as mob) + if(istype(G, /obj/item/weapon/grab)) + if(!ismob(G:affecting)) + return + for(var/mob/living/carbon/slime/M in range(1,G:affecting)) + if(M.Victim == G:affecting) + usr << "[G:affecting:name] will not fit into the [src.name] because they have a slime latched onto their head." + return + var/mob/M = G:affecting + if(put_mob(M)) + qdel(G) + src.updateUsrDialog() + return + +/obj/machinery/transhuman/resleever/proc/putmind(var/datum/transhuman/mind_record/MR) + if(!occupant || !istype(occupant) || occupant.stat >= DEAD) + return 0 + + //In case they already had a mind! + occupant << "You feel your mind being overwritten..." + + //Attach as much stuff as possible to the mob. + for(var/datum/language/L in MR.languages) + occupant.add_language(L.name) + occupant.identifying_gender = MR.id_gender + occupant.client = MR.client + occupant.mind = MR.mind + occupant.ckey = MR.ckey + + //Give them a backup implant + var/obj/item/weapon/implant/backup/new_imp = new() + if(new_imp.implanted(occupant)) + new_imp.loc = occupant + new_imp.imp_in = occupant + new_imp.implanted = 1 + //Put it in the head! Makes sense. + var/obj/item/organ/external/affected = occupant.get_organ(BP_HEAD) + affected.implants += new_imp + new_imp.part = affected + + //Update the database record + MR.mob_ref = occupant + MR.imp_ref = new_imp + MR.secretly_dead = occupant.stat + MR.obviously_dead = 0 + + //Inform them and make them a little dizzy. + occupant << "You feel a small pain in your head as you're given a new backup implant. Oh, and a new body. It's disorienting, to say the least." + occupant.confused = max(occupant.confused, 15) + occupant.eye_blurry = max(occupant.eye_blurry, 15) + + return 1 + +/obj/machinery/transhuman/resleever/proc/go_out(var/mob/M) + if(!( src.occupant )) + return + if (src.occupant.client) + src.occupant.client.eye = src.occupant.client.mob + src.occupant.client.perspective = MOB_PERSPECTIVE + src.occupant.loc = src.loc + src.occupant = null + icon_state = "implantchair" + return + +/obj/machinery/transhuman/resleever/proc/put_mob(mob/living/carbon/human/M as mob) + if(!ishuman(M)) + usr << "\The [src] cannot hold this!" + return + if(src.occupant) + usr << "\The [src] is already occupied!" + return + if(M.client) + M.client.perspective = EYE_PERSPECTIVE + M.client.eye = src + M.stop_pulling() + M.loc = src + src.occupant = M + src.add_fingerprint(usr) + icon_state = "implantchair_on" + return 1 + +/obj/machinery/transhuman/resleever/verb/get_out() + set name = "EJECT Occupant" + set category = "Object" + set src in oview(1) + if(usr.stat != 0) + return + src.go_out(usr) + add_fingerprint(usr) + return + +/obj/machinery/transhuman/resleever/verb/move_inside() + set name = "Move INSIDE" + set category = "Object" + set src in oview(1) + if(usr.stat != 0 || stat & (NOPOWER|BROKEN)) + return + put_mob(usr) + return diff --git a/maps/virgo-1.dmm b/maps/virgo-1.dmm index e28b1cddf8..b236080596 100644 --- a/maps/virgo-1.dmm +++ b/maps/virgo-1.dmm @@ -840,7 +840,7 @@ "aqh" = (/obj/machinery/disposal,/obj/structure/disposalpipe/trunk{dir = 4},/turf/simulated/floor/tiled/dark,/area/crew_quarters/heads/hos) "aqi" = (/obj/structure/grille,/obj/structure/cable/green{d2 = 2; icon_state = "0-2"},/obj/machinery/door/firedoor/border_only,/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/window/reinforced/polarized{dir = 1},/obj/structure/window/reinforced/polarized{dir = 8},/obj/structure/window/reinforced/polarized{dir = 4},/turf/simulated/floor/plating,/area/crew_quarters/heads/hos) "aqj" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/effect/floor_decal/corner/red{dir = 9},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled,/area/security/main) -"aqk" = (/obj/structure/bed/chair/office/dark{dir = 4},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/cable/green{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/effect/landmark/start{name = "Security Officer"},/obj/structure/disposalpipe/sortjunction/flipped{dir = 1; name = "HoS Office"; sortType = "HoS Office"},/turf/simulated/floor/tiled,/area/security/main) +"aqk" = (/obj/structure/bed/chair/office/dark{dir = 4},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/cable/green{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/effect/landmark/start{name = "Security Officer"},/turf/simulated/floor/tiled,/area/security/main) "aql" = (/obj/structure/table/standard,/obj/item/weapon/folder/red,/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/tiled,/area/security/main) "aqm" = (/obj/structure/table/standard,/obj/item/weapon/folder/red,/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/tiled,/area/security/main) "aqn" = (/obj/structure/bed/chair/office/dark{dir = 8},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/effect/landmark/start{name = "Security Officer"},/turf/simulated/floor/tiled,/area/security/main) @@ -3340,7 +3340,7 @@ "bml" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/machinery/door/firedoor/border_only,/turf/simulated/floor/plating,/area/crew_quarters/medbreak) "bmm" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/machinery/door/firedoor/border_only,/turf/simulated/floor/plating,/area/crew_quarters/medbreak) "bmn" = (/obj/machinery/door/airlock/glass_medical{name = "Staff Room"; req_access = list(5)},/obj/machinery/door/firedoor/glass,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/effect/floor_decal/corner/paleblue/diagonal{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled/white,/area/crew_quarters/medbreak) -"bmo" = (/turf/simulated/wall,/area/medical/genetics_cloning) +"bmo" = (/turf/simulated/floor/wood,/area/medical/psych) "bmp" = (/obj/structure/closet/secure_closet/personal/patient,/obj/effect/floor_decal/corner/lime{dir = 9},/turf/simulated/floor/tiled/white,/area/medical/virology) "bmq" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/turf/simulated/floor/tiled/white,/area/medical/virology) "bmr" = (/obj/effect/floor_decal/corner/lime{dir = 6},/turf/simulated/floor/tiled/white,/area/medical/virology) @@ -3418,12 +3418,12 @@ "bnL" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled/white,/area/medical/sleeper) "bnM" = (/obj/effect/floor_decal/corner/paleblue{dir = 4},/turf/simulated/floor/tiled/white,/area/medical/sleeper) "bnN" = (/obj/machinery/recharge_station,/obj/effect/floor_decal/corner/paleblue{dir = 5},/turf/simulated/floor/tiled/white,/area/medical/sleeper) -"bnO" = (/obj/structure/table/standard,/obj/item/weapon/storage/box/bodybags{pixel_x = 1; pixel_y = 2},/obj/machinery/power/apc{dir = 8; name = "west bump"; pixel_x = -24},/obj/effect/floor_decal/corner/mauve{dir = 5},/obj/structure/cable/green{d2 = 2; icon_state = "0-2"},/obj/item/device/radio/intercom{dir = 1; name = "Station Intercom (General)"; pixel_y = 21},/obj/machinery/light_switch{pixel_x = -36; pixel_y = 0},/turf/simulated/floor/tiled/white,/area/medical/genetics_cloning) -"bnP" = (/obj/effect/floor_decal/corner/mauve/full{dir = 1},/obj/machinery/light{dir = 1},/obj/structure/table/standard,/obj/item/weapon/storage/laundry_basket,/turf/simulated/floor/tiled/white,/area/medical/genetics_cloning) -"bnQ" = (/obj/structure/window/reinforced{dir = 8},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/tiled,/area/medical/genetics_cloning) -"bnR" = (/obj/effect/decal/cleanable/dirt,/obj/machinery/camera/network/medbay{c_tag = "MED - Cloning"; dir = 2},/turf/simulated/floor/tiled,/area/medical/genetics_cloning) -"bnS" = (/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/tiled,/area/medical/genetics_cloning) -"bnT" = (/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/tiled,/area/medical/genetics_cloning) +"bnO" = (/obj/machinery/power/apc{dir = 8; name = "west bump"; pixel_x = -24},/obj/structure/cable/green{d2 = 2; icon_state = "0-2"},/obj/item/device/radio/intercom{dir = 1; name = "Station Intercom (General)"; pixel_y = 21},/obj/machinery/light_switch{pixel_x = -36; pixel_y = 0},/turf/simulated/floor/wood,/area/medical/psych) +"bnP" = (/obj/machinery/camera/network/medbay{c_tag = "MED - Mental Health"; dir = 2},/obj/structure/table/woodentable,/obj/item/device/flashlight/lamp/green,/turf/simulated/floor/carpet/blue,/area/medical/psych) +"bnQ" = (/obj/machinery/light{dir = 1},/turf/simulated/floor/carpet/blue,/area/medical/psych) +"bnR" = (/obj/structure/bookcase,/turf/simulated/floor/carpet/blue,/area/medical/psych) +"bnS" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/door/firedoor/glass,/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/door/airlock/medical{id_tag = "mentaldoor"; name = "Mental Health"; req_access = list(64)},/turf/simulated/floor/tiled/white,/area/medical/psych) +"bnT" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10},/obj/structure/disposalpipe/segment{dir = 2; icon_state = "pipe-c"},/turf/simulated/floor/wood,/area/medical/psych) "bnU" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/machinery/door/firedoor/border_only,/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating,/area/medical/virology) "bnV" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/machinery/door/firedoor/border_only,/turf/simulated/floor/plating,/area/medical/virology) "bnW" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/obj/machinery/door/firedoor/border_only,/turf/simulated/floor/plating,/area/medical/virology) @@ -3514,12 +3514,12 @@ "bpD" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled/white,/area/medical/sleeper) "bpE" = (/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled/white,/area/medical/sleeper) "bpF" = (/obj/machinery/atmospherics/pipe/manifold4w/hidden/supply,/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers,/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/cable/green{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/structure/disposalpipe/junction{dir = 8},/turf/simulated/floor/tiled/white,/area/medical/sleeper) -"bpG" = (/obj/machinery/door/airlock/glass_medical{id_tag = "GeneticsDoor"; name = "Cloning Laboratory"; req_access = list(66)},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/door/firedoor/glass,/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled/white,/area/medical/genetics_cloning) -"bpH" = (/obj/structure/cable/green{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled/white,/area/medical/genetics_cloning) -"bpI" = (/obj/effect/landmark/start{name = "Geneticist"},/obj/effect/floor_decal/corner/mauve{dir = 6},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10},/obj/structure/disposalpipe/segment{dir = 2; icon_state = "pipe-c"},/turf/simulated/floor/tiled/white,/area/medical/genetics_cloning) -"bpJ" = (/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/tiled,/area/medical/genetics_cloning) -"bpK" = (/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/tiled,/area/medical/genetics_cloning) -"bpL" = (/obj/structure/window/reinforced,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/tiled,/area/medical/genetics_cloning) +"bpG" = (/obj/structure/cable/green{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/wood,/area/medical/psych) +"bpH" = (/obj/structure/bed/chair/comfy/brown{dir = 4},/turf/simulated/floor/carpet/blue,/area/medical/psych) +"bpI" = (/obj/effect/landmark/start{name = "Psychiatrist"},/obj/structure/bed/chair/office/dark{dir = 8},/turf/simulated/floor/carpet/blue,/area/medical/psych) +"bpJ" = (/obj/machinery/camera/network/medbay{c_tag = "MED - Diagnostics Starboard"; dir = 1},/obj/effect/floor_decal/corner/paleblue{dir = 8},/turf/simulated/floor/tiled/white,/area/medical/sleeper) +"bpK" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/turf/simulated/floor/wood,/area/medical/psych) +"bpL" = (/obj/structure/table/woodentable,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/carpet/blue,/area/medical/psych) "bpM" = (/obj/machinery/atmospherics/unary/vent_pump/on,/turf/simulated/floor/tiled/white,/area/medical/virology) "bpN" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/black,/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled/white,/area/medical/virology) "bpO" = (/obj/machinery/disease2/isolator,/obj/effect/floor_decal/corner/lime{dir = 4},/turf/simulated/floor/tiled/white,/area/medical/virology) @@ -3573,15 +3573,15 @@ "bqK" = (/obj/machinery/door/firedoor/glass,/obj/effect/floor_decal/corner/paleblue{dir = 2},/turf/simulated/floor/tiled/white,/area/medical/sleeper) "bqL" = (/obj/effect/floor_decal/corner/paleblue{dir = 10},/turf/simulated/floor/tiled/white,/area/medical/sleeper) "bqM" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/obj/effect/floor_decal/corner/paleblue{dir = 10},/turf/simulated/floor/tiled/white,/area/medical/sleeper) -"bqN" = (/obj/machinery/camera/network/medbay{c_tag = "MED - Diagnostics Starboard"; dir = 1},/turf/simulated/floor/tiled/white,/area/medical/sleeper) +"bqN" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/carpet/blue,/area/medical/psych) "bqO" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/turf/simulated/floor/tiled/white,/area/medical/sleeper) "bqP" = (/obj/effect/floor_decal/corner/paleblue{dir = 2},/obj/machinery/light,/obj/machinery/vending/fitness,/turf/simulated/floor/tiled/white,/area/medical/sleeper) "bqQ" = (/obj/machinery/vending/medical,/obj/effect/floor_decal/corner/paleblue{dir = 10},/turf/simulated/floor/tiled/white,/area/medical/sleeper) -"bqR" = (/obj/effect/floor_decal/corner/mauve{dir = 8},/obj/machinery/button/remote/airlock{desc = "A remote control switch for the medbay foyer."; id = "GeneticsDoor"; name = "Door Control"; pixel_x = -26; pixel_y = 0},/turf/simulated/floor/tiled/white,/area/medical/genetics_cloning) -"bqS" = (/obj/effect/floor_decal/corner/mauve{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/disposalpipe/segment{dir = 1; icon_state = "pipe-c"},/turf/simulated/floor/tiled/white,/area/medical/genetics_cloning) -"bqT" = (/obj/effect/floor_decal/corner/mauve{dir = 5},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled/white,/area/medical/genetics_cloning) -"bqU" = (/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled/white,/area/medical/genetics_cloning) -"bqV" = (/obj/effect/floor_decal/corner/mauve/full{dir = 1},/obj/machinery/firealarm{dir = 4; pixel_x = 24},/obj/structure/disposalpipe/trunk{dir = 8},/obj/machinery/disposal,/turf/simulated/floor/tiled/white,/area/medical/genetics_cloning) +"bqR" = (/obj/machinery/firealarm{dir = 4; pixel_x = 24},/obj/machinery/light{dir = 4; icon_state = "tube1"; pixel_x = 0},/turf/simulated/floor/carpet/blue,/area/medical/psych) +"bqS" = (/obj/structure/table/woodentable,/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/obj/machinery/computer/med_data/laptop,/turf/simulated/floor/carpet/blue,/area/medical/psych) +"bqT" = (/obj/effect/floor_decal/corner/paleblue{dir = 2},/obj/structure/disposalpipe/segment,/obj/structure/sink{dir = 4; icon_state = "sink"; pixel_x = 11; pixel_y = 0},/obj/effect/floor_decal/corner/paleblue,/turf/simulated/floor/tiled/white,/area/medical/sleeper) +"bqU" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/disposalpipe/segment,/turf/simulated/floor/carpet/blue,/area/medical/psych) +"bqV" = (/obj/item/device/radio/intercom{broadcasting = 0; canhear_range = 5; dir = 8; frequency = 1487; icon_state = "intercom"; listening = 0; name = "Station Intercom (Medbay)"; pixel_x = -21; pixel_y = 0},/obj/structure/bed/chair/comfy/brown{dir = 4},/turf/simulated/floor/carpet/blue,/area/medical/psych) "bqW" = (/obj/structure/table/standard,/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22},/obj/effect/floor_decal/corner/lime{dir = 9},/obj/machinery/light,/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/turf/simulated/floor/tiled/white,/area/medical/virology) "bqX" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/obj/machinery/atmospherics/pipe/simple/hidden/black{dir = 4},/turf/simulated/floor/tiled/white,/area/medical/virology) "bqY" = (/obj/machinery/door/window/westright{name = "Virology Isolation Room One"; req_access = list(39)},/obj/machinery/door/firedoor/glass,/obj/effect/floor_decal/corner/lime{dir = 9},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/black{dir = 4},/turf/simulated/floor/tiled/white,/area/medical/virology) @@ -3660,18 +3660,18 @@ "bst" = (/obj/machinery/bodyscanner{dir = 8},/turf/simulated/floor/tiled/white,/area/medical/sleeper) "bsu" = (/obj/machinery/body_scanconsole,/turf/simulated/floor/tiled/white,/area/medical/sleeper) "bsv" = (/obj/effect/floor_decal/corner/pink{dir = 9},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled/white,/area/medical/sleeper) -"bsw" = (/obj/effect/floor_decal/corner/paleblue{dir = 2},/obj/structure/disposalpipe/segment,/obj/structure/sink{dir = 4; icon_state = "sink"; pixel_x = 11; pixel_y = 0},/turf/simulated/floor/tiled/white,/area/medical/sleeper) +"bsw" = (/obj/machinery/hologram/holopad,/turf/simulated/floor/carpet/blue,/area/medical/psych) "bsx" = (/turf/simulated/wall,/area/crew_quarters/heads/cmo) "bsy" = (/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/obj/structure/grille,/obj/machinery/door/blast/shutters{density = 0; dir = 1; icon_state = "shutter0"; id = "cmooffice"; name = "CMO Office Privacy Shutters"; opacity = 0},/turf/simulated/floor/plating,/area/crew_quarters/heads/cmo) "bsz" = (/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/structure/grille,/obj/machinery/door/blast/shutters{density = 0; dir = 1; icon_state = "shutter0"; id = "cmooffice"; name = "CMO Office Privacy Shutters"; opacity = 0},/turf/simulated/floor/plating,/area/crew_quarters/heads/cmo) "bsA" = (/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/machinery/door/blast/shutters{density = 0; dir = 1; icon_state = "shutter0"; id = "cmooffice"; name = "CMO Office Privacy Shutters"; opacity = 0},/turf/simulated/floor/plating,/area/crew_quarters/heads/cmo) "bsB" = (/obj/machinery/door/airlock/command{id_tag = null; name = "CMO's Office"; req_access = list(40)},/obj/machinery/door/firedoor/border_only,/turf/simulated/floor/tiled/white,/area/crew_quarters/heads/cmo) -"bsC" = (/obj/effect/floor_decal/corner/mauve{dir = 9},/obj/machinery/atmospherics/unary/vent_pump/on{dir = 4},/obj/item/device/radio/intercom{broadcasting = 0; canhear_range = 5; dir = 8; frequency = 1487; icon_state = "intercom"; listening = 0; name = "Station Intercom (Medbay)"; pixel_x = -21; pixel_y = 0},/turf/simulated/floor/tiled/white,/area/medical/genetics_cloning) -"bsD" = (/obj/structure/bed/chair/office/dark,/obj/effect/landmark/start{name = "Geneticist"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9; pixel_y = 0},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/turf/simulated/floor/tiled/white,/area/medical/genetics_cloning) -"bsE" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled/white,/area/medical/genetics_cloning) -"bsF" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/hologram/holopad,/turf/simulated/floor/tiled/white,/area/medical/genetics_cloning) -"bsG" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/turf/simulated/floor/tiled/white,/area/medical/genetics_cloning) -"bsH" = (/obj/effect/floor_decal/corner/mauve{dir = 6},/obj/machinery/light{dir = 4; icon_state = "tube1"; pixel_x = 0},/turf/simulated/floor/tiled/white,/area/medical/genetics_cloning) +"bsC" = (/obj/structure/disposalpipe/segment{dir = 1; icon_state = "pipe-c"},/obj/structure/bed/psych,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9},/turf/simulated/floor/carpet/blue,/area/medical/psych) +"bsD" = (/obj/structure/table/woodentable,/obj/item/weapon/paper_bin,/obj/item/weapon/pen,/obj/item/toy/therapy_blue,/obj/machinery/atmospherics/unary/vent_pump/on{dir = 4},/turf/simulated/floor/carpet/blue,/area/medical/psych) +"bsE" = (/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/carpet/blue,/area/medical/psych) +"bsF" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/light,/turf/simulated/floor/carpet/blue,/area/medical/psych) +"bsG" = (/obj/machinery/alarm{dir = 1; pixel_y = -25},/obj/structure/disposalpipe/trunk{dir = 8},/obj/machinery/disposal,/turf/simulated/floor/carpet/blue,/area/medical/psych) +"bsH" = (/obj/machinery/door/firedoor,/obj/machinery/door/airlock/medical{id_tag = "mentaldoor"; name = "Mental Health"; req_access = list(64)},/turf/simulated/floor/tiled,/area/medical/psych) "bsI" = (/obj/item/roller,/obj/effect/floor_decal/corner/lime{dir = 6},/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = -21},/turf/simulated/floor/tiled/white,/area/medical/virology) "bsJ" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled/white,/area/medical/virology) "bsK" = (/obj/structure/table/glass,/obj/item/weapon/storage/fancy/vials,/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 24},/obj/effect/floor_decal/corner/lime/full{dir = 4},/turf/simulated/floor/tiled/white,/area/medical/virology) @@ -3752,12 +3752,12 @@ "buh" = (/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled/white,/area/crew_quarters/heads/cmo) "bui" = (/obj/effect/floor_decal/corner/paleblue{dir = 4},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled/white,/area/crew_quarters/heads/cmo) "buj" = (/obj/machinery/disposal,/obj/structure/disposalpipe/trunk{dir = 8},/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 24},/obj/effect/floor_decal/corner/paleblue/full{dir = 1},/turf/simulated/floor/tiled/white,/area/crew_quarters/heads/cmo) -"buk" = (/obj/machinery/clonepod{biomass = 600},/obj/effect/floor_decal/corner/mauve/full,/turf/simulated/floor/tiled/white,/area/medical/genetics_cloning) -"bul" = (/obj/machinery/computer/cloning,/obj/effect/floor_decal/corner/mauve{dir = 10},/obj/machinery/light,/turf/simulated/floor/tiled/white,/area/medical/genetics_cloning) -"bum" = (/obj/machinery/dna_scannernew,/obj/effect/floor_decal/corner/mauve{dir = 8},/turf/simulated/floor/tiled/white,/area/medical/genetics_cloning) -"bun" = (/turf/simulated/floor/tiled/white,/area/medical/genetics_cloning) -"buo" = (/obj/structure/closet/wardrobe/genetics_white,/obj/effect/floor_decal/corner/mauve,/turf/simulated/floor/tiled/white,/area/medical/genetics_cloning) -"bup" = (/obj/structure/closet/wardrobe/medic_white,/obj/effect/floor_decal/corner/mauve/full{dir = 4},/obj/machinery/alarm{dir = 1; pixel_y = -25},/turf/simulated/floor/tiled/white,/area/medical/genetics_cloning) +"buk" = (/obj/item/weapon/stool/padded,/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/obj/item/weapon/storage/box/backup_kit,/turf/simulated/floor/tiled/white,/area/medical/reception) +"bul" = (/obj/structure/table/steel,/turf/simulated/floor/tiled,/area/medical/morgue) +"bum" = (/obj/machinery/light/small{dir = 1},/turf/simulated/floor/tiled,/area/medical/morgue) +"bun" = (/obj/structure/closet/secure_closet{name = "Psychiatrist's Locker"; req_access = list(64)},/obj/item/clothing/suit/straight_jacket{layer = 3},/obj/item/weapon/reagent_containers/glass/bottle/stoxin,/obj/item/weapon/reagent_containers/pill/methylphenidate,/obj/item/weapon/reagent_containers/pill/citalopram,/obj/item/weapon/reagent_containers/pill/citalopram,/obj/item/weapon/reagent_containers/pill/methylphenidate,/obj/item/weapon/reagent_containers/syringe,/turf/simulated/floor/tiled,/area/medical/morgue) +"buo" = (/obj/machinery/door/firedoor,/obj/machinery/door/airlock/medical{name = "Morgue"; req_access = list(6)},/turf/simulated/floor/tiled,/area/medical/morgue) +"bup" = (/obj/structure/table/standard,/obj/item/weapon/packageWrap,/obj/item/weapon/hand_labeler,/obj/effect/floor_decal/corner/paleblue{dir = 8},/obj/item/weapon/storage/box/backup_kit,/turf/simulated/floor/tiled/white,/area/medical/medbay_primary_storage) "buq" = (/obj/structure/table/glass,/obj/item/weapon/folder/white,/obj/item/weapon/hand_labeler,/obj/effect/floor_decal/corner/lime/full,/obj/structure/extinguisher_cabinet{pixel_x = -27},/turf/simulated/floor/tiled/white,/area/medical/virology) "bur" = (/obj/structure/table/glass,/obj/item/weapon/paper_bin{pixel_x = 1; pixel_y = 8},/obj/item/device/radio{anchored = 1; broadcasting = 0; canhear_range = 7; frequency = 1487; icon = 'icons/obj/items.dmi'; icon_state = "red_phone"; listening = 1; name = "Virology Emergency Phone"; pixel_x = -6; pixel_y = 8},/obj/item/weapon/reagent_containers/spray/cleaner,/obj/effect/floor_decal/corner/lime{dir = 10},/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled/white,/area/medical/virology) "bus" = (/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = -21},/obj/effect/floor_decal/corner/lime{dir = 8},/obj/machinery/light,/turf/simulated/floor/tiled/white,/area/medical/virology) @@ -3820,7 +3820,7 @@ "bvx" = (/obj/structure/table/reinforced,/obj/machinery/computer/skills{pixel_y = 4},/turf/simulated/floor/tiled/white,/area/crew_quarters/heads/cmo) "bvy" = (/turf/simulated/floor/tiled/white,/area/crew_quarters/heads/cmo) "bvz" = (/obj/structure/closet/secure_closet/CMO,/obj/effect/floor_decal/corner/paleblue{dir = 6},/obj/item/device/radio/intercom{dir = 4; name = "Station Intercom (General)"; pixel_x = 21},/obj/item/clothing/glasses/sunglasses/omnihud/cmo,/turf/simulated/floor/tiled/white,/area/crew_quarters/heads/cmo) -"bvA" = (/obj/machinery/door/airlock/medical{name = "Morgue"; req_access = list(6,5)},/obj/machinery/door/firedoor,/turf/simulated/floor/tiled,/area/medical/genetics_cloning) +"bvA" = (/obj/structure/table/steel,/obj/item/weapon/autopsy_scanner,/obj/item/weapon/surgical/scalpel,/obj/machinery/light{dir = 1},/obj/item/weapon/surgical/cautery,/obj/effect/floor_decal/corner/paleblue{dir = 5},/turf/simulated/floor/tiled,/area/medical/morgue) "bvB" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/machinery/door/firedoor/border_only,/turf/simulated/floor/plating,/area/medical/virology) "bvC" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/machinery/door/firedoor/border_only,/obj/structure/disposalpipe/segment,/turf/simulated/floor/plating,/area/medical/virology) "bvD" = (/obj/machinery/door/airlock/glass_medical{name = "Virology Laboratory"; req_access = list(39)},/obj/machinery/door/firedoor/glass,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/black,/turf/simulated/floor/tiled/white,/area/medical/virology) @@ -3871,7 +3871,7 @@ "bww" = (/obj/effect/floor_decal/corner/paleblue{dir = 6},/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/tiled/white,/area/medical/reception) "bwx" = (/obj/structure/table/standard,/obj/structure/window/reinforced{dir = 8},/obj/machinery/button/remote/blast_door{id = "medbayrecquar"; name = "Medbay Entrance Quarantine Shutters Control"; pixel_x = -4; pixel_y = -4; req_access = list(5)},/obj/machinery/button/remote/airlock{desc = "A remote control switch for the medbay foyer."; id = "MedbayFoyer"; name = "Medbay Doors Control"; pixel_x = -4; pixel_y = 6},/obj/machinery/button/remote/airlock{desc = "A remote control switch for the medbay foyer."; id = "surgery_observation"; name = "Surgery Door Access"; pixel_x = 8; pixel_y = 0; specialfunctions = 4},/obj/effect/floor_decal/corner/paleblue{dir = 9},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/tiled/white,/area/medical/reception) "bwy" = (/obj/machinery/computer/crew,/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/tiled/white,/area/medical/reception) -"bwz" = (/obj/item/weapon/stool/padded,/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/turf/simulated/floor/tiled/white,/area/medical/reception) +"bwz" = (/obj/effect/floor_decal/corner/paleblue/full{dir = 8},/obj/structure/disposalpipe/trunk,/obj/machinery/disposal,/turf/simulated/floor/tiled,/area/medical/morgue) "bwA" = (/obj/structure/cable/green{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled/white,/area/medical/reception) "bwB" = (/obj/machinery/door/airlock/glass_medical{name = "Medbay Equipment"; req_access = list(5)},/obj/machinery/door/firedoor/glass,/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled/white,/area/medical/medbay_primary_storage) "bwC" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled/white,/area/medical/medbay_primary_storage) @@ -3894,12 +3894,12 @@ "bwT" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/tiled/white,/area/crew_quarters/heads/cmo) "bwU" = (/obj/structure/table/reinforced,/obj/machinery/power/apc{dir = 4; name = "east bump"; pixel_x = 24},/obj/item/device/radio{frequency = 1487; name = "Medbay Emergency Radio Link"},/obj/item/device/megaphone,/obj/effect/floor_decal/corner/paleblue{dir = 6},/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/turf/simulated/floor/tiled/white,/area/crew_quarters/heads/cmo) "bwV" = (/turf/simulated/wall,/area/medical/morgue) -"bwW" = (/obj/structure/table/steel,/obj/item/weapon/autopsy_scanner,/obj/item/weapon/surgical/scalpel,/obj/effect/floor_decal/corner/paleblue/full{dir = 8},/obj/machinery/light{dir = 1},/obj/item/weapon/surgical/cautery,/turf/simulated/floor/tiled,/area/medical/morgue) +"bwW" = (/obj/effect/floor_decal/corner/paleblue{dir = 5},/turf/simulated/floor/tiled,/area/medical/morgue) "bwX" = (/obj/structure/table/steel,/obj/item/device/camera{name = "Autopsy Camera"; pixel_x = -2; pixel_y = 7},/obj/item/weapon/paper_bin{pixel_y = -6},/obj/item/weapon/pen/red{pixel_x = -1; pixel_y = -9},/obj/item/weapon/pen/blue{pixel_x = 3; pixel_y = -5},/obj/effect/floor_decal/corner/paleblue{dir = 5},/obj/item/device/radio/intercom{broadcasting = 0; canhear_range = 5; dir = 1; frequency = 1487; icon_state = "intercom"; listening = 0; name = "Station Intercom (Medbay)"; pixel_x = 0; pixel_y = 21},/turf/simulated/floor/tiled,/area/medical/morgue) -"bwY" = (/obj/machinery/disposal,/obj/effect/floor_decal/corner/paleblue{dir = 1},/obj/structure/disposalpipe/trunk,/turf/simulated/floor/tiled,/area/medical/morgue) +"bwY" = (/obj/effect/floor_decal/corner/paleblue/full{dir = 1},/obj/structure/morgue{tag = "icon-morgue1 (WEST)"; icon_state = "morgue1"; dir = 8},/turf/simulated/floor/tiled,/area/medical/morgue) "bwZ" = (/turf/simulated/floor/tiled,/area/medical/morgue) -"bxa" = (/obj/effect/floor_decal/corner/paleblue{dir = 4},/obj/structure/extinguisher_cabinet{pixel_x = -5; pixel_y = 30},/obj/machinery/light{dir = 1},/turf/simulated/floor/tiled,/area/medical/morgue) -"bxb" = (/obj/structure/morgue{tag = "icon-morgue1 (WEST)"; icon_state = "morgue1"; dir = 8},/obj/effect/floor_decal/corner/paleblue/full{dir = 1},/turf/simulated/floor/tiled,/area/medical/morgue) +"bxa" = (/obj/effect/floor_decal/corner/paleblue{dir = 5},/obj/structure/extinguisher_cabinet{pixel_x = -5; pixel_y = 30},/turf/simulated/floor/tiled,/area/medical/morgue) +"bxb" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled,/area/medical/morgue) "bxc" = (/obj/structure/closet/l3closet/virology,/obj/item/clothing/mask/gas,/obj/effect/floor_decal/corner/lime{dir = 5},/turf/simulated/floor/tiled/white,/area/medical/virology) "bxd" = (/obj/effect/floor_decal/corner/lime{dir = 5},/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled/white,/area/medical/virology) "bxe" = (/obj/effect/floor_decal/corner/lime{dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden/black{dir = 4},/turf/simulated/floor/tiled/white,/area/medical/virology) @@ -3986,9 +3986,9 @@ "byH" = (/obj/structure/table/reinforced,/obj/machinery/computer/med_data/laptop{pixel_x = 3; pixel_y = 4},/turf/simulated/floor/tiled/white,/area/crew_quarters/heads/cmo) "byI" = (/obj/effect/floor_decal/corner/paleblue{dir = 2},/turf/simulated/floor/tiled/white,/area/crew_quarters/heads/cmo) "byJ" = (/obj/structure/table/rack,/obj/item/weapon/storage/belt/medical,/obj/item/clothing/accessory/stethoscope,/obj/item/clothing/glasses/hud/health,/obj/machinery/requests_console{announcementConsole = 1; department = "Chief Medical Officer's Desk"; departmentType = 5; name = "Chief Medical Officer RC"; pixel_x = 32; pixel_y = -2},/obj/machinery/firealarm{dir = 1; pixel_x = 0; pixel_y = -26},/obj/effect/floor_decal/corner/paleblue/full{dir = 4},/turf/simulated/floor/tiled/white,/area/crew_quarters/heads/cmo) -"byK" = (/obj/effect/floor_decal/corner/paleblue{dir = 9},/obj/structure/disposalpipe/segment{dir = 4; icon_state = "pipe-c"},/turf/simulated/floor/tiled,/area/medical/morgue) -"byL" = (/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled,/area/medical/morgue) -"byM" = (/obj/machinery/atmospherics/unary/vent_pump/on,/obj/structure/disposalpipe/segment{dir = 8; icon_state = "pipe-c"},/turf/simulated/floor/tiled,/area/medical/morgue) +"byK" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/obj/effect/floor_decal/corner/paleblue{dir = 1},/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled,/area/medical/morgue) +"byL" = (/obj/effect/floor_decal/corner/paleblue{dir = 6},/obj/structure/morgue{tag = "icon-morgue1 (WEST)"; icon_state = "morgue1"; dir = 8},/turf/simulated/floor/tiled,/area/medical/morgue) +"byM" = (/obj/effect/floor_decal/corner/paleblue{dir = 1},/turf/simulated/floor/tiled/white,/area/medical/sleeper) "byN" = (/obj/structure/morgue{tag = "icon-morgue1 (WEST)"; icon_state = "morgue1"; dir = 8},/obj/effect/floor_decal/corner/paleblue{dir = 6},/turf/simulated/floor/tiled,/area/medical/morgue) "byO" = (/obj/effect/decal/cleanable/dirt,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor,/area/maintenance/medbay_fore) "byP" = (/obj/effect/floor_decal/corner/lime{dir = 10},/obj/structure/disposalpipe/segment{dir = 1; icon_state = "pipe-c"},/obj/structure/sink{icon_state = "sink"; dir = 8; pixel_x = -12; pixel_y = 2},/turf/simulated/floor/tiled/white,/area/medical/virology) @@ -4081,7 +4081,7 @@ "bAy" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/turf/simulated/floor/tiled/white,/area/medical/reception) "bAz" = (/obj/effect/floor_decal/corner/paleblue{dir = 4},/obj/machinery/light{dir = 4; icon_state = "tube1"; pixel_x = 0},/turf/simulated/floor/tiled/white,/area/medical/reception) "bAA" = (/obj/structure/table/standard,/obj/item/weapon/reagent_containers/glass/bottle/stoxin{pixel_x = -6; pixel_y = 10},/obj/item/weapon/reagent_containers/glass/bottle/antitoxin{pixel_x = 5; pixel_y = 5},/obj/item/weapon/reagent_containers/glass/bottle/inaprovaline{pixel_x = 1},/obj/random/medical,/obj/effect/floor_decal/corner/paleblue/full,/obj/machinery/light{dir = 8},/obj/item/weapon/storage/firstaid/regular{pixel_x = 5; pixel_y = 5},/obj/item/weapon/storage/firstaid/regular,/turf/simulated/floor/tiled/white,/area/medical/medbay_primary_storage) -"bAB" = (/obj/structure/table/standard,/obj/item/weapon/packageWrap,/obj/item/weapon/hand_labeler,/obj/effect/floor_decal/corner/paleblue{dir = 8},/turf/simulated/floor/tiled/white,/area/medical/medbay_primary_storage) +"bAB" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled,/area/medical/morgue) "bAC" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled/white,/area/medical/medbay_primary_storage) "bAD" = (/obj/structure/table/rack,/obj/item/device/radio{frequency = 1487; icon_state = "med_walkietalkie"; name = "Medbay Emergency Radio Link"; pixel_x = 2; pixel_y = 2},/obj/item/device/radio{frequency = 1487; icon_state = "med_walkietalkie"; name = "Medbay Emergency Radio Link"},/obj/item/device/radio{frequency = 1487; icon_state = "med_walkietalkie"; name = "Medbay Emergency Radio Link"},/obj/effect/floor_decal/corner/paleblue{dir = 10},/turf/simulated/floor/tiled/white,/area/medical/medbay_primary_storage) "bAE" = (/obj/structure/table/standard,/obj/item/weapon/storage/toolbox/emergency,/obj/item/bodybag/cryobag,/obj/item/bodybag/cryobag,/obj/item/bodybag/cryobag,/obj/effect/floor_decal/corner/paleblue{dir = 10},/turf/simulated/floor/tiled/white,/area/medical/medbay_primary_storage) @@ -4098,9 +4098,9 @@ "bAP" = (/obj/structure/table/reinforced,/obj/machinery/photocopier/faxmachine{department = "CMO's Office"},/obj/effect/floor_decal/corner/paleblue{dir = 10},/obj/machinery/light,/obj/machinery/camera/network/medbay{c_tag = "MED - CMO"; dir = 1},/turf/simulated/floor/tiled/white,/area/crew_quarters/heads/cmo) "bAQ" = (/obj/machinery/keycard_auth{pixel_x = 0; pixel_y = -24},/obj/machinery/light_switch{pixel_x = -10; pixel_y = -23},/obj/effect/floor_decal/corner/paleblue{dir = 10},/turf/simulated/floor/tiled/white,/area/crew_quarters/heads/cmo) "bAR" = (/obj/machinery/computer/crew,/obj/effect/floor_decal/corner/paleblue/full{dir = 4},/obj/item/device/radio/intercom{broadcasting = 0; canhear_range = 5; dir = 2; frequency = 1487; icon_state = "intercom"; listening = 0; name = "Station Intercom (Medbay)"; pixel_x = 0; pixel_y = -21},/turf/simulated/floor/tiled/white,/area/crew_quarters/heads/cmo) -"bAS" = (/obj/effect/floor_decal/corner/paleblue{dir = 9},/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled,/area/medical/morgue) +"bAS" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 1},/turf/simulated/floor/tiled/white,/area/medical/sleeper) "bAT" = (/obj/machinery/optable,/turf/simulated/floor/tiled,/area/medical/morgue) -"bAU" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/tiled,/area/medical/morgue) +"bAU" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10},/obj/structure/sink{dir = 4; icon_state = "sink"; pixel_x = 11; pixel_y = 0},/turf/simulated/floor/tiled/white,/area/medical/sleeper) "bAV" = (/obj/machinery/hologram/holopad,/turf/simulated/floor/tiled,/area/medical/morgue) "bAW" = (/obj/machinery/door/airlock/medical{autoclose = 0; frequency = 1379; icon_state = "door_locked"; id_tag = "virology_airlock_interior"; locked = 1; name = "Virology Interior Airlock"; req_access = list(39)},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/black,/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled/white,/area/medical/virology) "bAX" = (/obj/machinery/atmospherics/pipe/simple/hidden/yellow,/turf/simulated/wall/r_wall,/area/medical/virology) @@ -4194,9 +4194,9 @@ "bCH" = (/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/obj/structure/grille,/obj/machinery/door/blast/shutters{density = 0; dir = 2; icon_state = "shutter0"; id = "cmooffice"; name = "CMO Office Privacy Shutters"; opacity = 0},/turf/simulated/floor/plating,/area/crew_quarters/heads/cmo) "bCI" = (/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/structure/grille,/obj/machinery/door/blast/shutters{density = 0; dir = 2; icon_state = "shutter0"; id = "cmooffice"; name = "CMO Office Privacy Shutters"; opacity = 0},/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor/plating,/area/crew_quarters/heads/cmo) "bCJ" = (/obj/machinery/power/apc{dir = 1; name = "north bump"; pixel_x = 0; pixel_y = 24},/obj/structure/cable/green{d2 = 2; icon_state = "0-2"},/obj/effect/floor_decal/corner/paleblue/full{dir = 8},/obj/structure/sink{icon_state = "sink"; dir = 8; pixel_x = -12; pixel_y = 2},/turf/simulated/floor/tiled,/area/medical/morgue) -"bCK" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/obj/effect/floor_decal/corner/paleblue{dir = 1},/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled,/area/medical/morgue) -"bCL" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/tiled,/area/medical/morgue) -"bCM" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9; pixel_y = 0},/turf/simulated/floor/tiled,/area/medical/morgue) +"bCK" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/turf/simulated/floor/tiled,/area/medical/morgue) +"bCL" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/turf/simulated/floor/tiled,/area/medical/morgue) +"bCM" = (/obj/effect/floor_decal/corner/paleblue,/obj/machinery/light,/turf/simulated/floor/tiled/white,/area/medical/sleeper) "bCN" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10},/turf/simulated/floor/tiled,/area/medical/morgue) "bCO" = (/obj/effect/floor_decal/industrial/warning{dir = 5},/obj/structure/closet/wardrobe/virology_white,/obj/machinery/access_button{command = "cycle_interior"; frequency = 1379; master_tag = "virology_airlock_control"; name = "Virology Access Button"; pixel_x = 8; pixel_y = 28; req_access = list(39)},/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22},/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/turf/simulated/floor/tiled/white,/area/medical/virology) "bCP" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/black{dir = 9},/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled/white,/area/medical/virology) @@ -4280,15 +4280,15 @@ "bEp" = (/obj/effect/floor_decal/corner/paleblue{dir = 5},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/tiled/white,/area/medical/sleeper) "bEq" = (/obj/effect/floor_decal/corner/paleblue{dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/tiled/white,/area/medical/sleeper) "bEr" = (/obj/structure/cable/green{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/tiled/white,/area/medical/sleeper) -"bEs" = (/obj/machinery/door/firedoor/glass,/obj/effect/floor_decal/industrial/warning{dir = 4},/turf/simulated/floor/tiled/white,/area/medical/sleeper) -"bEt" = (/obj/machinery/portable_atmospherics/canister/oxygen,/obj/machinery/atmospherics/portables_connector,/obj/effect/floor_decal/industrial/hatch/yellow,/turf/simulated/floor/tiled,/area/medical/sleeper) -"bEu" = (/obj/machinery/atmospherics/unary/freezer{dir = 2; icon_state = "freezer"},/obj/effect/floor_decal/industrial/outline/yellow,/turf/simulated/floor/tiled,/area/medical/sleeper) -"bEv" = (/obj/machinery/atmospherics/unary/cryo_cell,/obj/effect/floor_decal/industrial/outline/yellow,/turf/simulated/floor/tiled,/area/medical/sleeper) +"bEs" = (/obj/machinery/power/apc{dir = 2; name = "south bump"; pixel_y = -24},/obj/effect/floor_decal/corner/paleblue{dir = 10},/turf/simulated/floor/tiled/white,/area/medical/sleeper) +"bEt" = (/obj/structure/cable/green{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/effect/floor_decal/corner/paleblue{dir = 10},/obj/structure/sign/goldenplaque{desc = "Done No Harm."; name = "Best Doctor 2552"; pixel_y = -32},/turf/simulated/floor/tiled/white,/area/medical/sleeper) +"bEu" = (/turf/simulated/wall,/area/medical/resleeving) +"bEv" = (/obj/structure/grille,/obj/machinery/door/blast/shutters{density = 0; dir = 2; icon_state = "shutter0"; id = "psych"; name = "Mental Health Privacy Shutters"; opacity = 0},/obj/machinery/door/firedoor/border_only,/obj/structure/window/reinforced/polarized{dir = 1; id = "resleeve_tint"},/obj/structure/window/reinforced/polarized{id = "resleeve_tint"},/obj/structure/window/reinforced/polarized{dir = 4; id = "resleeve_tint"},/turf/simulated/floor/plating,/area/medical/resleeving) "bEw" = (/obj/structure/table/steel,/obj/item/weapon/storage/box/bodybags,/obj/effect/floor_decal/corner/paleblue/full{dir = 8},/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22},/obj/item/weapon/storage/box/bodybags,/turf/simulated/floor/tiled,/area/medical/morgue) "bEx" = (/obj/structure/table/steel,/obj/item/weapon/paper_bin,/obj/item/weapon/pen/blue{pixel_x = 3; pixel_y = -5},/obj/item/weapon/pen/red{pixel_x = -1; pixel_y = -9},/obj/effect/floor_decal/corner/paleblue{dir = 5},/obj/item/device/radio/intercom{dir = 1; name = "Station Intercom (General)"; pixel_y = 21},/turf/simulated/floor/tiled,/area/medical/morgue) "bEy" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/effect/floor_decal/corner/paleblue{dir = 1},/turf/simulated/floor/tiled,/area/medical/morgue) -"bEz" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled,/area/medical/morgue) -"bEA" = (/obj/structure/morgue{tag = "icon-morgue1 (WEST)"; icon_state = "morgue1"; dir = 8},/turf/simulated/floor/tiled,/area/medical/morgue) +"bEz" = (/obj/structure/grille,/obj/machinery/door/blast/shutters{density = 0; dir = 2; icon_state = "shutter0"; id = "psych"; name = "Mental Health Privacy Shutters"; opacity = 0},/obj/structure/window/reinforced/polarized{id = "resleeve_tint"},/obj/structure/window/reinforced/polarized{dir = 8; id = "resleeve_tint"},/obj/structure/window/reinforced/polarized{dir = 1; id = "resleeve_tint"},/obj/machinery/door/firedoor/border_only,/turf/simulated/floor/plating,/area/medical/resleeving) +"bEA" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/door/firedoor/glass,/obj/machinery/door/airlock/medical{id_tag = "ResleevingDoor"; name = "Resleeving Lab"; req_access = list(5)},/turf/simulated/floor/tiled/white,/area/medical/resleeving) "bEB" = (/obj/structure/morgue,/turf/simulated/floor/tiled,/area/medical/morgue) "bEC" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled,/area/medical/morgue) "bED" = (/obj/effect/floor_decal/industrial/warning{dir = 4},/obj/structure/closet/l3closet/virology,/obj/machinery/power/apc{cell_type = /obj/item/weapon/cell/super; dir = 8; name = "west bump"; pixel_x = -24},/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/turf/simulated/floor/tiled/white,/area/medical/virology) @@ -4368,9 +4368,9 @@ "bFZ" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/tiled/white,/area/medical/sleeper) "bGa" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled/white,/area/medical/sleeper) "bGb" = (/obj/machinery/door/firedoor/glass,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/effect/floor_decal/industrial/warning/corner{icon_state = "warningcorner"; dir = 4},/turf/simulated/floor/tiled/white,/area/medical/sleeper) -"bGc" = (/obj/machinery/atmospherics/pipe/simple/visible{tag = "icon-intact (NORTHEAST)"; icon_state = "intact"; dir = 5},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 1},/obj/effect/floor_decal/industrial/warning{dir = 1},/turf/simulated/floor/tiled/white,/area/medical/sleeper) -"bGd" = (/obj/machinery/atmospherics/pipe/manifold/visible,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/effect/floor_decal/industrial/warning{dir = 1},/turf/simulated/floor/tiled/white,/area/medical/sleeper) -"bGe" = (/obj/machinery/atmospherics/pipe/simple/visible{tag = "icon-intact (NORTHWEST)"; icon_state = "intact"; dir = 9},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10},/obj/effect/floor_decal/industrial/warning{dir = 1},/obj/structure/sink{dir = 4; icon_state = "sink"; pixel_x = 11; pixel_y = 0},/turf/simulated/floor/tiled/white,/area/medical/sleeper) +"bGc" = (/obj/structure/grille,/obj/structure/window/reinforced/polarized{dir = 4; id = "resleeve_tint"},/obj/structure/window/reinforced/polarized{dir = 8; id = "resleeve_tint"},/obj/machinery/door/firedoor/border_only,/obj/structure/window/reinforced/polarized{dir = 1; id = "resleeve_tint"},/obj/structure/window/reinforced/polarized{id = "resleeve_tint"},/turf/simulated/floor/plating,/area/medical/resleeving) +"bGd" = (/obj/structure/bed/chair,/obj/effect/floor_decal/corner/paleblue{dir = 1},/turf/simulated/floor/tiled/white,/area/medical/resleeving) +"bGe" = (/obj/effect/floor_decal/corner/paleblue/full{dir = 8},/obj/structure/bed/chair,/turf/simulated/floor/tiled/white,/area/medical/resleeving) "bGf" = (/obj/structure/filingcabinet/chestdrawer{desc = "A large drawer filled with autopsy reports."; name = "Autopsy Reports"},/obj/machinery/light_switch{pixel_x = -26; pixel_y = 0},/turf/simulated/floor/tiled,/area/medical/morgue) "bGg" = (/obj/structure/bed/chair/office/dark{dir = 1},/turf/simulated/floor/tiled,/area/medical/morgue) "bGh" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/tiled,/area/medical/morgue) @@ -4444,10 +4444,10 @@ "bHx" = (/obj/machinery/door/firedoor/glass,/obj/effect/floor_decal/corner/paleblue{dir = 10},/turf/simulated/floor/tiled/white,/area/medical/sleeper) "bHy" = (/obj/effect/floor_decal/corner/paleblue{dir = 8},/turf/simulated/floor/tiled/white,/area/medical/sleeper) "bHz" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/tiled/white,/area/medical/sleeper) -"bHA" = (/obj/structure/sign/goldenplaque{desc = "Done No Harm."; name = "Best Doctor 2552"; pixel_y = -32},/obj/effect/floor_decal/corner/paleblue,/turf/simulated/floor/tiled/white,/area/medical/sleeper) +"bHA" = (/obj/effect/floor_decal/corner/paleblue{dir = 4},/obj/machinery/button/remote/airlock{desc = "A remote control switch for the medbay foyer."; id = "ResleevingDoor"; name = "Door Control"; pixel_x = 0; pixel_y = 26},/obj/structure/bed/chair,/obj/machinery/button/windowtint{id = "resleeve_tint"; pixel_x = 5; pixel_y = 35},/obj/machinery/light_switch{pixel_x = -5; pixel_y = 35},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/tiled/white,/area/medical/resleeving) "bHB" = (/obj/effect/floor_decal/corner/paleblue{dir = 10},/obj/machinery/camera/network/medbay{c_tag = "MED - Diagnostics Aft"; dir = 1},/obj/item/device/radio/intercom{broadcasting = 0; canhear_range = 5; dir = 2; frequency = 1487; icon_state = "intercom"; listening = 0; name = "Station Intercom (Medbay)"; pixel_x = 0; pixel_y = -21},/turf/simulated/floor/tiled/white,/area/medical/sleeper) -"bHC" = (/obj/machinery/power/apc{dir = 2; name = "south bump"; pixel_y = -24},/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/obj/effect/floor_decal/corner/paleblue{dir = 10},/turf/simulated/floor/tiled/white,/area/medical/sleeper) -"bHD" = (/obj/structure/cable/green{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/effect/floor_decal/corner/paleblue{dir = 10},/turf/simulated/floor/tiled/white,/area/medical/sleeper) +"bHC" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/cable/green{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/floor/tiled/white,/area/medical/resleeving) +"bHD" = (/obj/machinery/portable_atmospherics/canister/oxygen,/obj/machinery/atmospherics/portables_connector,/obj/effect/floor_decal/industrial/hatch/yellow,/turf/simulated/floor/tiled,/area/medical/resleeving) "bHE" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/effect/floor_decal/corner/paleblue{dir = 10},/obj/structure/disposalpipe/segment{dir = 1; icon_state = "pipe-c"},/turf/simulated/floor/tiled/white,/area/medical/sleeper) "bHF" = (/obj/machinery/door/firedoor/glass,/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/effect/floor_decal/corner/paleblue{dir = 8},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled/white,/area/medical/sleeper) "bHG" = (/obj/structure/cable/green{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/obj/structure/disposalpipe/junction/yjunction,/obj/structure/cable/green{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor/tiled/white,/area/medical/sleeper) @@ -4458,7 +4458,7 @@ "bHL" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/effect/floor_decal/corner/paleblue,/obj/machinery/firealarm{dir = 1; pixel_x = 0; pixel_y = -26},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled,/area/medical/morgue) "bHM" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/cable/green{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/effect/floor_decal/corner/paleblue{dir = 10},/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/light,/turf/simulated/floor/tiled,/area/medical/morgue) "bHN" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9; pixel_y = 0},/obj/effect/floor_decal/corner/paleblue{dir = 10},/obj/structure/disposalpipe/segment{dir = 8; icon_state = "pipe-c"},/turf/simulated/floor/tiled,/area/medical/morgue) -"bHO" = (/obj/structure/morgue{tag = "icon-morgue1 (WEST)"; icon_state = "morgue1"; dir = 8},/obj/effect/floor_decal/corner/paleblue{dir = 10},/turf/simulated/floor/tiled,/area/medical/morgue) +"bHO" = (/obj/effect/floor_decal/corner/paleblue{dir = 5},/obj/effect/floor_decal/industrial/warning{dir = 4},/obj/machinery/light{dir = 1},/obj/structure/bed/chair,/obj/machinery/power/apc{dir = 1; name = "north bump"; pixel_x = 0; pixel_y = 24},/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/turf/simulated/floor/tiled/white,/area/medical/resleeving) "bHP" = (/obj/structure/morgue,/obj/effect/floor_decal/corner/paleblue{dir = 10},/turf/simulated/floor/tiled,/area/medical/morgue) "bHQ" = (/obj/effect/floor_decal/corner/paleblue{dir = 10},/obj/machinery/light,/obj/machinery/camera/network/medbay{c_tag = "MED - Morgue"; dir = 1},/turf/simulated/floor/tiled,/area/medical/morgue) "bHR" = (/obj/effect/floor_decal/corner/paleblue{dir = 10},/turf/simulated/floor/tiled,/area/medical/morgue) @@ -4522,9 +4522,9 @@ "bIX" = (/obj/structure/sign/nosmoking_1,/turf/simulated/wall,/area/medical/medbay_emt_bay) "bIY" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/obj/machinery/door/firedoor/border_only,/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/plating,/area/medical/medbay_emt_bay) "bIZ" = (/turf/simulated/wall,/area/medical/psych) -"bJa" = (/obj/structure/grille,/obj/machinery/door/blast/shutters{density = 0; dir = 2; icon_state = "shutter0"; id = "psych"; name = "Mental Health Privacy Shutters"; opacity = 0},/obj/structure/window/reinforced/polarized{id = "psyco_tint"},/obj/structure/window/reinforced/polarized{dir = 8; id = "psyco_tint"},/obj/structure/window/reinforced/polarized{dir = 1; id = "psyco_tint"},/obj/machinery/door/firedoor/border_only,/turf/simulated/floor/plating,/area/medical/psych) -"bJb" = (/obj/structure/grille,/obj/machinery/door/blast/shutters{density = 0; dir = 2; icon_state = "shutter0"; id = "psych"; name = "Mental Health Privacy Shutters"; opacity = 0},/obj/structure/window/reinforced/polarized{id = "psyco_tint"},/obj/structure/window/reinforced/polarized{dir = 1; id = "psyco_tint"},/obj/structure/window/reinforced/polarized{dir = 4; id = "psyco_tint"},/obj/machinery/door/firedoor/border_only,/turf/simulated/floor/plating,/area/medical/psych) -"bJc" = (/obj/machinery/door/airlock/medical{id_tag = "mentaldoor"; name = "Mental Health"; req_access = list(64)},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/wood,/area/medical/psych) +"bJa" = (/obj/machinery/atmospherics/unary/cryo_cell,/obj/effect/floor_decal/industrial/outline/yellow,/turf/simulated/floor/tiled,/area/medical/resleeving) +"bJb" = (/obj/machinery/atmospherics/unary/freezer{dir = 2; icon_state = "freezer"},/obj/effect/floor_decal/industrial/outline/yellow,/turf/simulated/floor/tiled,/area/medical/resleeving) +"bJc" = (/obj/structure/grille,/obj/structure/window/reinforced/polarized{dir = 4; id = "resleeve_tint"},/obj/structure/window/reinforced/polarized{dir = 8; id = "resleeve_tint"},/obj/structure/window/reinforced/polarized{dir = 1; id = "resleeve_tint"},/obj/machinery/door/firedoor/border_only,/turf/simulated/floor/plating,/area/medical/resleeving) "bJd" = (/turf/simulated/wall,/area/medical/patient_a) "bJe" = (/obj/machinery/door/airlock/glass_medical{name = "Patient Ward"},/obj/machinery/door/firedoor/glass,/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled/white,/area/medical/patient_wing) "bJf" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/obj/machinery/door/firedoor/border_only,/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/plating,/area/medical/patient_wing) @@ -4599,14 +4599,14 @@ "bKw" = (/obj/effect/floor_decal/corner/pink{dir = 6},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled/white,/area/medical/medbay_emt_bay) "bKx" = (/turf/simulated/floor,/area/medical/medbay_emt_bay) "bKy" = (/obj/machinery/mech_recharger,/obj/machinery/light{dir = 1},/turf/simulated/floor/plating,/area/medical/medbay_emt_bay) -"bKz" = (/obj/structure/closet/secure_closet{name = "Psychiatrist's Locker"; req_access = list(64)},/obj/item/clothing/suit/straight_jacket{layer = 3},/obj/item/weapon/reagent_containers/glass/bottle/stoxin,/obj/item/weapon/reagent_containers/pill/methylphenidate,/obj/item/weapon/reagent_containers/pill/citalopram,/obj/item/weapon/reagent_containers/pill/citalopram,/obj/item/weapon/reagent_containers/pill/methylphenidate,/obj/item/weapon/reagent_containers/syringe,/obj/machinery/power/apc{dir = 8; name = "west bump"; pixel_x = -24},/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/turf/simulated/floor/wood,/area/medical/psych) -"bKA" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/light{dir = 1},/turf/simulated/floor/wood,/area/medical/psych) -"bKB" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/cable/green{d1 = 1; d2 = 8; icon_state = "1-8"},/turf/simulated/floor/wood,/area/medical/psych) -"bKC" = (/obj/structure/bookcase,/turf/simulated/floor/wood,/area/medical/psych) +"bKz" = (/turf/simulated/floor/tiled/white,/area/medical/resleeving) +"bKA" = (/obj/effect/floor_decal/corner/paleblue{dir = 9},/obj/machinery/light_switch{pixel_x = -25; pixel_y = -5},/obj/machinery/button/windowtint{id = "resleeve_tint"; pixel_x = -25; pixel_y = 5},/turf/simulated/floor/tiled/white,/area/medical/resleeving) +"bKB" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/tiled/white,/area/medical/resleeving) +"bKC" = (/obj/machinery/atmospherics/pipe/simple/visible{tag = "icon-intact (NORTHEAST)"; icon_state = "intact"; dir = 5},/obj/effect/floor_decal/industrial/warning{dir = 1},/turf/simulated/floor/tiled/white,/area/medical/resleeving) "bKD" = (/obj/effect/floor_decal/corner/pink/full{dir = 8},/obj/machinery/iv_drip,/obj/machinery/firealarm{dir = 2; pixel_y = 24},/obj/machinery/vending/wallmed1{name = "NanoMed Wall"; pixel_x = -25; pixel_y = 0},/turf/simulated/floor/tiled/white,/area/medical/patient_a) "bKE" = (/obj/effect/floor_decal/corner/pink{dir = 5},/obj/structure/bed/padded,/obj/item/weapon/bedsheet/medical,/obj/machinery/newscaster{pixel_y = 32},/turf/simulated/floor/tiled/white,/area/medical/patient_a) -"bKF" = (/obj/effect/floor_decal/corner/pink{dir = 5},/obj/machinery/atmospherics/unary/vent_pump/on,/obj/machinery/light_switch{dir = 2; name = "light switch "; pixel_x = 0; pixel_y = 36},/obj/machinery/button/windowtint{id = "pr1_window_tint"; pixel_y = 26},/turf/simulated/floor/tiled/white,/area/medical/patient_a) -"bKG" = (/obj/structure/window/reinforced/polarized{dir = 1; id = "pr1_window_tint"},/obj/structure/grille,/obj/machinery/door/firedoor,/obj/structure/window/reinforced/polarized{dir = 2; id = "pr1_window_tint"},/obj/structure/window/reinforced/polarized{dir = 4; id = "pr1_window_tint"},/obj/structure/window/reinforced/polarized{dir = 8; id = "pr1_window_tint"},/turf/simulated/floor,/area/medical/patient_a) +"bKF" = (/obj/effect/floor_decal/industrial/warning/corner{icon_state = "warningcorner"; dir = 4},/turf/simulated/floor/tiled/white,/area/medical/resleeving) +"bKG" = (/obj/effect/floor_decal/corner/paleblue{dir = 6},/obj/machinery/atmospherics/pipe/simple/visible{tag = "icon-intact (NORTHWEST)"; icon_state = "intact"; dir = 9},/obj/effect/floor_decal/industrial/warning{dir = 1},/turf/simulated/floor/tiled/white,/area/medical/resleeving) "bKH" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled/white,/area/medical/patient_wing) "bKI" = (/obj/machinery/camera/network/medbay{c_tag = "MED - Patient Hallway Fore"; dir = 2},/turf/simulated/floor/tiled/white,/area/medical/patient_wing) "bKJ" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/tiled/white,/area/medical/patient_wing) @@ -4697,15 +4697,15 @@ "bMq" = (/obj/effect/floor_decal/industrial/warning{dir = 8},/turf/simulated/floor/tiled/steel,/area/medical/medbay_emt_bay) "bMr" = (/turf/simulated/floor/tiled/steel,/area/medical/medbay_emt_bay) "bMs" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 4},/obj/machinery/firealarm{dir = 4; pixel_x = 24},/turf/simulated/floor/tiled/steel,/area/medical/medbay_emt_bay) -"bMt" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 4},/turf/simulated/floor/wood,/area/medical/psych) -"bMu" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/wood,/area/medical/psych) -"bMv" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9; pixel_y = 0},/obj/machinery/hologram/holopad,/turf/simulated/floor/wood,/area/medical/psych) -"bMw" = (/obj/structure/bed/chair/comfy/brown,/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/turf/simulated/floor/wood,/area/medical/psych) -"bMx" = (/obj/effect/floor_decal/corner/pink{dir = 9},/obj/structure/bed/chair/office/light,/obj/machinery/power/apc{dir = 8; name = "west bump"; pixel_x = -24},/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/obj/machinery/camera/network/medbay{c_tag = "MED - Patient Room A"; dir = 4},/turf/simulated/floor/tiled/white,/area/medical/patient_a) +"bMt" = (/obj/machinery/atmospherics/pipe/manifold/visible,/obj/effect/floor_decal/industrial/warning{dir = 1},/turf/simulated/floor/tiled/white,/area/medical/resleeving) +"bMu" = (/obj/structure/grille,/obj/structure/window/reinforced/polarized{dir = 4; id = "resleeve_tint"},/obj/structure/window/reinforced/polarized{dir = 8; id = "resleeve_tint"},/obj/machinery/door/firedoor/border_only,/turf/simulated/floor/plating,/area/medical/resleeving) +"bMv" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/turf/simulated/floor/tiled/white,/area/medical/patient_wing) +"bMw" = (/obj/machinery/light{icon_state = "tube1"; dir = 8},/obj/effect/floor_decal/corner/paleblue{dir = 9},/turf/simulated/floor/tiled/white,/area/medical/resleeving) +"bMx" = (/obj/effect/floor_decal/corner/paleblue,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/turf/simulated/floor/tiled/white,/area/medical/resleeving) "bMy" = (/obj/machinery/hologram/holopad,/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/tiled/white,/area/medical/patient_a) "bMz" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/tiled/white,/area/medical/patient_a) -"bMA" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/door/firedoor,/obj/machinery/door/airlock/medical{name = "Patient Room A"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/tiled/white,/area/medical/patient_a) -"bMB" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/cable/green{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled/white,/area/medical/patient_wing) +"bMA" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/obj/machinery/hologram/holopad,/turf/simulated/floor/tiled/white,/area/medical/resleeving) +"bMB" = (/obj/effect/floor_decal/corner/paleblue{dir = 10},/obj/structure/table/standard,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/item/weapon/reagent_containers/glass/beaker/cryoxadone{pixel_x = -4; pixel_y = 0},/turf/simulated/floor/tiled/white,/area/medical/resleeving) "bMC" = (/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 1},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 1},/turf/simulated/floor/tiled/white,/area/medical/patient_wing) "bMD" = (/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers,/obj/machinery/atmospherics/pipe/manifold/hidden/supply,/turf/simulated/floor/tiled/white,/area/medical/patient_wing) "bME" = (/obj/machinery/door/firedoor/glass,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/tiled/white,/area/medical/patient_wing) @@ -4801,10 +4801,10 @@ "bOq" = (/obj/effect/floor_decal/industrial/warning{dir = 10},/turf/simulated/floor/tiled/steel,/area/medical/medbay_emt_bay) "bOr" = (/obj/effect/floor_decal/industrial/warning,/turf/simulated/floor/tiled/steel,/area/medical/medbay_emt_bay) "bOs" = (/obj/effect/floor_decal/industrial/warning{dir = 6},/obj/structure/closet/fireaxecabinet{pixel_x = 32; pixel_y = 0},/turf/simulated/floor/tiled/steel,/area/medical/medbay_emt_bay) -"bOt" = (/obj/structure/bed/psych,/turf/simulated/floor/carpet/blue,/area/medical/psych) +"bOt" = (/obj/effect/floor_decal/corner/paleblue{dir = 10},/obj/machinery/light,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled/white,/area/medical/resleeving) "bOu" = (/turf/simulated/floor/carpet/blue,/area/medical/psych) -"bOv" = (/obj/structure/table/woodentable,/obj/item/device/flashlight/lamp/green,/turf/simulated/floor/carpet/blue,/area/medical/psych) -"bOw" = (/obj/structure/table/woodentable,/obj/machinery/computer/med_data/laptop,/obj/item/device/radio/intercom{dir = 4; name = "Station Intercom (General)"; pixel_x = 21},/turf/simulated/floor/carpet/blue,/area/medical/psych) +"bOv" = (/obj/effect/floor_decal/corner/paleblue/full{dir = 4},/obj/structure/table/standard,/turf/simulated/floor/tiled/white,/area/medical/resleeving) +"bOw" = (/obj/effect/floor_decal/corner/paleblue{dir = 10},/obj/structure/table/standard,/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/turf/simulated/floor/tiled/white,/area/medical/resleeving) "bOx" = (/obj/effect/floor_decal/corner/pink/full,/obj/machinery/computer/med_data/laptop,/obj/structure/table/glass,/obj/machinery/light,/obj/item/device/radio/intercom{dir = 8; name = "Station Intercom (General)"; pixel_x = -21},/turf/simulated/floor/tiled/white,/area/medical/patient_a) "bOy" = (/obj/effect/floor_decal/corner/pink{dir = 10},/obj/structure/table/glass,/obj/item/weapon/paper_bin,/obj/item/weapon/clipboard,/obj/item/weapon/pen,/turf/simulated/floor/tiled/white,/area/medical/patient_a) "bOz" = (/obj/effect/floor_decal/corner/pink{dir = 10},/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/obj/structure/closet/secure_closet/personal/patient,/turf/simulated/floor/tiled/white,/area/medical/patient_a) @@ -4908,9 +4908,9 @@ "bQt" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/turf/simulated/floor/tiled/white,/area/medical/medbay_emt_bay) "bQu" = (/turf/simulated/floor/tiled/white,/area/medical/medbay_emt_bay) "bQv" = (/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/table/rack,/obj/machinery/door/window/westright{name = "EVA Suit Storage"; req_access = list(5)},/obj/item/device/suit_cooling_unit,/turf/simulated/floor/tiled/dark,/area/medical/medbay_emt_bay) -"bQw" = (/obj/structure/bed/chair/comfy/brown{dir = 1},/obj/item/device/radio/intercom{broadcasting = 0; canhear_range = 5; dir = 8; frequency = 1487; icon_state = "intercom"; listening = 0; name = "Station Intercom (Medbay)"; pixel_x = -21; pixel_y = 0},/turf/simulated/floor/carpet/blue,/area/medical/psych) +"bQw" = (/obj/structure/grille,/obj/structure/window/reinforced/polarized{dir = 4; id = "resleeve_tint"},/obj/structure/window/reinforced/polarized{id = "resleeve_tint"},/obj/structure/window/reinforced/polarized{dir = 8; id = "resleeve_tint"},/obj/machinery/door/firedoor/border_only,/turf/simulated/floor/plating,/area/medical/resleeving) "bQx" = (/obj/structure/table/woodentable,/turf/simulated/floor/carpet/blue,/area/medical/psych) -"bQy" = (/obj/structure/bed/chair/office/dark{dir = 1},/obj/machinery/light_switch{pixel_x = -25; pixel_y = 8},/obj/machinery/button/windowtint{id = "psyco_tint"; pixel_x = -25},/obj/machinery/button/remote/airlock{desc = "A remote control-switch for the office door."; id = "mentaldoor"; name = "office door control"; pixel_x = -34; pixel_y = 7},/obj/machinery/firealarm{dir = 4; pixel_x = 24},/obj/effect/landmark/start{name = "Psychiatrist"},/turf/simulated/floor/carpet/blue,/area/medical/psych) +"bQy" = (/obj/effect/landmark/start{name = "Geneticist"},/turf/simulated/floor/tiled/white,/area/medical/resleeving) "bQz" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 4},/obj/effect/floor_decal/corner/pink{dir = 9},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22; pixel_y = 0},/turf/simulated/floor/tiled/white,/area/medical/patient_wing) "bQA" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 4},/obj/effect/floor_decal/corner/pink{dir = 6},/obj/machinery/light{dir = 4; icon_state = "tube1"; pixel_x = 0},/turf/simulated/floor/tiled/white,/area/medical/patient_wing) "bQB" = (/turf/simulated/wall,/area/medical/patient_b) @@ -4946,7 +4946,7 @@ "bRf" = (/obj/effect/floor_decal/industrial/warning{dir = 9},/obj/structure/table/standard,/obj/item/stack/cable_coil,/obj/item/weapon/weldingtool/hugetank,/turf/simulated/floor/tiled/white,/area/assembly/robotics) "bRg" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 1},/turf/simulated/floor/tiled/white,/area/assembly/robotics) "bRh" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 5},/turf/simulated/floor/tiled/white,/area/assembly/robotics) -"bRi" = (/obj/structure/table/standard,/obj/machinery/light{dir = 4; icon_state = "tube1"},/obj/machinery/firealarm{dir = 4; pixel_x = 24},/obj/machinery/camera/network/research{c_tag = "SCI - Robotics Starboard"; dir = 8},/turf/simulated/floor/tiled,/area/assembly/robotics) +"bRi" = (/obj/item/device/radio/intercom{broadcasting = 0; canhear_range = 5; dir = 8; frequency = 1487; icon_state = "intercom"; listening = 0; name = "Station Intercom (Medbay)"; pixel_x = -21; pixel_y = 0},/obj/effect/floor_decal/corner/paleblue{dir = 9},/obj/structure/bed/chair/office/light{dir = 4},/turf/simulated/floor/tiled/white,/area/medical/resleeving) "bRj" = (/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 24},/obj/structure/disposalpipe/segment,/turf/simulated/floor/tiled,/area/hallway/primary/central_four) "bRk" = (/obj/machinery/door/airlock/command{name = "Head of Personnel"; req_access = list(57)},/obj/machinery/door/firedoor/border_only,/turf/simulated/floor/wood,/area/crew_quarters/heads/hop) "bRl" = (/obj/effect/floor_decal/corner/blue{dir = 9},/obj/machinery/power/apc{dir = 8; name = "west bump"; pixel_x = -24},/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled,/area/bridge_hallway) @@ -4981,15 +4981,15 @@ "bRO" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/tiled/white,/area/medical/medbay_emt_bay) "bRP" = (/obj/structure/cable/green{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/simulated/floor/tiled/white,/area/medical/medbay_emt_bay) "bRQ" = (/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/table/rack,/obj/machinery/door/window/westleft{name = "EVA Suit Storage"; req_access = list(5)},/obj/item/clothing/mask/breath,/obj/item/clothing/head/helmet/space/void/medical,/obj/item/clothing/shoes/magboots,/obj/item/clothing/suit/space/void/medical,/obj/item/weapon/tank/oxygen,/obj/machinery/light{dir = 4; icon_state = "tube1"; pixel_x = 0},/turf/simulated/floor/tiled/dark,/area/medical/medbay_emt_bay) -"bRR" = (/obj/structure/table/woodentable,/obj/item/weapon/paper_bin,/obj/item/weapon/pen,/obj/item/toy/therapy_blue,/turf/simulated/floor/carpet/blue,/area/medical/psych) -"bRS" = (/obj/machinery/alarm{dir = 1; icon_state = "alarm0"; pixel_y = -22},/turf/simulated/floor/carpet/blue,/area/medical/psych) -"bRT" = (/obj/machinery/camera/network/medbay{c_tag = "MED - Mental Health"; dir = 1},/obj/machinery/light,/turf/simulated/floor/carpet/blue,/area/medical/psych) -"bRU" = (/obj/machinery/vending/wallmed1{name = "NanoMed Wall"; pixel_x = 25; pixel_y = 0},/turf/simulated/floor/carpet/blue,/area/medical/psych) +"bRR" = (/obj/machinery/firealarm{dir = 4; pixel_x = 24},/obj/effect/floor_decal/corner/paleblue{dir = 6},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/tiled/white,/area/medical/resleeving) +"bRS" = (/obj/structure/table/standard,/obj/machinery/light{dir = 4; icon_state = "tube1"},/obj/machinery/firealarm{dir = 4; pixel_x = 24},/turf/simulated/floor/tiled,/area/assembly/robotics) +"bRT" = (/obj/machinery/alarm{dir = 1; icon_state = "alarm0"; pixel_y = -22},/obj/effect/floor_decal/corner/paleblue{dir = 10},/obj/machinery/clonepod/transhuman,/turf/simulated/floor/tiled/white,/area/medical/resleeving) +"bRU" = (/obj/effect/floor_decal/corner/paleblue/full,/obj/machinery/computer/transhuman/resleeving,/turf/simulated/floor/tiled/white,/area/medical/resleeving) "bRV" = (/turf/simulated/wall,/area/medical/patient_c) "bRW" = (/obj/effect/floor_decal/corner/pink/full{dir = 8},/obj/machinery/iv_drip,/obj/machinery/firealarm{dir = 2; pixel_y = 24},/obj/machinery/vending/wallmed1{name = "NanoMed Wall"; pixel_x = -25; pixel_y = 0},/turf/simulated/floor/tiled/white,/area/medical/patient_c) "bRX" = (/obj/effect/floor_decal/corner/pink{dir = 5},/obj/structure/bed/padded,/obj/item/weapon/bedsheet/medical,/obj/machinery/newscaster{pixel_y = 32},/turf/simulated/floor/tiled/white,/area/medical/patient_c) -"bRY" = (/obj/effect/floor_decal/corner/pink{dir = 5},/obj/machinery/atmospherics/unary/vent_pump/on,/obj/machinery/light_switch{dir = 2; name = "light switch "; pixel_x = 0; pixel_y = 36},/obj/machinery/button/windowtint{id = "pr3_window_tint"; pixel_y = 26},/turf/simulated/floor/tiled/white,/area/medical/patient_c) -"bRZ" = (/obj/structure/window/reinforced/polarized{dir = 8; id = "pr3_window_tint"},/obj/structure/window/reinforced/polarized{dir = 4; id = "pr3_window_tint"},/obj/structure/window/reinforced/polarized{dir = 2; id = "pr3_window_tint"},/obj/structure/window/reinforced/polarized{dir = 1; id = "pr3_window_tint"},/obj/structure/grille,/obj/machinery/door/firedoor,/turf/simulated/floor,/area/medical/patient_c) +"bRY" = (/obj/machinery/vending/wallmed1{name = "NanoMed Wall"; pixel_x = 25; pixel_y = 0},/obj/effect/floor_decal/corner/paleblue/full{dir = 4},/obj/structure/closet{name = "spare clothes"},/obj/item/clothing/under/color/black,/obj/item/clothing/under/color/black,/obj/item/clothing/under/color/grey,/obj/item/clothing/under/color/grey,/obj/item/clothing/under/color/white,/obj/item/clothing/under/color/white,/obj/item/clothing/under/color/blue,/obj/item/clothing/under/color/green,/obj/item/clothing/under/color/lightpurple,/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/turf/simulated/floor/tiled/white,/area/medical/resleeving) +"bRZ" = (/obj/machinery/camera/network/medbay{c_tag = "MED - Resleeving"; dir = 1},/obj/effect/floor_decal/corner/paleblue{dir = 10},/obj/machinery/transhuman/resleever,/turf/simulated/floor/tiled/white,/area/medical/resleeving) "bSa" = (/obj/effect/floor_decal/corner/pink{dir = 1},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/tiled/white,/area/medical/patient_wing) "bSb" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/effect/floor_decal/corner/pink{dir = 4},/turf/simulated/floor/tiled/white,/area/medical/patient_wing) "bSc" = (/obj/structure/window/reinforced/polarized{dir = 1; id = "pr2_window_tint"},/obj/structure/grille,/obj/machinery/door/firedoor,/obj/structure/window/reinforced/polarized{dir = 2; id = "pr2_window_tint"},/obj/structure/window/reinforced/polarized{dir = 4; id = "pr2_window_tint"},/obj/structure/window/reinforced/polarized{dir = 8; id = "pr2_window_tint"},/turf/simulated/floor,/area/medical/patient_b) @@ -5074,7 +5074,7 @@ "bTD" = (/obj/effect/floor_decal/corner/pink{dir = 6},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/tiled/white,/area/medical/medbay_emt_bay) "bTE" = (/obj/machinery/power/apc{dir = 2; name = "south bump"; pixel_y = -24},/obj/structure/cable/green,/turf/simulated/floor/tiled/white,/area/medical/medbay_emt_bay) "bTF" = (/obj/structure/table/rack,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/machinery/door/window/westright{name = "EVA Suit Storage"; req_access = newlist(); req_one_access = list(5,18)},/obj/item/weapon/rig/medical/equipped,/turf/simulated/floor/tiled/dark,/area/medical/medbay_emt_bay) -"bTG" = (/obj/effect/floor_decal/corner/pink{dir = 9},/obj/structure/bed/chair/office/light,/obj/machinery/power/apc{dir = 8; name = "west bump"; pixel_x = -24},/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/obj/machinery/camera/network/medbay{c_tag = "MED - Patient Room C"; dir = 4},/turf/simulated/floor/tiled/white,/area/medical/patient_c) +"bTG" = (/obj/effect/floor_decal/corner/pink{dir = 5},/obj/machinery/atmospherics/unary/vent_pump/on,/obj/machinery/light_switch{dir = 2; name = "light switch "; pixel_x = 0; pixel_y = 36},/obj/machinery/button/windowtint{id = "pr3_window_tint"; pixel_y = 26},/turf/simulated/floor/tiled/white,/area/medical/patient_a) "bTH" = (/obj/machinery/hologram/holopad,/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/tiled/white,/area/medical/patient_c) "bTI" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/tiled/white,/area/medical/patient_c) "bTJ" = (/obj/machinery/door/firedoor,/obj/machinery/door/airlock/medical{name = "Patient Room C"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/tiled/white,/area/medical/patient_c) @@ -5173,7 +5173,7 @@ "bVy" = (/obj/structure/closet/crate{icon_state = "crateopen"; name = "Grenade Crate"; opened = 1},/obj/item/weapon/grenade/chem_grenade,/obj/item/weapon/grenade/chem_grenade,/obj/item/weapon/grenade/chem_grenade,/obj/item/weapon/grenade/chem_grenade,/obj/item/device/assembly/igniter,/obj/item/device/assembly/igniter,/obj/item/device/assembly/igniter,/obj/item/device/assembly/timer,/obj/item/device/assembly/timer,/obj/item/device/assembly/timer,/turf/simulated/floor/tiled/dark,/area/medical/biostorage) "bVz" = (/obj/structure/table/rack,/obj/item/clothing/suit/radiation,/obj/item/clothing/head/radiation,/obj/item/weapon/storage/toolbox/emergency,/obj/item/device/radio/intercom{broadcasting = 0; canhear_range = 5; dir = 2; frequency = 1487; icon_state = "intercom"; listening = 0; name = "Station Intercom (Medbay)"; pixel_x = 0; pixel_y = -21},/obj/item/weapon/storage/box/lights/mixed,/obj/item/device/defib_kit,/obj/item/device/defib_kit,/turf/simulated/floor/tiled/dark,/area/medical/biostorage) "bVA" = (/obj/item/weapon/cane,/obj/item/weapon/cane{pixel_x = -3; pixel_y = 2},/obj/item/weapon/cane{pixel_x = -6; pixel_y = 4},/obj/structure/table/steel,/obj/item/weapon/storage/box/gloves{pixel_x = 4; pixel_y = 4},/obj/item/weapon/storage/box/rxglasses,/turf/simulated/floor/tiled/dark,/area/medical/biostorage) -"bVB" = (/obj/item/weapon/storage/box/cdeathalarm_kit,/obj/item/bodybag/cryobag{pixel_x = -3},/obj/item/bodybag/cryobag{pixel_x = -3},/obj/structure/table/steel,/obj/structure/extinguisher_cabinet{pixel_x = 5; pixel_y = -32},/obj/machinery/light{dir = 4; icon_state = "tube1"; pixel_x = 0},/turf/simulated/floor/tiled/dark,/area/medical/biostorage) +"bVB" = (/obj/structure/window/reinforced/polarized{dir = 8; id = "pr3_window_tint"},/obj/structure/window/reinforced/polarized{dir = 4; id = "pr3_window_tint"},/obj/structure/window/reinforced/polarized{dir = 2; id = "pr3_window_tint"},/obj/structure/window/reinforced/polarized{dir = 1; id = "pr3_window_tint"},/obj/structure/grille,/obj/machinery/door/firedoor,/turf/simulated/floor,/area/medical/patient_a) "bVC" = (/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/machinery/power/apc{dir = 8; name = "west bump"; pixel_x = -24},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/disposalpipe/segment,/turf/simulated/floor,/area/maintenance/medbay_aft) "bVD" = (/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 4},/obj/machinery/meter,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor,/area/maintenance/medbay_aft) "bVE" = (/obj/machinery/door/airlock/engineering{name = "Medbay Substation"; req_one_access = list(11,24,5)},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/door/firedoor,/turf/simulated/floor,/area/maintenance/substation/medical) @@ -5294,11 +5294,11 @@ "bXP" = (/obj/structure/sign/redcross{desc = "The Star of Life, a symbol of Medical Aid."; icon_state = "lifestar"; name = "Medbay"},/turf/simulated/wall,/area/hallway/secondary/medical_emergency_hallway) "bXQ" = (/obj/machinery/door/blast/shutters{density = 0; dir = 2; icon_state = "shutter0"; id = "medbayquar"; name = "Medbay Emergency Lockdown Shutters"; opacity = 0},/turf/simulated/floor/tiled/dark,/area/hallway/secondary/medical_emergency_hallway) "bXR" = (/obj/machinery/door/blast/shutters{density = 0; dir = 2; icon_state = "shutter0"; id = "medbayquar"; name = "Medbay Emergency Lockdown Shutters"; opacity = 0},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/tiled/dark,/area/hallway/secondary/medical_emergency_hallway) -"bXS" = (/turf/simulated/wall,/area/medical/patient_e) -"bXT" = (/obj/effect/floor_decal/corner/pink/full{dir = 8},/obj/machinery/iv_drip,/obj/machinery/firealarm{dir = 2; pixel_y = 24},/obj/machinery/vending/wallmed1{name = "NanoMed Wall"; pixel_x = -25; pixel_y = 0},/turf/simulated/floor/tiled/white,/area/medical/patient_e) -"bXU" = (/obj/effect/floor_decal/corner/pink{dir = 5},/obj/structure/bed/padded,/obj/item/weapon/bedsheet/medical,/obj/machinery/newscaster{pixel_y = 32},/turf/simulated/floor/tiled/white,/area/medical/patient_e) -"bXV" = (/obj/effect/floor_decal/corner/pink{dir = 5},/obj/machinery/atmospherics/unary/vent_pump/on,/obj/machinery/light_switch{dir = 2; name = "light switch "; pixel_x = 0; pixel_y = 36},/obj/machinery/button/windowtint{id = "pr5_window_tint"; pixel_y = 26},/turf/simulated/floor/tiled/white,/area/medical/patient_e) -"bXW" = (/obj/structure/window/reinforced/polarized{dir = 1; id = "pr5_window_tint"},/obj/structure/grille,/obj/machinery/door/firedoor,/obj/structure/window/reinforced/polarized{dir = 2; id = "pr5_window_tint"},/obj/structure/window/reinforced/polarized{dir = 4; id = "pr5_window_tint"},/obj/structure/window/reinforced/polarized{dir = 8; id = "pr5_window_tint"},/turf/simulated/floor,/area/medical/patient_e) +"bXS" = (/obj/effect/floor_decal/corner/pink{dir = 9},/obj/structure/bed/chair/office/light,/obj/machinery/power/apc{dir = 8; name = "west bump"; pixel_x = -24},/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/obj/machinery/camera/network/medbay{c_tag = "MED - Patient Room C"; dir = 4},/turf/simulated/floor/tiled/white,/area/medical/patient_a) +"bXT" = (/obj/machinery/door/firedoor,/obj/machinery/door/airlock/medical{name = "Patient Room A"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/tiled/white,/area/medical/patient_a) +"bXU" = (/obj/item/weapon/storage/box/cdeathalarm_kit,/obj/item/bodybag/cryobag{pixel_x = -3},/obj/item/bodybag/cryobag{pixel_x = -3},/obj/structure/table/steel,/obj/structure/extinguisher_cabinet{pixel_x = 5; pixel_y = -32},/obj/machinery/light{dir = 4; icon_state = "tube1"; pixel_x = 0},/obj/item/weapon/storage/box/backup_kit,/turf/simulated/floor/tiled/dark,/area/medical/biostorage) +"bXV" = (/obj/structure/bed/chair/office/light{dir = 4},/turf/simulated/mineral/ignore_mapgen,/area/mine/unexplored/upper_level) +"bXW" = (/obj/effect/floor_decal/corner/pink{dir = 5},/obj/machinery/atmospherics/unary/vent_pump/on,/obj/machinery/light_switch{dir = 2; name = "light switch "; pixel_x = 0; pixel_y = 36},/obj/machinery/button/windowtint{id = "pr5_window_tint"; pixel_y = 26},/turf/simulated/floor/tiled/white,/area/medical/patient_c) "bXX" = (/obj/structure/window/reinforced/polarized{dir = 1; id = "pr4_window_tint"},/obj/structure/grille,/obj/machinery/door/firedoor,/obj/structure/window/reinforced/polarized{dir = 2; id = "pr4_window_tint"},/obj/structure/window/reinforced/polarized{dir = 4; id = "pr4_window_tint"},/obj/structure/window/reinforced/polarized{dir = 8; id = "pr4_window_tint"},/turf/simulated/floor,/area/medical/patient_d) "bXY" = (/obj/machinery/button/windowtint{id = "pr4_window_tint"; pixel_y = 26},/obj/machinery/light_switch{dir = 2; name = "light switch "; pixel_x = 0; pixel_y = 36},/obj/machinery/atmospherics/unary/vent_pump/on,/obj/effect/floor_decal/corner/pink{dir = 5},/turf/simulated/floor/tiled/white,/area/medical/patient_d) "bXZ" = (/obj/structure/bed/padded,/obj/item/weapon/bedsheet/medical,/obj/effect/floor_decal/corner/pink{dir = 5},/obj/machinery/newscaster{pixel_y = 32},/turf/simulated/floor/tiled/white,/area/medical/patient_d) @@ -5372,10 +5372,8 @@ "bZp" = (/obj/machinery/power/apc{dir = 4; name = "east bump"; pixel_x = 24},/obj/structure/cable/green,/obj/effect/floor_decal/corner/pink{dir = 6},/obj/effect/floor_decal/industrial/warning{dir = 1},/turf/simulated/floor/tiled,/area/hallway/secondary/medical_emergency_hallway) "bZq" = (/turf/simulated/wall,/area/hallway/secondary/medical_emergency_hallway) "bZr" = (/obj/random/obstruction,/turf/simulated/floor,/area/maintenance/medbay_aft) -"bZs" = (/obj/effect/floor_decal/corner/pink{dir = 9},/obj/structure/bed/chair/office/light,/obj/machinery/power/apc{dir = 8; name = "west bump"; pixel_x = -24},/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/obj/machinery/camera/network/medbay{c_tag = "MED - Patient Room E"; dir = 4},/turf/simulated/floor/tiled/white,/area/medical/patient_e) -"bZt" = (/obj/machinery/hologram/holopad,/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/tiled/white,/area/medical/patient_e) -"bZu" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/tiled/white,/area/medical/patient_e) -"bZv" = (/obj/machinery/door/firedoor,/obj/machinery/door/airlock/medical{name = "Patient Room E"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/tiled/white,/area/medical/patient_e) +"bZs" = (/obj/structure/window/reinforced/polarized{dir = 1; id = "pr5_window_tint"},/obj/structure/grille,/obj/machinery/door/firedoor,/obj/structure/window/reinforced/polarized{dir = 2; id = "pr5_window_tint"},/obj/structure/window/reinforced/polarized{dir = 4; id = "pr5_window_tint"},/obj/structure/window/reinforced/polarized{dir = 8; id = "pr5_window_tint"},/turf/simulated/floor,/area/medical/patient_c) +"bZt" = (/obj/effect/floor_decal/corner/pink{dir = 9},/obj/structure/bed/chair/office/light,/obj/machinery/power/apc{dir = 8; name = "west bump"; pixel_x = -24},/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/obj/machinery/camera/network/medbay{c_tag = "MED - Patient Room E"; dir = 4},/turf/simulated/floor/tiled/white,/area/medical/patient_c) "bZw" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/cable/green{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/structure/cable/green{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/floor/tiled/white,/area/medical/patient_wing) "bZx" = (/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers,/obj/machinery/atmospherics/pipe/manifold/hidden/supply,/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/tiled/white,/area/medical/patient_wing) "bZy" = (/obj/machinery/door/firedoor,/obj/machinery/door/airlock/medical{name = "Patient Room D"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/tiled/white,/area/medical/patient_d) @@ -5453,9 +5451,6 @@ "caS" = (/obj/effect/decal/cleanable/cobweb2{tag = "icon-cobweb1"; icon_state = "cobweb1"},/obj/effect/decal/cleanable/cobweb2{icon_state = "spiderling"; name = "dead spider"; tag = "icon-spiderling"},/turf/simulated/floor,/area/maintenance/medbay_aft) "caT" = (/turf/simulated/floor,/area/maintenance/medbay_aft) "caU" = (/obj/effect/decal/cleanable/cobweb2,/turf/simulated/floor,/area/maintenance/medbay_aft) -"caV" = (/obj/effect/floor_decal/corner/pink/full,/obj/machinery/computer/med_data/laptop,/obj/structure/table/glass,/obj/machinery/light,/obj/item/device/radio/intercom{dir = 8; name = "Station Intercom (General)"; pixel_x = -21},/turf/simulated/floor/tiled/white,/area/medical/patient_e) -"caW" = (/obj/effect/floor_decal/corner/pink{dir = 10},/obj/structure/table/glass,/obj/item/weapon/paper_bin,/obj/item/weapon/clipboard,/obj/item/weapon/pen,/turf/simulated/floor/tiled/white,/area/medical/patient_e) -"caX" = (/obj/effect/floor_decal/corner/pink{dir = 10},/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/obj/structure/closet/secure_closet/personal/patient,/turf/simulated/floor/tiled/white,/area/medical/patient_e) "caY" = (/turf/simulated/floor/tiled/white,/area/medical/patient_wing) "caZ" = (/obj/effect/floor_decal/corner/pink,/obj/structure/extinguisher_cabinet{pixel_x = 5; pixel_y = -32},/obj/machinery/light,/obj/machinery/camera/network/medbay{c_tag = "MED - Patient Hallway Aft"; dir = 1},/turf/simulated/floor/tiled/white,/area/medical/patient_wing) "cba" = (/obj/effect/floor_decal/corner/pink{dir = 10},/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/obj/structure/closet/secure_closet/personal/patient,/turf/simulated/floor/tiled/white,/area/medical/patient_d) @@ -10104,33 +10099,33 @@ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaXDaXDaXDaXDaXDaXDaXDaXDaXDaXDaXDaXDaXDaXDaXDaXDaX aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaXDaXDaXDaXDaXDaXDaXDaXDaXDaXDaXDaXDaXDaXDaXDaXDaXDaXDaXDaXDaXDaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabijbikabxabxbilbikbijaafaafaafaafaafaafaUObinaXEbiobrDdIGdICbtbdlbdIBdIAdIHdIDdIJdIIbhcbhdbhebhfbhgbeFbhhbhibhjbhkbeFaafaafaafaaiaaiaaiaaiaaiaaiaWAbhlbhmbhnbeIbbibhobhpbhqbdJbeLbblaafaafaafaafbhrbhrbhrbhrbhsbhrbhrbhrbhraafaafaafaVebhtaVOaVeaaiaZsbeRbeSaYjaYjaYjaYjbeTbhuaXcaXcaXcbhvbeSaYjaYjaYjbhwaYjaYjbhxaVjbhyaUubbyaPRbhzaOKaafbckbhAbhBbhCbckbcsbcsbcsbcsbhDbcsbhEbhFbhGbepbhHbhIbhJbhKbepbhLbhMbhNbhObeqbhPbhQbhRbDWbhTbhUbhVbhWbhXbhYbhZbiabewaWdbibaVnaafaafbdzbdzbdzbdzbicbidbicbdzbicbifbicbdzbdzbdzbdzbigbihbiibdzbdzaafaafaafaafaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaXDaXDaXDaXDaXDaXDaXDaXDaXDaXDaXDaXDaXDaXDaXDaXDaXDaXDaXDaXDaXDaXDaXDaaaaaaaaaaaaaaaaaaaaaaaaaacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabikbjGbjHbjIbjHbjGbikaaiaafaafbikbikbikbDVbjJaXEbgSbrDdILdIKdINdIMdIPdIOdIQbrDdITbaXbizbiAbiBbiCbiDbeFbiEbiFbiGbiGbeFbiHbiHbiHbiHaaiaaiaaiaaiaaiaXOaXObiIbiJbiKbbkbblbiLbhqbdJbiMbblaafaafaafbhrbhrbhrbhrbiNbiObiNbhrbhrbhrbhraafaafaVeaVeaVOaVeaaiaVPbiPbcdbceaYjbiQaYjaYjaZzbhubiRbhvaYgaYjaYjbiQaYjbiSbiTbiUaVPaVgaOKaVkbiVaVmaOKaOKaafbckbiWbiXbiYbckbiZbjabjbbjcbjdbjebjfbfhbjgbepbepbjhbjibjjbepbjkbjlbjmbjnbeqbjobfsbfrbjpbfrbfrbjqbewbjrbjsbewbjtbewbjuaXCaVnaafbdzbdzbfybjvbicbjwbjxbjybjzbjAbjxbjybjBbdzbjCbjDbjAbjEbjybjFbdzbdzaafaafaafaafaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaXDaXDaXDaXDaXDaXDaXDaXDaXDaXDaXDaXDaXDaXDaXDaXDaXDaXDaXDaXDaXDaXDaXDaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabllblmblnblobloblmblpblqbikbikbikblrblsbikbikbltbikbrDbrDbrDbrDbrDbrDbrDbrDbrDdIUbcEbjRbaZbjSbaZbjSbeFbiEbjTbjUbjVbiGbjWbjXbjYbiHbjZbkabkbbiHaaiaaiaVFaVGaZhbeIbbkbkcbkdbkebkfbblbblaafaafaafbhrbhrbkgbkhbkibkjbkkbklbkmbhrbhraafaafaafaVeaVOaVeaaiaVPbknbkobcXaYjbdcbddbkpaYjaYhaYhaYhaYjbkpbcfbcYaYjaYjbkqbkraVPaaiaVWaUuaUvaPRaOKaafaafbckbksbktbkubkvbkwbkxbkybkybkzbkAbkBbkCbkDbkEbepbkFbkGbkHbepbkIbkJbkKbkLbeqbkMbkNbkObkPbfrbkQbkRbewbkSbkTbewbkUbewbkVaXCaVnaafbdzbkWbkXbkYbkZblablbblablcblabldbfAblebdzblfblgblhblibfAbljblkbdzaafaafaafaafaafaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaXDaXDaXDaXDaXDaXDaXDaXDaXDaXDaXDaXDaXDaXDaXDaXDaXDaXDaXDaXDaXDaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabxbjIbmBbmCbmCbjIbmDbmEbmFbmGbmHbmIbmJbmKbmLbmMbmNbmObmPbmQbmRbmSbmTbmSbmUdIEdIVbmXdIFbaZblvblwblxbiGbiGblyblzblAbiGblBblCblCblDblEblFblGbiHaaiaaiaWEaVGaZhblHbbkbkdbkdblIblJbblaafaafaafbhrbhrblKblLblMblNblOblNblPblQblRbhrbhraafaafaVeaVOaVeaaibawbbpbdPbdQaYjaYjbdcbddaYjaYjaYjaYjaYjbbrbcgaYjaYjaYjbciblSbawaaiaXeaYsblTblUaOKaafaafbckbecblVbeeblWblXblYblZbmabmbbmcbembfhbmdbmebepbmfbmgbmfbepbmhbmibmjbmkbeqbdwbmlbmmbmnbmlbmmbmobmobmobmobmobmobmobmoaXCaVnaafbdzbmpbmqbmrbicbmsbjxbmtbmubmvbmwbjEbjybicbjAbjEbmxbmybmsbmzbmAbdzaafaafaafaafaafaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaXDaXDaXDaXDaXDaXDaXDaXDaXDaXDaXDaXDaXDaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabXNabxblmbokbmCbmCbolbombonboobopboqborbosbotboubovbowboxboybozboAboBboCboDboEboFdIWbdDbfGbmZbnabnabnabnbbiGbiGbncbiGbiGbndbnebnfbnfbnfbngbnhbiHaaiaaiaWEaVGaZhbcLbbkbblbblbblbblbblaafaafaafbhrbhrbnibnjbnkbnlbnlbnlbnkbnjbnmbhrbhraafaafaVeaVOaVeaaibbobbpbdWbnnaYjbbqaYjbdcbbsaYjaYjaYjbbtbcgaYjbbqaYjbiTbnoblSbboaaiaYraUuaUvaPRbnpaaiaafbckbnqbnrbeebnsbntbnubnvbnvbnwbnxbnybnzbnAbnAbnBbnCbnDbnCbnEbnCbnFbnGbnHbnIbnJbnKbnHbnLbnMbnNbmobnObnPbnQbnRbnSbnTbmoaXCaVnaafbdzbnUbnVbnWbdzbnXbnYbnZbdzboabobbocbocbodboebocbofbogbohbmzboibdzaafaafaafaafaafaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaXDaXDaXDaXDaXDaXDaXDaXDaXDaXDaXDaXDaXDaaaaaaaayaazaayaayaayaayaayaayaayaazaayaayaayaazaayaayaayaayaaaaaaaayaayaayaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabojaaeaaiabxbjIbpYbmCbmCbjIbpZbqabqbbqcbqdbqebqfbikbikbltbikbfEbfEbfEbfEbfEbfEbfEbfEbfEdITbcEbfGboHboIboJbnaboKbjSboLboMboNboOboPboQboRboSboTboUboVbiHaaiaaiaWEboWboXboYaVFaaiaaiaaiaaiaaiaaiaafaafbhrboZbpabnjbnkbpbbpcbpbbnkbnjbpdbpebhraafaafaVeaVOaVeaaiaZsbpfbpgbdWbnnaYjaYjaYjaYjaYjaYjaYjaYjaYjaYjaYjbiTbdSbphbpiaZsaaiaOKbpjaUvbpkbplaaiaaibckbdhbiXbpmbckbpnbpobppbpqbprbjebpsbptbpubpvbpwbpxbpybpxbpxbpxbpzbpAbpBbpCbpDbpEbpDbpFbpDbpDbpGbpHbpIbpJbpKbpLbpLbmoaXCaVnaafbdzbmpbpMbmrbicbjAbpNbpObpPbpQbjEbjEbpRbicbpSbjEbpTbpUbjAbmzbpVbdzaafaafaafaafaafaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaacaaaaaaaaaaaaaXDaXDaXDaXDaXDaXDaXDaXDaXDaXDaXDaXDaXDaaaaaaaayaaaaaeaaaaaaaaaaaaaaeaaeaaaaaaaaeaaeaaaaaeaaeaaeaaaaaeaaeaaeaaaaayaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabpWaaiaaibpXblmblnbrubrvblmbrwblqbikbikbikbrxblqbikbiybvSbjQbfEbgTbgUbgVbgWbgXbgYbgZbfEdIXbcEbqhbaZbqibqjbqkbqkbqlbqmbqnbqoboObqpboQbqqbqrbqsboUbqtbquaaiaaiaWEaVGaZhbeIaWEaaiaaiaaiaaiaaiaaiaafaafbhrbhrbnibnjbqvbnlbqwbnlbnkbnjbnmbhrbhraafaafaVeaVOaVeaaiaVPbawaYebqxbdWbnnbqybcXbqzaYjaYjaYjbqybcXbqzbiTbdSbphaYebawaVPaaiaVWaUubbyaPRbplaaiaaibckbckbqAbckbckbjebjebjebqBbqBbqBbqBbqCbqDbqBbqBbqEbqFbqGbqHbqHbqIbqJbqFbqKbqLbqMbqNbqObqPbqQbmobqRbqSbqTbqUbqTbqVbmoaXCaVnaafbdzbqWbqXbkYbqYblabqZblabrabjEbrbbjEbrcbdzbrdbfCbrebrfbrgbrhbribdzaafaafaafaafaafaafaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaXDaXDaXDaXDaXDaXDaXDaXDaXDaXDaXDaXDaXDaaaaaaaayaaabrjbrkbrlaaabrjbrkbrlaaabrjbrkbrlaaabrjbrkbrlaaabrjbrkbrlaaaaayaaeaaeaaaaaaaaaaaaaaaaaabrmbrnbrobrpaaaaaabrqbrrbrsbrqbrqbrtbjGbjHbjIbjHbjGbikaaiaaiaaiaaiaaiaaibrmbsZbrzbtabfEbipbiqbirbisbitbiubivbiwdIZdIYdJabmZbrEbrFbrGbnabrHbbLbrIbrJbrKbrLbrMbrNbrNbrNbrObrPbrQaaiaaiaWEaVGaZhbeIaWEaaiaaiaaiaaiaaiaafaafaafbhrbhrbrRbrSbrTbnlbnlbnlbrUbrVbrWbhrbhraafaafaVeaVOaVeaaiaaiaYqaXdaYebqxbdWbrXbrYbrZbdabdabdabrXbrYbrZbdSbphaYeaWPaYdaaiaaiaXebaAbaBbsabplaaiaaibsbbscbsdbsebsfbsgbshbsibqBbsjbskbslbsmbsnbsobspbsqbsrbssbstbsubsvbqJbswbsxbsybszbsAbsBbsybsAbmobsCbsDbsEbsFbsGbsHbmoaXCaVnaafbdzbdzbfybsIbicbmsbsJbjEbjxbjEbjEbrhbsKbdzbsLbsMbsNbsObpRbsPbdzbdzaafaafaafaafaafaafaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaXDaXDaXDaXDaXDaXDaXDaXDaXDaaaaaaaaaaaaaayaaebrjbsQbrlaaebrjbsQbrlaaebrjbsQbrlaaebrjbsQbrlaaebrjbsQbrlaaeaazaaaaaeaaeaaaaaaaaaaaaaaabrmbrmbsRbsSbrmbsTbsUbsVbsWbsXbsYbikbikabxabxbilbikbikcxVcxVaaiaaiaaiaaibrmbrmbrzbuJbfEbjKbjLbgVbjMbjNbjObjPbfEdJbbtcbtdboHbtebtfbtgbthbmZbtibtjbtkbtlbtmbtnbtobtpbtqbtrbtsbiHaaiaaiaWAaVGbttbeIaWAaaiaaiaaiaafaafaafaafaafaafbhrbhrbtubrSbtvbtwbtxbtybtzbhrbhraafaafaafaVeaVOaVeaaiaaiaaiaYqaVSbaxbdUbdUbtAbtBbtCbtDbtCbtEbtFbdUbdUbtGaVQaYdaaiaaiaaiaYraUubtHaPRbtIaaiaaibtJbtKbsdbtLbtMbtNbtObtPbqBbtQbtRbtSbtTbtTbtUbtVbtWbtXbtYbtZbtZbuabubbucbudbuebufbugbuhbuibujbmobukbulbumbunbuobupbmoaXCaVnaafaafbdzbdzbdzbdzbuqburbusbjxbutbuubuvbdzbdzbiebdzbuxbuybuzbdzbdzaafaafaafaafaafaafaafaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaXDaXDaXDaXDaXDaXDaXDaaaaaaaaaaaaaaaaayaaabrjbsQbrlaaabrjbsQbrlaaabrjbsQbrlaaabrjbsQbrlaaabrjbsQbrlaaaaaeaaaaaaaaeaaeaaaaaaaaaaaabrmbuAbuBbuCbrmbuDbuEbuFbuGbuHbuIdIScxVaaiaaiaaiaaicxVcxVaaiaaiaaiaaiaaiaaibrmbrzdIRbfEbfEbfEbfEbfEbfEbfEbfEbfEdJcbuMbuNbaZbuObuPbuQbuRboHbuSbrIbqhbrKbuTbuUbuVbiHbuWbuXbuWbiHaaibbkbbkbiIbiJbiKaXOaaiaaiaafaafaafaafaafaafaafbhrbhrbhrbuYbuZbvabvbbvcbhrbhrbhraafaafaVeaVeaVOaVeaVeaaiaaiaaiaVPaVQaVRaVSaVPaVPaVQaVRaVSaVPaVPaVQaVRaVSaVPaaiaaiaaiaaiaOKaVkbiVaVmaOKaOKaaibvdbvebvfbtNbvgbvhbvibvjbqBbvkbvlbvmbvnbtTbtTbvobnHbvpbvqbqLbqLbvrbqJbvsbvtbvubvvbvwbvxbvybvzbmobmobmobmobvAbmobmobmoaXCaVnaafaafaafaafaafbdzbvBbvCbdzbvDbdzbvBbvEbdzbvFbvGbdzbvHbvIbdzbdzaafaafaafaafaafaafaafaafaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaayaaabrjbsQbrlaaabrjbsQbrlaaabrjbsQbrlaaabrjbsQbrlaaabrjbsQbrlaaaaaeaaaaaaaaaaaeaaeaaaaaaaaabrmbvJbvKbvLbrmbvMbvNbvObvPbvQbvRbrqaafaafaafaaiaaiaaiaaiaaiaaiaaiaaiaafaafbrmbvSbuKbuKbvTbvUbvVbvWbvXbvYbvZbuKdJdbwbbwcbaZbwdbwebwfbwgbaZbwhbrIbwibwjbwjbwjbwjbwjbwkbwlbwmbwjbcJbbkbwnaVGaZhbwoaXOaVeaafaafaafaafaafaafaafaafaafbhrbhrbhrbwpbhrbhrbhrbhrbhraafaafaVeaVeaVNaVOaVNaVeaVeaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaVeaOKaUubwqbgibwraOKbwsbwtbwubwvbwwbwxbwybwzbwAbwBbwCbwDbwEbwFbtTbwGbqBcsVbqFbwIbwJbwKbwLbwMbwNbwObwPbwQbwRbwSbwTbwUbwVbwWbwXbwYbwZbxabxbbwVaXCaVnaafaafaafaafaafbdzbxcbxdbxebxfbxgbxhbxibxjbxkbxlbdzbxmbxnbxobdzaafaafaafaafaafaafaafaafaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaayaayaayaaeaaabrjbsQbrlaaabrjbsQbrlaaabrjbsQbrlaaabrjbsQbrlaaabrjbsQbrlaaaaaeaaaaaaaaaaaaaaebxpbxqbxqbxqbxqbxrbrmbrmbrqbxsbxtbxubxvbxwbrqaafaafaafaafaaiaaiaaiaaiaaiaaiaafaafaafbrmbvSbuKbxxbxybxzbxAbxBbxCbxDbxEbxFdJebxHbxIbxJbxKbxLbxMbxNbxObxPbxQbxRbxSbxTbxUbxVbxSbxWbxXbxYbxZbyabybbbiaWBbeHbeIbycaVeaVeaVeaVeaVeaVeaVeaVeaVeaVeaafaafbydbyebydbydaVeaVeaVeaVeaVeaVebyfbygbyhbyiaVNaVeaVeaVeaVeaVeaVeaVeaVeaVeaVeaVeaVeaVeaVeaVeaVeaVeaVeaVeaVeaVeaVebyjbykbylbymaPQbynbyobypbtNbyqbtNbyrbvhbysbytbspbyubyvbywbyxbyybyzbspbyAbyBbnMbyCbyCbyDbqJbyEbudbyFbyGbyHbvybyIbyJbwVbyKbyLbyMbwZbwZbyNbwVbyOaVnaafaafaafaafaafbdzbdzbyPbyQbyRbySbyTbyUbyVbyWbyXbyYbyZbzabzbbdzaafaafaafaafaafaafaafaafaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaayaaaaaeaaaaaaaaebzcaaeaaaaaebzcaaeaaaaaebzcaaeaaaaaebzcaaeaaaaaebzcaaeaaaaaeaaaaaabzdbzebzebzfbzgbzhbzibzjbzkbzlbzmbrqbznbzobzpbzqbzrbrqaafaafaafaafaafaaiaaiaaiaaiaafaafaafaafbrmbvSbuKbzsbxzbztbzubzvbzwbzxbzwbzybzzbzAbzBbzCbhebzDbhebzEbhebhebzFbzGbzHbzIbzJbzKbzLbzMbzNbzObzPbzQbzRbzSbzTbzUbzVbzWbzXbzYbzZbzZbzZbzZbAabzZbAbaVeaVeaVeaVebAcaVeaVeaVebAdbAebAebAebAebAebAfbAgbAhbAibAibAibAibAibAibAibAjbAibAibAibAkbAlbAlbAlbAlbAlbAlbAlbAlbAmbAlbAnbAobApbAqbAraYvbAsbAtbAubAvbAwbtLbAxbtNbAybAzbtVbAAbABbACbADbAEbAFbtVbAGbAHbAIbAJbAJbAKbALbAMbvtbANbAObAPbAQbARbwVbwVbASbATbAUbAVbwZbyNbwVbyOaVnaafaafaafaafaafaafbdzbdzbdzbAWbAXbdzbdzbdzbdzbdzbdzbAYbAZbdzbdzaafaafaafaafaafaafaafaafaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaayaaebBabBbbBbbBbbBcbBbbBbbBbbBcbBbbBbbBbbBcbBbbBbbBbbBcbBbbBbbBbbBcbBbbBbbBbbBbbBdbBebBfbBgbBhbBibBjbBkbBlbBmbBnbBobrqbrqbBpbrqbrqbBqbrqaafaafaafaafaafaafaafaaiaaiaafaafaafaafbrmbvSbuKbBrbBsbBtbBubBvbBwbBxbBybuKbBzbBAbBBbBCbBDbBEbBFbBGbBHbBIbBJbBKbwjbBLbBMbBNbBObBPbBQbxYbxZbyabybbbibbibBRbBSbBTaVebBUbBVbBWbBXbBYbBZbCabCbbCcbCdbCebCfbCgbzZbzZbzZbChaVeaVeaVeaVeaVNbCibCjbCkbClbClbClbClbClbClbClbCmbClbClbClbCnbCobCobCobCobCobCobCobFpbfYbhtaVebCqaUubbybCraQIbCsbCtbCubCvbCwbCxbCybCzbCAbCBbqBbqCbqDbCCbqCbCDbqDbqBbCEbqFbwIbwJbwKbCFbqJbCGbsxbCHbCIbsxbwVbwVbwVbCJbCKbCLbCMbCNbwZbyNbwVbyOaVnaafaafaafaafaafaafaafbdzbCObCPbCQbdzaafaafaafaafbdzbdzbdzbdzaafaafaafaafaafaafaafaafaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaayaaaaaeaaaaaaaaebzcaaeaaaaaebzcaaeaaaaaebzcaaeaaaaaebzcaaeaaaaaebzcaaeaaaaaeaaaaaabzdbzebzebCRbCSbCTbCUbxqbCVbCWbCXbvSbvSbCYbCZbrmbDabrmaafaafaafaafaafaafaafaafaafaafaafaafaafbrmbvSbuKbDbbDcbDdbDebDfbDgbDhbDibuKbDjbcEbDkbDlbDmbDnbDobDpbDlbDqbDrbDqbwjbwjbwjbwjbwjbDsbDtbDubwjbcJbbkbDvbbiaZhbDwaXOaVebDxbDxbDxbDxbDxbDxbDybDzaVebDAbDBbDAaVebDCbDDbDEbDFaVeaafaafaVeaVeaVNaVOaVNbDGbDHbDIbDJbClbDKbDLbDMbDNbDObDPbDQbDRbDSbDTbDSbDUbFIbFHbHlbCobCobCoaOKbDXbeaaPQbDYaOKbwsbwtbDZbyqbEabEbbEcbEdbCvbEebEfbEgbEhbEibEjbEkbElbEmbEnbEobEpbEpbEqbErbqFbEsbEtbEubEvbwVbEwbExbEybEzbEAbEBbECbwZbyNbwVaXCaVnaVnaafaafaafaafaafaafbdzbEDbEEbEFbdzaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaayaayaayaaeaaebrjbEGbrlaaabrjbEGbrlaaabrjbEGbrlaaabrjbEGbrlaaabrjbEGbrlaaaaaeaaaaaaaaaaaaaaabEHbxqbxqbxqbxqbrmbrmbEIbEJbBnbEKbELbEMbENbrmaafaafaafaafaafaafaafaafaafaafaafaafaafbrmbvSbuKbuKbuKbEObEPbEPbEPbuKbuKbuKbEQbERbwhbESbETbEUbEVbEWbDlbEXbEYbEZbFabFbbFcbFdbFebDqbFfbDqbFeaaibbkbbkbFgaZhbbibFhbFibDxbFjbFkbFlbFmbDxbDxbDxbDxbFnbFobTbbFqbFqbFrbFsbFqbFtaafaafaafaVeaVeaVObClbClbFubFvbFwbClbFxbFybFzbFzbFzbFAbFBbFCbFDbFDbFEbFFbFFbFGbRLcaObVwcbMaOKaVkbiVbFJaOKaOKaaibvdbFKbFLbAvbFMbFNbFObAvbFPbFQbFRbFSbFTbFUbFTbFVbFWbFWbFXbFWbFWbFYbFZbGabGbbGcbGdbGebwVbGfbGgbGhbEzbEAbEBbGibwZbyNbwVbGjbGkaVnaafaafaafaafaafaafbdzbGlbGmbGnbdzaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabrjbEGbrlaaabrjbEGbrlaaabrjbEGbrlaaabrjbEGbrlaaabrjbEGbrlaaaaaeaaaaaaaaaaafaafaafaafaafaafaafaafbrmbrmbrmbrmbrmbGobGpbGqbrmaafaafaafaafaafaafaafaafaafaafaafaafaafbrmbvSbuKbGrbEPbEObEPbEPbEPbEPbGsbuKbGtbcEbGubGvbGwbGxbGybGzbDlbGAbGBbGCbGDbGDbGEbGDbGFbGGbGHbGIbGJaaiaaibGKbbibGLbbibGMbFibGNbGObGPbGPbGQbGRbGSbGTbDxbGUbGVbGWbFqbGXbGYbGZbFqaafaafaafaafaVeaVNaVObClbHabHbbHcbHdbClbHebHfbHgbDMbDMbHhbHibHjbHkbHkbHkbHkbHkbFFcbRbHmcebcqHbHnaUubHoaPQbnpaaiaaibsbbtKbtNbtNbHpbHqbtNbtNbHrbHsbHtbHubvqbHvbHwbHxbqLbHybHzbHAbHBbHCbHDbHEbHFbHGbHHbHIbHJbHKbHLbHMbHNbHObHPbHQbHRbHSbwVbdxbdyaVnaafaafaafaafaafaafbdzbdzbHTbHUbdzaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaaabrjbEGbrlaaabrjbEGbrlaaabrjbEGbrlaaabrjbEGbrlaaabrjbEGbrlaaaaayaaaaaaaafaafaaiaaiaaiaaiaaiaaiaaiaaiaafaafaafbrmbrmbHVbGqbrmaafaafaafaafaafaafaafaafaafaafaafaafbrmbrmbvSbuKbHWbEPbHXbHYbEPbEPbEPbGsbuKbHZbrCbIabIbbIcbIdbIebIfbDlbFebIgbIhbGDbGDbGDbGDbIibGDbGDbIjbIkaaiaaibIlbbiaZhbbibImbFibInbIobIpbIqbIrbIpbIpbIsbDxbItbIubIvbFqbIwbIxbIybFqaafaafaafaafaVebIzaVObClbHabIAbIBbICbClbIDbIEbIFbDMbIGbIHbIIbIJbHkbHkbHkbHkbHkbFFbIKbILczYcAdbplbIMbwqbINbplaaiaaibtJbIObIPbIPbIQbIRbISbITbIUbIUbWxbIWbIXbIYbIUbIZbJabJbbJcbIZbJdbJdbJdbJdbJdbJebJfbJgbJhbwVbwVbwVbwVbwVbwVbwVbwVbwVbwVbJibJjaVnbJkbJlbJlbJlbJlbJlbJmbJnbJobJpbKZbJlaafaafaafaafaafaafaafaafaafaafaafaafaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaayaaebrjbEGbrlaaebrjbEGbrlaaebrjbEGbrlaaebrjbEGbrlaaebrjbEGbrlaaeaayaaabJqaafbJrbJrbJsabxabxabxbJtbJrbJraaiaafaafaafbrmbJubGqbrmaafaafaafaafaafaafaafaafaafaafaafaafbrmbJvbvSbuKbJwbJxbJybEPbJzbEPbJAbuKbuKbJBbcEbGubDlbJCbJDbJEbJFbJGbFebJHbJIbJJbGDbGDbGDbIibJJbGDbJKbIkaaiaaibIlbJLbeHbbibImbFibJMbJNbIpbJObJPbJQbJRbJSbJTbJUbJVbJWbJXbJYbJZbKabFqaafaafaafaafaVeaVeaVObClbClbKbbClbClbClbKcbKdbKebKfbIGbKgbKhbKibKjbKkbKlbKmbFFbFFbKnbILcIBcIGbtIbKobeaaPQbtIaaiaaibKpbKqbKrbKsbKtbKpbKpbKpbKpbKubKvbKwbKxbKybKxbIZbKzbKAbKBbKCbJdbKDbKEbKFbKGbKHbKIbKJbKKbKLbKMbKNbKObKPbKQbKRbKSbKTbKUbKVbKWbKXbKYbKZbLabLbbLcbLdbLebLfbLgbLfbLhbJlaafaafaafaafaafaafaafaafaafaafaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaazaaabrjbLibrlaaabrjbLibrlaaabrjbLibrlaaabrjbLibrlaaabrjbLibrlaaaaaeaaebJqaafbJrbLjbLkbLlbLkbLlbLkbLjbJraaiaaiaafaafbrmbLmbGqbrmbrmaafaafaafaafaafaafaafaafaafaafaafbrmbLnbvSbuKbuKbuKbuKbuKbuKbuKbuKbuKbLobLpbcEbwhbESbLqbLrbLsbJFbLtbFebLubLvbLwbLxbLybLzbLAbLwbLBbLCbLDaaiaaibIlbbibBRbBSbImbLEbDxbLFbIpbLGbLHbLIbLJbLKbDxbLLbLMbLNbLObLObLObLObLObLObLObLOaafaafaVeaVObClbLPbLQbLRbLSbLTbDMbDMbLUbDMbLVbClbLWbLXbLYbLZbMabFFbMbbMcbMdbMecQQcQWaOKbMfbbybMgaOKaaiaaibKpbMhbMibMjbMkbMlbMmbMnbMobMpbKvbKwbMqbMrbMsbIZbMtbMubMvbMwbJdbMxbMybMzbMAbMBbMCbMDbMEbMFbMFbMGbMHbMCbMFbMIbMFbMJbMKbMLbMMbMNbMObMPbMQbMQbMRbMQbMSbMTbMUbMVbMWbJlaafaafaafaafaafaafaafaafaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaayaaaaaeaaaaaaaaaaaeaaeaaeaaaaaeaaeaaeaaaaaaaaaaaaaaaaaaaaaaaeaaaaaeaaeaafaafaafbMXbMYbMZbNabNbbNcbMXbNdaaiaaiaafaafbrmbNebGqbNfbrmbrmbrmbrmbrmbrmbrmbrmbrmbrmbrmbrmbrmbNgbNhbNibNjbNkbNlbxKbNmbNnbNobNpbNqbNrbNsbGubGvbGwbNtbNubJFbNvbFebNwbNxbNybNzbNzbNAbNBbNybNCbNDbFeaaiaaibIlbbiaZhbbibNEbFibDxbNFbIpbNGbNHbIpbLJbNIbDxbNJbNKbNLbLObNMbNNbNObNPbLObNQbLObLOaafaVeaVObClbNRbNSbNTbNTbNUbNTbNTbNVbDMbNWbClbNXbNYbNZbOabObbOcbNXbNYbNZbCobNXbNZaOKaVkbiVbFJaOKaOKaaibKpbOfbOgbOhbOibOjbOkbOlbOmbOnbOobOpbOqbOrbOsbIZbOtbOubOvbOwbJdbOxbOybOzbKGbOAbOBbOCbODbOEbOFbOGbOHbOIbOEbOJbOKbOLbOMbKVbONbOObOPbKZbLabOQbORbMVbOSbOTbOUbMVbOVbJlaafaafaafaafaafaafaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaayaayaayacvacvaazaayaaeaaeaaeaayaaeaaeaaeaaeaaaaaaaaaaaeaaeaaeaazaaeaaaaafaafaafbLlbOWbOXbOYbOYbOZbLlaaiaaiaaiaafaafbrmbPabPbbPcbPcbPcbPdbPcbPcbPcbPcbPcbPcbPcbPcbPcbPcbPebPfbPgbPhbPibPjbPkbPlbPmbPnbPobPpbPqbPrbwhbIbbPsbPtbPubPvbPwbFebPxbNBbNBbNBbNBbNBbNBbNBbNCbPybFeaaiaaibIlbbiaZhbPzbPAbPBbPCbPDbPEbPFbPGbPHbPIbPJbDxbPKbNKbPLbLObPMbPNbPObPObPPbPQbPRbLOaafaVeaVObClbPSbPTbDMbPUbPVbDMbDMbDMbDMbPWbClbPXbPYbPZbQabQbbQcbQbbQcbQdbQebQfbQfbQgbQhbbyaPQbQiaOKaaibKpbQjbQkbQlbMibQmbQnbQobQpbQqbQrbQsbQtbQubQvbIZbQwbOubQxbQybJdbJdbJdbJdbJdbQzbQAbQBbQBbQBbQBbQBbQCbQDbQCbQCbQCbQCbQCbQEbQFbQGbQHbQIbQIbQIbJlbJlbZGbQKbQLbZGbJlbJlaafaafaafaafaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafaafaafbMXbQMbOXbOYbOYbQNbMXbNdaaiaaiaafaafbrmbQObGqbQPbrmbrmbrmbrmbrmbrmbrmbrmbrmbrmbrmbrmbrmbrmbrmbQQbQQbQRbQSbQQbQTbQUbQVbQWbQXbQYbQZbRabRbbQXbQXbQXbQXbQXbFebRcbRdbRebNBbNBbRfbRgbRhbNCbRibFeaaiaaibIlbbiaZhbRjaXOaXObDxbDxbDxbDxbDxbRkbDxbDxbDxbRlbRmbRnbLObRobRpbRqbRrbLObRsbRtbLOaafaVeaVObClbDPbRubClbClbRvbRwbRwbRwbRwbClbClbRxbPZbPYbRybRzbPZbPYbPZbRAbRBaPQaPQaPQaPQbRCbRDbREaOKaaibKpbRFbRGbRHbRGbRIbQnbRJbRKcRbbRMbRNbRObRPbRQbIZbRRbRSbRTbRUbRVbRWbRXbRYbRZbSabSbbScbSdbSebSfbQBbSgbShbSibSjbSkbSlbQCbSmbSnbQGbSobSpbSqbQGaafaafbZGbSrbSsbZGaafaafaafaafaafaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafaafaafbJrbLjbLkbLlbStbLlbLkbLjbJraaiaaiaafaafbrmbrmbGqbrmbrmaafaafaafaafaafaafaafaafaafaafaafaafaafaafbQQbSubSvbSwbSxbQQbSybSzbSzbSAbSBbSCbSDbSEbSFbSGbSHbSIbSJbFebSKbSLbSMbNBbNBbSNbSLbSObNCbSPbFeaaiaaibIlbbiaZhaVGbSQaaibSRbSSbSTbSUbSVbSWbSXbSYbSRbSZbTabTbbLObLObTcbLObLObLObLObLObLOaafaVeaVOaVebTdbTebTfbTgbThbThbThbThbThbTibTjbPZbPYbTkbTlbTmbTnbPZbPYbTobTpaPQaPQbTqbTrbaBaPQbTsaOKaaibKpbTtbTubTvbTwbTxbTybTzbTAbTBbTCbTDbQubTEbTFbIZbIZbIZbIZbIZbRVbTGbTHbTIbTJbTKbTLbTMbTNbTObTPbQBbTQbTRbTSbTTbTTbTUbQCbTVbTWbQGbTXbTYbTZbQGaafaafbZGbUabUbbZGaafaafaafaafaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafaafaafbJrbJsbUcbUdbUebUfbUgbJtbJraaiaafaafaafaafbrmbGqbrmaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafbQQbUhbUibUjbUkbUlbUmbUnbUobUpbUqbUrbUsbUtbUubUvbUvbUwbUxbUybUzbUAbUzbUBbUBbUzbUCbUzbUDbUzbUyaaiaaibIlbUEaZhaVGaWEaaibUFbUGbUHbUIbUGbSWbSWbUJbUKbULbUMbTbblubUObUPbUQbuwbUSbUTbQJbLOaafaVebUVbUWbUXbUYbUZbVabVbbVcbVdbVcbVbbVcbUZbPYbPZbVebVfbTlbVgbPYbPZbVhbVibOdbOeaOKbFJbiVbFJaOKaOKaaibKpbVjbVkbKpbVjbVkbKpbKpbKpbIUbVlbVmbVnbIUbIUbIUaafaafaafaafbRVbVobVpbVqbRZbVrbVsbScbVtbVubVvbQBcYzbVxbVybVzbVAbVBbQCbVCbVDbVEbVFbVGbQGbQGaafaafbZGbVHbVIbZGbZGaafaafaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafaafaafaaiaaibVJbVKbVLbVMbVJaaiaaiaaiaafaafaafaafbrmbGqbrmaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafbQQbVNbVObVPbVQbVRbVSbVTbVUbVVbVWbVXbVYbVZbWabWbbWcbWdbWebUybWfbWgbWhbWibWibWfbWgbWfbWjbWkbUyaaiaaibIlbWlbeHbWmaWEaaibWnbWobWpbWqbWrbWsbWtbWubSRbWvbWwbWMbWybWybWzbWAbWBbWCbWCbUNbLOaafaVebWEaVebWFbPZbPYbUZbWGbUZbWGbUZbWGbUZbWHbPZbPYbTkbWIbTmbTnbPZbPYbWJbViaaiaaiaOKbWKbbybWLaOKaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaibIUbXAbWNbIUbIUaafaafaafaafaafaafbRVbRVbRVbRVbRVbWObWPbQBbQBbQBbQBbQBbQCbQCbQCbQCbQCbQCbQCbWQbWRbQGbQGbQGbQGaafaafaafbZGbWSbWTbWUbZGaafaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafaafaafaafaaibWVbWWbWXbWYbWVaaiaaiaaiaafaafaafaafbrmbWZbrmaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafbQQbXabXbbXcbXdbXebXfbWdbXgbXhbXibXjbXkbXhbXgbWdbWdbWdbXlbUybXmbXnbXmbXobWibXmbXnbXmbWjbWkbUyaaiaaibXpbbibBRbXqaWEaaibXrbXsbXtbXubXvbSWbXwbXxbXybWvbXzbYQbXBbXCbXDbXEbXFbXGbXHbXIbLOaafaVebWEaVeaVebPYbPZbPYbPZbPYbPZbPYbPZbPYbPZbXJbPZbPYbXKbRxbXLbPYbPZbRxbXMbXNaaibHnaPQbbyaPQbHnaaibXObXObXObXObXObXObXObXObXOaaibXPbXQbXRbXPaawaawaawaawaawaawaafbXSbXTbXUbXVbXWbSabSbbXXbXYbXZbYabYbaafaafaafaafaafaafbYcbYdbYebYfbYgbYcaafaafaafaafbZGbYhbYibYjbZGaafaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaaaaaaaaaaaaaaaaaaaaaaaaaafaafaafaafaafaaibYkbYlbYmbYkbYkaaiaaiaafaafaafaafaafbYnbYobYnaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafbQQbYpbYqbYrbYsbQQbYtbYubYubYubYvbYwbYxbYybYubYubYubYzbYAbUybYBbWibWibYCbYDbYEbYEbYEbYFbYGbUyaaiaaibYHbbiaZhaVGbYIaaibYJbUGbYKbYLbYMbSWbYNbYObSRbWvbYPcuebYRbYRbYSbYTbYUbWCbWCbYVbLOaafaVebWEbYWaVebYXbPYbPZbPYbPZbPYbPZbPYbPZbPYbPZbPYbPZbYYbYZbZabZbbZcbZdbZeaaiaaibplaPQbbybZfbplaaibXObZgbZhbZibZjbZkbZlbZmbXOaaibZnbZobZpbZqaawbZrbYcbYcbYcaawaafbXSbZsbZtbZubZvbZwbZxbZybZzbZAbZBbYbaafaafaafaafaafaafbYcbZCbZDbZEbZFbYcaafaafaafaafbZGbZHbZIbZJbZGaafaaiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafaafaafaafaaibZKbZLbZMbZNbZKaaiaaiaafaafaafaafaafbYnbYobYnaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafbQQbZObZPbZQbZRbQQbZSbZTbZUbZVbZWbZXbZYbZZcaacabcaccadcaebUybXmbXnbXmcafbWibXmbXnbXmcagcahbUycaicajbbkcakcalcambbkaaibSRcanbSWcaocapcaqcarbSRcascatcaucasbLOcavcawcaxcaycazcaAcaBbLOaafaVebWEaVNaVecaCbPZbPYbRybRzbPZbPYbPZcaDbRybPYbPZbPYcaEbRzcaFbPYbPZcaGbZeaaiaaibplcaHbeaaPQbplaaibXOcaIcaJcaKcaLcaMcaNdlXbXOaaicaPcaQcaRbZqaawcaScaTcaUbYcaawaafbXScaVcaWcaXbXWcaYcaZbXXcbacbbcbcbYbaafaafaafaafaafaafbYcbYdbYcbYcbYcbYcaafaafaafaafbZGcbdcbecbfcbgcbhcbiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafaafaafaaiaaibVJcbjcbkcblbVJaaiaaiaafaafaafbYnbYnbYnbYobYnaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafbQQbQQcbmcbnbQQbQQbQXbQXbQXbQXbQXcbobQXbQXbQXcbpcbqcbrbQXbUybWfbWfbWfbWibWibWfbWfbWfcagcbscbtcbubbibbibbiaZhaVGbbkaaibSRbSRbSRbSRbSRbSRbSRbSRcbvcbwcbxcbybLObLOcbzbLObLObLOcbAbURbLOcbCaVecbDaVeaVecbEbPYbTkcbFbTmbTncbGcbHbTmbTlcbIcbJbTkbTlbVfcbKbPZbPYcbLbZeaaiaaibplaPQbbyaPQbtIaaibXOdmTcbNcbOcbPbXOcbQdnPbXOaaicaPcbScbTbZqaawcaTcaTcbUbYcaawaafbXSbXSbXSbXSbXScbVcbWbYbbYbbYbbYbbYbaafaafaafaafaafaafbYcbYdbYcaafaafaafaafaafaafaafbZGcbXcbYcbZccaccbcccaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaXDaXDaXDaXDaXDaXDaXDaXDaXDaXDaXDaXDaXDaXDaXDaXDaXDaXDaXDaXDaXDaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabxbjIbmBbmCbmCbjIbmDbmEbmFbmGbmHbmIbmJbmKbmLbmMbmNbmObmPbmQbmRbmSbmTbmSbmUdIEdIVbmXdIFbaZblvblwblxbiGbiGblyblzblAbiGblBblCblCblDblEblFblGbiHaaiaaiaWEaVGaZhblHbbkbkdbkdblIblJbblaafaafaafbhrbhrblKblLblMblNblOblNblPblQblRbhrbhraafaafaVeaVOaVeaaibawbbpbdPbdQaYjaYjbdcbddaYjaYjaYjaYjaYjbbrbcgaYjaYjaYjbciblSbawaaiaXeaYsblTblUaOKaafaafbckbecblVbeeblWblXblYblZbmabmbbmcbembfhbmdbmebepbmfbmgbmfbepbmhbmibmjbmkbeqbdwbmlbmmbmnbmlbmmbIZbIZbIZbIZbIZbIZbIZbIZaXCaVnaafbdzbmpbmqbmrbicbmsbjxbmtbmubmvbmwbjEbjybicbjAbjEbmxbmybmsbmzbmAbdzaafaafaafaafaafaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaXDaXDaXDaXDaXDaXDaXDaXDaXDaXDaXDaXDaXDaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabXNabxblmbokbmCbmCbolbombonboobopboqborbosbotboubovbowboxboybozboAboBboCboDboEboFdIWbdDbfGbmZbnabnabnabnbbiGbiGbncbiGbiGbndbnebnfbnfbnfbngbnhbiHaaiaaiaWEaVGaZhbcLbbkbblbblbblbblbblaafaafaafbhrbhrbnibnjbnkbnlbnlbnlbnkbnjbnmbhrbhraafaafaVeaVOaVeaaibbobbpbdWbnnaYjbbqaYjbdcbbsaYjaYjaYjbbtbcgaYjbbqaYjbiTbnoblSbboaaiaYraUuaUvaPRbnpaaiaafbckbnqbnrbeebnsbntbnubnvbnvbnwbnxbnybnzbnAbnAbnBbnCbnDbnCbnEbnCbnFbnGbnHbnIbnJbnKbnHbnLbnMbnNbIZbnObmobnQbnPbnRbnRbIZaXCaVnaafbdzbnUbnVbnWbdzbnXbnYbnZbdzboabobbocbocbodboebocbofbogbohbmzboibdzaafaafaafaafaafaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaXDaXDaXDaXDaXDaXDaXDaXDaXDaXDaXDaXDaXDaaaaaaaayaazaayaayaayaayaayaayaayaazaayaayaayaazaayaayaayaayaaaaaaaayaayaayaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabojaaeaaiabxbjIbpYbmCbmCbjIbpZbqabqbbqcbqdbqebqfbikbikbltbikbfEbfEbfEbfEbfEbfEbfEbfEbfEdITbcEbfGboHboIboJbnaboKbjSboLboMboNboOboPboQboRboSboTboUboVbiHaaiaaiaWEboWboXboYaVFaaiaaiaaiaaiaaiaaiaafaafbhrboZbpabnjbnkbpbbpcbpbbnkbnjbpdbpebhraafaafaVeaVOaVeaaiaZsbpfbpgbdWbnnaYjaYjaYjaYjaYjaYjaYjaYjaYjaYjaYjbiTbdSbphbpiaZsaaiaOKbpjaUvbpkbplaaiaaibckbdhbiXbpmbckbpnbpobppbpqbprbjebpsbptbpubpvbpwbpxbpybpxbpxbpxbpzbpAbpBbpCbpDbpEbpDbpFbpDbpDbnSbpGbnTbpHbQxbpIbOubIZaXCaVnaafbdzbmpbpMbmrbicbjAbpNbpObpPbpQbjEbjEbpRbicbpSbjEbpTbpUbjAbmzbpVbdzaafaafaafaafaafaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaacaaaaaaaaaaaaaXDaXDaXDaXDaXDaXDaXDaXDaXDaXDaXDaXDaXDaaaaaaaayaaaaaeaaaaaaaaaaaaaaeaaeaaaaaaaaeaaeaaaaaeaaeaaeaaaaaeaaeaaeaaaaayaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabpWaaiaaibpXblmblnbrubrvblmbrwblqbikbikbikbrxblqbikbiybvSbjQbfEbgTbgUbgVbgWbgXbgYbgZbfEdIXbcEbqhbaZbqibqjbqkbqkbqlbqmbqnbqoboObqpboQbqqbqrbqsboUbqtbquaaiaaiaWEaVGaZhbeIaWEaaiaaiaaiaaiaaiaaiaafaafbhrbhrbnibnjbqvbnlbqwbnlbnkbnjbnmbhrbhraafaafaVeaVOaVeaaiaVPbawaYebqxbdWbnnbqybcXbqzaYjaYjaYjbqybcXbqzbiTbdSbphaYebawaVPaaiaVWaUubbyaPRbplaaiaaibckbckbqAbckbckbjebjebjebqBbqBbqBbqBbqCbqDbqBbqBbqEbqFbqGbqHbqHbqIbqJbqFbqKbqLbqMbpJbqObqPbqQbIZbmobpKbqNbpLbqSbqRbIZaXCaVnaafbdzbqWbqXbkYbqYblabqZblabrabjEbrbbjEbrcbdzbrdbfCbrebrfbrgbrhbribdzaafaafaafaafaafaafaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaXDaXDaXDaXDaXDaXDaXDaXDaXDaXDaXDaXDaXDaaaaaaaayaaabrjbrkbrlaaabrjbrkbrlaaabrjbrkbrlaaabrjbrkbrlaaabrjbrkbrlaaaaayaaeaaeaaaaaaaaaaaaaaaaaabrmbrnbrobrpaaaaaabrqbrrbrsbrqbrqbrtbjGbjHbjIbjHbjGbikaaiaaiaaiaaiaaiaaibrmbsZbrzbtabfEbipbiqbirbisbitbiubivbiwdIZdIYdJabmZbrEbrFbrGbnabrHbbLbrIbrJbrKbrLbrMbrNbrNbrNbrObrPbrQaaiaaiaWEaVGaZhbeIaWEaaiaaiaaiaaiaaiaafaafaafbhrbhrbrRbrSbrTbnlbnlbnlbrUbrVbrWbhrbhraafaafaVeaVOaVeaaiaaiaYqaXdaYebqxbdWbrXbrYbrZbdabdabdabrXbrYbrZbdSbphaYeaWPaYdaaiaaiaXebaAbaBbsabplaaiaaibsbbscbsdbsebsfbsgbshbsibqBbsjbskbslbsmbsnbsobspbsqbsrbssbstbsubsvbqJbqTbsxbsybszbsAbsBbsybsAbIZbqVbqUbOubswbOubOubIZaXCaVnaafbdzbdzbfybsIbicbmsbsJbjEbjxbjEbjEbrhbsKbdzbsLbsMbsNbsObpRbsPbdzbdzaafaafaafaafaafaafaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaXDaXDaXDaXDaXDaXDaXDaXDaXDaaaaaaaaaaaaaayaaebrjbsQbrlaaebrjbsQbrlaaebrjbsQbrlaaebrjbsQbrlaaebrjbsQbrlaaeaazaaaaaeaaeaaaaaaaaaaaaaaabrmbrmbsRbsSbrmbsTbsUbsVbsWbsXbsYbikbikabxabxbilbikbikcxVcxVaaiaaiaaiaaibrmbrmbrzbuJbfEbjKbjLbgVbjMbjNbjObjPbfEdJbbtcbtdboHbtebtfbtgbthbmZbtibtjbtkbtlbtmbtnbtobtpbtqbtrbtsbiHaaiaaiaWAaVGbttbeIaWAaaiaaiaaiaafaafaafaafaafaafbhrbhrbtubrSbtvbtwbtxbtybtzbhrbhraafaafaafaVeaVOaVeaaiaaiaaiaYqaVSbaxbdUbdUbtAbtBbtCbtDbtCbtEbtFbdUbdUbtGaVQaYdaaiaaiaaiaYraUubtHaPRbtIaaiaaibtJbtKbsdbtLbtMbtNbtObtPbqBbtQbtRbtSbtTbtTbtUbtVbtWbtXbtYbtZbtZbuabubbucbudbuebufbugbuhbuibujbIZbsDbsCbsFbsEbsEbsGbIZaXCaVnaafaafbdzbdzbdzbdzbuqburbusbjxbutbuubuvbdzbdzbiebdzbuxbuybuzbdzbdzaafaafaafaafaafaafaafaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaXDaXDaXDaXDaXDaXDaXDaaaaaaaaaaaaaaaaayaaabrjbsQbrlaaabrjbsQbrlaaabrjbsQbrlaaabrjbsQbrlaaabrjbsQbrlaaaaaeaaaaaaaaeaaeaaaaaaaaaaaabrmbuAbuBbuCbrmbuDbuEbuFbuGbuHbuIdIScxVaaiaaiaaiaaicxVcxVaaiaaiaaiaaiaaiaaibrmbrzdIRbfEbfEbfEbfEbfEbfEbfEbfEbfEdJcbuMbuNbaZbuObuPbuQbuRboHbuSbrIbqhbrKbuTbuUbuVbiHbuWbuXbuWbiHaaibbkbbkbiIbiJbiKaXOaaiaaiaafaafaafaafaafaafaafbhrbhrbhrbuYbuZbvabvbbvcbhrbhrbhraafaafaVeaVeaVOaVeaVeaaiaaiaaiaVPaVQaVRaVSaVPaVPaVQaVRaVSaVPaVPaVQaVRaVSaVPaaiaaiaaiaaiaOKaVkbiVaVmaOKaOKaaibvdbvebvfbtNbvgbvhbvibvjbqBbvkbvlbvmbvnbtTbtTbvobnHbvpbvqbqLbqLbvrbqJbvsbvtbvubvvbvwbvxbvybvzbIZbIZbIZbIZbsHbIZbIZbIZaXCaVnaafaafaafaafaafbdzbvBbvCbdzbvDbdzbvBbvEbdzbvFbvGbdzbvHbvIbdzbdzaafaafaafaafaafaafaafaafaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaayaaabrjbsQbrlaaabrjbsQbrlaaabrjbsQbrlaaabrjbsQbrlaaabrjbsQbrlaaaaaeaaaaaaaaaaaeaaeaaaaaaaaabrmbvJbvKbvLbrmbvMbvNbvObvPbvQbvRbrqaafaafaafaaiaaiaaiaaiaaiaaiaaiaaiaafaafbrmbvSbuKbuKbvTbvUbvVbvWbvXbvYbvZbuKdJdbwbbwcbaZbwdbwebwfbwgbaZbwhbrIbwibwjbwjbwjbwjbwjbwkbwlbwmbwjbcJbbkbwnaVGaZhbwoaXOaVeaafaafaafaafaafaafaafaafaafbhrbhrbhrbwpbhrbhrbhrbhrbhraafaafaVeaVeaVNaVOaVNaVeaVeaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaVeaOKaUubwqbgibwraOKbwsbwtbwubwvbwwbwxbwybukbwAbwBbwCbwDbwEbwFbtTbwGbqBcsVbqFbwIbwJbwKbwLbwMbwNbwObwPbwQbwRbwSbwTbwUbwVbulbwZbumbwZbwZbunbwVaXCaVnaafaafaafaafaafbdzbxcbxdbxebxfbxgbxhbxibxjbxkbxlbdzbxmbxnbxobdzaafaafaafaafaafaafaafaafaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaayaayaayaaeaaabrjbsQbrlaaabrjbsQbrlaaabrjbsQbrlaaabrjbsQbrlaaabrjbsQbrlaaaaaeaaaaaaaaaaaaaaebxpbxqbxqbxqbxqbxrbrmbrmbrqbxsbxtbxubxvbxwbrqaafaafaafaafaaiaaiaaiaaiaaiaaiaafaafaafbrmbvSbuKbxxbxybxzbxAbxBbxCbxDbxEbxFdJebxHbxIbxJbxKbxLbxMbxNbxObxPbxQbxRbxSbxTbxUbxVbxSbxWbxXbxYbxZbyabybbbiaWBbeHbeIbycaVeaVeaVeaVeaVeaVeaVeaVeaVeaVeaafaafbydbyebydbydaVeaVeaVeaVeaVeaVebyfbygbyhbyiaVNaVeaVeaVeaVeaVeaVeaVeaVeaVeaVeaVeaVeaVeaVeaVeaVeaVeaVeaVeaVeaVeaVebyjbykbylbymaPQbynbyobypbtNbyqbtNbyrbvhbysbytbspbyubyvbywbyxbyybyzbspbyAbyBbnMbyCbyCbyDbqJbyEbudbyFbyGbyHbvybyIbyJbwVbwVbwVbwVbuobwVbwVbwVbyOaVnaafaafaafaafaafbdzbdzbyPbyQbyRbySbyTbyUbyVbyWbyXbyYbyZbzabzbbdzaafaafaafaafaafaafaafaafaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaayaaaaaeaaaaaaaaebzcaaeaaaaaebzcaaeaaaaaebzcaaeaaaaaebzcaaeaaaaaebzcaaeaaaaaeaaaaaabzdbzebzebzfbzgbzhbzibzjbzkbzlbzmbrqbznbzobzpbzqbzrbrqaafaafaafaafaafaaiaaiaaiaaiaafaafaafaafbrmbvSbuKbzsbxzbztbzubzvbzwbzxbzwbzybzzbzAbzBbzCbhebzDbhebzEbhebhebzFbzGbzHbzIbzJbzKbzLbzMbzNbzObzPbzQbzRbzSbzTbzUbzVbzWbzXbzYbzZbzZbzZbzZbAabzZbAbaVeaVeaVeaVebAcaVeaVeaVebAdbAebAebAebAebAebAfbAgbAhbAibAibAibAibAibAibAibAjbAibAibAibAkbAlbAlbAlbAlbAlbAlbAlbAlbAmbAlbAnbAobApbAqbAraYvbAsbAtbAubAvbAwbtLbAxbtNbAybAzbtVbAAbupbACbADbAEbAFbtVbAGbAHbAIbAJbAJbAKbALbAMbvtbANbAObAPbAQbARbwVbwVbwzbvAbwXbwWbxabwYbwVbyOaVnaafaafaafaafaafaafbdzbdzbdzbAWbAXbdzbdzbdzbdzbdzbdzbAYbAZbdzbdzaafaafaafaafaafaafaafaafaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaayaaebBabBbbBbbBbbBcbBbbBbbBbbBcbBbbBbbBbbBcbBbbBbbBbbBcbBbbBbbBbbBcbBbbBbbBbbBbbBdbBebBfbBgbBhbBibBjbBkbBlbBmbBnbBobrqbrqbBpbrqbrqbBqbrqaafaafaafaafaafaafaafaaiaaiaafaafaafaafbrmbvSbuKbBrbBsbBtbBubBvbBwbBxbBybuKbBzbBAbBBbBCbBDbBEbBFbBGbBHbBIbBJbBKbwjbBLbBMbBNbBObBPbBQbxYbxZbyabybbbibbibBRbBSbBTaVebBUbBVbBWbBXbBYbBZbCabCbbCcbCdbCebCfbCgbzZbzZbzZbChaVeaVeaVeaVeaVNbCibCjbCkbClbClbClbClbClbClbClbCmbClbClbClbCnbCobCobCobCobCobCobCobFpbfYbhtaVebCqaUubbybCraQIbCsbCtbCubCvbCwbCxbCybCzbCAbCBbqBbqCbqDbCCbqCbCDbqDbqBbCEbqFbwIbwJbwKbCFbqJbCGbsxbCHbCIbsxbwVbwVbwVbCJbyKbxbbxbbCNbwZbyLbwVbyOaVnaafaafaafaafaafaafaafbdzbCObCPbCQbdzaafaafaafaafbdzbdzbdzbdzaafaafaafaafaafaafaafaafaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaayaaaaaeaaaaaaaaebzcaaeaaaaaebzcaaeaaaaaebzcaaeaaaaaebzcaaeaaaaaebzcaaeaaaaaeaaaaaabzdbzebzebCRbCSbCTbCUbxqbCVbCWbCXbvSbvSbCYbCZbrmbDabrmaafaafaafaafaafaafaafaafaafaafaafaafaafbrmbvSbuKbDbbDcbDdbDebDfbDgbDhbDibuKbDjbcEbDkbDlbDmbDnbDobDpbDlbDqbDrbDqbwjbwjbwjbwjbwjbDsbDtbDubwjbcJbbkbDvbbiaZhbDwaXOaVebDxbDxbDxbDxbDxbDxbDybDzaVebDAbDBbDAaVebDCbDDbDEbDFaVeaafaafaVeaVeaVNaVOaVNbDGbDHbDIbDJbClbDKbDLbDMbDNbDObDPbDQbDRbDSbDTbDSbDUbFIbFHbHlbCobCobCoaOKbDXbeaaPQbDYaOKbwsbwtbDZbyqbEabEbbEcbEdbCvbEebEfbEgbEhbEibEjbEkbElbEmbEnbEobEpbEpbEqbErbqFbnIbyCbyCbyMbwVbEwbExbEybABbAVbATbECbwZbyNbwVaXCaVnaVnaafaafaafaafaafaafbdzbEDbEEbEFbdzaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaayaayaayaaeaaebrjbEGbrlaaabrjbEGbrlaaabrjbEGbrlaaabrjbEGbrlaaabrjbEGbrlaaaaaeaaaaaaaaaaaaaaabEHbxqbxqbxqbxqbrmbrmbEIbEJbBnbEKbELbEMbENbrmaafaafaafaafaafaafaafaafaafaafaafaafaafbrmbvSbuKbuKbuKbEObEPbEPbEPbuKbuKbuKbEQbERbwhbESbETbEUbEVbEWbDlbEXbEYbEZbFabFbbFcbFdbFebDqbFfbDqbFeaaibbkbbkbFgaZhbbibFhbFibDxbFjbFkbFlbFmbDxbDxbDxbDxbFnbFobTbbFqbFqbFrbFsbFqbFtaafaafaafaVeaVeaVObClbClbFubFvbFwbClbFxbFybFzbFzbFzbFAbFBbFCbFDbFDbFEbFFbFFbFGbRLcaObVwcbMaOKaVkbiVbFJaOKaOKaaibvdbFKbFLbAvbFMbFNbFObAvbFPbFQbFRbFSbFTbFUbFTbFVbFWbFWbFXbFWbFWbFYbFZbGabGbbASbFTbAUbwVbGfbGgbGhbCLbCKbEBbGibwZbyNbwVbGjbGkaVnaafaafaafaafaafaafbdzbGlbGmbGnbdzaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabrjbEGbrlaaabrjbEGbrlaaabrjbEGbrlaaabrjbEGbrlaaabrjbEGbrlaaaaaeaaaaaaaaaaafaafaafaafaafaafaafaafbrmbrmbrmbrmbrmbGobGpbGqbrmaafaafaafaafaafaafaafaafaafaafaafaafaafbrmbvSbuKbGrbEPbEObEPbEPbEPbEPbGsbuKbGtbcEbGubGvbGwbGxbGybGzbDlbGAbGBbGCbGDbGDbGEbGDbGFbGGbGHbGIbGJaaiaaibGKbbibGLbbibGMbFibGNbGObGPbGPbGQbGRbGSbGTbDxbGUbGVbGWbFqbGXbGYbGZbFqaafaafaafaafaVeaVNaVObClbHabHbbHcbHdbClbHebHfbHgbDMbDMbHhbHibHjbHkbHkbHkbHkbHkbFFcbRbHmcebcqHbHnaUubHoaPQbnpaaiaaibsbbtKbtNbtNbHpbHqbtNbtNbHrbHsbHtbHubvqbHvbHwbHxbqLbHybHzbCMbHBbEsbEtbHEbHFbHGbHHbHIbHJbHKbHLbHMbHNbHRbHPbHQbHRbHSbwVbdxbdyaVnaafaafaafaafaafaafbdzbdzbHTbHUbdzaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaaabrjbEGbrlaaabrjbEGbrlaaabrjbEGbrlaaabrjbEGbrlaaabrjbEGbrlaaaaayaaaaaaaafaafaaiaaiaaiaaiaaiaaiaaiaaiaafaafaafbrmbrmbHVbGqbrmaafaafaafaafaafaafaafaafaafaafaafaafbrmbrmbvSbuKbHWbEPbHXbHYbEPbEPbEPbGsbuKbHZbrCbIabIbbIcbIdbIebIfbDlbFebIgbIhbGDbGDbGDbGDbIibGDbGDbIjbIkaaiaaibIlbbiaZhbbibImbFibInbIobIpbIqbIrbIpbIpbIsbDxbItbIubIvbFqbIwbIxbIybFqaafaafaafaafaVebIzaVObClbHabIAbIBbICbClbIDbIEbIFbDMbIGbIHbIIbIJbHkbHkbHkbHkbHkbFFbIKbILczYcAdbplbIMbwqbINbplaaiaaibtJbIObIPbIPbIQbIRbISbITbIUbIUbWxbIWbIXbIYbIUbEubEzbEvbEAbEubEubEubEubEubEubJebJfbJgbJhbwVbwVbwVbwVbwVbwVbwVbwVbwVbwVbJibJjaVnbJkbJlbJlbJlbJlbJlbJmbJnbJobJpbKZbJlaafaafaafaafaafaafaafaafaafaafaafaafaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaayaaebrjbEGbrlaaebrjbEGbrlaaebrjbEGbrlaaebrjbEGbrlaaebrjbEGbrlaaeaayaaabJqaafbJrbJrbJsabxabxabxbJtbJrbJraaiaafaafaafbrmbJubGqbrmaafaafaafaafaafaafaafaafaafaafaafaafbrmbJvbvSbuKbJwbJxbJybEPbJzbEPbJAbuKbuKbJBbcEbGubDlbJCbJDbJEbJFbJGbFebJHbJIbJJbGDbGDbGDbIibJJbGDbJKbIkaaiaaibIlbJLbeHbbibImbFibJMbJNbIpbJObJPbJQbJRbJSbJTbJUbJVbJWbJXbJYbJZbKabFqaafaafaafaafaVeaVeaVObClbClbKbbClbClbClbKcbKdbKebKfbIGbKgbKhbKibKjbKkbKlbKmbFFbFFbKnbILcIBcIGbtIbKobeaaPQbtIaaiaaibKpbKqbKrbKsbKtbKpbKpbKpbKpbKubKvbKwbKxbKybKxbGcbGebGdbHCbHAbHObHDbJbbJabJcbKHbKIbKJbKKbKLbKMbKNbKObKPbKQbKRbKSbKTbKUbKVbKWbKXbKYbKZbLabLbbLcbLdbLebLfbLgbLfbLhbJlaafaafaafaafaafaafaafaafaafaafaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaazaaabrjbLibrlaaabrjbLibrlaaabrjbLibrlaaabrjbLibrlaaabrjbLibrlaaaaaeaaebJqaafbJrbLjbLkbLlbLkbLlbLkbLjbJraaiaaiaafaafbrmbLmbGqbrmbrmaafaafaafaafaafaafaafaafaafaafaafbrmbLnbvSbuKbuKbuKbuKbuKbuKbuKbuKbuKbLobLpbcEbwhbESbLqbLrbLsbJFbLtbFebLubLvbLwbLxbLybLzbLAbLwbLBbLCbLDaaiaaibIlbbibBRbBSbImbLEbDxbLFbIpbLGbLHbLIbLJbLKbDxbLLbLMbLNbLObLObLObLObLObLObLObLOaafaafaVeaVObClbLPbLQbLRbLSbLTbDMbDMbLUbDMbLVbClbLWbLXbLYbLZbMabFFbMbbMcbMdbMecQQcQWaOKbMfbbybMgaOKaaiaaibKpbMhbMibMjbMkbMlbMmbMnbMobMpbKvbKwbMqbMrbMsbEubKAbKzbKBbKzbKFbKCbMtbKGbMubKHbMvbMDbMEbMFbMFbMGbMHbMCbMFbMIbMFbMJbMKbMLbMMbMNbMObMPbMQbMQbMRbMQbMSbMTbMUbMVbMWbJlaafaafaafaafaafaafaafaafaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaayaaaaaeaaaaaaaaaaaeaaeaaeaaaaaeaaeaaeaaaaaaaaaaaaaaaaaaaaaaaeaaaaaeaaeaafaafaafbMXbMYbMZbNabNbbNcbMXbNdaaiaaiaafaafbrmbNebGqbNfbrmbrmbrmbrmbrmbrmbrmbrmbrmbrmbrmbrmbrmbNgbNhbNibNjbNkbNlbxKbNmbNnbNobNpbNqbNrbNsbGubGvbGwbNtbNubJFbNvbFebNwbNxbNybNzbNzbNAbNBbNybNCbNDbFeaaiaaibIlbbiaZhbbibNEbFibDxbNFbIpbNGbNHbIpbLJbNIbDxbNJbNKbNLbLObNMbNNbNObNPbLObNQbLObLOaafaVeaVObClbNRbNSbNTbNTbNUbNTbNTbNVbDMbNWbClbNXbNYbNZbOabObbOcbNXbNYbNZbCobNXbNZaOKaVkbiVbFJaOKaOKaaibKpbOfbOgbOhbOibOjbOkbOlbOmbOnbOobOpbOqbOrbOsbEubMwbKzbMAbMxbOtbMBbOwbOvbQwbOAbOBbOCbODbOEbOFbOGbOHbOIbOEbOJbOKbOLbOMbKVbONbOObOPbKZbLabOQbORbMVbOSbOTbOUbMVbOVbJlaafaafaafaafaafaafaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaayaayaayacvacvaazaayaaeaaeaaeaayaaeaaeaaeaaeaaaaaaaaaaaeaaeaaeaazaaeaaaaafaafaafbLlbOWbOXbOYbOYbOZbLlaaiaaiaaiaafaafbrmbPabPbbPcbPcbPcbPdbPcbPcbPcbPcbPcbPcbPcbPcbPcbPcbPebPfbPgbPhbPibPjbPkbPlbPmbPnbPobPpbPqbPrbwhbIbbPsbPtbPubPvbPwbFebPxbNBbNBbNBbNBbNBbNBbNBbNCbPybFeaaiaaibIlbbiaZhbPzbPAbPBbPCbPDbPEbPFbPGbPHbPIbPJbDxbPKbNKbPLbLObPMbPNbPObPObPPbPQbPRbLOaafaVeaVObClbPSbPTbDMbPUbPVbDMbDMbDMbDMbPWbClbPXbPYbPZbQabQbbQcbQbbQcbQdbQebQfbQfbQgbQhbbyaPQbQiaOKaaibKpbQjbQkbQlbMibQmbQnbQobQpbQqbQrbQsbQtbQubQvbEubRibQybKzbRRbEubEubEubEubEubQzbQAbQBbQBbQBbQBbQBbQCbQDbQCbQCbQCbQCbQCbQEbQFbQGbQHbQIbQIbQIbJlbJlbZGbQKbQLbZGbJlbJlaafaafaafaafaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafaafaafbMXbQMbOXbOYbOYbQNbMXbNdaaiaaiaafaafbrmbQObGqbQPbrmbrmbrmbrmbrmbrmbrmbrmbrmbrmbrmbrmbrmbrmbrmbQQbQQbQRbQSbQQbQTbQUbQVbQWbQXbQYbQZbRabRbbQXbQXbQXbQXbQXbFebRcbRdbRebNBbNBbRfbRgbRhbNCbRSbFeaaiaaibIlbbiaZhbRjaXOaXObDxbDxbDxbDxbDxbRkbDxbDxbDxbRlbRmbRnbLObRobRpbRqbRrbLObRsbRtbLOaafaVeaVObClbDPbRubClbClbRvbRwbRwbRwbRwbClbClbRxbPZbPYbRybRzbPZbPYbPZbRAbRBaPQaPQaPQaPQbRCbRDbREaOKaaibKpbRFbRGbRHbRGbRIbQnbRJbRKcRbbRMbRNbRObRPbRQbEubRUbRTbRZbRYbEubKDbKEbTGbVBbSabSbbScbSdbSebSfbQBbSgbShbSibSjbSkbSlbQCbSmbSnbQGbSobSpbSqbQGaafaafbZGbSrbSsbZGaafaafaafaafaafaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafaafaafbJrbLjbLkbLlbStbLlbLkbLjbJraaiaaiaafaafbrmbrmbGqbrmbrmaafaafaafaafaafaafaafaafaafaafaafaafaafaafbQQbSubSvbSwbSxbQQbSybSzbSzbSAbSBbSCbSDbSEbSFbSGbSHbSIbSJbFebSKbSLbSMbNBbNBbSNbSLbSObNCbSPbFeaaiaaibIlbbiaZhaVGbSQaaibSRbSSbSTbSUbSVbSWbSXbSYbSRbSZbTabTbbLObLObTcbLObLObLObLObLObLOaafaVeaVOaVebTdbTebTfbTgbThbThbThbThbThbTibTjbPZbPYbTkbTlbTmbTnbPZbPYbTobTpaPQaPQbTqbTrbaBaPQbTsaOKaaibKpbTtbTubTvbTwbTxbTybTzbTAbTBbTCbTDbQubTEbTFbEubEubEubEubEubEubXSbMybMzbXTbTKbTLbTMbTNbTObTPbQBbTQbTRbTSbTTbTTbTUbQCbTVbTWbQGbTXbTYbTZbQGaafaafbZGbUabUbbZGaafaafaafaafaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafaafaafbJrbJsbUcbUdbUebUfbUgbJtbJraaiaafaafaafaafbrmbGqbrmaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafbQQbUhbUibUjbUkbUlbUmbUnbUobUpbUqbUrbUsbUtbUubUvbUvbUwbUxbUybUzbUAbUzbUBbUBbUzbUCbUzbUDbUzbUyaaiaaibIlbUEaZhaVGaWEaaibUFbUGbUHbUIbUGbSWbSWbUJbUKbULbUMbTbblubUObUPbUQbuwbUSbUTbQJbLOaafaVebUVbUWbUXbUYbUZbVabVbbVcbVdbVcbVbbVcbUZbPYbPZbVebVfbTlbVgbPYbPZbVhbVibOdbOeaOKbFJbiVbFJaOKaOKaaibKpbVjbVkbKpbVjbVkbKpbKpbKpbIUbVlbVmbVnbIUbIUbIUaafaafaafaafbJdbOxbOybOzbVBbVrbVsbScbVtbVubVvbQBcYzbVxbVybVzbVAbXUbQCbVCbVDbVEbVFbVGbQGbQGaafaafbZGbVHbVIbZGbZGaafaafaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafaafaafaaiaaibVJbVKbVLbVMbVJaaiaaiaaiaafaafaafaafbrmbGqbrmaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafbQQbVNbVObVPbVQbVRbVSbVTbVUbVVbVWbVXbVYbVZbWabWbbWcbWdbWebUybWfbWgbWhbWibWibWfbWgbWfbWjbWkbUyaaiaaibIlbWlbeHbWmaWEaaibWnbWobWpbWqbWrbWsbWtbWubSRbWvbWwbWMbWybWybWzbWAbWBbWCbWCbUNbLOaafaVebWEaVebWFbPZbPYbUZbWGbUZbWGbUZbWGbUZbWHbPZbPYbTkbWIbTmbTnbPZbPYbWJbViaaiaaiaOKbWKbbybWLaOKaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaibIUbXAbWNbIUbIUaafaafaafaafaafaafbJdbJdbJdbJdbJdbWObWPbQBbQBbQBbQBbQBbQCbQCbQCbQCbQCbQCbQCbWQbWRbQGbQGbQGbQGaafaafaafbZGbWSbWTbWUbZGaafaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafaafaafaafaaibWVbWWbWXbWYbWVaaiaaiaaiaafaafaafaafbrmbWZbrmaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafbQQbXabXbbXcbXdbXebXfbWdbXgbXhbXibXjbXkbXhbXgbWdbWdbWdbXlbUybXmbXnbXmbXobWibXmbXnbXmbWjbWkbUyaaiaaibXpbbibBRbXqaWEaaibXrbXsbXtbXubXvbSWbXwbXxbXybWvbXzbYQbXBbXCbXDbXEbXFbXGbXHbXIbLOaafaVebWEaVeaVebPYbPZbPYbPZbPYbPZbPYbPZbPYbPZbXJbPZbPYbXKbRxbXLbPYbPZbRxbXMbXNaaibHnaPQbbyaPQbHnaaibXObXObXObXObXObXObXObXObXOaaibXPbXQbXRbXPaawaawaawaawaawbXVaafbRVbRWbRXbXWbZsbSabSbbXXbXYbXZbYabYbaafaafaafaafaafaafbYcbYdbYebYfbYgbYcaafaafaafaafbZGbYhbYibYjbZGaafaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaaaaaaaaaaaaaaaaaaaaaaaaaafaafaafaafaafaaibYkbYlbYmbYkbYkaaiaaiaafaafaafaafaafbYnbYobYnaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafbQQbYpbYqbYrbYsbQQbYtbYubYubYubYvbYwbYxbYybYubYubYubYzbYAbUybYBbWibWibYCbYDbYEbYEbYEbYFbYGbUyaaiaaibYHbbiaZhaVGbYIaaibYJbUGbYKbYLbYMbSWbYNbYObSRbWvbYPcuebYRbYRbYSbYTbYUbWCbWCbYVbLOaafaVebWEbYWaVebYXbPYbPZbPYbPZbPYbPZbPYbPZbPYbPZbPYbPZbYYbYZbZabZbbZcbZdbZeaaiaaibplaPQbbybZfbplaaibXObZgbZhbZibZjbZkbZlbZmbXOaaibZnbZobZpbZqaawbZrbYcbYcbYcaawaafbRVbZtbTHbTIbTJbZwbZxbZybZzbZAbZBbYbaafaafaafaafaafaafbYcbZCbZDbZEbZFbYcaafaafaafaafbZGbZHbZIbZJbZGaafaaiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafaafaafaafaaibZKbZLbZMbZNbZKaaiaaiaafaafaafaafaafbYnbYobYnaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafbQQbZObZPbZQbZRbQQbZSbZTbZUbZVbZWbZXbZYbZZcaacabcaccadcaebUybXmbXnbXmcafbWibXmbXnbXmcagcahbUycaicajbbkcakcalcambbkaaibSRcanbSWcaocapcaqcarbSRcascatcaucasbLOcavcawcaxcaycazcaAcaBbLOaafaVebWEaVNaVecaCbPZbPYbRybRzbPZbPYbPZcaDbRybPYbPZbPYcaEbRzcaFbPYbPZcaGbZeaaiaaibplcaHbeaaPQbplaaibXOcaIcaJcaKcaLcaMcaNdlXbXOaaicaPcaQcaRbZqaawcaScaTcaUbYcaawaafbRVbVobVpbVqbZscaYcaZbXXcbacbbcbcbYbaafaafaafaafaafaafbYcbYdbYcbYcbYcbYcaafaafaafaafbZGcbdcbecbfcbgcbhcbiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafaafaafaaiaaibVJcbjcbkcblbVJaaiaaiaafaafaafbYnbYnbYnbYobYnaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafbQQbQQcbmcbnbQQbQQbQXbQXbQXbQXbQXcbobQXbQXbQXcbpcbqcbrbQXbUybWfbWfbWfbWibWibWfbWfbWfcagcbscbtcbubbibbibbiaZhaVGbbkaaibSRbSRbSRbSRbSRbSRbSRbSRcbvcbwcbxcbybLObLOcbzbLObLObLOcbAbURbLOcbCaVecbDaVeaVecbEbPYbTkcbFbTmbTncbGcbHbTmbTlcbIcbJbTkbTlbVfcbKbPZbPYcbLbZeaaiaaibplaPQbbyaPQbtIaaibXOdmTcbNcbOcbPbXOcbQdnPbXOaaicaPcbScbTbZqaawcaTcaTcbUbYcaawaafbRVbRVbRVbRVbRVcbVcbWbYbbYbbYbbYbbYbaafaafaafaafaafaafbYcbYdbYcaafaafaafaafaafaafaafbZGcbXcbYcbZccaccbcccaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafaafaafaaiaaibWVccdcbkccebWVaaiaaiaafaafaafbYnccfccgcchbYnbYnbYnbYnaafaafaafaafaafaafaafaafaafaafaafaafaafbQQbQQbQQbQQaafaafaafaafbYncciccjbYnaaiaaiaaiaaiaaiaaibUycckcclbWibWibWibWiccmbWiccnccocbtcbuccpccqbbiaZhaVGcascascascasccrccscctccuccvccwccxccycczccAccBccCccDccEccFcascascascascasccGccHccIbVibViccJcbHbTmbWIcbIccKbTkbWIbVfbTnccLcbHccMccNccOccPccQccRccSaaiaaibplccTbbyccUaOKbZqbXOccVccWccWccWbXOccXccYbXOaaiccZcdacdbbZqaawcdccddcdebYcaawaafaafaafaafaafbYccdfcdgbYcaafaafaafaafaafaafaafaafaafaafbYcbYdbYcaafaafbZGbZGbZGbZGbZGbZGcdhcdhbZGbZGbZGbZGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafaafbYkbUfbUdbYkcdicbkcdjbYkbUfbUdbYkbYkbYnbYncdkcdlcdmcdncdocdpbYnaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafbYncdqcdrcdscdscdscdscdsaaiaaibUybUybUycdtcducducdvbUybUybUybUybUycaicajbbkcdwbhnaVGcdxcdycdzcascdAcdBcdCcdBcdAcdAcdAcbwcbxcdAcdAcdAccDcdDcdEcdFcascdGcdycdHcdIcdJcdKcdLcdMcdNcdOcdPcdQcdNcdRcdNcdScdPcdOcdTcdOcdPcdUcdVbPZbPYcdWbViaaiaaibtIaPQbbyaPQcdXbZqbXOcdYcbNcbPcdZbXOceabXObXObZqbZqceccedbZqbYcceebYcbYcaalaawaafaafaafbYcbYcbYccefcegbYcaafaafaafaafaafaafaafaafaafbYcbYcbYdbYcaafaafbZGcehceiceiceiceicejcejcekceiceicelaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafaafaafbYkcemcencemceocepceqcercescetceucevcewcexceycezceAceBceCceDbYnaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafbYnceEceFceGceHceIceJcdsaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaXOceKceLceMceNceOcePceQceRceSceTceUceUceUceUceVceWceUceUceUceXceYceSceZcfacfbcfccfdcfecffcfgcfhbRBcfibPYbPZbPYbPZcfjbPZbPYbPZbPYcfkbPYbPZcflbPZbPYbPZcfmbXMaaiaaiaOKcfnbwqcfoaQIcfpcfqcfqcfqcfrcfqdHDcgQcfqcfqcfqcfqcfscftcfubYccdccaTcfvbYcbYcbYcbYcbYcbYccfwcfxcfycfzbYcbYcbYcbYcbYcbYcbYcbYcbYcbYcbYccfAbYdbYcaafaafbZGcfBcfCcfDcfEcfFcfGcfHcfIcfJcfKceicelaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa diff --git a/nano/templates/sleever.tmpl b/nano/templates/sleever.tmpl new file mode 100644 index 0000000000..df60daea8a --- /dev/null +++ b/nano/templates/sleever.tmpl @@ -0,0 +1,112 @@ +{{:data.temp}} + + +{{if data.menu == 1}} +

Resleeving Control

+
+
+
+ {{if data.podsLen > 0}} + {{:data.podsLen}} growing vats found. + {{else}} + No growing vats found. + {{/if}} +
+
+ {{if data.sleeversLen > 0}} + {{:data.sleeversLen}} resleeving pods found. + {{else}} + No resleeving pods found. + {{/if}} +
+ + {{if data.podsLen}} + {{for data.pods}} +
{{:value.pod}}, biomass: {{:value.biomass}}
+ {{/for}} + {{/if}} + + {{if data.sleeversLen}} + {{for data.sleevers}} +
{{:value.sleever}}, occupant: {{:value.occupant}}
+ {{/for}} + {{/if}} + + +

Database Functions

+
+ {{:helper.link('View Body Records', 'list', {'menu' : 2})}} +
+
+ {{:helper.link('View Mind Records', 'list', {'menu' : 3})}} +
+ + +{{else data.menu == 2}} +

Current body records

+ {{:helper.link('Back', 'arrowreturn-1-w', {'menu' : 1})}} +
+ {{for data.bodyrecords}} + {{:helper.link(value.name, 'document', {'view_brec' : value.recref})}} + {{/for}} +
+ + +{{else data.menu == 3}} +

Current mind records

+ {{:helper.link('Back', 'arrowreturn-1-w', {'menu' : 1})}} +
+ {{for data.mindrecords}} + {{:helper.link(value.name, 'document', {'view_mrec' : value.recref})}} + {{/for}} +
+ + +{{else data.menu == 4}} +

Selected Body Record

+
{{:helper.link('Back', 'arrowreturn-1-w', {'menu' : 2})}}
+ + {{if data.activeBodyRecord}} +
+
Name:
+
{{:data.activeBodyRecord.real_name}}
+
+
+
Species:
+
{{:data.activeBodyRecord.speciesname}}
+
+
+
Bio. Sex:
+
{{:data.activeBodyRecord.gender}}
+
+
+
Synthetic:
+
{{:data.activeBodyRecord.synthetic}}
+
+ + {{:helper.link('Grow', 'play', {'grow' : data.activeBodyRecord.real_name}, data.activeBodyRecord.cando ? null : 'linkOff')}} + + {{else}} +
ERROR: Record not found.
+ {{/if}} + + +{{else data.menu == 5}} +

Selected Mind Record

+
{{:helper.link('Back', 'arrowreturn-1-w', {'menu' : 3})}}
+ + {{if data.activeMindRecord}} +
+
Name:
+
{{:data.activeMindRecord.charname}}
+
+
+
Backup status:
+
{{:data.activeMindRecord.obviously_dead}}
+
+ {{:helper.link('Sleeve', 'play', {'sleeve' : data.activeMindRecord.charname}, data.activeMindRecord.cando ? null : 'linkOff')}} + + {{else}} +
ERROR: Record not found.
+ {{/if}} +{{/if}} \ No newline at end of file diff --git a/vorestation.dme b/vorestation.dme index 138eaa6bc7..5edbfdf462 100644 --- a/vorestation.dme +++ b/vorestation.dme @@ -2092,6 +2092,11 @@ #include "code\modules\research\rdmachines.dm" #include "code\modules\research\research.dm" #include "code\modules\research\server.dm" +#include "code\modules\resleeving\computers.dm" +#include "code\modules\resleeving\consoles.dm" +#include "code\modules\resleeving\general.dm" +#include "code\modules\resleeving\infocore.dm" +#include "code\modules\resleeving\machines.dm" #include "code\modules\rogueminer_vr\asteroid.dm" #include "code\modules\rogueminer_vr\controller.dm" #include "code\modules\rogueminer_vr\debug.dm"